@dnb/eufemia 10.50.0 → 10.51.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 (901) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/cjs/components/accordion/style/dnb-accordion.css +3 -3
  3. package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
  4. package/cjs/components/autocomplete/style/dnb-autocomplete.css +1 -1
  5. package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  6. package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
  7. package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  8. package/cjs/components/button/Button.d.ts +2 -2
  9. package/cjs/components/card/style/dnb-card.css +1 -1
  10. package/cjs/components/card/style/dnb-card.min.css +1 -1
  11. package/cjs/components/date-picker/DatePicker.d.ts +13 -4
  12. package/cjs/components/drawer/style/dnb-drawer.css +3 -3
  13. package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
  14. package/cjs/components/dropdown/style/dnb-dropdown.css +1 -1
  15. package/cjs/components/dropdown/style/dnb-dropdown.min.css +1 -1
  16. package/cjs/components/form-row/style/dnb-form-row.css +1 -1
  17. package/cjs/components/form-row/style/dnb-form-row.min.css +1 -1
  18. package/cjs/components/form-status/FormStatus.d.ts +1 -1
  19. package/cjs/components/grid/style/dnb-grid.css +6 -6
  20. package/cjs/components/grid/style/dnb-grid.min.css +1 -1
  21. package/cjs/components/input-masked/InputMasked.d.ts +1 -1
  22. package/cjs/components/input-masked/InputMaskedDocs.js +1 -1
  23. package/cjs/components/input-masked/InputMaskedDocs.js.map +1 -1
  24. package/cjs/components/number-format/NumberFormat.d.ts +14 -28
  25. package/cjs/components/number-format/NumberFormat.js +6 -2
  26. package/cjs/components/number-format/NumberFormat.js.map +1 -1
  27. package/cjs/components/number-format/NumberFormatDocs.d.ts +3 -0
  28. package/cjs/components/number-format/NumberFormatDocs.js +161 -0
  29. package/cjs/components/number-format/NumberFormatDocs.js.map +1 -0
  30. package/cjs/components/number-format/NumberUtils.d.ts +21 -1
  31. package/cjs/components/number-format/NumberUtils.js +33 -8
  32. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  33. package/cjs/components/pagination/Pagination.d.ts +1 -1
  34. package/cjs/components/section/style/dnb-section.css +2 -2
  35. package/cjs/components/section/style/dnb-section.min.css +2 -2
  36. package/cjs/components/space/style/dnb-space.css +2 -2
  37. package/cjs/components/space/style/dnb-space.min.css +1 -1
  38. package/cjs/components/switch/Switch.d.ts +100 -91
  39. package/cjs/components/switch/Switch.js +167 -239
  40. package/cjs/components/switch/Switch.js.map +1 -1
  41. package/cjs/components/switch/SwitchDocs.d.ts +3 -0
  42. package/cjs/components/switch/SwitchDocs.js +93 -0
  43. package/cjs/components/switch/SwitchDocs.js.map +1 -0
  44. package/cjs/components/tabs/style/dnb-tabs.css +1 -0
  45. package/cjs/components/tabs/style/dnb-tabs.min.css +1 -1
  46. package/cjs/components/tabs/style/dnb-tabs.scss +1 -0
  47. package/cjs/components/toggle-button/style/dnb-toggle-button.css +1 -1
  48. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  49. package/cjs/extensions/forms/DataContext/At/At.js +1 -1
  50. package/cjs/extensions/forms/DataContext/At/At.js.map +1 -1
  51. package/cjs/extensions/forms/DataContext/Context.d.ts +20 -9
  52. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  53. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
  54. package/cjs/extensions/forms/DataContext/Provider/Provider.js +105 -60
  55. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  56. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
  57. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  58. package/cjs/extensions/forms/Field/Date/Date.d.ts +6 -0
  59. package/cjs/extensions/forms/Field/Date/Date.js +20 -4
  60. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  61. package/{extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts → cjs/extensions/forms/Field/Date/DateDocs.d.ts} +1 -1
  62. package/cjs/extensions/forms/Field/Date/DateDocs.js +20 -0
  63. package/cjs/extensions/forms/Field/Date/DateDocs.js.map +1 -0
  64. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js +1 -1
  65. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  66. package/{es/extensions/forms/Form/FieldProps/FieldProps.d.ts → cjs/extensions/forms/Field/Provider/FieldProvider.d.ts} +5 -7
  67. package/cjs/extensions/forms/Field/Provider/FieldProvider.js +33 -0
  68. package/cjs/extensions/forms/Field/Provider/FieldProvider.js.map +1 -0
  69. package/cjs/extensions/forms/{Form/FieldProps/FieldPropsContext.d.ts → Field/Provider/FieldProviderContext.d.ts} +3 -3
  70. package/cjs/extensions/forms/{Form/FieldProps/FieldPropsContext.js → Field/Provider/FieldProviderContext.js} +3 -3
  71. package/cjs/extensions/forms/Field/Provider/FieldProviderContext.js.map +1 -0
  72. package/cjs/extensions/forms/Field/Provider/FieldProviderDocs.d.ts +2 -0
  73. package/cjs/extensions/forms/{Form/FieldProps/FieldPropsDocs.js → Field/Provider/FieldProviderDocs.js} +4 -4
  74. package/cjs/extensions/forms/Field/Provider/FieldProviderDocs.js.map +1 -0
  75. package/cjs/extensions/forms/Field/Provider/index.d.ts +2 -0
  76. package/cjs/extensions/forms/{Form/FieldProps → Field/Provider}/index.js +5 -5
  77. package/cjs/extensions/forms/Field/Provider/index.js.map +1 -0
  78. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +121 -0
  79. package/cjs/extensions/forms/{Form/FieldProps/FieldProps.js → Field/Provider/useFieldProvider.js} +34 -34
  80. package/cjs/extensions/forms/Field/Provider/useFieldProvider.js.map +1 -0
  81. package/cjs/extensions/forms/Field/index.d.ts +1 -0
  82. package/cjs/extensions/forms/Field/index.js +7 -0
  83. package/cjs/extensions/forms/Field/index.js.map +1 -1
  84. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +12 -1
  85. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  86. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  87. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  88. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
  89. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  90. package/cjs/extensions/forms/Form/Element/Element.js +4 -4
  91. package/cjs/extensions/forms/Form/Element/Element.js.map +1 -1
  92. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  93. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  94. package/cjs/extensions/forms/Form/Isolation/Isolation.d.ts +2 -2
  95. package/cjs/extensions/forms/Form/Isolation/Isolation.js +1 -1
  96. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  97. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
  98. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  99. package/cjs/extensions/forms/Form/Section/Section.d.ts +2 -1
  100. package/cjs/extensions/forms/Form/Section/Section.js +2 -2
  101. package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
  102. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.d.ts +25 -0
  103. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +153 -0
  104. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -0
  105. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.d.ts +2 -0
  106. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js +30 -0
  107. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js.map +1 -0
  108. package/cjs/extensions/forms/Form/SubmitConfirmation/index.d.ts +2 -0
  109. package/cjs/extensions/forms/Form/SubmitConfirmation/index.js +27 -0
  110. package/cjs/extensions/forms/Form/SubmitConfirmation/index.js.map +1 -0
  111. package/cjs/extensions/forms/Form/Visibility/Visibility.js +3 -3
  112. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  113. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.d.ts +1 -0
  114. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  115. package/cjs/extensions/forms/Form/Visibility/useVisibility.js +1 -1
  116. package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  117. package/cjs/extensions/forms/Form/data-context/getData.js +1 -1
  118. package/cjs/extensions/forms/Form/data-context/getData.js.map +1 -1
  119. package/cjs/extensions/forms/Form/data-context/useData.d.ts +3 -2
  120. package/cjs/extensions/forms/Form/data-context/useData.js +13 -15
  121. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  122. package/{es/extensions/forms/Form/data-context/useError.d.ts → cjs/extensions/forms/Form/data-context/useValidation.d.ts} +3 -1
  123. package/cjs/extensions/forms/Form/data-context/useValidation.js +60 -0
  124. package/cjs/extensions/forms/Form/data-context/useValidation.js.map +1 -0
  125. package/cjs/extensions/forms/Form/index.d.ts +13 -2
  126. package/cjs/extensions/forms/Form/index.js +19 -9
  127. package/cjs/extensions/forms/Form/index.js.map +1 -1
  128. package/cjs/extensions/forms/Iterate/Array/Array.js +4 -12
  129. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  130. package/cjs/extensions/forms/Iterate/Count/Count.js +1 -1
  131. package/cjs/extensions/forms/Iterate/Count/Count.js.map +1 -1
  132. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
  133. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  134. package/cjs/extensions/forms/Tools/GenerateSchema.d.ts +1 -1
  135. package/cjs/extensions/forms/Tools/GenerateSchema.js +1 -1
  136. package/cjs/extensions/forms/Tools/GenerateSchema.js.map +1 -1
  137. package/cjs/extensions/forms/Tools/ListAllProps.d.ts +1 -1
  138. package/cjs/extensions/forms/Tools/ListAllProps.js +1 -1
  139. package/cjs/extensions/forms/Tools/ListAllProps.js.map +1 -1
  140. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +3 -3
  141. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  142. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +2 -2
  143. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
  144. package/cjs/extensions/forms/Value/Currency/CurrencyDocs.d.ts +2 -0
  145. package/cjs/extensions/forms/Value/Currency/CurrencyDocs.js +28 -0
  146. package/cjs/extensions/forms/Value/Currency/CurrencyDocs.js.map +1 -0
  147. package/cjs/extensions/forms/Value/Date/Date.js +25 -16
  148. package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
  149. package/cjs/extensions/forms/Value/Number/NumberDocs.js +9 -2
  150. package/cjs/extensions/forms/Value/Number/NumberDocs.js.map +1 -1
  151. package/cjs/extensions/forms/Value/Provider/ValueProvider.d.ts +13 -0
  152. package/cjs/extensions/forms/Value/Provider/ValueProvider.js +27 -0
  153. package/cjs/extensions/forms/Value/Provider/ValueProvider.js.map +1 -0
  154. package/cjs/extensions/forms/Value/Provider/ValueProviderContext.d.ts +9 -0
  155. package/cjs/extensions/forms/Value/Provider/ValueProviderContext.js +15 -0
  156. package/cjs/extensions/forms/Value/Provider/ValueProviderContext.js.map +1 -0
  157. package/cjs/extensions/forms/Value/Provider/ValueProviderDocs.d.ts +3 -0
  158. package/cjs/extensions/forms/Value/Provider/ValueProviderDocs.js +23 -0
  159. package/cjs/extensions/forms/Value/Provider/ValueProviderDocs.js.map +1 -0
  160. package/cjs/extensions/forms/Value/Provider/index.d.ts +2 -0
  161. package/cjs/extensions/forms/Value/Provider/index.js +27 -0
  162. package/cjs/extensions/forms/Value/Provider/index.js.map +1 -0
  163. package/cjs/extensions/forms/Value/Provider/useValueProvider.d.ts +31 -0
  164. package/cjs/extensions/forms/Value/Provider/useValueProvider.js +50 -0
  165. package/cjs/extensions/forms/Value/Provider/useValueProvider.js.map +1 -0
  166. package/cjs/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -1
  167. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js +11 -3
  168. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  169. package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.d.ts +3 -0
  170. package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.js +37 -0
  171. package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -0
  172. package/cjs/extensions/forms/Value/index.d.ts +3 -2
  173. package/cjs/extensions/forms/Value/index.js +9 -2
  174. package/cjs/extensions/forms/Value/index.js.map +1 -1
  175. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  176. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  177. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +2 -1
  178. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  179. package/cjs/extensions/forms/Wizard/Step/Step.js +2 -2
  180. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  181. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -5
  182. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  183. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -4
  184. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +1 -2
  185. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +13 -15
  186. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  187. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +0 -5
  188. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
  189. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +0 -2
  190. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +0 -2
  191. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  192. package/cjs/extensions/forms/hooks/useDataValue.d.ts +1 -1
  193. package/cjs/extensions/forms/hooks/useDataValue.js +1 -1
  194. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  195. package/cjs/extensions/forms/hooks/useExternalValue.js +1 -1
  196. package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
  197. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +2 -1
  198. package/cjs/extensions/forms/hooks/useFieldProps.js +111 -56
  199. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  200. package/cjs/extensions/forms/hooks/usePath.js +7 -4
  201. package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
  202. package/cjs/extensions/forms/hooks/useValueProps.d.ts +1 -1
  203. package/cjs/extensions/forms/hooks/useValueProps.js +7 -2
  204. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  205. package/cjs/extensions/forms/style/dnb-forms.css +10 -21
  206. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  207. package/cjs/extensions/forms/types.d.ts +7 -3
  208. package/cjs/extensions/forms/types.js.map +1 -1
  209. package/cjs/extensions/forms/utils/ajv.d.ts +2 -1
  210. package/cjs/extensions/forms/utils/ajv.js +1 -1
  211. package/cjs/extensions/forms/utils/ajv.js.map +1 -1
  212. package/cjs/extensions/forms/utils/index.d.ts +1 -0
  213. package/cjs/extensions/forms/utils/index.js +12 -0
  214. package/cjs/extensions/forms/utils/index.js.map +1 -1
  215. package/cjs/extensions/forms/utils/json-pointer/export.d.ts +1 -0
  216. package/cjs/extensions/forms/utils/json-pointer/export.js +17 -0
  217. package/cjs/extensions/forms/utils/json-pointer/export.js.map +1 -0
  218. package/cjs/extensions/forms/utils/json-pointer/json-pointer.d.ts +43 -0
  219. package/cjs/extensions/forms/utils/json-pointer/json-pointer.js +139 -0
  220. package/cjs/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -0
  221. package/cjs/extensions/forms/utils/json-pointer.d.ts +3 -0
  222. package/cjs/extensions/forms/utils/json-pointer.js +24 -0
  223. package/cjs/extensions/forms/utils/json-pointer.js.map +1 -0
  224. package/cjs/shared/Context.d.ts +2 -0
  225. package/cjs/shared/Context.js +1 -1
  226. package/cjs/shared/Context.js.map +1 -1
  227. package/cjs/shared/Eufemia.d.ts +1 -1
  228. package/cjs/shared/Eufemia.js +2 -2
  229. package/cjs/shared/Eufemia.js.map +1 -1
  230. package/cjs/shared/MediaQueryUtils.d.ts +0 -1
  231. package/cjs/shared/MediaQueryUtils.js +17 -14
  232. package/cjs/shared/MediaQueryUtils.js.map +1 -1
  233. package/cjs/shared/helpers/extendPropsWithContext.js +3 -3
  234. package/cjs/shared/helpers/extendPropsWithContext.js.map +1 -1
  235. package/cjs/shared/helpers/withSnakeCaseProps.js.map +1 -1
  236. package/cjs/style/core/scopes.scss +1 -1
  237. package/cjs/style/core/utilities.scss +10 -5
  238. package/cjs/style/dnb-ui-basis.css +1 -1
  239. package/cjs/style/dnb-ui-basis.min.css +1 -1
  240. package/cjs/style/dnb-ui-body.css +1 -1
  241. package/cjs/style/dnb-ui-body.min.css +1 -1
  242. package/cjs/style/dnb-ui-components.css +35 -45
  243. package/cjs/style/dnb-ui-components.min.css +5 -5
  244. package/cjs/style/dnb-ui-core.css +1 -1
  245. package/cjs/style/dnb-ui-core.min.css +1 -1
  246. package/cjs/style/dnb-ui-elements.css +1 -1
  247. package/cjs/style/dnb-ui-elements.min.css +1 -1
  248. package/cjs/style/dnb-ui-extensions.css +10 -21
  249. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  250. package/cjs/style/dnb-ui-forms.css +10 -21
  251. package/cjs/style/dnb-ui-forms.min.css +1 -1
  252. package/cjs/style/dnb-ui-forms.scss +0 -1
  253. package/cjs/style/dnb-ui-fragments.css +2 -2
  254. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  255. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
  256. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  257. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +46 -67
  258. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  259. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  260. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  261. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +10 -21
  262. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  263. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +10 -21
  264. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  265. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
  266. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  267. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +46 -67
  268. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
  269. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  270. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  271. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +10 -21
  272. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  273. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +10 -21
  274. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  275. package/cjs/style/themes/theme-ui/ui-theme-basis.css +1 -1
  276. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  277. package/cjs/style/themes/theme-ui/ui-theme-components.css +46 -67
  278. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  279. package/cjs/style/themes/theme-ui/ui-theme-elements.css +1 -1
  280. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  281. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +10 -21
  282. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  283. package/cjs/style/themes/theme-ui/ui-theme-forms.css +10 -21
  284. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  285. package/cjs/style/themes/theme-ui/ui-theme-tags.css +1 -1
  286. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  287. package/components/accordion/style/dnb-accordion.css +3 -3
  288. package/components/accordion/style/dnb-accordion.min.css +1 -1
  289. package/components/autocomplete/style/dnb-autocomplete.css +1 -1
  290. package/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  291. package/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
  292. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  293. package/components/button/Button.d.ts +2 -2
  294. package/components/card/style/dnb-card.css +1 -1
  295. package/components/card/style/dnb-card.min.css +1 -1
  296. package/components/date-picker/DatePicker.d.ts +13 -4
  297. package/components/drawer/style/dnb-drawer.css +3 -3
  298. package/components/drawer/style/dnb-drawer.min.css +1 -1
  299. package/components/dropdown/style/dnb-dropdown.css +1 -1
  300. package/components/dropdown/style/dnb-dropdown.min.css +1 -1
  301. package/components/form-row/style/dnb-form-row.css +1 -1
  302. package/components/form-row/style/dnb-form-row.min.css +1 -1
  303. package/components/form-status/FormStatus.d.ts +1 -1
  304. package/components/grid/style/dnb-grid.css +6 -6
  305. package/components/grid/style/dnb-grid.min.css +1 -1
  306. package/components/input-masked/InputMasked.d.ts +1 -1
  307. package/components/input-masked/InputMaskedDocs.js +1 -1
  308. package/components/input-masked/InputMaskedDocs.js.map +1 -1
  309. package/components/number-format/NumberFormat.d.ts +14 -28
  310. package/components/number-format/NumberFormat.js +6 -2
  311. package/components/number-format/NumberFormat.js.map +1 -1
  312. package/components/number-format/NumberFormatDocs.d.ts +3 -0
  313. package/components/number-format/NumberFormatDocs.js +153 -0
  314. package/components/number-format/NumberFormatDocs.js.map +1 -0
  315. package/components/number-format/NumberUtils.d.ts +21 -1
  316. package/components/number-format/NumberUtils.js +32 -8
  317. package/components/number-format/NumberUtils.js.map +1 -1
  318. package/components/pagination/Pagination.d.ts +1 -1
  319. package/components/section/style/dnb-section.css +2 -2
  320. package/components/section/style/dnb-section.min.css +2 -2
  321. package/components/space/style/dnb-space.css +2 -2
  322. package/components/space/style/dnb-space.min.css +1 -1
  323. package/components/switch/Switch.d.ts +100 -91
  324. package/components/switch/Switch.js +165 -238
  325. package/components/switch/Switch.js.map +1 -1
  326. package/components/switch/SwitchDocs.d.ts +3 -0
  327. package/components/switch/SwitchDocs.js +85 -0
  328. package/components/switch/SwitchDocs.js.map +1 -0
  329. package/components/tabs/style/dnb-tabs.css +1 -0
  330. package/components/tabs/style/dnb-tabs.min.css +1 -1
  331. package/components/tabs/style/dnb-tabs.scss +1 -0
  332. package/components/toggle-button/style/dnb-toggle-button.css +1 -1
  333. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  334. package/es/components/accordion/style/dnb-accordion.css +3 -3
  335. package/es/components/accordion/style/dnb-accordion.min.css +1 -1
  336. package/es/components/autocomplete/style/dnb-autocomplete.css +1 -1
  337. package/es/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  338. package/es/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
  339. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  340. package/es/components/button/Button.d.ts +2 -2
  341. package/es/components/card/style/dnb-card.css +1 -1
  342. package/es/components/card/style/dnb-card.min.css +1 -1
  343. package/es/components/date-picker/DatePicker.d.ts +13 -4
  344. package/es/components/drawer/style/dnb-drawer.css +3 -3
  345. package/es/components/drawer/style/dnb-drawer.min.css +1 -1
  346. package/es/components/dropdown/style/dnb-dropdown.css +1 -1
  347. package/es/components/dropdown/style/dnb-dropdown.min.css +1 -1
  348. package/es/components/form-row/style/dnb-form-row.css +1 -1
  349. package/es/components/form-row/style/dnb-form-row.min.css +1 -1
  350. package/es/components/form-status/FormStatus.d.ts +1 -1
  351. package/es/components/grid/style/dnb-grid.css +6 -6
  352. package/es/components/grid/style/dnb-grid.min.css +1 -1
  353. package/es/components/input-masked/InputMasked.d.ts +1 -1
  354. package/es/components/input-masked/InputMaskedDocs.js +1 -1
  355. package/es/components/input-masked/InputMaskedDocs.js.map +1 -1
  356. package/es/components/number-format/NumberFormat.d.ts +14 -28
  357. package/es/components/number-format/NumberFormat.js +6 -2
  358. package/es/components/number-format/NumberFormat.js.map +1 -1
  359. package/es/components/number-format/NumberFormatDocs.d.ts +3 -0
  360. package/es/components/number-format/NumberFormatDocs.js +150 -0
  361. package/es/components/number-format/NumberFormatDocs.js.map +1 -0
  362. package/es/components/number-format/NumberUtils.d.ts +21 -1
  363. package/es/components/number-format/NumberUtils.js +31 -7
  364. package/es/components/number-format/NumberUtils.js.map +1 -1
  365. package/es/components/pagination/Pagination.d.ts +1 -1
  366. package/es/components/section/style/dnb-section.css +2 -2
  367. package/es/components/section/style/dnb-section.min.css +2 -2
  368. package/es/components/space/style/dnb-space.css +2 -2
  369. package/es/components/space/style/dnb-space.min.css +1 -1
  370. package/es/components/switch/Switch.d.ts +100 -91
  371. package/es/components/switch/Switch.js +164 -238
  372. package/es/components/switch/Switch.js.map +1 -1
  373. package/es/components/switch/SwitchDocs.d.ts +3 -0
  374. package/es/components/switch/SwitchDocs.js +85 -0
  375. package/es/components/switch/SwitchDocs.js.map +1 -0
  376. package/es/components/tabs/style/dnb-tabs.css +1 -0
  377. package/es/components/tabs/style/dnb-tabs.min.css +1 -1
  378. package/es/components/tabs/style/dnb-tabs.scss +1 -0
  379. package/es/components/toggle-button/style/dnb-toggle-button.css +1 -1
  380. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  381. package/es/extensions/forms/DataContext/At/At.js +1 -1
  382. package/es/extensions/forms/DataContext/At/At.js.map +1 -1
  383. package/es/extensions/forms/DataContext/Context.d.ts +20 -9
  384. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  385. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
  386. package/es/extensions/forms/DataContext/Provider/Provider.js +100 -58
  387. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  388. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
  389. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  390. package/es/extensions/forms/Field/Date/Date.d.ts +6 -0
  391. package/es/extensions/forms/Field/Date/Date.js +20 -4
  392. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  393. package/{cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts → es/extensions/forms/Field/Date/DateDocs.d.ts} +1 -1
  394. package/es/extensions/forms/Field/Date/DateDocs.js +13 -0
  395. package/es/extensions/forms/Field/Date/DateDocs.js.map +1 -0
  396. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js +1 -1
  397. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  398. package/{extensions/forms/Form/FieldProps/FieldProps.d.ts → es/extensions/forms/Field/Provider/FieldProvider.d.ts} +5 -7
  399. package/es/extensions/forms/Field/Provider/FieldProvider.js +24 -0
  400. package/es/extensions/forms/Field/Provider/FieldProvider.js.map +1 -0
  401. package/{extensions/forms/Form/FieldProps/FieldPropsContext.d.ts → es/extensions/forms/Field/Provider/FieldProviderContext.d.ts} +3 -3
  402. package/es/extensions/forms/Field/Provider/FieldProviderContext.js +7 -0
  403. package/es/extensions/forms/Field/Provider/FieldProviderContext.js.map +1 -0
  404. package/es/extensions/forms/Field/Provider/FieldProviderDocs.d.ts +2 -0
  405. package/{extensions/forms/Form/FieldProps/FieldPropsDocs.js → es/extensions/forms/Field/Provider/FieldProviderDocs.js} +2 -2
  406. package/es/extensions/forms/Field/Provider/FieldProviderDocs.js.map +1 -0
  407. package/es/extensions/forms/Field/Provider/index.d.ts +2 -0
  408. package/es/extensions/forms/Field/Provider/index.js +3 -0
  409. package/es/extensions/forms/Field/Provider/index.js.map +1 -0
  410. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +121 -0
  411. package/es/extensions/forms/{Form/FieldProps/FieldProps.js → Field/Provider/useFieldProvider.js} +34 -32
  412. package/es/extensions/forms/Field/Provider/useFieldProvider.js.map +1 -0
  413. package/es/extensions/forms/Field/index.d.ts +1 -0
  414. package/es/extensions/forms/Field/index.js +1 -0
  415. package/es/extensions/forms/Field/index.js.map +1 -1
  416. package/es/extensions/forms/FieldBlock/FieldBlock.js +12 -1
  417. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  418. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  419. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  420. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
  421. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  422. package/es/extensions/forms/Form/Element/Element.js +4 -4
  423. package/es/extensions/forms/Form/Element/Element.js.map +1 -1
  424. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  425. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  426. package/es/extensions/forms/Form/Isolation/Isolation.d.ts +2 -2
  427. package/es/extensions/forms/Form/Isolation/Isolation.js +1 -1
  428. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  429. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
  430. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  431. package/es/extensions/forms/Form/Section/Section.d.ts +2 -1
  432. package/es/extensions/forms/Form/Section/Section.js +1 -1
  433. package/es/extensions/forms/Form/Section/Section.js.map +1 -1
  434. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.d.ts +25 -0
  435. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +140 -0
  436. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -0
  437. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.d.ts +2 -0
  438. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js +23 -0
  439. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js.map +1 -0
  440. package/es/extensions/forms/Form/SubmitConfirmation/index.d.ts +2 -0
  441. package/es/extensions/forms/Form/SubmitConfirmation/index.js +3 -0
  442. package/es/extensions/forms/Form/SubmitConfirmation/index.js.map +1 -0
  443. package/es/extensions/forms/Form/Visibility/Visibility.js +3 -3
  444. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  445. package/es/extensions/forms/Form/Visibility/VisibilityContext.d.ts +1 -0
  446. package/es/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  447. package/es/extensions/forms/Form/Visibility/useVisibility.js +1 -1
  448. package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  449. package/es/extensions/forms/Form/data-context/getData.js +1 -1
  450. package/es/extensions/forms/Form/data-context/getData.js.map +1 -1
  451. package/es/extensions/forms/Form/data-context/useData.d.ts +3 -2
  452. package/es/extensions/forms/Form/data-context/useData.js +13 -15
  453. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  454. package/{extensions/forms/Form/data-context/useError.d.ts → es/extensions/forms/Form/data-context/useValidation.d.ts} +3 -1
  455. package/es/extensions/forms/Form/data-context/useValidation.js +52 -0
  456. package/es/extensions/forms/Form/data-context/useValidation.js.map +1 -0
  457. package/es/extensions/forms/Form/index.d.ts +13 -2
  458. package/es/extensions/forms/Form/index.js +5 -2
  459. package/es/extensions/forms/Form/index.js.map +1 -1
  460. package/es/extensions/forms/Iterate/Array/Array.js +4 -12
  461. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  462. package/es/extensions/forms/Iterate/Count/Count.js +1 -1
  463. package/es/extensions/forms/Iterate/Count/Count.js.map +1 -1
  464. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
  465. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  466. package/es/extensions/forms/Tools/GenerateSchema.d.ts +1 -1
  467. package/es/extensions/forms/Tools/GenerateSchema.js +1 -1
  468. package/es/extensions/forms/Tools/GenerateSchema.js.map +1 -1
  469. package/es/extensions/forms/Tools/ListAllProps.d.ts +1 -1
  470. package/es/extensions/forms/Tools/ListAllProps.js +1 -1
  471. package/es/extensions/forms/Tools/ListAllProps.js.map +1 -1
  472. package/es/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +3 -3
  473. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  474. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +2 -2
  475. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
  476. package/es/extensions/forms/Value/Currency/CurrencyDocs.d.ts +2 -0
  477. package/es/extensions/forms/Value/Currency/CurrencyDocs.js +19 -0
  478. package/es/extensions/forms/Value/Currency/CurrencyDocs.js.map +1 -0
  479. package/es/extensions/forms/Value/Date/Date.js +25 -16
  480. package/es/extensions/forms/Value/Date/Date.js.map +1 -1
  481. package/es/extensions/forms/Value/Number/NumberDocs.js +7 -2
  482. package/es/extensions/forms/Value/Number/NumberDocs.js.map +1 -1
  483. package/es/extensions/forms/Value/Provider/ValueProvider.d.ts +13 -0
  484. package/es/extensions/forms/Value/Provider/ValueProvider.js +18 -0
  485. package/es/extensions/forms/Value/Provider/ValueProvider.js.map +1 -0
  486. package/es/extensions/forms/Value/Provider/ValueProviderContext.d.ts +9 -0
  487. package/es/extensions/forms/Value/Provider/ValueProviderContext.js +7 -0
  488. package/es/extensions/forms/Value/Provider/ValueProviderContext.js.map +1 -0
  489. package/es/extensions/forms/Value/Provider/ValueProviderDocs.d.ts +3 -0
  490. package/es/extensions/forms/Value/Provider/ValueProviderDocs.js +13 -0
  491. package/es/extensions/forms/Value/Provider/ValueProviderDocs.js.map +1 -0
  492. package/es/extensions/forms/Value/Provider/index.d.ts +2 -0
  493. package/es/extensions/forms/Value/Provider/index.js +3 -0
  494. package/es/extensions/forms/Value/Provider/index.js.map +1 -0
  495. package/es/extensions/forms/Value/Provider/useValueProvider.d.ts +31 -0
  496. package/es/extensions/forms/Value/Provider/useValueProvider.js +40 -0
  497. package/es/extensions/forms/Value/Provider/useValueProvider.js.map +1 -0
  498. package/es/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -1
  499. package/es/extensions/forms/Value/SummaryList/SummaryList.js +11 -3
  500. package/es/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  501. package/es/extensions/forms/Value/SummaryList/SummaryListDocs.d.ts +3 -0
  502. package/es/extensions/forms/Value/SummaryList/SummaryListDocs.js +29 -0
  503. package/es/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -0
  504. package/es/extensions/forms/Value/index.d.ts +3 -2
  505. package/es/extensions/forms/Value/index.js +3 -2
  506. package/es/extensions/forms/Value/index.js.map +1 -1
  507. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  508. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  509. package/es/extensions/forms/Wizard/Container/WizardContainer.js +2 -1
  510. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  511. package/es/extensions/forms/Wizard/Step/Step.js +2 -2
  512. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  513. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -5
  514. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  515. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -4
  516. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +1 -2
  517. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +13 -15
  518. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  519. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +0 -5
  520. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
  521. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +0 -2
  522. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +0 -2
  523. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  524. package/es/extensions/forms/hooks/useDataValue.d.ts +1 -1
  525. package/es/extensions/forms/hooks/useDataValue.js +1 -1
  526. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  527. package/es/extensions/forms/hooks/useExternalValue.js +1 -1
  528. package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
  529. package/es/extensions/forms/hooks/useFieldProps.d.ts +2 -1
  530. package/es/extensions/forms/hooks/useFieldProps.js +111 -56
  531. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  532. package/es/extensions/forms/hooks/usePath.js +7 -4
  533. package/es/extensions/forms/hooks/usePath.js.map +1 -1
  534. package/es/extensions/forms/hooks/useValueProps.d.ts +1 -1
  535. package/es/extensions/forms/hooks/useValueProps.js +7 -2
  536. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  537. package/es/extensions/forms/style/dnb-forms.css +10 -21
  538. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  539. package/es/extensions/forms/types.d.ts +7 -3
  540. package/es/extensions/forms/types.js.map +1 -1
  541. package/es/extensions/forms/utils/ajv.d.ts +2 -1
  542. package/es/extensions/forms/utils/ajv.js +1 -1
  543. package/es/extensions/forms/utils/ajv.js.map +1 -1
  544. package/es/extensions/forms/utils/index.d.ts +1 -0
  545. package/es/extensions/forms/utils/index.js +1 -0
  546. package/es/extensions/forms/utils/index.js.map +1 -1
  547. package/es/extensions/forms/utils/json-pointer/export.d.ts +1 -0
  548. package/es/extensions/forms/utils/json-pointer/export.js +1 -0
  549. package/es/extensions/forms/utils/json-pointer/export.js.map +1 -0
  550. package/es/extensions/forms/utils/json-pointer/json-pointer.d.ts +43 -0
  551. package/es/extensions/forms/utils/json-pointer/json-pointer.js +122 -0
  552. package/es/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -0
  553. package/es/extensions/forms/utils/json-pointer.d.ts +3 -0
  554. package/es/extensions/forms/utils/json-pointer.js +4 -0
  555. package/es/extensions/forms/utils/json-pointer.js.map +1 -0
  556. package/es/shared/Context.d.ts +2 -0
  557. package/es/shared/Context.js +1 -1
  558. package/es/shared/Context.js.map +1 -1
  559. package/es/shared/Eufemia.d.ts +1 -1
  560. package/es/shared/Eufemia.js +2 -2
  561. package/es/shared/Eufemia.js.map +1 -1
  562. package/es/shared/MediaQueryUtils.d.ts +0 -1
  563. package/es/shared/MediaQueryUtils.js +17 -14
  564. package/es/shared/MediaQueryUtils.js.map +1 -1
  565. package/es/shared/helpers/extendPropsWithContext.js +3 -3
  566. package/es/shared/helpers/extendPropsWithContext.js.map +1 -1
  567. package/es/shared/helpers/withSnakeCaseProps.js.map +1 -1
  568. package/es/style/core/scopes.scss +1 -1
  569. package/es/style/core/utilities.scss +10 -5
  570. package/es/style/dnb-ui-basis.css +1 -1
  571. package/es/style/dnb-ui-basis.min.css +1 -1
  572. package/es/style/dnb-ui-body.css +1 -1
  573. package/es/style/dnb-ui-body.min.css +1 -1
  574. package/es/style/dnb-ui-components.css +35 -45
  575. package/es/style/dnb-ui-components.min.css +5 -5
  576. package/es/style/dnb-ui-core.css +1 -1
  577. package/es/style/dnb-ui-core.min.css +1 -1
  578. package/es/style/dnb-ui-elements.css +1 -1
  579. package/es/style/dnb-ui-elements.min.css +1 -1
  580. package/es/style/dnb-ui-extensions.css +10 -21
  581. package/es/style/dnb-ui-extensions.min.css +1 -1
  582. package/es/style/dnb-ui-forms.css +10 -21
  583. package/es/style/dnb-ui-forms.min.css +1 -1
  584. package/es/style/dnb-ui-forms.scss +0 -1
  585. package/es/style/dnb-ui-fragments.css +2 -2
  586. package/es/style/dnb-ui-fragments.min.css +1 -1
  587. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
  588. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  589. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +46 -67
  590. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  591. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  592. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  593. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +10 -21
  594. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  595. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +10 -21
  596. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  597. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
  598. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  599. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +46 -67
  600. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
  601. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  602. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  603. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +10 -21
  604. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  605. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +10 -21
  606. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  607. package/es/style/themes/theme-ui/ui-theme-basis.css +1 -1
  608. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  609. package/es/style/themes/theme-ui/ui-theme-components.css +46 -67
  610. package/es/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  611. package/es/style/themes/theme-ui/ui-theme-elements.css +1 -1
  612. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  613. package/es/style/themes/theme-ui/ui-theme-extensions.css +10 -21
  614. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  615. package/es/style/themes/theme-ui/ui-theme-forms.css +10 -21
  616. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  617. package/es/style/themes/theme-ui/ui-theme-tags.css +1 -1
  618. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  619. package/esm/dnb-ui-basis.min.mjs +1 -1
  620. package/esm/dnb-ui-components.min.mjs +1 -1
  621. package/esm/dnb-ui-elements.min.mjs +1 -1
  622. package/esm/dnb-ui-extensions.min.mjs +5 -5
  623. package/esm/dnb-ui-lib.min.mjs +1 -1
  624. package/extensions/forms/DataContext/At/At.js +1 -1
  625. package/extensions/forms/DataContext/At/At.js.map +1 -1
  626. package/extensions/forms/DataContext/Context.d.ts +20 -9
  627. package/extensions/forms/DataContext/Context.js.map +1 -1
  628. package/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
  629. package/extensions/forms/DataContext/Provider/Provider.js +104 -59
  630. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  631. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
  632. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  633. package/extensions/forms/Field/Date/Date.d.ts +6 -0
  634. package/extensions/forms/Field/Date/Date.js +20 -4
  635. package/extensions/forms/Field/Date/Date.js.map +1 -1
  636. package/{es/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts → extensions/forms/Field/Date/DateDocs.d.ts} +1 -1
  637. package/extensions/forms/Field/Date/DateDocs.js +13 -0
  638. package/extensions/forms/Field/Date/DateDocs.js.map +1 -0
  639. package/extensions/forms/Field/Indeterminate/useDependencePaths.js +1 -1
  640. package/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  641. package/{cjs/extensions/forms/Form/FieldProps/FieldProps.d.ts → extensions/forms/Field/Provider/FieldProvider.d.ts} +5 -7
  642. package/extensions/forms/Field/Provider/FieldProvider.js +24 -0
  643. package/extensions/forms/Field/Provider/FieldProvider.js.map +1 -0
  644. package/{es/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts → extensions/forms/Field/Provider/FieldProviderContext.d.ts} +3 -3
  645. package/extensions/forms/Field/Provider/FieldProviderContext.js +7 -0
  646. package/extensions/forms/Field/Provider/FieldProviderContext.js.map +1 -0
  647. package/extensions/forms/Field/Provider/FieldProviderDocs.d.ts +2 -0
  648. package/{es/extensions/forms/Form/FieldProps/FieldPropsDocs.js → extensions/forms/Field/Provider/FieldProviderDocs.js} +2 -2
  649. package/extensions/forms/Field/Provider/FieldProviderDocs.js.map +1 -0
  650. package/extensions/forms/Field/Provider/index.d.ts +2 -0
  651. package/extensions/forms/Field/Provider/index.js +3 -0
  652. package/extensions/forms/Field/Provider/index.js.map +1 -0
  653. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +121 -0
  654. package/extensions/forms/{Form/FieldProps/FieldProps.js → Field/Provider/useFieldProvider.js} +34 -32
  655. package/extensions/forms/Field/Provider/useFieldProvider.js.map +1 -0
  656. package/extensions/forms/Field/index.d.ts +1 -0
  657. package/extensions/forms/Field/index.js +1 -0
  658. package/extensions/forms/Field/index.js.map +1 -1
  659. package/extensions/forms/FieldBlock/FieldBlock.js +12 -1
  660. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  661. package/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  662. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  663. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
  664. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  665. package/extensions/forms/Form/Element/Element.js +4 -4
  666. package/extensions/forms/Form/Element/Element.js.map +1 -1
  667. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  668. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  669. package/extensions/forms/Form/Isolation/Isolation.d.ts +2 -2
  670. package/extensions/forms/Form/Isolation/Isolation.js +1 -1
  671. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  672. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
  673. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  674. package/extensions/forms/Form/Section/Section.d.ts +2 -1
  675. package/extensions/forms/Form/Section/Section.js +1 -1
  676. package/extensions/forms/Form/Section/Section.js.map +1 -1
  677. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.d.ts +25 -0
  678. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +142 -0
  679. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -0
  680. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.d.ts +2 -0
  681. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js +23 -0
  682. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js.map +1 -0
  683. package/extensions/forms/Form/SubmitConfirmation/index.d.ts +2 -0
  684. package/extensions/forms/Form/SubmitConfirmation/index.js +3 -0
  685. package/extensions/forms/Form/SubmitConfirmation/index.js.map +1 -0
  686. package/extensions/forms/Form/Visibility/Visibility.js +3 -3
  687. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  688. package/extensions/forms/Form/Visibility/VisibilityContext.d.ts +1 -0
  689. package/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  690. package/extensions/forms/Form/Visibility/useVisibility.js +1 -1
  691. package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  692. package/extensions/forms/Form/data-context/getData.js +1 -1
  693. package/extensions/forms/Form/data-context/getData.js.map +1 -1
  694. package/extensions/forms/Form/data-context/useData.d.ts +3 -2
  695. package/extensions/forms/Form/data-context/useData.js +13 -15
  696. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  697. package/{cjs/extensions/forms/Form/data-context/useError.d.ts → extensions/forms/Form/data-context/useValidation.d.ts} +3 -1
  698. package/extensions/forms/Form/data-context/useValidation.js +54 -0
  699. package/extensions/forms/Form/data-context/useValidation.js.map +1 -0
  700. package/extensions/forms/Form/index.d.ts +13 -2
  701. package/extensions/forms/Form/index.js +5 -2
  702. package/extensions/forms/Form/index.js.map +1 -1
  703. package/extensions/forms/Iterate/Array/Array.js +4 -12
  704. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  705. package/extensions/forms/Iterate/Count/Count.js +1 -1
  706. package/extensions/forms/Iterate/Count/Count.js.map +1 -1
  707. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
  708. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  709. package/extensions/forms/Tools/GenerateSchema.d.ts +1 -1
  710. package/extensions/forms/Tools/GenerateSchema.js +1 -1
  711. package/extensions/forms/Tools/GenerateSchema.js.map +1 -1
  712. package/extensions/forms/Tools/ListAllProps.d.ts +1 -1
  713. package/extensions/forms/Tools/ListAllProps.js +1 -1
  714. package/extensions/forms/Tools/ListAllProps.js.map +1 -1
  715. package/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +3 -3
  716. package/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  717. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +2 -2
  718. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
  719. package/extensions/forms/Value/Currency/CurrencyDocs.d.ts +2 -0
  720. package/extensions/forms/Value/Currency/CurrencyDocs.js +19 -0
  721. package/extensions/forms/Value/Currency/CurrencyDocs.js.map +1 -0
  722. package/extensions/forms/Value/Date/Date.js +25 -16
  723. package/extensions/forms/Value/Date/Date.js.map +1 -1
  724. package/extensions/forms/Value/Number/NumberDocs.js +7 -2
  725. package/extensions/forms/Value/Number/NumberDocs.js.map +1 -1
  726. package/extensions/forms/Value/Provider/ValueProvider.d.ts +13 -0
  727. package/extensions/forms/Value/Provider/ValueProvider.js +18 -0
  728. package/extensions/forms/Value/Provider/ValueProvider.js.map +1 -0
  729. package/extensions/forms/Value/Provider/ValueProviderContext.d.ts +9 -0
  730. package/extensions/forms/Value/Provider/ValueProviderContext.js +7 -0
  731. package/extensions/forms/Value/Provider/ValueProviderContext.js.map +1 -0
  732. package/extensions/forms/Value/Provider/ValueProviderDocs.d.ts +3 -0
  733. package/extensions/forms/Value/Provider/ValueProviderDocs.js +13 -0
  734. package/extensions/forms/Value/Provider/ValueProviderDocs.js.map +1 -0
  735. package/extensions/forms/Value/Provider/index.d.ts +2 -0
  736. package/extensions/forms/Value/Provider/index.js +3 -0
  737. package/extensions/forms/Value/Provider/index.js.map +1 -0
  738. package/extensions/forms/Value/Provider/useValueProvider.d.ts +31 -0
  739. package/extensions/forms/Value/Provider/useValueProvider.js +40 -0
  740. package/extensions/forms/Value/Provider/useValueProvider.js.map +1 -0
  741. package/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -1
  742. package/extensions/forms/Value/SummaryList/SummaryList.js +11 -3
  743. package/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  744. package/extensions/forms/Value/SummaryList/SummaryListDocs.d.ts +3 -0
  745. package/extensions/forms/Value/SummaryList/SummaryListDocs.js +29 -0
  746. package/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -0
  747. package/extensions/forms/Value/index.d.ts +3 -2
  748. package/extensions/forms/Value/index.js +3 -2
  749. package/extensions/forms/Value/index.js.map +1 -1
  750. package/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  751. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  752. package/extensions/forms/Wizard/Container/WizardContainer.js +2 -1
  753. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  754. package/extensions/forms/Wizard/Step/Step.js +2 -2
  755. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  756. package/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -5
  757. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  758. package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -4
  759. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +1 -2
  760. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +13 -15
  761. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  762. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +0 -5
  763. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
  764. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +0 -2
  765. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +0 -2
  766. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  767. package/extensions/forms/hooks/useDataValue.d.ts +1 -1
  768. package/extensions/forms/hooks/useDataValue.js +1 -1
  769. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  770. package/extensions/forms/hooks/useExternalValue.js +1 -1
  771. package/extensions/forms/hooks/useExternalValue.js.map +1 -1
  772. package/extensions/forms/hooks/useFieldProps.d.ts +2 -1
  773. package/extensions/forms/hooks/useFieldProps.js +111 -56
  774. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  775. package/extensions/forms/hooks/usePath.js +7 -4
  776. package/extensions/forms/hooks/usePath.js.map +1 -1
  777. package/extensions/forms/hooks/useValueProps.d.ts +1 -1
  778. package/extensions/forms/hooks/useValueProps.js +7 -2
  779. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  780. package/extensions/forms/style/dnb-forms.css +10 -21
  781. package/extensions/forms/style/dnb-forms.min.css +1 -1
  782. package/extensions/forms/types.d.ts +7 -3
  783. package/extensions/forms/types.js.map +1 -1
  784. package/extensions/forms/utils/ajv.d.ts +2 -1
  785. package/extensions/forms/utils/ajv.js +1 -1
  786. package/extensions/forms/utils/ajv.js.map +1 -1
  787. package/extensions/forms/utils/index.d.ts +1 -0
  788. package/extensions/forms/utils/index.js +1 -0
  789. package/extensions/forms/utils/index.js.map +1 -1
  790. package/extensions/forms/utils/json-pointer/export.d.ts +1 -0
  791. package/extensions/forms/utils/json-pointer/export.js +1 -0
  792. package/extensions/forms/utils/json-pointer/export.js.map +1 -0
  793. package/extensions/forms/utils/json-pointer/json-pointer.d.ts +43 -0
  794. package/extensions/forms/utils/json-pointer/json-pointer.js +124 -0
  795. package/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -0
  796. package/extensions/forms/utils/json-pointer.d.ts +3 -0
  797. package/extensions/forms/utils/json-pointer.js +4 -0
  798. package/extensions/forms/utils/json-pointer.js.map +1 -0
  799. package/package.json +1 -2
  800. package/shared/Context.d.ts +2 -0
  801. package/shared/Context.js +1 -1
  802. package/shared/Context.js.map +1 -1
  803. package/shared/Eufemia.d.ts +1 -1
  804. package/shared/Eufemia.js +2 -2
  805. package/shared/Eufemia.js.map +1 -1
  806. package/shared/MediaQueryUtils.d.ts +0 -1
  807. package/shared/MediaQueryUtils.js +17 -14
  808. package/shared/MediaQueryUtils.js.map +1 -1
  809. package/shared/helpers/extendPropsWithContext.js +3 -3
  810. package/shared/helpers/extendPropsWithContext.js.map +1 -1
  811. package/shared/helpers/withSnakeCaseProps.js.map +1 -1
  812. package/style/core/scopes.scss +1 -1
  813. package/style/core/utilities.scss +10 -5
  814. package/style/dnb-ui-basis.css +1 -1
  815. package/style/dnb-ui-basis.min.css +1 -1
  816. package/style/dnb-ui-body.css +1 -1
  817. package/style/dnb-ui-body.min.css +1 -1
  818. package/style/dnb-ui-components.css +35 -45
  819. package/style/dnb-ui-components.min.css +5 -5
  820. package/style/dnb-ui-core.css +1 -1
  821. package/style/dnb-ui-core.min.css +1 -1
  822. package/style/dnb-ui-elements.css +1 -1
  823. package/style/dnb-ui-elements.min.css +1 -1
  824. package/style/dnb-ui-extensions.css +10 -21
  825. package/style/dnb-ui-extensions.min.css +1 -1
  826. package/style/dnb-ui-forms.css +10 -21
  827. package/style/dnb-ui-forms.min.css +1 -1
  828. package/style/dnb-ui-forms.scss +0 -1
  829. package/style/dnb-ui-fragments.css +2 -2
  830. package/style/dnb-ui-fragments.min.css +1 -1
  831. package/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
  832. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  833. package/style/themes/theme-eiendom/eiendom-theme-components.css +46 -67
  834. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  835. package/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  836. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  837. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +10 -21
  838. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  839. package/style/themes/theme-eiendom/eiendom-theme-forms.css +10 -21
  840. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  841. package/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
  842. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  843. package/style/themes/theme-sbanken/sbanken-theme-components.css +46 -67
  844. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
  845. package/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  846. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  847. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +10 -21
  848. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  849. package/style/themes/theme-sbanken/sbanken-theme-forms.css +10 -21
  850. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  851. package/style/themes/theme-ui/ui-theme-basis.css +1 -1
  852. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  853. package/style/themes/theme-ui/ui-theme-components.css +46 -67
  854. package/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  855. package/style/themes/theme-ui/ui-theme-elements.css +1 -1
  856. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  857. package/style/themes/theme-ui/ui-theme-extensions.css +10 -21
  858. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  859. package/style/themes/theme-ui/ui-theme-forms.css +10 -21
  860. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  861. package/style/themes/theme-ui/ui-theme-tags.css +1 -1
  862. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  863. package/umd/dnb-ui-basis.min.js +1 -1
  864. package/umd/dnb-ui-components.min.js +1 -1
  865. package/umd/dnb-ui-elements.min.js +1 -1
  866. package/umd/dnb-ui-extensions.min.js +5 -5
  867. package/umd/dnb-ui-lib.min.js +1 -1
  868. package/cjs/extensions/forms/Form/Element/style/dnb-form-element.css +0 -7
  869. package/cjs/extensions/forms/Form/Element/style/dnb-form-element.min.css +0 -1
  870. package/cjs/extensions/forms/Form/Element/style/dnb-form-element.scss +0 -9
  871. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js.map +0 -1
  872. package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +0 -1
  873. package/cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +0 -1
  874. package/cjs/extensions/forms/Form/FieldProps/index.d.ts +0 -2
  875. package/cjs/extensions/forms/Form/FieldProps/index.js.map +0 -1
  876. package/cjs/extensions/forms/Form/data-context/useError.js +0 -33
  877. package/cjs/extensions/forms/Form/data-context/useError.js.map +0 -1
  878. package/es/extensions/forms/Form/Element/style/dnb-form-element.css +0 -7
  879. package/es/extensions/forms/Form/Element/style/dnb-form-element.min.css +0 -1
  880. package/es/extensions/forms/Form/Element/style/dnb-form-element.scss +0 -9
  881. package/es/extensions/forms/Form/FieldProps/FieldProps.js.map +0 -1
  882. package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js +0 -7
  883. package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +0 -1
  884. package/es/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +0 -1
  885. package/es/extensions/forms/Form/FieldProps/index.d.ts +0 -2
  886. package/es/extensions/forms/Form/FieldProps/index.js +0 -3
  887. package/es/extensions/forms/Form/FieldProps/index.js.map +0 -1
  888. package/es/extensions/forms/Form/data-context/useError.js +0 -26
  889. package/es/extensions/forms/Form/data-context/useError.js.map +0 -1
  890. package/extensions/forms/Form/Element/style/dnb-form-element.css +0 -7
  891. package/extensions/forms/Form/Element/style/dnb-form-element.min.css +0 -1
  892. package/extensions/forms/Form/Element/style/dnb-form-element.scss +0 -9
  893. package/extensions/forms/Form/FieldProps/FieldProps.js.map +0 -1
  894. package/extensions/forms/Form/FieldProps/FieldPropsContext.js +0 -7
  895. package/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +0 -1
  896. package/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +0 -1
  897. package/extensions/forms/Form/FieldProps/index.d.ts +0 -2
  898. package/extensions/forms/Form/FieldProps/index.js +0 -3
  899. package/extensions/forms/Form/FieldProps/index.js.map +0 -1
  900. package/extensions/forms/Form/data-context/useError.js +0 -27
  901. package/extensions/forms/Form/data-context/useError.js.map +0 -1
