@dnb/eufemia 10.62.4 → 10.63.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 (892) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/cjs/components/accordion/Accordion.d.ts +1 -125
  3. package/cjs/components/accordion/Accordion.js +0 -1
  4. package/cjs/components/accordion/Accordion.js.map +1 -1
  5. package/cjs/components/autocomplete/Autocomplete.js +3 -2
  6. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  7. package/cjs/components/button/Button.d.ts +3 -6
  8. package/cjs/components/button/Button.js +8 -18
  9. package/cjs/components/button/Button.js.map +1 -1
  10. package/cjs/components/button/ButtonDocs.d.ts +2 -0
  11. package/cjs/components/button/ButtonDocs.js +135 -0
  12. package/cjs/components/button/ButtonDocs.js.map +1 -0
  13. package/cjs/components/date-picker/DatePicker.d.ts +4 -0
  14. package/cjs/components/date-picker/DatePicker.js +24 -10
  15. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  16. package/cjs/components/date-picker/DatePickerDocs.js +5 -0
  17. package/cjs/components/date-picker/DatePickerDocs.js.map +1 -1
  18. package/cjs/components/date-picker/DatePickerPortal.d.ts +9 -0
  19. package/cjs/components/date-picker/DatePickerPortal.js +61 -0
  20. package/cjs/components/date-picker/DatePickerPortal.js.map +1 -0
  21. package/cjs/components/date-picker/style/dnb-date-picker.css +64 -55
  22. package/cjs/components/date-picker/style/dnb-date-picker.min.css +1 -1
  23. package/cjs/components/date-picker/style/dnb-date-picker.scss +90 -75
  24. package/cjs/components/form-row/FormRow.js +2 -7
  25. package/cjs/components/form-row/FormRow.js.map +1 -1
  26. package/cjs/components/form-row/style/dnb-form-row.css +3 -3
  27. package/cjs/components/form-row/style/dnb-form-row.min.css +1 -1
  28. package/cjs/components/form-status/FormStatus.js +17 -19
  29. package/cjs/components/form-status/FormStatus.js.map +1 -1
  30. package/cjs/components/height-animation/HeightAnimationInstance.d.ts +1 -0
  31. package/cjs/components/height-animation/HeightAnimationInstance.js +26 -1
  32. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  33. package/cjs/components/input-masked/InputMasked.d.ts +1 -1
  34. package/cjs/components/input-masked/InputMasked.js +2 -2
  35. package/cjs/components/input-masked/InputMasked.js.map +1 -1
  36. package/cjs/components/input-masked/InputMaskedDocs.js +1 -1
  37. package/cjs/components/input-masked/InputMaskedDocs.js.map +1 -1
  38. package/cjs/components/input-masked/InputMaskedHooks.js +1 -1
  39. package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
  40. package/cjs/components/input-masked/InputMaskedUtils.js +1 -1
  41. package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
  42. package/cjs/components/input-masked/style/dnb-input-masked.css +3 -3
  43. package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
  44. package/cjs/components/pagination/Pagination.d.ts +12 -0
  45. package/cjs/components/pagination/Pagination.js +7 -3
  46. package/cjs/components/pagination/Pagination.js.map +1 -1
  47. package/cjs/components/pagination/PaginationBar.d.ts +2 -1
  48. package/cjs/components/pagination/PaginationBar.js +10 -3
  49. package/cjs/components/pagination/PaginationBar.js.map +1 -1
  50. package/cjs/components/radio/style/dnb-radio.css +3 -3
  51. package/cjs/components/radio/style/dnb-radio.min.css +1 -1
  52. package/cjs/components/space/style/dnb-space.css +4 -4
  53. package/cjs/components/space/style/dnb-space.min.css +1 -1
  54. package/cjs/components/space/style/dnb-space.scss +2 -12
  55. package/cjs/components/space/style/space-mixins.scss +21 -0
  56. package/cjs/components/tabs/Tabs.d.ts +1 -1
  57. package/cjs/components/tabs/Tabs.js +4 -12
  58. package/cjs/components/tabs/Tabs.js.map +1 -1
  59. package/cjs/components/toggle-button/ToggleButton.d.ts +9 -5
  60. package/cjs/components/toggle-button/ToggleButton.js +2 -0
  61. package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
  62. package/cjs/components/toggle-button/ToggleButtonDocs.d.ts +2 -0
  63. package/cjs/components/toggle-button/ToggleButtonDocs.js +87 -0
  64. package/cjs/components/toggle-button/ToggleButtonDocs.js.map +1 -0
  65. package/cjs/components/toggle-button/ToggleButtonGroup.d.ts +21 -6
  66. package/cjs/components/toggle-button/ToggleButtonGroupDocs.d.ts +2 -0
  67. package/cjs/components/toggle-button/ToggleButtonGroupDocs.js +90 -0
  68. package/cjs/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -0
  69. package/cjs/components/toggle-button/style/dnb-toggle-button.css +3 -3
  70. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  71. package/cjs/elements/blockquote/style/blockquote-mixins.scss +5 -3
  72. package/cjs/elements/code/style/code-mixins.scss +2 -3
  73. package/cjs/elements/hr/style/hr-mixins.scss +2 -3
  74. package/cjs/elements/img/style/img-mixins.scss +3 -3
  75. package/cjs/elements/lists/style/lists-mixins.scss +3 -6
  76. package/cjs/elements/typography/style/typography-mixins.scss +2 -3
  77. package/cjs/extensions/forms/DataContext/Context.d.ts +15 -4
  78. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  79. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +1 -1
  80. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  81. package/cjs/extensions/forms/DataContext/Provider/Provider.js +28 -17
  82. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  83. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -3
  84. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  85. package/cjs/extensions/forms/Field/Date/Date.js +5 -4
  86. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  87. package/cjs/extensions/forms/Field/Expiry/Expiry.js +4 -3
  88. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  89. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
  90. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  91. package/cjs/extensions/forms/Field/Number/Number.js +2 -2
  92. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  93. package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -1
  94. package/cjs/extensions/forms/Field/Option/Option.js +2 -14
  95. package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
  96. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +10 -5
  97. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  98. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +4 -3
  99. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +12 -4
  100. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  101. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +8 -1
  102. package/cjs/extensions/forms/Field/Selection/Selection.js +19 -12
  103. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  104. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +5 -0
  105. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  106. package/cjs/extensions/forms/Field/Slider/Slider.js +4 -3
  107. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
  108. package/cjs/extensions/forms/Field/String/String.js +2 -2
  109. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  110. package/cjs/extensions/forms/Field/Toggle/Toggle.js +14 -4
  111. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  112. package/cjs/extensions/forms/Field/Upload/Upload.js +21 -21
  113. package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
  114. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +14 -38
  115. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  116. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  117. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  118. package/cjs/extensions/forms/Form/Isolation/Isolation.js +17 -3
  119. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  120. package/cjs/extensions/forms/Form/MainHeading/MainHeadingDocs.d.ts +2 -0
  121. package/cjs/extensions/forms/Form/MainHeading/MainHeadingDocs.js +27 -0
  122. package/cjs/extensions/forms/Form/MainHeading/MainHeadingDocs.js.map +1 -0
  123. package/cjs/extensions/forms/Form/Section/EditContainer/CancelButton.js +7 -18
  124. package/cjs/extensions/forms/Form/Section/EditContainer/CancelButton.js.map +1 -1
  125. package/cjs/extensions/forms/Form/SubHeading/SubHeadingDocs.d.ts +2 -0
  126. package/cjs/extensions/forms/Form/SubHeading/SubHeadingDocs.js +27 -0
  127. package/cjs/extensions/forms/Form/SubHeading/SubHeadingDocs.js.map +1 -0
  128. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +11 -1
  129. package/cjs/extensions/forms/Form/Visibility/Visibility.js +18 -10
  130. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  131. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -0
  132. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  133. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  134. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  135. package/cjs/extensions/forms/Form/Visibility/useVisibility.js +18 -9
  136. package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  137. package/cjs/extensions/forms/Iterate/Array/Array.js +49 -29
  138. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  139. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +14 -4
  140. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  141. package/cjs/extensions/forms/Iterate/Array/types.d.ts +8 -3
  142. package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
  143. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -15
  144. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  145. package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js +10 -1
  146. package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  147. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -3
  148. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  149. package/cjs/extensions/forms/Iterate/ItemNo/useIItemNo.d.ts +5 -0
  150. package/cjs/extensions/forms/Iterate/ItemNo/useIItemNo.js +50 -0
  151. package/cjs/extensions/forms/Iterate/ItemNo/useIItemNo.js.map +1 -0
  152. package/cjs/extensions/forms/Iterate/IterateItemContext.d.ts +2 -0
  153. package/cjs/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  154. package/cjs/extensions/forms/Iterate/PushButton/PushButton.d.ts +1 -0
  155. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +16 -14
  156. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  157. package/cjs/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
  158. package/cjs/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
  159. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +17 -1
  160. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +30 -15
  161. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  162. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +1 -0
  163. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -1
  164. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +10 -0
  165. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  166. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +7 -6
  167. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  168. package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -0
  169. package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  170. package/cjs/extensions/forms/Iterate/Visibility/Visibility.d.ts +7 -0
  171. package/cjs/extensions/forms/Iterate/Visibility/Visibility.js +31 -0
  172. package/cjs/extensions/forms/Iterate/Visibility/Visibility.js.map +1 -0
  173. package/cjs/extensions/forms/Iterate/Visibility/index.d.ts +2 -0
  174. package/cjs/extensions/forms/Iterate/Visibility/index.js +27 -0
  175. package/cjs/extensions/forms/Iterate/Visibility/index.js.map +1 -0
  176. package/cjs/extensions/forms/Iterate/hooks/index.d.ts +1 -0
  177. package/cjs/extensions/forms/Iterate/hooks/index.js +7 -0
  178. package/cjs/extensions/forms/Iterate/hooks/index.js.map +1 -1
  179. package/cjs/extensions/forms/Iterate/hooks/useArrayLimit.d.ts +1 -3
  180. package/cjs/extensions/forms/Iterate/hooks/useArrayLimit.js +1 -4
  181. package/cjs/extensions/forms/Iterate/hooks/useArrayLimit.js.map +1 -1
  182. package/cjs/extensions/forms/Iterate/hooks/useItemPath.d.ts +4 -0
  183. package/cjs/extensions/forms/Iterate/hooks/useItemPath.js +22 -0
  184. package/cjs/extensions/forms/Iterate/hooks/useItemPath.js.map +1 -0
  185. package/cjs/extensions/forms/Iterate/hooks/useSwitchContainerMode.d.ts +1 -3
  186. package/cjs/extensions/forms/Iterate/hooks/useSwitchContainerMode.js +1 -4
  187. package/cjs/extensions/forms/Iterate/hooks/useSwitchContainerMode.js.map +1 -1
  188. package/cjs/extensions/forms/Iterate/index.d.ts +1 -0
  189. package/cjs/extensions/forms/Iterate/index.js +7 -0
  190. package/cjs/extensions/forms/Iterate/index.js.map +1 -1
  191. package/cjs/extensions/forms/Tools/GenerateSchema.js +15 -9
  192. package/cjs/extensions/forms/Tools/GenerateSchema.js.map +1 -1
  193. package/cjs/extensions/forms/Tools/ListAllProps.js +11 -7
  194. package/cjs/extensions/forms/Tools/ListAllProps.js.map +1 -1
  195. package/cjs/extensions/forms/Tools/Log.js +2 -1
  196. package/cjs/extensions/forms/Tools/Log.js.map +1 -1
  197. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js +4 -4
  198. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  199. package/cjs/extensions/forms/Value/Selection/Selection.js +5 -5
  200. package/cjs/extensions/forms/Value/Selection/Selection.js.map +1 -1
  201. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +25 -7
  202. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  203. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +6 -1
  204. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  205. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +22 -10
  206. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +6 -3
  207. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  208. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +2 -1
  209. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +4 -3
  210. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -1
  211. package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.js +9 -9
  212. package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
  213. package/cjs/extensions/forms/hooks/useDataValue.d.ts +2 -2
  214. package/cjs/extensions/forms/hooks/useDataValue.js +5 -9
  215. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  216. package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
  217. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +8 -2
  218. package/cjs/extensions/forms/hooks/useFieldProps.js +164 -76
  219. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  220. package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
  221. package/cjs/extensions/forms/hooks/useValueProps.js +5 -5
  222. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  223. package/cjs/extensions/forms/style/dnb-forms.css +9 -4
  224. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  225. package/cjs/extensions/forms/types.d.ts +33 -6
  226. package/cjs/extensions/forms/types.js.map +1 -1
  227. package/cjs/extensions/forms/utils/json-pointer/json-pointer.js +8 -0
  228. package/cjs/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
  229. package/cjs/extensions/payment-card/PaymentCard.js +3 -12
  230. package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
  231. package/cjs/fragments/drawer-list/DrawerList.d.ts +4 -2
  232. package/cjs/fragments/drawer-list/DrawerList.js +33 -47
  233. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  234. package/cjs/fragments/drawer-list/DrawerListDocs.js +3 -3
  235. package/cjs/fragments/drawer-list/DrawerListDocs.js.map +1 -1
  236. package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +1 -1
  237. package/cjs/shared/AlignmentHelper.js +0 -4
  238. package/cjs/shared/AlignmentHelper.js.map +1 -1
  239. package/cjs/shared/Eufemia.d.ts +1 -1
  240. package/cjs/shared/Eufemia.js +2 -2
  241. package/cjs/shared/Eufemia.js.map +1 -1
  242. package/cjs/shared/component-helper.js +2 -1
  243. package/cjs/shared/component-helper.js.map +1 -1
  244. package/cjs/style/core/scopes.scss +1 -1
  245. package/cjs/style/core/utilities.scss +3 -12
  246. package/cjs/style/dnb-ui-basis.css +1 -1
  247. package/cjs/style/dnb-ui-basis.min.css +1 -1
  248. package/cjs/style/dnb-ui-body.css +1 -1
  249. package/cjs/style/dnb-ui-body.min.css +1 -1
  250. package/cjs/style/dnb-ui-components.css +90 -76
  251. package/cjs/style/dnb-ui-components.min.css +4 -4
  252. package/cjs/style/dnb-ui-core.css +1 -1
  253. package/cjs/style/dnb-ui-core.min.css +1 -1
  254. package/cjs/style/dnb-ui-elements.css +151 -31
  255. package/cjs/style/dnb-ui-elements.min.css +1 -1
  256. package/cjs/style/dnb-ui-extensions.css +9 -4
  257. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  258. package/cjs/style/dnb-ui-forms.css +9 -4
  259. package/cjs/style/dnb-ui-forms.min.css +1 -1
  260. package/cjs/style/dnb-ui-fragments.css +1 -1
  261. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  262. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +151 -31
  263. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  264. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +99 -80
  265. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  266. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +151 -31
  267. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  268. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +9 -4
  269. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  270. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +9 -4
  271. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  272. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +151 -31
  273. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  274. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +99 -80
  275. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  276. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +151 -31
  277. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  278. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +9 -4
  279. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  280. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +9 -4
  281. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  282. package/cjs/style/themes/theme-ui/ui-theme-basis.css +151 -31
  283. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  284. package/cjs/style/themes/theme-ui/ui-theme-components.css +99 -80
  285. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  286. package/cjs/style/themes/theme-ui/ui-theme-elements.css +151 -31
  287. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  288. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +9 -4
  289. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  290. package/cjs/style/themes/theme-ui/ui-theme-forms.css +9 -4
  291. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  292. package/cjs/style/themes/theme-ui/ui-theme-tags.css +100 -19
  293. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  294. package/components/accordion/Accordion.d.ts +1 -125
  295. package/components/accordion/Accordion.js +0 -1
  296. package/components/accordion/Accordion.js.map +1 -1
  297. package/components/autocomplete/Autocomplete.js +3 -2
  298. package/components/autocomplete/Autocomplete.js.map +1 -1
  299. package/components/button/Button.d.ts +3 -6
  300. package/components/button/Button.js +8 -18
  301. package/components/button/Button.js.map +1 -1
  302. package/components/button/ButtonDocs.d.ts +2 -0
  303. package/components/button/ButtonDocs.js +128 -0
  304. package/components/button/ButtonDocs.js.map +1 -0
  305. package/components/date-picker/DatePicker.d.ts +4 -0
  306. package/components/date-picker/DatePicker.js +25 -11
  307. package/components/date-picker/DatePicker.js.map +1 -1
  308. package/components/date-picker/DatePickerDocs.js +5 -0
  309. package/components/date-picker/DatePickerDocs.js.map +1 -1
  310. package/components/date-picker/DatePickerPortal.d.ts +9 -0
  311. package/components/date-picker/DatePickerPortal.js +53 -0
  312. package/components/date-picker/DatePickerPortal.js.map +1 -0
  313. package/components/date-picker/style/dnb-date-picker.css +64 -55
  314. package/components/date-picker/style/dnb-date-picker.min.css +1 -1
  315. package/components/date-picker/style/dnb-date-picker.scss +90 -75
  316. package/components/form-row/FormRow.js +2 -7
  317. package/components/form-row/FormRow.js.map +1 -1
  318. package/components/form-row/style/dnb-form-row.css +3 -3
  319. package/components/form-row/style/dnb-form-row.min.css +1 -1
  320. package/components/form-status/FormStatus.js +17 -19
  321. package/components/form-status/FormStatus.js.map +1 -1
  322. package/components/height-animation/HeightAnimationInstance.d.ts +1 -0
  323. package/components/height-animation/HeightAnimationInstance.js +26 -1
  324. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  325. package/components/input-masked/InputMasked.d.ts +1 -1
  326. package/components/input-masked/InputMasked.js +2 -2
  327. package/components/input-masked/InputMasked.js.map +1 -1
  328. package/components/input-masked/InputMaskedDocs.js +1 -1
  329. package/components/input-masked/InputMaskedDocs.js.map +1 -1
  330. package/components/input-masked/InputMaskedHooks.js +1 -1
  331. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  332. package/components/input-masked/InputMaskedUtils.js +1 -1
  333. package/components/input-masked/InputMaskedUtils.js.map +1 -1
  334. package/components/input-masked/style/dnb-input-masked.css +3 -3
  335. package/components/input-masked/style/dnb-input-masked.min.css +1 -1
  336. package/components/pagination/Pagination.d.ts +12 -0
  337. package/components/pagination/Pagination.js +7 -3
  338. package/components/pagination/Pagination.js.map +1 -1
  339. package/components/pagination/PaginationBar.d.ts +2 -1
  340. package/components/pagination/PaginationBar.js +10 -3
  341. package/components/pagination/PaginationBar.js.map +1 -1
  342. package/components/radio/style/dnb-radio.css +3 -3
  343. package/components/radio/style/dnb-radio.min.css +1 -1
  344. package/components/space/style/dnb-space.css +4 -4
  345. package/components/space/style/dnb-space.min.css +1 -1
  346. package/components/space/style/dnb-space.scss +2 -12
  347. package/components/space/style/space-mixins.scss +21 -0
  348. package/components/tabs/Tabs.d.ts +1 -1
  349. package/components/tabs/Tabs.js +4 -12
  350. package/components/tabs/Tabs.js.map +1 -1
  351. package/components/toggle-button/ToggleButton.d.ts +9 -5
  352. package/components/toggle-button/ToggleButton.js +2 -0
  353. package/components/toggle-button/ToggleButton.js.map +1 -1
  354. package/components/toggle-button/ToggleButtonDocs.d.ts +2 -0
  355. package/components/toggle-button/ToggleButtonDocs.js +80 -0
  356. package/components/toggle-button/ToggleButtonDocs.js.map +1 -0
  357. package/components/toggle-button/ToggleButtonGroup.d.ts +21 -6
  358. package/components/toggle-button/ToggleButtonGroupDocs.d.ts +2 -0
  359. package/components/toggle-button/ToggleButtonGroupDocs.js +83 -0
  360. package/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -0
  361. package/components/toggle-button/style/dnb-toggle-button.css +3 -3
  362. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  363. package/elements/blockquote/style/blockquote-mixins.scss +5 -3
  364. package/elements/code/style/code-mixins.scss +2 -3
  365. package/elements/hr/style/hr-mixins.scss +2 -3
  366. package/elements/img/style/img-mixins.scss +3 -3
  367. package/elements/lists/style/lists-mixins.scss +3 -6
  368. package/elements/typography/style/typography-mixins.scss +2 -3
  369. package/es/components/accordion/Accordion.d.ts +1 -125
  370. package/es/components/accordion/Accordion.js +0 -1
  371. package/es/components/accordion/Accordion.js.map +1 -1
  372. package/es/components/autocomplete/Autocomplete.js +3 -2
  373. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  374. package/es/components/button/Button.d.ts +3 -6
  375. package/es/components/button/Button.js +8 -18
  376. package/es/components/button/Button.js.map +1 -1
  377. package/es/components/button/ButtonDocs.d.ts +2 -0
  378. package/es/components/button/ButtonDocs.js +128 -0
  379. package/es/components/button/ButtonDocs.js.map +1 -0
  380. package/es/components/date-picker/DatePicker.d.ts +4 -0
  381. package/es/components/date-picker/DatePicker.js +25 -11
  382. package/es/components/date-picker/DatePicker.js.map +1 -1
  383. package/es/components/date-picker/DatePickerDocs.js +5 -0
  384. package/es/components/date-picker/DatePickerDocs.js.map +1 -1
  385. package/es/components/date-picker/DatePickerPortal.d.ts +9 -0
  386. package/es/components/date-picker/DatePickerPortal.js +52 -0
  387. package/es/components/date-picker/DatePickerPortal.js.map +1 -0
  388. package/es/components/date-picker/style/dnb-date-picker.css +64 -55
  389. package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
  390. package/es/components/date-picker/style/dnb-date-picker.scss +90 -75
  391. package/es/components/form-row/FormRow.js +2 -7
  392. package/es/components/form-row/FormRow.js.map +1 -1
  393. package/es/components/form-row/style/dnb-form-row.css +3 -3
  394. package/es/components/form-row/style/dnb-form-row.min.css +1 -1
  395. package/es/components/form-status/FormStatus.js +17 -19
  396. package/es/components/form-status/FormStatus.js.map +1 -1
  397. package/es/components/height-animation/HeightAnimationInstance.d.ts +1 -0
  398. package/es/components/height-animation/HeightAnimationInstance.js +26 -1
  399. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  400. package/es/components/input-masked/InputMasked.d.ts +1 -1
  401. package/es/components/input-masked/InputMasked.js +2 -2
  402. package/es/components/input-masked/InputMasked.js.map +1 -1
  403. package/es/components/input-masked/InputMaskedDocs.js +1 -1
  404. package/es/components/input-masked/InputMaskedDocs.js.map +1 -1
  405. package/es/components/input-masked/InputMaskedHooks.js +1 -1
  406. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  407. package/es/components/input-masked/InputMaskedUtils.js +1 -1
  408. package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
  409. package/es/components/input-masked/style/dnb-input-masked.css +3 -3
  410. package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
  411. package/es/components/pagination/Pagination.d.ts +12 -0
  412. package/es/components/pagination/Pagination.js +7 -3
  413. package/es/components/pagination/Pagination.js.map +1 -1
  414. package/es/components/pagination/PaginationBar.d.ts +2 -1
  415. package/es/components/pagination/PaginationBar.js +10 -3
  416. package/es/components/pagination/PaginationBar.js.map +1 -1
  417. package/es/components/radio/style/dnb-radio.css +3 -3
  418. package/es/components/radio/style/dnb-radio.min.css +1 -1
  419. package/es/components/space/style/dnb-space.css +4 -4
  420. package/es/components/space/style/dnb-space.min.css +1 -1
  421. package/es/components/space/style/dnb-space.scss +2 -12
  422. package/es/components/space/style/space-mixins.scss +21 -0
  423. package/es/components/tabs/Tabs.d.ts +1 -1
  424. package/es/components/tabs/Tabs.js +4 -12
  425. package/es/components/tabs/Tabs.js.map +1 -1
  426. package/es/components/toggle-button/ToggleButton.d.ts +9 -5
  427. package/es/components/toggle-button/ToggleButton.js +2 -0
  428. package/es/components/toggle-button/ToggleButton.js.map +1 -1
  429. package/es/components/toggle-button/ToggleButtonDocs.d.ts +2 -0
  430. package/es/components/toggle-button/ToggleButtonDocs.js +80 -0
  431. package/es/components/toggle-button/ToggleButtonDocs.js.map +1 -0
  432. package/es/components/toggle-button/ToggleButtonGroup.d.ts +21 -6
  433. package/es/components/toggle-button/ToggleButtonGroupDocs.d.ts +2 -0
  434. package/es/components/toggle-button/ToggleButtonGroupDocs.js +83 -0
  435. package/es/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -0
  436. package/es/components/toggle-button/style/dnb-toggle-button.css +3 -3
  437. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  438. package/es/elements/blockquote/style/blockquote-mixins.scss +5 -3
  439. package/es/elements/code/style/code-mixins.scss +2 -3
  440. package/es/elements/hr/style/hr-mixins.scss +2 -3
  441. package/es/elements/img/style/img-mixins.scss +3 -3
  442. package/es/elements/lists/style/lists-mixins.scss +3 -6
  443. package/es/elements/typography/style/typography-mixins.scss +2 -3
  444. package/es/extensions/forms/DataContext/Context.d.ts +15 -4
  445. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  446. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +1 -1
  447. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  448. package/es/extensions/forms/DataContext/Provider/Provider.js +27 -16
  449. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  450. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -3
  451. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  452. package/es/extensions/forms/Field/Date/Date.js +5 -4
  453. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  454. package/es/extensions/forms/Field/Expiry/Expiry.js +4 -3
  455. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  456. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
  457. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  458. package/es/extensions/forms/Field/Number/Number.js +2 -2
  459. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  460. package/es/extensions/forms/Field/Option/Option.d.ts +2 -1
  461. package/es/extensions/forms/Field/Option/Option.js +2 -12
  462. package/es/extensions/forms/Field/Option/Option.js.map +1 -1
  463. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +10 -5
  464. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  465. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +4 -3
  466. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +12 -4
  467. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  468. package/es/extensions/forms/Field/Selection/Selection.d.ts +8 -1
  469. package/es/extensions/forms/Field/Selection/Selection.js +22 -14
  470. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  471. package/es/extensions/forms/Field/Selection/SelectionDocs.js +5 -0
  472. package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  473. package/es/extensions/forms/Field/Slider/Slider.js +4 -3
  474. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
  475. package/es/extensions/forms/Field/String/String.js +2 -2
  476. package/es/extensions/forms/Field/String/String.js.map +1 -1
  477. package/es/extensions/forms/Field/Toggle/Toggle.js +14 -4
  478. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  479. package/es/extensions/forms/Field/Upload/Upload.js +21 -20
  480. package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
  481. package/es/extensions/forms/FieldBlock/FieldBlock.js +14 -38
  482. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  483. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  484. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  485. package/es/extensions/forms/Form/Isolation/Isolation.js +17 -3
  486. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  487. package/es/extensions/forms/Form/MainHeading/MainHeadingDocs.d.ts +2 -0
  488. package/es/extensions/forms/Form/MainHeading/MainHeadingDocs.js +20 -0
  489. package/es/extensions/forms/Form/MainHeading/MainHeadingDocs.js.map +1 -0
  490. package/es/extensions/forms/Form/Section/EditContainer/CancelButton.js +7 -18
  491. package/es/extensions/forms/Form/Section/EditContainer/CancelButton.js.map +1 -1
  492. package/es/extensions/forms/Form/SubHeading/SubHeadingDocs.d.ts +2 -0
  493. package/es/extensions/forms/Form/SubHeading/SubHeadingDocs.js +20 -0
  494. package/es/extensions/forms/Form/SubHeading/SubHeadingDocs.js.map +1 -0
  495. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +11 -1
  496. package/es/extensions/forms/Form/Visibility/Visibility.js +20 -11
  497. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  498. package/es/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -0
  499. package/es/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  500. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  501. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  502. package/es/extensions/forms/Form/Visibility/useVisibility.js +18 -9
  503. package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  504. package/es/extensions/forms/Iterate/Array/Array.js +47 -28
  505. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  506. package/es/extensions/forms/Iterate/Array/ArrayDocs.js +14 -4
  507. package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  508. package/es/extensions/forms/Iterate/Array/types.d.ts +8 -3
  509. package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
  510. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -15
  511. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  512. package/es/extensions/forms/Iterate/EditContainer/DoneButton.js +9 -1
  513. package/es/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  514. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -3
  515. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  516. package/es/extensions/forms/Iterate/ItemNo/useIItemNo.d.ts +5 -0
  517. package/es/extensions/forms/Iterate/ItemNo/useIItemNo.js +41 -0
  518. package/es/extensions/forms/Iterate/ItemNo/useIItemNo.js.map +1 -0
  519. package/es/extensions/forms/Iterate/IterateItemContext.d.ts +2 -0
  520. package/es/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  521. package/es/extensions/forms/Iterate/PushButton/PushButton.d.ts +1 -0
  522. package/es/extensions/forms/Iterate/PushButton/PushButton.js +17 -15
  523. package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  524. package/es/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
  525. package/es/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
  526. package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +17 -1
  527. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +32 -17
  528. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  529. package/es/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +1 -0
  530. package/es/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -1
  531. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +10 -0
  532. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  533. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +7 -6
  534. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  535. package/es/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -0
  536. package/es/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  537. package/es/extensions/forms/Iterate/Visibility/Visibility.d.ts +7 -0
  538. package/es/extensions/forms/Iterate/Visibility/Visibility.js +11 -0
  539. package/es/extensions/forms/Iterate/Visibility/Visibility.js.map +1 -0
  540. package/es/extensions/forms/Iterate/Visibility/index.d.ts +2 -0
  541. package/es/extensions/forms/Iterate/Visibility/index.js +3 -0
  542. package/es/extensions/forms/Iterate/Visibility/index.js.map +1 -0
  543. package/es/extensions/forms/Iterate/hooks/index.d.ts +1 -0
  544. package/es/extensions/forms/Iterate/hooks/index.js +1 -0
  545. package/es/extensions/forms/Iterate/hooks/index.js.map +1 -1
  546. package/es/extensions/forms/Iterate/hooks/useArrayLimit.d.ts +1 -3
  547. package/es/extensions/forms/Iterate/hooks/useArrayLimit.js +1 -3
  548. package/es/extensions/forms/Iterate/hooks/useArrayLimit.js.map +1 -1
  549. package/es/extensions/forms/Iterate/hooks/useItemPath.d.ts +4 -0
  550. package/es/extensions/forms/Iterate/hooks/useItemPath.js +16 -0
  551. package/es/extensions/forms/Iterate/hooks/useItemPath.js.map +1 -0
  552. package/es/extensions/forms/Iterate/hooks/useSwitchContainerMode.d.ts +1 -3
  553. package/es/extensions/forms/Iterate/hooks/useSwitchContainerMode.js +1 -3
  554. package/es/extensions/forms/Iterate/hooks/useSwitchContainerMode.js.map +1 -1
  555. package/es/extensions/forms/Iterate/index.d.ts +1 -0
  556. package/es/extensions/forms/Iterate/index.js +1 -0
  557. package/es/extensions/forms/Iterate/index.js.map +1 -1
  558. package/es/extensions/forms/Tools/GenerateSchema.js +12 -6
  559. package/es/extensions/forms/Tools/GenerateSchema.js.map +1 -1
  560. package/es/extensions/forms/Tools/ListAllProps.js +9 -5
  561. package/es/extensions/forms/Tools/ListAllProps.js.map +1 -1
  562. package/es/extensions/forms/Tools/Log.js +2 -1
  563. package/es/extensions/forms/Tools/Log.js.map +1 -1
  564. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js +4 -4
  565. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  566. package/es/extensions/forms/Value/Selection/Selection.js +5 -5
  567. package/es/extensions/forms/Value/Selection/Selection.js.map +1 -1
  568. package/es/extensions/forms/ValueBlock/ValueBlock.js +26 -9
  569. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  570. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +6 -1
  571. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  572. package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +22 -10
  573. package/es/extensions/forms/Wizard/Container/WizardContainer.js +6 -3
  574. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  575. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +2 -1
  576. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +4 -3
  577. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -1
  578. package/es/extensions/forms/hooks/DataValueWritePropsDocs.js +9 -9
  579. package/es/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
  580. package/es/extensions/forms/hooks/useDataValue.d.ts +2 -2
  581. package/es/extensions/forms/hooks/useDataValue.js +4 -8
  582. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  583. package/es/extensions/forms/hooks/useExternalValue.js +2 -2
  584. package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
  585. package/es/extensions/forms/hooks/useFieldProps.d.ts +8 -2
  586. package/es/extensions/forms/hooks/useFieldProps.js +163 -76
  587. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  588. package/es/extensions/forms/hooks/usePath.js +2 -2
  589. package/es/extensions/forms/hooks/usePath.js.map +1 -1
  590. package/es/extensions/forms/hooks/useValueProps.js +5 -5
  591. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  592. package/es/extensions/forms/style/dnb-forms.css +9 -4
  593. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  594. package/es/extensions/forms/types.d.ts +33 -6
  595. package/es/extensions/forms/types.js.map +1 -1
  596. package/es/extensions/forms/utils/json-pointer/json-pointer.js +6 -0
  597. package/es/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
  598. package/es/extensions/payment-card/PaymentCard.js +3 -12
  599. package/es/extensions/payment-card/PaymentCard.js.map +1 -1
  600. package/es/fragments/drawer-list/DrawerList.d.ts +4 -2
  601. package/es/fragments/drawer-list/DrawerList.js +33 -47
  602. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  603. package/es/fragments/drawer-list/DrawerListDocs.js +3 -3
  604. package/es/fragments/drawer-list/DrawerListDocs.js.map +1 -1
  605. package/es/fragments/drawer-list/style/dnb-drawer-list.scss +1 -1
  606. package/es/shared/AlignmentHelper.js +0 -4
  607. package/es/shared/AlignmentHelper.js.map +1 -1
  608. package/es/shared/Eufemia.d.ts +1 -1
  609. package/es/shared/Eufemia.js +2 -2
  610. package/es/shared/Eufemia.js.map +1 -1
  611. package/es/shared/component-helper.js +2 -1
  612. package/es/shared/component-helper.js.map +1 -1
  613. package/es/style/core/scopes.scss +1 -1
  614. package/es/style/core/utilities.scss +3 -12
  615. package/es/style/dnb-ui-basis.css +1 -1
  616. package/es/style/dnb-ui-basis.min.css +1 -1
  617. package/es/style/dnb-ui-body.css +1 -1
  618. package/es/style/dnb-ui-body.min.css +1 -1
  619. package/es/style/dnb-ui-components.css +90 -76
  620. package/es/style/dnb-ui-components.min.css +4 -4
  621. package/es/style/dnb-ui-core.css +1 -1
  622. package/es/style/dnb-ui-core.min.css +1 -1
  623. package/es/style/dnb-ui-elements.css +151 -31
  624. package/es/style/dnb-ui-elements.min.css +1 -1
  625. package/es/style/dnb-ui-extensions.css +9 -4
  626. package/es/style/dnb-ui-extensions.min.css +1 -1
  627. package/es/style/dnb-ui-forms.css +9 -4
  628. package/es/style/dnb-ui-forms.min.css +1 -1
  629. package/es/style/dnb-ui-fragments.css +1 -1
  630. package/es/style/dnb-ui-fragments.min.css +1 -1
  631. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +151 -31
  632. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  633. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +99 -80
  634. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  635. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +151 -31
  636. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  637. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +9 -4
  638. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  639. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +9 -4
  640. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  641. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +151 -31
  642. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  643. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +99 -80
  644. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  645. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +151 -31
  646. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  647. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +9 -4
  648. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  649. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +9 -4
  650. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  651. package/es/style/themes/theme-ui/ui-theme-basis.css +151 -31
  652. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  653. package/es/style/themes/theme-ui/ui-theme-components.css +99 -80
  654. package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  655. package/es/style/themes/theme-ui/ui-theme-elements.css +151 -31
  656. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  657. package/es/style/themes/theme-ui/ui-theme-extensions.css +9 -4
  658. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  659. package/es/style/themes/theme-ui/ui-theme-forms.css +9 -4
  660. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  661. package/es/style/themes/theme-ui/ui-theme-tags.css +100 -19
  662. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  663. package/esm/dnb-ui-basis.min.mjs +1 -1
  664. package/esm/dnb-ui-components.min.mjs +1 -1
  665. package/esm/dnb-ui-elements.min.mjs +1 -1
  666. package/esm/dnb-ui-extensions.min.mjs +5 -5
  667. package/esm/dnb-ui-lib.min.mjs +1 -1
  668. package/extensions/forms/DataContext/Context.d.ts +15 -4
  669. package/extensions/forms/DataContext/Context.js.map +1 -1
  670. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +1 -1
  671. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  672. package/extensions/forms/DataContext/Provider/Provider.js +28 -17
  673. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  674. package/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -3
  675. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  676. package/extensions/forms/Field/Date/Date.js +5 -4
  677. package/extensions/forms/Field/Date/Date.js.map +1 -1
  678. package/extensions/forms/Field/Expiry/Expiry.js +4 -3
  679. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  680. package/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
  681. package/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  682. package/extensions/forms/Field/Number/Number.js +2 -2
  683. package/extensions/forms/Field/Number/Number.js.map +1 -1
  684. package/extensions/forms/Field/Option/Option.d.ts +2 -1
  685. package/extensions/forms/Field/Option/Option.js +2 -13
  686. package/extensions/forms/Field/Option/Option.js.map +1 -1
  687. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +10 -5
  688. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  689. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +4 -3
  690. package/extensions/forms/Field/SelectCountry/SelectCountry.js +12 -4
  691. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  692. package/extensions/forms/Field/Selection/Selection.d.ts +8 -1
  693. package/extensions/forms/Field/Selection/Selection.js +19 -12
  694. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  695. package/extensions/forms/Field/Selection/SelectionDocs.js +5 -0
  696. package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  697. package/extensions/forms/Field/Slider/Slider.js +4 -3
  698. package/extensions/forms/Field/Slider/Slider.js.map +1 -1
  699. package/extensions/forms/Field/String/String.js +2 -2
  700. package/extensions/forms/Field/String/String.js.map +1 -1
  701. package/extensions/forms/Field/Toggle/Toggle.js +14 -4
  702. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  703. package/extensions/forms/Field/Upload/Upload.js +21 -21
  704. package/extensions/forms/Field/Upload/Upload.js.map +1 -1
  705. package/extensions/forms/FieldBlock/FieldBlock.js +14 -38
  706. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  707. package/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  708. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  709. package/extensions/forms/Form/Isolation/Isolation.js +17 -3
  710. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  711. package/extensions/forms/Form/MainHeading/MainHeadingDocs.d.ts +2 -0
  712. package/extensions/forms/Form/MainHeading/MainHeadingDocs.js +20 -0
  713. package/extensions/forms/Form/MainHeading/MainHeadingDocs.js.map +1 -0
  714. package/extensions/forms/Form/Section/EditContainer/CancelButton.js +7 -18
  715. package/extensions/forms/Form/Section/EditContainer/CancelButton.js.map +1 -1
  716. package/extensions/forms/Form/SubHeading/SubHeadingDocs.d.ts +2 -0
  717. package/extensions/forms/Form/SubHeading/SubHeadingDocs.js +20 -0
  718. package/extensions/forms/Form/SubHeading/SubHeadingDocs.js.map +1 -0
  719. package/extensions/forms/Form/Visibility/Visibility.d.ts +11 -1
  720. package/extensions/forms/Form/Visibility/Visibility.js +20 -11
  721. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  722. package/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -0
  723. package/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  724. package/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  725. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  726. package/extensions/forms/Form/Visibility/useVisibility.js +18 -9
  727. package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  728. package/extensions/forms/Iterate/Array/Array.js +50 -30
  729. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  730. package/extensions/forms/Iterate/Array/ArrayDocs.js +14 -4
  731. package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  732. package/extensions/forms/Iterate/Array/types.d.ts +8 -3
  733. package/extensions/forms/Iterate/Array/types.js.map +1 -1
  734. package/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -15
  735. package/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  736. package/extensions/forms/Iterate/EditContainer/DoneButton.js +9 -1
  737. package/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  738. package/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -3
  739. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  740. package/extensions/forms/Iterate/ItemNo/useIItemNo.d.ts +5 -0
  741. package/extensions/forms/Iterate/ItemNo/useIItemNo.js +42 -0
  742. package/extensions/forms/Iterate/ItemNo/useIItemNo.js.map +1 -0
  743. package/extensions/forms/Iterate/IterateItemContext.d.ts +2 -0
  744. package/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  745. package/extensions/forms/Iterate/PushButton/PushButton.d.ts +1 -0
  746. package/extensions/forms/Iterate/PushButton/PushButton.js +17 -15
  747. package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  748. package/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
  749. package/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
  750. package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +17 -1
  751. package/extensions/forms/Iterate/PushContainer/PushContainer.js +32 -17
  752. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  753. package/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +1 -0
  754. package/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -1
  755. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +10 -0
  756. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  757. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +7 -6
  758. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  759. package/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -0
  760. package/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  761. package/extensions/forms/Iterate/Visibility/Visibility.d.ts +7 -0
  762. package/extensions/forms/Iterate/Visibility/Visibility.js +11 -0
  763. package/extensions/forms/Iterate/Visibility/Visibility.js.map +1 -0
  764. package/extensions/forms/Iterate/Visibility/index.d.ts +2 -0
  765. package/extensions/forms/Iterate/Visibility/index.js +3 -0
  766. package/extensions/forms/Iterate/Visibility/index.js.map +1 -0
  767. package/extensions/forms/Iterate/hooks/index.d.ts +1 -0
  768. package/extensions/forms/Iterate/hooks/index.js +1 -0
  769. package/extensions/forms/Iterate/hooks/index.js.map +1 -1
  770. package/extensions/forms/Iterate/hooks/useArrayLimit.d.ts +1 -3
  771. package/extensions/forms/Iterate/hooks/useArrayLimit.js +1 -4
  772. package/extensions/forms/Iterate/hooks/useArrayLimit.js.map +1 -1
  773. package/extensions/forms/Iterate/hooks/useItemPath.d.ts +4 -0
  774. package/extensions/forms/Iterate/hooks/useItemPath.js +16 -0
  775. package/extensions/forms/Iterate/hooks/useItemPath.js.map +1 -0
  776. package/extensions/forms/Iterate/hooks/useSwitchContainerMode.d.ts +1 -3
  777. package/extensions/forms/Iterate/hooks/useSwitchContainerMode.js +1 -4
  778. package/extensions/forms/Iterate/hooks/useSwitchContainerMode.js.map +1 -1
  779. package/extensions/forms/Iterate/index.d.ts +1 -0
  780. package/extensions/forms/Iterate/index.js +1 -0
  781. package/extensions/forms/Iterate/index.js.map +1 -1
  782. package/extensions/forms/Tools/GenerateSchema.js +15 -9
  783. package/extensions/forms/Tools/GenerateSchema.js.map +1 -1
  784. package/extensions/forms/Tools/ListAllProps.js +11 -7
  785. package/extensions/forms/Tools/ListAllProps.js.map +1 -1
  786. package/extensions/forms/Tools/Log.js +2 -1
  787. package/extensions/forms/Tools/Log.js.map +1 -1
  788. package/extensions/forms/Value/ArraySelection/ArraySelection.js +4 -4
  789. package/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  790. package/extensions/forms/Value/Selection/Selection.js +5 -5
  791. package/extensions/forms/Value/Selection/Selection.js.map +1 -1
  792. package/extensions/forms/ValueBlock/ValueBlock.js +27 -9
  793. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  794. package/extensions/forms/ValueBlock/style/dnb-value-block.css +6 -1
  795. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  796. package/extensions/forms/ValueBlock/style/dnb-value-block.scss +22 -10
  797. package/extensions/forms/Wizard/Container/WizardContainer.js +6 -3
  798. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  799. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +2 -1
  800. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +4 -3
  801. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -1
  802. package/extensions/forms/hooks/DataValueWritePropsDocs.js +9 -9
  803. package/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
  804. package/extensions/forms/hooks/useDataValue.d.ts +2 -2
  805. package/extensions/forms/hooks/useDataValue.js +5 -9
  806. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  807. package/extensions/forms/hooks/useExternalValue.js +2 -2
  808. package/extensions/forms/hooks/useExternalValue.js.map +1 -1
  809. package/extensions/forms/hooks/useFieldProps.d.ts +8 -2
  810. package/extensions/forms/hooks/useFieldProps.js +164 -76
  811. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  812. package/extensions/forms/hooks/usePath.js +2 -2
  813. package/extensions/forms/hooks/usePath.js.map +1 -1
  814. package/extensions/forms/hooks/useValueProps.js +5 -5
  815. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  816. package/extensions/forms/style/dnb-forms.css +9 -4
  817. package/extensions/forms/style/dnb-forms.min.css +1 -1
  818. package/extensions/forms/types.d.ts +33 -6
  819. package/extensions/forms/types.js.map +1 -1
  820. package/extensions/forms/utils/json-pointer/json-pointer.js +6 -0
  821. package/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
  822. package/extensions/payment-card/PaymentCard.js +3 -12
  823. package/extensions/payment-card/PaymentCard.js.map +1 -1
  824. package/fragments/drawer-list/DrawerList.d.ts +4 -2
  825. package/fragments/drawer-list/DrawerList.js +33 -47
  826. package/fragments/drawer-list/DrawerList.js.map +1 -1
  827. package/fragments/drawer-list/DrawerListDocs.js +3 -3
  828. package/fragments/drawer-list/DrawerListDocs.js.map +1 -1
  829. package/fragments/drawer-list/style/dnb-drawer-list.scss +1 -1
  830. package/package.json +1 -1
  831. package/shared/AlignmentHelper.js +0 -4
  832. package/shared/AlignmentHelper.js.map +1 -1
  833. package/shared/Eufemia.d.ts +1 -1
  834. package/shared/Eufemia.js +2 -2
  835. package/shared/Eufemia.js.map +1 -1
  836. package/shared/component-helper.js +2 -1
  837. package/shared/component-helper.js.map +1 -1
  838. package/style/core/scopes.scss +1 -1
  839. package/style/core/utilities.scss +3 -12
  840. package/style/dnb-ui-basis.css +1 -1
  841. package/style/dnb-ui-basis.min.css +1 -1
  842. package/style/dnb-ui-body.css +1 -1
  843. package/style/dnb-ui-body.min.css +1 -1
  844. package/style/dnb-ui-components.css +90 -76
  845. package/style/dnb-ui-components.min.css +4 -4
  846. package/style/dnb-ui-core.css +1 -1
  847. package/style/dnb-ui-core.min.css +1 -1
  848. package/style/dnb-ui-elements.css +151 -31
  849. package/style/dnb-ui-elements.min.css +1 -1
  850. package/style/dnb-ui-extensions.css +9 -4
  851. package/style/dnb-ui-extensions.min.css +1 -1
  852. package/style/dnb-ui-forms.css +9 -4
  853. package/style/dnb-ui-forms.min.css +1 -1
  854. package/style/dnb-ui-fragments.css +1 -1
  855. package/style/dnb-ui-fragments.min.css +1 -1
  856. package/style/themes/theme-eiendom/eiendom-theme-basis.css +151 -31
  857. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  858. package/style/themes/theme-eiendom/eiendom-theme-components.css +99 -80
  859. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  860. package/style/themes/theme-eiendom/eiendom-theme-elements.css +151 -31
  861. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  862. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +9 -4
  863. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  864. package/style/themes/theme-eiendom/eiendom-theme-forms.css +9 -4
  865. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  866. package/style/themes/theme-sbanken/sbanken-theme-basis.css +151 -31
  867. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  868. package/style/themes/theme-sbanken/sbanken-theme-components.css +99 -80
  869. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  870. package/style/themes/theme-sbanken/sbanken-theme-elements.css +151 -31
  871. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  872. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +9 -4
  873. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  874. package/style/themes/theme-sbanken/sbanken-theme-forms.css +9 -4
  875. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  876. package/style/themes/theme-ui/ui-theme-basis.css +151 -31
  877. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  878. package/style/themes/theme-ui/ui-theme-components.css +99 -80
  879. package/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  880. package/style/themes/theme-ui/ui-theme-elements.css +151 -31
  881. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  882. package/style/themes/theme-ui/ui-theme-extensions.css +9 -4
  883. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  884. package/style/themes/theme-ui/ui-theme-forms.css +9 -4
  885. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  886. package/style/themes/theme-ui/ui-theme-tags.css +100 -19
  887. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  888. package/umd/dnb-ui-basis.min.js +1 -1
  889. package/umd/dnb-ui-components.min.js +1 -1
  890. package/umd/dnb-ui-elements.min.js +1 -1
  891. package/umd/dnb-ui-extensions.min.js +3 -3
  892. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useDataValue.js","names":["_react","require","_jsonPointer","_interopRequireDefault","_Context","_IterateItemContext","_usePath","obj","__esModule","default","useDataValue","path","pathProp","value","arguments","length","undefined","dataContextRef","useRef","current","useContext","DataContext","iterateItemContext","IterateItemContext","makePath","makeIteratePath","usePath","get","useCallback","selector","_dataContextRef$curre","_dataContextRef$curre2","data","internalDataRef","pointer","has","getValueByPath","isPath","getValueByIteratePath","moveValueToPath","set","getData","options","includeCurrentPath","getSourceValue","source","startsWith"],"sources":["../../../../../src/extensions/forms/hooks/useDataValue.ts"],"sourcesContent":["import { useCallback, useContext, useRef } from 'react'\nimport pointer from '../utils/json-pointer'\nimport { Path } from '../types'\nimport DataContext, { ContextState } from '../DataContext/Context'\nimport IterateItemContext from '../Iterate/IterateItemContext'\nimport usePath from './usePath'\n\nexport type Props<Value> = {\n path?: Path | undefined\n value?: Value\n}\n\nexport type GetValueByPath<Value = unknown> = <T = Value>(path: Path) => T\n\nexport default function useDataValue<Value>({\n path: pathProp,\n value,\n}: Props<Value> = {}) {\n const dataContextRef = useRef<ContextState>()\n dataContextRef.current = useContext(DataContext)\n const iterateItemContext = useContext(IterateItemContext)\n\n const { makePath, makeIteratePath } = usePath()\n\n const get = useCallback((selector: Path) => {\n const data = dataContextRef.current?.internalDataRef?.current\n if (selector === '/') {\n return data\n }\n return pointer.has(data, selector)\n ? pointer.get(data, selector)\n : undefined\n }, [])\n\n const getValueByPath = useCallback(\n (path: Path) => {\n if (isPath(path)) {\n return get(makePath(path))\n }\n },\n [get, makePath]\n )\n\n const getValueByIteratePath = useCallback(\n (path: Path) => {\n if (isPath(path)) {\n return get(makeIteratePath(path))\n }\n },\n [get, makeIteratePath]\n )\n\n const moveValueToPath = useCallback(<T>(path: Path, value: T): T => {\n if (path !== '/' && isPath(path)) {\n const obj = {}\n pointer.set(obj, path, value)\n return obj as T\n }\n\n return value\n }, [])\n\n const getData = useCallback(\n (path: Path, options?: { includeCurrentPath?: boolean }) => {\n if (isPath(path)) {\n const value = getValueByPath(path)\n\n if (options?.includeCurrentPath && path !== '/') {\n return moveValueToPath(path, value)\n }\n\n return value\n }\n },\n [getValueByPath, moveValueToPath]\n )\n\n const getSourceValue = useCallback(\n (source: Path | Value) => {\n if (typeof source === 'string' && isPath(source)) {\n if (iterateItemContext) {\n return getValueByIteratePath(source)\n }\n\n return getValueByPath(source)\n }\n\n return source\n },\n [getValueByIteratePath, getValueByPath, iterateItemContext]\n )\n\n if (pathProp) {\n value = getSourceValue(pathProp)\n }\n\n return {\n getSourceValue,\n getValueByPath,\n getValueByIteratePath,\n moveValueToPath,\n getData,\n value,\n }\n}\n\nfunction isPath(path: Path | unknown) {\n return typeof path === 'string' && path.startsWith('/')\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useDataValue.js","names":["_react","require","_jsonPointer","_interopRequireDefault","_Context","_IterateItemContext","_usePath","obj","__esModule","default","useDataValue","pathProp","value","dataContextRef","useRef","current","useContext","DataContext","iterateItemContext","IterateItemContext","makePath","makeIteratePath","usePath","get","useCallback","selector","_dataContextRef$curre","_dataContextRef$curre2","data","internalDataRef","pointer","has","undefined","getValueByPath","path","isPath","getValueByIteratePath","moveValueToPath","object","arguments","length","set","getData","options","includeCurrentPath","getSourceValue","source","startsWith"],"sources":["../../../../../src/extensions/forms/hooks/useDataValue.ts"],"sourcesContent":["import { useCallback, useContext, useRef } from 'react'\nimport pointer from '../utils/json-pointer'\nimport { Path } from '../types'\nimport DataContext, { ContextState } from '../DataContext/Context'\nimport IterateItemContext from '../Iterate/IterateItemContext'\nimport usePath from './usePath'\n\nexport type Props<Value> = {\n path?: Path | undefined\n value?: Value\n}\n\nexport type GetValueByPath<Value = unknown> = <T = Value>(path: Path) => T\n\nexport default function useDataValue<Value>(\n pathProp?: Path | undefined,\n value?: Value\n) {\n const dataContextRef = useRef<ContextState>()\n dataContextRef.current = useContext(DataContext)\n const iterateItemContext = useContext(IterateItemContext)\n\n const { makePath, makeIteratePath } = usePath()\n\n const get = useCallback((selector: Path) => {\n const data = dataContextRef.current?.internalDataRef?.current\n if (selector === '/') {\n return data\n }\n return pointer.has(data, selector)\n ? pointer.get(data, selector)\n : undefined\n }, [])\n\n const getValueByPath = useCallback(\n (path: Path) => {\n if (isPath(path)) {\n return get(makePath(path))\n }\n },\n [get, makePath]\n )\n\n const getValueByIteratePath = useCallback(\n (path: Path) => {\n if (isPath(path)) {\n return get(makeIteratePath(path))\n }\n },\n [get, makeIteratePath]\n )\n\n const moveValueToPath = useCallback(\n <T>(path: Path, value: T, object = {}): T => {\n if (path !== '/' && isPath(path)) {\n pointer.set(object, path, value)\n return object as T\n }\n\n return value\n },\n []\n )\n\n const getData = useCallback(\n (path: Path, options?: { includeCurrentPath?: boolean }) => {\n if (isPath(path)) {\n const value = getValueByPath(path)\n\n if (options?.includeCurrentPath && path !== '/') {\n return moveValueToPath(path, value)\n }\n\n return value\n }\n },\n [getValueByPath, moveValueToPath]\n )\n\n const getSourceValue = useCallback(\n (source: Path | Value) => {\n if (typeof source === 'string' && isPath(source)) {\n if (iterateItemContext) {\n return getValueByIteratePath(source)\n }\n\n return getValueByPath(source)\n }\n\n return source\n },\n [getValueByIteratePath, getValueByPath, iterateItemContext]\n )\n\n if (pathProp) {\n value = getSourceValue(pathProp)\n }\n\n return {\n getSourceValue,\n getValueByPath,\n getValueByIteratePath,\n moveValueToPath,\n getData,\n value,\n }\n}\n\nfunction isPath(path: Path | unknown) {\n return typeof path === 'string' && path.startsWith('/')\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,QAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,mBAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,QAAA,GAAAH,sBAAA,CAAAF,OAAA;AAA+B,SAAAE,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAShB,SAASG,YAAYA,CAClCC,QAA2B,EAC3BC,KAAa,EACb;EACA,MAAMC,cAAc,GAAG,IAAAC,aAAM,EAAe,CAAC;EAC7CD,cAAc,CAACE,OAAO,GAAG,IAAAC,iBAAU,EAACC,gBAAW,CAAC;EAChD,MAAMC,kBAAkB,GAAG,IAAAF,iBAAU,EAACG,2BAAkB,CAAC;EAEzD,MAAM;IAAEC,QAAQ;IAAEC;EAAgB,CAAC,GAAG,IAAAC,gBAAO,EAAC,CAAC;EAE/C,MAAMC,GAAG,GAAG,IAAAC,kBAAW,EAAEC,QAAc,IAAK;IAAA,IAAAC,qBAAA,EAAAC,sBAAA;IAC1C,MAAMC,IAAI,IAAAF,qBAAA,GAAGb,cAAc,CAACE,OAAO,cAAAW,qBAAA,wBAAAC,sBAAA,GAAtBD,qBAAA,CAAwBG,eAAe,cAAAF,sBAAA,uBAAvCA,sBAAA,CAAyCZ,OAAO;IAC7D,IAAIU,QAAQ,KAAK,GAAG,EAAE;MACpB,OAAOG,IAAI;IACb;IACA,OAAOE,oBAAO,CAACC,GAAG,CAACH,IAAI,EAAEH,QAAQ,CAAC,GAC9BK,oBAAO,CAACP,GAAG,CAACK,IAAI,EAAEH,QAAQ,CAAC,GAC3BO,SAAS;EACf,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,cAAc,GAAG,IAAAT,kBAAW,EAC/BU,IAAU,IAAK;IACd,IAAIC,MAAM,CAACD,IAAI,CAAC,EAAE;MAChB,OAAOX,GAAG,CAACH,QAAQ,CAACc,IAAI,CAAC,CAAC;IAC5B;EACF,CAAC,EACD,CAACX,GAAG,EAAEH,QAAQ,CAChB,CAAC;EAED,MAAMgB,qBAAqB,GAAG,IAAAZ,kBAAW,EACtCU,IAAU,IAAK;IACd,IAAIC,MAAM,CAACD,IAAI,CAAC,EAAE;MAChB,OAAOX,GAAG,CAACF,eAAe,CAACa,IAAI,CAAC,CAAC;IACnC;EACF,CAAC,EACD,CAACX,GAAG,EAAEF,eAAe,CACvB,CAAC;EAED,MAAMgB,eAAe,GAAG,IAAAb,kBAAW,EACjC,UAAIU,IAAU,EAAEtB,KAAQ,EAAqB;IAAA,IAAnB0B,MAAM,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAP,SAAA,GAAAO,SAAA,MAAG,CAAC,CAAC;IACnC,IAAIL,IAAI,KAAK,GAAG,IAAIC,MAAM,CAACD,IAAI,CAAC,EAAE;MAChCJ,oBAAO,CAACW,GAAG,CAACH,MAAM,EAAEJ,IAAI,EAAEtB,KAAK,CAAC;MAChC,OAAO0B,MAAM;IACf;IAEA,OAAO1B,KAAK;EACd,CAAC,EACD,EACF,CAAC;EAED,MAAM8B,OAAO,GAAG,IAAAlB,kBAAW,EACzB,CAACU,IAAU,EAAES,OAA0C,KAAK;IAC1D,IAAIR,MAAM,CAACD,IAAI,CAAC,EAAE;MAChB,MAAMtB,KAAK,GAAGqB,cAAc,CAACC,IAAI,CAAC;MAElC,IAAIS,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEC,kBAAkB,IAAIV,IAAI,KAAK,GAAG,EAAE;QAC/C,OAAOG,eAAe,CAACH,IAAI,EAAEtB,KAAK,CAAC;MACrC;MAEA,OAAOA,KAAK;IACd;EACF,CAAC,EACD,CAACqB,cAAc,EAAEI,eAAe,CAClC,CAAC;EAED,MAAMQ,cAAc,GAAG,IAAArB,kBAAW,EAC/BsB,MAAoB,IAAK;IACxB,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAIX,MAAM,CAACW,MAAM,CAAC,EAAE;MAChD,IAAI5B,kBAAkB,EAAE;QACtB,OAAOkB,qBAAqB,CAACU,MAAM,CAAC;MACtC;MAEA,OAAOb,cAAc,CAACa,MAAM,CAAC;IAC/B;IAEA,OAAOA,MAAM;EACf,CAAC,EACD,CAACV,qBAAqB,EAAEH,cAAc,EAAEf,kBAAkB,CAC5D,CAAC;EAED,IAAIP,QAAQ,EAAE;IACZC,KAAK,GAAGiC,cAAc,CAAClC,QAAQ,CAAC;EAClC;EAEA,OAAO;IACLkC,cAAc;IACdZ,cAAc;IACdG,qBAAqB;IACrBC,eAAe;IACfK,OAAO;IACP9B;EACF,CAAC;AACH;AAEA,SAASuB,MAAMA,CAACD,IAAoB,EAAE;EACpC,OAAO,OAAOA,IAAI,KAAK,QAAQ,IAAIA,IAAI,CAACa,UAAU,CAAC,GAAG,CAAC;AACzD"}
@@ -1 +1 @@
1
- {"version":3,"file":"useExternalValue.js","names":["_react","require","_jsonPointer","_interopRequireDefault","_Context","_IterateItemContext","obj","__esModule","default","useExternalValue","props","path","itemPath","value","transformers","emptyValue","undefined","data","useContext","DataContext","iterateItemContext","IterateElementContext","inIterate","Boolean","iterateElementValue","useMemo","_transformers$current","_transformers$current2","_transformers$current3","current","fromExternal","call","_transformers$current4","_transformers$current5","_transformers$current6","pointer","has","_transformers$current7","_transformers$current8","_transformers$current9","get","_transformers$current10","_transformers$current11","_transformers$current12","_transformers$current13","_transformers$current14","_transformers$current15"],"sources":["../../../../../src/extensions/forms/hooks/useExternalValue.ts"],"sourcesContent":["import { useContext, useMemo } from 'react'\nimport pointer from '../utils/json-pointer'\nimport { FieldProps, Path } from '../types'\nimport DataContext from '../DataContext/Context'\nimport IterateElementContext from '../Iterate/IterateItemContext'\n\nexport type Props<Value> = {\n path?: Path | undefined\n itemPath?: Path\n value?: Value\n transformers?: React.MutableRefObject<{\n fromExternal: FieldProps<Value>['fromExternal']\n }>\n emptyValue?: FieldProps<Value>['emptyValue']\n}\n\nexport default function useExternalValue<Value>(props: Props<Value>) {\n const {\n path,\n itemPath,\n value,\n transformers,\n emptyValue = undefined,\n } = props\n const { data } = useContext(DataContext) || {}\n const iterateItemContext = useContext(IterateElementContext)\n const inIterate = Boolean(iterateItemContext)\n const { value: iterateElementValue } = iterateItemContext || {}\n\n return useMemo(() => {\n if (value !== emptyValue) {\n // Value-prop sent directly to the field has highest priority, overriding any surrounding source\n return transformers?.current?.fromExternal?.(value) ?? emptyValue\n }\n\n if (inIterate && itemPath) {\n // This field is inside an iterate, and has a pointer from the base of the element being iterated\n if (itemPath === '/') {\n return (\n transformers?.current?.fromExternal?.(\n iterateElementValue as Value\n ) ?? emptyValue\n )\n }\n\n if (pointer.has(iterateElementValue, itemPath)) {\n return (\n transformers?.current?.fromExternal?.(\n pointer.get(iterateElementValue, itemPath) as Value\n ) ?? emptyValue\n )\n }\n }\n\n if (data && path) {\n // There is a surrounding data context and a path for where in the source to find the data\n if (path === '/') {\n return transformers?.current?.fromExternal?.(data) ?? emptyValue\n }\n\n if (pointer.has(data, path)) {\n return (\n transformers?.current?.fromExternal?.(pointer.get(data, path)) ??\n emptyValue\n )\n }\n }\n\n return emptyValue\n }, [\n data,\n emptyValue,\n inIterate,\n itemPath,\n iterateElementValue,\n path,\n transformers,\n value,\n ])\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useExternalValue.js","names":["_react","require","_jsonPointer","_interopRequireDefault","_Context","_IterateItemContext","obj","__esModule","default","useExternalValue","props","path","itemPath","value","transformers","emptyValue","undefined","data","useContext","DataContext","iterateItemContext","IterateItemContext","inIterate","Boolean","iterateElementValue","useMemo","_transformers$current","_transformers$current2","_transformers$current3","current","fromExternal","call","_transformers$current4","_transformers$current5","_transformers$current6","pointer","has","_transformers$current7","_transformers$current8","_transformers$current9","get","_transformers$current10","_transformers$current11","_transformers$current12","_transformers$current13","_transformers$current14","_transformers$current15"],"sources":["../../../../../src/extensions/forms/hooks/useExternalValue.ts"],"sourcesContent":["import { useContext, useMemo } from 'react'\nimport pointer from '../utils/json-pointer'\nimport { FieldProps, Path } from '../types'\nimport DataContext from '../DataContext/Context'\nimport IterateItemContext from '../Iterate/IterateItemContext'\n\nexport type Props<Value> = {\n path?: Path | undefined\n itemPath?: Path\n value?: Value\n transformers?: React.MutableRefObject<{\n fromExternal: FieldProps<Value>['fromExternal']\n }>\n emptyValue?: FieldProps<Value>['emptyValue']\n}\n\nexport default function useExternalValue<Value>(props: Props<Value>) {\n const {\n path,\n itemPath,\n value,\n transformers,\n emptyValue = undefined,\n } = props\n const { data } = useContext(DataContext) || {}\n const iterateItemContext = useContext(IterateItemContext)\n const inIterate = Boolean(iterateItemContext)\n const { value: iterateElementValue } = iterateItemContext || {}\n\n return useMemo(() => {\n if (value !== emptyValue) {\n // Value-prop sent directly to the field has highest priority, overriding any surrounding source\n return transformers?.current?.fromExternal?.(value) ?? emptyValue\n }\n\n if (inIterate && itemPath) {\n // This field is inside an iterate, and has a pointer from the base of the element being iterated\n if (itemPath === '/') {\n return (\n transformers?.current?.fromExternal?.(\n iterateElementValue as Value\n ) ?? emptyValue\n )\n }\n\n if (pointer.has(iterateElementValue, itemPath)) {\n return (\n transformers?.current?.fromExternal?.(\n pointer.get(iterateElementValue, itemPath) as Value\n ) ?? emptyValue\n )\n }\n }\n\n if (data && path) {\n // There is a surrounding data context and a path for where in the source to find the data\n if (path === '/') {\n return transformers?.current?.fromExternal?.(data) ?? emptyValue\n }\n\n if (pointer.has(data, path)) {\n return (\n transformers?.current?.fromExternal?.(pointer.get(data, path)) ??\n emptyValue\n )\n }\n }\n\n return emptyValue\n }, [\n data,\n emptyValue,\n inIterate,\n itemPath,\n iterateElementValue,\n path,\n transformers,\n value,\n ])\n}\n"],"mappings":"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"}
@@ -4,11 +4,17 @@ import { ContextState } from '../DataContext';
4
4
  export type DataAttributes = {
5
5
  [property: `data-${string}`]: string | boolean | number;
6
6
  };
7
- export default function useFieldProps<Value, EmptyValue, Props>(localProps: Props & FieldPropsGeneric<Value, EmptyValue>, { executeOnChangeRegardlessOfError, updateContextDataInSync, omitMultiplePathWarning, forceUpdateWhenContextDataIsSet, }?: {
7
+ export default function useFieldProps<Value, EmptyValue, Props>(localProps: Props & FieldPropsGeneric<Value, EmptyValue>, { executeOnChangeRegardlessOfError, updateContextDataInSync, omitMultiplePathWarning, forceUpdateWhenContextDataIsSet,
8
+ /**
9
+ * When set to true, errors will always be reported downwards to FieldBlock.
10
+ * This is useful for when not dealing with blur/focus, like in Iterate.Array.
11
+ */
12
+ alwaysRevealError, }?: {
8
13
  executeOnChangeRegardlessOfError?: boolean;
9
14
  updateContextDataInSync?: boolean;
10
15
  omitMultiplePathWarning?: boolean;
11
16
  forceUpdateWhenContextDataIsSet?: boolean;
17
+ alwaysRevealError?: boolean;
12
18
  }): typeof localProps & ReturnAdditional<Value>;
13
19
  export interface ReturnAdditional<Value> {
14
20
  /** Documented APIs */
@@ -21,7 +27,7 @@ export interface ReturnAdditional<Value> {
21
27
  handleChange: (value: Value | unknown, additionalArgs?: AdditionalEventArgs) => void;
22
28
  updateValue: (value: Value) => void;
23
29
  setChanged: (state: boolean) => void;
24
- setDisplayValue: (path: Identifier, value: React.ReactNode) => void;
30
+ setDisplayValue: (value: React.ReactNode, path?: Identifier) => void;
25
31
  forceUpdate: () => void;
26
32
  hasError?: boolean;
27
33
  /** Internal */
@@ -51,7 +51,8 @@ function useFieldProps(localProps) {
51
51
  executeOnChangeRegardlessOfError = false,
52
52
  updateContextDataInSync = false,
53
53
  omitMultiplePathWarning = false,
54
- forceUpdateWhenContextDataIsSet = false
54
+ forceUpdateWhenContextDataIsSet = false,
55
+ alwaysRevealError = false
55
56
  } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
56
57
  const {
57
58
  extend
@@ -65,8 +66,8 @@ function useFieldProps(localProps) {
65
66
  emptyValue,
66
67
  required: requiredProp,
67
68
  disabled: disabledProp,
68
- info,
69
- warning,
69
+ info: infoProp,
70
+ warning: warningProp,
70
71
  error: errorProp,
71
72
  errorMessages,
72
73
  onFocus,
@@ -80,6 +81,7 @@ function useFieldProps(localProps) {
80
81
  validateInitially,
81
82
  validateUnchanged,
82
83
  continuousValidation,
84
+ validateContinuously = continuousValidation,
83
85
  transformIn = external => external,
84
86
  transformOut = internal => internal,
85
87
  toInput = value => value,
@@ -94,8 +96,9 @@ function useFieldProps(localProps) {
94
96
  required,
95
97
  error
96
98
  } = _ref;
97
- const res = required && (value === emptyValue || typeof emptyValue === 'undefined' && value === '') ? error : undefined;
98
- return res;
99
+ if (required && (value === emptyValue || typeof emptyValue === 'undefined' && value === '')) {
100
+ return error;
101
+ }
99
102
  }
100
103
  } = props;
101
104
  const [salt, forceUpdate] = (0, _react.useReducer)(() => ({}), {});
@@ -119,6 +122,9 @@ function useFieldProps(localProps) {
119
122
  const {
120
123
  isVisible
121
124
  } = (0, _react.useContext)(_VisibilityContext.default) || {};
125
+ const {
126
+ getValueByPath
127
+ } = (0, _useDataValue.default)();
122
128
  const translation = (0, _useTranslation.default)();
123
129
  const {
124
130
  formatMessage
@@ -143,7 +149,7 @@ function useFieldProps(localProps) {
143
149
  validateData: validateDataDataContext,
144
150
  setFieldState: setFieldStateDataContext,
145
151
  setFieldError: setFieldErrorDataContext,
146
- setFieldProps: setFieldPropsDataContext,
152
+ setFieldInternals: setFieldInternalsDataContext,
147
153
  setFieldConnection: setFieldConnectionDataContext,
148
154
  setVisibleError: setVisibleErrorDataContext,
149
155
  setMountedFieldState: setMountedFieldStateDataContext,
@@ -152,7 +158,8 @@ function useFieldProps(localProps) {
152
158
  showAllErrors,
153
159
  contextErrorMessages,
154
160
  fieldDisplayValueRef,
155
- existingFieldsRef
161
+ existingFieldsRef,
162
+ fieldInternalsRef
156
163
  } = dataContext || {};
157
164
  const onChangeContext = dataContext === null || dataContext === void 0 ? void 0 : (_dataContext$props = dataContext.props) === null || _dataContext$props === void 0 ? void 0 : _dataContext$props.onChange;
158
165
  const disabled = disabledProp !== null && disabledProp !== void 0 ? disabledProp : props.readOnly;
@@ -166,7 +173,8 @@ function useFieldProps(localProps) {
166
173
  const {
167
174
  handleChange: handleChangeIterateContext,
168
175
  index: iterateIndex,
169
- arrayValue: iterateArrayValue
176
+ arrayValue: iterateArrayValue,
177
+ nestedIteratePath
170
178
  } = iterateItemContext || {};
171
179
  const {
172
180
  path: sectionPath,
@@ -206,6 +214,7 @@ function useFieldProps(localProps) {
206
214
  const valueRef = (0, _react.useRef)(externalValue);
207
215
  const changedRef = (0, _react.useRef)();
208
216
  const hasFocusRef = (0, _react.useRef)();
217
+ const revealErrorRef = (0, _react.useRef)(null);
209
218
  const required = (0, _react.useMemo)(() => {
210
219
  if (typeof requiredProp !== 'undefined') {
211
220
  return requiredProp;
@@ -238,7 +247,66 @@ function useFieldProps(localProps) {
238
247
  }
239
248
  }
240
249
  }, [cleanPath, dataContext.schema, identifier, joinPath, requiredProp, schema, sectionPath]);
241
- const revealErrorRef = (0, _react.useRef)(validateInitially !== null && validateInitially !== void 0 ? validateInitially : Boolean(errorProp));
250
+ const getFieldByPath = (0, _react.useCallback)(path => {
251
+ var _fieldInternalsRef$cu;
252
+ return ((_fieldInternalsRef$cu = fieldInternalsRef.current) === null || _fieldInternalsRef$cu === void 0 ? void 0 : _fieldInternalsRef$cu[path]) || {
253
+ props: undefined,
254
+ id: undefined
255
+ };
256
+ }, [fieldInternalsRef]);
257
+ const messageCacheRef = (0, _react.useRef)({
258
+ isSet: false,
259
+ message: undefined
260
+ });
261
+ const executeMessage = (0, _react.useCallback)(message => {
262
+ if (typeof message === 'function') {
263
+ const ALWAYS = 4;
264
+ const INITIALLY = 8;
265
+ let currentMode = ALWAYS;
266
+ const msg = message(valueRef.current, {
267
+ conditionally: (callback, options) => {
268
+ currentMode &= ~ALWAYS;
269
+ if (options !== null && options !== void 0 && options.showInitially) {
270
+ currentMode |= INITIALLY;
271
+ }
272
+ return callback();
273
+ },
274
+ getValueByPath,
275
+ getFieldByPath
276
+ });
277
+ if (msg === undefined) {
278
+ messageCacheRef.current.message = undefined;
279
+ return null;
280
+ }
281
+ const isError = msg instanceof Error || msg instanceof _utils.FormError || Array.isArray(msg) && checkForError(msg);
282
+ if (!messageCacheRef.current.isSet && currentMode & INITIALLY || currentMode & ALWAYS || hasFocusRef.current === false || messageCacheRef.current.message) {
283
+ if (isInternalRerenderRef.current || currentMode & ALWAYS || !messageCacheRef.current.isSet && currentMode & INITIALLY) {
284
+ if (msg) {
285
+ messageCacheRef.current.isSet = true;
286
+ }
287
+ if (msg || !hasFocusRef.current || currentMode & ALWAYS) {
288
+ messageCacheRef.current.message = msg;
289
+ }
290
+ }
291
+ message = messageCacheRef.current.message;
292
+ if (isError && message) {
293
+ revealErrorRef.current = true;
294
+ }
295
+ if (!isError && !message) {
296
+ return null;
297
+ }
298
+ } else {
299
+ return undefined;
300
+ }
301
+ }
302
+ return message;
303
+ }, [getFieldByPath, getValueByPath]);
304
+ const error = executeMessage(errorProp);
305
+ const warning = executeMessage(warningProp);
306
+ const info = executeMessage(infoProp);
307
+ if (revealErrorRef.current === null) {
308
+ revealErrorRef.current = validateInitially !== null && validateInitially !== void 0 ? validateInitially : Boolean(errorProp);
309
+ }
242
310
  const errorMethodRef = (0, _react.useRef)({});
243
311
  const localErrorRef = (0, _react.useRef)();
244
312
  const localErrorInitiatorRef = (0, _react.useRef)();
@@ -330,13 +398,13 @@ function useFieldProps(localProps) {
330
398
  revealErrorRef.current = undefined;
331
399
  return;
332
400
  }
333
- if (!revealErrorRef.current) {
401
+ if (!revealErrorRef.current || alwaysRevealError) {
334
402
  revealErrorRef.current = true;
335
403
  showFieldErrorFieldBlock === null || showFieldErrorFieldBlock === void 0 ? void 0 : showFieldErrorFieldBlock(identifier, true);
336
404
  setVisibleErrorBoundary === null || setVisibleErrorBoundary === void 0 ? void 0 : setVisibleErrorBoundary(identifier, !!localErrorRef.current);
337
405
  setVisibleErrorDataContext === null || setVisibleErrorDataContext === void 0 ? void 0 : setVisibleErrorDataContext(identifier, !!localErrorRef.current);
338
406
  }
339
- }, [identifier, setVisibleErrorDataContext, setVisibleErrorBoundary, showFieldErrorFieldBlock, validateInitially]);
407
+ }, [validateInitially, alwaysRevealError, showFieldErrorFieldBlock, identifier, setVisibleErrorBoundary, setVisibleErrorDataContext]);
340
408
  const hideError = (0, _react.useCallback)(() => {
341
409
  if (revealErrorRef.current) {
342
410
  revealErrorRef.current = undefined;
@@ -418,23 +486,22 @@ function useFieldProps(localProps) {
418
486
  if (((_localErrorRef$curren = localErrorRef.current) === null || _localErrorRef$curren === void 0 ? void 0 : _localErrorRef$curren['ajvKeyword']) === 'type') {
419
487
  revealErrorRef.current = true;
420
488
  }
421
- const error = revealErrorRef.current ? (_ref3 = (_prepareError = prepareError(errorProp)) !== null && _prepareError !== void 0 ? _prepareError : localErrorRef.current) !== null && _ref3 !== void 0 ? _ref3 : contextErrorRef.current : undefined;
422
- const hasVisibleError = Boolean(error) || inFieldBlock && fieldBlockContext.hasErrorProp;
489
+ const bufferedError = revealErrorRef.current ? (_ref3 = (_prepareError = prepareError(error)) !== null && _prepareError !== void 0 ? _prepareError : localErrorRef.current) !== null && _ref3 !== void 0 ? _ref3 : contextErrorRef.current : error === null ? null : undefined;
490
+ const hasVisibleError = Boolean(bufferedError) || inFieldBlock && fieldBlockContext.hasErrorProp;
423
491
  const hasError = (0, _react.useCallback)(() => {
424
492
  var _ref4;
425
- return Boolean((_ref4 = errorProp !== null && errorProp !== void 0 ? errorProp : localErrorRef.current) !== null && _ref4 !== void 0 ? _ref4 : contextErrorRef.current);
426
- }, [errorProp]);
493
+ return Boolean((_ref4 = error !== null && error !== void 0 ? error : localErrorRef.current) !== null && _ref4 !== void 0 ? _ref4 : contextErrorRef.current);
494
+ }, [error]);
427
495
  const connectWithPathListenerRef = (0, _react.useRef)(async () => {
428
- if (localErrorRef.current || validateUnchanged || continuousValidation) {
429
- runOnChangeValidator();
430
- }
431
- if (localErrorRef.current) {
432
- runOnBlurValidator();
433
- }
496
+ runOnChangeValidator();
497
+ runOnBlurValidator();
434
498
  });
435
- const {
436
- getValueByPath
437
- } = (0, _useDataValue.default)();
499
+ const handleConnectWithPath = (0, _react.useCallback)(path => {
500
+ setFieldEventListener === null || setFieldEventListener === void 0 ? void 0 : setFieldEventListener(path, 'onPathChange', connectWithPathListenerRef.current);
501
+ return {
502
+ getValue: () => getValueByPath(path)
503
+ };
504
+ }, [getValueByPath, setFieldEventListener]);
438
505
  const exportValidatorsRef = (0, _react.useRef)(exportValidators);
439
506
  exportValidatorsRef.current = exportValidators;
440
507
  const additionalArgs = (0, _react.useMemo)(() => {
@@ -442,14 +509,14 @@ function useFieldProps(localProps) {
442
509
  errorMessages: combinedErrorMessages,
443
510
  validators: exportValidatorsRef.current,
444
511
  connectWithPath: path => {
445
- setFieldEventListener === null || setFieldEventListener === void 0 ? void 0 : setFieldEventListener(path, 'onPathChange', connectWithPathListenerRef.current);
446
- return {
447
- getValue: () => getValueByPath(path)
448
- };
512
+ return handleConnectWithPath(path);
513
+ },
514
+ connectWithItemPath: itemPath => {
515
+ return handleConnectWithPath(makeIteratePath(itemPath));
449
516
  }
450
517
  });
451
518
  return args;
452
- }, [combinedErrorMessages, getValueByPath, setFieldEventListener]);
519
+ }, [combinedErrorMessages, handleConnectWithPath, makeIteratePath]);
453
520
  const callStackRef = (0, _react.useRef)([]);
454
521
  const hasBeenCalledRef = (0, _react.useCallback)(validator => {
455
522
  const result = callStackRef.current.includes(validator);
@@ -463,15 +530,23 @@ function useFieldProps(localProps) {
463
530
  }
464
531
  const result = await validator(value, additionalArgs);
465
532
  if (Array.isArray(result)) {
466
- for (const validator of result) {
467
- if (!hasBeenCalledRef(validator)) {
468
- const result = await callValidatorFnAsync(validator, value);
533
+ const errors = [];
534
+ for (const validatorOrError of result) {
535
+ if (validatorOrError instanceof Error) {
536
+ errors.push(validatorOrError);
537
+ } else if (!hasBeenCalledRef(validatorOrError)) {
538
+ const result = await callValidatorFnAsync(validatorOrError, value);
469
539
  if (result instanceof Error) {
470
540
  callStackRef.current = [];
471
541
  return result;
472
542
  }
473
543
  }
474
544
  }
545
+ if (errors.length > 0) {
546
+ return new _utils.FormError('Error', {
547
+ errors
548
+ });
549
+ }
475
550
  callStackRef.current = [];
476
551
  } else {
477
552
  return result;
@@ -492,15 +567,23 @@ function useFieldProps(localProps) {
492
567
  });
493
568
  });
494
569
  }
495
- for (const validator of result) {
496
- if (!hasBeenCalledRef(validator)) {
497
- const result = callValidatorFnSync(validator, value);
570
+ const errors = [];
571
+ for (const validatorOrError of result) {
572
+ if (validatorOrError instanceof Error) {
573
+ errors.push(validatorOrError);
574
+ } else if (!hasBeenCalledRef(validatorOrError)) {
575
+ const result = callValidatorFnSync(validatorOrError, value);
498
576
  if (result instanceof Error) {
499
577
  callStackRef.current = [];
500
578
  return result;
501
579
  }
502
580
  }
503
581
  }
582
+ if (errors.length > 0) {
583
+ return new _utils.FormError('Error', {
584
+ errors
585
+ });
586
+ }
504
587
  callStackRef.current = [];
505
588
  } else {
506
589
  return result;
@@ -545,11 +628,14 @@ function useFieldProps(localProps) {
545
628
  schemaValidatorRef.current.errors = [];
546
629
  }
547
630
  }, [persistErrorState]);
631
+ const setChanged = (0, _react.useCallback)(state => {
632
+ changedRef.current = state;
633
+ }, []);
548
634
  const removeError = (0, _react.useCallback)(() => {
549
- changedRef.current = false;
635
+ setChanged(false);
550
636
  hideError();
551
637
  clearErrorState();
552
- }, [clearErrorState, hideError]);
638
+ }, [clearErrorState, hideError, setChanged]);
553
639
  const validatorCacheRef = (0, _react.useRef)({
554
640
  onChangeValidator: null,
555
641
  onBlurValidator: null
@@ -562,7 +648,7 @@ function useFieldProps(localProps) {
562
648
  const runAsync = (0, _isAsync.isAsync)(onChangeValidatorRef.current);
563
649
  if (unchangedValue) {
564
650
  persistErrorState('gracefully', 'onChangeValidator', result);
565
- if (validateInitially && !changedRef.current || validateUnchanged || continuousValidation || runAsync) {
651
+ if (validateInitially && !changedRef.current || validateUnchanged || validateContinuously || runAsync) {
566
652
  window.requestAnimationFrame(() => {
567
653
  revealError();
568
654
  forceUpdate();
@@ -577,7 +663,7 @@ function useFieldProps(localProps) {
577
663
  setFieldState('pending');
578
664
  }
579
665
  }
580
- }, [continuousValidation, defineAsyncProcess, persistErrorState, revealError, setFieldState, validateInitially, validateUnchanged]);
666
+ }, [validateContinuously, defineAsyncProcess, persistErrorState, revealError, setFieldState, validateInitially, validateUnchanged]);
581
667
  const callOnChangeValidator = (0, _react.useCallback)(async () => {
582
668
  if (typeof onChangeValidatorRef.current !== 'function') {
583
669
  return {};
@@ -733,7 +819,7 @@ function useFieldProps(localProps) {
733
819
  try {
734
820
  const requiredError = transformers.current.validateRequired(value, {
735
821
  emptyValue,
736
- required: requiredProp !== null && requiredProp !== void 0 ? requiredProp : required,
822
+ required,
737
823
  isChanged: changedRef.current,
738
824
  error: new _utils.FormError('Field.errorRequired')
739
825
  });
@@ -775,14 +861,14 @@ function useFieldProps(localProps) {
775
861
  persistErrorState('weak', initiator, error);
776
862
  }
777
863
  }
778
- }, [clearErrorState, disabled, emptyValue, hideError, persistErrorState, prioritizeContextSchema, required, requiredProp, setFieldState, startOnBlurValidatorProcess, startOnChangeValidatorValidation, startProcess, validateInitially, validateUnchanged]);
864
+ }, [clearErrorState, disabled, emptyValue, hideError, persistErrorState, prioritizeContextSchema, required, setFieldState, startOnBlurValidatorProcess, startOnChangeValidatorValidation, startProcess, validateInitially, validateUnchanged]);
779
865
  const handleError = (0, _react.useCallback)(() => {
780
- if (continuousValidation || continuousValidation !== false && !hasFocusRef.current) {
866
+ if (validateContinuously || validateContinuously !== false && !hasFocusRef.current) {
781
867
  revealError();
782
868
  } else {
783
869
  hideError();
784
870
  }
785
- }, [continuousValidation, hideError, revealError]);
871
+ }, [validateContinuously, hideError, revealError]);
786
872
  const getEventArgs = (0, _react.useCallback)(_ref7 => {
787
873
  let {
788
874
  eventName,
@@ -940,8 +1026,8 @@ function useFieldProps(localProps) {
940
1026
  const transformedValue = (_transformers$current = transformers.current.transformValue(newValue, currentValue)) !== null && _transformers$current !== void 0 ? _transformers$current : emptyValue;
941
1027
  const contextValue = transformers.current.transformOut(transformedValue, transformers.current.provideAdditionalArgs(transformedValue, additionalArgs));
942
1028
  valueRef.current = transformedValue;
943
- if (hasPath) {
944
- handlePathChangeUnvalidatedDataContext(identifier, contextValue);
1029
+ if (hasPath || itemPath) {
1030
+ handlePathChangeUnvalidatedDataContext(nestedIteratePath || identifier, contextValue);
945
1031
  }
946
1032
  if (itemPath) {
947
1033
  handleChangeIterateContext === null || handleChangeIterateContext === void 0 ? void 0 : handleChangeIterateContext(makeIteratePath(itemPath, ''), contextValue);
@@ -952,15 +1038,13 @@ function useFieldProps(localProps) {
952
1038
  handleError();
953
1039
  });
954
1040
  }, [emptyValue, additionalArgs, hasPath, itemPath, addToPool, validateValue, callOnChangeContext, onChangeContext, runPool, handlePathChangeUnvalidatedDataContext, identifier, handleChangeIterateContext, makeIteratePath, handleError]);
955
- const setChanged = state => {
956
- changedRef.current = state;
957
- };
958
- const setDisplayValue = (0, _react.useCallback)((path, content) => {
959
- if (!path || !(fieldDisplayValueRef !== null && fieldDisplayValueRef !== void 0 && fieldDisplayValueRef.current)) {
1041
+ const setDisplayValue = (0, _react.useCallback)(function (content) {
1042
+ let fieldPath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : itemPath ? identifier : path;
1043
+ if (!fieldPath || !(fieldDisplayValueRef !== null && fieldDisplayValueRef !== void 0 && fieldDisplayValueRef.current)) {
960
1044
  return;
961
1045
  }
962
- fieldDisplayValueRef.current[path] = valueRef.current === emptyValue ? undefined : content;
963
- }, [emptyValue, fieldDisplayValueRef]);
1046
+ fieldDisplayValueRef.current[fieldPath] = valueRef.current === emptyValue ? undefined : content;
1047
+ }, [identifier, emptyValue, fieldDisplayValueRef, itemPath, path]);
964
1048
  const handleChange = (0, _react.useCallback)(async function (argFromInput) {
965
1049
  let additionalArgs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
966
1050
  const currentValue = valueRef.current;
@@ -968,7 +1052,7 @@ function useFieldProps(localProps) {
968
1052
  if (fromInput === currentValue) {
969
1053
  return;
970
1054
  }
971
- changedRef.current = true;
1055
+ setChanged(true);
972
1056
  if (asyncBehaviorIsEnabled) {
973
1057
  hideError();
974
1058
  await updateValue(fromInput);
@@ -1012,10 +1096,10 @@ function useFieldProps(localProps) {
1012
1096
  setEventResult(onChange === null || onChange === void 0 ? void 0 : onChange.apply(_this, args));
1013
1097
  }
1014
1098
  await runPool();
1015
- }, [asyncBehaviorIsEnabled, onChange, runPool, hideError, updateValue, addToPool, getEventArgs, yieldAsyncProcess, defineAsyncProcess, hasError, setEventResult]);
1099
+ }, [addToPool, asyncBehaviorIsEnabled, defineAsyncProcess, getEventArgs, hasError, hideError, onChange, runPool, setChanged, setEventResult, updateValue, yieldAsyncProcess]);
1016
1100
  const handleFocus = (0, _react.useCallback)(() => setHasFocus(true), [setHasFocus]);
1017
1101
  const handleBlur = (0, _react.useCallback)(() => setHasFocus(false), [setHasFocus]);
1018
- setFieldPropsDataContext === null || setFieldPropsDataContext === void 0 ? void 0 : setFieldPropsDataContext(identifier, props);
1102
+ setFieldInternalsDataContext === null || setFieldInternalsDataContext === void 0 ? void 0 : setFieldInternalsDataContext(identifier, props, id);
1019
1103
  const {
1020
1104
  activeIndex,
1021
1105
  activeIndexRef
@@ -1131,13 +1215,14 @@ function useFieldProps(localProps) {
1131
1215
  }
1132
1216
  let valueToStore = valueProp !== null && valueProp !== void 0 ? valueProp : emptyValue;
1133
1217
  const data = wizardContext !== null && wizardContext !== void 0 && wizardContext.prerenderFieldProps ? dataContext.data : (_dataContext$internal = dataContext.internalDataRef) === null || _dataContext$internal === void 0 ? void 0 : _dataContext$internal.current;
1134
- const hasValue = _jsonPointer.default.has(data, identifier) || identifier === '/';
1135
- const existingValue = identifier === '/' ? data : hasValue ? _jsonPointer.default.get(data, identifier) : undefined;
1218
+ const storePath = nestedIteratePath ? makeIteratePath(itemPath, nestedIteratePath) : identifier;
1219
+ const hasValue = _jsonPointer.default.has(data, storePath) || storePath === '/';
1220
+ const existingValue = storePath === '/' ? data : hasValue ? _jsonPointer.default.get(data, storePath) : undefined;
1136
1221
  if (dataContext.id && !hasValue && typeof existingValue === 'undefined' && typeof valueToStore === 'undefined') {
1137
1222
  const sharedState = (0, _useSharedState.createSharedState)(dataContext.id);
1138
- const hasValue = _jsonPointer.default.has(sharedState.data, identifier);
1223
+ const hasValue = _jsonPointer.default.has(sharedState.data, storePath);
1139
1224
  if (hasValue) {
1140
- const sharedValue = _jsonPointer.default.get(sharedState.data, identifier);
1225
+ const sharedValue = _jsonPointer.default.get(sharedState.data, storePath);
1141
1226
  if (sharedValue) {
1142
1227
  valueToStore = sharedValue;
1143
1228
  }
@@ -1185,25 +1270,25 @@ function useFieldProps(localProps) {
1185
1270
  if (!skipEqualCheck && hasValue && (valueToStore === existingValue || valueRef.current === existingValue)) {
1186
1271
  return;
1187
1272
  }
1188
- if (identifier in tmpTransValueRef.current && tmpTransValueRef.current[identifier] === valueToStore) {
1273
+ if (storePath in tmpTransValueRef.current && tmpTransValueRef.current[storePath] === valueToStore) {
1189
1274
  return;
1190
1275
  }
1191
1276
  const valueIn = transformers.current.transformIn(valueToStore);
1192
1277
  const transformedValue = transformers.current.transformOut(valueIn, transformers.current.provideAdditionalArgs(valueIn));
1193
1278
  if (transformedValue !== valueToStore) {
1194
- tmpTransValueRef.current[identifier] = valueToStore;
1279
+ tmpTransValueRef.current[storePath] = valueToStore;
1195
1280
  valueToStore = transformedValue;
1196
1281
  }
1197
- if (hasItemPath && iterateIndex < (iterateArrayValue === null || iterateArrayValue === void 0 ? void 0 : iterateArrayValue.length) - 1) {
1282
+ if (hasItemPath && !nestedIteratePath && iterateIndex < (iterateArrayValue === null || iterateArrayValue === void 0 ? void 0 : iterateArrayValue.length) - 1) {
1198
1283
  preventUpdate = true;
1199
1284
  }
1200
- updateDataValueDataContext === null || updateDataValueDataContext === void 0 ? void 0 : updateDataValueDataContext(identifier, valueToStore, {
1285
+ updateDataValueDataContext === null || updateDataValueDataContext === void 0 ? void 0 : updateDataValueDataContext(storePath, valueToStore, {
1201
1286
  preventUpdate
1202
1287
  });
1203
1288
  if (!preventUpdate) {
1204
1289
  validateDataDataContext === null || validateDataDataContext === void 0 ? void 0 : validateDataDataContext();
1205
1290
  }
1206
- }, [dataContext.data, dataContext.id, dataContext.internalDataRef, emptyValue, hasItemPath, hasPath, identifier, itemPath, iterateArrayValue === null || iterateArrayValue === void 0 ? void 0 : iterateArrayValue.length, iterateIndex, updateContextDataInSync, updateDataValueDataContext, validateDataDataContext, valueProp, wizardContext === null || wizardContext === void 0 ? void 0 : wizardContext.prerenderFieldProps]);
1291
+ }, [dataContext.data, dataContext.id, dataContext.internalDataRef, emptyValue, hasItemPath, hasPath, identifier, itemPath, iterateArrayValue === null || iterateArrayValue === void 0 ? void 0 : iterateArrayValue.length, iterateIndex, makeIteratePath, nestedIteratePath, updateContextDataInSync, updateDataValueDataContext, validateDataDataContext, valueProp, wizardContext === null || wizardContext === void 0 ? void 0 : wizardContext.prerenderFieldProps]);
1207
1292
  const isEmptyData = (0, _react.useCallback)(() => {
1208
1293
  var _dataContext$isEmptyD, _dataContext$internal2, _dataContext$props$em, _dataContext$props2;
1209
1294
  return ((_dataContext$isEmptyD = dataContext.isEmptyDataRef) === null || _dataContext$isEmptyD === void 0 ? void 0 : _dataContext$isEmptyD.current) || ((_dataContext$internal2 = dataContext.internalDataRef) === null || _dataContext$internal2 === void 0 ? void 0 : _dataContext$internal2.current) === ((_dataContext$props$em = (_dataContext$props2 = dataContext.props) === null || _dataContext$props2 === void 0 ? void 0 : _dataContext$props2.emptyData) !== null && _dataContext$props$em !== void 0 ? _dataContext$props$em : _Provider.clearedData);
@@ -1211,11 +1296,11 @@ function useFieldProps(localProps) {
1211
1296
  useLayoutEffect(() => {
1212
1297
  if (isEmptyData()) {
1213
1298
  defaultValueRef.current = defaultValue;
1214
- changedRef.current = false;
1299
+ setChanged(false);
1215
1300
  hideError();
1216
1301
  clearErrorState();
1217
1302
  }
1218
- }, [clearErrorState, defaultValue, hideError, isEmptyData]);
1303
+ }, [clearErrorState, defaultValue, hideError, isEmptyData, setChanged]);
1219
1304
  (0, _react.useMemo)(() => {
1220
1305
  if (updateContextDataInSync && !isEmptyData()) {
1221
1306
  setContextData({
@@ -1268,7 +1353,7 @@ function useFieldProps(localProps) {
1268
1353
  setBlockRecord === null || setBlockRecord === void 0 ? void 0 : setBlockRecord({
1269
1354
  identifier,
1270
1355
  type: 'error',
1271
- content: errorProp,
1356
+ content: error,
1272
1357
  showInitially: true,
1273
1358
  show: true
1274
1359
  });
@@ -1292,14 +1377,15 @@ function useFieldProps(localProps) {
1292
1377
  }
1293
1378
  };
1294
1379
  }
1295
- }, [errorProp, identifier, inFieldBlock, info, mountedFieldsRefFieldBlock, setBlockRecord, warning]);
1380
+ }, [error, identifier, inFieldBlock, info, mountedFieldsRefFieldBlock, setBlockRecord, warning]);
1296
1381
  const infoRef = (0, _react.useRef)(info);
1297
1382
  const warningRef = (0, _react.useRef)(warning);
1298
- (0, _useUpdateEffect.default)(() => {
1383
+ if (typeof info !== 'undefined') {
1299
1384
  infoRef.current = info;
1385
+ }
1386
+ if (typeof warning !== 'undefined') {
1300
1387
  warningRef.current = warning;
1301
- forceUpdate();
1302
- }, [info, warning]);
1388
+ }
1303
1389
  const connections = (0, _react.useMemo)(() => {
1304
1390
  return {
1305
1391
  setEventResult
@@ -1314,8 +1400,8 @@ function useFieldProps(localProps) {
1314
1400
  return acc;
1315
1401
  }, _objectSpread({}, props.htmlAttributes));
1316
1402
  }, [props]);
1317
- if (error) {
1318
- htmlAttributes['aria-invalid'] = error ? 'true' : 'false';
1403
+ if (bufferedError) {
1404
+ htmlAttributes['aria-invalid'] = bufferedError ? 'true' : 'false';
1319
1405
  }
1320
1406
  if (required) {
1321
1407
  htmlAttributes['aria-required'] = 'true';
@@ -1327,10 +1413,10 @@ function useFieldProps(localProps) {
1327
1413
  }
1328
1414
  const stateIds = (_fieldBlockContext$fi = fieldBlockContext.fieldStateIdsRef) === null || _fieldBlockContext$fi === void 0 ? void 0 : _fieldBlockContext$fi.current;
1329
1415
  if (stateIds) {
1330
- htmlAttributes['aria-describedby'] = (0, _componentHelper.combineDescribedBy)(htmlAttributes, [error && stateIds.error, warning && stateIds.warning, info && stateIds.info].filter(Boolean));
1416
+ htmlAttributes['aria-describedby'] = (0, _componentHelper.combineDescribedBy)(htmlAttributes, [bufferedError && stateIds.error, warning && stateIds.warning, info && stateIds.info].filter(Boolean));
1331
1417
  }
1332
1418
  } else {
1333
- const ids = [(error || errorProp) && `${id}-form-status--error`, warning && `${id}-form-status--warning`, info && `${id}-form-status--info`].filter(Boolean);
1419
+ const ids = [(bufferedError || error) && `${id}-form-status--error`, warning && `${id}-form-status--warning`, info && `${id}-form-status--info`].filter(Boolean);
1334
1420
  if (ids.length) {
1335
1421
  htmlAttributes['aria-describedby'] = (0, _componentHelper.combineDescribedBy)(htmlAttributes, ids);
1336
1422
  }
@@ -1342,7 +1428,7 @@ function useFieldProps(localProps) {
1342
1428
  const fieldBlockProps = {
1343
1429
  info: !inFieldBlock ? infoRef.current : undefined,
1344
1430
  warning: !inFieldBlock ? warningRef.current : undefined,
1345
- error: !inFieldBlock ? error : undefined,
1431
+ error: !inFieldBlock ? bufferedError : undefined,
1346
1432
  required,
1347
1433
  label: props.label,
1348
1434
  labelDescription: props.labelDescription,
@@ -1375,6 +1461,8 @@ function useFieldProps(localProps) {
1375
1461
  updateValue,
1376
1462
  setChanged,
1377
1463
  setDisplayValue,
1464
+ validateValue,
1465
+ revealError,
1378
1466
  forceUpdate,
1379
1467
  dataContext
1380
1468
  });