@dnb/eufemia 10.65.0 → 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 (465) hide show
  1. package/CHANGELOG.md +39 -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/DatePicker.d.ts +3 -1
  5. package/cjs/components/date-picker/DatePicker.js +3 -1
  6. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  7. package/cjs/components/date-picker/DatePickerAddon.js +8 -1
  8. package/cjs/components/date-picker/DatePickerAddon.js.map +1 -1
  9. package/cjs/components/date-picker/DatePickerInput.d.ts +5 -0
  10. package/cjs/components/date-picker/DatePickerInput.js +54 -36
  11. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  12. package/cjs/components/date-picker/DatePickerProvider.d.ts +4 -3
  13. package/cjs/components/date-picker/DatePickerProvider.js +7 -2
  14. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  15. package/cjs/components/date-picker/hooks/useDates.js.map +1 -1
  16. package/cjs/components/flex/Container.d.ts +2 -1
  17. package/cjs/components/flex/Container.js +31 -24
  18. package/cjs/components/flex/Container.js.map +1 -1
  19. package/cjs/components/flex/ContainerDocs.d.ts +2 -0
  20. package/cjs/components/flex/ContainerDocs.js +81 -0
  21. package/cjs/components/flex/ContainerDocs.js.map +1 -0
  22. package/cjs/components/flex/style/dnb-flex.css +36 -4
  23. package/cjs/components/flex/style/dnb-flex.min.css +1 -1
  24. package/cjs/components/flex/style/flex-container.scss +39 -4
  25. package/cjs/components/help-button/HelpButtonInline.d.ts +6 -0
  26. package/cjs/components/help-button/HelpButtonInline.js +51 -19
  27. package/cjs/components/help-button/HelpButtonInline.js.map +1 -1
  28. package/cjs/components/help-button/HelpButtonInstance.js +1 -1
  29. package/cjs/components/help-button/HelpButtonInstance.js.map +1 -1
  30. package/cjs/components/slider/SliderDocs.js +2 -2
  31. package/cjs/components/slider/SliderDocs.js.map +1 -1
  32. package/cjs/components/slider/SliderProvider.js +0 -2
  33. package/cjs/components/slider/SliderProvider.js.map +1 -1
  34. package/cjs/components/slider/types.d.ts +2 -2
  35. package/cjs/components/slider/types.js.map +1 -1
  36. package/cjs/components/step-indicator/StepIndicator.d.ts +6 -0
  37. package/cjs/components/step-indicator/StepIndicator.js.map +1 -1
  38. package/cjs/components/step-indicator/StepIndicatorContext.d.ts +2 -0
  39. package/cjs/components/step-indicator/StepIndicatorContext.js.map +1 -1
  40. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +4 -3
  41. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  42. package/cjs/components/toggle-button/ToggleButton.d.ts +9 -1
  43. package/cjs/components/toggle-button/ToggleButtonDocs.js +1 -0
  44. package/cjs/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  45. package/cjs/extensions/forms/DataContext/Context.d.ts +11 -5
  46. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  47. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +1 -1
  48. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  49. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +2 -2
  50. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  51. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +2 -2
  52. package/cjs/extensions/forms/DataContext/Provider/Provider.js +46 -42
  53. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  54. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  55. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  56. package/cjs/extensions/forms/Field/Slider/Slider.js +13 -4
  57. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
  58. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +17 -13
  59. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  60. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +7 -2
  61. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  62. package/cjs/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  63. package/cjs/extensions/forms/Value/ValueDocs.js +5 -0
  64. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  65. package/cjs/extensions/forms/ValueBlock/ValueBlock.d.ts +14 -1
  66. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +40 -10
  67. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  68. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +17 -0
  69. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  70. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +24 -0
  71. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.d.ts +7 -0
  72. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js +78 -0
  73. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -0
  74. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +3 -0
  75. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js +94 -0
  76. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -0
  77. package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.d.ts +4 -0
  78. package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +67 -0
  79. package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -0
  80. package/cjs/extensions/forms/Wizard/Container/WizardContainer.d.ts +9 -1
  81. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +102 -206
  82. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  83. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js +10 -0
  84. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  85. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +7 -23
  86. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  87. package/cjs/extensions/forms/Wizard/Context/types.d.ts +35 -0
  88. package/cjs/extensions/forms/Wizard/Context/types.js +1 -0
  89. package/cjs/extensions/forms/Wizard/Context/types.js.map +1 -0
  90. package/cjs/extensions/forms/Wizard/EditButton/EditButton.d.ts +1 -1
  91. package/cjs/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  92. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  93. package/cjs/extensions/forms/Wizard/Step/Step.js +28 -9
  94. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  95. package/cjs/extensions/forms/Wizard/Step/StepContext.d.ts +7 -0
  96. package/cjs/extensions/forms/Wizard/Step/StepContext.js +12 -0
  97. package/cjs/extensions/forms/Wizard/Step/StepContext.js.map +1 -0
  98. package/cjs/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  99. package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  100. package/cjs/extensions/forms/Wizard/hooks/useStep.d.ts +2 -1
  101. package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  102. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  103. package/cjs/extensions/forms/constants/locales/en-GB.js +2 -1
  104. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  105. package/cjs/extensions/forms/constants/locales/en-US.d.ts +1 -0
  106. package/cjs/extensions/forms/constants/locales/index.d.ts +2 -0
  107. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  108. package/cjs/extensions/forms/constants/locales/nb-NO.js +2 -1
  109. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  110. package/cjs/extensions/forms/hooks/useFieldProps.js +41 -23
  111. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  112. package/cjs/extensions/forms/style/dnb-forms.css +17 -0
  113. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  114. package/cjs/extensions/forms/types.d.ts +9 -1
  115. package/cjs/extensions/forms/types.js.map +1 -1
  116. package/cjs/fragments/drawer-list/DrawerList.d.ts +6 -1
  117. package/cjs/fragments/drawer-list/DrawerList.js +1 -0
  118. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  119. package/cjs/shared/Eufemia.d.ts +1 -1
  120. package/cjs/shared/Eufemia.js +2 -2
  121. package/cjs/shared/Eufemia.js.map +1 -1
  122. package/cjs/style/core/scopes.scss +1 -1
  123. package/cjs/style/dnb-ui-basis.css +1 -1
  124. package/cjs/style/dnb-ui-basis.min.css +1 -1
  125. package/cjs/style/dnb-ui-body.css +1 -1
  126. package/cjs/style/dnb-ui-body.min.css +1 -1
  127. package/cjs/style/dnb-ui-components.css +53 -4
  128. package/cjs/style/dnb-ui-components.min.css +2 -2
  129. package/cjs/style/dnb-ui-core.css +1 -1
  130. package/cjs/style/dnb-ui-core.min.css +1 -1
  131. package/cjs/style/dnb-ui-extensions.css +17 -0
  132. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  133. package/cjs/style/dnb-ui-forms.css +17 -0
  134. package/cjs/style/dnb-ui-forms.min.css +1 -1
  135. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +70 -4
  136. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  137. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +17 -0
  138. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  139. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +17 -0
  140. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  141. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +70 -4
  142. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  143. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +17 -0
  144. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  145. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +17 -0
  146. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  147. package/cjs/style/themes/theme-ui/ui-theme-components.css +70 -4
  148. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  149. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +17 -0
  150. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  151. package/cjs/style/themes/theme-ui/ui-theme-forms.css +17 -0
  152. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  153. package/components/card/Card.js +1 -1
  154. package/components/card/Card.js.map +1 -1
  155. package/components/date-picker/DatePicker.d.ts +3 -1
  156. package/components/date-picker/DatePicker.js +3 -1
  157. package/components/date-picker/DatePicker.js.map +1 -1
  158. package/components/date-picker/DatePickerAddon.js +6 -1
  159. package/components/date-picker/DatePickerAddon.js.map +1 -1
  160. package/components/date-picker/DatePickerInput.d.ts +5 -0
  161. package/components/date-picker/DatePickerInput.js +54 -36
  162. package/components/date-picker/DatePickerInput.js.map +1 -1
  163. package/components/date-picker/DatePickerProvider.d.ts +4 -3
  164. package/components/date-picker/DatePickerProvider.js +7 -2
  165. package/components/date-picker/DatePickerProvider.js.map +1 -1
  166. package/components/date-picker/hooks/useDates.js.map +1 -1
  167. package/components/flex/Container.d.ts +2 -1
  168. package/components/flex/Container.js +32 -25
  169. package/components/flex/Container.js.map +1 -1
  170. package/components/flex/ContainerDocs.d.ts +2 -0
  171. package/components/flex/ContainerDocs.js +74 -0
  172. package/components/flex/ContainerDocs.js.map +1 -0
  173. package/components/flex/style/dnb-flex.css +36 -4
  174. package/components/flex/style/dnb-flex.min.css +1 -1
  175. package/components/flex/style/flex-container.scss +39 -4
  176. package/components/help-button/HelpButtonInline.d.ts +6 -0
  177. package/components/help-button/HelpButtonInline.js +51 -19
  178. package/components/help-button/HelpButtonInline.js.map +1 -1
  179. package/components/help-button/HelpButtonInstance.js +1 -1
  180. package/components/help-button/HelpButtonInstance.js.map +1 -1
  181. package/components/slider/SliderDocs.js +2 -2
  182. package/components/slider/SliderDocs.js.map +1 -1
  183. package/components/slider/SliderProvider.js +0 -2
  184. package/components/slider/SliderProvider.js.map +1 -1
  185. package/components/slider/types.d.ts +2 -2
  186. package/components/slider/types.js.map +1 -1
  187. package/components/step-indicator/StepIndicator.d.ts +6 -0
  188. package/components/step-indicator/StepIndicator.js.map +1 -1
  189. package/components/step-indicator/StepIndicatorContext.d.ts +2 -0
  190. package/components/step-indicator/StepIndicatorContext.js.map +1 -1
  191. package/components/step-indicator/StepIndicatorTriggerButton.js +4 -3
  192. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  193. package/components/toggle-button/ToggleButton.d.ts +9 -1
  194. package/components/toggle-button/ToggleButtonDocs.js +1 -0
  195. package/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  196. package/es/components/card/Card.js +1 -1
  197. package/es/components/card/Card.js.map +1 -1
  198. package/es/components/date-picker/DatePicker.d.ts +3 -1
  199. package/es/components/date-picker/DatePicker.js +3 -1
  200. package/es/components/date-picker/DatePicker.js.map +1 -1
  201. package/es/components/date-picker/DatePickerAddon.js +6 -1
  202. package/es/components/date-picker/DatePickerAddon.js.map +1 -1
  203. package/es/components/date-picker/DatePickerInput.d.ts +5 -0
  204. package/es/components/date-picker/DatePickerInput.js +54 -36
  205. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  206. package/es/components/date-picker/DatePickerProvider.d.ts +4 -3
  207. package/es/components/date-picker/DatePickerProvider.js +7 -2
  208. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  209. package/es/components/date-picker/hooks/useDates.js.map +1 -1
  210. package/es/components/flex/Container.d.ts +2 -1
  211. package/es/components/flex/Container.js +32 -25
  212. package/es/components/flex/Container.js.map +1 -1
  213. package/es/components/flex/ContainerDocs.d.ts +2 -0
  214. package/es/components/flex/ContainerDocs.js +74 -0
  215. package/es/components/flex/ContainerDocs.js.map +1 -0
  216. package/es/components/flex/style/dnb-flex.css +36 -4
  217. package/es/components/flex/style/dnb-flex.min.css +1 -1
  218. package/es/components/flex/style/flex-container.scss +39 -4
  219. package/es/components/help-button/HelpButtonInline.d.ts +6 -0
  220. package/es/components/help-button/HelpButtonInline.js +50 -18
  221. package/es/components/help-button/HelpButtonInline.js.map +1 -1
  222. package/es/components/help-button/HelpButtonInstance.js +1 -1
  223. package/es/components/help-button/HelpButtonInstance.js.map +1 -1
  224. package/es/components/slider/SliderDocs.js +2 -2
  225. package/es/components/slider/SliderDocs.js.map +1 -1
  226. package/es/components/slider/SliderProvider.js +0 -2
  227. package/es/components/slider/SliderProvider.js.map +1 -1
  228. package/es/components/slider/types.d.ts +2 -2
  229. package/es/components/slider/types.js.map +1 -1
  230. package/es/components/step-indicator/StepIndicator.d.ts +6 -0
  231. package/es/components/step-indicator/StepIndicator.js.map +1 -1
  232. package/es/components/step-indicator/StepIndicatorContext.d.ts +2 -0
  233. package/es/components/step-indicator/StepIndicatorContext.js.map +1 -1
  234. package/es/components/step-indicator/StepIndicatorTriggerButton.js +4 -3
  235. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  236. package/es/components/toggle-button/ToggleButton.d.ts +9 -1
  237. package/es/components/toggle-button/ToggleButtonDocs.js +1 -0
  238. package/es/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  239. package/es/extensions/forms/DataContext/Context.d.ts +11 -5
  240. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  241. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +1 -1
  242. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  243. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +2 -2
  244. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  245. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +2 -2
  246. package/es/extensions/forms/DataContext/Provider/Provider.js +36 -35
  247. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  248. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  249. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  250. package/es/extensions/forms/Field/Slider/Slider.js +13 -4
  251. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
  252. package/es/extensions/forms/FieldBlock/FieldBlock.js +17 -13
  253. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  254. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +7 -2
  255. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  256. package/es/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  257. package/es/extensions/forms/Value/ValueDocs.js +5 -0
  258. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  259. package/es/extensions/forms/ValueBlock/ValueBlock.d.ts +14 -1
  260. package/es/extensions/forms/ValueBlock/ValueBlock.js +40 -10
  261. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  262. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +17 -0
  263. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  264. package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +24 -0
  265. package/es/extensions/forms/Wizard/Container/DisplaySteps.d.ts +7 -0
  266. package/es/extensions/forms/Wizard/Container/DisplaySteps.js +66 -0
  267. package/es/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -0
  268. package/es/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +3 -0
  269. package/es/extensions/forms/Wizard/Container/IterateOverSteps.js +85 -0
  270. package/es/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -0
  271. package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.d.ts +4 -0
  272. package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +54 -0
  273. package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -0
  274. package/es/extensions/forms/Wizard/Container/WizardContainer.d.ts +9 -1
  275. package/es/extensions/forms/Wizard/Container/WizardContainer.js +97 -194
  276. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  277. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js +10 -0
  278. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  279. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +7 -23
  280. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  281. package/es/extensions/forms/Wizard/Context/types.d.ts +35 -0
  282. package/es/extensions/forms/Wizard/Context/types.js +1 -0
  283. package/es/extensions/forms/Wizard/Context/types.js.map +1 -0
  284. package/es/extensions/forms/Wizard/EditButton/EditButton.d.ts +1 -1
  285. package/es/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  286. package/es/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  287. package/es/extensions/forms/Wizard/Step/Step.js +29 -10
  288. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  289. package/es/extensions/forms/Wizard/Step/StepContext.d.ts +7 -0
  290. package/es/extensions/forms/Wizard/Step/StepContext.js +4 -0
  291. package/es/extensions/forms/Wizard/Step/StepContext.js.map +1 -0
  292. package/es/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  293. package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  294. package/es/extensions/forms/Wizard/hooks/useStep.d.ts +2 -1
  295. package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  296. package/es/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  297. package/es/extensions/forms/constants/locales/en-GB.js +2 -1
  298. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  299. package/es/extensions/forms/constants/locales/en-US.d.ts +1 -0
  300. package/es/extensions/forms/constants/locales/index.d.ts +2 -0
  301. package/es/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  302. package/es/extensions/forms/constants/locales/nb-NO.js +2 -1
  303. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  304. package/es/extensions/forms/hooks/useFieldProps.js +42 -22
  305. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  306. package/es/extensions/forms/style/dnb-forms.css +17 -0
  307. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  308. package/es/extensions/forms/types.d.ts +9 -1
  309. package/es/extensions/forms/types.js.map +1 -1
  310. package/es/fragments/drawer-list/DrawerList.d.ts +6 -1
  311. package/es/fragments/drawer-list/DrawerList.js +1 -0
  312. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  313. package/es/shared/Eufemia.d.ts +1 -1
  314. package/es/shared/Eufemia.js +2 -2
  315. package/es/shared/Eufemia.js.map +1 -1
  316. package/es/style/core/scopes.scss +1 -1
  317. package/es/style/dnb-ui-basis.css +1 -1
  318. package/es/style/dnb-ui-basis.min.css +1 -1
  319. package/es/style/dnb-ui-body.css +1 -1
  320. package/es/style/dnb-ui-body.min.css +1 -1
  321. package/es/style/dnb-ui-components.css +53 -4
  322. package/es/style/dnb-ui-components.min.css +2 -2
  323. package/es/style/dnb-ui-core.css +1 -1
  324. package/es/style/dnb-ui-core.min.css +1 -1
  325. package/es/style/dnb-ui-extensions.css +17 -0
  326. package/es/style/dnb-ui-extensions.min.css +1 -1
  327. package/es/style/dnb-ui-forms.css +17 -0
  328. package/es/style/dnb-ui-forms.min.css +1 -1
  329. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +70 -4
  330. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  331. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +17 -0
  332. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  333. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +17 -0
  334. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  335. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +70 -4
  336. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  337. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +17 -0
  338. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  339. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +17 -0
  340. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  341. package/es/style/themes/theme-ui/ui-theme-components.css +70 -4
  342. package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  343. package/es/style/themes/theme-ui/ui-theme-extensions.css +17 -0
  344. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  345. package/es/style/themes/theme-ui/ui-theme-forms.css +17 -0
  346. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  347. package/esm/dnb-ui-basis.min.mjs +1 -1
  348. package/esm/dnb-ui-components.min.mjs +1 -1
  349. package/esm/dnb-ui-elements.min.mjs +1 -1
  350. package/esm/dnb-ui-extensions.min.mjs +3 -3
  351. package/esm/dnb-ui-lib.min.mjs +1 -1
  352. package/extensions/forms/DataContext/Context.d.ts +11 -5
  353. package/extensions/forms/DataContext/Context.js.map +1 -1
  354. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +1 -1
  355. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  356. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +2 -2
  357. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  358. package/extensions/forms/DataContext/Provider/Provider.d.ts +2 -2
  359. package/extensions/forms/DataContext/Provider/Provider.js +46 -42
  360. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  361. package/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  362. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  363. package/extensions/forms/Field/Slider/Slider.js +13 -4
  364. package/extensions/forms/Field/Slider/Slider.js.map +1 -1
  365. package/extensions/forms/FieldBlock/FieldBlock.js +17 -13
  366. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  367. package/extensions/forms/Iterate/PushContainer/PushContainer.js +7 -2
  368. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  369. package/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  370. package/extensions/forms/Value/ValueDocs.js +5 -0
  371. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  372. package/extensions/forms/ValueBlock/ValueBlock.d.ts +14 -1
  373. package/extensions/forms/ValueBlock/ValueBlock.js +40 -10
  374. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  375. package/extensions/forms/ValueBlock/style/dnb-value-block.css +17 -0
  376. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  377. package/extensions/forms/ValueBlock/style/dnb-value-block.scss +24 -0
  378. package/extensions/forms/Wizard/Container/DisplaySteps.d.ts +7 -0
  379. package/extensions/forms/Wizard/Container/DisplaySteps.js +70 -0
  380. package/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -0
  381. package/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +3 -0
  382. package/extensions/forms/Wizard/Container/IterateOverSteps.js +86 -0
  383. package/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -0
  384. package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.d.ts +4 -0
  385. package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +57 -0
  386. package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -0
  387. package/extensions/forms/Wizard/Container/WizardContainer.d.ts +9 -1
  388. package/extensions/forms/Wizard/Container/WizardContainer.js +103 -207
  389. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  390. package/extensions/forms/Wizard/Container/WizardContainerDocs.js +10 -0
  391. package/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  392. package/extensions/forms/Wizard/Context/WizardContext.d.ts +7 -23
  393. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  394. package/extensions/forms/Wizard/Context/types.d.ts +35 -0
  395. package/extensions/forms/Wizard/Context/types.js +1 -0
  396. package/extensions/forms/Wizard/Context/types.js.map +1 -0
  397. package/extensions/forms/Wizard/EditButton/EditButton.d.ts +1 -1
  398. package/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  399. package/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  400. package/extensions/forms/Wizard/Step/Step.js +29 -10
  401. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  402. package/extensions/forms/Wizard/Step/StepContext.d.ts +7 -0
  403. package/extensions/forms/Wizard/Step/StepContext.js +4 -0
  404. package/extensions/forms/Wizard/Step/StepContext.js.map +1 -0
  405. package/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  406. package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  407. package/extensions/forms/Wizard/hooks/useStep.d.ts +2 -1
  408. package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  409. package/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  410. package/extensions/forms/constants/locales/en-GB.js +2 -1
  411. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  412. package/extensions/forms/constants/locales/en-US.d.ts +1 -0
  413. package/extensions/forms/constants/locales/index.d.ts +2 -0
  414. package/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  415. package/extensions/forms/constants/locales/nb-NO.js +2 -1
  416. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  417. package/extensions/forms/hooks/useFieldProps.js +41 -23
  418. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  419. package/extensions/forms/style/dnb-forms.css +17 -0
  420. package/extensions/forms/style/dnb-forms.min.css +1 -1
  421. package/extensions/forms/types.d.ts +9 -1
  422. package/extensions/forms/types.js.map +1 -1
  423. package/fragments/drawer-list/DrawerList.d.ts +6 -1
  424. package/fragments/drawer-list/DrawerList.js +1 -0
  425. package/fragments/drawer-list/DrawerList.js.map +1 -1
  426. package/package.json +1 -1
  427. package/shared/Eufemia.d.ts +1 -1
  428. package/shared/Eufemia.js +2 -2
  429. package/shared/Eufemia.js.map +1 -1
  430. package/style/core/scopes.scss +1 -1
  431. package/style/dnb-ui-basis.css +1 -1
  432. package/style/dnb-ui-basis.min.css +1 -1
  433. package/style/dnb-ui-body.css +1 -1
  434. package/style/dnb-ui-body.min.css +1 -1
  435. package/style/dnb-ui-components.css +53 -4
  436. package/style/dnb-ui-components.min.css +2 -2
  437. package/style/dnb-ui-core.css +1 -1
  438. package/style/dnb-ui-core.min.css +1 -1
  439. package/style/dnb-ui-extensions.css +17 -0
  440. package/style/dnb-ui-extensions.min.css +1 -1
  441. package/style/dnb-ui-forms.css +17 -0
  442. package/style/dnb-ui-forms.min.css +1 -1
  443. package/style/themes/theme-eiendom/eiendom-theme-components.css +70 -4
  444. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  445. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +17 -0
  446. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  447. package/style/themes/theme-eiendom/eiendom-theme-forms.css +17 -0
  448. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  449. package/style/themes/theme-sbanken/sbanken-theme-components.css +70 -4
  450. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  451. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +17 -0
  452. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  453. package/style/themes/theme-sbanken/sbanken-theme-forms.css +17 -0
  454. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  455. package/style/themes/theme-ui/ui-theme-components.css +70 -4
  456. package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  457. package/style/themes/theme-ui/ui-theme-extensions.css +17 -0
  458. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  459. package/style/themes/theme-ui/ui-theme-forms.css +17 -0
  460. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  461. package/umd/dnb-ui-basis.min.js +1 -1
  462. package/umd/dnb-ui-components.min.js +1 -1
  463. package/umd/dnb-ui-elements.min.js +1 -1
  464. package/umd/dnb-ui-extensions.min.js +1 -1
  465. 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>;
