@dnb/eufemia 10.65.1 → 10.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (432) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/cjs/components/card/Card.js +1 -1
  3. package/cjs/components/card/Card.js.map +1 -1
  4. package/cjs/components/date-picker/DatePickerInput.d.ts +5 -0
  5. package/cjs/components/date-picker/DatePickerInput.js +54 -36
  6. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  7. package/cjs/components/date-picker/DatePickerProvider.d.ts +4 -3
  8. package/cjs/components/date-picker/DatePickerProvider.js +7 -2
  9. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  10. package/cjs/components/date-picker/hooks/useDates.js.map +1 -1
  11. package/cjs/components/flex/Container.d.ts +2 -1
  12. package/cjs/components/flex/Container.js +31 -24
  13. package/cjs/components/flex/Container.js.map +1 -1
  14. package/cjs/components/flex/ContainerDocs.d.ts +2 -0
  15. package/cjs/components/flex/ContainerDocs.js +81 -0
  16. package/cjs/components/flex/ContainerDocs.js.map +1 -0
  17. package/cjs/components/flex/style/dnb-flex.css +36 -4
  18. package/cjs/components/flex/style/dnb-flex.min.css +1 -1
  19. package/cjs/components/flex/style/flex-container.scss +39 -4
  20. package/cjs/components/help-button/HelpButtonInline.d.ts +6 -0
  21. package/cjs/components/help-button/HelpButtonInline.js +51 -19
  22. package/cjs/components/help-button/HelpButtonInline.js.map +1 -1
  23. package/cjs/components/help-button/HelpButtonInstance.js +1 -1
  24. package/cjs/components/help-button/HelpButtonInstance.js.map +1 -1
  25. package/cjs/components/slider/SliderDocs.js +2 -2
  26. package/cjs/components/slider/SliderDocs.js.map +1 -1
  27. package/cjs/components/slider/SliderProvider.js +0 -2
  28. package/cjs/components/slider/SliderProvider.js.map +1 -1
  29. package/cjs/components/slider/types.d.ts +2 -2
  30. package/cjs/components/slider/types.js.map +1 -1
  31. package/cjs/components/step-indicator/StepIndicator.d.ts +6 -0
  32. package/cjs/components/step-indicator/StepIndicator.js.map +1 -1
  33. package/cjs/components/step-indicator/StepIndicatorContext.d.ts +2 -0
  34. package/cjs/components/step-indicator/StepIndicatorContext.js.map +1 -1
  35. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +4 -3
  36. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  37. package/cjs/components/toggle-button/ToggleButton.d.ts +9 -1
  38. package/cjs/components/toggle-button/ToggleButtonDocs.js +1 -0
  39. package/cjs/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  40. package/cjs/extensions/forms/DataContext/Context.d.ts +10 -4
  41. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  42. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +2 -2
  43. package/cjs/extensions/forms/DataContext/Provider/Provider.js +44 -40
  44. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  45. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  46. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  47. package/cjs/extensions/forms/Field/Slider/Slider.js +13 -4
  48. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
  49. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +17 -13
  50. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  51. package/cjs/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  52. package/cjs/extensions/forms/Value/ValueDocs.js +5 -0
  53. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  54. package/cjs/extensions/forms/ValueBlock/ValueBlock.d.ts +14 -1
  55. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +40 -10
  56. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  57. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +17 -0
  58. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  59. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +24 -0
  60. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.d.ts +7 -0
  61. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js +78 -0
  62. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -0
  63. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +3 -0
  64. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js +94 -0
  65. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -0
  66. package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.d.ts +4 -0
  67. package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +67 -0
  68. package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -0
  69. package/cjs/extensions/forms/Wizard/Container/WizardContainer.d.ts +9 -1
  70. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +102 -206
  71. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  72. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js +10 -0
  73. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  74. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +7 -23
  75. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  76. package/cjs/extensions/forms/Wizard/Context/types.d.ts +35 -0
  77. package/cjs/extensions/forms/Wizard/Context/types.js +1 -0
  78. package/cjs/extensions/forms/Wizard/Context/types.js.map +1 -0
  79. package/cjs/extensions/forms/Wizard/EditButton/EditButton.d.ts +1 -1
  80. package/cjs/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  81. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  82. package/cjs/extensions/forms/Wizard/Step/Step.js +28 -9
  83. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  84. package/cjs/extensions/forms/Wizard/Step/StepContext.d.ts +7 -0
  85. package/cjs/extensions/forms/Wizard/Step/StepContext.js +12 -0
  86. package/cjs/extensions/forms/Wizard/Step/StepContext.js.map +1 -0
  87. package/cjs/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  88. package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  89. package/cjs/extensions/forms/Wizard/hooks/useStep.d.ts +2 -1
  90. package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  91. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  92. package/cjs/extensions/forms/constants/locales/en-GB.js +2 -1
  93. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  94. package/cjs/extensions/forms/constants/locales/en-US.d.ts +1 -0
  95. package/cjs/extensions/forms/constants/locales/index.d.ts +2 -0
  96. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  97. package/cjs/extensions/forms/constants/locales/nb-NO.js +2 -1
  98. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  99. package/cjs/extensions/forms/hooks/useFieldProps.js +35 -17
  100. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  101. package/cjs/extensions/forms/style/dnb-forms.css +17 -0
  102. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  103. package/cjs/extensions/forms/types.d.ts +9 -1
  104. package/cjs/extensions/forms/types.js.map +1 -1
  105. package/cjs/fragments/drawer-list/DrawerList.d.ts +6 -1
  106. package/cjs/fragments/drawer-list/DrawerList.js +1 -0
  107. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  108. package/cjs/shared/Eufemia.d.ts +1 -1
  109. package/cjs/shared/Eufemia.js +2 -2
  110. package/cjs/shared/Eufemia.js.map +1 -1
  111. package/cjs/style/core/scopes.scss +1 -1
  112. package/cjs/style/dnb-ui-basis.css +1 -1
  113. package/cjs/style/dnb-ui-basis.min.css +1 -1
  114. package/cjs/style/dnb-ui-body.css +1 -1
  115. package/cjs/style/dnb-ui-body.min.css +1 -1
  116. package/cjs/style/dnb-ui-components.css +53 -4
  117. package/cjs/style/dnb-ui-components.min.css +2 -2
  118. package/cjs/style/dnb-ui-core.css +1 -1
  119. package/cjs/style/dnb-ui-core.min.css +1 -1
  120. package/cjs/style/dnb-ui-extensions.css +17 -0
  121. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  122. package/cjs/style/dnb-ui-forms.css +17 -0
  123. package/cjs/style/dnb-ui-forms.min.css +1 -1
  124. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +70 -4
  125. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  126. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +17 -0
  127. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  128. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +17 -0
  129. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  130. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +70 -4
  131. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  132. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +17 -0
  133. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  134. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +17 -0
  135. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  136. package/cjs/style/themes/theme-ui/ui-theme-components.css +70 -4
  137. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  138. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +17 -0
  139. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  140. package/cjs/style/themes/theme-ui/ui-theme-forms.css +17 -0
  141. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  142. package/components/card/Card.js +1 -1
  143. package/components/card/Card.js.map +1 -1
  144. package/components/date-picker/DatePickerInput.d.ts +5 -0
  145. package/components/date-picker/DatePickerInput.js +54 -36
  146. package/components/date-picker/DatePickerInput.js.map +1 -1
  147. package/components/date-picker/DatePickerProvider.d.ts +4 -3
  148. package/components/date-picker/DatePickerProvider.js +7 -2
  149. package/components/date-picker/DatePickerProvider.js.map +1 -1
  150. package/components/date-picker/hooks/useDates.js.map +1 -1
  151. package/components/flex/Container.d.ts +2 -1
  152. package/components/flex/Container.js +32 -25
  153. package/components/flex/Container.js.map +1 -1
  154. package/components/flex/ContainerDocs.d.ts +2 -0
  155. package/components/flex/ContainerDocs.js +74 -0
  156. package/components/flex/ContainerDocs.js.map +1 -0
  157. package/components/flex/style/dnb-flex.css +36 -4
  158. package/components/flex/style/dnb-flex.min.css +1 -1
  159. package/components/flex/style/flex-container.scss +39 -4
  160. package/components/help-button/HelpButtonInline.d.ts +6 -0
  161. package/components/help-button/HelpButtonInline.js +51 -19
  162. package/components/help-button/HelpButtonInline.js.map +1 -1
  163. package/components/help-button/HelpButtonInstance.js +1 -1
  164. package/components/help-button/HelpButtonInstance.js.map +1 -1
  165. package/components/slider/SliderDocs.js +2 -2
  166. package/components/slider/SliderDocs.js.map +1 -1
  167. package/components/slider/SliderProvider.js +0 -2
  168. package/components/slider/SliderProvider.js.map +1 -1
  169. package/components/slider/types.d.ts +2 -2
  170. package/components/slider/types.js.map +1 -1
  171. package/components/step-indicator/StepIndicator.d.ts +6 -0
  172. package/components/step-indicator/StepIndicator.js.map +1 -1
  173. package/components/step-indicator/StepIndicatorContext.d.ts +2 -0
  174. package/components/step-indicator/StepIndicatorContext.js.map +1 -1
  175. package/components/step-indicator/StepIndicatorTriggerButton.js +4 -3
  176. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  177. package/components/toggle-button/ToggleButton.d.ts +9 -1
  178. package/components/toggle-button/ToggleButtonDocs.js +1 -0
  179. package/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  180. package/es/components/card/Card.js +1 -1
  181. package/es/components/card/Card.js.map +1 -1
  182. package/es/components/date-picker/DatePickerInput.d.ts +5 -0
  183. package/es/components/date-picker/DatePickerInput.js +54 -36
  184. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  185. package/es/components/date-picker/DatePickerProvider.d.ts +4 -3
  186. package/es/components/date-picker/DatePickerProvider.js +7 -2
  187. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  188. package/es/components/date-picker/hooks/useDates.js.map +1 -1
  189. package/es/components/flex/Container.d.ts +2 -1
  190. package/es/components/flex/Container.js +32 -25
  191. package/es/components/flex/Container.js.map +1 -1
  192. package/es/components/flex/ContainerDocs.d.ts +2 -0
  193. package/es/components/flex/ContainerDocs.js +74 -0
  194. package/es/components/flex/ContainerDocs.js.map +1 -0
  195. package/es/components/flex/style/dnb-flex.css +36 -4
  196. package/es/components/flex/style/dnb-flex.min.css +1 -1
  197. package/es/components/flex/style/flex-container.scss +39 -4
  198. package/es/components/help-button/HelpButtonInline.d.ts +6 -0
  199. package/es/components/help-button/HelpButtonInline.js +50 -18
  200. package/es/components/help-button/HelpButtonInline.js.map +1 -1
  201. package/es/components/help-button/HelpButtonInstance.js +1 -1
  202. package/es/components/help-button/HelpButtonInstance.js.map +1 -1
  203. package/es/components/slider/SliderDocs.js +2 -2
  204. package/es/components/slider/SliderDocs.js.map +1 -1
  205. package/es/components/slider/SliderProvider.js +0 -2
  206. package/es/components/slider/SliderProvider.js.map +1 -1
  207. package/es/components/slider/types.d.ts +2 -2
  208. package/es/components/slider/types.js.map +1 -1
  209. package/es/components/step-indicator/StepIndicator.d.ts +6 -0
  210. package/es/components/step-indicator/StepIndicator.js.map +1 -1
  211. package/es/components/step-indicator/StepIndicatorContext.d.ts +2 -0
  212. package/es/components/step-indicator/StepIndicatorContext.js.map +1 -1
  213. package/es/components/step-indicator/StepIndicatorTriggerButton.js +4 -3
  214. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  215. package/es/components/toggle-button/ToggleButton.d.ts +9 -1
  216. package/es/components/toggle-button/ToggleButtonDocs.js +1 -0
  217. package/es/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  218. package/es/extensions/forms/DataContext/Context.d.ts +10 -4
  219. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  220. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +2 -2
  221. package/es/extensions/forms/DataContext/Provider/Provider.js +34 -33
  222. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  223. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  224. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  225. package/es/extensions/forms/Field/Slider/Slider.js +13 -4
  226. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
  227. package/es/extensions/forms/FieldBlock/FieldBlock.js +17 -13
  228. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  229. package/es/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  230. package/es/extensions/forms/Value/ValueDocs.js +5 -0
  231. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  232. package/es/extensions/forms/ValueBlock/ValueBlock.d.ts +14 -1
  233. package/es/extensions/forms/ValueBlock/ValueBlock.js +40 -10
  234. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  235. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +17 -0
  236. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  237. package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +24 -0
  238. package/es/extensions/forms/Wizard/Container/DisplaySteps.d.ts +7 -0
  239. package/es/extensions/forms/Wizard/Container/DisplaySteps.js +66 -0
  240. package/es/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -0
  241. package/es/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +3 -0
  242. package/es/extensions/forms/Wizard/Container/IterateOverSteps.js +85 -0
  243. package/es/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -0
  244. package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.d.ts +4 -0
  245. package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +54 -0
  246. package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -0
  247. package/es/extensions/forms/Wizard/Container/WizardContainer.d.ts +9 -1
  248. package/es/extensions/forms/Wizard/Container/WizardContainer.js +97 -194
  249. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  250. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js +10 -0
  251. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  252. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +7 -23
  253. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  254. package/es/extensions/forms/Wizard/Context/types.d.ts +35 -0
  255. package/es/extensions/forms/Wizard/Context/types.js +1 -0
  256. package/es/extensions/forms/Wizard/Context/types.js.map +1 -0
  257. package/es/extensions/forms/Wizard/EditButton/EditButton.d.ts +1 -1
  258. package/es/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  259. package/es/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  260. package/es/extensions/forms/Wizard/Step/Step.js +29 -10
  261. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  262. package/es/extensions/forms/Wizard/Step/StepContext.d.ts +7 -0
  263. package/es/extensions/forms/Wizard/Step/StepContext.js +4 -0
  264. package/es/extensions/forms/Wizard/Step/StepContext.js.map +1 -0
  265. package/es/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  266. package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  267. package/es/extensions/forms/Wizard/hooks/useStep.d.ts +2 -1
  268. package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  269. package/es/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  270. package/es/extensions/forms/constants/locales/en-GB.js +2 -1
  271. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  272. package/es/extensions/forms/constants/locales/en-US.d.ts +1 -0
  273. package/es/extensions/forms/constants/locales/index.d.ts +2 -0
  274. package/es/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  275. package/es/extensions/forms/constants/locales/nb-NO.js +2 -1
  276. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  277. package/es/extensions/forms/hooks/useFieldProps.js +36 -16
  278. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  279. package/es/extensions/forms/style/dnb-forms.css +17 -0
  280. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  281. package/es/extensions/forms/types.d.ts +9 -1
  282. package/es/extensions/forms/types.js.map +1 -1
  283. package/es/fragments/drawer-list/DrawerList.d.ts +6 -1
  284. package/es/fragments/drawer-list/DrawerList.js +1 -0
  285. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  286. package/es/shared/Eufemia.d.ts +1 -1
  287. package/es/shared/Eufemia.js +2 -2
  288. package/es/shared/Eufemia.js.map +1 -1
  289. package/es/style/core/scopes.scss +1 -1
  290. package/es/style/dnb-ui-basis.css +1 -1
  291. package/es/style/dnb-ui-basis.min.css +1 -1
  292. package/es/style/dnb-ui-body.css +1 -1
  293. package/es/style/dnb-ui-body.min.css +1 -1
  294. package/es/style/dnb-ui-components.css +53 -4
  295. package/es/style/dnb-ui-components.min.css +2 -2
  296. package/es/style/dnb-ui-core.css +1 -1
  297. package/es/style/dnb-ui-core.min.css +1 -1
  298. package/es/style/dnb-ui-extensions.css +17 -0
  299. package/es/style/dnb-ui-extensions.min.css +1 -1
  300. package/es/style/dnb-ui-forms.css +17 -0
  301. package/es/style/dnb-ui-forms.min.css +1 -1
  302. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +70 -4
  303. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  304. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +17 -0
  305. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  306. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +17 -0
  307. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  308. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +70 -4
  309. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  310. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +17 -0
  311. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  312. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +17 -0
  313. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  314. package/es/style/themes/theme-ui/ui-theme-components.css +70 -4
  315. package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  316. package/es/style/themes/theme-ui/ui-theme-extensions.css +17 -0
  317. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  318. package/es/style/themes/theme-ui/ui-theme-forms.css +17 -0
  319. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  320. package/esm/dnb-ui-basis.min.mjs +1 -1
  321. package/esm/dnb-ui-components.min.mjs +1 -1
  322. package/esm/dnb-ui-elements.min.mjs +1 -1
  323. package/esm/dnb-ui-extensions.min.mjs +1 -1
  324. package/esm/dnb-ui-lib.min.mjs +1 -1
  325. package/extensions/forms/DataContext/Context.d.ts +10 -4
  326. package/extensions/forms/DataContext/Context.js.map +1 -1
  327. package/extensions/forms/DataContext/Provider/Provider.d.ts +2 -2
  328. package/extensions/forms/DataContext/Provider/Provider.js +44 -40
  329. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  330. package/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  331. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  332. package/extensions/forms/Field/Slider/Slider.js +13 -4
  333. package/extensions/forms/Field/Slider/Slider.js.map +1 -1
  334. package/extensions/forms/FieldBlock/FieldBlock.js +17 -13
  335. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  336. package/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  337. package/extensions/forms/Value/ValueDocs.js +5 -0
  338. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  339. package/extensions/forms/ValueBlock/ValueBlock.d.ts +14 -1
  340. package/extensions/forms/ValueBlock/ValueBlock.js +40 -10
  341. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  342. package/extensions/forms/ValueBlock/style/dnb-value-block.css +17 -0
  343. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  344. package/extensions/forms/ValueBlock/style/dnb-value-block.scss +24 -0
  345. package/extensions/forms/Wizard/Container/DisplaySteps.d.ts +7 -0
  346. package/extensions/forms/Wizard/Container/DisplaySteps.js +70 -0
  347. package/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -0
  348. package/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +3 -0
  349. package/extensions/forms/Wizard/Container/IterateOverSteps.js +86 -0
  350. package/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -0
  351. package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.d.ts +4 -0
  352. package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +57 -0
  353. package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -0
  354. package/extensions/forms/Wizard/Container/WizardContainer.d.ts +9 -1
  355. package/extensions/forms/Wizard/Container/WizardContainer.js +103 -207
  356. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  357. package/extensions/forms/Wizard/Container/WizardContainerDocs.js +10 -0
  358. package/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  359. package/extensions/forms/Wizard/Context/WizardContext.d.ts +7 -23
  360. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  361. package/extensions/forms/Wizard/Context/types.d.ts +35 -0
  362. package/extensions/forms/Wizard/Context/types.js +1 -0
  363. package/extensions/forms/Wizard/Context/types.js.map +1 -0
  364. package/extensions/forms/Wizard/EditButton/EditButton.d.ts +1 -1
  365. package/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  366. package/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  367. package/extensions/forms/Wizard/Step/Step.js +29 -10
  368. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  369. package/extensions/forms/Wizard/Step/StepContext.d.ts +7 -0
  370. package/extensions/forms/Wizard/Step/StepContext.js +4 -0
  371. package/extensions/forms/Wizard/Step/StepContext.js.map +1 -0
  372. package/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  373. package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  374. package/extensions/forms/Wizard/hooks/useStep.d.ts +2 -1
  375. package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  376. package/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  377. package/extensions/forms/constants/locales/en-GB.js +2 -1
  378. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  379. package/extensions/forms/constants/locales/en-US.d.ts +1 -0
  380. package/extensions/forms/constants/locales/index.d.ts +2 -0
  381. package/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  382. package/extensions/forms/constants/locales/nb-NO.js +2 -1
  383. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  384. package/extensions/forms/hooks/useFieldProps.js +35 -17
  385. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  386. package/extensions/forms/style/dnb-forms.css +17 -0
  387. package/extensions/forms/style/dnb-forms.min.css +1 -1
  388. package/extensions/forms/types.d.ts +9 -1
  389. package/extensions/forms/types.js.map +1 -1
  390. package/fragments/drawer-list/DrawerList.d.ts +6 -1
  391. package/fragments/drawer-list/DrawerList.js +1 -0
  392. package/fragments/drawer-list/DrawerList.js.map +1 -1
  393. package/package.json +1 -1
  394. package/shared/Eufemia.d.ts +1 -1
  395. package/shared/Eufemia.js +2 -2
  396. package/shared/Eufemia.js.map +1 -1
  397. package/style/core/scopes.scss +1 -1
  398. package/style/dnb-ui-basis.css +1 -1
  399. package/style/dnb-ui-basis.min.css +1 -1
  400. package/style/dnb-ui-body.css +1 -1
  401. package/style/dnb-ui-body.min.css +1 -1
  402. package/style/dnb-ui-components.css +53 -4
  403. package/style/dnb-ui-components.min.css +2 -2
  404. package/style/dnb-ui-core.css +1 -1
  405. package/style/dnb-ui-core.min.css +1 -1
  406. package/style/dnb-ui-extensions.css +17 -0
  407. package/style/dnb-ui-extensions.min.css +1 -1
  408. package/style/dnb-ui-forms.css +17 -0
  409. package/style/dnb-ui-forms.min.css +1 -1
  410. package/style/themes/theme-eiendom/eiendom-theme-components.css +70 -4
  411. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  412. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +17 -0
  413. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  414. package/style/themes/theme-eiendom/eiendom-theme-forms.css +17 -0
  415. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  416. package/style/themes/theme-sbanken/sbanken-theme-components.css +70 -4
  417. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  418. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +17 -0
  419. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  420. package/style/themes/theme-sbanken/sbanken-theme-forms.css +17 -0
  421. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  422. package/style/themes/theme-ui/ui-theme-components.css +70 -4
  423. package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  424. package/style/themes/theme-ui/ui-theme-extensions.css +17 -0
  425. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  426. package/style/themes/theme-ui/ui-theme-forms.css +17 -0
  427. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  428. package/umd/dnb-ui-basis.min.js +1 -1
  429. package/umd/dnb-ui-components.min.js +1 -1
  430. package/umd/dnb-ui-elements.min.js +1 -1
  431. package/umd/dnb-ui-extensions.min.js +2 -2
  432. package/umd/dnb-ui-lib.min.js +1 -1
