@dnb/eufemia 10.69.0 → 10.70.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 (900) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/cjs/components/aria-live/AriaLiveDocs.d.ts +2 -0
  3. package/cjs/components/aria-live/AriaLiveDocs.js +54 -0
  4. package/cjs/components/aria-live/AriaLiveDocs.js.map +1 -0
  5. package/cjs/components/avatar/Avatar.d.ts +10 -0
  6. package/cjs/components/avatar/Avatar.js +17 -3
  7. package/cjs/components/avatar/Avatar.js.map +1 -1
  8. package/cjs/components/avatar/AvatarDocs.d.ts +3 -0
  9. package/cjs/components/avatar/AvatarDocs.js +101 -0
  10. package/cjs/components/avatar/AvatarDocs.js.map +1 -0
  11. package/cjs/components/avatar/AvatarGroup.d.ts +10 -0
  12. package/cjs/components/avatar/AvatarGroup.js +17 -5
  13. package/cjs/components/avatar/AvatarGroup.js.map +1 -1
  14. package/cjs/components/avatar/style/dnb-avatar.css +8 -0
  15. package/cjs/components/avatar/style/dnb-avatar.min.css +1 -1
  16. package/cjs/components/avatar/style/dnb-avatar.scss +9 -0
  17. package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +5 -5
  18. package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
  19. package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +5 -6
  20. package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.css +5 -5
  21. package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -1
  22. package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.scss +5 -5
  23. package/cjs/components/badge/BadgeDocs.d.ts +2 -0
  24. package/cjs/components/badge/BadgeDocs.js +54 -0
  25. package/cjs/components/badge/BadgeDocs.js.map +1 -0
  26. package/cjs/components/breadcrumb/BreadcrumbDocs.d.ts +5 -0
  27. package/cjs/components/breadcrumb/BreadcrumbDocs.js +125 -0
  28. package/cjs/components/breadcrumb/BreadcrumbDocs.js.map +1 -0
  29. package/cjs/components/button/Button.d.ts +0 -3
  30. package/cjs/components/button/ButtonDocs.d.ts +1 -0
  31. package/cjs/components/button/ButtonDocs.js +8 -1
  32. package/cjs/components/button/ButtonDocs.js.map +1 -1
  33. package/cjs/components/date-picker/DatePickerAddon.js +1 -3
  34. package/cjs/components/date-picker/DatePickerAddon.js.map +1 -1
  35. package/cjs/components/date-picker/DatePickerCalc.d.ts +13 -0
  36. package/cjs/components/date-picker/DatePickerCalc.js +44 -0
  37. package/cjs/components/date-picker/DatePickerCalc.js.map +1 -1
  38. package/cjs/components/date-picker/DatePickerCalendar.js +13 -11
  39. package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
  40. package/cjs/components/date-picker/DatePickerContext.d.ts +1 -1
  41. package/cjs/components/date-picker/DatePickerContext.js.map +1 -1
  42. package/cjs/components/date-picker/DatePickerProvider.js +2 -2
  43. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  44. package/cjs/components/date-picker/hooks/useViews.d.ts +2 -4
  45. package/cjs/components/date-picker/hooks/useViews.js +37 -23
  46. package/cjs/components/date-picker/hooks/useViews.js.map +1 -1
  47. package/cjs/components/dialog/DialogDocs.d.ts +1 -0
  48. package/cjs/components/dialog/DialogDocs.js +13 -1
  49. package/cjs/components/dialog/DialogDocs.js.map +1 -1
  50. package/cjs/components/drawer/DrawerDocs.d.ts +2 -0
  51. package/cjs/components/drawer/DrawerDocs.js +69 -0
  52. package/cjs/components/drawer/DrawerDocs.js.map +1 -0
  53. package/cjs/components/dropdown/DropdownDocs.d.ts +2 -0
  54. package/cjs/components/dropdown/DropdownDocs.js +29 -0
  55. package/cjs/components/dropdown/DropdownDocs.js.map +1 -0
  56. package/cjs/components/form-label/FormLabelDocs.d.ts +2 -0
  57. package/cjs/components/form-label/FormLabelDocs.js +59 -0
  58. package/cjs/components/form-label/FormLabelDocs.js.map +1 -0
  59. package/cjs/components/form-row/FormRow.d.ts +45 -0
  60. package/cjs/components/form-row/FormRowDocs.d.ts +2 -0
  61. package/cjs/components/form-row/FormRowDocs.js +89 -0
  62. package/cjs/components/form-row/FormRowDocs.js.map +1 -0
  63. package/cjs/components/form-set/FormSet.d.ts +18 -0
  64. package/cjs/components/form-set/FormSetDocs.d.ts +3 -0
  65. package/cjs/components/form-set/FormSetDocs.js +56 -0
  66. package/cjs/components/form-set/FormSetDocs.js.map +1 -0
  67. package/cjs/components/form-status/FormStatus.d.ts +18 -18
  68. package/cjs/components/form-status/FormStatusDocs.d.ts +2 -0
  69. package/cjs/components/form-status/FormStatusDocs.js +89 -0
  70. package/cjs/components/form-status/FormStatusDocs.js.map +1 -0
  71. package/cjs/components/global-error/GlobalError.d.ts +13 -1
  72. package/cjs/components/global-error/GlobalError.js +15 -6
  73. package/cjs/components/global-error/GlobalError.js.map +1 -1
  74. package/cjs/components/global-error/GlobalErrorDocs.d.ts +2 -0
  75. package/cjs/components/global-error/GlobalErrorDocs.js +74 -0
  76. package/cjs/components/global-error/GlobalErrorDocs.js.map +1 -0
  77. package/cjs/components/global-status/GlobalStatus.d.ts +37 -58
  78. package/cjs/components/global-status/GlobalStatusController.d.ts +0 -9
  79. package/cjs/components/global-status/GlobalStatusDocs.d.ts +6 -0
  80. package/cjs/components/global-status/GlobalStatusDocs.js +192 -0
  81. package/cjs/components/global-status/GlobalStatusDocs.js.map +1 -0
  82. package/cjs/components/heading/HeadingDocs.d.ts +2 -0
  83. package/cjs/components/heading/HeadingDocs.js +79 -0
  84. package/cjs/components/heading/HeadingDocs.js.map +1 -0
  85. package/cjs/components/help-button/HelpButtonDocs.d.ts +3 -0
  86. package/cjs/components/help-button/HelpButtonDocs.js +46 -0
  87. package/cjs/components/help-button/HelpButtonDocs.js.map +1 -0
  88. package/cjs/components/icon/IconDocs.d.ts +2 -0
  89. package/cjs/components/icon/IconDocs.js +59 -0
  90. package/cjs/components/icon/IconDocs.js.map +1 -0
  91. package/cjs/components/icon/IconPrimaryDocs.d.ts +2 -0
  92. package/cjs/components/icon/IconPrimaryDocs.js +24 -0
  93. package/cjs/components/icon/IconPrimaryDocs.js.map +1 -0
  94. package/cjs/components/info-card/InfoCard.d.ts +6 -1
  95. package/cjs/components/info-card/InfoCard.js +4 -3
  96. package/cjs/components/info-card/InfoCard.js.map +1 -1
  97. package/cjs/components/info-card/InfoCardDocs.d.ts +3 -0
  98. package/cjs/components/info-card/InfoCardDocs.js +106 -0
  99. package/cjs/components/info-card/InfoCardDocs.js.map +1 -0
  100. package/cjs/components/input/Input.d.ts +0 -21
  101. package/cjs/components/input/InputDocs.d.ts +1 -0
  102. package/cjs/components/input/InputDocs.js +33 -1
  103. package/cjs/components/input/InputDocs.js.map +1 -1
  104. package/cjs/components/input-masked/InputMasked.d.ts +0 -12
  105. package/cjs/components/input-masked/InputMaskedDocs.d.ts +1 -0
  106. package/cjs/components/input-masked/InputMaskedDocs.js +13 -1
  107. package/cjs/components/input-masked/InputMaskedDocs.js.map +1 -1
  108. package/cjs/components/input-masked/MultiInputMaskedDocs.d.ts +2 -0
  109. package/cjs/components/input-masked/MultiInputMaskedDocs.js +24 -0
  110. package/cjs/components/input-masked/MultiInputMaskedDocs.js.map +1 -0
  111. package/cjs/components/pagination/Pagination.d.ts +35 -33
  112. package/cjs/components/pagination/Pagination.js +2 -0
  113. package/cjs/components/pagination/Pagination.js.map +1 -1
  114. package/cjs/components/pagination/PaginationDocs.d.ts +3 -0
  115. package/cjs/components/pagination/PaginationDocs.js +191 -0
  116. package/cjs/components/pagination/PaginationDocs.js.map +1 -0
  117. package/cjs/components/pagination/PaginationHelpers.d.ts +0 -3
  118. package/cjs/components/pagination/PaginationInfinity.d.ts +0 -3
  119. package/cjs/components/pagination/PaginationProvider.js +1 -1
  120. package/cjs/components/pagination/PaginationProvider.js.map +1 -1
  121. package/cjs/components/radio/Radio.d.ts +12 -15
  122. package/cjs/components/radio/RadioDocs.d.ts +5 -0
  123. package/cjs/components/radio/RadioDocs.js +145 -0
  124. package/cjs/components/radio/RadioDocs.js.map +1 -0
  125. package/cjs/components/radio/RadioGroup.d.ts +0 -30
  126. package/cjs/components/skeleton/SkeletonDocs.d.ts +2 -0
  127. package/cjs/components/skeleton/SkeletonDocs.js +44 -0
  128. package/cjs/components/skeleton/SkeletonDocs.js.map +1 -0
  129. package/cjs/components/skeleton/SkeletonHelper.d.ts +0 -6
  130. package/cjs/components/skip-content/SkipContentDocs.d.ts +2 -0
  131. package/cjs/components/skip-content/SkipContentDocs.js +29 -0
  132. package/cjs/components/skip-content/SkipContentDocs.js.map +1 -0
  133. package/cjs/components/tabs/Tabs.js +2 -2
  134. package/cjs/components/tabs/Tabs.js.map +1 -1
  135. package/cjs/components/tag/TagDocs.d.ts +4 -0
  136. package/cjs/components/tag/TagDocs.js +93 -0
  137. package/cjs/components/tag/TagDocs.js.map +1 -0
  138. package/cjs/components/textarea/Textarea.d.ts +0 -12
  139. package/cjs/components/textarea/TextareaDocs.d.ts +1 -0
  140. package/cjs/components/textarea/TextareaDocs.js +23 -1
  141. package/cjs/components/textarea/TextareaDocs.js.map +1 -1
  142. package/cjs/components/timeline/TimelineDocs.d.ts +3 -0
  143. package/cjs/components/timeline/TimelineDocs.js +66 -0
  144. package/cjs/components/timeline/TimelineDocs.js.map +1 -0
  145. package/cjs/components/toggle-button/ToggleButton.d.ts +0 -3
  146. package/cjs/components/toggle-button/ToggleButtonDocs.d.ts +1 -0
  147. package/cjs/components/toggle-button/ToggleButtonDocs.js +8 -1
  148. package/cjs/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  149. package/cjs/components/toggle-button/ToggleButtonGroup.d.ts +0 -3
  150. package/cjs/components/toggle-button/ToggleButtonGroupDocs.d.ts +1 -0
  151. package/cjs/components/toggle-button/ToggleButtonGroupDocs.js +8 -1
  152. package/cjs/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -1
  153. package/cjs/components/tooltip/TooltipDocs.d.ts +2 -0
  154. package/cjs/components/tooltip/TooltipDocs.js +79 -0
  155. package/cjs/components/tooltip/TooltipDocs.js.map +1 -0
  156. package/cjs/components/upload/Upload.js +6 -4
  157. package/cjs/components/upload/Upload.js.map +1 -1
  158. package/cjs/components/upload/UploadDocs.js +5 -0
  159. package/cjs/components/upload/UploadDocs.js.map +1 -1
  160. package/cjs/components/upload/UploadFileList.js +5 -4
  161. package/cjs/components/upload/UploadFileList.js.map +1 -1
  162. package/cjs/components/upload/UploadFileListCell.d.ts +6 -1
  163. package/cjs/components/upload/UploadFileListCell.js +8 -5
  164. package/cjs/components/upload/UploadFileListCell.js.map +1 -1
  165. package/cjs/components/upload/types.d.ts +5 -0
  166. package/cjs/components/upload/types.js.map +1 -1
  167. package/cjs/components/upload/useUpload.d.ts +1 -0
  168. package/cjs/components/upload/useUpload.js +9 -2
  169. package/cjs/components/upload/useUpload.js.map +1 -1
  170. package/cjs/components/visually-hidden/VisuallyHiddenDocs.d.ts +2 -0
  171. package/cjs/components/visually-hidden/VisuallyHiddenDocs.js +19 -0
  172. package/cjs/components/visually-hidden/VisuallyHiddenDocs.js.map +1 -0
  173. package/cjs/extensions/forms/DataContext/Context.d.ts +7 -6
  174. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  175. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +4 -4
  176. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  177. package/cjs/extensions/forms/DataContext/Provider/Provider.js +63 -75
  178. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  179. package/cjs/extensions/forms/Field/Date/Date.d.ts +1 -0
  180. package/cjs/extensions/forms/Field/Date/Date.js +8 -8
  181. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  182. package/cjs/extensions/forms/Field/Password/Password.js +2 -1
  183. package/cjs/extensions/forms/Field/Password/Password.js.map +1 -1
  184. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +9 -3
  185. package/cjs/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  186. package/cjs/extensions/forms/Field/Upload/Upload.js +10 -2
  187. package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
  188. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +2 -2
  189. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  190. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
  191. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  192. package/cjs/extensions/forms/Form/Isolation/Isolation.js +3 -4
  193. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  194. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +4 -4
  195. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  196. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +1 -10
  197. package/cjs/extensions/forms/Form/Visibility/Visibility.js +1 -0
  198. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  199. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -1
  200. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  201. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  202. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  203. package/cjs/extensions/forms/Form/Visibility/useVisibility.js +11 -15
  204. package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  205. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +3 -2
  206. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  207. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -2
  208. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  209. package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js +1 -1
  210. package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  211. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -2
  212. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  213. package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js +1 -1
  214. package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
  215. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +9 -2
  216. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  217. package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -1
  218. package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  219. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +1 -1
  220. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  221. package/cjs/extensions/forms/Value/Date/Date.d.ts +0 -6
  222. package/cjs/extensions/forms/Value/Date/Date.js +14 -38
  223. package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
  224. package/cjs/extensions/forms/Wizard/Buttons/Buttons.js +2 -2
  225. package/cjs/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  226. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js +6 -5
  227. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
  228. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +4 -3
  229. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js +36 -35
  230. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -1
  231. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +106 -59
  232. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  233. package/cjs/extensions/forms/Wizard/Container/useCollectStepsData.d.ts +10 -0
  234. package/cjs/extensions/forms/Wizard/Container/useCollectStepsData.js +66 -0
  235. package/cjs/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -0
  236. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +17 -4
  237. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  238. package/cjs/extensions/forms/Wizard/Context/types.d.ts +9 -6
  239. package/cjs/extensions/forms/Wizard/Context/types.js.map +1 -1
  240. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +1 -1
  241. package/cjs/extensions/forms/Wizard/Step/Step.js +65 -22
  242. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  243. package/cjs/extensions/forms/Wizard/Step/StepDocs.js +2 -2
  244. package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  245. package/cjs/extensions/forms/Wizard/hooks/useStep.js +10 -18
  246. package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  247. package/cjs/extensions/forms/hooks/useFieldProps.js +16 -9
  248. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  249. package/cjs/extensions/forms/hooks/useValueProps.js +1 -1
  250. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  251. package/cjs/extensions/payment-card/PaymentCard.d.ts +7 -7
  252. package/cjs/extensions/payment-card/PaymentCardDocs.d.ts +5 -0
  253. package/cjs/extensions/payment-card/PaymentCardDocs.js +205 -0
  254. package/cjs/extensions/payment-card/PaymentCardDocs.js.map +1 -0
  255. package/cjs/fragments/scroll-view/ScrollViewDocs.d.ts +2 -0
  256. package/cjs/fragments/scroll-view/ScrollViewDocs.js +19 -0
  257. package/cjs/fragments/scroll-view/ScrollViewDocs.js.map +1 -0
  258. package/cjs/fragments/text-counter/TextCounterDocs.d.ts +2 -0
  259. package/cjs/fragments/text-counter/TextCounterDocs.js +29 -0
  260. package/cjs/fragments/text-counter/TextCounterDocs.js.map +1 -0
  261. package/cjs/shared/Eufemia.d.ts +1 -1
  262. package/cjs/shared/Eufemia.js +2 -2
  263. package/cjs/shared/Eufemia.js.map +1 -1
  264. package/cjs/shared/MediaQueryDocs.d.ts +2 -0
  265. package/cjs/shared/MediaQueryDocs.js +34 -0
  266. package/cjs/shared/MediaQueryDocs.js.map +1 -0
  267. package/cjs/shared/ThemeDocs.d.ts +2 -0
  268. package/cjs/shared/ThemeDocs.js +39 -0
  269. package/cjs/shared/ThemeDocs.js.map +1 -0
  270. package/cjs/shared/component-helper.js +1 -1
  271. package/cjs/shared/component-helper.js.map +1 -1
  272. package/cjs/shared/locales/en-GB.d.ts +1 -0
  273. package/cjs/shared/locales/en-GB.js +1 -0
  274. package/cjs/shared/locales/en-GB.js.map +1 -1
  275. package/cjs/shared/locales/en-US.d.ts +1 -0
  276. package/cjs/shared/locales/index.d.ts +2 -0
  277. package/cjs/shared/locales/nb-NO.d.ts +1 -0
  278. package/cjs/shared/locales/nb-NO.js +1 -0
  279. package/cjs/shared/locales/nb-NO.js.map +1 -1
  280. package/cjs/shared/locales/sv-SE.d.ts +1 -0
  281. package/cjs/shared/locales/sv-SE.js +1 -0
  282. package/cjs/shared/locales/sv-SE.js.map +1 -1
  283. package/cjs/style/core/scopes.scss +1 -1
  284. package/cjs/style/dnb-ui-basis.css +1 -1
  285. package/cjs/style/dnb-ui-basis.min.css +1 -1
  286. package/cjs/style/dnb-ui-body.css +1 -1
  287. package/cjs/style/dnb-ui-body.min.css +1 -1
  288. package/cjs/style/dnb-ui-components.css +8 -0
  289. package/cjs/style/dnb-ui-components.min.css +1 -1
  290. package/cjs/style/dnb-ui-core.css +1 -1
  291. package/cjs/style/dnb-ui-core.min.css +1 -1
  292. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +13 -5
  293. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  294. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +13 -5
  295. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  296. package/cjs/style/themes/theme-ui/ui-theme-components.css +13 -5
  297. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  298. package/components/aria-live/AriaLiveDocs.d.ts +2 -0
  299. package/components/aria-live/AriaLiveDocs.js +48 -0
  300. package/components/aria-live/AriaLiveDocs.js.map +1 -0
  301. package/components/avatar/Avatar.d.ts +10 -0
  302. package/components/avatar/Avatar.js +17 -3
  303. package/components/avatar/Avatar.js.map +1 -1
  304. package/components/avatar/AvatarDocs.d.ts +3 -0
  305. package/components/avatar/AvatarDocs.js +95 -0
  306. package/components/avatar/AvatarDocs.js.map +1 -0
  307. package/components/avatar/AvatarGroup.d.ts +10 -0
  308. package/components/avatar/AvatarGroup.js +17 -5
  309. package/components/avatar/AvatarGroup.js.map +1 -1
  310. package/components/avatar/style/dnb-avatar.css +8 -0
  311. package/components/avatar/style/dnb-avatar.min.css +1 -1
  312. package/components/avatar/style/dnb-avatar.scss +9 -0
  313. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +5 -5
  314. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
  315. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +5 -6
  316. package/components/avatar/style/themes/dnb-avatar-theme-ui.css +5 -5
  317. package/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -1
  318. package/components/avatar/style/themes/dnb-avatar-theme-ui.scss +5 -5
  319. package/components/badge/BadgeDocs.d.ts +2 -0
  320. package/components/badge/BadgeDocs.js +48 -0
  321. package/components/badge/BadgeDocs.js.map +1 -0
  322. package/components/breadcrumb/BreadcrumbDocs.d.ts +5 -0
  323. package/components/breadcrumb/BreadcrumbDocs.js +119 -0
  324. package/components/breadcrumb/BreadcrumbDocs.js.map +1 -0
  325. package/components/button/Button.d.ts +0 -3
  326. package/components/button/ButtonDocs.d.ts +1 -0
  327. package/components/button/ButtonDocs.js +7 -0
  328. package/components/button/ButtonDocs.js.map +1 -1
  329. package/components/date-picker/DatePickerAddon.js +1 -3
  330. package/components/date-picker/DatePickerAddon.js.map +1 -1
  331. package/components/date-picker/DatePickerCalc.d.ts +13 -0
  332. package/components/date-picker/DatePickerCalc.js +41 -0
  333. package/components/date-picker/DatePickerCalc.js.map +1 -1
  334. package/components/date-picker/DatePickerCalendar.js +13 -11
  335. package/components/date-picker/DatePickerCalendar.js.map +1 -1
  336. package/components/date-picker/DatePickerContext.d.ts +1 -1
  337. package/components/date-picker/DatePickerContext.js.map +1 -1
  338. package/components/date-picker/DatePickerProvider.js +2 -2
  339. package/components/date-picker/DatePickerProvider.js.map +1 -1
  340. package/components/date-picker/hooks/useViews.d.ts +2 -4
  341. package/components/date-picker/hooks/useViews.js +38 -24
  342. package/components/date-picker/hooks/useViews.js.map +1 -1
  343. package/components/dialog/DialogDocs.d.ts +1 -0
  344. package/components/dialog/DialogDocs.js +12 -0
  345. package/components/dialog/DialogDocs.js.map +1 -1
  346. package/components/drawer/DrawerDocs.d.ts +2 -0
  347. package/components/drawer/DrawerDocs.js +63 -0
  348. package/components/drawer/DrawerDocs.js.map +1 -0
  349. package/components/dropdown/DropdownDocs.d.ts +2 -0
  350. package/components/dropdown/DropdownDocs.js +23 -0
  351. package/components/dropdown/DropdownDocs.js.map +1 -0
  352. package/components/form-label/FormLabelDocs.d.ts +2 -0
  353. package/components/form-label/FormLabelDocs.js +53 -0
  354. package/components/form-label/FormLabelDocs.js.map +1 -0
  355. package/components/form-row/FormRow.d.ts +45 -0
  356. package/components/form-row/FormRowDocs.d.ts +2 -0
  357. package/components/form-row/FormRowDocs.js +83 -0
  358. package/components/form-row/FormRowDocs.js.map +1 -0
  359. package/components/form-set/FormSet.d.ts +18 -0
  360. package/components/form-set/FormSetDocs.d.ts +3 -0
  361. package/components/form-set/FormSetDocs.js +50 -0
  362. package/components/form-set/FormSetDocs.js.map +1 -0
  363. package/components/form-status/FormStatus.d.ts +18 -18
  364. package/components/form-status/FormStatusDocs.d.ts +2 -0
  365. package/components/form-status/FormStatusDocs.js +83 -0
  366. package/components/form-status/FormStatusDocs.js.map +1 -0
  367. package/components/global-error/GlobalError.d.ts +13 -1
  368. package/components/global-error/GlobalError.js +15 -6
  369. package/components/global-error/GlobalError.js.map +1 -1
  370. package/components/global-error/GlobalErrorDocs.d.ts +2 -0
  371. package/components/global-error/GlobalErrorDocs.js +68 -0
  372. package/components/global-error/GlobalErrorDocs.js.map +1 -0
  373. package/components/global-status/GlobalStatus.d.ts +37 -58
  374. package/components/global-status/GlobalStatusController.d.ts +0 -9
  375. package/components/global-status/GlobalStatusDocs.d.ts +6 -0
  376. package/components/global-status/GlobalStatusDocs.js +186 -0
  377. package/components/global-status/GlobalStatusDocs.js.map +1 -0
  378. package/components/heading/HeadingDocs.d.ts +2 -0
  379. package/components/heading/HeadingDocs.js +73 -0
  380. package/components/heading/HeadingDocs.js.map +1 -0
  381. package/components/help-button/HelpButtonDocs.d.ts +3 -0
  382. package/components/help-button/HelpButtonDocs.js +40 -0
  383. package/components/help-button/HelpButtonDocs.js.map +1 -0
  384. package/components/icon/IconDocs.d.ts +2 -0
  385. package/components/icon/IconDocs.js +53 -0
  386. package/components/icon/IconDocs.js.map +1 -0
  387. package/components/icon/IconPrimaryDocs.d.ts +2 -0
  388. package/components/icon/IconPrimaryDocs.js +18 -0
  389. package/components/icon/IconPrimaryDocs.js.map +1 -0
  390. package/components/info-card/InfoCard.d.ts +6 -1
  391. package/components/info-card/InfoCard.js +4 -3
  392. package/components/info-card/InfoCard.js.map +1 -1
  393. package/components/info-card/InfoCardDocs.d.ts +3 -0
  394. package/components/info-card/InfoCardDocs.js +100 -0
  395. package/components/info-card/InfoCardDocs.js.map +1 -0
  396. package/components/input/Input.d.ts +0 -21
  397. package/components/input/InputDocs.d.ts +1 -0
  398. package/components/input/InputDocs.js +32 -0
  399. package/components/input/InputDocs.js.map +1 -1
  400. package/components/input-masked/InputMasked.d.ts +0 -12
  401. package/components/input-masked/InputMaskedDocs.d.ts +1 -0
  402. package/components/input-masked/InputMaskedDocs.js +12 -0
  403. package/components/input-masked/InputMaskedDocs.js.map +1 -1
  404. package/components/input-masked/MultiInputMaskedDocs.d.ts +2 -0
  405. package/components/input-masked/MultiInputMaskedDocs.js +18 -0
  406. package/components/input-masked/MultiInputMaskedDocs.js.map +1 -0
  407. package/components/pagination/Pagination.d.ts +35 -33
  408. package/components/pagination/Pagination.js +2 -0
  409. package/components/pagination/Pagination.js.map +1 -1
  410. package/components/pagination/PaginationDocs.d.ts +3 -0
  411. package/components/pagination/PaginationDocs.js +185 -0
  412. package/components/pagination/PaginationDocs.js.map +1 -0
  413. package/components/pagination/PaginationHelpers.d.ts +0 -3
  414. package/components/pagination/PaginationInfinity.d.ts +0 -3
  415. package/components/pagination/PaginationProvider.js +1 -1
  416. package/components/pagination/PaginationProvider.js.map +1 -1
  417. package/components/radio/Radio.d.ts +12 -15
  418. package/components/radio/RadioDocs.d.ts +5 -0
  419. package/components/radio/RadioDocs.js +139 -0
  420. package/components/radio/RadioDocs.js.map +1 -0
  421. package/components/radio/RadioGroup.d.ts +0 -30
  422. package/components/skeleton/SkeletonDocs.d.ts +2 -0
  423. package/components/skeleton/SkeletonDocs.js +38 -0
  424. package/components/skeleton/SkeletonDocs.js.map +1 -0
  425. package/components/skeleton/SkeletonHelper.d.ts +0 -6
  426. package/components/skip-content/SkipContentDocs.d.ts +2 -0
  427. package/components/skip-content/SkipContentDocs.js +23 -0
  428. package/components/skip-content/SkipContentDocs.js.map +1 -0
  429. package/components/tabs/Tabs.js +2 -2
  430. package/components/tabs/Tabs.js.map +1 -1
  431. package/components/tag/TagDocs.d.ts +4 -0
  432. package/components/tag/TagDocs.js +87 -0
  433. package/components/tag/TagDocs.js.map +1 -0
  434. package/components/textarea/Textarea.d.ts +0 -12
  435. package/components/textarea/TextareaDocs.d.ts +1 -0
  436. package/components/textarea/TextareaDocs.js +22 -0
  437. package/components/textarea/TextareaDocs.js.map +1 -1
  438. package/components/timeline/TimelineDocs.d.ts +3 -0
  439. package/components/timeline/TimelineDocs.js +60 -0
  440. package/components/timeline/TimelineDocs.js.map +1 -0
  441. package/components/toggle-button/ToggleButton.d.ts +0 -3
  442. package/components/toggle-button/ToggleButtonDocs.d.ts +1 -0
  443. package/components/toggle-button/ToggleButtonDocs.js +7 -0
  444. package/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  445. package/components/toggle-button/ToggleButtonGroup.d.ts +0 -3
  446. package/components/toggle-button/ToggleButtonGroupDocs.d.ts +1 -0
  447. package/components/toggle-button/ToggleButtonGroupDocs.js +7 -0
  448. package/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -1
  449. package/components/tooltip/TooltipDocs.d.ts +2 -0
  450. package/components/tooltip/TooltipDocs.js +73 -0
  451. package/components/tooltip/TooltipDocs.js.map +1 -0
  452. package/components/upload/Upload.js +6 -4
  453. package/components/upload/Upload.js.map +1 -1
  454. package/components/upload/UploadDocs.js +5 -0
  455. package/components/upload/UploadDocs.js.map +1 -1
  456. package/components/upload/UploadFileList.js +5 -4
  457. package/components/upload/UploadFileList.js.map +1 -1
  458. package/components/upload/UploadFileListCell.d.ts +6 -1
  459. package/components/upload/UploadFileListCell.js +8 -5
  460. package/components/upload/UploadFileListCell.js.map +1 -1
  461. package/components/upload/types.d.ts +5 -0
  462. package/components/upload/types.js.map +1 -1
  463. package/components/upload/useUpload.d.ts +1 -0
  464. package/components/upload/useUpload.js +7 -1
  465. package/components/upload/useUpload.js.map +1 -1
  466. package/components/visually-hidden/VisuallyHiddenDocs.d.ts +2 -0
  467. package/components/visually-hidden/VisuallyHiddenDocs.js +13 -0
  468. package/components/visually-hidden/VisuallyHiddenDocs.js.map +1 -0
  469. package/es/components/aria-live/AriaLiveDocs.d.ts +2 -0
  470. package/es/components/aria-live/AriaLiveDocs.js +48 -0
  471. package/es/components/aria-live/AriaLiveDocs.js.map +1 -0
  472. package/es/components/avatar/Avatar.d.ts +10 -0
  473. package/es/components/avatar/Avatar.js +17 -3
  474. package/es/components/avatar/Avatar.js.map +1 -1
  475. package/es/components/avatar/AvatarDocs.d.ts +3 -0
  476. package/es/components/avatar/AvatarDocs.js +95 -0
  477. package/es/components/avatar/AvatarDocs.js.map +1 -0
  478. package/es/components/avatar/AvatarGroup.d.ts +10 -0
  479. package/es/components/avatar/AvatarGroup.js +17 -5
  480. package/es/components/avatar/AvatarGroup.js.map +1 -1
  481. package/es/components/avatar/style/dnb-avatar.css +8 -0
  482. package/es/components/avatar/style/dnb-avatar.min.css +1 -1
  483. package/es/components/avatar/style/dnb-avatar.scss +9 -0
  484. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +5 -5
  485. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
  486. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +5 -6
  487. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.css +5 -5
  488. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -1
  489. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.scss +5 -5
  490. package/es/components/badge/BadgeDocs.d.ts +2 -0
  491. package/es/components/badge/BadgeDocs.js +48 -0
  492. package/es/components/badge/BadgeDocs.js.map +1 -0
  493. package/es/components/breadcrumb/BreadcrumbDocs.d.ts +5 -0
  494. package/es/components/breadcrumb/BreadcrumbDocs.js +119 -0
  495. package/es/components/breadcrumb/BreadcrumbDocs.js.map +1 -0
  496. package/es/components/button/Button.d.ts +0 -3
  497. package/es/components/button/ButtonDocs.d.ts +1 -0
  498. package/es/components/button/ButtonDocs.js +7 -0
  499. package/es/components/button/ButtonDocs.js.map +1 -1
  500. package/es/components/date-picker/DatePickerAddon.js +1 -3
  501. package/es/components/date-picker/DatePickerAddon.js.map +1 -1
  502. package/es/components/date-picker/DatePickerCalc.d.ts +13 -0
  503. package/es/components/date-picker/DatePickerCalc.js +39 -0
  504. package/es/components/date-picker/DatePickerCalc.js.map +1 -1
  505. package/es/components/date-picker/DatePickerCalendar.js +13 -11
  506. package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
  507. package/es/components/date-picker/DatePickerContext.d.ts +1 -1
  508. package/es/components/date-picker/DatePickerContext.js.map +1 -1
  509. package/es/components/date-picker/DatePickerProvider.js +2 -2
  510. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  511. package/es/components/date-picker/hooks/useViews.d.ts +2 -4
  512. package/es/components/date-picker/hooks/useViews.js +39 -25
  513. package/es/components/date-picker/hooks/useViews.js.map +1 -1
  514. package/es/components/dialog/DialogDocs.d.ts +1 -0
  515. package/es/components/dialog/DialogDocs.js +12 -0
  516. package/es/components/dialog/DialogDocs.js.map +1 -1
  517. package/es/components/drawer/DrawerDocs.d.ts +2 -0
  518. package/es/components/drawer/DrawerDocs.js +63 -0
  519. package/es/components/drawer/DrawerDocs.js.map +1 -0
  520. package/es/components/dropdown/DropdownDocs.d.ts +2 -0
  521. package/es/components/dropdown/DropdownDocs.js +23 -0
  522. package/es/components/dropdown/DropdownDocs.js.map +1 -0
  523. package/es/components/form-label/FormLabelDocs.d.ts +2 -0
  524. package/es/components/form-label/FormLabelDocs.js +53 -0
  525. package/es/components/form-label/FormLabelDocs.js.map +1 -0
  526. package/es/components/form-row/FormRow.d.ts +45 -0
  527. package/es/components/form-row/FormRowDocs.d.ts +2 -0
  528. package/es/components/form-row/FormRowDocs.js +83 -0
  529. package/es/components/form-row/FormRowDocs.js.map +1 -0
  530. package/es/components/form-set/FormSet.d.ts +18 -0
  531. package/es/components/form-set/FormSetDocs.d.ts +3 -0
  532. package/es/components/form-set/FormSetDocs.js +50 -0
  533. package/es/components/form-set/FormSetDocs.js.map +1 -0
  534. package/es/components/form-status/FormStatus.d.ts +18 -18
  535. package/es/components/form-status/FormStatusDocs.d.ts +2 -0
  536. package/es/components/form-status/FormStatusDocs.js +83 -0
  537. package/es/components/form-status/FormStatusDocs.js.map +1 -0
  538. package/es/components/global-error/GlobalError.d.ts +13 -1
  539. package/es/components/global-error/GlobalError.js +14 -6
  540. package/es/components/global-error/GlobalError.js.map +1 -1
  541. package/es/components/global-error/GlobalErrorDocs.d.ts +2 -0
  542. package/es/components/global-error/GlobalErrorDocs.js +68 -0
  543. package/es/components/global-error/GlobalErrorDocs.js.map +1 -0
  544. package/es/components/global-status/GlobalStatus.d.ts +37 -58
  545. package/es/components/global-status/GlobalStatusController.d.ts +0 -9
  546. package/es/components/global-status/GlobalStatusDocs.d.ts +6 -0
  547. package/es/components/global-status/GlobalStatusDocs.js +186 -0
  548. package/es/components/global-status/GlobalStatusDocs.js.map +1 -0
  549. package/es/components/heading/HeadingDocs.d.ts +2 -0
  550. package/es/components/heading/HeadingDocs.js +73 -0
  551. package/es/components/heading/HeadingDocs.js.map +1 -0
  552. package/es/components/help-button/HelpButtonDocs.d.ts +3 -0
  553. package/es/components/help-button/HelpButtonDocs.js +40 -0
  554. package/es/components/help-button/HelpButtonDocs.js.map +1 -0
  555. package/es/components/icon/IconDocs.d.ts +2 -0
  556. package/es/components/icon/IconDocs.js +53 -0
  557. package/es/components/icon/IconDocs.js.map +1 -0
  558. package/es/components/icon/IconPrimaryDocs.d.ts +2 -0
  559. package/es/components/icon/IconPrimaryDocs.js +18 -0
  560. package/es/components/icon/IconPrimaryDocs.js.map +1 -0
  561. package/es/components/info-card/InfoCard.d.ts +6 -1
  562. package/es/components/info-card/InfoCard.js +4 -3
  563. package/es/components/info-card/InfoCard.js.map +1 -1
  564. package/es/components/info-card/InfoCardDocs.d.ts +3 -0
  565. package/es/components/info-card/InfoCardDocs.js +100 -0
  566. package/es/components/info-card/InfoCardDocs.js.map +1 -0
  567. package/es/components/input/Input.d.ts +0 -21
  568. package/es/components/input/InputDocs.d.ts +1 -0
  569. package/es/components/input/InputDocs.js +32 -0
  570. package/es/components/input/InputDocs.js.map +1 -1
  571. package/es/components/input-masked/InputMasked.d.ts +0 -12
  572. package/es/components/input-masked/InputMaskedDocs.d.ts +1 -0
  573. package/es/components/input-masked/InputMaskedDocs.js +12 -0
  574. package/es/components/input-masked/InputMaskedDocs.js.map +1 -1
  575. package/es/components/input-masked/MultiInputMaskedDocs.d.ts +2 -0
  576. package/es/components/input-masked/MultiInputMaskedDocs.js +18 -0
  577. package/es/components/input-masked/MultiInputMaskedDocs.js.map +1 -0
  578. package/es/components/pagination/Pagination.d.ts +35 -33
  579. package/es/components/pagination/Pagination.js +2 -0
  580. package/es/components/pagination/Pagination.js.map +1 -1
  581. package/es/components/pagination/PaginationDocs.d.ts +3 -0
  582. package/es/components/pagination/PaginationDocs.js +185 -0
  583. package/es/components/pagination/PaginationDocs.js.map +1 -0
  584. package/es/components/pagination/PaginationHelpers.d.ts +0 -3
  585. package/es/components/pagination/PaginationInfinity.d.ts +0 -3
  586. package/es/components/pagination/PaginationProvider.js +1 -1
  587. package/es/components/pagination/PaginationProvider.js.map +1 -1
  588. package/es/components/radio/Radio.d.ts +12 -15
  589. package/es/components/radio/RadioDocs.d.ts +5 -0
  590. package/es/components/radio/RadioDocs.js +139 -0
  591. package/es/components/radio/RadioDocs.js.map +1 -0
  592. package/es/components/radio/RadioGroup.d.ts +0 -30
  593. package/es/components/skeleton/SkeletonDocs.d.ts +2 -0
  594. package/es/components/skeleton/SkeletonDocs.js +38 -0
  595. package/es/components/skeleton/SkeletonDocs.js.map +1 -0
  596. package/es/components/skeleton/SkeletonHelper.d.ts +0 -6
  597. package/es/components/skip-content/SkipContentDocs.d.ts +2 -0
  598. package/es/components/skip-content/SkipContentDocs.js +23 -0
  599. package/es/components/skip-content/SkipContentDocs.js.map +1 -0
  600. package/es/components/tabs/Tabs.js +2 -2
  601. package/es/components/tabs/Tabs.js.map +1 -1
  602. package/es/components/tag/TagDocs.d.ts +4 -0
  603. package/es/components/tag/TagDocs.js +87 -0
  604. package/es/components/tag/TagDocs.js.map +1 -0
  605. package/es/components/textarea/Textarea.d.ts +0 -12
  606. package/es/components/textarea/TextareaDocs.d.ts +1 -0
  607. package/es/components/textarea/TextareaDocs.js +22 -0
  608. package/es/components/textarea/TextareaDocs.js.map +1 -1
  609. package/es/components/timeline/TimelineDocs.d.ts +3 -0
  610. package/es/components/timeline/TimelineDocs.js +60 -0
  611. package/es/components/timeline/TimelineDocs.js.map +1 -0
  612. package/es/components/toggle-button/ToggleButton.d.ts +0 -3
  613. package/es/components/toggle-button/ToggleButtonDocs.d.ts +1 -0
  614. package/es/components/toggle-button/ToggleButtonDocs.js +7 -0
  615. package/es/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  616. package/es/components/toggle-button/ToggleButtonGroup.d.ts +0 -3
  617. package/es/components/toggle-button/ToggleButtonGroupDocs.d.ts +1 -0
  618. package/es/components/toggle-button/ToggleButtonGroupDocs.js +7 -0
  619. package/es/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -1
  620. package/es/components/tooltip/TooltipDocs.d.ts +2 -0
  621. package/es/components/tooltip/TooltipDocs.js +73 -0
  622. package/es/components/tooltip/TooltipDocs.js.map +1 -0
  623. package/es/components/upload/Upload.js +6 -4
  624. package/es/components/upload/Upload.js.map +1 -1
  625. package/es/components/upload/UploadDocs.js +5 -0
  626. package/es/components/upload/UploadDocs.js.map +1 -1
  627. package/es/components/upload/UploadFileList.js +5 -4
  628. package/es/components/upload/UploadFileList.js.map +1 -1
  629. package/es/components/upload/UploadFileListCell.d.ts +6 -1
  630. package/es/components/upload/UploadFileListCell.js +8 -5
  631. package/es/components/upload/UploadFileListCell.js.map +1 -1
  632. package/es/components/upload/types.d.ts +5 -0
  633. package/es/components/upload/types.js.map +1 -1
  634. package/es/components/upload/useUpload.d.ts +1 -0
  635. package/es/components/upload/useUpload.js +7 -1
  636. package/es/components/upload/useUpload.js.map +1 -1
  637. package/es/components/visually-hidden/VisuallyHiddenDocs.d.ts +2 -0
  638. package/es/components/visually-hidden/VisuallyHiddenDocs.js +13 -0
  639. package/es/components/visually-hidden/VisuallyHiddenDocs.js.map +1 -0
  640. package/es/extensions/forms/DataContext/Context.d.ts +7 -6
  641. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  642. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +4 -4
  643. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  644. package/es/extensions/forms/DataContext/Provider/Provider.js +48 -62
  645. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  646. package/es/extensions/forms/Field/Date/Date.d.ts +1 -0
  647. package/es/extensions/forms/Field/Date/Date.js +2 -3
  648. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  649. package/es/extensions/forms/Field/Password/Password.js +2 -1
  650. package/es/extensions/forms/Field/Password/Password.js.map +1 -1
  651. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +9 -3
  652. package/es/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  653. package/es/extensions/forms/Field/Upload/Upload.js +10 -2
  654. package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
  655. package/es/extensions/forms/FieldBlock/FieldBlock.js +2 -2
  656. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  657. package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
  658. package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  659. package/es/extensions/forms/Form/Isolation/Isolation.js +3 -4
  660. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  661. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +4 -4
  662. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  663. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +1 -10
  664. package/es/extensions/forms/Form/Visibility/Visibility.js +1 -0
  665. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  666. package/es/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -1
  667. package/es/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  668. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  669. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  670. package/es/extensions/forms/Form/Visibility/useVisibility.js +11 -15
  671. package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  672. package/es/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +3 -2
  673. package/es/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  674. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -2
  675. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  676. package/es/extensions/forms/Iterate/EditContainer/DoneButton.js +1 -1
  677. package/es/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  678. package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -2
  679. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  680. package/es/extensions/forms/Iterate/PushContainer/OpenButton.js +1 -1
  681. package/es/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
  682. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +9 -2
  683. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  684. package/es/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -1
  685. package/es/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  686. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +1 -1
  687. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  688. package/es/extensions/forms/Value/Date/Date.d.ts +0 -6
  689. package/es/extensions/forms/Value/Date/Date.js +13 -34
  690. package/es/extensions/forms/Value/Date/Date.js.map +1 -1
  691. package/es/extensions/forms/Wizard/Buttons/Buttons.js +2 -2
  692. package/es/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  693. package/es/extensions/forms/Wizard/Container/DisplaySteps.js +6 -5
  694. package/es/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
  695. package/es/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +4 -3
  696. package/es/extensions/forms/Wizard/Container/IterateOverSteps.js +35 -34
  697. package/es/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -1
  698. package/es/extensions/forms/Wizard/Container/WizardContainer.js +103 -60
  699. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  700. package/es/extensions/forms/Wizard/Container/useCollectStepsData.d.ts +10 -0
  701. package/es/extensions/forms/Wizard/Container/useCollectStepsData.js +59 -0
  702. package/es/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -0
  703. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +17 -4
  704. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  705. package/es/extensions/forms/Wizard/Context/types.d.ts +9 -6
  706. package/es/extensions/forms/Wizard/Context/types.js.map +1 -1
  707. package/es/extensions/forms/Wizard/Step/Step.d.ts +1 -1
  708. package/es/extensions/forms/Wizard/Step/Step.js +64 -22
  709. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  710. package/es/extensions/forms/Wizard/Step/StepDocs.js +2 -2
  711. package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  712. package/es/extensions/forms/Wizard/hooks/useStep.js +10 -18
  713. package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  714. package/es/extensions/forms/hooks/useFieldProps.js +16 -9
  715. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  716. package/es/extensions/forms/hooks/useValueProps.js +1 -1
  717. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  718. package/es/extensions/payment-card/PaymentCard.d.ts +7 -7
  719. package/es/extensions/payment-card/PaymentCardDocs.d.ts +5 -0
  720. package/es/extensions/payment-card/PaymentCardDocs.js +199 -0
  721. package/es/extensions/payment-card/PaymentCardDocs.js.map +1 -0
  722. package/es/fragments/scroll-view/ScrollViewDocs.d.ts +2 -0
  723. package/es/fragments/scroll-view/ScrollViewDocs.js +13 -0
  724. package/es/fragments/scroll-view/ScrollViewDocs.js.map +1 -0
  725. package/es/fragments/text-counter/TextCounterDocs.d.ts +2 -0
  726. package/es/fragments/text-counter/TextCounterDocs.js +23 -0
  727. package/es/fragments/text-counter/TextCounterDocs.js.map +1 -0
  728. package/es/shared/Eufemia.d.ts +1 -1
  729. package/es/shared/Eufemia.js +2 -2
  730. package/es/shared/Eufemia.js.map +1 -1
  731. package/es/shared/MediaQueryDocs.d.ts +2 -0
  732. package/es/shared/MediaQueryDocs.js +28 -0
  733. package/es/shared/MediaQueryDocs.js.map +1 -0
  734. package/es/shared/ThemeDocs.d.ts +2 -0
  735. package/es/shared/ThemeDocs.js +33 -0
  736. package/es/shared/ThemeDocs.js.map +1 -0
  737. package/es/shared/component-helper.js +1 -1
  738. package/es/shared/component-helper.js.map +1 -1
  739. package/es/shared/locales/en-GB.d.ts +1 -0
  740. package/es/shared/locales/en-GB.js +1 -0
  741. package/es/shared/locales/en-GB.js.map +1 -1
  742. package/es/shared/locales/en-US.d.ts +1 -0
  743. package/es/shared/locales/index.d.ts +2 -0
  744. package/es/shared/locales/nb-NO.d.ts +1 -0
  745. package/es/shared/locales/nb-NO.js +1 -0
  746. package/es/shared/locales/nb-NO.js.map +1 -1
  747. package/es/shared/locales/sv-SE.d.ts +1 -0
  748. package/es/shared/locales/sv-SE.js +1 -0
  749. package/es/shared/locales/sv-SE.js.map +1 -1
  750. package/es/style/core/scopes.scss +1 -1
  751. package/es/style/dnb-ui-basis.css +1 -1
  752. package/es/style/dnb-ui-basis.min.css +1 -1
  753. package/es/style/dnb-ui-body.css +1 -1
  754. package/es/style/dnb-ui-body.min.css +1 -1
  755. package/es/style/dnb-ui-components.css +8 -0
  756. package/es/style/dnb-ui-components.min.css +1 -1
  757. package/es/style/dnb-ui-core.css +1 -1
  758. package/es/style/dnb-ui-core.min.css +1 -1
  759. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +13 -5
  760. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  761. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +13 -5
  762. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  763. package/es/style/themes/theme-ui/ui-theme-components.css +13 -5
  764. package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  765. package/esm/dnb-ui-basis.min.mjs +1 -1
  766. package/esm/dnb-ui-components.min.mjs +1 -1
  767. package/esm/dnb-ui-elements.min.mjs +1 -1
  768. package/esm/dnb-ui-extensions.min.mjs +1 -1
  769. package/esm/dnb-ui-lib.min.mjs +1 -1
  770. package/extensions/forms/DataContext/Context.d.ts +7 -6
  771. package/extensions/forms/DataContext/Context.js.map +1 -1
  772. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +4 -4
  773. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  774. package/extensions/forms/DataContext/Provider/Provider.js +63 -75
  775. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  776. package/extensions/forms/Field/Date/Date.d.ts +1 -0
  777. package/extensions/forms/Field/Date/Date.js +2 -3
  778. package/extensions/forms/Field/Date/Date.js.map +1 -1
  779. package/extensions/forms/Field/Password/Password.js +2 -1
  780. package/extensions/forms/Field/Password/Password.js.map +1 -1
  781. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +9 -3
  782. package/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  783. package/extensions/forms/Field/Upload/Upload.js +10 -2
  784. package/extensions/forms/Field/Upload/Upload.js.map +1 -1
  785. package/extensions/forms/FieldBlock/FieldBlock.js +2 -2
  786. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  787. package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
  788. package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  789. package/extensions/forms/Form/Isolation/Isolation.js +3 -4
  790. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  791. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +4 -4
  792. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  793. package/extensions/forms/Form/Visibility/Visibility.d.ts +1 -10
  794. package/extensions/forms/Form/Visibility/Visibility.js +1 -0
  795. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  796. package/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -1
  797. package/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  798. package/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  799. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  800. package/extensions/forms/Form/Visibility/useVisibility.js +11 -15
  801. package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  802. package/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +3 -2
  803. package/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  804. package/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -2
  805. package/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  806. package/extensions/forms/Iterate/EditContainer/DoneButton.js +1 -1
  807. package/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  808. package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -2
  809. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  810. package/extensions/forms/Iterate/PushContainer/OpenButton.js +1 -1
  811. package/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
  812. package/extensions/forms/Iterate/PushContainer/PushContainer.js +9 -2
  813. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  814. package/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -1
  815. package/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  816. package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +1 -1
  817. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  818. package/extensions/forms/Value/Date/Date.d.ts +0 -6
  819. package/extensions/forms/Value/Date/Date.js +14 -36
  820. package/extensions/forms/Value/Date/Date.js.map +1 -1
  821. package/extensions/forms/Wizard/Buttons/Buttons.js +2 -2
  822. package/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  823. package/extensions/forms/Wizard/Container/DisplaySteps.js +6 -5
  824. package/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
  825. package/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +4 -3
  826. package/extensions/forms/Wizard/Container/IterateOverSteps.js +36 -34
  827. package/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -1
  828. package/extensions/forms/Wizard/Container/WizardContainer.js +107 -60
  829. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  830. package/extensions/forms/Wizard/Container/useCollectStepsData.d.ts +10 -0
  831. package/extensions/forms/Wizard/Container/useCollectStepsData.js +60 -0
  832. package/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -0
  833. package/extensions/forms/Wizard/Context/WizardContext.d.ts +17 -4
  834. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  835. package/extensions/forms/Wizard/Context/types.d.ts +9 -6
  836. package/extensions/forms/Wizard/Context/types.js.map +1 -1
  837. package/extensions/forms/Wizard/Step/Step.d.ts +1 -1
  838. package/extensions/forms/Wizard/Step/Step.js +66 -22
  839. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  840. package/extensions/forms/Wizard/Step/StepDocs.js +2 -2
  841. package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  842. package/extensions/forms/Wizard/hooks/useStep.js +10 -18
  843. package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  844. package/extensions/forms/hooks/useFieldProps.js +16 -9
  845. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  846. package/extensions/forms/hooks/useValueProps.js +1 -1
  847. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  848. package/extensions/payment-card/PaymentCard.d.ts +7 -7
  849. package/extensions/payment-card/PaymentCardDocs.d.ts +5 -0
  850. package/extensions/payment-card/PaymentCardDocs.js +199 -0
  851. package/extensions/payment-card/PaymentCardDocs.js.map +1 -0
  852. package/fragments/scroll-view/ScrollViewDocs.d.ts +2 -0
  853. package/fragments/scroll-view/ScrollViewDocs.js +13 -0
  854. package/fragments/scroll-view/ScrollViewDocs.js.map +1 -0
  855. package/fragments/text-counter/TextCounterDocs.d.ts +2 -0
  856. package/fragments/text-counter/TextCounterDocs.js +23 -0
  857. package/fragments/text-counter/TextCounterDocs.js.map +1 -0
  858. package/package.json +1 -1
  859. package/shared/Eufemia.d.ts +1 -1
  860. package/shared/Eufemia.js +2 -2
  861. package/shared/Eufemia.js.map +1 -1
  862. package/shared/MediaQueryDocs.d.ts +2 -0
  863. package/shared/MediaQueryDocs.js +28 -0
  864. package/shared/MediaQueryDocs.js.map +1 -0
  865. package/shared/ThemeDocs.d.ts +2 -0
  866. package/shared/ThemeDocs.js +33 -0
  867. package/shared/ThemeDocs.js.map +1 -0
  868. package/shared/component-helper.js +1 -1
  869. package/shared/component-helper.js.map +1 -1
  870. package/shared/locales/en-GB.d.ts +1 -0
  871. package/shared/locales/en-GB.js +1 -0
  872. package/shared/locales/en-GB.js.map +1 -1
  873. package/shared/locales/en-US.d.ts +1 -0
  874. package/shared/locales/index.d.ts +2 -0
  875. package/shared/locales/nb-NO.d.ts +1 -0
  876. package/shared/locales/nb-NO.js +1 -0
  877. package/shared/locales/nb-NO.js.map +1 -1
  878. package/shared/locales/sv-SE.d.ts +1 -0
  879. package/shared/locales/sv-SE.js +1 -0
  880. package/shared/locales/sv-SE.js.map +1 -1
  881. package/style/core/scopes.scss +1 -1
  882. package/style/dnb-ui-basis.css +1 -1
  883. package/style/dnb-ui-basis.min.css +1 -1
  884. package/style/dnb-ui-body.css +1 -1
  885. package/style/dnb-ui-body.min.css +1 -1
  886. package/style/dnb-ui-components.css +8 -0
  887. package/style/dnb-ui-components.min.css +1 -1
  888. package/style/dnb-ui-core.css +1 -1
  889. package/style/dnb-ui-core.min.css +1 -1
  890. package/style/themes/theme-eiendom/eiendom-theme-components.css +13 -5
  891. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  892. package/style/themes/theme-sbanken/sbanken-theme-components.css +13 -5
  893. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  894. package/style/themes/theme-ui/ui-theme-components.css +13 -5
  895. package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  896. package/umd/dnb-ui-basis.min.js +1 -1
  897. package/umd/dnb-ui-components.min.js +1 -1
  898. package/umd/dnb-ui-elements.min.js +1 -1
  899. package/umd/dnb-ui-extensions.min.js +1 -1
  900. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","names":["_react","_interopRequireWildcard","require","_jsonPointer","_interopRequireDefault","_utils","_helpers","_Provider","_useUpdateEffect","_isAsync","_useSharedState","_Context","_useTranslation","_Context2","_structuredClone","_excluded","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","useLayoutEffect","window","React","useEffect","isArrayJsonPointer","Provider","props","_sharedAttachments$da","forceUpdate","useReducer","id","globalStatusId","defaultData","emptyData","data","schema","onChange","onPathChange","onSubmit","onSubmitRequest","onSubmitComplete","onCommit","onClear","scrollTopOnSubmit","minimumAsyncBehaviorTime","asyncSubmitTimeout","sessionStorageId","ajvInstance","transformIn","transformOut","filterSubmitData","countryCode","locale","translations","required","errorMessages","isolate","children","rest","undefined","Error","hasContext","useContext","DataContext","formElementRef","useRef","sharedLocale","SharedContext","translation","useTranslation","Field","ajvRef","makeAjvInstance","mountedFieldsRef","snapshotsRef","Map","existingFieldsRef","hasVisibleErrorRef","errorsRef","addSetShowAllErrorsRef","showAllErrorsRef","setShowAllErrors","useCallback","showAllErrors","current","Date","now","fn","revealError","path","hasError","submitStateRef","setSubmitState","state","formStateRef","keepPending","setFormState","formState","options","fieldErrorRef","fieldStateRef","initialData","useMemo","_window$sessionStorag","sessionDataJSON","sessionStorage","getItem","JSON","parse","internalDataRef","isEmptyDataRef","ajvValidatorRef","executeAjvValidator","_ajvValidatorRef$curr","ajvErrorsToFormErrors","errors","validateData","checkFieldStateFor","_errorsRef$current","Boolean","hasFieldState","item","isMounted","hasFieldError","p","hasErrors","setFieldError","error","setFieldState","fieldState","getDataPathHandlerParameters","_fieldInternalsRef$cu","pointer","displayValue","fieldDisplayValueRef","fieldInternalsRef","label","internal","mutateDataHandler","handler","remove","mutate","fireHandlerWhen","freshData","mutateEntry","result","structuredClone","exists","type","runFilter","_ref","condition","wildcardPaths","entries","_ref2","includes","parts","split","traverse","subData","subPath","idx","list","Array","isArray","_","visibleDataHandler","keepPaths","removePaths","visibleData","isVisible","isPreMounted","wasStepChange","filterDataHandler","filterData","fieldConnectionsRef","setFieldConnection","connections","setFieldInternals","assign","valueInternalsRef","setValueInternals","hasFieldWithAsyncValidator","_mountedFieldsRef$cur","_fieldInternalsRef$cu2","isAsync","onChangeValidator","onBlurValidator","sharedData","useSharedState","sharedAttachments","createReferenceKey","sharedDataContext","setSharedData","extendSharedData","extend","extendAttachment","rerenderUseDataHook","cacheRef","shared","hasUsedInitialData","internalData","update","clearedData","clearData","_ref3","_requestAnimationFram","requestAnimationFrame","storeInSession","debounce","_window$sessionStorag2","setItem","stringify","process","env","NODE_ENV","setData","newData","preventUpdate","preventSyncOfSameInstance","updateDataValue","_internalDataRef$curr","givenData","match","handlePathChangeUnvalidated","itm","fieldEventListenersRef","callback","handlePathChange","transformedData","cb","changeHandlerStackRef","addOnChangeHandler","some","setMountedFieldState","scrollToTop","_window","_window$scrollTo","scrollTo","top","behavior","handleSubmitCall","args","enableAsyncBehavior","skipFieldValidation","skipErrorCheck","customStatus","asyncBehaviorIsEnabled","_mountedFieldsRef$cur2","_result2","_result4","_result5","_result6","_result7","submitResult","_result","_result3","warning","info","onSubmitContinueRef","getErrors","map","_ref4","handleSubmitListenersRef","setHandleSubmit","listeners","handleSubmitListeners","stop","preventSubmit","getSubmitData","mutatedData","filteredData","getSubmitParams","reduceToVisibleFields","transformData","_ref5","formElement","params","resetForm","_formElement$reset","reset","removeItem","handleSubmit","completeResult","setFieldEventListener","_ref6","c","_onSubmitContinueRef$","_ajvRef$current","compile","useUpdateEffect","_ajvRef$current2","onTimeout","bufferedFormState","useFormStatusBuffer","waitFor","submitState","disabled","contextErrorMessages","getSourceValue","startsWith","contextValue","hasVisibleError","createElement","FormStatus","globalStatus","title","errorSummaryTitle","show","stateRef","nowRef","timeoutRef","setState","clear","key","clearTimeout","hadCompleteRef","activeElementRef","isTest","minimum","setTimeout","document","activeElement","offset","Math","max","delay","complete","_activeElementRef$cur","_activeElementRef$cur2","focus","timeout","exports","freeze"],"sources":["../../../../../../src/extensions/forms/DataContext/Provider/Provider.tsx"],"sourcesContent":["import React, {\n useRef,\n useMemo,\n useCallback,\n useReducer,\n useEffect,\n useContext,\n} from 'react'\nimport pointer, { JsonObject } from '../../utils/json-pointer'\nimport { ValidateFunction } from 'ajv/dist/2020'\nimport {\n Ajv,\n makeAjvInstance,\n ajvErrorsToFormErrors,\n FormError,\n} from '../../utils'\nimport {\n GlobalErrorMessagesWithPaths,\n AllJSONSchemaVersions,\n SubmitState,\n Path,\n EventStateObject,\n OnSubmit,\n OnChange,\n EventReturnWithStateObject,\n ValueProps,\n OnSubmitParams,\n OnSubmitReturn,\n OnSubmitRequest,\n CountryCode,\n PathStrict,\n} from '../../types'\nimport type { IsolationProviderProps } from '../../Form/Isolation/Isolation'\nimport { debounce } from '../../../../shared/helpers'\nimport FieldPropsProvider from '../../Field/Provider'\nimport useUpdateEffect from '../../../../shared/helpers/useUpdateEffect'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport {\n SharedStateId,\n createReferenceKey,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport SharedContext, { ContextProps } from '../../../../shared/Context'\nimport useTranslation from '../../hooks/useTranslation'\nimport DataContext, {\n ContextState,\n EventListenerCall,\n FieldInternalsRef,\n ValueInternalsRef,\n FilterData,\n FilterDataHandler,\n HandleSubmitCallback,\n MountState,\n TransformData,\n VisibleDataHandler,\n FieldInternalsRefProps,\n DataPathHandlerParameters,\n} from '../Context'\n\n/**\n * Deprecated, as it is supported by all major browsers and Node.js >=v18\n * So its a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type SharedAttachments<Data = unknown> = {\n visibleDataHandler?: VisibleDataHandler<Data>\n filterDataHandler?: FilterDataHandler<Data>\n hasErrors?: ContextState['hasErrors']\n hasFieldError?: ContextState['hasFieldError']\n setShowAllErrors?: ContextState['setShowAllErrors']\n setSubmitState?: ContextState['setSubmitState']\n rerenderUseDataHook?: () => void\n updateDataValue?: ContextState['updateDataValue']\n clearData?: () => void\n setData?: ContextState['setData']\n fieldConnectionsRef?: ContextState['fieldConnectionsRef']\n internalDataRef?: ContextState['internalDataRef']\n}\n\nexport type Props<Data extends JsonObject> =\n IsolationProviderProps<Data> & {\n /**\n * Unique ID to communicate with the hook Form.useData\n */\n id?: SharedStateId\n /**\n * Unique ID to connect with a GlobalStatus\n */\n globalStatusId?: string\n /**\n * Source data, will be used instead of defaultData, and leading to updates if changed after mount\n */\n data?: Data\n /**\n * Default source data, only used if no other source is available, and not leading to updates if changed after mount\n */\n defaultData?: Data\n /**\n * Empty data, used to clear the data set.\n */\n emptyData?: unknown\n /**\n * JSON Schema to validate the data against.\n */\n schema?: AllJSONSchemaVersions<Data>\n /**\n * Custom Ajv instance, if you want to use your own\n */\n ajvInstance?: Ajv\n /**\n * Custom error messages for the whole data set\n */\n errorMessages?: GlobalErrorMessagesWithPaths\n /**\n * @deprecated Use the `filterData` in the second event parameter in the `onSubmit` or `onChange` events.\n */\n filterSubmitData?: FilterData\n /**\n * Transform the data context (internally as well) based on your criteria: `({ path, value, data, props, internal }) => 'new value'`. It will iterate on each data entry (/path).\n */\n transformIn?: TransformData\n /**\n * Mutate the data before it enters onSubmit or onChange based on your criteria: `({ path, value, data, props, internal }) => 'new value'`. It will iterate on each data entry (/path).\n */\n transformOut?: TransformData\n /**\n * Change handler for the whole data set.\n * You can provide an async function to show an indicator on the current label during a field change.\n */\n onChange?: OnChange<Data>\n /**\n * Change handler for each value\n */\n onPathChange?: (\n path: Path,\n value: unknown\n ) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n /**\n * Will emit on a form submit – if validation has passed.\n * You can provide an async function to shows a submit indicator during submit. All form elements will be disabled during the submit.\n */\n onSubmit?: OnSubmit<Data>\n /**\n * Submit was requested, but data was invalid\n */\n onSubmitRequest?: OnSubmitRequest\n /**\n * Will be called when the onSubmit is finished and had not errors\n */\n onSubmitComplete?: (\n data: Data,\n /**\n * The result of the onSubmit function\n */\n result: unknown\n ) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n /**\n * Minimum time to display the submit indicator.\n */\n minimumAsyncBehaviorTime?: number\n /**\n * The maximum time to display the submit indicator before it changes back to normal. In case something went wrong during submission.\n */\n asyncSubmitTimeout?: number\n /**\n * Scroll to top on submit\n */\n scrollTopOnSubmit?: boolean\n /**\n * Key for caching the data in session storage\n */\n sessionStorageId?: string\n /**\n * Will change the country code for fields supporting `countryCode`.\n * You can also set a path as the value, e.g. `/myCountryCodePath`.\n */\n countryCode?: ContextState['countryCode']\n /**\n * Locale to use for all nested Eufemia components\n */\n locale?: ContextProps['locale']\n /**\n * Provide your own translations. Use the same format as defined in the translation files\n */\n translations?: ContextProps['translations']\n /**\n * Make all fields required\n */\n required?: boolean\n /**\n * The children of the context provider\n */\n children: React.ReactNode\n }\n\nconst isArrayJsonPointer = /^\\/\\d+(\\/|$)/\n\nexport default function Provider<Data extends JsonObject>(\n props: Props<Data>\n) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const {\n id,\n globalStatusId = 'main',\n defaultData,\n emptyData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n onSubmitComplete,\n onCommit,\n onClear,\n scrollTopOnSubmit,\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n sessionStorageId,\n ajvInstance,\n transformIn,\n transformOut,\n filterSubmitData,\n countryCode,\n locale,\n translations,\n required,\n errorMessages,\n isolate,\n children,\n ...rest\n } = props\n\n // Prop error handling\n if (data !== undefined && sessionStorageId !== undefined) {\n throw new Error(\n 'Use \"defaultData\" instead of \"data\" when using sessionStorageId'\n )\n }\n\n const { hasContext } = useContext(DataContext) || {}\n\n if (hasContext && !isolate) {\n throw new Error('DataContext (Form.Handler) cannot be nested')\n }\n\n // - Element\n const formElementRef = useRef<HTMLFormElement>(null)\n\n // - Locale\n const { locale: sharedLocale } = useContext(SharedContext) || {}\n const translation = useTranslation().Field\n\n // - Ajv\n const ajvRef = useRef<Ajv>(makeAjvInstance(ajvInstance))\n\n // - Paths\n const mountedFieldsRef: ContextState['mountedFieldsRef'] = useRef({})\n\n // - Snapshots\n const snapshotsRef: ContextState['snapshotsRef'] = useRef(new Map())\n const existingFieldsRef: ContextState['existingFieldsRef'] = useRef(\n new Map()\n )\n\n // - Errors from provider validation (the whole data set)\n const hasVisibleErrorRef = useRef<Record<Path, boolean>>({})\n const errorsRef = useRef<Record<Path, FormError> | undefined>()\n const addSetShowAllErrorsRef = useRef<\n Array<(showAllErrors: boolean) => void>\n >([])\n const showAllErrorsRef = useRef<number | boolean>(false)\n const setShowAllErrors = useCallback((showAllErrors: boolean) => {\n showAllErrorsRef.current = showAllErrors ? Date.now() : showAllErrors\n forceUpdate()\n addSetShowAllErrorsRef.current.forEach((fn) => fn?.(showAllErrors))\n }, [])\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() // Will rerender the whole form initially\n }, [])\n const submitStateRef = useRef<Partial<EventStateObject>>({})\n const setSubmitState = useCallback((state: EventStateObject) => {\n submitStateRef.current = { ...submitStateRef.current, ...state }\n forceUpdate()\n }, [])\n\n // - Progress\n const formStateRef = useRef<SubmitState>()\n const keepPending = useRef(false)\n const setFormState = useCallback<ContextState['setFormState']>(\n (formState: SubmitState, options = {}) => {\n if (typeof options?.keepPending === 'boolean') {\n keepPending.current = options?.keepPending\n }\n formStateRef.current = formState\n forceUpdate()\n },\n []\n )\n\n // - States (e.g. error) reported by fields, based on their direct validation rules\n const fieldErrorRef = useRef<Record<Path, Error>>({})\n const fieldStateRef = useRef<Record<Path, SubmitState>>({})\n\n // - Data\n const initialData = useMemo<Data>(() => {\n if (sessionStorageId && typeof window !== 'undefined') {\n const sessionDataJSON =\n window.sessionStorage?.getItem(sessionStorageId)\n if (sessionDataJSON) {\n return JSON.parse(sessionDataJSON)\n }\n }\n\n return data ?? defaultData\n // eslint-disable-next-line react-hooks/exhaustive-deps -- Avoid triggering code that should only run initially\n }, [])\n const internalDataRef = useRef<Data>(initialData)\n const isEmptyDataRef = useRef(false)\n\n // - Validator\n const ajvValidatorRef = useRef<ValidateFunction>()\n const executeAjvValidator = useCallback(() => {\n if (!ajvValidatorRef.current) {\n // No schema-based validator. Assume data is valid.\n return\n }\n\n if (!ajvValidatorRef.current?.(internalDataRef.current)) {\n // Errors found\n errorsRef.current = ajvErrorsToFormErrors(\n ajvValidatorRef.current.errors,\n internalDataRef.current\n )\n } else {\n errorsRef.current = undefined\n }\n }, [])\n const validateData = useCallback(() => {\n if (!ajvValidatorRef.current) {\n // No schema-based validator. Assume data is valid.\n return\n }\n\n executeAjvValidator()\n forceUpdate()\n }, [executeAjvValidator])\n\n // - Error handling\n const checkFieldStateFor = useCallback(\n (path: Path, state: SubmitState) => {\n return Boolean(\n state === 'error'\n ? errorsRef.current?.[path] instanceof Error ||\n fieldErrorRef.current[path] instanceof Error\n : fieldStateRef.current[path] === state\n )\n },\n []\n )\n const hasFieldState = useCallback(\n (state: SubmitState) => {\n for (const path in mountedFieldsRef.current) {\n const item = mountedFieldsRef.current[path]\n if (item.isMounted && checkFieldStateFor(path, state)) {\n return true\n }\n }\n\n return false\n },\n [checkFieldStateFor]\n )\n const hasFieldError = useCallback(\n (path: Path) => {\n for (const p in mountedFieldsRef.current) {\n const item = mountedFieldsRef.current[path]\n if (\n item.isMounted &&\n p === path &&\n checkFieldStateFor(path, 'error')\n ) {\n return true\n }\n }\n\n return false\n },\n [checkFieldStateFor]\n )\n const hasErrors = useCallback(() => {\n return hasFieldState('error')\n }, [hasFieldState])\n\n /**\n * Sets the error state for a specific path\n */\n const setFieldError: ContextState['setFieldError'] = useCallback(\n (path, error) => {\n fieldErrorRef.current[path] = error\n },\n []\n )\n\n /**\n * Sets the field state for a specific path\n */\n const setFieldState: ContextState['setFieldState'] = useCallback(\n (path, fieldState) => {\n if (fieldState !== fieldStateRef.current[path]) {\n // The state for the target value was changed\n fieldStateRef.current[path] = fieldState\n forceUpdate()\n }\n },\n []\n )\n\n const getDataPathHandlerParameters = useCallback(\n (\n path: Path,\n data: Data = internalDataRef.current\n ): DataPathHandlerParameters => {\n const value = pointer.has(data, path)\n ? pointer.get(data, path)\n : undefined\n const { value: displayValue } =\n fieldDisplayValueRef.current[path] || {}\n const props = fieldInternalsRef.current[path]?.props\n const label = props?.label\n const error = fieldErrorRef.current[path]\n\n return {\n path,\n value,\n displayValue,\n label,\n props,\n data: internalDataRef.current, // always use the internal data\n error,\n\n /** @deprecated – can be removed in v11 */\n internal: { error },\n }\n },\n []\n )\n\n /**\n * Mutate the data set based on the filterData function\n */\n const mutateDataHandler = useCallback(\n (\n data: Data,\n handler: TransformData | FilterData,\n { remove = false, mutate = true, fireHandlerWhen = null } = {}\n ) => {\n const freshData = {} as Data\n const mutateEntry = (path: Path, result: boolean | unknown) => {\n if (remove) {\n if (result === false) {\n data = structuredClone(data)\n pointer.remove(data, path)\n }\n } else {\n if (typeof result !== 'undefined') {\n if (mutate) {\n data = structuredClone(data)\n pointer.set(data, path, result)\n } else {\n pointer.set(freshData, path, result)\n }\n }\n }\n }\n\n if (typeof handler === 'function') {\n Object.keys(fieldInternalsRef.current).forEach((path) => {\n const exists = pointer.has(data, path)\n if (exists) {\n const { type } = fieldDisplayValueRef.current[path] || {}\n if (fireHandlerWhen?.({ type }) !== false) {\n const result = handler(\n getDataPathHandlerParameters(path, data)\n )\n mutateEntry(path, result)\n }\n }\n })\n\n if (!mutate) {\n return freshData\n }\n\n return data\n } else if (handler) {\n const runFilter = ({ path, condition }) => {\n const exists = pointer.has(data, path)\n if (exists) {\n const result =\n typeof condition === 'function'\n ? condition(getDataPathHandlerParameters(path, data))\n : condition\n mutateEntry(path, result)\n }\n }\n\n const wildcardPaths = []\n\n Object.entries(handler).forEach(([path, condition]) => {\n if (path.includes('*')) {\n const parts = path.split(/\\/\\*/g)\n const exists = pointer.has(data, parts[0])\n if (exists) {\n const traverse = (\n subData: unknown,\n subPath: string,\n idx: number\n ) => {\n if (idx === parts.length - 1) {\n wildcardPaths.push({ path: subPath, condition })\n return\n }\n const list = pointer.get(subData, subPath)\n if (Array.isArray(list)) {\n list.forEach((_, i) => {\n traverse(\n list[i],\n `${subPath}/${i}${parts[idx + 1]}`,\n idx + 1\n )\n })\n }\n }\n traverse(data, parts[0], 0)\n }\n } else {\n runFilter({ path, condition })\n }\n })\n\n wildcardPaths.forEach(runFilter)\n\n return data\n }\n\n return data\n },\n [getDataPathHandlerParameters]\n )\n\n /**\n * Ensure only visible data is returned\n */\n const visibleDataHandler: VisibleDataHandler<Data> = useCallback(\n (data = internalDataRef.current, { keepPaths, removePaths } = {}) => {\n const visibleData = {} as Partial<Data>\n\n for (const path in mountedFieldsRef.current) {\n const item = mountedFieldsRef.current[path]\n if (\n item &&\n item.isVisible !== false &&\n (item.isPreMounted !== false || item.wasStepChange === true) &&\n (removePaths ? !removePaths.includes(path) : true) &&\n pointer.has(data, path)\n ) {\n pointer.set(visibleData, path, pointer.get(data, path))\n }\n }\n\n if (keepPaths) {\n keepPaths.forEach((path) => {\n if (pointer.has(data, path)) {\n pointer.set(visibleData, path, pointer.get(data, path))\n }\n })\n }\n\n return visibleData\n },\n []\n )\n\n /**\n * Filter the data set based on the filterData function\n */\n const filterDataHandler = useCallback(\n (data: Data, filter: FilterData) => {\n if (filter) {\n return mutateDataHandler(data, filter, { remove: true })\n }\n\n return data\n },\n [mutateDataHandler]\n )\n\n const filterData = useCallback(\n (filter: FilterData, data = internalDataRef.current) => {\n return filterDataHandler(data, filter)\n },\n [filterDataHandler]\n )\n\n const fieldDisplayValueRef: ContextState['fieldDisplayValueRef'] =\n useRef({})\n\n const fieldConnectionsRef = useRef<\n Record<Path, Record<string, unknown>>\n >({})\n const setFieldConnection = useCallback(\n (path: Path, connections: Record<string, unknown>) => {\n fieldConnectionsRef.current[path] = connections\n },\n []\n )\n\n const fieldInternalsRef = useRef<FieldInternalsRef>({})\n const setFieldInternals = useCallback(\n (path: Path, props: FieldInternalsRefProps, id: string) => {\n fieldInternalsRef.current[path] = Object.assign(\n fieldInternalsRef.current[path] || {},\n { props, id }\n )\n },\n []\n )\n\n const valueInternalsRef = useRef<ValueInternalsRef>({})\n const setValueInternals = useCallback(\n (path: Path, props: ValueProps) => {\n valueInternalsRef.current[path] = Object.assign(\n valueInternalsRef.current[path] || {},\n { props }\n )\n },\n []\n )\n\n const hasFieldWithAsyncValidator = useCallback(() => {\n for (const path in fieldInternalsRef.current) {\n if (mountedFieldsRef.current[path]?.isMounted) {\n const props = fieldInternalsRef.current[path]?.props\n if (\n isAsync(props?.onChangeValidator) ||\n isAsync(props?.onBlurValidator)\n ) {\n return true\n }\n }\n }\n\n return false\n }, [])\n\n // - Shared state\n const sharedData = useSharedState<Data>(id)\n const sharedAttachments = useSharedState<SharedAttachments<Data>>(\n createReferenceKey(id, 'attachments')\n )\n const sharedDataContext = useSharedState<ContextState>(\n createReferenceKey(id, 'data-context')\n )\n\n const setSharedData = sharedData.set\n const extendSharedData = sharedData.extend\n const extendAttachment = sharedAttachments.extend\n const rerenderUseDataHook = sharedAttachments.data?.rerenderUseDataHook\n\n const cacheRef = useRef({\n data,\n schema,\n shared: sharedData.data,\n hasUsedInitialData: false,\n })\n\n const internalData = useMemo(() => {\n // NB: \"sharedData.data\" is only available on a rerender.\n // Update the shared state, if initialData is given and no shared state is available.\n // We do almost the same later in a useLayoutEffect, but we need to do it here as well, so we set the data as early as possible.\n if (id && initialData && !sharedData.data) {\n sharedData.update(initialData)\n }\n\n // Merge both internal data and the shared state, if it both where given\n if (\n id &&\n initialData &&\n sharedData.data &&\n cacheRef.current.shared === sharedData.data &&\n internalDataRef.current === initialData &&\n typeof internalDataRef.current === 'object'\n ) {\n return {\n ...internalDataRef.current,\n ...(sharedData.data || {}),\n }\n }\n\n // Use shared state if no initial and initial data, and the shared state exists\n if (\n id &&\n !initialData &&\n !internalDataRef.current &&\n sharedData.data &&\n cacheRef.current.shared === sharedData.data\n ) {\n return sharedData.data\n }\n\n // Merge the internal data with the shared state, if the shared was updated and not the same as internal data\n if (\n id &&\n sharedData.data &&\n cacheRef.current.shared !== sharedData.data &&\n sharedData.data !== internalDataRef.current &&\n typeof internalDataRef.current === 'object'\n ) {\n cacheRef.current.shared = sharedData.data\n\n if (isEmptyDataRef.current) {\n return (\n Array.isArray(internalDataRef.current) ? [] : clearedData\n ) as Data\n }\n\n return {\n ...internalDataRef.current,\n ...(sharedData.data || {}),\n }\n }\n\n // When external data has changed, update the internal data\n if (data !== cacheRef.current.data) {\n cacheRef.current.data = data\n return data\n }\n\n return internalDataRef.current\n }, [id, initialData, sharedData, data])\n\n internalDataRef.current =\n props.path && pointer.has(internalData, props.path)\n ? pointer.get(internalData, props.path)\n : internalData\n\n const clearData = useCallback(() => {\n isEmptyDataRef.current = true\n internalDataRef.current = ((typeof emptyData === 'function'\n ? emptyData(internalDataRef.current)\n : emptyData) ??\n (Array.isArray(internalDataRef.current) ? [] : clearedData)) as Data\n\n if (id) {\n setSharedData(internalDataRef.current)\n }\n\n forceUpdate()\n onClear?.()\n\n requestAnimationFrame?.(() => {\n isEmptyDataRef.current = false\n }) // Delay so the field validation error message are not shown\n }, [emptyData, id, onClear, setSharedData])\n\n useMemo(() => {\n executeAjvValidator()\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [internalDataRef.current]) // run validation when internal data has changed\n\n const storeInSession = useMemo(() => {\n return debounce(\n () => {\n window.sessionStorage?.setItem(\n sessionStorageId,\n JSON.stringify(internalDataRef.current)\n )\n },\n process.env.NODE_ENV === 'test' ? 1 : 800\n )\n }, [sessionStorageId])\n\n const setData = useCallback(\n (newData: Data, preventUpdate = false) => {\n // - Mutate the data context\n if (transformIn) {\n newData = mutateDataHandler(newData, transformIn)\n }\n\n internalDataRef.current = newData\n\n if (id) {\n // Will ensure that Form.getData() gets the correct data\n extendSharedData(newData, { preventSyncOfSameInstance: true })\n if (filterSubmitData) {\n rerenderUseDataHook?.()\n }\n }\n\n if (sessionStorageId && typeof window !== 'undefined') {\n storeInSession()\n }\n\n if (!preventUpdate) {\n forceUpdate() // Will rerender the whole form initially\n }\n },\n [\n extendSharedData,\n filterSubmitData,\n id,\n mutateDataHandler,\n rerenderUseDataHook,\n sessionStorageId,\n storeInSession,\n transformIn,\n ]\n )\n\n /**\n * Update the data set\n */\n const updateDataValue: ContextState['updateDataValue'] = useCallback(\n (path, value, { preventUpdate } = {}) => {\n if (!path) {\n return\n }\n\n const givenData = (\n path === '/'\n ? // When setting the root of the data, the whole data set should be the new value\n value\n : // For sub paths, use the existing data set (or empty array/object), but modify it below (since pointer.set is not immutable)\n internalDataRef.current ??\n (path.match(isArrayJsonPointer) ? [] : {})\n ) as Data\n\n let newData: Data = null\n try {\n // Update the data even if it contains errors. Submit/SubmitRequest will be called accordingly\n newData = structuredClone(givenData)\n } catch (e) {\n newData = givenData\n }\n\n if (path !== '/') {\n pointer.set(newData, path, value)\n }\n\n setData(newData, preventUpdate)\n },\n [setData]\n )\n\n /**\n * Update the data set on user interaction (unvalidated)\n */\n const handlePathChangeUnvalidated: ContextState['handlePathChange'] =\n useCallback(\n async (path, value) => {\n if (!path) {\n return null\n }\n\n updateDataValue(path, value)\n\n if (isAsync(onPathChange)) {\n await onPathChange?.(path, value)\n } else {\n onPathChange?.(path, value)\n }\n\n for (const itm of fieldEventListenersRef.current) {\n if (itm.type === 'onPathChange' && itm.path === path) {\n const { callback } = itm\n if (isAsync(callback)) {\n await callback({ value })\n } else {\n callback({ value })\n }\n }\n }\n },\n [onPathChange, updateDataValue]\n )\n\n /**\n * Update the data set on user interaction\n */\n const handlePathChange: ContextState['handlePathChange'] = useCallback(\n async (path, value = '_undefined_') => {\n if (!path) {\n return null\n }\n\n if (value !== '_undefined_') {\n handlePathChangeUnvalidated(path, value)\n }\n\n showAllErrorsRef.current = false\n\n validateData()\n\n const data = internalDataRef.current as Data\n const options = { filterData }\n const transformedData = transformOut\n ? mutateDataHandler(data, transformOut)\n : data\n\n for (const cb of changeHandlerStackRef.current) {\n if (isAsync(onChange)) {\n await cb(transformedData, options)\n } else {\n cb(transformedData, options)\n }\n }\n\n if (isAsync(onChange)) {\n return await onChange(transformedData, options)\n }\n\n return onChange?.(transformedData, options)\n },\n [\n filterData,\n handlePathChangeUnvalidated,\n mutateDataHandler,\n onChange,\n transformOut,\n validateData,\n ]\n )\n\n const changeHandlerStackRef = useRef<Array<OnChange<Data>>>([])\n const addOnChangeHandler = useCallback((callback: OnChange<Data>) => {\n const exists = changeHandlerStackRef.current.some((cb) => {\n return callback === cb\n })\n if (!exists) {\n changeHandlerStackRef.current.push(callback)\n }\n }, [])\n\n // - Mounted fields\n const setMountedFieldState = useCallback(\n (path: Path, state: MountState) => {\n if (!mountedFieldsRef.current[path]) {\n mountedFieldsRef.current[path] = { ...state }\n } else {\n Object.assign(mountedFieldsRef.current[path], state)\n }\n\n for (const itm of fieldEventListenersRef.current) {\n if (itm.type === 'onMount' && itm.path === path) {\n const { callback } = itm\n callback()\n }\n }\n },\n []\n )\n\n // - Features\n const scrollToTop = useCallback(() => {\n if (typeof window !== 'undefined') {\n window?.scrollTo?.({ top: 0, behavior: 'smooth' })\n }\n }, [])\n\n /**\n * Shared logic dedicated to submit the whole form\n */\n const handleSubmitCall = useCallback<ContextState['handleSubmitCall']>(\n async (args) => {\n const {\n onSubmit,\n enableAsyncBehavior,\n skipFieldValidation,\n skipErrorCheck,\n } = args\n\n setSubmitState({ error: undefined, customStatus: undefined })\n\n const asyncBehaviorIsEnabled =\n (skipErrorCheck\n ? true\n : // Don't enable async behavior if we have errors, but when we have a pending state\n !hasErrors() || hasFieldState('pending')) &&\n (enableAsyncBehavior || hasFieldWithAsyncValidator())\n\n if (asyncBehaviorIsEnabled) {\n setFormState('pending')\n }\n\n // Just call the submit listeners \"once\", and not on the retry/recall\n if (!skipFieldValidation) {\n for (const item of fieldEventListenersRef.current) {\n const { path, type, callback } = item\n if (\n type === 'onSubmit' &&\n mountedFieldsRef.current[path]?.isMounted\n ) {\n // Call all submit listener callbacks (e.g. to validate fields)\n if (asyncBehaviorIsEnabled) {\n await callback()\n } else {\n callback()\n }\n }\n }\n }\n\n let result: EventStateObject\n\n if (\n !(skipErrorCheck ? false : hasErrors()) &&\n !hasFieldState('pending') &&\n (skipFieldValidation ? true : !hasFieldState('error'))\n ) {\n let submitResult: OnSubmitReturn\n try {\n if (isolate) {\n submitResult = await onCommit?.(internalDataRef.current, {\n clearData,\n })\n } else {\n submitResult = await onSubmit()\n }\n\n if (submitResult instanceof Error) {\n throw submitResult\n }\n } catch (error) {\n submitResult = { error }\n }\n\n result = submitResult as EventStateObject\n\n if (asyncBehaviorIsEnabled) {\n if (result?.error) {\n setFormState('abort')\n } else if (keepPending.current !== true) {\n setFormState('complete')\n }\n }\n\n // Force the state to be set by a custom status\n if (result?.['status']) {\n setFormState(result?.['status'])\n }\n\n if (\n result?.error ||\n result?.warning ||\n result?.info ||\n result?.customStatus\n ) {\n setSubmitState(result)\n }\n } else {\n if (asyncBehaviorIsEnabled) {\n window.requestAnimationFrame(() => {\n setFormState(undefined)\n })\n\n if (!skipFieldValidation) {\n // Add a event listener to continue the submit after the pending state is resolved\n onSubmitContinueRef.current = () => {\n window.requestAnimationFrame(() => {\n // Do not call the validators again,\n // because we already did it in the first call\n // If they are async, we wait for them to finish anyway\n handleSubmitCall({ ...args, skipFieldValidation: true })\n })\n }\n }\n }\n\n setShowAllErrors(true)\n\n onSubmitRequest?.({\n getErrors: () =>\n Object.keys(fieldErrorRef.current)\n .map((path) => {\n return getDataPathHandlerParameters(path)\n })\n .filter(({ error }) => error),\n })\n }\n\n return result\n },\n [\n clearData,\n getDataPathHandlerParameters,\n hasErrors,\n hasFieldState,\n hasFieldWithAsyncValidator,\n isolate,\n onCommit,\n onSubmitRequest,\n setFormState,\n setShowAllErrors,\n setSubmitState,\n ]\n )\n\n const handleSubmitListenersRef = useRef<Array<HandleSubmitCallback>>([])\n const setHandleSubmit: ContextState['setHandleSubmit'] = useCallback(\n (callback, { remove = false } = {}) => {\n const listeners = handleSubmitListenersRef.current\n if (remove) {\n handleSubmitListenersRef.current = listeners.filter(\n (item) => item !== callback\n )\n } else if (!listeners.includes(callback)) {\n listeners.push(callback)\n }\n },\n []\n )\n const handleSubmitListeners = useCallback(() => {\n let stop = false\n const preventSubmit = () => (stop = true)\n handleSubmitListenersRef.current.forEach((cb) => {\n cb({ preventSubmit })\n })\n return stop\n }, [])\n\n const getSubmitData = useCallback(() => {\n // - Mutate the data context\n const data = internalDataRef.current\n const mutatedData = transformOut\n ? mutateDataHandler(data, transformOut)\n : data\n\n // @deprecated – can be removed in v11 (use only mutatedData instead)\n const filteredData = filterSubmitData\n ? filterDataHandler(mutatedData, filterSubmitData)\n : mutatedData\n\n return filteredData\n }, [\n filterDataHandler,\n filterSubmitData,\n mutateDataHandler,\n transformOut,\n ])\n\n const getSubmitParams = useCallback(() => {\n const reduceToVisibleFields: VisibleDataHandler<Data> = (\n data,\n options\n ) => {\n return visibleDataHandler(\n transformOut ? mutateDataHandler(data, transformOut) : data,\n options\n )\n }\n\n const transformData = (data: Data, handler: TransformData) => {\n return mutateDataHandler(data, handler, {\n mutate: false,\n fireHandlerWhen: ({ type }) => type === 'field',\n })\n }\n\n const formElement = formElementRef.current\n const params: OnSubmitParams<Data> = {\n filterData,\n reduceToVisibleFields,\n transformData,\n resetForm: () => {\n formElement?.reset?.()\n\n if (typeof window !== 'undefined') {\n if (sessionStorageId) {\n window.sessionStorage.removeItem(sessionStorageId)\n }\n }\n\n forceUpdate() // in order to fill \"empty fields\" again with their internal states\n },\n clearData,\n }\n\n return params\n }, [\n clearData,\n filterData,\n mutateDataHandler,\n sessionStorageId,\n transformOut,\n visibleDataHandler,\n ])\n\n /**\n * Request to submit the whole form\n */\n const handleSubmit = useCallback<\n ContextState['handleSubmit']\n >(async () => {\n return await handleSubmitCall({\n enableAsyncBehavior: isAsync(onSubmit),\n onSubmit: async () => {\n if (handleSubmitListeners()) {\n return // stop here\n }\n\n const data = getSubmitData()\n const options = getSubmitParams()\n let result = undefined\n\n if (isAsync(onSubmit)) {\n result = await onSubmit(data, options)\n } else {\n result = onSubmit?.(data, options)\n }\n\n const completeResult = await onSubmitComplete?.(data, result)\n if (completeResult) {\n result =\n Object.keys(result).length > 0\n ? { ...result, ...completeResult }\n : completeResult\n }\n\n if (scrollTopOnSubmit) {\n scrollToTop()\n }\n\n return result\n },\n })\n }, [\n getSubmitData,\n getSubmitParams,\n handleSubmitCall,\n handleSubmitListeners,\n onSubmit,\n onSubmitComplete,\n scrollToTop,\n scrollTopOnSubmit,\n ])\n\n // Collect listeners to be called during form submit\n const fieldEventListenersRef = useRef<Array<EventListenerCall>>([])\n const setFieldEventListener = useCallback(\n (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback']\n ) => {\n fieldEventListenersRef.current =\n fieldEventListenersRef.current.filter(\n ({ path: p, type: t, callback: c }) => {\n return !(p === path && t === type && c === callback)\n }\n )\n fieldEventListenersRef.current.push({ path, type, callback })\n },\n []\n )\n\n // Handle unresolved field states during async submit\n const onSubmitContinueRef = useRef<() => void>(null)\n if (!hasFieldState('pending')) {\n onSubmitContinueRef.current?.()\n onSubmitContinueRef.current = null\n }\n\n // - ajv validator routines\n useEffect(() => {\n if (schema) {\n ajvValidatorRef.current = ajvRef.current?.compile(schema)\n }\n\n // Validate the initial data\n validateData()\n }, [schema, validateData])\n useUpdateEffect(() => {\n if (schema && schema !== cacheRef.current.schema) {\n cacheRef.current.schema = schema\n ajvValidatorRef.current = ajvRef.current?.compile(schema)\n\n validateData()\n forceUpdate()\n }\n }, [schema, validateData, forceUpdate])\n\n const onTimeout = useCallback(() => {\n setFormState(undefined)\n setSubmitState({\n info: undefined,\n warning: undefined,\n error: undefined,\n customStatus: undefined,\n })\n }, [setFormState, setSubmitState])\n\n useLayoutEffect(() => {\n // Set the shared state, if initialData was given\n if (id) {\n if (initialData && !sharedData.data) {\n extendSharedData(initialData, { preventSyncOfSameInstance: true })\n }\n }\n }, [id, initialData, extendSharedData, sharedData.data])\n\n useLayoutEffect(() => {\n if (id) {\n extendAttachment(\n {\n visibleDataHandler,\n filterDataHandler,\n hasErrors,\n hasFieldError,\n setShowAllErrors,\n setSubmitState,\n clearData,\n setData,\n updateDataValue,\n fieldConnectionsRef,\n internalDataRef,\n },\n { preventSyncOfSameInstance: true }\n )\n if (filterSubmitData) {\n rerenderUseDataHook?.()\n }\n }\n }, [\n clearData,\n extendAttachment,\n filterDataHandler,\n filterSubmitData,\n hasErrors,\n hasFieldError,\n id,\n rerenderUseDataHook,\n setData,\n setShowAllErrors,\n setSubmitState,\n updateDataValue,\n visibleDataHandler,\n ])\n\n const { bufferedFormState: formState } = useFormStatusBuffer({\n formState: formStateRef.current,\n waitFor: hasFieldState('pending'),\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n onTimeout,\n })\n\n const submitState = submitStateRef.current\n const disabled =\n typeof rest?.['disabled'] === 'boolean'\n ? rest?.['disabled']\n : (formState === 'pending') === true\n ? true\n : undefined\n const contextErrorMessages =\n errorMessages?.[locale ?? sharedLocale] || errorMessages\n\n const getSourceValue = useCallback(\n <Return extends string>(value: PathStrict | unknown): Return => {\n const data = internalDataRef.current\n if (\n String(value).startsWith('/') &&\n pointer.has(data, String(value))\n ) {\n return pointer.get(data, String(value)) as unknown as Return\n }\n return value as Return\n },\n []\n )\n\n const contextValue: ContextState = {\n /** Method */\n handlePathChange,\n handlePathChangeUnvalidated,\n handleSubmit,\n setMountedFieldState,\n handleSubmitCall,\n setFormState,\n setSubmitState,\n setShowAllErrors,\n revealError,\n setFieldEventListener,\n setFieldState,\n setFieldError,\n setFieldConnection,\n setFieldInternals,\n setValueInternals,\n hasErrors,\n hasFieldError,\n hasFieldState,\n validateData,\n updateDataValue,\n setData,\n clearData,\n visibleDataHandler,\n filterDataHandler,\n getSubmitData,\n getSubmitParams,\n addOnChangeHandler,\n setHandleSubmit,\n scrollToTop,\n\n /** State handling */\n schema,\n disabled,\n required,\n formState,\n submitState,\n contextErrorMessages,\n hasContext: true,\n errors: errorsRef.current,\n showAllErrors: showAllErrorsRef.current,\n hasVisibleError: Object.keys(hasVisibleErrorRef.current).length > 0,\n addSetShowAllErrorsRef,\n fieldConnectionsRef,\n fieldDisplayValueRef,\n fieldInternalsRef,\n valueInternalsRef,\n mountedFieldsRef,\n snapshotsRef,\n existingFieldsRef,\n formElementRef,\n isEmptyDataRef,\n fieldErrorRef,\n ajvInstance: ajvRef.current,\n countryCode: countryCode\n ? getSourceValue<CountryCode>(countryCode)\n : undefined,\n\n /** Additional */\n id,\n data: internalDataRef.current,\n internalDataRef,\n props,\n ...rest,\n }\n\n if (id) {\n sharedDataContext.set(contextValue)\n }\n\n return (\n <DataContext.Provider value={contextValue}>\n <FieldPropsProvider\n FormStatus={\n globalStatusId\n ? {\n globalStatus: {\n id: globalStatusId,\n title: translation.errorSummaryTitle,\n show: Boolean(showAllErrorsRef.current),\n },\n }\n : undefined\n }\n formElement={disabled ? { disabled: true } : undefined}\n locale={locale ? locale : undefined}\n translations={translations ? translations : undefined}\n >\n {children}\n </FieldPropsProvider>\n </DataContext.Provider>\n )\n}\n\ntype FormStatusBufferProps = {\n minimumAsyncBehaviorTime?: Props<JsonObject>['minimumAsyncBehaviorTime']\n asyncSubmitTimeout?: Props<JsonObject>['asyncSubmitTimeout']\n formState: ContextState['formState']\n waitFor: boolean\n onTimeout: () => void\n}\n\nfunction useFormStatusBuffer(props: FormStatusBufferProps) {\n const {\n formState,\n waitFor,\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n onTimeout,\n } = props || {}\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const stateRef = useRef<SubmitState>()\n const nowRef = useRef<number | null>(null)\n const timeoutRef = useRef<{\n complete?: NodeJS.Timeout | null\n reset?: NodeJS.Timeout | null\n timeout?: NodeJS.Timeout | null\n }>({})\n\n const setState = useCallback(\n (state: SubmitState) => {\n stateRef.current = state\n forceUpdate()\n },\n [forceUpdate]\n )\n\n const clear = useCallback(() => {\n for (const key in timeoutRef.current) {\n clearTimeout(timeoutRef.current[key])\n }\n }, [])\n\n const hadCompleteRef = useRef(false)\n const activeElementRef = useRef<HTMLElement>(null)\n\n useEffect(() => {\n // This offset is used to calculate the delay,\n // which ensures that the form state is displayed for at least minimumAsyncBehaviorTime duration.\n // If the form was 'pending' for less than minimumAsyncBehaviorTime,\n // the delay will be the remaining time to reach minimumAsyncBehaviorTime.\n const isTest = process.env.NODE_ENV === 'test'\n const minimum =\n minimumAsyncBehaviorTime ??\n // make it testable\n (isTest ? 1 : 1000)\n\n if (stateRef.current && formState === 'error') {\n clear()\n setState(undefined)\n return\n }\n\n if (formState === 'abort') {\n clear()\n setState('abort')\n\n timeoutRef.current.reset = setTimeout(() => {\n nowRef.current = 0\n setState(undefined)\n }, minimum)\n return\n }\n\n if (formState === 'complete') {\n hadCompleteRef.current = true\n }\n\n if (formState === 'pending' && stateRef.current !== 'pending') {\n activeElementRef.current = document.activeElement as HTMLElement\n clear()\n nowRef.current = Date.now()\n hadCompleteRef.current = false\n setState('pending')\n } else if (stateRef.current === 'pending') {\n const offset = Math.max(Date.now() - nowRef.current)\n const delay = isTest ? minimum : Math.max(minimum - offset, 0)\n\n if (!waitFor) {\n timeoutRef.current.complete = setTimeout(() => {\n if (hadCompleteRef.current) {\n setState('complete')\n }\n window.requestAnimationFrame(() => {\n activeElementRef.current?.focus?.()\n })\n }, delay)\n\n timeoutRef.current.reset = setTimeout(() => {\n nowRef.current = 0\n setState(undefined)\n clear()\n }, delay + minimum)\n }\n }\n\n if (stateRef.current === 'pending') {\n timeoutRef.current.timeout = setTimeout(() => {\n clear()\n setState(undefined)\n onTimeout?.()\n }, asyncSubmitTimeout ?? 30000)\n }\n\n return clear\n }, [\n clear,\n minimumAsyncBehaviorTime,\n formState,\n setState,\n waitFor,\n asyncSubmitTimeout,\n onTimeout,\n ])\n\n return { bufferedFormState: stateRef.current }\n}\n\nexport const clearedData = Object.freeze({})\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Provider.js","names":["_react","_interopRequireWildcard","require","_jsonPointer","_interopRequireDefault","_utils","_helpers","_Provider","_useUpdateEffect","_isAsync","_useSharedState","_Context","_useTranslation","_Context2","_structuredClone","_excluded","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","useLayoutEffect","window","React","useEffect","isArrayJsonPointer","Provider","props","_sharedAttachments$da","forceUpdate","useReducer","id","globalStatusId","defaultData","emptyData","data","schema","onChange","onPathChange","onSubmit","onSubmitRequest","onSubmitComplete","onCommit","onClear","scrollTopOnSubmit","minimumAsyncBehaviorTime","asyncSubmitTimeout","sessionStorageId","ajvInstance","transformIn","transformOut","filterSubmitData","countryCode","locale","translations","required","errorMessages","isolate","children","rest","undefined","Error","hasContext","useContext","DataContext","formElementRef","useRef","sharedLocale","SharedContext","translation","useTranslation","Field","ajvRef","makeAjvInstance","mountedFieldsRef","Map","snapshotsRef","existingFieldsRef","hasVisibleErrorRef","errorsRef","addSetShowAllErrorsRef","showAllErrorsRef","setShowAllErrors","useCallback","showAllErrors","current","Date","now","fn","revealError","path","hasError","delete","submitStateRef","setSubmitState","state","formStateRef","keepPending","setFormState","formState","options","fieldErrorRef","fieldStateRef","initialData","useMemo","_window$sessionStorag","sessionDataJSON","sessionStorage","getItem","JSON","parse","internalDataRef","isEmptyDataRef","ajvValidatorRef","executeAjvValidator","_ajvValidatorRef$curr","ajvErrorsToFormErrors","errors","validateData","checkFieldStateFor","_errorsRef$current","Boolean","hasFieldState","Array","from","entries","some","_ref","item","isMounted","hasFieldError","_ref2","p","hasErrors","setFieldError","error","setFieldState","fieldState","getDataPathHandlerParameters","_fieldInternalsRef$cu","pointer","displayValue","fieldDisplayValueRef","fieldInternalsRef","label","internal","mutateDataHandler","handler","remove","mutate","fireHandlerWhen","freshData","mutateEntry","result","structuredClone","exists","type","runFilter","_ref3","condition","wildcardPaths","_ref4","includes","parts","split","traverse","subData","subPath","idx","list","isArray","_","visibleDataHandler","keepPaths","removePaths","visibleData","isVisible","isPreMounted","wasStepChange","filterDataHandler","filterData","fieldConnectionsRef","setFieldConnection","connections","setFieldInternals","assign","valueInternalsRef","setValueInternals","hasFieldWithAsyncValidator","_mountedFieldsRef$cur","_fieldInternalsRef$cu2","isAsync","onChangeValidator","onBlurValidator","sharedData","useSharedState","sharedAttachments","createReferenceKey","sharedDataContext","setSharedData","extendSharedData","extend","extendAttachment","rerenderUseDataHook","cacheRef","shared","hasUsedInitialData","internalData","update","clearedData","clearData","_ref5","_requestAnimationFram","requestAnimationFrame","storeInSession","debounce","_window$sessionStorag2","setItem","stringify","process","env","NODE_ENV","setData","newData","preventUpdate","preventSyncOfSameInstance","updateDataValue","_internalDataRef$curr","givenData","match","handlePathChangeUnvalidated","itm","fieldEventListenersRef","callback","handlePathChange","transformedData","cb","changeHandlerStackRef","addOnChangeHandler","setMountedFieldState","scrollToTop","_window","_window$scrollTo","scrollTo","top","behavior","handleSubmitCall","args","enableAsyncBehavior","skipFieldValidation","skipErrorCheck","customStatus","asyncBehaviorIsEnabled","_mountedFieldsRef$cur2","_result2","_result4","_result5","_result6","_result7","submitResult","_result","_result3","warning","info","Promise","resolve","onSubmitContinueRef","getErrors","map","_ref6","getSubmitData","mutatedData","filteredData","getSubmitParams","reduceToVisibleFields","transformData","_ref7","formElement","params","resetForm","_formElement$reset","reset","removeItem","handleSubmit","stop","preventSubmit","completeResult","setFieldEventListener","_ref8","c","_onSubmitContinueRef$","_ajvRef$current","compile","useUpdateEffect","_ajvRef$current2","onTimeout","bufferedFormState","useFormStatusBuffer","waitFor","submitState","disabled","contextErrorMessages","getSourceValue","startsWith","contextValue","hasVisibleError","size","createElement","FormStatus","globalStatus","title","errorSummaryTitle","show","stateRef","nowRef","timeoutRef","setState","clear","key","clearTimeout","hadCompleteRef","activeElementRef","isTest","minimum","setTimeout","document","activeElement","offset","Math","max","delay","complete","_activeElementRef$cur","_activeElementRef$cur2","focus","timeout","exports","freeze"],"sources":["../../../../../../src/extensions/forms/DataContext/Provider/Provider.tsx"],"sourcesContent":["import React, {\n useRef,\n useMemo,\n useCallback,\n useReducer,\n useEffect,\n useContext,\n} from 'react'\nimport pointer, { JsonObject } from '../../utils/json-pointer'\nimport { ValidateFunction } from 'ajv/dist/2020'\nimport {\n Ajv,\n makeAjvInstance,\n ajvErrorsToFormErrors,\n FormError,\n} from '../../utils'\nimport {\n GlobalErrorMessagesWithPaths,\n AllJSONSchemaVersions,\n SubmitState,\n Path,\n EventStateObject,\n OnSubmit,\n OnChange,\n EventReturnWithStateObject,\n ValueProps,\n OnSubmitParams,\n OnSubmitReturn,\n OnSubmitRequest,\n CountryCode,\n PathStrict,\n} from '../../types'\nimport type { IsolationProviderProps } from '../../Form/Isolation/Isolation'\nimport { debounce } from '../../../../shared/helpers'\nimport FieldPropsProvider from '../../Field/Provider'\nimport useUpdateEffect from '../../../../shared/helpers/useUpdateEffect'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport {\n SharedStateId,\n createReferenceKey,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport SharedContext, { ContextProps } from '../../../../shared/Context'\nimport useTranslation from '../../hooks/useTranslation'\nimport DataContext, {\n ContextState,\n EventListenerCall,\n FieldInternalsRef,\n ValueInternalsRef,\n FilterData,\n FilterDataHandler,\n MountState,\n TransformData,\n VisibleDataHandler,\n FieldInternalsRefProps,\n DataPathHandlerParameters,\n} from '../Context'\n\n/**\n * Deprecated, as it is supported by all major browsers and Node.js >=v18\n * So its a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type SharedAttachments<Data = unknown> = {\n visibleDataHandler?: VisibleDataHandler<Data>\n filterDataHandler?: FilterDataHandler<Data>\n hasErrors?: ContextState['hasErrors']\n hasFieldError?: ContextState['hasFieldError']\n setShowAllErrors?: ContextState['setShowAllErrors']\n setSubmitState?: ContextState['setSubmitState']\n rerenderUseDataHook?: () => void\n updateDataValue?: ContextState['updateDataValue']\n clearData?: () => void\n setData?: ContextState['setData']\n fieldConnectionsRef?: ContextState['fieldConnectionsRef']\n internalDataRef?: ContextState['internalDataRef']\n}\n\nexport type Props<Data extends JsonObject> =\n IsolationProviderProps<Data> & {\n /**\n * Unique ID to communicate with the hook Form.useData\n */\n id?: SharedStateId\n /**\n * Unique ID to connect with a GlobalStatus\n */\n globalStatusId?: string\n /**\n * Source data, will be used instead of defaultData, and leading to updates if changed after mount\n */\n data?: Data\n /**\n * Default source data, only used if no other source is available, and not leading to updates if changed after mount\n */\n defaultData?: Data\n /**\n * Empty data, used to clear the data set.\n */\n emptyData?: unknown\n /**\n * JSON Schema to validate the data against.\n */\n schema?: AllJSONSchemaVersions<Data>\n /**\n * Custom Ajv instance, if you want to use your own\n */\n ajvInstance?: Ajv\n /**\n * Custom error messages for the whole data set\n */\n errorMessages?: GlobalErrorMessagesWithPaths\n /**\n * @deprecated Use the `filterData` in the second event parameter in the `onSubmit` or `onChange` events.\n */\n filterSubmitData?: FilterData\n /**\n * Transform the data context (internally as well) based on your criteria: `({ path, value, data, props, internal }) => 'new value'`. It will iterate on each data entry (/path).\n */\n transformIn?: TransformData\n /**\n * Mutate the data before it enters onSubmit or onChange based on your criteria: `({ path, value, data, props, internal }) => 'new value'`. It will iterate on each data entry (/path).\n */\n transformOut?: TransformData\n /**\n * Change handler for the whole data set.\n * You can provide an async function to show an indicator on the current label during a field change.\n */\n onChange?: OnChange<Data>\n /**\n * Change handler for each value\n */\n onPathChange?: (\n path: Path,\n value: unknown\n ) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n /**\n * Will emit on a form submit – if validation has passed.\n * You can provide an async function to shows a submit indicator during submit. All form elements will be disabled during the submit.\n */\n onSubmit?: OnSubmit<Data>\n /**\n * Submit was requested, but data was invalid\n */\n onSubmitRequest?: OnSubmitRequest\n /**\n * Will be called when the onSubmit is finished and had not errors\n */\n onSubmitComplete?: (\n data: Data,\n /**\n * The result of the onSubmit function\n */\n result: unknown\n ) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n /**\n * Minimum time to display the submit indicator.\n */\n minimumAsyncBehaviorTime?: number\n /**\n * The maximum time to display the submit indicator before it changes back to normal. In case something went wrong during submission.\n */\n asyncSubmitTimeout?: number\n /**\n * Scroll to top on submit\n */\n scrollTopOnSubmit?: boolean\n /**\n * Key for caching the data in session storage\n */\n sessionStorageId?: string\n /**\n * Will change the country code for fields supporting `countryCode`.\n * You can also set a path as the value, e.g. `/myCountryCodePath`.\n */\n countryCode?: ContextState['countryCode']\n /**\n * Locale to use for all nested Eufemia components\n */\n locale?: ContextProps['locale']\n /**\n * Provide your own translations. Use the same format as defined in the translation files\n */\n translations?: ContextProps['translations']\n /**\n * Make all fields required\n */\n required?: boolean\n /**\n * The children of the context provider\n */\n children: React.ReactNode\n }\n\nconst isArrayJsonPointer = /^\\/\\d+(\\/|$)/\n\nexport default function Provider<Data extends JsonObject>(\n props: Props<Data>\n) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const {\n id,\n globalStatusId = 'main',\n defaultData,\n emptyData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n onSubmitComplete,\n onCommit,\n onClear,\n scrollTopOnSubmit,\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n sessionStorageId,\n ajvInstance,\n transformIn,\n transformOut,\n filterSubmitData,\n countryCode,\n locale,\n translations,\n required,\n errorMessages,\n isolate,\n children,\n ...rest\n } = props\n\n // Prop error handling\n if (data !== undefined && sessionStorageId !== undefined) {\n throw new Error(\n 'Use \"defaultData\" instead of \"data\" when using sessionStorageId'\n )\n }\n\n const { hasContext } = useContext(DataContext) || {}\n\n if (hasContext && !isolate) {\n throw new Error('DataContext (Form.Handler) cannot be nested')\n }\n\n // - Element\n const formElementRef = useRef<HTMLFormElement>(null)\n\n // - Locale\n const { locale: sharedLocale } = useContext(SharedContext) || {}\n const translation = useTranslation().Field\n\n // - Ajv\n const ajvRef = useRef<Ajv>(makeAjvInstance(ajvInstance))\n\n // - Paths\n const mountedFieldsRef: ContextState['mountedFieldsRef'] = useRef(\n new Map()\n )\n\n // - Snapshots\n const snapshotsRef: ContextState['snapshotsRef'] = useRef(new Map())\n const existingFieldsRef: ContextState['existingFieldsRef'] = useRef(\n new Map()\n )\n\n // - Errors from provider validation (the whole data set)\n const hasVisibleErrorRef = useRef<Map<Path, boolean>>(new Map())\n const errorsRef = useRef<Record<Path, FormError> | undefined>()\n const addSetShowAllErrorsRef = useRef<\n Array<(showAllErrors: boolean) => void>\n >([])\n const showAllErrorsRef = useRef<number | boolean>(false)\n const setShowAllErrors = useCallback((showAllErrors: boolean) => {\n showAllErrorsRef.current = showAllErrors ? Date.now() : showAllErrors\n forceUpdate()\n addSetShowAllErrorsRef.current.forEach((fn) => fn?.(showAllErrors))\n }, [])\n const revealError = useCallback((path: Path, hasError: boolean) => {\n if (hasError) {\n hasVisibleErrorRef.current.set(path, hasError)\n } else {\n hasVisibleErrorRef.current.delete(path)\n }\n forceUpdate() // Will rerender the whole form initially\n }, [])\n const submitStateRef = useRef<Partial<EventStateObject>>({})\n const setSubmitState = useCallback((state: EventStateObject) => {\n submitStateRef.current = { ...submitStateRef.current, ...state }\n forceUpdate()\n }, [])\n\n // - Progress\n const formStateRef = useRef<SubmitState>()\n const keepPending = useRef(false)\n const setFormState = useCallback<ContextState['setFormState']>(\n (formState: SubmitState, options = {}) => {\n if (typeof options?.keepPending === 'boolean') {\n keepPending.current = options?.keepPending\n }\n formStateRef.current = formState\n forceUpdate()\n },\n []\n )\n\n // - States (e.g. error) reported by fields, based on their direct validation rules\n const fieldErrorRef = useRef<Record<Path, Error>>({})\n const fieldStateRef = useRef<Record<Path, SubmitState>>({})\n\n // - Data\n const initialData = useMemo<Data>(() => {\n if (sessionStorageId && typeof window !== 'undefined') {\n const sessionDataJSON =\n window.sessionStorage?.getItem(sessionStorageId)\n if (sessionDataJSON) {\n return JSON.parse(sessionDataJSON)\n }\n }\n\n return data ?? defaultData\n // eslint-disable-next-line react-hooks/exhaustive-deps -- Avoid triggering code that should only run initially\n }, [])\n const internalDataRef = useRef<Data>(initialData)\n const isEmptyDataRef = useRef(false)\n\n // - Validator\n const ajvValidatorRef = useRef<ValidateFunction>()\n const executeAjvValidator = useCallback(() => {\n if (!ajvValidatorRef.current) {\n // No schema-based validator. Assume data is valid.\n return\n }\n\n if (!ajvValidatorRef.current?.(internalDataRef.current)) {\n // Errors found\n errorsRef.current = ajvErrorsToFormErrors(\n ajvValidatorRef.current.errors,\n internalDataRef.current\n )\n } else {\n errorsRef.current = undefined\n }\n }, [])\n const validateData = useCallback(() => {\n if (!ajvValidatorRef.current) {\n // No schema-based validator. Assume data is valid.\n return\n }\n\n executeAjvValidator()\n forceUpdate()\n }, [executeAjvValidator])\n\n // - Error handling\n const checkFieldStateFor = useCallback(\n (path: Path, state: SubmitState) => {\n return Boolean(\n state === 'error'\n ? errorsRef.current?.[path] instanceof Error ||\n fieldErrorRef.current[path] instanceof Error\n : fieldStateRef.current[path] === state\n )\n },\n []\n )\n const hasFieldState = useCallback(\n (state: SubmitState) => {\n return Array.from(mountedFieldsRef.current.entries()).some(\n ([path, item]) => {\n return item.isMounted && checkFieldStateFor(path, state)\n }\n )\n },\n [checkFieldStateFor]\n )\n const hasFieldError = useCallback(\n (path: Path) => {\n return Array.from(mountedFieldsRef.current.entries()).some(\n ([p, item]) => {\n return (\n item.isMounted &&\n p === path &&\n checkFieldStateFor(path, 'error')\n )\n }\n )\n },\n [checkFieldStateFor]\n )\n const hasErrors = useCallback(() => {\n return hasFieldState('error')\n }, [hasFieldState])\n\n /**\n * Sets the error state for a specific path\n */\n const setFieldError: ContextState['setFieldError'] = useCallback(\n (path, error) => {\n fieldErrorRef.current[path] = error\n },\n []\n )\n\n /**\n * Sets the field state for a specific path\n */\n const setFieldState: ContextState['setFieldState'] = useCallback(\n (path, fieldState) => {\n if (fieldState !== fieldStateRef.current[path]) {\n // The state for the target value was changed\n fieldStateRef.current[path] = fieldState\n forceUpdate()\n }\n },\n []\n )\n\n const getDataPathHandlerParameters = useCallback(\n (\n path: Path,\n data: Data = internalDataRef.current\n ): DataPathHandlerParameters => {\n const value = pointer.has(data, path)\n ? pointer.get(data, path)\n : undefined\n const { value: displayValue } =\n fieldDisplayValueRef.current[path] || {}\n const props = fieldInternalsRef.current[path]?.props\n const label = props?.label\n const error = fieldErrorRef.current[path]\n\n return {\n path,\n value,\n displayValue,\n label,\n props,\n data: internalDataRef.current, // always use the internal data\n error,\n\n /** @deprecated – can be removed in v11 */\n internal: { error },\n }\n },\n []\n )\n\n /**\n * Mutate the data set based on the filterData function\n */\n const mutateDataHandler = useCallback(\n (\n data: Data,\n handler: TransformData | FilterData,\n { remove = false, mutate = true, fireHandlerWhen = null } = {}\n ) => {\n const freshData = {} as Data\n const mutateEntry = (path: Path, result: boolean | unknown) => {\n if (remove) {\n if (result === false) {\n data = structuredClone(data)\n pointer.remove(data, path)\n }\n } else {\n if (typeof result !== 'undefined') {\n if (mutate) {\n data = structuredClone(data)\n pointer.set(data, path, result)\n } else {\n pointer.set(freshData, path, result)\n }\n }\n }\n }\n\n if (typeof handler === 'function') {\n Object.keys(fieldInternalsRef.current).forEach((path) => {\n const exists = pointer.has(data, path)\n if (exists) {\n const { type } = fieldDisplayValueRef.current[path] || {}\n if (fireHandlerWhen?.({ type }) !== false) {\n const result = handler(\n getDataPathHandlerParameters(path, data)\n )\n mutateEntry(path, result)\n }\n }\n })\n\n if (!mutate) {\n return freshData\n }\n\n return data\n } else if (handler) {\n const runFilter = ({ path, condition }) => {\n const exists = pointer.has(data, path)\n if (exists) {\n const result =\n typeof condition === 'function'\n ? condition(getDataPathHandlerParameters(path, data))\n : condition\n mutateEntry(path, result)\n }\n }\n\n const wildcardPaths = []\n\n Object.entries(handler).forEach(([path, condition]) => {\n if (path.includes('*')) {\n const parts = path.split(/\\/\\*/g)\n const exists = pointer.has(data, parts[0])\n if (exists) {\n const traverse = (\n subData: unknown,\n subPath: string,\n idx: number\n ) => {\n if (idx === parts.length - 1) {\n wildcardPaths.push({ path: subPath, condition })\n return\n }\n const list = pointer.get(subData, subPath)\n if (Array.isArray(list)) {\n list.forEach((_, i) => {\n traverse(\n list[i],\n `${subPath}/${i}${parts[idx + 1]}`,\n idx + 1\n )\n })\n }\n }\n traverse(data, parts[0], 0)\n }\n } else {\n runFilter({ path, condition })\n }\n })\n\n wildcardPaths.forEach(runFilter)\n\n return data\n }\n\n return data\n },\n [getDataPathHandlerParameters]\n )\n\n /**\n * Ensure only visible data is returned\n */\n const visibleDataHandler: VisibleDataHandler<Data> = useCallback(\n (data = internalDataRef.current, { keepPaths, removePaths } = {}) => {\n const visibleData = {} as Partial<Data>\n\n mountedFieldsRef.current.forEach((item, path) => {\n if (\n item &&\n item.isVisible !== false &&\n (item.isPreMounted !== false || item.wasStepChange === true) &&\n (removePaths ? !removePaths.includes(path) : true) &&\n pointer.has(data, path)\n ) {\n pointer.set(visibleData, path, pointer.get(data, path))\n }\n })\n\n if (keepPaths) {\n keepPaths.forEach((path) => {\n if (pointer.has(data, path)) {\n pointer.set(visibleData, path, pointer.get(data, path))\n }\n })\n }\n\n return visibleData\n },\n []\n )\n\n /**\n * Filter the data set based on the filterData function\n */\n const filterDataHandler = useCallback(\n (data: Data, filter: FilterData) => {\n if (filter) {\n return mutateDataHandler(data, filter, { remove: true })\n }\n\n return data\n },\n [mutateDataHandler]\n )\n\n const filterData = useCallback(\n (filter: FilterData, data = internalDataRef.current) => {\n return filterDataHandler(data, filter)\n },\n [filterDataHandler]\n )\n\n const fieldDisplayValueRef: ContextState['fieldDisplayValueRef'] =\n useRef({})\n\n const fieldConnectionsRef = useRef<\n Record<Path, Record<string, unknown>>\n >({})\n const setFieldConnection = useCallback(\n (path: Path, connections: Record<string, unknown>) => {\n fieldConnectionsRef.current[path] = connections\n },\n []\n )\n\n const fieldInternalsRef = useRef<FieldInternalsRef>({})\n const setFieldInternals = useCallback(\n (path: Path, props: FieldInternalsRefProps, id: string) => {\n fieldInternalsRef.current[path] = Object.assign(\n fieldInternalsRef.current[path] || {},\n { props, id }\n )\n },\n []\n )\n\n const valueInternalsRef = useRef<ValueInternalsRef>({})\n const setValueInternals = useCallback(\n (path: Path, props: ValueProps) => {\n valueInternalsRef.current[path] = Object.assign(\n valueInternalsRef.current[path] || {},\n { props }\n )\n },\n []\n )\n\n const hasFieldWithAsyncValidator = useCallback(() => {\n for (const path in fieldInternalsRef.current) {\n if (mountedFieldsRef.current.get(path)?.isMounted) {\n const props = fieldInternalsRef.current[path]?.props\n if (\n isAsync(props?.onChangeValidator) ||\n isAsync(props?.onBlurValidator)\n ) {\n return true\n }\n }\n }\n\n return false\n }, [])\n\n // - Shared state\n const sharedData = useSharedState<Data>(id)\n const sharedAttachments = useSharedState<SharedAttachments<Data>>(\n createReferenceKey(id, 'attachments')\n )\n const sharedDataContext = useSharedState<ContextState>(\n createReferenceKey(id, 'data-context')\n )\n\n const setSharedData = sharedData.set\n const extendSharedData = sharedData.extend\n const extendAttachment = sharedAttachments.extend\n const rerenderUseDataHook = sharedAttachments.data?.rerenderUseDataHook\n\n const cacheRef = useRef({\n data,\n schema,\n shared: sharedData.data,\n hasUsedInitialData: false,\n })\n\n const internalData = useMemo(() => {\n // NB: \"sharedData.data\" is only available on a rerender.\n // Update the shared state, if initialData is given and no shared state is available.\n // We do almost the same later in a useLayoutEffect, but we need to do it here as well, so we set the data as early as possible.\n if (id && initialData && !sharedData.data) {\n sharedData.update(initialData)\n }\n\n // Merge both internal data and the shared state, if it both where given\n if (\n id &&\n initialData &&\n sharedData.data &&\n cacheRef.current.shared === sharedData.data &&\n internalDataRef.current === initialData &&\n typeof internalDataRef.current === 'object'\n ) {\n return {\n ...internalDataRef.current,\n ...(sharedData.data || {}),\n }\n }\n\n // Use shared state if no initial and initial data, and the shared state exists\n if (\n id &&\n !initialData &&\n !internalDataRef.current &&\n sharedData.data &&\n cacheRef.current.shared === sharedData.data\n ) {\n return sharedData.data\n }\n\n // Merge the internal data with the shared state, if the shared was updated and not the same as internal data\n if (\n id &&\n sharedData.data &&\n cacheRef.current.shared !== sharedData.data &&\n sharedData.data !== internalDataRef.current &&\n typeof internalDataRef.current === 'object'\n ) {\n cacheRef.current.shared = sharedData.data\n\n if (isEmptyDataRef.current) {\n return (\n Array.isArray(internalDataRef.current) ? [] : clearedData\n ) as Data\n }\n\n return {\n ...internalDataRef.current,\n ...(sharedData.data || {}),\n }\n }\n\n // When external data has changed, update the internal data\n if (data !== cacheRef.current.data) {\n cacheRef.current.data = data\n return data\n }\n\n return internalDataRef.current\n }, [id, initialData, sharedData, data])\n\n internalDataRef.current =\n props.path && pointer.has(internalData, props.path)\n ? pointer.get(internalData, props.path)\n : internalData\n\n const clearData = useCallback(() => {\n isEmptyDataRef.current = true\n internalDataRef.current = ((typeof emptyData === 'function'\n ? emptyData(internalDataRef.current)\n : emptyData) ??\n (Array.isArray(internalDataRef.current) ? [] : clearedData)) as Data\n\n if (id) {\n setSharedData(internalDataRef.current)\n }\n\n forceUpdate()\n onClear?.()\n\n requestAnimationFrame?.(() => {\n isEmptyDataRef.current = false\n }) // Delay so the field validation error message are not shown\n }, [emptyData, id, onClear, setSharedData])\n\n useMemo(() => {\n executeAjvValidator()\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [internalDataRef.current]) // run validation when internal data has changed\n\n const storeInSession = useMemo(() => {\n return debounce(\n () => {\n window.sessionStorage?.setItem(\n sessionStorageId,\n JSON.stringify(internalDataRef.current)\n )\n },\n process.env.NODE_ENV === 'test' ? 1 : 800\n )\n }, [sessionStorageId])\n\n const setData = useCallback(\n (newData: Data, preventUpdate = false) => {\n // - Mutate the data context\n if (transformIn) {\n newData = mutateDataHandler(newData, transformIn)\n }\n\n internalDataRef.current = newData\n\n if (id) {\n // Will ensure that Form.getData() gets the correct data\n extendSharedData(newData, { preventSyncOfSameInstance: true })\n if (filterSubmitData) {\n rerenderUseDataHook?.()\n }\n }\n\n if (sessionStorageId && typeof window !== 'undefined') {\n storeInSession()\n }\n\n if (!preventUpdate) {\n forceUpdate() // Will rerender the whole form initially\n }\n },\n [\n extendSharedData,\n filterSubmitData,\n id,\n mutateDataHandler,\n rerenderUseDataHook,\n sessionStorageId,\n storeInSession,\n transformIn,\n ]\n )\n\n /**\n * Update the data set\n */\n const updateDataValue: ContextState['updateDataValue'] = useCallback(\n (path, value, { preventUpdate } = {}) => {\n if (!path) {\n return\n }\n\n const givenData = (\n path === '/'\n ? // When setting the root of the data, the whole data set should be the new value\n value\n : // For sub paths, use the existing data set (or empty array/object), but modify it below (since pointer.set is not immutable)\n internalDataRef.current ??\n (path.match(isArrayJsonPointer) ? [] : {})\n ) as Data\n\n let newData: Data = null\n try {\n // Update the data even if it contains errors. Submit/SubmitRequest will be called accordingly\n newData = structuredClone(givenData)\n } catch (e) {\n newData = givenData\n }\n\n if (path !== '/') {\n pointer.set(newData, path, value)\n }\n\n setData(newData, preventUpdate)\n },\n [setData]\n )\n\n /**\n * Update the data set on user interaction (unvalidated)\n */\n const handlePathChangeUnvalidated: ContextState['handlePathChange'] =\n useCallback(\n async (path, value) => {\n if (!path) {\n return null\n }\n\n updateDataValue(path, value)\n\n if (isAsync(onPathChange)) {\n await onPathChange?.(path, value)\n } else {\n onPathChange?.(path, value)\n }\n\n for (const itm of fieldEventListenersRef.current) {\n if (itm.type === 'onPathChange' && itm.path === path) {\n const { callback } = itm\n if (isAsync(callback)) {\n await callback({ value })\n } else {\n callback({ value })\n }\n }\n }\n },\n [onPathChange, updateDataValue]\n )\n\n /**\n * Update the data set on user interaction\n */\n const handlePathChange: ContextState['handlePathChange'] = useCallback(\n async (path, value = '_undefined_') => {\n if (!path) {\n return null\n }\n\n if (value !== '_undefined_') {\n handlePathChangeUnvalidated(path, value)\n }\n\n showAllErrorsRef.current = false\n\n validateData()\n\n const data = internalDataRef.current as Data\n const options = { filterData }\n const transformedData = transformOut\n ? mutateDataHandler(data, transformOut)\n : data\n\n for (const cb of changeHandlerStackRef.current) {\n if (isAsync(onChange)) {\n await cb(transformedData, options)\n } else {\n cb(transformedData, options)\n }\n }\n\n if (isAsync(onChange)) {\n return await onChange(transformedData, options)\n }\n\n return onChange?.(transformedData, options)\n },\n [\n filterData,\n handlePathChangeUnvalidated,\n mutateDataHandler,\n onChange,\n transformOut,\n validateData,\n ]\n )\n\n const changeHandlerStackRef = useRef<Array<OnChange<Data>>>([])\n const addOnChangeHandler = useCallback((callback: OnChange<Data>) => {\n const exists = changeHandlerStackRef.current.some((cb) => {\n return callback === cb\n })\n if (!exists) {\n changeHandlerStackRef.current.push(callback)\n }\n }, [])\n\n // - Mounted fields\n const setMountedFieldState = useCallback(\n (path: Path, state: MountState) => {\n mountedFieldsRef.current.set(path, {\n ...mountedFieldsRef.current.get(path),\n ...state,\n })\n\n for (const itm of fieldEventListenersRef.current) {\n if (itm.type === 'onMount' && itm.path === path) {\n const { callback } = itm\n callback()\n }\n }\n },\n []\n )\n\n // - Features\n const scrollToTop = useCallback(() => {\n if (typeof window !== 'undefined') {\n window?.scrollTo?.({ top: 0, behavior: 'smooth' })\n }\n }, [])\n\n /**\n * Shared logic dedicated to submit the whole form\n */\n const handleSubmitCall = useCallback<ContextState['handleSubmitCall']>(\n async (args) => {\n const {\n onSubmit,\n enableAsyncBehavior,\n skipFieldValidation,\n skipErrorCheck,\n } = args\n\n setSubmitState({ error: undefined, customStatus: undefined })\n\n const asyncBehaviorIsEnabled =\n (skipErrorCheck\n ? true\n : // Don't enable async behavior if we have errors, but when we have a pending state\n !hasErrors() || hasFieldState('pending')) &&\n (enableAsyncBehavior || hasFieldWithAsyncValidator())\n\n if (asyncBehaviorIsEnabled) {\n setFormState('pending')\n }\n\n // Just call the submit listeners \"once\", and not on the retry/recall\n if (!skipFieldValidation) {\n for (const item of fieldEventListenersRef.current) {\n const { path, type, callback } = item\n if (\n type === 'onSubmitCall' &&\n mountedFieldsRef.current.get(path)?.isMounted\n ) {\n // Call all submit listener callbacks (e.g. to validate fields)\n if (asyncBehaviorIsEnabled) {\n await callback()\n } else {\n callback()\n }\n }\n }\n }\n\n let result: EventStateObject\n\n if (\n !(skipErrorCheck ? false : hasErrors()) &&\n !hasFieldState('pending') &&\n (skipFieldValidation ? true : !hasFieldState('error'))\n ) {\n let submitResult: OnSubmitReturn\n try {\n if (isolate) {\n submitResult = await onCommit?.(internalDataRef.current, {\n clearData,\n })\n } else {\n submitResult = await onSubmit()\n }\n\n if (submitResult instanceof Error) {\n throw submitResult\n }\n } catch (error) {\n submitResult = { error }\n }\n\n result = submitResult as EventStateObject\n\n if (asyncBehaviorIsEnabled) {\n if (result?.error) {\n setFormState('abort')\n } else if (keepPending.current !== true) {\n setFormState('complete')\n }\n }\n\n // Force the state to be set by a custom status\n if (result?.['status']) {\n setFormState(result?.['status'])\n }\n\n if (\n result?.error ||\n result?.warning ||\n result?.info ||\n result?.customStatus\n ) {\n setSubmitState(result)\n }\n } else {\n if (asyncBehaviorIsEnabled) {\n // Because we buffer the \"revealError\" in the useFieldProps hook,\n // we need to wait for the next frame before we continue and call \"setShowAllErrors\".\n await new Promise((resolve) =>\n window.requestAnimationFrame(resolve)\n )\n\n setFormState(undefined)\n\n if (!skipFieldValidation) {\n // Add a event listener to continue the submit after the pending state is resolved\n onSubmitContinueRef.current = () => {\n window.requestAnimationFrame(() => {\n // Do not call the validators again,\n // because we already did it in the first call\n // If they are async, we wait for them to finish anyway\n handleSubmitCall({ ...args, skipFieldValidation: true })\n })\n }\n }\n }\n\n setShowAllErrors(true)\n\n onSubmitRequest?.({\n getErrors: () =>\n Object.keys(fieldErrorRef.current)\n .map((path) => {\n return getDataPathHandlerParameters(path)\n })\n .filter(({ error }) => error),\n })\n\n for (const itm of fieldEventListenersRef.current) {\n if (itm.type === 'onSubmitRequest') {\n itm.callback()\n }\n }\n }\n\n return result\n },\n [\n clearData,\n getDataPathHandlerParameters,\n hasErrors,\n hasFieldState,\n hasFieldWithAsyncValidator,\n isolate,\n onCommit,\n onSubmitRequest,\n setFormState,\n setShowAllErrors,\n setSubmitState,\n ]\n )\n\n const getSubmitData = useCallback(() => {\n // - Mutate the data context\n const data = internalDataRef.current\n const mutatedData = transformOut\n ? mutateDataHandler(data, transformOut)\n : data\n\n // @deprecated – can be removed in v11 (use only mutatedData instead)\n const filteredData = filterSubmitData\n ? filterDataHandler(mutatedData, filterSubmitData)\n : mutatedData\n\n return filteredData\n }, [\n filterDataHandler,\n filterSubmitData,\n mutateDataHandler,\n transformOut,\n ])\n\n const getSubmitParams = useCallback(() => {\n const reduceToVisibleFields: VisibleDataHandler<Data> = (\n data,\n options\n ) => {\n return visibleDataHandler(\n transformOut ? mutateDataHandler(data, transformOut) : data,\n options\n )\n }\n\n const transformData = (data: Data, handler: TransformData) => {\n return mutateDataHandler(data, handler, {\n mutate: false,\n fireHandlerWhen: ({ type }) => type === 'field',\n })\n }\n\n const formElement = formElementRef.current\n const params: OnSubmitParams<Data> = {\n filterData,\n reduceToVisibleFields,\n transformData,\n resetForm: () => {\n formElement?.reset?.()\n\n if (typeof window !== 'undefined') {\n if (sessionStorageId) {\n window.sessionStorage.removeItem(sessionStorageId)\n }\n }\n\n forceUpdate() // in order to fill \"empty fields\" again with their internal states\n },\n clearData,\n }\n\n return params\n }, [\n clearData,\n filterData,\n mutateDataHandler,\n sessionStorageId,\n transformOut,\n visibleDataHandler,\n ])\n\n /**\n * Request to submit the whole form\n */\n const handleSubmit = useCallback<\n ContextState['handleSubmit']\n >(async () => {\n return await handleSubmitCall({\n enableAsyncBehavior: isAsync(onSubmit),\n onSubmit: async () => {\n let stop = false\n const preventSubmit = () => (stop = true)\n for (const item of fieldEventListenersRef.current) {\n const { type, callback } = item\n if (type === 'onSubmit') {\n callback({ preventSubmit })\n }\n }\n if (stop) {\n return // stop here\n }\n\n const data = getSubmitData()\n const options = getSubmitParams()\n let result = undefined\n\n if (isAsync(onSubmit)) {\n result = await onSubmit(data, options)\n } else {\n result = onSubmit?.(data, options)\n }\n\n const completeResult = await onSubmitComplete?.(data, result)\n if (completeResult) {\n result =\n Object.keys(result).length > 0\n ? { ...result, ...completeResult }\n : completeResult\n }\n\n if (scrollTopOnSubmit) {\n scrollToTop()\n }\n\n return result\n },\n })\n }, [\n getSubmitData,\n getSubmitParams,\n handleSubmitCall,\n onSubmit,\n onSubmitComplete,\n scrollToTop,\n scrollTopOnSubmit,\n ])\n\n // Collect listeners to be called during form submit\n const fieldEventListenersRef = useRef<Array<EventListenerCall>>([])\n const setFieldEventListener = useCallback(\n (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback'],\n { remove = false } = {}\n ) => {\n fieldEventListenersRef.current =\n fieldEventListenersRef.current.filter(\n ({ path: p, type: t, callback: c }) => {\n return !(p === path && t === type && c === callback)\n }\n )\n if (!remove) {\n fieldEventListenersRef.current.push({ path, type, callback })\n }\n },\n []\n )\n\n // Handle unresolved field states during async submit\n const onSubmitContinueRef = useRef<() => void>(null)\n if (!hasFieldState('pending')) {\n onSubmitContinueRef.current?.()\n onSubmitContinueRef.current = null\n }\n\n // - ajv validator routines\n useEffect(() => {\n if (schema) {\n ajvValidatorRef.current = ajvRef.current?.compile(schema)\n }\n\n // Validate the initial data\n validateData()\n }, [schema, validateData])\n useUpdateEffect(() => {\n if (schema && schema !== cacheRef.current.schema) {\n cacheRef.current.schema = schema\n ajvValidatorRef.current = ajvRef.current?.compile(schema)\n\n validateData()\n forceUpdate()\n }\n }, [schema, validateData, forceUpdate])\n\n const onTimeout = useCallback(() => {\n setFormState(undefined)\n setSubmitState({\n info: undefined,\n warning: undefined,\n error: undefined,\n customStatus: undefined,\n })\n }, [setFormState, setSubmitState])\n\n useLayoutEffect(() => {\n // Set the shared state, if initialData was given\n if (id) {\n if (initialData && !sharedData.data) {\n extendSharedData(initialData, { preventSyncOfSameInstance: true })\n }\n }\n }, [id, initialData, extendSharedData, sharedData.data])\n\n useLayoutEffect(() => {\n if (id) {\n extendAttachment(\n {\n visibleDataHandler,\n filterDataHandler,\n hasErrors,\n hasFieldError,\n setShowAllErrors,\n setSubmitState,\n clearData,\n setData,\n updateDataValue,\n fieldConnectionsRef,\n internalDataRef,\n },\n { preventSyncOfSameInstance: true }\n )\n if (filterSubmitData) {\n rerenderUseDataHook?.()\n }\n }\n }, [\n clearData,\n extendAttachment,\n filterDataHandler,\n filterSubmitData,\n hasErrors,\n hasFieldError,\n id,\n rerenderUseDataHook,\n setData,\n setShowAllErrors,\n setSubmitState,\n updateDataValue,\n visibleDataHandler,\n ])\n\n const { bufferedFormState: formState } = useFormStatusBuffer({\n formState: formStateRef.current,\n waitFor: hasFieldState('pending'),\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n onTimeout,\n })\n\n const submitState = submitStateRef.current\n const disabled =\n typeof rest?.['disabled'] === 'boolean'\n ? rest?.['disabled']\n : (formState === 'pending') === true\n ? true\n : undefined\n const contextErrorMessages =\n errorMessages?.[locale ?? sharedLocale] || errorMessages\n\n const getSourceValue = useCallback(\n <Return extends string>(value: PathStrict | unknown): Return => {\n const data = internalDataRef.current\n if (\n String(value).startsWith('/') &&\n pointer.has(data, String(value))\n ) {\n return pointer.get(data, String(value)) as unknown as Return\n }\n return value as Return\n },\n []\n )\n\n const contextValue: ContextState = {\n /** Method */\n handlePathChange,\n handlePathChangeUnvalidated,\n handleSubmit,\n setMountedFieldState,\n handleSubmitCall,\n setFormState,\n setSubmitState,\n setShowAllErrors,\n revealError,\n setFieldEventListener,\n setFieldState,\n setFieldError,\n setFieldConnection,\n setFieldInternals,\n setValueInternals,\n hasErrors,\n hasFieldError,\n hasFieldState,\n validateData,\n updateDataValue,\n setData,\n clearData,\n visibleDataHandler,\n filterDataHandler,\n getSubmitData,\n getSubmitParams,\n addOnChangeHandler,\n scrollToTop,\n\n /** State handling */\n schema,\n disabled,\n required,\n formState,\n submitState,\n contextErrorMessages,\n hasContext: true,\n errors: errorsRef.current,\n showAllErrors: showAllErrorsRef.current,\n hasVisibleError: hasVisibleErrorRef.current.size > 0,\n addSetShowAllErrorsRef,\n fieldConnectionsRef,\n fieldDisplayValueRef,\n fieldInternalsRef,\n valueInternalsRef,\n mountedFieldsRef,\n snapshotsRef,\n existingFieldsRef,\n formElementRef,\n isEmptyDataRef,\n fieldErrorRef,\n ajvInstance: ajvRef.current,\n countryCode: countryCode\n ? getSourceValue<CountryCode>(countryCode)\n : undefined,\n\n /** Additional */\n id,\n data: internalDataRef.current,\n internalDataRef,\n props,\n ...rest,\n }\n\n if (id) {\n sharedDataContext.set(contextValue)\n }\n\n return (\n <DataContext.Provider value={contextValue}>\n <FieldPropsProvider\n FormStatus={\n globalStatusId\n ? {\n globalStatus: {\n id: globalStatusId,\n title: translation.errorSummaryTitle,\n show: Boolean(showAllErrorsRef.current),\n },\n }\n : undefined\n }\n formElement={disabled ? { disabled: true } : undefined}\n locale={locale ? locale : undefined}\n translations={translations ? translations : undefined}\n >\n {children}\n </FieldPropsProvider>\n </DataContext.Provider>\n )\n}\n\ntype FormStatusBufferProps = {\n minimumAsyncBehaviorTime?: Props<JsonObject>['minimumAsyncBehaviorTime']\n asyncSubmitTimeout?: Props<JsonObject>['asyncSubmitTimeout']\n formState: ContextState['formState']\n waitFor: boolean\n onTimeout: () => void\n}\n\nfunction useFormStatusBuffer(props: FormStatusBufferProps) {\n const {\n formState,\n waitFor,\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n onTimeout,\n } = props || {}\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const stateRef = useRef<SubmitState>()\n const nowRef = useRef<number | null>(null)\n const timeoutRef = useRef<{\n complete?: NodeJS.Timeout | null\n reset?: NodeJS.Timeout | null\n timeout?: NodeJS.Timeout | null\n }>({})\n\n const setState = useCallback(\n (state: SubmitState) => {\n stateRef.current = state\n forceUpdate()\n },\n [forceUpdate]\n )\n\n const clear = useCallback(() => {\n for (const key in timeoutRef.current) {\n clearTimeout(timeoutRef.current[key])\n }\n }, [])\n\n const hadCompleteRef = useRef(false)\n const activeElementRef = useRef<HTMLElement>(null)\n\n useEffect(() => {\n // This offset is used to calculate the delay,\n // which ensures that the form state is displayed for at least minimumAsyncBehaviorTime duration.\n // If the form was 'pending' for less than minimumAsyncBehaviorTime,\n // the delay will be the remaining time to reach minimumAsyncBehaviorTime.\n const isTest = process.env.NODE_ENV === 'test'\n const minimum =\n minimumAsyncBehaviorTime ??\n // make it testable\n (isTest ? 1 : 1000)\n\n if (stateRef.current && formState === 'error') {\n clear()\n setState(undefined)\n return\n }\n\n if (formState === 'abort') {\n clear()\n setState('abort')\n\n timeoutRef.current.reset = setTimeout(() => {\n nowRef.current = 0\n setState(undefined)\n }, minimum)\n return\n }\n\n if (formState === 'complete') {\n hadCompleteRef.current = true\n }\n\n if (formState === 'pending' && stateRef.current !== 'pending') {\n activeElementRef.current = document.activeElement as HTMLElement\n clear()\n nowRef.current = Date.now()\n hadCompleteRef.current = false\n setState('pending')\n } else if (stateRef.current === 'pending') {\n const offset = Math.max(Date.now() - nowRef.current)\n const delay = isTest ? minimum : Math.max(minimum - offset, 0)\n\n if (!waitFor) {\n timeoutRef.current.complete = setTimeout(() => {\n if (hadCompleteRef.current) {\n setState('complete')\n }\n window.requestAnimationFrame(() => {\n activeElementRef.current?.focus?.()\n })\n }, delay)\n\n timeoutRef.current.reset = setTimeout(() => {\n nowRef.current = 0\n setState(undefined)\n clear()\n }, delay + minimum)\n }\n }\n\n if (stateRef.current === 'pending') {\n timeoutRef.current.timeout = setTimeout(() => {\n clear()\n setState(undefined)\n onTimeout?.()\n }, asyncSubmitTimeout ?? 30000)\n }\n\n return clear\n }, [\n clear,\n minimumAsyncBehaviorTime,\n formState,\n setState,\n waitFor,\n asyncSubmitTimeout,\n onTimeout,\n ])\n\n return { bufferedFormState: stateRef.current }\n}\n\nexport const clearedData = Object.freeze({})\n"],"mappings":"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","ignoreList":[]}