@@ -104,7 +110,7 @@ export interface ContextState {
104
110
  getSubmitData?: () => unknown;
105
111
  getSubmitParams?: () => OnSubmitParams;
106
112
  setFieldEventListener?: (path: EventListenerCall['path'], type: EventListenerCall['type'], callback: EventListenerCall['callback']) => void;
107
- setVisibleError?: (path: Path, hasError: boolean) => void;
113
+ revealError?: (path: Path, hasError: boolean) => void;
108
114
  setFieldInternals?: (path: Path, props: unknown, id?: string) => void;
109
115
  setValueInternals?: (path: Path, props: unknown) => void;
110
116
  setHandleSubmit?: (callback: HandleSubmitCallback, params?: {
@@ -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 setVisibleError?: (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"}
@@ -33,7 +33,7 @@ export interface FieldBoundaryContextState {
33
33
  /**
34
34
  * To set the local visible error state.
35
35
  */
36
- setVisibleError?: (path: Path, hasError: boolean) => void;
36
+ revealError?: (path: Path, hasError: boolean) => void;
37
37
  }
38
38
  declare const FieldBoundaryContext: React.Context<FieldBoundaryContextState>;
39
39
  export default FieldBoundaryContext;
@@ -1 +1 @@
1
- {"version":3,"file":"FieldBoundaryContext.js","names":["React","FieldBoundaryContext","createContext","undefined"],"sources":["../../../../../../src/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.ts"],"sourcesContent":["import React from 'react'\nimport { Path } from '../../types'\n\nexport interface FieldBoundaryContextState {\n /**\n * Will be set to true when one or more nested fields are in error state.\n */\n hasError?: boolean\n\n /**\n * Will be set to true when the inherited data context has submit errors and the `hasError` has errors as well.\n */\n hasSubmitError?: boolean\n\n /**\n * Will be set to true when a nested field contains a visible error.\n */\n hasVisibleError?: boolean\n\n /**\n * Contains the nested field errors.\n */\n errorsRef?: React.RefObject<unknown>\n\n /**\n * Will be set to true when the boundary context error state should be shown.\n * Support a number to ensure we can renew hooks each time we get a new value.\n */\n showBoundaryErrors?: boolean | number\n\n /**\n * To set the boundary context error state.\n */\n setShowBoundaryErrors?: (\n showBoundaryErrors: FieldBoundaryContextState['showBoundaryErrors']\n ) => void\n\n /**\n * To set the local error state.\n */\n setFieldError?: (path: Path, error: Error) => void\n\n /**\n * To set the local visible error state.\n */\n setVisibleError?: (path: Path, hasError: boolean) => void\n}\n\nconst FieldBoundaryContext = React.createContext<\n FieldBoundaryContextState | undefined\n>(undefined)\n\nexport default FieldBoundaryContext\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAgDzB,MAAMC,oBAAoB,GAAGD,KAAK,CAACE,aAAa,CAE9CC,SAAS,CAAC;AAEZ,eAAeF,oBAAoB"}
1
+ {"version":3,"file":"FieldBoundaryContext.js","names":["React","FieldBoundaryContext","createContext","undefined"],"sources":["../../../../../../src/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.ts"],"sourcesContent":["import React from 'react'\nimport { Path } from '../../types'\n\nexport interface FieldBoundaryContextState {\n /**\n * Will be set to true when one or more nested fields are in error state.\n */\n hasError?: boolean\n\n /**\n * Will be set to true when the inherited data context has submit errors and the `hasError` has errors as well.\n */\n hasSubmitError?: boolean\n\n /**\n * Will be set to true when a nested field contains a visible error.\n */\n hasVisibleError?: boolean\n\n /**\n * Contains the nested field errors.\n */\n errorsRef?: React.RefObject<unknown>\n\n /**\n * Will be set to true when the boundary context error state should be shown.\n * Support a number to ensure we can renew hooks each time we get a new value.\n */\n showBoundaryErrors?: boolean | number\n\n /**\n * To set the boundary context error state.\n */\n setShowBoundaryErrors?: (\n showBoundaryErrors: FieldBoundaryContextState['showBoundaryErrors']\n ) => void\n\n /**\n * To set the local error state.\n */\n setFieldError?: (path: Path, error: Error) => void\n\n /**\n * To set the local visible error state.\n */\n revealError?: (path: Path, hasError: boolean) => void\n}\n\nconst FieldBoundaryContext = React.createContext<\n FieldBoundaryContextState | undefined\n>(undefined)\n\nexport default FieldBoundaryContext\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAgDzB,MAAMC,oBAAoB,GAAGD,KAAK,CAACE,aAAa,CAE9CC,SAAS,CAAC;AAEZ,eAAeF,oBAAoB"}
@@ -31,7 +31,7 @@ export default function FieldBoundaryProvider(props) {
31
31
  (_onPathErrorRef$curre = onPathErrorRef.current) === null || _onPathErrorRef$curre === void 0 ? void 0 : _onPathErrorRef$curre.call(onPathErrorRef, path, error);
32
32
  }, []);
33
33
  const hasVisibleErrorRef = useRef({});
34
- const setVisibleError = useCallback((path, hasError) => {
34
+ const revealError = useCallback((path, hasError) => {
35
35
  if (hasError) {
36
36
  hasVisibleErrorRef.current[path] = hasError;
37
37
  } else {
@@ -51,7 +51,7 @@ export default function FieldBoundaryProvider(props) {
51
51
  showBoundaryErrors: showBoundaryErrorsRef.current,
52
52
  setShowBoundaryErrors,
53
53
  setFieldError,
54
- setVisibleError
54
+ revealError
55
55
  };
56
56
  return React.createElement(FieldBoundaryContext.Provider, {
57
57
  value: context
@@ -1 +1 @@
1
- {"version":3,"file":"FieldBoundaryProvider.js","names":["React","useCallback","useContext","useReducer","useRef","FieldBoundaryContext","DataContext","FieldBoundaryProvider","props","showErrors","undefined","onPathError","children","forceUpdate","showAllErrors","onPathErrorRef","current","errorsRef","showBoundaryErrorsRef","hasError","Object","keys","length","hasSubmitError","setFieldError","path","error","_onPathErrorRef$curre","_errorsRef$current","call","hasVisibleErrorRef","setVisibleError","setShowBoundaryErrors","showBoundaryErrors","Date","now","context","hasVisibleError","createElement","Provider","value"],"sources":["../../../../../../src/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.tsx"],"sourcesContent":["import React, { useCallback, useContext, useReducer, useRef } from 'react'\nimport FieldBoundaryContext, {\n FieldBoundaryContextState,\n} from './FieldBoundaryContext'\nimport DataContext from '../Context'\nimport { Path } from '../../types'\n\nexport type Props = {\n showErrors?: boolean\n onPathError?: (path: Path, error: Error) => void\n children: React.ReactNode\n}\n\nexport default function FieldBoundaryProvider(props: Props) {\n const { showErrors = undefined, onPathError = null, children } = props\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { showAllErrors } = useContext(DataContext)\n\n const onPathErrorRef = useRef(onPathError)\n onPathErrorRef.current = onPathError\n const errorsRef = useRef<Record<Path, boolean>>({})\n const showBoundaryErrorsRef =\n useRef<FieldBoundaryContextState['showBoundaryErrors']>(showErrors)\n const hasError = Object.keys(errorsRef.current).length > 0\n const hasSubmitError = showAllErrors && hasError\n\n const setFieldError = useCallback((path: Path, error: Error) => {\n if (error) {\n errorsRef.current[path] = !!error\n } else {\n delete errorsRef.current?.[path]\n }\n forceUpdate()\n onPathErrorRef.current?.(path, error)\n }, [])\n\n const hasVisibleErrorRef = useRef<Record<Path, boolean>>({})\n const setVisibleError = useCallback((path: Path, hasError: boolean) => {\n if (hasError) {\n hasVisibleErrorRef.current[path] = hasError\n } else {\n delete hasVisibleErrorRef.current[path]\n }\n forceUpdate()\n }, [])\n\n const setShowBoundaryErrors: FieldBoundaryContextState['setShowBoundaryErrors'] =\n useCallback((showBoundaryErrors) => {\n showBoundaryErrorsRef.current = showBoundaryErrors\n ? Date.now() // in order to renew the internal dependency \"showBoundaryErrors\"\n : false\n forceUpdate()\n }, [])\n\n const context: FieldBoundaryContextState = {\n hasError,\n hasSubmitError,\n hasVisibleError: Object.keys(hasVisibleErrorRef.current).length > 0,\n errorsRef,\n showBoundaryErrors: showBoundaryErrorsRef.current,\n setShowBoundaryErrors,\n setFieldError,\n setVisibleError,\n }\n\n return (\n <FieldBoundaryContext.Provider value={context}>\n {children}\n </FieldBoundaryContext.Provider>\n )\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,EAAEC,UAAU,EAAEC,MAAM,QAAQ,OAAO;AAC1E,OAAOC,oBAAoB,MAEpB,wBAAwB;AAC/B,OAAOC,WAAW,MAAM,YAAY;AASpC,eAAe,SAASC,qBAAqBA,CAACC,KAAY,EAAE;EAC1D,MAAM;IAAEC,UAAU,GAAGC,SAAS;IAAEC,WAAW,GAAG,IAAI;IAAEC;EAAS,CAAC,GAAGJ,KAAK;EACtE,MAAM,GAAGK,WAAW,CAAC,GAAGV,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAClD,MAAM;IAAEW;EAAc,CAAC,GAAGZ,UAAU,CAACI,WAAW,CAAC;EAEjD,MAAMS,cAAc,GAAGX,MAAM,CAACO,WAAW,CAAC;EAC1CI,cAAc,CAACC,OAAO,GAAGL,WAAW;EACpC,MAAMM,SAAS,GAAGb,MAAM,CAAwB,CAAC,CAAC,CAAC;EACnD,MAAMc,qBAAqB,GACzBd,MAAM,CAAkDK,UAAU,CAAC;EACrE,MAAMU,QAAQ,GAAGC,MAAM,CAACC,IAAI,CAACJ,SAAS,CAACD,OAAO,CAAC,CAACM,MAAM,GAAG,CAAC;EAC1D,MAAMC,cAAc,GAAGT,aAAa,IAAIK,QAAQ;EAEhD,MAAMK,aAAa,GAAGvB,WAAW,CAAC,CAACwB,IAAU,EAAEC,KAAY,KAAK;IAAA,IAAAC,qBAAA;IAC9D,IAAID,KAAK,EAAE;MACTT,SAAS,CAACD,OAAO,CAACS,IAAI,CAAC,GAAG,CAAC,CAACC,KAAK;IACnC,CAAC,MAAM;MAAA,IAAAE,kBAAA;MACL,CAAAA,kBAAA,GAAOX,SAAS,CAACD,OAAO,cAAAY,kBAAA,qBAAxB,OAAOA,kBAAA,CAAoBH,IAAI,CAAC;IAClC;IACAZ,WAAW,CAAC,CAAC;IACb,CAAAc,qBAAA,GAAAZ,cAAc,CAACC,OAAO,cAAAW,qBAAA,uBAAtBA,qBAAA,CAAAE,IAAA,CAAAd,cAAc,EAAWU,IAAI,EAAEC,KAAK,CAAC;EACvC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMI,kBAAkB,GAAG1B,MAAM,CAAwB,CAAC,CAAC,CAAC;EAC5D,MAAM2B,eAAe,GAAG9B,WAAW,CAAC,CAACwB,IAAU,EAAEN,QAAiB,KAAK;IACrE,IAAIA,QAAQ,EAAE;MACZW,kBAAkB,CAACd,OAAO,CAACS,IAAI,CAAC,GAAGN,QAAQ;IAC7C,CAAC,MAAM;MACL,OAAOW,kBAAkB,CAACd,OAAO,CAACS,IAAI,CAAC;IACzC;IACAZ,WAAW,CAAC,CAAC;EACf,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMmB,qBAAyE,GAC7E/B,WAAW,CAAEgC,kBAAkB,IAAK;IAClCf,qBAAqB,CAACF,OAAO,GAAGiB,kBAAkB,GAC9CC,IAAI,CAACC,GAAG,CAAC,CAAC,GACV,KAAK;IACTtB,WAAW,CAAC,CAAC;EACf,CAAC,EAAE,EAAE,CAAC;EAER,MAAMuB,OAAkC,GAAG;IACzCjB,QAAQ;IACRI,cAAc;IACdc,eAAe,EAAEjB,MAAM,CAACC,IAAI,CAACS,kBAAkB,CAACd,OAAO,CAAC,CAACM,MAAM,GAAG,CAAC;IACnEL,SAAS;IACTgB,kBAAkB,EAAEf,qBAAqB,CAACF,OAAO;IACjDgB,qBAAqB;IACrBR,aAAa;IACbO;EACF,CAAC;EAED,OACE/B,KAAA,CAAAsC,aAAA,CAACjC,oBAAoB,CAACkC,QAAQ;IAACC,KAAK,EAAEJ;EAAQ,GAC3CxB,QAC4B,CAAC;AAEpC"}
1
+ {"version":3,"file":"FieldBoundaryProvider.js","names":["React","useCallback","useContext","useReducer","useRef","FieldBoundaryContext","DataContext","FieldBoundaryProvider","props","showErrors","undefined","onPathError","children","forceUpdate","showAllErrors","onPathErrorRef","current","errorsRef","showBoundaryErrorsRef","hasError","Object","keys","length","hasSubmitError","setFieldError","path","error","_onPathErrorRef$curre","_errorsRef$current","call","hasVisibleErrorRef","revealError","setShowBoundaryErrors","showBoundaryErrors","Date","now","context","hasVisibleError","createElement","Provider","value"],"sources":["../../../../../../src/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.tsx"],"sourcesContent":["import React, { useCallback, useContext, useReducer, useRef } from 'react'\nimport FieldBoundaryContext, {\n FieldBoundaryContextState,\n} from './FieldBoundaryContext'\nimport DataContext from '../Context'\nimport { Path } from '../../types'\n\nexport type Props = {\n showErrors?: boolean\n onPathError?: (path: Path, error: Error) => void\n children: React.ReactNode\n}\n\nexport default function FieldBoundaryProvider(props: Props) {\n const { showErrors = undefined, onPathError = null, children } = props\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { showAllErrors } = useContext(DataContext)\n\n const onPathErrorRef = useRef(onPathError)\n onPathErrorRef.current = onPathError\n const errorsRef = useRef<Record<Path, boolean>>({})\n const showBoundaryErrorsRef =\n useRef<FieldBoundaryContextState['showBoundaryErrors']>(showErrors)\n const hasError = Object.keys(errorsRef.current).length > 0\n const hasSubmitError = showAllErrors && hasError\n\n const setFieldError = useCallback((path: Path, error: Error) => {\n if (error) {\n errorsRef.current[path] = !!error\n } else {\n delete errorsRef.current?.[path]\n }\n forceUpdate()\n onPathErrorRef.current?.(path, error)\n }, [])\n\n const hasVisibleErrorRef = useRef<Record<Path, boolean>>({})\n const revealError = useCallback((path: Path, hasError: boolean) => {\n if (hasError) {\n hasVisibleErrorRef.current[path] = hasError\n } else {\n delete hasVisibleErrorRef.current[path]\n }\n forceUpdate()\n }, [])\n\n const setShowBoundaryErrors: FieldBoundaryContextState['setShowBoundaryErrors'] =\n useCallback((showBoundaryErrors) => {\n showBoundaryErrorsRef.current = showBoundaryErrors\n ? Date.now() // in order to renew the internal dependency \"showBoundaryErrors\"\n : false\n forceUpdate()\n }, [])\n\n const context: FieldBoundaryContextState = {\n hasError,\n hasSubmitError,\n hasVisibleError: Object.keys(hasVisibleErrorRef.current).length > 0,\n errorsRef,\n showBoundaryErrors: showBoundaryErrorsRef.current,\n setShowBoundaryErrors,\n setFieldError,\n revealError,\n }\n\n return (\n <FieldBoundaryContext.Provider value={context}>\n {children}\n </FieldBoundaryContext.Provider>\n )\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,EAAEC,UAAU,EAAEC,MAAM,QAAQ,OAAO;AAC1E,OAAOC,oBAAoB,MAEpB,wBAAwB;AAC/B,OAAOC,WAAW,MAAM,YAAY;AASpC,eAAe,SAASC,qBAAqBA,CAACC,KAAY,EAAE;EAC1D,MAAM;IAAEC,UAAU,GAAGC,SAAS;IAAEC,WAAW,GAAG,IAAI;IAAEC;EAAS,CAAC,GAAGJ,KAAK;EACtE,MAAM,GAAGK,WAAW,CAAC,GAAGV,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAClD,MAAM;IAAEW;EAAc,CAAC,GAAGZ,UAAU,CAACI,WAAW,CAAC;EAEjD,MAAMS,cAAc,GAAGX,MAAM,CAACO,WAAW,CAAC;EAC1CI,cAAc,CAACC,OAAO,GAAGL,WAAW;EACpC,MAAMM,SAAS,GAAGb,MAAM,CAAwB,CAAC,CAAC,CAAC;EACnD,MAAMc,qBAAqB,GACzBd,MAAM,CAAkDK,UAAU,CAAC;EACrE,MAAMU,QAAQ,GAAGC,MAAM,CAACC,IAAI,CAACJ,SAAS,CAACD,OAAO,CAAC,CAACM,MAAM,GAAG,CAAC;EAC1D,MAAMC,cAAc,GAAGT,aAAa,IAAIK,QAAQ;EAEhD,MAAMK,aAAa,GAAGvB,WAAW,CAAC,CAACwB,IAAU,EAAEC,KAAY,KAAK;IAAA,IAAAC,qBAAA;IAC9D,IAAID,KAAK,EAAE;MACTT,SAAS,CAACD,OAAO,CAACS,IAAI,CAAC,GAAG,CAAC,CAACC,KAAK;IACnC,CAAC,MAAM;MAAA,IAAAE,kBAAA;MACL,CAAAA,kBAAA,GAAOX,SAAS,CAACD,OAAO,cAAAY,kBAAA,qBAAxB,OAAOA,kBAAA,CAAoBH,IAAI,CAAC;IAClC;IACAZ,WAAW,CAAC,CAAC;IACb,CAAAc,qBAAA,GAAAZ,cAAc,CAACC,OAAO,cAAAW,qBAAA,uBAAtBA,qBAAA,CAAAE,IAAA,CAAAd,cAAc,EAAWU,IAAI,EAAEC,KAAK,CAAC;EACvC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMI,kBAAkB,GAAG1B,MAAM,CAAwB,CAAC,CAAC,CAAC;EAC5D,MAAM2B,WAAW,GAAG9B,WAAW,CAAC,CAACwB,IAAU,EAAEN,QAAiB,KAAK;IACjE,IAAIA,QAAQ,EAAE;MACZW,kBAAkB,CAACd,OAAO,CAACS,IAAI,CAAC,GAAGN,QAAQ;IAC7C,CAAC,MAAM;MACL,OAAOW,kBAAkB,CAACd,OAAO,CAACS,IAAI,CAAC;IACzC;IACAZ,WAAW,CAAC,CAAC;EACf,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMmB,qBAAyE,GAC7E/B,WAAW,CAAEgC,kBAAkB,IAAK;IAClCf,qBAAqB,CAACF,OAAO,GAAGiB,kBAAkB,GAC9CC,IAAI,CAACC,GAAG,CAAC,CAAC,GACV,KAAK;IACTtB,WAAW,CAAC,CAAC;EACf,CAAC,EAAE,EAAE,CAAC;EAER,MAAMuB,OAAkC,GAAG;IACzCjB,QAAQ;IACRI,cAAc;IACdc,eAAe,EAAEjB,MAAM,CAACC,IAAI,CAACS,kBAAkB,CAACd,OAAO,CAAC,CAACM,MAAM,GAAG,CAAC;IACnEL,SAAS;IACTgB,kBAAkB,EAAEf,qBAAqB,CAACF,OAAO;IACjDgB,qBAAqB;IACrBR,aAAa;IACbO;EACF,CAAC;EAED,OACE/B,KAAA,CAAAsC,aAAA,CAACjC,oBAAoB,CAACkC,QAAQ;IAACC,KAAK,EAAEJ;EAAQ,GAC3CxB,QAC4B,CAAC;AAEpC"}
@@ -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
  */
@@ -79,7 +79,7 @@ export default function Provider(props) {
79
79
  forceUpdate();
80
80
  addSetShowAllErrorsRef.current.forEach(fn => fn === null || fn === void 0 ? void 0 : fn(showAllErrors));
81
81
  }, []);
82
- const setVisibleError = useCallback((path, hasError) => {
82
+ const revealError = useCallback((path, hasError) => {
83
83
  if (hasError) {
84
84
  hasVisibleErrorRef.current[path] = hasError;
85
85
  } else {
@@ -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 {
@@ -815,7 +819,7 @@ export default function Provider(props) {
815
819
  setFormState,
816
820
  setSubmitState,
817
821
  setShowAllErrors,
818
- setVisibleError,
822
+ revealError,
819
823
  setFieldEventListener,
820
824
  setFieldState,
821
825
  setFieldError,