@@ -26,21 +26,27 @@ export type VisibleDataOptions = {
26
26
  export type MutateDataHandler<Data> = (data: Data, mutate: TransformData) => Partial<Data>;
27
27
  export type FilterDataHandler<Data> = (data: Data, filter: FilterData) => Partial<Data>;
28
28
  export type FilterDataHandlerCallback<R> = (parameters: FilterDataHandlerParameters) => R;
29
- export type FilterDataHandlerParameters = FilterDataPathConditionParameters & {
29
+ export type FilterDataHandlerParameters = DataPathHandlerParameters & {
30
30
  path: Path;
31
31
  };
32
- export type FilterDataPathCondition<Data = unknown> = (parameters: FilterDataPathConditionParameters<Data>) => boolean | undefined;
33
- export type FilterDataPathConditionParameters<Data = unknown> = {
32
+ export type DataPathHandler<Data = unknown> = (parameters: DataPathHandlerParameters<Data>) => boolean | undefined;
33
+ export type DataPathHandlerParameters<Data = unknown> = {
34
+ path: Path;
34
35
  value: unknown;
35
36
  displayValue: undefined | React.ReactNode | Array<React.ReactNode>;
36
37
  label: React.ReactNode;
37
38
  props: FieldProps;
39
+ error: Error | undefined;
40
+ /**
41
+ * Used in the "filterData" given by the "useData" hook.
42
+ */
38
43
  data: Data;
44
+ /** @deprecated – can be removed in v11 */
39
45
  internal: {
40
46
  error: Error | undefined;
41
47
  };
42
48
  };
43
- export type FilterDataPathObject<Data> = Record<Path, FilterDataPathCondition<Data> | boolean | undefined>;
49
+ export type FilterDataPathObject<Data> = Record<Path, DataPathHandler<Data> | boolean | undefined>;
44
50
  export type FilterData<Data = unknown> = FilterDataPathObject<Data> | FilterDataHandlerCallback<boolean | undefined>;
45
51
  export type VisibleData<Data = unknown> = Partial<Data>;
46
52
  export type TransformData = FilterDataHandlerCallback<unknown>;
@@ -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","ajvInstance","contextErrorMessages","props","Context","createContext"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\nimport { Ajv, FormError, JsonObject, makeAjvInstance } from '../utils'\nimport {\n AllJSONSchemaVersions,\n GlobalErrorMessagesWithPaths,\n SubmitState,\n Path,\n EventStateObject,\n EventReturnWithStateObject,\n FieldProps,\n ValueProps,\n OnChange,\n OnSubmitParams,\n} from '../types'\nimport { Props as ProviderProps } from './Provider'\nimport { SnapshotName } from '../Form/Snapshot'\nimport { SharedStateId } from '../../../shared/helpers/useSharedState'\n\nexport type MountState = {\n isPreMounted?: boolean\n isMounted?: boolean\n isVisible?: boolean\n isFocused?: 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 displayValue: undefined | React.ReactNode | Array<React.ReactNode>\n label: React.ReactNode\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}\nexport type FieldInternalsRefProps =\n | (FieldProps & { children: unknown })\n | undefined\nexport type FieldInternalsRef = Record<\n Path,\n {\n props: FieldInternalsRefProps\n id: string | undefined\n }\n>\nexport type ValueInternalsRef = Record<\n Path,\n { props: ValueProps | undefined }\n>\n\nexport interface ContextState {\n id?: SharedStateId\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<Path, 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 getSubmitParams?: () => OnSubmitParams\n setFieldEventListener?: (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback']\n ) => void\n revealError?: (path: Path, hasError: boolean) => void\n setFieldInternals?: (path: Path, props: unknown, id?: string) => void\n setValueInternals?: (path: Path, props: unknown) => void\n setHandleSubmit?: (\n callback: HandleSubmitCallback,\n params?: { remove?: boolean }\n ) => void\n setFieldConnection?: (path: Path, connections: FieldConnections) => void\n isEmptyDataRef?: React.MutableRefObject<boolean>\n addSetShowAllErrorsRef?: React.MutableRefObject<\n Array<(showAllErrors: boolean) => void>\n >\n fieldDisplayValueRef?: React.MutableRefObject<\n Record<Path, { type: 'field'; value?: React.ReactNode }>\n >\n fieldInternalsRef?: React.MutableRefObject<FieldInternalsRef>\n valueInternalsRef?: React.MutableRefObject<ValueInternalsRef>\n fieldConnectionsRef?: React.RefObject<Record<Path, FieldConnections>>\n mountedFieldsRef?: React.MutableRefObject<Record<Path, MountState>>\n snapshotsRef?: React.MutableRefObject<\n Map<SnapshotName, Map<Path, unknown>>\n >\n existingFieldsRef?: React.MutableRefObject<Map<Path, boolean>>\n formElementRef?: React.MutableRefObject<HTMLFormElement>\n fieldErrorRef?: React.MutableRefObject<Record<Path, Error>>\n showAllErrors: boolean | number\n hasVisibleError: boolean\n formState: SubmitState\n ajvInstance: Ajv\n contextErrorMessages: GlobalErrorMessagesWithPaths\n schema: AllJSONSchemaVersions\n path?: Path\n disabled?: boolean\n required?: boolean\n submitState: Partial<EventStateObject>\n prerenderFieldProps?: boolean\n decoupleForm?: boolean\n hasElementRef?: React.MutableRefObject<boolean>\n restHandlerProps?: Record<string, unknown>\n props: ProviderProps<JsonObject>\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 ajvInstance: makeAjvInstance(),\n contextErrorMessages: undefined,\n props: null,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAqCC,eAAe,QAAQ,UAAU;AA8MtE,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,WAAW,EAAEzB,eAAe,CAAC,CAAC;EAC9B0B,oBAAoB,EAAEtB,SAAS;EAC/BuB,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,OAAO,GAAG7B,KAAK,CAAC8B,aAAa,CAAe5B,mBAAmB,CAAC;AAEtE,eAAe2B,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","ajvInstance","contextErrorMessages","props","Context","createContext"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\nimport { Ajv, FormError, JsonObject, makeAjvInstance } from '../utils'\nimport {\n AllJSONSchemaVersions,\n GlobalErrorMessagesWithPaths,\n SubmitState,\n Path,\n EventStateObject,\n EventReturnWithStateObject,\n FieldProps,\n ValueProps,\n OnChange,\n OnSubmitParams,\n} from '../types'\nimport { Props as ProviderProps } from './Provider'\nimport { SnapshotName } from '../Form/Snapshot'\nimport { SharedStateId } from '../../../shared/helpers/useSharedState'\n\nexport type MountState = {\n isPreMounted?: boolean\n isMounted?: boolean\n isVisible?: boolean\n isFocused?: 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 = DataPathHandlerParameters & {\n path: Path\n}\nexport type DataPathHandler<Data = unknown> = (\n parameters: DataPathHandlerParameters<Data>\n) => boolean | undefined\nexport type DataPathHandlerParameters<Data = unknown> = {\n path: Path\n value: unknown\n displayValue: undefined | React.ReactNode | Array<React.ReactNode>\n label: React.ReactNode\n props: FieldProps\n error: Error | undefined\n\n /**\n * Used in the \"filterData\" given by the \"useData\" hook.\n */\n data: Data\n\n /** @deprecated – can be removed in v11 */\n internal: {\n error: Error | undefined\n }\n}\nexport type FilterDataPathObject<Data> = Record<\n Path,\n DataPathHandler<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}\nexport type FieldInternalsRefProps =\n | (FieldProps & { children: unknown })\n | undefined\nexport type FieldInternalsRef = Record<\n Path,\n {\n props: FieldInternalsRefProps\n id: string | undefined\n }\n>\nexport type ValueInternalsRef = Record<\n Path,\n { props: ValueProps | undefined }\n>\n\nexport interface ContextState {\n id?: SharedStateId\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<Path, 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 getSubmitParams?: () => OnSubmitParams\n setFieldEventListener?: (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback']\n ) => void\n revealError?: (path: Path, hasError: boolean) => void\n setFieldInternals?: (path: Path, props: unknown, id?: string) => void\n setValueInternals?: (path: Path, props: unknown) => void\n setHandleSubmit?: (\n callback: HandleSubmitCallback,\n params?: { remove?: boolean }\n ) => void\n setFieldConnection?: (path: Path, connections: FieldConnections) => void\n isEmptyDataRef?: React.MutableRefObject<boolean>\n addSetShowAllErrorsRef?: React.MutableRefObject<\n Array<(showAllErrors: boolean) => void>\n >\n fieldDisplayValueRef?: React.MutableRefObject<\n Record<Path, { type: 'field'; value?: React.ReactNode }>\n >\n fieldInternalsRef?: React.MutableRefObject<FieldInternalsRef>\n valueInternalsRef?: React.MutableRefObject<ValueInternalsRef>\n fieldConnectionsRef?: React.RefObject<Record<Path, FieldConnections>>\n mountedFieldsRef?: React.MutableRefObject<Record<Path, MountState>>\n snapshotsRef?: React.MutableRefObject<\n Map<SnapshotName, Map<Path, unknown>>\n >\n existingFieldsRef?: React.MutableRefObject<Map<Path, boolean>>\n formElementRef?: React.MutableRefObject<HTMLFormElement>\n fieldErrorRef?: React.MutableRefObject<Record<Path, Error>>\n showAllErrors: boolean | number\n hasVisibleError: boolean\n formState: SubmitState\n ajvInstance: Ajv\n contextErrorMessages: GlobalErrorMessagesWithPaths\n schema: AllJSONSchemaVersions\n path?: Path\n disabled?: boolean\n required?: boolean\n submitState: Partial<EventStateObject>\n prerenderFieldProps?: boolean\n decoupleForm?: boolean\n hasElementRef?: React.MutableRefObject<boolean>\n restHandlerProps?: Record<string, unknown>\n props: ProviderProps<JsonObject>\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 ajvInstance: makeAjvInstance(),\n contextErrorMessages: undefined,\n props: null,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAqCC,eAAe,QAAQ,UAAU;AAqNtE,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,WAAW,EAAEzB,eAAe,CAAC,CAAC;EAC9B0B,oBAAoB,EAAEtB,SAAS;EAC/BuB,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,OAAO,GAAG7B,KAAK,CAAC8B,aAAa,CAAe5B,mBAAmB,CAAC;AAEtE,eAAe2B,OAAO"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { JsonObject } from '../../utils/json-pointer';
3
3
  import { Ajv } from '../../utils';
4
- import { GlobalErrorMessagesWithPaths, AllJSONSchemaVersions, Path, OnSubmit, OnChange, EventReturnWithStateObject } from '../../types';
4
+ import { GlobalErrorMessagesWithPaths, AllJSONSchemaVersions, Path, OnSubmit, OnChange, EventReturnWithStateObject, OnSubmitRequest } from '../../types';
5
5
  import type { IsolationProviderProps } from '../../Form/Isolation/Isolation';
6
6
  import { SharedStateId } from '../../../../shared/helpers/useSharedState';
7
7
  import { ContextProps } from '../../../../shared/Context';
@@ -82,7 +82,7 @@ export type Props<Data extends JsonObject> = IsolationProviderProps<Data> & {
82
82
  /**
83
83
  * Submit was requested, but data was invalid
84
84
  */
85
- onSubmitRequest?: () => void;
85
+ onSubmitRequest?: OnSubmitRequest;
86
86
  /**
87
87
  * Will be called when the onSubmit is finished and had not errors
88
88
  */
@@ -169,6 +169,29 @@ export default function Provider(props) {
169
169
  forceUpdate();
170
170
  }
171
171
  }, []);
172
+ const getDataPathHandlerParameters = useCallback(function (path) {
173
+ var _fieldInternalsRef$cu;
174
+ let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : internalDataRef.current;
175
+ const value = pointer.has(data, path) ? pointer.get(data, path) : undefined;
176
+ const {
177
+ value: displayValue
178
+ } = fieldDisplayValueRef.current[path] || {};
179
+ const props = (_fieldInternalsRef$cu = fieldInternalsRef.current[path]) === null || _fieldInternalsRef$cu === void 0 ? void 0 : _fieldInternalsRef$cu.props;
180
+ const label = props === null || props === void 0 ? void 0 : props.label;
181
+ const error = fieldErrorRef.current[path];
182
+ return {
183
+ path,
184
+ value,
185
+ displayValue,
186
+ label,
187
+ props,
188
+ data: internalDataRef.current,
189
+ error,
190
+ internal: {
191
+ error
192
+ }
193
+ };
194
+ }, []);
172
195
  const mutateDataHandler = useCallback(function (data, handler) {
173
196
  let {
174
197
  remove = false,
@@ -194,33 +217,16 @@ export default function Provider(props) {
194
217
  }
195
218
  };
196
219
  if (typeof handler === 'function') {
197
- Object.entries(fieldInternalsRef.current).forEach(_ref => {
198
- let [path, {
199
- props
200
- }] = _ref;
220
+ Object.keys(fieldInternalsRef.current).forEach(path => {
201
221
  const exists = pointer.has(data, path);
202
222
  if (exists) {
203
- var _fieldErrorRef$curren;
204
- const value = pointer.get(data, path);
205
223
  const {
206
- value: displayValue,
207
224
  type
208
225
  } = fieldDisplayValueRef.current[path] || {};
209
- const internal = {
210
- error: (_fieldErrorRef$curren = fieldErrorRef.current) === null || _fieldErrorRef$curren === void 0 ? void 0 : _fieldErrorRef$curren[path]
211
- };
212
226
  if ((fireHandlerWhen === null || fireHandlerWhen === void 0 ? void 0 : fireHandlerWhen({
213
227
  type
214
228
  })) !== false) {
215
- const result = handler({
216
- path,
217
- value,
218
- displayValue,
219
- label: props.label,
220
- data: internalDataRef.current,
221
- props,
222
- internal
223
- });
229
+ const result = handler(getDataPathHandlerParameters(path, data));
224
230
  mutateEntry(path, result);
225
231
  }
226
232
  }
@@ -230,31 +236,20 @@ export default function Provider(props) {
230
236
  }
231
237
  return data;
232
238
  } else if (handler) {
233
- const runFilter = _ref2 => {
239
+ const runFilter = _ref => {
234
240
  let {
235
241
  path,
236
242
  condition
237
- } = _ref2;
243
+ } = _ref;
238
244
  const exists = pointer.has(data, path);
239
245
  if (exists) {
240
- var _fieldInternalsRef$cu, _fieldErrorRef$curren2;
241
- const value = pointer.get(data, path);
242
- const props = (_fieldInternalsRef$cu = fieldInternalsRef.current[path]) === null || _fieldInternalsRef$cu === void 0 ? void 0 : _fieldInternalsRef$cu.props;
243
- const internal = {
244
- error: (_fieldErrorRef$curren2 = fieldErrorRef.current) === null || _fieldErrorRef$curren2 === void 0 ? void 0 : _fieldErrorRef$curren2[path]
245
- };
246
- const result = typeof condition === 'function' ? condition({
247
- value,
248
- data: internalDataRef.current,
249
- props,
250
- internal
251
- }) : condition;
246
+ const result = typeof condition === 'function' ? condition(getDataPathHandlerParameters(path, data)) : condition;
252
247
  mutateEntry(path, result);
253
248
  }
254
249
  };
255
250
  const wildcardPaths = [];
256
- Object.entries(handler).forEach(_ref3 => {
257
- let [path, condition] = _ref3;
251
+ Object.entries(handler).forEach(_ref2 => {
252
+ let [path, condition] = _ref2;
258
253
  if (path.includes('*')) {
259
254
  const parts = path.split(/\/\*/g);
260
255
  const exists = pointer.has(data, parts[0]);
@@ -287,7 +282,7 @@ export default function Provider(props) {
287
282
  return data;
288
283
  }
289
284
  return data;
290
- }, []);
285
+ }, [getDataPathHandlerParameters]);
291
286
  const visibleDataHandler = useCallback(function () {
292
287
  let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : internalDataRef.current;
293
288
  let {
@@ -391,9 +386,9 @@ export default function Provider(props) {
391
386
  }, [id, initialData, sharedData, data]);
392
387
  internalDataRef.current = props.path && pointer.has(internalData, props.path) ? pointer.get(internalData, props.path) : internalData;
393
388
  const clearData = useCallback(() => {
394
- var _ref4, _requestAnimationFram;
389
+ var _ref3, _requestAnimationFram;
395
390
  isEmptyDataRef.current = true;
396
- internalDataRef.current = (_ref4 = typeof emptyData === 'function' ? emptyData(internalDataRef.current) : emptyData) !== null && _ref4 !== void 0 ? _ref4 : Array.isArray(internalDataRef.current) ? [] : clearedData;
391
+ internalDataRef.current = (_ref3 = typeof emptyData === 'function' ? emptyData(internalDataRef.current) : emptyData) !== null && _ref3 !== void 0 ? _ref3 : Array.isArray(internalDataRef.current) ? [] : clearedData;
397
392
  if (id) {
398
393
  setSharedData(internalDataRef.current);
399
394
  }
@@ -623,11 +618,20 @@ export default function Provider(props) {
623
618
  };
624
619
  }
625
620
  }
626
- onSubmitRequest === null || onSubmitRequest === void 0 ? void 0 : onSubmitRequest();
627
621
  setShowAllErrors(true);
622
+ onSubmitRequest === null || onSubmitRequest === void 0 ? void 0 : onSubmitRequest({
623
+ getErrors: () => Object.keys(fieldErrorRef.current).map(path => {
624
+ return getDataPathHandlerParameters(path);
625
+ }).filter(_ref4 => {
626
+ let {
627
+ error
628
+ } = _ref4;
629
+ return error;
630
+ })
631
+ });
628
632
  }
629
633
  return result;
630
- }, [clearData, hasErrors, hasFieldState, hasFieldWithAsyncValidator, isolate, onCommit, onSubmitRequest, setFormState, setShowAllErrors, setSubmitState]);
634
+ }, [clearData, getDataPathHandlerParameters, hasErrors, hasFieldState, hasFieldWithAsyncValidator, isolate, onCommit, onSubmitRequest, setFormState, setShowAllErrors, setSubmitState]);
631
635
  const handleSubmitListenersRef = useRef([]);
632
636
  const setHandleSubmit = useCallback(function (callback) {
633
637
  let {