@dnb/eufemia 10.43.0 → 10.44.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 (432) hide show
  1. package/CHANGELOG.md +32 -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/input-masked/InputMaskedHooks.js +4 -0
  9. package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
  10. package/cjs/components/space/Space.d.ts +1 -1
  11. package/cjs/components/space/Space.js.map +1 -1
  12. package/cjs/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  13. package/cjs/components/table/table-navigation/TableNavigationHead.js +1 -1
  14. package/cjs/components/table/table-navigation/TableNavigationHead.js.map +1 -1
  15. package/cjs/components/upload/UploadDocs.js +1 -1
  16. package/cjs/components/upload/UploadDocs.js.map +1 -1
  17. package/cjs/components/upload/UploadInfo.js +1 -1
  18. package/cjs/components/upload/UploadInfo.js.map +1 -1
  19. package/cjs/components/upload/UploadVerify.js +4 -1
  20. package/cjs/components/upload/UploadVerify.js.map +1 -1
  21. package/cjs/components/upload/types.d.ts +2 -2
  22. package/cjs/components/upload/types.js.map +1 -1
  23. package/cjs/extensions/forms/DataContext/Context.d.ts +1 -0
  24. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  25. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +5 -12
  26. package/cjs/extensions/forms/DataContext/Provider/Provider.js +43 -18
  27. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  28. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +6 -1
  29. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  30. package/cjs/extensions/forms/Field/Currency/CurrencyDocs.d.ts +2 -0
  31. package/cjs/extensions/forms/Field/Currency/CurrencyDocs.js +31 -0
  32. package/cjs/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -0
  33. package/cjs/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  34. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  35. package/cjs/extensions/forms/Field/FieldDocs.d.ts +7 -0
  36. package/cjs/extensions/forms/Field/FieldDocs.js +20 -1
  37. package/cjs/extensions/forms/Field/FieldDocs.js.map +1 -1
  38. package/cjs/extensions/forms/Field/Number/Number.js +7 -12
  39. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  40. package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -4
  41. package/cjs/extensions/forms/Field/Option/Option.js +0 -21
  42. package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
  43. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -2
  44. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +33 -15
  45. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  46. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +3 -0
  47. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +28 -0
  48. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -0
  49. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  50. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +32 -16
  51. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  52. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +1 -0
  53. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +16 -0
  54. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -0
  55. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +40 -16
  56. package/cjs/extensions/forms/Field/Selection/Selection.js +71 -16
  57. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  58. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +10 -0
  59. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  60. package/cjs/extensions/forms/Field/Toggle/Toggle.js +1 -1
  61. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  62. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  63. package/cjs/extensions/forms/Form/Handler/Handler.js +3 -1
  64. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  65. package/cjs/extensions/forms/Form/Isolation/Isolation.d.ts +26 -5
  66. package/cjs/extensions/forms/Form/Isolation/Isolation.js +66 -26
  67. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  68. package/cjs/extensions/forms/Form/Isolation/IsolationCommitButton.js +1 -0
  69. package/cjs/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -1
  70. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js +11 -1
  71. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  72. package/cjs/extensions/forms/Form/Section/Section.js +2 -2
  73. package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
  74. package/cjs/extensions/forms/Form/data-context/clearData.d.ts +1 -0
  75. package/cjs/extensions/forms/Form/data-context/clearData.js +16 -0
  76. package/cjs/extensions/forms/Form/data-context/clearData.js.map +1 -0
  77. package/cjs/extensions/forms/Form/index.d.ts +1 -0
  78. package/cjs/extensions/forms/Form/index.js +7 -0
  79. package/cjs/extensions/forms/Form/index.js.map +1 -1
  80. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  81. package/cjs/extensions/forms/Iterate/Array/types.d.ts +1 -4
  82. package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
  83. package/cjs/extensions/forms/Iterate/style/dnb-iterate.css +1 -1
  84. package/cjs/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -1
  85. package/cjs/extensions/forms/Iterate/style/dnb-iterate.scss +1 -1
  86. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +4 -0
  87. package/cjs/extensions/forms/constants/locales/en-GB.js +4 -0
  88. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  89. package/cjs/extensions/forms/constants/locales/en-US.d.ts +4 -0
  90. package/cjs/extensions/forms/constants/locales/index.d.ts +8 -0
  91. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +4 -0
  92. package/cjs/extensions/forms/constants/locales/nb-NO.js +4 -0
  93. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  94. package/cjs/extensions/forms/hooks/DataValueDocs.js +4 -4
  95. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  96. package/cjs/extensions/forms/hooks/useDataValue.d.ts +1 -0
  97. package/cjs/extensions/forms/hooks/useDataValue.js +18 -9
  98. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  99. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +5 -5
  100. package/cjs/extensions/forms/hooks/useFieldProps.js +39 -23
  101. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  102. package/cjs/extensions/forms/style/dnb-forms.css +1 -1
  103. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  104. package/cjs/extensions/forms/types.d.ts +16 -7
  105. package/cjs/extensions/forms/types.js.map +1 -1
  106. package/cjs/shared/Eufemia.d.ts +1 -1
  107. package/cjs/shared/Eufemia.js +2 -2
  108. package/cjs/shared/Eufemia.js.map +1 -1
  109. package/cjs/shared/helpers/isAsync.js +2 -2
  110. package/cjs/shared/helpers/isAsync.js.map +1 -1
  111. package/cjs/style/core/scopes.scss +1 -1
  112. package/cjs/style/dnb-ui-basis.css +1 -1
  113. package/cjs/style/dnb-ui-basis.min.css +1 -1
  114. package/cjs/style/dnb-ui-body.css +1 -1
  115. package/cjs/style/dnb-ui-body.min.css +1 -1
  116. package/cjs/style/dnb-ui-components.css +1 -1
  117. package/cjs/style/dnb-ui-components.min.css +1 -1
  118. package/cjs/style/dnb-ui-core.css +1 -1
  119. package/cjs/style/dnb-ui-core.min.css +1 -1
  120. package/cjs/style/dnb-ui-extensions.css +1 -1
  121. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  122. package/cjs/style/dnb-ui-forms.css +1 -1
  123. package/cjs/style/dnb-ui-forms.min.css +1 -1
  124. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +2 -2
  125. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  126. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -1
  127. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  128. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -1
  129. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  130. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +2 -2
  131. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  132. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -1
  133. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  134. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -1
  135. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  136. package/cjs/style/themes/theme-ui/ui-theme-components.css +2 -2
  137. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  138. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +1 -1
  139. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  140. package/cjs/style/themes/theme-ui/ui-theme-forms.css +1 -1
  141. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  142. package/components/autocomplete/Autocomplete.d.ts +2 -2
  143. package/components/autocomplete/AutocompleteDocs.js +7 -7
  144. package/components/autocomplete/AutocompleteDocs.js.map +1 -1
  145. package/components/button/Button.d.ts +1 -1
  146. package/components/button/Button.js +6 -5
  147. package/components/button/Button.js.map +1 -1
  148. package/components/input-masked/InputMaskedHooks.js +4 -0
  149. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  150. package/components/space/Space.d.ts +1 -1
  151. package/components/space/Space.js.map +1 -1
  152. package/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  153. package/components/table/table-navigation/TableNavigationHead.js +1 -1
  154. package/components/table/table-navigation/TableNavigationHead.js.map +1 -1
  155. package/components/upload/UploadDocs.js +1 -1
  156. package/components/upload/UploadDocs.js.map +1 -1
  157. package/components/upload/UploadInfo.js +1 -1
  158. package/components/upload/UploadInfo.js.map +1 -1
  159. package/components/upload/UploadVerify.js +4 -1
  160. package/components/upload/UploadVerify.js.map +1 -1
  161. package/components/upload/types.d.ts +2 -2
  162. package/components/upload/types.js.map +1 -1
  163. package/es/components/autocomplete/Autocomplete.d.ts +2 -2
  164. package/es/components/autocomplete/AutocompleteDocs.js +7 -7
  165. package/es/components/autocomplete/AutocompleteDocs.js.map +1 -1
  166. package/es/components/button/Button.d.ts +1 -1
  167. package/es/components/button/Button.js +6 -5
  168. package/es/components/button/Button.js.map +1 -1
  169. package/es/components/input-masked/InputMaskedHooks.js +4 -0
  170. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  171. package/es/components/space/Space.d.ts +1 -1
  172. package/es/components/space/Space.js.map +1 -1
  173. package/es/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  174. package/es/components/table/table-navigation/TableNavigationHead.js +1 -1
  175. package/es/components/table/table-navigation/TableNavigationHead.js.map +1 -1
  176. package/es/components/upload/UploadDocs.js +1 -1
  177. package/es/components/upload/UploadDocs.js.map +1 -1
  178. package/es/components/upload/UploadInfo.js +1 -1
  179. package/es/components/upload/UploadInfo.js.map +1 -1
  180. package/es/components/upload/UploadVerify.js +4 -1
  181. package/es/components/upload/UploadVerify.js.map +1 -1
  182. package/es/components/upload/types.d.ts +2 -2
  183. package/es/components/upload/types.js.map +1 -1
  184. package/es/extensions/forms/DataContext/Context.d.ts +1 -0
  185. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  186. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +5 -12
  187. package/es/extensions/forms/DataContext/Provider/Provider.js +41 -18
  188. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  189. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +6 -1
  190. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  191. package/es/extensions/forms/Field/Currency/CurrencyDocs.d.ts +2 -0
  192. package/es/extensions/forms/Field/Currency/CurrencyDocs.js +22 -0
  193. package/es/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -0
  194. package/es/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  195. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  196. package/es/extensions/forms/Field/FieldDocs.d.ts +7 -0
  197. package/es/extensions/forms/Field/FieldDocs.js +16 -0
  198. package/es/extensions/forms/Field/FieldDocs.js.map +1 -1
  199. package/es/extensions/forms/Field/Number/Number.js +7 -12
  200. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  201. package/es/extensions/forms/Field/Option/Option.d.ts +2 -4
  202. package/es/extensions/forms/Field/Option/Option.js +0 -20
  203. package/es/extensions/forms/Field/Option/Option.js.map +1 -1
  204. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -2
  205. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +32 -15
  206. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  207. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +3 -0
  208. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +20 -0
  209. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -0
  210. package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  211. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +16 -3
  212. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  213. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +1 -0
  214. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +9 -0
  215. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -0
  216. package/es/extensions/forms/Field/Selection/Selection.d.ts +40 -16
  217. package/es/extensions/forms/Field/Selection/Selection.js +67 -15
  218. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  219. package/es/extensions/forms/Field/Selection/SelectionDocs.js +10 -0
  220. package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  221. package/es/extensions/forms/Field/Toggle/Toggle.js +1 -1
  222. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  223. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  224. package/es/extensions/forms/Form/Handler/Handler.js +3 -1
  225. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  226. package/es/extensions/forms/Form/Isolation/Isolation.d.ts +26 -5
  227. package/es/extensions/forms/Form/Isolation/Isolation.js +67 -27
  228. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  229. package/es/extensions/forms/Form/Isolation/IsolationCommitButton.js +1 -0
  230. package/es/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -1
  231. package/es/extensions/forms/Form/Isolation/IsolationDocs.js +11 -1
  232. package/es/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  233. package/es/extensions/forms/Form/Section/Section.js +2 -2
  234. package/es/extensions/forms/Form/Section/Section.js.map +1 -1
  235. package/es/extensions/forms/Form/data-context/clearData.d.ts +1 -0
  236. package/es/extensions/forms/Form/data-context/clearData.js +10 -0
  237. package/es/extensions/forms/Form/data-context/clearData.js.map +1 -0
  238. package/es/extensions/forms/Form/index.d.ts +1 -0
  239. package/es/extensions/forms/Form/index.js +1 -0
  240. package/es/extensions/forms/Form/index.js.map +1 -1
  241. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  242. package/es/extensions/forms/Iterate/Array/types.d.ts +1 -4
  243. package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
  244. package/es/extensions/forms/Iterate/style/dnb-iterate.css +1 -1
  245. package/es/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -1
  246. package/es/extensions/forms/Iterate/style/dnb-iterate.scss +1 -1
  247. package/es/extensions/forms/constants/locales/en-GB.d.ts +4 -0
  248. package/es/extensions/forms/constants/locales/en-GB.js +4 -0
  249. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  250. package/es/extensions/forms/constants/locales/en-US.d.ts +4 -0
  251. package/es/extensions/forms/constants/locales/index.d.ts +8 -0
  252. package/es/extensions/forms/constants/locales/nb-NO.d.ts +4 -0
  253. package/es/extensions/forms/constants/locales/nb-NO.js +4 -0
  254. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  255. package/es/extensions/forms/hooks/DataValueDocs.js +4 -4
  256. package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  257. package/es/extensions/forms/hooks/useDataValue.d.ts +1 -0
  258. package/es/extensions/forms/hooks/useDataValue.js +18 -9
  259. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  260. package/es/extensions/forms/hooks/useFieldProps.d.ts +5 -5
  261. package/es/extensions/forms/hooks/useFieldProps.js +39 -23
  262. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  263. package/es/extensions/forms/style/dnb-forms.css +1 -1
  264. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  265. package/es/extensions/forms/types.d.ts +16 -7
  266. package/es/extensions/forms/types.js.map +1 -1
  267. package/es/shared/Eufemia.d.ts +1 -1
  268. package/es/shared/Eufemia.js +2 -2
  269. package/es/shared/Eufemia.js.map +1 -1
  270. package/es/shared/helpers/isAsync.js +2 -2
  271. package/es/shared/helpers/isAsync.js.map +1 -1
  272. package/es/style/core/scopes.scss +1 -1
  273. package/es/style/dnb-ui-basis.css +1 -1
  274. package/es/style/dnb-ui-basis.min.css +1 -1
  275. package/es/style/dnb-ui-body.css +1 -1
  276. package/es/style/dnb-ui-body.min.css +1 -1
  277. package/es/style/dnb-ui-components.css +1 -1
  278. package/es/style/dnb-ui-components.min.css +1 -1
  279. package/es/style/dnb-ui-core.css +1 -1
  280. package/es/style/dnb-ui-core.min.css +1 -1
  281. package/es/style/dnb-ui-extensions.css +1 -1
  282. package/es/style/dnb-ui-extensions.min.css +1 -1
  283. package/es/style/dnb-ui-forms.css +1 -1
  284. package/es/style/dnb-ui-forms.min.css +1 -1
  285. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +2 -2
  286. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  287. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -1
  288. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  289. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -1
  290. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  291. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +2 -2
  292. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  293. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -1
  294. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  295. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -1
  296. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  297. package/es/style/themes/theme-ui/ui-theme-components.css +2 -2
  298. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  299. package/es/style/themes/theme-ui/ui-theme-extensions.css +1 -1
  300. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  301. package/es/style/themes/theme-ui/ui-theme-forms.css +1 -1
  302. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  303. package/esm/dnb-ui-basis.min.mjs +1 -1
  304. package/esm/dnb-ui-components.min.mjs +1 -1
  305. package/esm/dnb-ui-elements.min.mjs +1 -1
  306. package/esm/dnb-ui-extensions.min.mjs +3 -3
  307. package/esm/dnb-ui-lib.min.mjs +1 -1
  308. package/extensions/forms/DataContext/Context.d.ts +1 -0
  309. package/extensions/forms/DataContext/Context.js.map +1 -1
  310. package/extensions/forms/DataContext/Provider/Provider.d.ts +5 -12
  311. package/extensions/forms/DataContext/Provider/Provider.js +41 -18
  312. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  313. package/extensions/forms/DataContext/Provider/ProviderDocs.js +6 -1
  314. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  315. package/extensions/forms/Field/Currency/CurrencyDocs.d.ts +2 -0
  316. package/extensions/forms/Field/Currency/CurrencyDocs.js +22 -0
  317. package/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -0
  318. package/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  319. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  320. package/extensions/forms/Field/FieldDocs.d.ts +7 -0
  321. package/extensions/forms/Field/FieldDocs.js +18 -0
  322. package/extensions/forms/Field/FieldDocs.js.map +1 -1
  323. package/extensions/forms/Field/Number/Number.js +7 -12
  324. package/extensions/forms/Field/Number/Number.js.map +1 -1
  325. package/extensions/forms/Field/Option/Option.d.ts +2 -4
  326. package/extensions/forms/Field/Option/Option.js +0 -20
  327. package/extensions/forms/Field/Option/Option.js.map +1 -1
  328. package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -2
  329. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +33 -15
  330. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  331. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +3 -0
  332. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +20 -0
  333. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -0
  334. package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  335. package/extensions/forms/Field/SelectCountry/SelectCountry.js +32 -16
  336. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  337. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +1 -0
  338. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +9 -0
  339. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -0
  340. package/extensions/forms/Field/Selection/Selection.d.ts +40 -16
  341. package/extensions/forms/Field/Selection/Selection.js +70 -15
  342. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  343. package/extensions/forms/Field/Selection/SelectionDocs.js +10 -0
  344. package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  345. package/extensions/forms/Field/Toggle/Toggle.js +1 -1
  346. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  347. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  348. package/extensions/forms/Form/Handler/Handler.js +3 -1
  349. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  350. package/extensions/forms/Form/Isolation/Isolation.d.ts +26 -5
  351. package/extensions/forms/Form/Isolation/Isolation.js +67 -27
  352. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  353. package/extensions/forms/Form/Isolation/IsolationCommitButton.js +1 -0
  354. package/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -1
  355. package/extensions/forms/Form/Isolation/IsolationDocs.js +11 -1
  356. package/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  357. package/extensions/forms/Form/Section/Section.js +2 -2
  358. package/extensions/forms/Form/Section/Section.js.map +1 -1
  359. package/extensions/forms/Form/data-context/clearData.d.ts +1 -0
  360. package/extensions/forms/Form/data-context/clearData.js +10 -0
  361. package/extensions/forms/Form/data-context/clearData.js.map +1 -0
  362. package/extensions/forms/Form/index.d.ts +1 -0
  363. package/extensions/forms/Form/index.js +1 -0
  364. package/extensions/forms/Form/index.js.map +1 -1
  365. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  366. package/extensions/forms/Iterate/Array/types.d.ts +1 -4
  367. package/extensions/forms/Iterate/Array/types.js.map +1 -1
  368. package/extensions/forms/Iterate/style/dnb-iterate.css +1 -1
  369. package/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -1
  370. package/extensions/forms/Iterate/style/dnb-iterate.scss +1 -1
  371. package/extensions/forms/constants/locales/en-GB.d.ts +4 -0
  372. package/extensions/forms/constants/locales/en-GB.js +4 -0
  373. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  374. package/extensions/forms/constants/locales/en-US.d.ts +4 -0
  375. package/extensions/forms/constants/locales/index.d.ts +8 -0
  376. package/extensions/forms/constants/locales/nb-NO.d.ts +4 -0
  377. package/extensions/forms/constants/locales/nb-NO.js +4 -0
  378. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  379. package/extensions/forms/hooks/DataValueDocs.js +4 -4
  380. package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  381. package/extensions/forms/hooks/useDataValue.d.ts +1 -0
  382. package/extensions/forms/hooks/useDataValue.js +18 -9
  383. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  384. package/extensions/forms/hooks/useFieldProps.d.ts +5 -5
  385. package/extensions/forms/hooks/useFieldProps.js +39 -23
  386. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  387. package/extensions/forms/style/dnb-forms.css +1 -1
  388. package/extensions/forms/style/dnb-forms.min.css +1 -1
  389. package/extensions/forms/types.d.ts +16 -7
  390. package/extensions/forms/types.js.map +1 -1
  391. package/package.json +1 -1
  392. package/shared/Eufemia.d.ts +1 -1
  393. package/shared/Eufemia.js +2 -2
  394. package/shared/Eufemia.js.map +1 -1
  395. package/shared/helpers/isAsync.js +2 -2
  396. package/shared/helpers/isAsync.js.map +1 -1
  397. package/style/core/scopes.scss +1 -1
  398. package/style/dnb-ui-basis.css +1 -1
  399. package/style/dnb-ui-basis.min.css +1 -1
  400. package/style/dnb-ui-body.css +1 -1
  401. package/style/dnb-ui-body.min.css +1 -1
  402. package/style/dnb-ui-components.css +1 -1
  403. package/style/dnb-ui-components.min.css +1 -1
  404. package/style/dnb-ui-core.css +1 -1
  405. package/style/dnb-ui-core.min.css +1 -1
  406. package/style/dnb-ui-extensions.css +1 -1
  407. package/style/dnb-ui-extensions.min.css +1 -1
  408. package/style/dnb-ui-forms.css +1 -1
  409. package/style/dnb-ui-forms.min.css +1 -1
  410. package/style/themes/theme-eiendom/eiendom-theme-components.css +2 -2
  411. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  412. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -1
  413. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  414. package/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -1
  415. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  416. package/style/themes/theme-sbanken/sbanken-theme-components.css +2 -2
  417. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  418. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -1
  419. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  420. package/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -1
  421. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  422. package/style/themes/theme-ui/ui-theme-components.css +2 -2
  423. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  424. package/style/themes/theme-ui/ui-theme-extensions.css +1 -1
  425. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  426. package/style/themes/theme-ui/ui-theme-forms.css +1 -1
  427. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  428. package/umd/dnb-ui-basis.min.js +1 -1
  429. package/umd/dnb-ui-components.min.js +1 -1
  430. package/umd/dnb-ui-elements.min.js +1 -1
  431. package/umd/dnb-ui-extensions.min.js +3 -3
  432. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useFieldProps.js","names":["_react","require","_jsonPointer","_interopRequireDefault","_utils","_ajv","_types","_DataContext","_FieldPropsContext","_componentHelper","_useId","_useUpdateEffect","_useMountEffect","_useUnmountEffect","_FieldBlockContext","_IterateElementContext","_SectionContext","_FieldBoundaryContext","_useProcessManager","_usePath","_useSharedState","_isAsync","_useTranslation","_useExternalValue2","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","useFieldProps","localeProps","_dataContext$props","_useExternalValue","_dataContext$ajvInsta","_localErrorRef$curren","_ref3","_this","_props$path","_props$autoComplete","executeOnChangeRegardlessOfError","extend","useContext","FieldPropsContext","props","path","pathProp","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","forceUpdate","useReducer","startProcess","useProcessManager","id","useId","dataContext","DataContext","fieldBlockContext","FieldBlockContext","iterateElementContext","IterateElementContext","sectionContext","SectionContext","fieldBoundaryContext","FieldBoundaryContext","translation","useTranslation","transformers","useRef","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","usePath","defaultValueRef","externalValue","useExternalValue","current","valueRef","changedRef","hasFocusRef","useMemo","paths","split","requiredList","schemaPath","slice","join","schemaPart","pointer","has","get","substring","collected","flatMap","v","some","p","c","includes","showErrorRef","errorMethodRef","localErrorRef","hasLocalErrorRef","dataContextError","contextErrorRef","validatorRef","useUpdateEffect","onBlurValidatorRef","schemaValidatorRef","ajvInstance","compile","errorMessagesRef","Field","errorRequired","asyncBehaviorIsEnabled","isAsync","validatedValue","changeEventResultRef","asyncProcessRef","defineAsyncProcess","useCallback","name","asyncBufferRef","resolve","validateProcesses","window","requestAnimationFrame","eventPool","onChangeLocal","addToPool","fn","runAsync","runPool","cb","pending","fieldStateRef","state","resolveValidatingState","showError","hideError","prepareError","FormError","_error$messageValues","message","validationRule","_errorMessagesRef$cur","fieldMessage","messagehasValues","entries","messageValues","reduce","_ref2","replace","errorChanged","hasVisibleError","hasErrorProp","hasError","_ref4","stateId","persistErrorState","method","errorArg","type","content","showInitially","clearErrorState","callValidator","opts","tmpValue","result","unchangedValue","Error","callOnBlurValidator","valueOverride","prioritizeContextSchema","hasContextSchema","indexOf","validateValue","isProcessActive","requiredError","isChanged","ajvErrorsToOneFormError","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","handleFocus","handleBlur","useMountEffect","handleMountField","useUnmountEffect","handleUnMountField","_dataContext$ajvInsta2","useEffect","data","existingValue","sharedState","createSharedState","sharedValue","formState","onSubmitHandler","_dataContext$setField","setFieldEventListener","show","htmlAttributes","acc","cur","startsWith","_fieldBlockContext$fi","stateIds","fieldStateIdsRef","combineDescribedBy","ids","fieldBlockProps","fieldState","sharedData","useSharedState","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":["_react","require","_jsonPointer","_interopRequireDefault","_utils","_ajv","_types","_DataContext","_Provider","_FieldPropsContext","_componentHelper","_useId","_useUpdateEffect","_useMountEffect","_useUnmountEffect","_FieldBlockContext","_IterateElementContext","_SectionContext","_FieldBoundaryContext","_useProcessManager","_usePath","_useSharedState","_isAsync","_useTranslation","_useExternalValue2","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","useFieldProps","localeProps","_dataContext$props","_useExternalValue","_dataContext$ajvInsta","_localErrorRef$curren","_ref3","_this","_props$path","_props$autoComplete","executeOnChangeRegardlessOfError","extend","useContext","FieldPropsContext","props","path","pathProp","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","forceUpdate","useReducer","startProcess","useProcessManager","id","useId","dataContext","DataContext","fieldBlockContext","FieldBlockContext","iterateElementContext","IterateElementContext","sectionContext","SectionContext","fieldBoundaryContext","FieldBoundaryContext","translation","useTranslation","transformers","useRef","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","usePath","defaultValueRef","externalValue","useExternalValue","current","valueRef","changedRef","hasFocusRef","useMemo","paths","split","requiredList","schemaPath","slice","join","schemaPart","pointer","has","get","substring","collected","flatMap","v","some","p","c","includes","revealErrorRef","errorMethodRef","localErrorRef","hasLocalErrorRef","dataContextError","contextErrorRef","validatorRef","useUpdateEffect","onBlurValidatorRef","schemaValidatorRef","ajvInstance","compile","errorMessagesRef","Field","errorRequired","asyncBehaviorIsEnabled","isAsync","validatedValue","changeEventResultRef","asyncProcessRef","defineAsyncProcess","useCallback","name","asyncBufferRef","resolve","validateProcesses","window","requestAnimationFrame","eventPool","onChangeLocal","addToPool","fn","runAsync","runPool","cb","pending","fieldStateRef","state","resolveValidatingState","revealError","hideError","prepareError","FormError","_error$messageValues","message","validationRule","_errorMessagesRef$cur","fieldMessage","messagehasValues","entries","messageValues","reduce","_ref2","replace","errorChanged","hasVisibleError","hasErrorProp","hasError","_ref4","stateId","persistErrorState","method","errorArg","type","content","showInitially","clearErrorState","callValidator","opts","tmpValue","result","unchangedValue","Error","callOnBlurValidator","valueOverride","prioritizeContextSchema","hasContextSchema","indexOf","validateValue","isProcessActive","requiredError","isChanged","ajvErrorsToOneFormError","handleError","setHasFocus","hasFocus","getArgs","transformedAdditionalArgs","args","yieldAsyncProcess","_ref5","waitFor","Promise","_ref6","processName","withStates","hasValue","hasMatchingValue","handleChangeEventResult","warningRef","infoRef","success","setEventResult","callOnChangeContext","updateValue","newValue","argFromInput","currentValue","transformedValue","handleFocus","handleBlur","useMountEffect","handleMountField","useUnmountEffect","handleUnMountField","_dataContext$ajvInsta2","useEffect","data","clearedData","existingValue","sharedState","createSharedState","sharedValue","formState","onSubmitHandler","_dataContext$setField","setFieldEventListener","show","htmlAttributes","acc","cur","startsWith","_fieldBlockContext$fi","stateIds","fieldStateIdsRef","combineDescribedBy","ids","fieldBlockProps","fieldState","sharedData","useSharedState","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/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<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 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 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 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 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 = 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 revealError()\n forceUpdate()\n }\n }\n }, [showAllErrors, revealError])\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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"}