@@ -26,4 +26,5 @@ declare function DateComponent(props: DateProps): import("react/jsx-runtime").JS
26
26
  declare namespace DateComponent {
27
27
  var _supportsSpacingProps: boolean;
28
28
  }
29
+ export declare function parseRangeValue(value: DateProps['value']): string[];
29
30
  export default DateComponent;
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
+ exports.parseRangeValue = parseRangeValue;
8
9
  require("core-js/modules/web.dom-collections.iterator.js");
9
10
  var _react = _interopRequireWildcard(require("react"));
10
11
  var _components = require("../../../../components");
@@ -15,7 +16,6 @@ var _FieldBlock = _interopRequireDefault(require("../../FieldBlock"));
15
16
  var _Context = _interopRequireDefault(require("../../../../shared/Context"));
16
17
  var _dateFns = require("date-fns");
17
18
  var _useTranslation = _interopRequireDefault(require("../../hooks/useTranslation"));
18
- var _Date = require("../../Value/Date");
19
19
  var _DatePickerCalc = require("../../../../components/date-picker/DatePickerCalc");
20
20
  var _utils2 = require("../../utils");
21
21
  var _startOfDay = _interopRequireDefault(require("date-fns/startOfDay"));
@@ -164,7 +164,7 @@ function DateComponent(props) {
164
164
  }, [range, valueProp]);