@@ -4,7 +4,7 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
4
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5
5
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
6
  import React, { useCallback, useContext } from 'react';
7
- import pointer from 'json-pointer';
7
+ import pointer from '../../utils/json-pointer';
8
8
  import Context from '../Context';
9
9
  function At(props) {
10
10
  const {
@@ -1 +1 @@
1
- {"version":3,"file":"At.js","names":["React","useCallback","useContext","pointer","Context","At","props","path","iterate","children","dataContext","data","contextData","handlePathChange","handlePathChangeDataContext","has","get","undefined","changePath","value","Array","isArray","createElement","Fragment","map","element","i","Provider","key","_objectSpread","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/DataContext/At/At.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport pointer from 'json-pointer'\nimport type { ComponentProps } from '../../types'\nimport Context, { ContextState } from '../Context'\n\nexport type Props = ComponentProps & {\n /** JSON Pointer for where in the source dataset to point at in sub components */\n path?: string\n iterate?: boolean\n children?: React.ReactNode\n}\n\nfunction At(props: Props) {\n const { path = '/', iterate, children } = props\n const dataContext = useContext(Context)\n const {\n data: contextData,\n handlePathChange: handlePathChangeDataContext,\n } = dataContext\n\n const data =\n contextData && pointer.has(contextData, path)\n ? pointer.get(contextData, path)\n : undefined\n\n const handlePathChange: ContextState['handlePathChange'] = useCallback(\n (changePath, value) => {\n handlePathChangeDataContext(`${path}${changePath}`, value)\n },\n [handlePathChangeDataContext, path]\n )\n\n if (iterate) {\n if (!Array.isArray(data)) {\n return null\n }\n return (\n <>\n {data.map((element, i) => {\n const handlePathChange = (\n handlePathChangeDataContext\n ? (changePath, value) => {\n handlePathChangeDataContext(\n `${path}/${i}${changePath}`,\n value\n )\n }\n : undefined\n ) as ContextState['handlePathChange']\n\n return (\n <Context.Provider\n key={`element${i}`}\n value={{\n ...dataContext,\n data: element,\n handlePathChange,\n }}\n >\n {children}\n </Context.Provider>\n )\n })}\n </>\n )\n }\n\n return (\n <Context.Provider\n value={{\n ...dataContext,\n data,\n handlePathChange,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n\nAt._supportsSpacingProps = true\nexport default At\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,OAAOC,OAAO,MAAM,cAAc;AAElC,OAAOC,OAAO,MAAwB,YAAY;AASlD,SAASC,EAAEA,CAACC,KAAY,EAAE;EACxB,MAAM;IAAEC,IAAI,GAAG,GAAG;IAAEC,OAAO;IAAEC;EAAS,CAAC,GAAGH,KAAK;EAC/C,MAAMI,WAAW,GAAGR,UAAU,CAACE,OAAO,CAAC;EACvC,MAAM;IACJO,IAAI,EAAEC,WAAW;IACjBC,gBAAgB,EAAEC;EACpB,CAAC,GAAGJ,WAAW;EAEf,MAAMC,IAAI,GACRC,WAAW,IAAIT,OAAO,CAACY,GAAG,CAACH,WAAW,EAAEL,IAAI,CAAC,GACzCJ,OAAO,CAACa,GAAG,CAACJ,WAAW,EAAEL,IAAI,CAAC,GAC9BU,SAAS;EAEf,MAAMJ,gBAAkD,GAAGZ,WAAW,CACpE,CAACiB,UAAU,EAAEC,KAAK,KAAK;IACrBL,2BAA2B,CAAE,GAAEP,IAAK,GAAEW,UAAW,EAAC,EAAEC,KAAK,CAAC;EAC5D,CAAC,EACD,CAACL,2BAA2B,EAAEP,IAAI,CACpC,CAAC;EAED,IAAIC,OAAO,EAAE;IACX,IAAI,CAACY,KAAK,CAACC,OAAO,CAACV,IAAI,CAAC,EAAE;MACxB,OAAO,IAAI;IACb;IACA,OACEX,KAAA,CAAAsB,aAAA,CAAAtB,KAAA,CAAAuB,QAAA,QACGZ,IAAI,CAACa,GAAG,CAAC,CAACC,OAAO,EAAEC,CAAC,KAAK;MACxB,MAAMb,gBAAgB,GACpBC,2BAA2B,GACvB,CAACI,UAAU,EAAEC,KAAK,KAAK;QACrBL,2BAA2B,CACxB,GAAEP,IAAK,IAAGmB,CAAE,GAAER,UAAW,EAAC,EAC3BC,KACF,CAAC;MACH,CAAC,GACDF,SAC+B;MAErC,OACEjB,KAAA,CAAAsB,aAAA,CAAClB,OAAO,CAACuB,QAAQ;QACfC,GAAG,EAAG,UAASF,CAAE,EAAE;QACnBP,KAAK,EAAAU,aAAA,CAAAA,aAAA,KACAnB,WAAW;UACdC,IAAI,EAAEc,OAAO;UACbZ;QAAgB;MAChB,GAEDJ,QACe,CAAC;IAEvB,CAAC,CACD,CAAC;EAEP;EAEA,OACET,KAAA,CAAAsB,aAAA,CAAClB,OAAO,CAACuB,QAAQ;IACfR,KAAK,EAAAU,aAAA,CAAAA,aAAA,KACAnB,WAAW;MACdC,IAAI;MACJE;IAAgB;EAChB,GAEDJ,QACe,CAAC;AAEvB;AAEAJ,EAAE,CAACyB,qBAAqB,GAAG,IAAI;AAC/B,eAAezB,EAAE"}
1
+ {"version":3,"file":"At.js","names":["React","useCallback","useContext","pointer","Context","At","props","path","iterate","children","dataContext","data","contextData","handlePathChange","handlePathChangeDataContext","has","get","undefined","changePath","value","Array","isArray","createElement","Fragment","map","element","i","Provider","key","_objectSpread","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/DataContext/At/At.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport pointer from '../../utils/json-pointer'\nimport type { ComponentProps } from '../../types'\nimport Context, { ContextState } from '../Context'\n\nexport type Props = ComponentProps & {\n /** JSON Pointer for where in the source dataset to point at in sub components */\n path?: string\n iterate?: boolean\n children?: React.ReactNode\n}\n\nfunction At(props: Props) {\n const { path = '/', iterate, children } = props\n const dataContext = useContext(Context)\n const {\n data: contextData,\n handlePathChange: handlePathChangeDataContext,\n } = dataContext\n\n const data =\n contextData && pointer.has(contextData, path)\n ? pointer.get(contextData, path)\n : undefined\n\n const handlePathChange: ContextState['handlePathChange'] = useCallback(\n (changePath, value) => {\n handlePathChangeDataContext(`${path}${changePath}`, value)\n },\n [handlePathChangeDataContext, path]\n )\n\n if (iterate) {\n if (!Array.isArray(data)) {\n return null\n }\n return (\n <>\n {data.map((element, i) => {\n const handlePathChange = (\n handlePathChangeDataContext\n ? (changePath, value) => {\n handlePathChangeDataContext(\n `${path}/${i}${changePath}`,\n value\n )\n }\n : undefined\n ) as ContextState['handlePathChange']\n\n return (\n <Context.Provider\n key={`element${i}`}\n value={{\n ...dataContext,\n data: element,\n handlePathChange,\n }}\n >\n {children}\n </Context.Provider>\n )\n })}\n </>\n )\n }\n\n return (\n <Context.Provider\n value={{\n ...dataContext,\n data,\n handlePathChange,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n\nAt._supportsSpacingProps = true\nexport default At\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,OAAOC,OAAO,MAAM,0BAA0B;AAE9C,OAAOC,OAAO,MAAwB,YAAY;AASlD,SAASC,EAAEA,CAACC,KAAY,EAAE;EACxB,MAAM;IAAEC,IAAI,GAAG,GAAG;IAAEC,OAAO;IAAEC;EAAS,CAAC,GAAGH,KAAK;EAC/C,MAAMI,WAAW,GAAGR,UAAU,CAACE,OAAO,CAAC;EACvC,MAAM;IACJO,IAAI,EAAEC,WAAW;IACjBC,gBAAgB,EAAEC;EACpB,CAAC,GAAGJ,WAAW;EAEf,MAAMC,IAAI,GACRC,WAAW,IAAIT,OAAO,CAACY,GAAG,CAACH,WAAW,EAAEL,IAAI,CAAC,GACzCJ,OAAO,CAACa,GAAG,CAACJ,WAAW,EAAEL,IAAI,CAAC,GAC9BU,SAAS;EAEf,MAAMJ,gBAAkD,GAAGZ,WAAW,CACpE,CAACiB,UAAU,EAAEC,KAAK,KAAK;IACrBL,2BAA2B,CAAE,GAAEP,IAAK,GAAEW,UAAW,EAAC,EAAEC,KAAK,CAAC;EAC5D,CAAC,EACD,CAACL,2BAA2B,EAAEP,IAAI,CACpC,CAAC;EAED,IAAIC,OAAO,EAAE;IACX,IAAI,CAACY,KAAK,CAACC,OAAO,CAACV,IAAI,CAAC,EAAE;MACxB,OAAO,IAAI;IACb;IACA,OACEX,KAAA,CAAAsB,aAAA,CAAAtB,KAAA,CAAAuB,QAAA,QACGZ,IAAI,CAACa,GAAG,CAAC,CAACC,OAAO,EAAEC,CAAC,KAAK;MACxB,MAAMb,gBAAgB,GACpBC,2BAA2B,GACvB,CAACI,UAAU,EAAEC,KAAK,KAAK;QACrBL,2BAA2B,CACxB,GAAEP,IAAK,IAAGmB,CAAE,GAAER,UAAW,EAAC,EAC3BC,KACF,CAAC;MACH,CAAC,GACDF,SAC+B;MAErC,OACEjB,KAAA,CAAAsB,aAAA,CAAClB,OAAO,CAACuB,QAAQ;QACfC,GAAG,EAAG,UAASF,CAAE,EAAE;QACnBP,KAAK,EAAAU,aAAA,CAAAA,aAAA,KACAnB,WAAW;UACdC,IAAI,EAAEc,OAAO;UACbZ;QAAgB;MAChB,GAEDJ,QACe,CAAC;IAEvB,CAAC,CACD,CAAC;EAEP;EAEA,OACET,KAAA,CAAAsB,aAAA,CAAClB,OAAO,CAACuB,QAAQ;IACfR,KAAK,EAAAU,aAAA,CAAAA,aAAA,KACAnB,WAAW;MACdC,IAAI;MACJE;IAAgB;EAChB,GAEDJ,QACe,CAAC;AAEvB;AAEAJ,EAAE,CAACyB,qBAAqB,GAAG,IAAI;AAC/B,eAAezB,EAAE"}
@@ -1,10 +1,7 @@
1
1
  import React from 'react';
2
2
  import { Ajv } from '../utils/ajv';
3
- import { AllJSONSchemaVersions, CustomErrorMessagesWithPaths, SubmitState, Path, EventStateObject, EventReturnWithStateObject, Identifier, FieldProps, FormError, ValueProps, OnChange } from '../types';
3
+ import { AllJSONSchemaVersions, CustomErrorMessagesWithPaths, SubmitState, Path, EventStateObject, EventReturnWithStateObject, Identifier, FieldProps, FormError, ValueProps, OnChange, OnSubmitParams } from '../types';
4
4
  import { Props as ProviderProps } from './Provider';
5
- type HandleSubmitProps = {
6
- formElement?: HTMLFormElement;
7
- };
8
5
  export type MountState = {
9
6
  isPreMounted?: boolean;
10
7
  isMounted?: boolean;
@@ -45,6 +42,9 @@ export type TransformData = FilterDataHandlerCallback<unknown>;
45
42
  export type HandleSubmitCallback = ({ preventSubmit, }: {
46
43
  preventSubmit: () => void;
47
44
  }) => void;
45
+ export type FieldConnections = {
46
+ setEventResult?: (status: EventStateObject) => void;
47
+ };
48
48
  export interface ContextState {
49
49
  id?: Identifier;
50
50
  hasContext: boolean;
@@ -57,14 +57,16 @@ export interface ContextState {
57
57
  autoComplete?: boolean;
58
58
  handlePathChange: (path: Path, value?: any) => EventReturnWithStateObject | unknown | Promise<EventReturnWithStateObject | unknown>;
59
59
  handlePathChangeUnvalidated: (path: Path, value: any) => void;
60
- updateDataValue: (path: Path, value: any) => void;
60
+ updateDataValue: (path: Path, value: any, options?: {
61
+ preventUpdate?: boolean;
62
+ }) => void;
61
63
  setData: (data: any) => void;
62
64
  clearData?: () => void;
63
65
  mutateDataHandler?: MutateDataHandler<unknown>;
64
66
  filterDataHandler?: FilterDataHandler<unknown>;
65
67
  visibleDataHandler?: VisibleDataHandler<unknown>;
66
68
  validateData: () => void;
67
- handleSubmit: (props?: HandleSubmitProps) => void;
69
+ handleSubmit: () => Promise<EventStateObject | undefined>;
68
70
  scrollToTop: () => void;
69
71
  setShowAllErrors: (showAllErrors: boolean) => void;
70
72
  hasErrors: () => boolean;
@@ -73,7 +75,9 @@ export interface ContextState {
73
75
  setFieldState: (path: Path, fieldState: SubmitState) => void;
74
76
  setFieldError: (path: Path, error: Error | FormError) => void;
75
77
  setMountedFieldState: (path: Path, options: MountState) => void;
76
- setFormState?: (state: SubmitState) => void;
78
+ setFormState?: (state: SubmitState, options?: {
79
+ keepPending?: boolean;
80
+ }) => void;
77
81
  setSubmitState?: (state: EventStateObject) => void;
78
82
  addOnChangeHandler?: (callback: OnChange) => void;
79
83
  handleSubmitCall: ({ onSubmit, enableAsyncBehavior, skipFieldValidation, skipErrorCheck, }: {
@@ -81,15 +85,22 @@ export interface ContextState {
81
85
  enableAsyncBehavior: boolean;
82
86
  skipFieldValidation?: boolean;
83
87
  skipErrorCheck?: boolean;
84
- }) => void;
88
+ }) => Promise<EventStateObject | undefined>;
89
+ getSubmitData?: () => unknown;
90
+ getSubmitOptions?: () => OnSubmitParams;
85
91
  setFieldEventListener?: (path: EventListenerCall['path'], type: EventListenerCall['type'], callback: EventListenerCall['callback']) => void;
86
92
  setVisibleError?: (path: Path, hasError: boolean) => void;
87
93
  setFieldProps?: (path: Path, props: unknown) => void;
88
94
  setValueProps?: (path: Path, props: unknown) => void;
89
- setHandleSubmit?: (callback: HandleSubmitCallback) => void;
95
+ setHandleSubmit?: (callback: HandleSubmitCallback, params?: {
96
+ remove?: boolean;
97
+ }) => void;
98
+ setFieldConnection?: (path: Path, connections: FieldConnections) => void;
90
99
  fieldPropsRef?: React.MutableRefObject<Record<string, FieldProps>>;
91
100
  valuePropsRef?: React.MutableRefObject<Record<string, ValueProps>>;
101
+ fieldConnectionsRef?: React.RefObject<Record<Path, FieldConnections>>;
92
102
  mountedFieldsRef?: React.MutableRefObject<Record<Path, MountState>>;
103
+ formElementRef?: React.MutableRefObject<HTMLFormElement>;
93
104
  showAllErrors: boolean;
94
105
  hasVisibleError: boolean;
95
106
  formState: SubmitState;
@@ -1 +1 @@
1
- {"version":3,"file":"Context.js","names":["React","makeAjvInstance","defaultContextState","hasContext","data","undefined","schema","submitState","handlePathChange","handlePathChangeUnvalidated","updateDataValue","setData","validateData","handleSubmit","scrollToTop","showAllErrors","hasVisibleError","formState","setFormState","setSubmitState","handleSubmitCall","setShowAllErrors","setMountedFieldState","hasErrors","hasFieldState","hasFieldError","setFieldState","setFieldError","ajvInstance","contextErrorMessages","isInsideFormElement","props","Context","createContext"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\nimport { Ajv, makeAjvInstance } from '../utils/ajv'\nimport {\n AllJSONSchemaVersions,\n CustomErrorMessagesWithPaths,\n SubmitState,\n Path,\n EventStateObject,\n EventReturnWithStateObject,\n Identifier,\n FieldProps,\n FormError,\n ValueProps,\n OnChange,\n} from '../types'\nimport { Props as ProviderProps } from './Provider'\n\ntype HandleSubmitProps = {\n formElement?: HTMLFormElement\n}\n\nexport type MountState = {\n isPreMounted?: boolean\n isMounted?: boolean\n isVisible?: boolean\n wasStepChange?: boolean\n}\n\nexport type EventListenerCall = {\n path?: Path\n type?: 'onSubmit' | 'onPathChange' | 'onMount'\n callback: (params?: { value: unknown }) => void | Promise<void | Error>\n}\n\nexport type VisibleDataHandler<Data> = (\n data?: Data,\n options?: VisibleDataOptions\n) => Partial<Data>\nexport type VisibleDataOptions = {\n keepPaths?: Array<Path>\n removePaths?: Array<Path>\n}\nexport type MutateDataHandler<Data> = (\n data: Data,\n mutate: TransformData\n) => Partial<Data>\nexport type FilterDataHandler<Data> = (\n data: Data,\n filter: FilterData\n) => Partial<Data>\nexport type FilterDataHandlerCallback<R> = (\n parameters: FilterDataHandlerParameters\n) => R\nexport type FilterDataHandlerParameters =\n FilterDataPathConditionParameters & {\n path: Path\n }\nexport type FilterDataPathCondition<Data = unknown> = (\n parameters: FilterDataPathConditionParameters<Data>\n) => boolean | undefined\nexport type FilterDataPathConditionParameters<Data = unknown> = {\n value: unknown\n props: FieldProps\n data: Data\n internal: {\n error: Error | undefined\n }\n}\nexport type FilterDataPathObject<Data> = Record<\n Path,\n FilterDataPathCondition<Data> | boolean | undefined\n>\nexport type FilterData<Data = unknown> =\n | FilterDataPathObject<Data>\n | FilterDataHandlerCallback<boolean | undefined>\nexport type VisibleData<Data = unknown> = Partial<Data>\nexport type TransformData = FilterDataHandlerCallback<unknown>\nexport type HandleSubmitCallback = ({\n preventSubmit,\n}: {\n preventSubmit: () => void\n}) => void\n\nexport interface ContextState {\n id?: Identifier\n hasContext: boolean\n /** The dataset for the form / form wizard */\n data: any\n internalDataRef?: React.MutableRefObject<any>\n /** Should the form validate data before submitting? */\n errors?: Record<string, Error>\n /** Will set autoComplete=\"on\" on each nested Field.String and Field.Number */\n autoComplete?: boolean\n handlePathChange: (\n path: Path,\n value?: any\n ) =>\n | EventReturnWithStateObject\n | unknown\n | Promise<EventReturnWithStateObject | unknown>\n handlePathChangeUnvalidated: (path: Path, value: any) => void\n updateDataValue: (path: Path, value: any) => void\n setData: (data: any) => void\n clearData?: () => void\n mutateDataHandler?: MutateDataHandler<unknown>\n filterDataHandler?: FilterDataHandler<unknown>\n visibleDataHandler?: VisibleDataHandler<unknown>\n validateData: () => void\n handleSubmit: (props?: HandleSubmitProps) => void\n scrollToTop: () => void\n setShowAllErrors: (showAllErrors: boolean) => void\n hasErrors: () => boolean\n hasFieldState: (state: SubmitState) => boolean\n hasFieldError: (path: Path) => boolean\n setFieldState: (path: Path, fieldState: SubmitState) => void\n setFieldError: (path: Path, error: Error | FormError) => void\n setMountedFieldState: (path: Path, options: MountState) => void\n setFormState?: (state: SubmitState) => void\n setSubmitState?: (state: EventStateObject) => void\n addOnChangeHandler?: (callback: OnChange) => void\n handleSubmitCall: ({\n onSubmit,\n enableAsyncBehavior,\n skipFieldValidation,\n skipErrorCheck,\n }: {\n onSubmit: () =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n enableAsyncBehavior: boolean\n skipFieldValidation?: boolean\n skipErrorCheck?: boolean\n }) => void\n setFieldEventListener?: (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback']\n ) => void\n setVisibleError?: (path: Path, hasError: boolean) => void\n setFieldProps?: (path: Path, props: unknown) => void\n setValueProps?: (path: Path, props: unknown) => void\n setHandleSubmit?: (callback: HandleSubmitCallback) => void\n fieldPropsRef?: React.MutableRefObject<Record<string, FieldProps>>\n valuePropsRef?: React.MutableRefObject<Record<string, ValueProps>>\n mountedFieldsRef?: React.MutableRefObject<Record<Path, MountState>>\n showAllErrors: boolean\n hasVisibleError: boolean\n formState: SubmitState\n ajvInstance: Ajv\n contextErrorMessages: CustomErrorMessagesWithPaths\n schema: AllJSONSchemaVersions\n path?: Path\n disabled?: boolean\n required?: boolean\n submitState: Partial<EventStateObject>\n isInsideFormElement?: boolean\n prerenderFieldProps?: boolean\n props: ProviderProps<unknown>\n}\n\nexport const defaultContextState: ContextState = {\n hasContext: false,\n data: undefined,\n schema: undefined,\n submitState: undefined,\n handlePathChange: () => null,\n handlePathChangeUnvalidated: () => null,\n updateDataValue: () => null,\n setData: () => null,\n validateData: () => null,\n handleSubmit: () => null,\n scrollToTop: () => null,\n showAllErrors: false,\n hasVisibleError: false,\n formState: undefined,\n setFormState: () => null,\n setSubmitState: () => null,\n handleSubmitCall: () => null,\n setShowAllErrors: () => null,\n setMountedFieldState: () => null,\n hasErrors: () => false,\n hasFieldState: () => false,\n hasFieldError: () => false,\n setFieldState: () => null,\n setFieldError: () => null,\n ajvInstance: makeAjvInstance(),\n contextErrorMessages: undefined,\n isInsideFormElement: false,\n props: null,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAcC,eAAe,QAAQ,cAAc;AAgKnD,OAAO,MAAMC,mBAAiC,GAAG;EAC/CC,UAAU,EAAE,KAAK;EACjBC,IAAI,EAAEC,SAAS;EACfC,MAAM,EAAED,SAAS;EACjBE,WAAW,EAAEF,SAAS;EACtBG,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,2BAA2B,EAAEA,CAAA,KAAM,IAAI;EACvCC,eAAe,EAAEA,CAAA,KAAM,IAAI;EAC3BC,OAAO,EAAEA,CAAA,KAAM,IAAI;EACnBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,WAAW,EAAEA,CAAA,KAAM,IAAI;EACvBC,aAAa,EAAE,KAAK;EACpBC,eAAe,EAAE,KAAK;EACtBC,SAAS,EAAEZ,SAAS;EACpBa,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,cAAc,EAAEA,CAAA,KAAM,IAAI;EAC1BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,oBAAoB,EAAEA,CAAA,KAAM,IAAI;EAChCC,SAAS,EAAEA,CAAA,KAAM,KAAK;EACtBC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,WAAW,EAAE3B,eAAe,CAAC,CAAC;EAC9B4B,oBAAoB,EAAExB,SAAS;EAC/ByB,mBAAmB,EAAE,KAAK;EAC1BC,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,OAAO,GAAGhC,KAAK,CAACiC,aAAa,CAAe/B,mBAAmB,CAAC;AAEtE,eAAe8B,OAAO"}
1
+ {"version":3,"file":"Context.js","names":["React","makeAjvInstance","defaultContextState","hasContext","data","undefined","schema","submitState","handlePathChange","handlePathChangeUnvalidated","updateDataValue","setData","validateData","handleSubmit","scrollToTop","showAllErrors","hasVisibleError","formState","setFormState","setSubmitState","handleSubmitCall","setShowAllErrors","setMountedFieldState","hasErrors","hasFieldState","hasFieldError","setFieldState","setFieldError","ajvInstance","contextErrorMessages","isInsideFormElement","props","Context","createContext"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\nimport { Ajv, makeAjvInstance } from '../utils/ajv'\nimport {\n AllJSONSchemaVersions,\n CustomErrorMessagesWithPaths,\n SubmitState,\n Path,\n EventStateObject,\n EventReturnWithStateObject,\n Identifier,\n FieldProps,\n FormError,\n ValueProps,\n OnChange,\n OnSubmitParams,\n} from '../types'\nimport { Props as ProviderProps } from './Provider'\n\nexport type MountState = {\n isPreMounted?: boolean\n isMounted?: boolean\n isVisible?: boolean\n wasStepChange?: boolean\n}\n\nexport type EventListenerCall = {\n path?: Path\n type?: 'onSubmit' | 'onPathChange' | 'onMount'\n callback: (params?: { value: unknown }) => void | Promise<void | Error>\n}\n\nexport type VisibleDataHandler<Data> = (\n data?: Data,\n options?: VisibleDataOptions\n) => Partial<Data>\nexport type VisibleDataOptions = {\n keepPaths?: Array<Path>\n removePaths?: Array<Path>\n}\nexport type MutateDataHandler<Data> = (\n data: Data,\n mutate: TransformData\n) => Partial<Data>\nexport type FilterDataHandler<Data> = (\n data: Data,\n filter: FilterData\n) => Partial<Data>\nexport type FilterDataHandlerCallback<R> = (\n parameters: FilterDataHandlerParameters\n) => R\nexport type FilterDataHandlerParameters =\n FilterDataPathConditionParameters & {\n path: Path\n }\nexport type FilterDataPathCondition<Data = unknown> = (\n parameters: FilterDataPathConditionParameters<Data>\n) => boolean | undefined\nexport type FilterDataPathConditionParameters<Data = unknown> = {\n value: unknown\n props: FieldProps\n data: Data\n internal: {\n error: Error | undefined\n }\n}\nexport type FilterDataPathObject<Data> = Record<\n Path,\n FilterDataPathCondition<Data> | boolean | undefined\n>\nexport type FilterData<Data = unknown> =\n | FilterDataPathObject<Data>\n | FilterDataHandlerCallback<boolean | undefined>\nexport type VisibleData<Data = unknown> = Partial<Data>\nexport type TransformData = FilterDataHandlerCallback<unknown>\nexport type HandleSubmitCallback = ({\n preventSubmit,\n}: {\n preventSubmit: () => void\n}) => void\nexport type FieldConnections = {\n setEventResult?: (status: EventStateObject) => void\n}\n\nexport interface ContextState {\n id?: Identifier\n hasContext: boolean\n /** The dataset for the form / form wizard */\n data: any\n internalDataRef?: React.MutableRefObject<any>\n /** Should the form validate data before submitting? */\n errors?: Record<string, Error>\n /** Will set autoComplete=\"on\" on each nested Field.String and Field.Number */\n autoComplete?: boolean\n handlePathChange: (\n path: Path,\n value?: any\n ) =>\n | EventReturnWithStateObject\n | unknown\n | Promise<EventReturnWithStateObject | unknown>\n handlePathChangeUnvalidated: (path: Path, value: any) => void\n updateDataValue: (\n path: Path,\n value: any,\n options?: { preventUpdate?: boolean }\n ) => void\n setData: (data: any) => void\n clearData?: () => void\n mutateDataHandler?: MutateDataHandler<unknown>\n filterDataHandler?: FilterDataHandler<unknown>\n visibleDataHandler?: VisibleDataHandler<unknown>\n validateData: () => void\n handleSubmit: () => Promise<EventStateObject | undefined>\n scrollToTop: () => void\n setShowAllErrors: (showAllErrors: boolean) => void\n hasErrors: () => boolean\n hasFieldState: (state: SubmitState) => boolean\n hasFieldError: (path: Path) => boolean\n setFieldState: (path: Path, fieldState: SubmitState) => void\n setFieldError: (path: Path, error: Error | FormError) => void\n setMountedFieldState: (path: Path, options: MountState) => void\n setFormState?: (\n state: SubmitState,\n options?: { keepPending?: boolean }\n ) => void\n setSubmitState?: (state: EventStateObject) => void\n addOnChangeHandler?: (callback: OnChange) => void\n handleSubmitCall: ({\n onSubmit,\n enableAsyncBehavior,\n skipFieldValidation,\n skipErrorCheck,\n }: {\n onSubmit: () =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n enableAsyncBehavior: boolean\n skipFieldValidation?: boolean\n skipErrorCheck?: boolean\n }) => Promise<EventStateObject | undefined>\n getSubmitData?: () => unknown\n getSubmitOptions?: () => OnSubmitParams\n setFieldEventListener?: (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback']\n ) => void\n setVisibleError?: (path: Path, hasError: boolean) => void\n setFieldProps?: (path: Path, props: unknown) => void\n setValueProps?: (path: Path, props: unknown) => void\n setHandleSubmit?: (\n callback: HandleSubmitCallback,\n params?: { remove?: boolean }\n ) => void\n setFieldConnection?: (path: Path, connections: FieldConnections) => void\n fieldPropsRef?: React.MutableRefObject<Record<string, FieldProps>>\n valuePropsRef?: React.MutableRefObject<Record<string, ValueProps>>\n fieldConnectionsRef?: React.RefObject<Record<Path, FieldConnections>>\n mountedFieldsRef?: React.MutableRefObject<Record<Path, MountState>>\n formElementRef?: React.MutableRefObject<HTMLFormElement>\n showAllErrors: boolean\n hasVisibleError: boolean\n formState: SubmitState\n ajvInstance: Ajv\n contextErrorMessages: CustomErrorMessagesWithPaths\n schema: AllJSONSchemaVersions\n path?: Path\n disabled?: boolean\n required?: boolean\n submitState: Partial<EventStateObject>\n isInsideFormElement?: boolean\n prerenderFieldProps?: boolean\n props: ProviderProps<unknown>\n}\n\nexport const defaultContextState: ContextState = {\n hasContext: false,\n data: undefined,\n schema: undefined,\n submitState: undefined,\n handlePathChange: () => null,\n handlePathChangeUnvalidated: () => null,\n updateDataValue: () => null,\n setData: () => null,\n validateData: () => null,\n handleSubmit: () => null,\n scrollToTop: () => null,\n showAllErrors: false,\n hasVisibleError: false,\n formState: undefined,\n setFormState: () => null,\n setSubmitState: () => null,\n handleSubmitCall: () => null,\n setShowAllErrors: () => null,\n setMountedFieldState: () => null,\n hasErrors: () => false,\n hasFieldState: () => false,\n hasFieldError: () => false,\n setFieldState: () => null,\n setFieldError: () => null,\n ajvInstance: makeAjvInstance(),\n contextErrorMessages: undefined,\n isInsideFormElement: false,\n props: null,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAcC,eAAe,QAAQ,cAAc;AA+KnD,OAAO,MAAMC,mBAAiC,GAAG;EAC/CC,UAAU,EAAE,KAAK;EACjBC,IAAI,EAAEC,SAAS;EACfC,MAAM,EAAED,SAAS;EACjBE,WAAW,EAAEF,SAAS;EACtBG,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,2BAA2B,EAAEA,CAAA,KAAM,IAAI;EACvCC,eAAe,EAAEA,CAAA,KAAM,IAAI;EAC3BC,OAAO,EAAEA,CAAA,KAAM,IAAI;EACnBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,WAAW,EAAEA,CAAA,KAAM,IAAI;EACvBC,aAAa,EAAE,KAAK;EACpBC,eAAe,EAAE,KAAK;EACtBC,SAAS,EAAEZ,SAAS;EACpBa,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,cAAc,EAAEA,CAAA,KAAM,IAAI;EAC1BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,oBAAoB,EAAEA,CAAA,KAAM,IAAI;EAChCC,SAAS,EAAEA,CAAA,KAAM,KAAK;EACtBC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,WAAW,EAAE3B,eAAe,CAAC,CAAC;EAC9B4B,oBAAoB,EAAExB,SAAS;EAC/ByB,mBAAmB,EAAE,KAAK;EAC1BC,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,OAAO,GAAGhC,KAAK,CAACiC,aAAa,CAAe/B,mBAAmB,CAAC;AAEtE,eAAe8B,OAAO"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { JsonObject } from 'json-pointer';
2
+ import { JsonObject } from '../../utils/json-pointer';
3
3
  import { Ajv } from '../../utils/ajv';
4
4
  import { CustomErrorMessagesWithPaths, AllJSONSchemaVersions, Path, OnSubmit, OnChange, EventReturnWithStateObject } from '../../types';
5
5
  import type { IsolationProviderProps } from '../../Form/Isolation/Isolation';
@@ -6,10 +6,10 @@ const _excluded = ["id", "globalStatusId", "defaultData", "emptyData", "data", "
6
6
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7
7
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
8
8
  import React, { useRef, useMemo, useCallback, useReducer, useEffect, useContext } from 'react';
9
- import pointer from 'json-pointer';
9
+ import pointer from '../../utils/json-pointer';
10
10
  import { makeAjvInstance, ajvErrorsToFormErrors } from '../../utils/ajv';
11
11
  import { debounce } from '../../../../shared/helpers';
12
- import FieldPropsProvider from '../../Form/FieldProps';
12
+ import FieldPropsProvider from '../../Field/Provider';
13
13
  import useUpdateEffect from '../../../../shared/helpers/useUpdateEffect';
14
14
  import { isAsync } from '../../../../shared/helpers/isAsync';
15
15
  import { useSharedState } from '../../../../shared/helpers/useSharedState';
@@ -60,6 +60,7 @@ export default function Provider(props) {
60
60
  if (hasContext && !isolate) {
61
61
  throw new Error('DataContext (Form.Handler) can not be nested');
62
62
  }
63
+ const formElementRef = useRef(null);
63
64
  const translation = useTranslation().Field;
64
65
  const ajvRef = useRef(makeAjvInstance(ajvInstance));
65
66
  const mountedFieldsRef = useRef({});
@@ -80,11 +81,16 @@ export default function Provider(props) {
80
81
  }, []);
81
82
  const submitStateRef = useRef({});
82
83
  const setSubmitState = useCallback(state => {
83
- Object.assign(submitStateRef.current, state);
84
+ submitStateRef.current = _objectSpread(_objectSpread({}, submitStateRef.current), state);
84
85
  forceUpdate();
85
86
  }, []);
86
87
  const formStateRef = useRef();
87
- const setFormState = useCallback(formState => {
88
+ const keepPending = useRef(false);
89
+ const setFormState = useCallback(function (formState) {
90
+ let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
91
+ if (typeof (options === null || options === void 0 ? void 0 : options.keepPending) === 'boolean') {
92
+ keepPending.current = options === null || options === void 0 ? void 0 : options.keepPending;
93
+ }
88
94
  formStateRef.current = formState;
89
95
  forceUpdate();
90
96
  }, []);
@@ -281,11 +287,15 @@ export default function Provider(props) {
281
287
  let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : internalDataRef.current;
282
288
  return filterDataHandler(data, filter);
283
289
  }, [filterDataHandler]);
290
+ const fieldConnectionsRef = useRef({});
291
+ const setFieldConnection = useCallback((path, connections) => {
292
+ fieldConnectionsRef.current[path] = connections;
293
+ }, []);
284
294
  const fieldPropsRef = useRef({});
285
- const valuePropsRef = useRef({});
286
295
  const setFieldProps = useCallback((path, props) => {
287
296
  fieldPropsRef.current[path] = props;
288
297
  }, []);
298
+ const valuePropsRef = useRef({});
289
299
  const setValueProps = useCallback((path, props) => {
290
300
  valuePropsRef.current[path] = props;
291
301
  }, []);
@@ -317,13 +327,13 @@ export default function Provider(props) {
317
327
  if (id && initialData && !sharedData.data) {
318
328
  sharedData.update(initialData);
319
329
  }
320
- if (id && initialData && sharedData.data && cacheRef.current.shared === sharedData.data && internalDataRef.current === initialData) {
330
+ if (id && initialData && sharedData.data && cacheRef.current.shared === sharedData.data && internalDataRef.current === initialData && typeof internalDataRef.current === 'object') {
321
331
  return _objectSpread(_objectSpread({}, internalDataRef.current), sharedData.data);
322
332
  }
323
333
  if (id && !initialData && !internalDataRef.current && sharedData.data && cacheRef.current.shared === sharedData.data) {
324
334
  return sharedData.data;
325
335
  }
326
- if (id && sharedData.data && cacheRef.current.shared !== sharedData.data && sharedData.data !== internalDataRef.current) {
336
+ if (id && sharedData.data && cacheRef.current.shared !== sharedData.data && sharedData.data !== internalDataRef.current && typeof internalDataRef.current === 'object') {
327
337
  var _sharedData$data;
328
338
  cacheRef.current.shared = sharedData.data;
329
339
  if ((_sharedData$data = sharedData.data) !== null && _sharedData$data !== void 0 && _sharedData$data.clearForm) {
@@ -362,7 +372,8 @@ export default function Provider(props) {
362
372
  hasErrors,
363
373
  hasFieldError,
364
374
  setShowAllErrors,
365
- setSubmitState
375
+ setSubmitState,
376
+ fieldConnectionsRef
366
377
  });
367
378
  if (filterSubmitData) {
368
379
  rerenderUseDataHook === null || rerenderUseDataHook === void 0 ? void 0 : rerenderUseDataHook();
@@ -375,7 +386,8 @@ export default function Provider(props) {
375
386
  (_window$sessionStorag2 = window.sessionStorage) === null || _window$sessionStorag2 === void 0 ? void 0 : _window$sessionStorag2.setItem(sessionStorageId, JSON.stringify(internalDataRef.current));
376
387
  }, process.env.NODE_ENV === 'test' ? 1 : 800);
377
388
  }, [sessionStorageId]);
378
- const setData = useCallback(newData => {
389
+ const setData = useCallback(function (newData) {
390
+ let preventUpdate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
379
391
  if (transformIn) {
380
392
  newData = mutateDataHandler(newData, transformIn);
381
393
  }
@@ -389,10 +401,15 @@ export default function Provider(props) {
389
401
  if (sessionStorageId && typeof window !== 'undefined') {
390
402
  storeInSession();
391
403
  }
392
- forceUpdate();
404
+ if (!preventUpdate) {
405
+ forceUpdate();
406
+ }
393
407
  }, [extendSharedData, filterSubmitData, id, mutateDataHandler, rerenderUseDataHook, sessionStorageId, storeInSession, transformIn]);
394
- const updateDataValue = useCallback((path, value) => {
408
+ const updateDataValue = useCallback(function (path, value) {
395
409
  var _internalDataRef$curr;
410
+ let {
411
+ preventUpdate
412
+ } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
396
413
  if (!path) {
397
414
  return;
398
415
  }
@@ -406,7 +423,7 @@ export default function Provider(props) {
406
423
  if (path !== '/') {
407
424
  pointer.set(newData, path, value);
408
425
  }
409
- setData(newData);
426
+ setData(newData, preventUpdate);
410
427
  }, [setData]);
411
428
  const handlePathChangeUnvalidated = useCallback(async (path, value) => {
412
429
  if (!path) {
@@ -512,7 +529,8 @@ export default function Provider(props) {
512
529
  skipErrorCheck
513
530
  } = args;
514
531
  setSubmitState({
515
- error: undefined
532
+ error: undefined,
533
+ customStatus: undefined
516
534
  });
517
535
  const asyncBehaviorIsEnabled = (skipErrorCheck ? true : !hasErrors() || hasFieldState('pending')) && (enableAsyncBehavior || hasFieldWithAsyncValidator());
518
536
  if (asyncBehaviorIsEnabled) {
@@ -535,33 +553,41 @@ export default function Provider(props) {
535
553
  }
536
554
  }
537
555
  }
556
+ let result;
538
557
  if (!(skipErrorCheck ? false : hasErrors()) && !hasFieldState('pending') && (skipFieldValidation ? true : !hasFieldState('error'))) {
539
- let result;
558
+ var _result2, _result4, _result5, _result6, _result7;
559
+ let submitResult;
540
560
  try {
541
561
  if (isolate) {
542
- result = await (onCommit === null || onCommit === void 0 ? void 0 : onCommit(internalDataRef.current, {
562
+ submitResult = await (onCommit === null || onCommit === void 0 ? void 0 : onCommit(internalDataRef.current, {
543
563
  clearData
544
564
  }));
545
565
  } else {
546
- result = await onSubmit();
566
+ submitResult = await onSubmit();
547
567
  }
548
- if (result instanceof Error) {
549
- throw result;
568
+ if (submitResult instanceof Error) {
569
+ throw submitResult;
550
570
  }
551
571
  } catch (error) {
552
- result = {
572
+ submitResult = {
553
573
  error
554
574
  };
555
575
  }
556
- const state = result;
576
+ result = submitResult;
557
577
  if (asyncBehaviorIsEnabled) {
558
- setFormState(state !== null && state !== void 0 && state.error ? 'abort' : 'complete');
578
+ var _result;
579
+ if ((_result = result) !== null && _result !== void 0 && _result.error) {
580
+ setFormState('abort');
581
+ } else if (keepPending.current !== true) {
582
+ setFormState('complete');
583
+ }
559
584
  }
560
- if (state !== null && state !== void 0 && state['status']) {
561
- setFormState(state === null || state === void 0 ? void 0 : state['status']);
585
+ if ((_result2 = result) !== null && _result2 !== void 0 && _result2['status']) {
586
+ var _result3;
587
+ setFormState((_result3 = result) === null || _result3 === void 0 ? void 0 : _result3['status']);
562
588
  }
563
- if (state !== null && state !== void 0 && state.error || state !== null && state !== void 0 && state.warning || state !== null && state !== void 0 && state.info) {
564
- setSubmitState(state);
589
+ if ((_result4 = result) !== null && _result4 !== void 0 && _result4.error || (_result5 = result) !== null && _result5 !== void 0 && _result5.warning || (_result6 = result) !== null && _result6 !== void 0 && _result6.info || (_result7 = result) !== null && _result7 !== void 0 && _result7.customStatus) {
590
+ setSubmitState(result);
565
591
  }
566
592
  } else {
567
593
  if (asyncBehaviorIsEnabled) {
@@ -581,11 +607,18 @@ export default function Provider(props) {
581
607
  onSubmitRequest === null || onSubmitRequest === void 0 ? void 0 : onSubmitRequest();
582
608
  setShowAllErrors(true);
583
609
  }
610
+ return result;
584
611
  }, [clearData, hasErrors, hasFieldState, hasFieldWithAsyncValidator, isolate, onCommit, onSubmitRequest, setFormState, setShowAllErrors, setSubmitState]);
585
612
  const handleSubmitListenersRef = useRef([]);
586
- const setHandleSubmit = useCallback(callback => {
587
- if (!handleSubmitListenersRef.current.includes(callback)) {
588
- handleSubmitListenersRef.current.push(callback);
613
+ const setHandleSubmit = useCallback(function (callback) {
614
+ let {
615
+ remove = false
616
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
617
+ const listeners = handleSubmitListenersRef.current;
618
+ if (remove) {
619
+ handleSubmitListenersRef.current = listeners.filter(item => item !== callback);
620
+ } else if (!listeners.includes(callback)) {
621
+ listeners.push(callback);
589
622
  }
590
623
  }, []);
591
624
  const handleSubmitListeners = useCallback(() => {
@@ -598,44 +631,50 @@ export default function Provider(props) {
598
631
  });
599
632
  return stop;
600
633
  }, []);
601
- const handleSubmit = useCallback(async function () {
602
- let {
603
- formElement = null
604
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
605
- handleSubmitCall({
634
+ const getSubmitData = useCallback(() => {
635
+ const data = internalDataRef.current;
636
+ const mutatedData = transformOut ? mutateDataHandler(data, transformOut) : data;
637
+ const filteredData = filterSubmitData ? filterDataHandler(mutatedData, filterSubmitData) : mutatedData;
638
+ return filteredData;
639
+ }, [filterDataHandler, filterSubmitData, mutateDataHandler, transformOut]);
640
+ const getSubmitOptions = useCallback(() => {
641
+ const reduceToVisibleFields = (data, options) => {
642
+ return visibleDataHandler(transformOut ? mutateDataHandler(data, transformOut) : data, options);
643
+ };
644
+ const formElement = formElementRef.current;
645
+ const options = {
646
+ filterData,
647
+ reduceToVisibleFields,
648
+ resetForm: () => {
649
+ var _formElement$reset;
650
+ formElement === null || formElement === void 0 ? void 0 : (_formElement$reset = formElement.reset) === null || _formElement$reset === void 0 ? void 0 : _formElement$reset.call(formElement);
651
+ if (typeof window !== 'undefined') {
652
+ if (sessionStorageId) {
653
+ window.sessionStorage.removeItem(sessionStorageId);
654
+ }
655
+ }
656
+ forceUpdate();
657
+ },
658
+ clearData
659
+ };
660
+ return options;
661
+ }, [clearData, filterData, mutateDataHandler, sessionStorageId, transformOut, visibleDataHandler]);
662
+ const handleSubmit = useCallback(async () => {
663
+ return await handleSubmitCall({
606
664
  enableAsyncBehavior: isAsync(onSubmit),
607
665
  onSubmit: async () => {
608
666
  if (handleSubmitListeners()) {
609
667
  return;
610
668
  }
611
- const data = internalDataRef.current;
612
- const mutatedData = transformOut ? mutateDataHandler(data, transformOut) : data;
613
- const filteredData = filterSubmitData ? filterDataHandler(mutatedData, filterSubmitData) : mutatedData;
614
- const reduceToVisibleFields = (data, options) => {
615
- return visibleDataHandler(transformOut ? mutateDataHandler(data, transformOut) : data, options);
616
- };
617
- const options = {
618
- filterData,
619
- reduceToVisibleFields,
620
- resetForm: () => {
621
- var _formElement$reset;
622
- formElement === null || formElement === void 0 ? void 0 : (_formElement$reset = formElement.reset) === null || _formElement$reset === void 0 ? void 0 : _formElement$reset.call(formElement);
623
- if (typeof window !== 'undefined') {
624
- if (sessionStorageId) {
625
- window.sessionStorage.removeItem(sessionStorageId);
626
- }
627
- }
628
- forceUpdate();
629
- },
630
- clearData
631
- };
669
+ const data = getSubmitData();
670
+ const options = getSubmitOptions();
632
671
  let result = undefined;
633
672
  if (isAsync(onSubmit)) {
634
- result = await onSubmit(filteredData, options);
673
+ result = await onSubmit(data, options);
635
674
  } else {
636
- result = onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(filteredData, options);
675
+ result = onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(data, options);
637
676
  }
638
- const completeResult = await (onSubmitComplete === null || onSubmitComplete === void 0 ? void 0 : onSubmitComplete(filteredData, result));
677
+ const completeResult = await (onSubmitComplete === null || onSubmitComplete === void 0 ? void 0 : onSubmitComplete(data, result));
639
678
  if (completeResult) {
640
679
  result = Object.keys(result).length > 0 ? _objectSpread(_objectSpread({}, result), completeResult) : completeResult;
641
680
  }
@@ -645,7 +684,7 @@ export default function Provider(props) {
645
684
  return result;
646
685
  }
647
686
  });
648
- }, [clearData, filterData, filterDataHandler, filterSubmitData, handleSubmitCall, handleSubmitListeners, mutateDataHandler, onSubmit, onSubmitComplete, scrollToTop, scrollTopOnSubmit, sessionStorageId, transformOut, visibleDataHandler]);
687
+ }, [getSubmitData, getSubmitOptions, handleSubmitCall, handleSubmitListeners, onSubmit, onSubmitComplete, scrollToTop, scrollTopOnSubmit]);
649
688
  const fieldEventListenersRef = useRef([]);
650
689
  const setFieldEventListener = useCallback((path, type, callback) => {
651
690
  fieldEventListenersRef.current = fieldEventListenersRef.current.filter(_ref4 => {
@@ -689,7 +728,8 @@ export default function Provider(props) {
689
728
  setSubmitState({
690
729
  info: undefined,
691
730
  warning: undefined,
692
- error: undefined
731
+ error: undefined,
732
+ customStatus: undefined
693
733
  });
694
734
  }, [setFormState, setSubmitState]);
695
735
  const {
@@ -717,6 +757,7 @@ export default function Provider(props) {
717
757
  setFieldEventListener,
718
758
  setFieldState,
719
759
  setFieldError,
760
+ setFieldConnection,
720
761
  setFieldProps,
721
762
  setValueProps,
722
763
  hasErrors,
@@ -728,6 +769,8 @@ export default function Provider(props) {
728
769
  clearData,
729
770
  visibleDataHandler,
730
771
  filterDataHandler,
772
+ getSubmitData,
773
+ getSubmitOptions,
731
774
  addOnChangeHandler,
732
775
  setHandleSubmit,
733
776
  scrollToTop,
@@ -741,9 +784,11 @@ export default function Provider(props) {
741
784
  errors: errorsRef.current,
742
785
  showAllErrors: showAllErrorsRef.current,
743
786
  hasVisibleError: Object.keys(hasVisibleErrorRef.current).length > 0,
787
+ fieldConnectionsRef,
744
788
  fieldPropsRef,
745
789
  valuePropsRef,
746
790
  mountedFieldsRef,
791
+ formElementRef,
747
792
  ajvInstance: ajvRef.current,
748
793
  id,
749
794
  data: internalDataRef.current,