@@ -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
 
@@ -1 +1 @@
1
- @charset "UTF-8";.dnb-forms-field-array-selection{--row-gap:var(--spacing-x-small)}.dnb-forms-field-array-selection--options-layout-vertical .dnb-forms-field-array-selection__options{display:flex;flex-flow:column;row-gap:var(--row-gap)}.dnb-forms-field-array-selection--options-layout-vertical.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-block__label{align-items:flex-start}.dnb-forms-field-array-selection--variant-checkbox.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-array-selection__options{row-gap:0}.dnb-forms-field-array-selection--variant-button.dnb-forms-field-array-selection--options-layout-vertical.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-block__label{line-height:2.5rem}.dnb-forms-field-array-selection--options-layout-horizontal .dnb-forms-field-array-selection__options{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row wrap;row-gap:var(--row-gap)}@media screen and (min-width:40em){.dnb-forms-field-array-selection .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem;margin-bottom:0}}.dnb-forms-field-expiry .dnb-multi-input-mask{width:var(--forms-field-width--small)}.dnb-forms-field-expiry .dnb-multi-input-mask .dnb-input__shell{justify-content:center}.dnb-forms-field-number{--number-control-button-border-color:#000;--number-control-button-border-color--hover:#a9a9a9;--number-control-button-border-color--focus:#a9a9a9;--number-control-button-border-width--focus:0.125rem;--number-control-button-background-color--hover:grey;--number-control-button-color--hover:#000;--number-control-button-background-color--active:#000;--number-control-button-color--active:#d3d3d3;--number-control-button--error:red;--number-control-button--error-contrast:#fff;--number-control-button-width--small:2rem;--number-control-button-width--medium:2.5rem;--number-control-button-width--large:3rem;--forms-field-block--number-control-buttons-width--small:calc(var(--number-control-button-width--small)*2);--forms-field-block--number-control-buttons-width--medium:calc(var(--number-control-button-width--medium)*2);--forms-field-block--number-control-buttons-width--large:calc(var(--number-control-button-width--large)*2)}.dnb-forms-field-number__contents{display:flex}.dnb-forms-field-number__contents--has-controls .dnb-input__input{align-items:center}.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border{border-radius:0}.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border,.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:focus-within,.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:hover,html[data-whatinput=keyboard] .dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:focus-within{box-shadow:none}.dnb-forms-field-number__contents--has-controls>.dnb-input__border--root{--input-border-inset: ;--input-border-inset--hover: ;--input-border-inset--active: ;--input-border-inset--focus: ;--input-border-inset--disabled: }html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button-background-color--hover);color:var(--number-control-button-color--hover)}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button-background-color--active);color:var(--number-control-button-color--active)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before{color:var(--number-control-button--error)}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button--error-contrast);color:var(--number-control-button--error)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button--error);color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before[disabled]{color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-input--disabled .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input--disabled .dnb-button--control-before[disabled]{background-color:var(--color-black-3);color:var(--color-black-20)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small{width:calc(var(--forms-field-width--small) + var(--forms-field-block--number-control-buttons-width--small))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-before{width:var(--number-control-button-width--small)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium{width:calc(var(--forms-field-width--medium) + var(--forms-field-block--number-control-buttons-width--medium))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-before{width:var(--number-control-button-width--medium)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large{width:calc(var(--forms-field-width--large) + var(--forms-field-block--number-control-buttons-width--large))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-before{width:var(--number-control-button-width--large)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-button--control-before{width:var(--number-control-button-width--large)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-input__border{flex-grow:1}.dnb-forms-field-password .dnb-input__status--error .dnb-input__submit-button__button{color:var(--color-fire-red)}.dnb-forms-field-password .dnb-input__status--error .dnb-input__submit-button__button:hover{color:var(--color-white)}.dnb-forms-field-phone-number__country-code,.dnb-forms-field-phone-number__country-code .dnb-autocomplete__shell{width:calc(var(--forms-field-width--medium) - 2rem)}.dnb-forms-field-phone-number__number{flex:1}.dnb-forms-field-phone-number .dnb-form-label{max-width:14ch}.dnb-forms-field-postal-code-and-city__postal-code{flex:0 5rem}.dnb-forms-field-postal-code-and-city__city{flex:1}.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{align-self:center}.dnb-forms-field-selection__options-layout--horizontal .dnb-forms-field-block--layout-horizontal .dnb-form-label,.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{margin-bottom:0}.dnb-forms-field-selection__variant--button .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem}.dnb-forms-field-selection .dnb-forms-field-block__contents{display:flex}.dnb-forms-field-selection .dnb-radio-group .dnb-height-animation,.dnb-forms-field-selection .dnb-radio-group>.dnb-flex-container,.dnb-forms-field-selection .dnb-toggle-button-group .dnb-height-animation,.dnb-forms-field-selection .dnb-toggle-button-group>.dnb-flex-container{flex-grow:1;width:100%}:root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}@media screen and (max-width:15em){.dnb-forms-field-number .dnb-input__shell,.dnb-forms-field-string .dnb-input__shell{width:90%}}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block__grid{display:grid}@media screen and (max-width:40em){.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid{flex-wrap:wrap}.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid>.dnb-form-label{margin-bottom:.5rem;margin-top:.5rem}}.dnb-forms-field-block--layout-vertical{grid-template-areas:"label" "contents" "status";grid-template-columns:auto}.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" "status status";grid-template-columns:fit-content(100%) auto}.dnb-forms-field-block--width-stretch{flex-grow:1}@media screen and (min-width:25em){.dnb-forms-field-block--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__label{align-items:center;display:flex;flex-flow:row;grid-area:label;justify-content:space-between}.dnb-forms-field-block__label-description{margin-left:.3em}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__status .dnb-form-status__shell{margin-top:.5rem}@media screen and (max-width:15em){.dnb-forms-field-block__status{width:90%}}.dnb-forms-field-block__contents{grid-area:contents;width:100%}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:25em){.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__contents__composition--vertical{display:flex;flex-flow:column;row-gap:var(--spacing-small)}.dnb-forms-field-block__contents__composition--horizontal{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}@media screen and (min-width:25em){.dnb-forms-field-block__contents__composition--horizontal{align-items:flex-end}.dnb-forms-field-block__contents__composition--horizontal[class*=align-center]{align-items:center}}@media screen and (max-width:25em){.dnb-forms-field-block__contents__composition--horizontal{flex-flow:column;row-gap:var(--spacing-x-small)}}.dnb-forms-button-row{display:flex;flex-flow:row;flex-wrap:wrap;gap:var(--spacing-small)}.dnb-card+.dnb-button--primary:not([class*=space__top]),.dnb-card+.dnb-forms-button-row:not([class*=space__top]){margin-top:var(--spacing-small)}.dnb-card+.dnb-button--primary:not([class*=space__top]) .dnb-button[class*=space__top],.dnb-card+.dnb-forms-button-row:not([class*=space__top]) .dnb-button[class*=space__top]{margin-top:0}@media screen and (min-width:40em){.dnb-card+.dnb-button--primary:not([class*=space__left]),.dnb-card+.dnb-forms-button-row:not([class*=space__left]){margin-left:var(--spacing-medium)}}:root{--forms-card-max-width:36.5rem}.dnb-forms-form .dnb-card{max-width:var(--forms-card-max-width)}.dnb-spacing .dnb-forms-main-heading.dnb-h--large:not([class*=space__]){margin:0}@media screen and (min-width:40em){.dnb-forms-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__left]){margin-left:var(--spacing-medium)}}.dnb-forms-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-forms-section-block{--block-outline-color:var(--outline-color,var(--color-lavender))}.dnb-forms-section-block--error:has(.dnb-form-status--error){--block-outline-color:var(--color-fire-red)}.dnb-forms-section-block:not(.dnb-height-animation--hidden){display:flex;flex-direction:column}.dnb-forms-section-block__inner{flex:1;margin-bottom:var(--space);outline:none;padding:var(--padding,1rem);transform:translateY(-2.5rem);transition:transform .4s var(--easing-default) 50ms,box-shadow .8s var(--easing-default)}.dnb-forms-section-block--variant-basic .dnb-forms-section-block__inner,.dnb-forms-section-block__inner:not([class*=dnb-flex-container--spacing]){--padding:0}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing]{border-radius:.375rem}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-small{--space:var(--spacing-small)}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-medium{--space:var(--spacing-medium)}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-large{--space:var(--spacing-large)}.dnb-forms-section-block--variant-outline .dnb-forms-section-block__inner[class*=dnb-flex-container--spacing]{box-shadow:inset 0 0 0 2px var(--block-outline-color)}.dnb-forms-section-block__inner .dnb-dl .dnb-dd{margin-bottom:0}.dnb-forms-section-block.dnb-height-animation--is-visible .dnb-forms-section-block__inner{transform:translateY(-.5rem)}.dnb-forms-section-block.dnb-height-animation--parallax .dnb-forms-section-block__inner{transform:translateY(0)}.dnb-spacing .dnb-forms-sub-heading.dnb-h--medium:not([class*=space__]){margin:0}.dnb-forms-sub-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-forms-submit-indicator{--padding-left:0.5em;display:inline}.dnb-forms-submit-indicator__content{font-size:0;line-height:1em;transition:font-size .8s var(--easing-default);will-change:font-size}.dnb-forms-submit-indicator__content b{animation-delay:.2s;animation-duration:1.3s;animation-iteration-count:infinite;animation-name:submit-indicator-dot;color:var(--dots-color,currentColor);opacity:.2;padding-left:.125em}.dnb-forms-submit-indicator__content b:first-of-type{animation-delay:50ms;padding-left:var(--padding-left)}.dnb-forms-submit-indicator__content b:nth-of-type(2){animation-delay:.2s}.dnb-forms-submit-indicator__content b:nth-of-type(3){animation-delay:.4s}html[data-visual-test] .dnb-forms-submit-indicator__content b{animation:none}.dnb-forms-submit-indicator--state-pending .dnb-forms-submit-indicator__content{font-size:1em;font-weight:var(--font-weight-bold)}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content{font-size:1em}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon{color:var(--color-success-green);padding-left:var(--padding-left)}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon--default{font-size:1em}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content__label{font-size:var(--font-size-small);padding-left:calc(var(--padding-left)*2)}.dnb-forms-submit-indicator--inline-wrap .dnb-forms-submit-indicator__content{--padding-left:0.25em;display:flex}@keyframes submit-indicator-dot{0%{opacity:.2}15%{opacity:1}50%{opacity:1}60%{opacity:.3}to{opacity:.2}}@keyframes submit-indicator-success{0%{font-size:1em;opacity:.2}20%{font-size:1em;opacity:1}80%{opacity:1}85%{font-size:1em;opacity:.3}90%{opacity:0}to{font-size:0;opacity:0}}.dnb-forms-iterate__element{outline:none}.dnb-forms-iterate>.dnb-forms-iterate__element:has(.dnb-forms-iterate-block){margin-top:0}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal) .dnb-dt,.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not([class*=dnb-space])>.dnb-dd>.dnb-dl,.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal)>.dnb-dd>.dnb-dl{margin:0}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not(.dnb-dl__layout--grid)>.dnb-dd{margin-bottom:var(--spacing-medium)}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not(.dnb-dl__layout--grid)>.dnb-dd:last-of-type{margin-bottom:0}.dnb-forms-value-block{display:block;font-size:var(--font-size-basis)}.dnb-forms-value-block--inline:not([class*=__composition]){display:inline-block;font-size:inherit}.dnb-forms-value-block--inline:not([class*=__composition]):after,.dnb-forms-value-block--inline:not([class*=__composition]):before{content:" "}.dnb-forms-value-block+.dnb-forms-value-block--inline:not([class*=__composition]):before{content:none}.dnb-forms-value-block__label,.dnb-forms-value-block__label strong{font-weight:var(--font-weight-medium)}.dnb-forms-value-block__placeholder{color:var(--color-black-80)}.dnb-forms-value-block--max-width-stretch{width:100%}@media screen and (min-width:25em){.dnb-forms-value-block--max-width-small{max-width:var(--forms-field-width--small)}.dnb-forms-value-block--max-width-medium{max-width:var(--forms-field-width--medium)}.dnb-forms-value-block--max-width-large{max-width:var(--forms-field-width--large)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{-moz-column-gap:var(--column-gap,0);column-gap:var(--column-gap,0);display:flex;flex-flow:row;row-gap:var(--row-gap,var(--spacing-medium))}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-xx-small{--column-gap:var(--spacing-xx-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-x-small{--column-gap:var(--spacing-x-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-small{--column-gap:var(--spacing-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-medium{--column-gap:var(--spacing-medium)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-large{--column-gap:var(--spacing-large)}@media screen and (min-width:25em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{align-items:flex-start}}@media screen and (max-width:25em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{flex-flow:column}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not(:has(.dnb-forms-value-block__label)){--row-gap:var(--spacing-x-small)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not([class*=dnb-space])>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dd,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dt{margin:0}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl>.dnb-dd{margin-bottom:0}.dnb-forms-wizard-layout{-moz-column-gap:var(--spacing-medium);column-gap:var(--spacing-medium);display:flex;flex-flow:row wrap}.dnb-forms-wizard-layout--drawer{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__indicator{flex:0;margin-bottom:2rem}.dnb-forms-wizard-layout__contents{flex:1}.dnb-forms-wizard-layout__contents .dnb-forms-step{outline:none}.dnb-forms-wizard-layout__contents .dnb-card{max-width:var(--forms-card-max-width)}.dnb-forms-wizard-layout__contents .dnb-forms-button-row>.appear-fx,.dnb-forms-wizard-layout__contents .dnb-forms-step>.appear-fx{--appear-opacity:0;--appear-offset:-0.25rem;animation:appear .6s var(--easing-default) forwards;animation-delay:calc(var(--element-index, 0)*30ms);opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}@keyframes appear{0%{opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}80%{opacity:1}to{opacity:1;transform:translateZ(0)}}@media screen and (min-width:40em){.dnb-forms-wizard-layout+.dnb-form-status+.dnb-form-status:not([class*=space__left]),.dnb-forms-wizard-layout+.dnb-form-status:not([class*=space__left]){margin-left:var(--spacing-medium)}}@media screen and (max-width:60em){.dnb-forms-wizard-layout{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__contents{flex-basis:auto}}.dnb-forms-wizard-layout .dnb-step-indicator__sidebar{margin-right:0}@media screen and (min-width:60em){.dnb-forms-form:has(.dnb-forms-wizard-layout--sidebar) .dnb-forms-status{margin-left:23rem}}.dnb-forms-test-element{border:1px dashed grey;border-radius:.5rem;color:#909090;padding:.5rem 1rem}
1
+ @charset "UTF-8";.dnb-forms-field-array-selection{--row-gap:var(--spacing-x-small)}.dnb-forms-field-array-selection--options-layout-vertical .dnb-forms-field-array-selection__options{display:flex;flex-flow:column;row-gap:var(--row-gap)}.dnb-forms-field-array-selection--options-layout-vertical.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-block__label{align-items:flex-start}.dnb-forms-field-array-selection--variant-checkbox.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-array-selection__options{row-gap:0}.dnb-forms-field-array-selection--variant-button.dnb-forms-field-array-selection--options-layout-vertical.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-block__label{line-height:2.5rem}.dnb-forms-field-array-selection--options-layout-horizontal .dnb-forms-field-array-selection__options{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row wrap;row-gap:var(--row-gap)}@media screen and (min-width:40em){.dnb-forms-field-array-selection .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem;margin-bottom:0}}.dnb-forms-field-expiry .dnb-multi-input-mask{width:var(--forms-field-width--small)}.dnb-forms-field-expiry .dnb-multi-input-mask .dnb-input__shell{justify-content:center}.dnb-forms-field-number{--number-control-button-border-color:#000;--number-control-button-border-color--hover:#a9a9a9;--number-control-button-border-color--focus:#a9a9a9;--number-control-button-border-width--focus:0.125rem;--number-control-button-background-color--hover:grey;--number-control-button-color--hover:#000;--number-control-button-background-color--active:#000;--number-control-button-color--active:#d3d3d3;--number-control-button--error:red;--number-control-button--error-contrast:#fff;--number-control-button-width--small:2rem;--number-control-button-width--medium:2.5rem;--number-control-button-width--large:3rem;--forms-field-block--number-control-buttons-width--small:calc(var(--number-control-button-width--small)*2);--forms-field-block--number-control-buttons-width--medium:calc(var(--number-control-button-width--medium)*2);--forms-field-block--number-control-buttons-width--large:calc(var(--number-control-button-width--large)*2)}.dnb-forms-field-number__contents{display:flex}.dnb-forms-field-number__contents--has-controls .dnb-input__input{align-items:center}.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border{border-radius:0}.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border,.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:focus-within,.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:hover,html[data-whatinput=keyboard] .dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:focus-within{box-shadow:none}.dnb-forms-field-number__contents--has-controls>.dnb-input__border--root{--input-border-inset: ;--input-border-inset--hover: ;--input-border-inset--active: ;--input-border-inset--focus: ;--input-border-inset--disabled: }html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button-background-color--hover);color:var(--number-control-button-color--hover)}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button-background-color--active);color:var(--number-control-button-color--active)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before{color:var(--number-control-button--error)}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button--error-contrast);color:var(--number-control-button--error)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button--error);color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before[disabled]{color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-input--disabled .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input--disabled .dnb-button--control-before[disabled]{background-color:var(--color-black-3);color:var(--color-black-20)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small{width:calc(var(--forms-field-width--small) + var(--forms-field-block--number-control-buttons-width--small))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-before{width:var(--number-control-button-width--small)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium{width:calc(var(--forms-field-width--medium) + var(--forms-field-block--number-control-buttons-width--medium))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-before{width:var(--number-control-button-width--medium)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large{width:calc(var(--forms-field-width--large) + var(--forms-field-block--number-control-buttons-width--large))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-before{width:var(--number-control-button-width--large)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-button--control-before{width:var(--number-control-button-width--large)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-input__border{flex-grow:1}.dnb-forms-field-password .dnb-input__status--error .dnb-input__submit-button__button{color:var(--color-fire-red)}.dnb-forms-field-password .dnb-input__status--error .dnb-input__submit-button__button:hover{color:var(--color-white)}.dnb-forms-field-phone-number__country-code,.dnb-forms-field-phone-number__country-code .dnb-autocomplete__shell{width:calc(var(--forms-field-width--medium) - 2rem)}.dnb-forms-field-phone-number__number{flex:1}.dnb-forms-field-phone-number .dnb-form-label{max-width:14ch}.dnb-forms-field-postal-code-and-city__postal-code{flex:0 5rem}.dnb-forms-field-postal-code-and-city__city{flex:1}.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{align-self:center}.dnb-forms-field-selection__options-layout--horizontal .dnb-forms-field-block--layout-horizontal .dnb-form-label,.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{margin-bottom:0}.dnb-forms-field-selection__variant--button .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem}.dnb-forms-field-selection .dnb-forms-field-block__contents{display:flex}.dnb-forms-field-selection .dnb-radio-group .dnb-height-animation,.dnb-forms-field-selection .dnb-radio-group>.dnb-flex-container,.dnb-forms-field-selection .dnb-toggle-button-group .dnb-height-animation,.dnb-forms-field-selection .dnb-toggle-button-group>.dnb-flex-container{flex-grow:1;width:100%}:root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}@media screen and (max-width:15em){.dnb-forms-field-number .dnb-input__shell,.dnb-forms-field-string .dnb-input__shell{width:90%}}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block__grid{display:grid}@media screen and (max-width:40em){.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid{flex-wrap:wrap}.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid>.dnb-form-label{margin-bottom:.5rem;margin-top:.5rem}}.dnb-forms-field-block--layout-vertical{grid-template-areas:"label" "contents" "status";grid-template-columns:auto}.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" "status status";grid-template-columns:fit-content(100%) auto}.dnb-forms-field-block--width-stretch{flex-grow:1}@media screen and (min-width:25em){.dnb-forms-field-block--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__label{align-items:center;display:flex;flex-flow:row;grid-area:label;justify-content:space-between}.dnb-forms-field-block__label-description{margin-left:.3em}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__status .dnb-form-status__shell{margin-top:.5rem}@media screen and (max-width:15em){.dnb-forms-field-block__status{width:90%}}.dnb-forms-field-block__contents{grid-area:contents;width:100%}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:25em){.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__contents__composition--vertical{display:flex;flex-flow:column;row-gap:var(--spacing-small)}.dnb-forms-field-block__contents__composition--horizontal{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}@media screen and (min-width:25em){.dnb-forms-field-block__contents__composition--horizontal{align-items:flex-end}.dnb-forms-field-block__contents__composition--horizontal[class*=align-center]{align-items:center}}@media screen and (max-width:25em){.dnb-forms-field-block__contents__composition--horizontal{flex-flow:column;row-gap:var(--spacing-x-small)}}.dnb-forms-button-row{display:flex;flex-flow:row;flex-wrap:wrap;gap:var(--spacing-small)}.dnb-card+.dnb-button--primary:not([class*=space__top]),.dnb-card+.dnb-forms-button-row:not([class*=space__top]){margin-top:var(--spacing-small)}.dnb-card+.dnb-button--primary:not([class*=space__top]) .dnb-button[class*=space__top],.dnb-card+.dnb-forms-button-row:not([class*=space__top]) .dnb-button[class*=space__top]{margin-top:0}@media screen and (min-width:40em){.dnb-card+.dnb-button--primary:not([class*=space__left]),.dnb-card+.dnb-forms-button-row:not([class*=space__left]){margin-left:var(--spacing-medium)}}:root{--forms-card-max-width:36.5rem}.dnb-forms-form .dnb-card{max-width:var(--forms-card-max-width)}.dnb-spacing .dnb-forms-main-heading.dnb-h--large:not([class*=space__]){margin:0}@media screen and (min-width:40em){.dnb-forms-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__left]){margin-left:var(--spacing-medium)}}.dnb-forms-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-forms-section-block{--block-outline-color:var(--outline-color,var(--color-lavender))}.dnb-forms-section-block--error:has(.dnb-form-status--error){--block-outline-color:var(--color-fire-red)}.dnb-forms-section-block:not(.dnb-height-animation--hidden){display:flex;flex-direction:column}.dnb-forms-section-block__inner{flex:1;margin-bottom:var(--space);outline:none;padding:var(--padding,1rem);transform:translateY(-2.5rem);transition:transform .4s var(--easing-default) 50ms,box-shadow .8s var(--easing-default)}.dnb-forms-section-block--variant-basic .dnb-forms-section-block__inner,.dnb-forms-section-block__inner:not([class*=dnb-flex-container--spacing]){--padding:0}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing]{border-radius:.375rem}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-small{--space:var(--spacing-small)}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-medium{--space:var(--spacing-medium)}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-large{--space:var(--spacing-large)}.dnb-forms-section-block--variant-outline .dnb-forms-section-block__inner[class*=dnb-flex-container--spacing]{box-shadow:inset 0 0 0 2px var(--block-outline-color)}.dnb-forms-section-block__inner .dnb-dl .dnb-dd{margin-bottom:0}.dnb-forms-section-block.dnb-height-animation--is-visible .dnb-forms-section-block__inner{transform:translateY(-.5rem)}.dnb-forms-section-block.dnb-height-animation--parallax .dnb-forms-section-block__inner{transform:translateY(0)}.dnb-spacing .dnb-forms-sub-heading.dnb-h--medium:not([class*=space__]){margin:0}.dnb-forms-sub-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-forms-submit-indicator{--padding-left:0.5em;display:inline}.dnb-forms-submit-indicator__content{font-size:0;line-height:1em;transition:font-size .8s var(--easing-default);will-change:font-size}.dnb-forms-submit-indicator__content b{animation-delay:.2s;animation-duration:1.3s;animation-iteration-count:infinite;animation-name:submit-indicator-dot;color:var(--dots-color,currentColor);opacity:.2;padding-left:.125em}.dnb-forms-submit-indicator__content b:first-of-type{animation-delay:50ms;padding-left:var(--padding-left)}.dnb-forms-submit-indicator__content b:nth-of-type(2){animation-delay:.2s}.dnb-forms-submit-indicator__content b:nth-of-type(3){animation-delay:.4s}html[data-visual-test] .dnb-forms-submit-indicator__content b{animation:none}.dnb-forms-submit-indicator--state-pending .dnb-forms-submit-indicator__content{font-size:1em;font-weight:var(--font-weight-bold)}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content{font-size:1em}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon{color:var(--color-success-green);padding-left:var(--padding-left)}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon--default{font-size:1em}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content__label{font-size:var(--font-size-small);padding-left:calc(var(--padding-left)*2)}.dnb-forms-submit-indicator--inline-wrap .dnb-forms-submit-indicator__content{--padding-left:0.25em;display:flex}@keyframes submit-indicator-dot{0%{opacity:.2}15%{opacity:1}50%{opacity:1}60%{opacity:.3}to{opacity:.2}}@keyframes submit-indicator-success{0%{font-size:1em;opacity:.2}20%{font-size:1em;opacity:1}80%{opacity:1}85%{font-size:1em;opacity:.3}90%{opacity:0}to{font-size:0;opacity:0}}.dnb-forms-iterate__element{outline:none}.dnb-forms-iterate>.dnb-forms-iterate__element:has(>.dnb-forms-section-block){margin-top:0}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal) .dnb-dt,.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not([class*=dnb-space])>.dnb-dd>.dnb-dl,.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal)>.dnb-dd>.dnb-dl{margin:0}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not(.dnb-dl__layout--grid)>.dnb-dd{margin-bottom:var(--spacing-medium)}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not(.dnb-dl__layout--grid)>.dnb-dd:last-of-type{margin-bottom:0}.dnb-forms-value-block{display:block;font-size:var(--font-size-basis)}.dnb-forms-value-block--inline:not([class*=__composition]){display:inline-block;font-size:inherit}.dnb-forms-value-block--inline:not([class*=__composition]):after,.dnb-forms-value-block--inline:not([class*=__composition]):before{content:" "}.dnb-forms-value-block+.dnb-forms-value-block--inline:not([class*=__composition]):before{content:none}.dnb-forms-value-block__label,.dnb-forms-value-block__label strong{font-weight:var(--font-weight-medium)}.dnb-forms-value-block__placeholder{color:var(--color-black-80)}.dnb-forms-value-block--max-width-stretch{width:100%}@media screen and (min-width:25em){.dnb-forms-value-block--max-width-small{max-width:var(--forms-field-width--small)}.dnb-forms-value-block--max-width-medium{max-width:var(--forms-field-width--medium)}.dnb-forms-value-block--max-width-large{max-width:var(--forms-field-width--large)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{-moz-column-gap:var(--column-gap,0);column-gap:var(--column-gap,0);display:flex;flex-flow:row;row-gap:var(--row-gap,var(--spacing-medium))}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-xx-small{--column-gap:var(--spacing-xx-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-x-small{--column-gap:var(--spacing-x-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-small{--column-gap:var(--spacing-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-medium{--column-gap:var(--spacing-medium)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-large{--column-gap:var(--spacing-large)}@media screen and (min-width:25em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{align-items:flex-start}}@media screen and (max-width:25em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{flex-flow:column}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not(:has(.dnb-forms-value-block__label)){--row-gap:var(--spacing-x-small)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not([class*=dnb-space])>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dd,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dt{margin:0}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl>.dnb-dd{margin-bottom:0}.dnb-forms-wizard-layout{-moz-column-gap:var(--spacing-medium);column-gap:var(--spacing-medium);display:flex;flex-flow:row wrap}.dnb-forms-wizard-layout--drawer{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__indicator{flex:0;margin-bottom:2rem}.dnb-forms-wizard-layout__contents{flex:1}.dnb-forms-wizard-layout__contents .dnb-forms-step{outline:none}.dnb-forms-wizard-layout__contents .dnb-card{max-width:var(--forms-card-max-width)}.dnb-forms-wizard-layout__contents .dnb-forms-button-row>.appear-fx,.dnb-forms-wizard-layout__contents .dnb-forms-step>.appear-fx{--appear-opacity:0;--appear-offset:-0.25rem;animation:appear .6s var(--easing-default) forwards;animation-delay:calc(var(--element-index, 0)*30ms);opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}@keyframes appear{0%{opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}80%{opacity:1}to{opacity:1;transform:translateZ(0)}}@media screen and (min-width:40em){.dnb-forms-wizard-layout+.dnb-form-status+.dnb-form-status:not([class*=space__left]),.dnb-forms-wizard-layout+.dnb-form-status:not([class*=space__left]){margin-left:var(--spacing-medium)}}@media screen and (max-width:60em){.dnb-forms-wizard-layout{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__contents{flex-basis:auto}}.dnb-forms-wizard-layout .dnb-step-indicator__sidebar{margin-right:0}@media screen and (min-width:60em){.dnb-forms-form:has(.dnb-forms-wizard-layout--sidebar) .dnb-forms-status{margin-left:23rem}}.dnb-forms-test-element{border:1px dashed grey;border-radius:.5rem;color:#909090;padding:.5rem 1rem}
@@ -58,11 +58,12 @@ export interface DataValueReadProps<Value = unknown> {
58
58
  }
59
59
  export declare function pickDataValueReadProps<Props extends DataValueReadProps>(props: Props): DataValueReadProps;
60
60
  export declare function omitDataValueReadProps<Props extends DataValueReadProps>(props: Props): Omit<DataValueReadProps, keyof DataValueReadProps>;
61
- export interface DataValueWriteProps<Value = unknown, EmptyValue = undefined | unknown> {
61
+ type EventArgs<Value, ExtraValue extends AdditionalEventArgs> = ExtraValue extends undefined ? [value: Value] : [value: Value, additionalArgs?: ExtraValue];
62
+ export interface DataValueWriteProps<Value = unknown, EmptyValue = undefined | unknown, ExtraValue extends AdditionalEventArgs = undefined> {
62
63
  emptyValue?: EmptyValue;
63
- onFocus?: (value: Value | EmptyValue) => void;
64
- onBlur?: (value: Value | EmptyValue) => void;
65
- onChange?: OnChangeValue<Value, EmptyValue>;
64
+ onFocus?: (...args: EventArgs<Value | EmptyValue, ExtraValue>) => void;
65
+ onBlur?: (...args: EventArgs<Value | EmptyValue, ExtraValue>) => void;
66
+ onChange?: (...args: EventArgs<Value | EmptyValue, ExtraValue>) => OnChangeReturnType;
66
67
  }
67
68
  export declare function pickDataValueWriteProps<Props extends DataValueWriteProps>(props: Props): DataValueWriteProps;
68
69
  export declare function omitDataValueWriteProps<Props extends DataValueWriteProps>(props: Props): Omit<DataValueWriteProps, keyof DataValueWriteProps>;
@@ -162,6 +163,10 @@ export interface UseFieldProps<Value = unknown, EmptyValue = undefined | unknown
162
163
  * Transforms the value given by `handleChange` after `fromInput` and before `updateValue` and `toEvent`. The second parameter returns the current value.
163
164
  */
164
165
  transformValue?: (value: Value, currentValue?: Value) => Value;
166
+ /**
167
+ * Transform additionalArgs or generate it based on value after `toEvent` and before callbacks such as `onChange`, `onFocus` and `onBlur`.
168
+ */
169
+ transformAdditionalArgs?: (additionalArgs: AdditionalEventArgs, internal: Value) => AdditionalEventArgs;
165
170
  /**
166
171
  * Transforms the value before it gets returned as the `value`.
167
172
  */
@@ -184,6 +189,8 @@ export interface UseFieldProps<Value = unknown, EmptyValue = undefined | unknown
184
189
  valueType?: string | number | boolean | Array<string | number | boolean>;
185
190
  }
186
191
  export type FieldProps<Value = unknown, EmptyValue = undefined | unknown, ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages> = UseFieldProps<Value, EmptyValue, ErrorMessages> & FieldBlockProps;
192
+ export type FieldPropsGeneric<Value = unknown, EmptyValue = undefined | unknown, ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages> = Omit<FieldProps<Value, EmptyValue, ErrorMessages>, keyof DataValueWriteProps> & DataValueWriteProps<Value, EmptyValue, AdditionalEventArgs>;
193
+ export type FieldPropsWithExtraValue<Value = unknown, ExtraValue extends AdditionalEventArgs = AdditionalEventArgs, EmptyValue = undefined | unknown, ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages> = Omit<FieldProps<Value, EmptyValue, ErrorMessages>, keyof DataValueWriteProps> & DataValueWriteProps<Value, EmptyValue, ExtraValue>;
187
194
  export interface FieldHelpProps {
188
195
  help?: {
189
196
  title?: string;
@@ -285,6 +292,8 @@ export type OnSubmitParams = {
285
292
  clearData: () => void;
286
293
  };
287
294
  export type OnSubmit<Data = JsonObject> = (data: Data, { resetForm, clearData }: OnSubmitParams) => EventReturnWithStateObject | void | Promise<EventReturnWithStateObject | void>;
288
- export type OnCommit<Data = JsonObject> = (data: Data) => EventReturnWithStateObject | void | Promise<EventReturnWithStateObject | void>;
289
- export type OnChange<Data = unknown> = (data: Data) => EventReturnWithStateObjectAndSuccess | void | Promise<EventReturnWithStateObjectAndSuccess | void>;
290
- export type OnChangeValue<Value = unknown, EmptyValue = undefined | unknown> = (value: Value | EmptyValue, additionalArgs?: AdditionalEventArgs) => EventReturnWithStateObjectAndSuccess | void | Promise<EventReturnWithStateObjectAndSuccess | void>;
295
+ export type OnCommit<Data = JsonObject> = (data: Data, { clearData }: {
296
+ clearData: () => void;
297
+ }) => EventReturnWithStateObject | void | Promise<EventReturnWithStateObject | void>;
298
+ export type OnChange<Data = unknown> = (data: Data) => OnChangeReturnType;
299
+ type OnChangeReturnType = EventReturnWithStateObjectAndSuccess | void | Promise<EventReturnWithStateObjectAndSuccess | void>;