165
165
  (0, _react.useMemo)(() => {
166
166
  if ((path || itemPath) && valueProp) {
167
- setDisplayValue((0, _Date.formatDate)(valueProp, {
167
+ setDisplayValue((0, _DatePickerCalc.formatDate)(valueProp, {
168
168
  locale
169
169
  }), undefined);
170
170
  }
@@ -227,14 +227,14 @@ function validateDateLimit(_ref3) {
227
227
  if ((0, _dateFns.isBefore)(startDate, minDate)) {
228
228
  messages.push(new _utils2.FormError('Date.errorMinDate', {
229
229
  messageValues: {
230
- date: (0, _Date.formatDate)(isoDates.minDate, options)
230
+ date: (0, _DatePickerCalc.formatDate)(isoDates.minDate, options)
231
231
  }
232
232
  }));
233
233
  }
234
234
  if ((0, _dateFns.isAfter)(startDate, maxDate)) {
235
235
  messages.push(new _utils2.FormError('Date.errorMaxDate', {
236
236
  messageValues: {
237
- date: (0, _Date.formatDate)(isoDates.maxDate, options)
237
+ date: (0, _DatePickerCalc.formatDate)(isoDates.maxDate, options)
238
238
  }
239
239
  }));
240
240
  }
@@ -243,28 +243,28 @@ function validateDateLimit(_ref3) {
243
243
  if ((0, _dateFns.isBefore)(startDate, minDate)) {
244
244
  messages.push(new _utils2.FormError('Date.errorStartDateMinDate', {
245
245
  messageValues: {
246
- date: (0, _Date.formatDate)(isoDates.minDate, options)
246
+ date: (0, _DatePickerCalc.formatDate)(isoDates.minDate, options)
247
247
  }
248
248
  }));
249
249
  }
250
250
  if ((0, _dateFns.isAfter)(startDate, maxDate)) {
251
251
  messages.push(new _utils2.FormError('Date.errorStartDateMaxDate', {
252
252
  messageValues: {
253
- date: (0, _Date.formatDate)(isoDates.maxDate, options)
253
+ date: (0, _DatePickerCalc.formatDate)(isoDates.maxDate, options)
254
254
  }
255
255
  }));
256
256
  }
257
257
  if ((0, _dateFns.isBefore)(endDate, minDate)) {
258
258
  messages.push(new _utils2.FormError('Date.errorEndDateMinDate', {
259
259
  messageValues: {
260
- date: (0, _Date.formatDate)(isoDates.minDate, options)
260
+ date: (0, _DatePickerCalc.formatDate)(isoDates.minDate, options)
261
261
  }
262
262
  }));
263
263
  }
264
264
  if ((0, _dateFns.isAfter)(endDate, maxDate)) {
265
265
  messages.push(new _utils2.FormError('Date.errorEndDateMaxDate', {
266
266
  messageValues: {
267
- date: (0, _Date.formatDate)(isoDates.maxDate, options)
267
+ date: (0, _DatePickerCalc.formatDate)(isoDates.maxDate, options)
268
268
  }
269
269
  }));
270
270
  }