@dnb/eufemia 10.75.1 → 10.75.3

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 (689) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/cjs/components/accordion/Accordion.js +2 -3
  3. package/cjs/components/accordion/Accordion.js.map +1 -1
  4. package/cjs/components/accordion/AccordionContext.d.ts +0 -4
  5. package/cjs/components/accordion/AccordionContext.js.map +1 -1
  6. package/cjs/components/accordion/AccordionGroup.js +1 -3
  7. package/cjs/components/accordion/AccordionGroup.js.map +1 -1
  8. package/cjs/components/accordion/AccordionProviderContext.d.ts +0 -4
  9. package/cjs/components/accordion/AccordionProviderContext.js +3 -1
  10. package/cjs/components/accordion/AccordionProviderContext.js.map +1 -1
  11. package/cjs/components/accordion/AccordionStore.js +1 -2
  12. package/cjs/components/accordion/AccordionStore.js.map +1 -1
  13. package/cjs/components/accordion/style/dnb-accordion.css +0 -6
  14. package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
  15. package/cjs/components/accordion/style/dnb-accordion.scss +0 -5
  16. package/cjs/components/autocomplete/Autocomplete.d.ts +1 -1
  17. package/cjs/components/autocomplete/Autocomplete.js +2 -2
  18. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  19. package/cjs/components/autocomplete/AutocompleteDocs.js +1 -1
  20. package/cjs/components/autocomplete/AutocompleteDocs.js.map +1 -1
  21. package/cjs/components/button/Button.js +8 -7
  22. package/cjs/components/button/Button.js.map +1 -1
  23. package/cjs/components/date-picker/DatePickerDocs.js +3 -3
  24. package/cjs/components/date-picker/DatePickerDocs.js.map +1 -1
  25. package/cjs/components/date-picker/DatePickerInput.js +2 -2
  26. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  27. package/cjs/components/date-picker/style/dnb-date-picker.css +0 -1
  28. package/cjs/components/date-picker/style/dnb-date-picker.min.css +1 -1
  29. package/cjs/components/dialog/style/dnb-dialog.css +0 -4
  30. package/cjs/components/dialog/style/dnb-dialog.min.css +1 -1
  31. package/cjs/components/dialog/style/dnb-dialog.scss +0 -5
  32. package/cjs/components/drawer/DrawerDocs.js +2 -2
  33. package/cjs/components/drawer/DrawerDocs.js.map +1 -1
  34. package/cjs/components/drawer/style/dnb-drawer.css +0 -4
  35. package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
  36. package/cjs/components/drawer/style/dnb-drawer.scss +0 -5
  37. package/cjs/components/dropdown/Dropdown.js +1 -1
  38. package/cjs/components/dropdown/Dropdown.js.map +1 -1
  39. package/cjs/components/form-label/style/dnb-form-label.css +0 -1
  40. package/cjs/components/form-label/style/dnb-form-label.min.css +1 -1
  41. package/cjs/components/form-row/FormRow.d.ts +1 -1
  42. package/cjs/components/form-row/FormRowDocs.js +1 -1
  43. package/cjs/components/form-row/FormRowDocs.js.map +1 -1
  44. package/cjs/components/input-masked/style/dnb-input-masked.css +0 -1
  45. package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
  46. package/cjs/components/list-format/ListFormatDocs.js +2 -2
  47. package/cjs/components/list-format/ListFormatDocs.js.map +1 -1
  48. package/cjs/components/modal/style/dnb-modal.css +0 -4
  49. package/cjs/components/modal/style/dnb-modal.min.css +1 -1
  50. package/cjs/components/modal/style/dnb-modal.scss +0 -5
  51. package/cjs/components/pagination/PaginationDocs.js +2 -2
  52. package/cjs/components/pagination/PaginationDocs.js.map +1 -1
  53. package/cjs/components/slider/SliderDocs.js +1 -1
  54. package/cjs/components/slider/SliderDocs.js.map +1 -1
  55. package/cjs/components/step-indicator/StepIndicatorDocs.js +4 -4
  56. package/cjs/components/step-indicator/StepIndicatorDocs.js.map +1 -1
  57. package/cjs/components/timeline/TimelineItem.js +5 -5
  58. package/cjs/components/timeline/TimelineItem.js.map +1 -1
  59. package/cjs/components/toggle-button/ToggleButton.d.ts +1 -1
  60. package/cjs/components/toggle-button/ToggleButtonDocs.js +2 -2
  61. package/cjs/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  62. package/cjs/components/upload/Upload.js +5 -2
  63. package/cjs/components/upload/Upload.js.map +1 -1
  64. package/cjs/components/upload/UploadFileInput.d.ts +2 -1
  65. package/cjs/components/upload/UploadFileInput.js +7 -4
  66. package/cjs/components/upload/UploadFileInput.js.map +1 -1
  67. package/cjs/components/upload/style/dnb-upload.css +0 -1
  68. package/cjs/components/upload/style/dnb-upload.min.css +1 -1
  69. package/cjs/core/jest/jestSetupScreenshots.css +6 -0
  70. package/cjs/extensions/forms/DataContext/Context.d.ts +5 -2
  71. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  72. package/cjs/extensions/forms/DataContext/Provider/Provider.js +22 -4
  73. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  74. package/cjs/extensions/forms/DataContext/Provider/useEventListener.d.ts +3 -0
  75. package/cjs/extensions/forms/DataContext/Provider/useEventListener.js +29 -0
  76. package/cjs/extensions/forms/DataContext/Provider/useEventListener.js.map +1 -0
  77. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +8 -2
  78. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -1
  79. package/cjs/extensions/forms/Field/Date/Date.js +10 -4
  80. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  81. package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js +4 -2
  82. package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  83. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.d.ts +1 -0
  84. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js +12 -5
  85. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  86. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +8 -2
  87. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
  88. package/cjs/extensions/forms/Field/Number/NumberDocs.js +1 -1
  89. package/cjs/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  90. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +8 -2
  91. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -1
  92. package/cjs/extensions/forms/Field/Password/PasswordDocs.js +8 -2
  93. package/cjs/extensions/forms/Field/Password/PasswordDocs.js.map +1 -1
  94. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +1 -1
  95. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  96. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +9 -0
  97. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  98. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +1 -1
  99. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  100. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +3 -3
  101. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +1 -1
  102. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  103. package/cjs/extensions/forms/Field/String/StringDocs.js +7 -7
  104. package/cjs/extensions/forms/Field/String/StringDocs.js.map +1 -1
  105. package/cjs/extensions/forms/Field/Toggle/Toggle.js +2 -2
  106. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  107. package/cjs/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  108. package/cjs/extensions/forms/Field/Upload/Upload.js +3 -1
  109. package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
  110. package/cjs/extensions/forms/Field/Upload/UploadDocs.js.map +1 -1
  111. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +2 -2
  112. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  113. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +1 -1
  114. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  115. package/cjs/extensions/forms/Form/Isolation/IsolatedContainer.js +4 -6
  116. package/cjs/extensions/forms/Form/Isolation/IsolatedContainer.js.map +1 -1
  117. package/cjs/extensions/forms/Form/Isolation/Isolation.js +2 -3
  118. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  119. package/cjs/extensions/forms/Form/Isolation/IsolationDataReference.d.ts +4 -2
  120. package/cjs/extensions/forms/Form/Isolation/IsolationDataReference.js +20 -4
  121. package/cjs/extensions/forms/Form/Isolation/IsolationDataReference.js.map +1 -1
  122. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js +1 -1
  123. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  124. package/cjs/extensions/forms/Form/Isolation/IsolationResetButton.js +2 -1
  125. package/cjs/extensions/forms/Form/Isolation/IsolationResetButton.js.map +1 -1
  126. package/cjs/extensions/forms/Form/Isolation/useDataContextSnapshot.js +15 -8
  127. package/cjs/extensions/forms/Form/Isolation/useDataContextSnapshot.js.map +1 -1
  128. package/cjs/extensions/forms/Form/Isolation/useHandleStatus.d.ts +2 -1
  129. package/cjs/extensions/forms/Form/Isolation/useHandleStatus.js +10 -3
  130. package/cjs/extensions/forms/Form/Isolation/useHandleStatus.js.map +1 -1
  131. package/cjs/extensions/forms/Form/Isolation/useHasContentChanged.d.ts +3 -1
  132. package/cjs/extensions/forms/Form/Isolation/useHasContentChanged.js +4 -1
  133. package/cjs/extensions/forms/Form/Isolation/useHasContentChanged.js.map +1 -1
  134. package/cjs/extensions/forms/Form/Isolation/useReportError.d.ts +1 -1
  135. package/cjs/extensions/forms/Form/Isolation/useReportError.js +22 -7
  136. package/cjs/extensions/forms/Form/Isolation/useReportError.js.map +1 -1
  137. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +6 -6
  138. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  139. package/cjs/extensions/forms/Iterate/EditContainer/ResetButton.js +3 -1
  140. package/cjs/extensions/forms/Iterate/EditContainer/ResetButton.js.map +1 -1
  141. package/cjs/extensions/forms/Iterate/ItemNo/{useIItemNo.js → useIterateItemNo.js} +2 -2
  142. package/cjs/extensions/forms/Iterate/ItemNo/useIterateItemNo.js.map +1 -0
  143. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +3 -1
  144. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +7 -3
  145. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  146. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +6 -1
  147. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  148. package/cjs/extensions/forms/Tools/Errors.d.ts +5 -0
  149. package/cjs/extensions/forms/Tools/Errors.js +46 -0
  150. package/cjs/extensions/forms/Tools/Errors.js.map +1 -0
  151. package/cjs/extensions/forms/Tools/index.d.ts +1 -0
  152. package/cjs/extensions/forms/Tools/index.js +7 -0
  153. package/cjs/extensions/forms/Tools/index.js.map +1 -1
  154. package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +2 -4
  155. package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -1
  156. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +11 -5
  157. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  158. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  159. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  160. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +2 -1
  161. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  162. package/cjs/extensions/forms/Wizard/Step/Step.js +1 -1
  163. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  164. package/cjs/extensions/forms/Wizard/hooks/useStep.js +13 -5
  165. package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  166. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +4 -3
  167. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  168. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  169. package/cjs/extensions/forms/constants/locales/en-GB.js +2 -1
  170. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  171. package/cjs/extensions/forms/constants/locales/en-US.d.ts +1 -0
  172. package/cjs/extensions/forms/constants/locales/index.d.ts +2 -0
  173. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  174. package/cjs/extensions/forms/constants/locales/nb-NO.js +2 -1
  175. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  176. package/cjs/extensions/forms/constants/locales/sv-SE.d.ts +1 -0
  177. package/cjs/extensions/forms/constants/locales/sv-SE.js +2 -1
  178. package/cjs/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  179. package/cjs/extensions/forms/hooks/useFieldProps.js +6 -6
  180. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  181. package/cjs/extensions/payment-card/PaymentCard.js +8 -1
  182. package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
  183. package/cjs/extensions/payment-card/icons/brandLogos/DNB.js +2 -2
  184. package/cjs/extensions/payment-card/icons/brandLogos/DNB.js.map +1 -1
  185. package/cjs/extensions/payment-card/icons/providers/BankAxept.js +2 -2
  186. package/cjs/extensions/payment-card/icons/providers/BankAxept.js.map +1 -1
  187. package/cjs/extensions/payment-card/icons/providers/ClickToPay.js +2 -2
  188. package/cjs/extensions/payment-card/icons/providers/ClickToPay.js.map +1 -1
  189. package/cjs/extensions/payment-card/icons/providers/MastercardDefault.js +2 -2
  190. package/cjs/extensions/payment-card/icons/providers/MastercardDefault.js.map +1 -1
  191. package/cjs/extensions/payment-card/icons/providers/VisaDefault.js +2 -2
  192. package/cjs/extensions/payment-card/icons/providers/VisaDefault.js.map +1 -1
  193. package/cjs/extensions/payment-card/icons/providers/VisaPlatinum.js +2 -2
  194. package/cjs/extensions/payment-card/icons/providers/VisaPlatinum.js.map +1 -1
  195. package/cjs/fragments/drawer-list/DrawerListHelpers.js +2 -1
  196. package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  197. package/cjs/shared/AlignmentHelper.d.ts +14 -8
  198. package/cjs/shared/AlignmentHelper.js +4 -8
  199. package/cjs/shared/AlignmentHelper.js.map +1 -1
  200. package/cjs/shared/BuildInfo.d.cts +2 -0
  201. package/cjs/shared/BuildInfo.js +5 -0
  202. package/cjs/shared/BuildInfo.js.map +1 -0
  203. package/cjs/shared/Eufemia.d.ts +14 -1
  204. package/cjs/shared/Eufemia.js +31 -3
  205. package/cjs/shared/Eufemia.js.map +1 -1
  206. package/cjs/shared/helpers/runCssVersionMismatchWarning.d.ts +0 -7
  207. package/cjs/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  208. package/cjs/shared/useMedia.js +66 -55
  209. package/cjs/shared/useMedia.js.map +1 -1
  210. package/cjs/style/core/helper-classes/helper-classes.scss +3 -0
  211. package/cjs/style/core/scopes.scss +1 -1
  212. package/cjs/style/core/utilities.scss +3 -1
  213. package/cjs/style/dnb-ui-basis.css +13 -2
  214. package/cjs/style/dnb-ui-basis.min.css +1 -1
  215. package/cjs/style/dnb-ui-body.css +1 -2
  216. package/cjs/style/dnb-ui-body.min.css +1 -1
  217. package/cjs/style/dnb-ui-components.css +0 -22
  218. package/cjs/style/dnb-ui-components.min.css +3 -3
  219. package/cjs/style/dnb-ui-core.css +13 -3
  220. package/cjs/style/dnb-ui-core.min.css +1 -1
  221. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +0 -22
  222. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  223. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +0 -22
  224. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  225. package/cjs/style/themes/theme-ui/ui-theme-components.css +0 -22
  226. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  227. package/components/accordion/Accordion.js +2 -3
  228. package/components/accordion/Accordion.js.map +1 -1
  229. package/components/accordion/AccordionContext.d.ts +0 -4
  230. package/components/accordion/AccordionContext.js.map +1 -1
  231. package/components/accordion/AccordionGroup.js +1 -3
  232. package/components/accordion/AccordionGroup.js.map +1 -1
  233. package/components/accordion/AccordionProviderContext.d.ts +0 -4
  234. package/components/accordion/AccordionProviderContext.js +3 -1
  235. package/components/accordion/AccordionProviderContext.js.map +1 -1
  236. package/components/accordion/AccordionStore.js +1 -2
  237. package/components/accordion/AccordionStore.js.map +1 -1
  238. package/components/accordion/style/dnb-accordion.css +0 -6
  239. package/components/accordion/style/dnb-accordion.min.css +1 -1
  240. package/components/accordion/style/dnb-accordion.scss +0 -5
  241. package/components/autocomplete/Autocomplete.d.ts +1 -1
  242. package/components/autocomplete/Autocomplete.js +2 -2
  243. package/components/autocomplete/Autocomplete.js.map +1 -1
  244. package/components/autocomplete/AutocompleteDocs.js +1 -1
  245. package/components/autocomplete/AutocompleteDocs.js.map +1 -1
  246. package/components/button/Button.js +8 -7
  247. package/components/button/Button.js.map +1 -1
  248. package/components/date-picker/DatePickerDocs.js +3 -3
  249. package/components/date-picker/DatePickerDocs.js.map +1 -1
  250. package/components/date-picker/DatePickerInput.js +2 -2
  251. package/components/date-picker/DatePickerInput.js.map +1 -1
  252. package/components/date-picker/style/dnb-date-picker.css +0 -1
  253. package/components/date-picker/style/dnb-date-picker.min.css +1 -1
  254. package/components/dialog/style/dnb-dialog.css +0 -4
  255. package/components/dialog/style/dnb-dialog.min.css +1 -1
  256. package/components/dialog/style/dnb-dialog.scss +0 -5
  257. package/components/drawer/DrawerDocs.js +2 -2
  258. package/components/drawer/DrawerDocs.js.map +1 -1
  259. package/components/drawer/style/dnb-drawer.css +0 -4
  260. package/components/drawer/style/dnb-drawer.min.css +1 -1
  261. package/components/drawer/style/dnb-drawer.scss +0 -5
  262. package/components/dropdown/Dropdown.js +2 -2
  263. package/components/dropdown/Dropdown.js.map +1 -1
  264. package/components/form-label/style/dnb-form-label.css +0 -1
  265. package/components/form-label/style/dnb-form-label.min.css +1 -1
  266. package/components/form-row/FormRow.d.ts +1 -1
  267. package/components/form-row/FormRowDocs.js +1 -1
  268. package/components/form-row/FormRowDocs.js.map +1 -1
  269. package/components/input-masked/style/dnb-input-masked.css +0 -1
  270. package/components/input-masked/style/dnb-input-masked.min.css +1 -1
  271. package/components/list-format/ListFormatDocs.js +2 -2
  272. package/components/list-format/ListFormatDocs.js.map +1 -1
  273. package/components/modal/style/dnb-modal.css +0 -4
  274. package/components/modal/style/dnb-modal.min.css +1 -1
  275. package/components/modal/style/dnb-modal.scss +0 -5
  276. package/components/pagination/PaginationDocs.js +2 -2
  277. package/components/pagination/PaginationDocs.js.map +1 -1
  278. package/components/slider/SliderDocs.js +1 -1
  279. package/components/slider/SliderDocs.js.map +1 -1
  280. package/components/step-indicator/StepIndicatorDocs.js +4 -4
  281. package/components/step-indicator/StepIndicatorDocs.js.map +1 -1
  282. package/components/timeline/TimelineItem.js +5 -5
  283. package/components/timeline/TimelineItem.js.map +1 -1
  284. package/components/toggle-button/ToggleButton.d.ts +1 -1
  285. package/components/toggle-button/ToggleButtonDocs.js +2 -2
  286. package/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  287. package/components/upload/Upload.js +5 -2
  288. package/components/upload/Upload.js.map +1 -1
  289. package/components/upload/UploadFileInput.d.ts +2 -1
  290. package/components/upload/UploadFileInput.js +7 -4
  291. package/components/upload/UploadFileInput.js.map +1 -1
  292. package/components/upload/style/dnb-upload.css +0 -1
  293. package/components/upload/style/dnb-upload.min.css +1 -1
  294. package/core/jest/jestSetupScreenshots.css +6 -0
  295. package/es/components/accordion/Accordion.js +2 -3
  296. package/es/components/accordion/Accordion.js.map +1 -1
  297. package/es/components/accordion/AccordionContext.d.ts +0 -4
  298. package/es/components/accordion/AccordionContext.js.map +1 -1
  299. package/es/components/accordion/AccordionGroup.js +1 -3
  300. package/es/components/accordion/AccordionGroup.js.map +1 -1
  301. package/es/components/accordion/AccordionProviderContext.d.ts +0 -4
  302. package/es/components/accordion/AccordionProviderContext.js +3 -1
  303. package/es/components/accordion/AccordionProviderContext.js.map +1 -1
  304. package/es/components/accordion/AccordionStore.js +1 -2
  305. package/es/components/accordion/AccordionStore.js.map +1 -1
  306. package/es/components/accordion/style/dnb-accordion.css +0 -6
  307. package/es/components/accordion/style/dnb-accordion.min.css +1 -1
  308. package/es/components/accordion/style/dnb-accordion.scss +0 -5
  309. package/es/components/autocomplete/Autocomplete.d.ts +1 -1
  310. package/es/components/autocomplete/Autocomplete.js +2 -2
  311. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  312. package/es/components/autocomplete/AutocompleteDocs.js +1 -1
  313. package/es/components/autocomplete/AutocompleteDocs.js.map +1 -1
  314. package/es/components/button/Button.js +8 -7
  315. package/es/components/button/Button.js.map +1 -1
  316. package/es/components/date-picker/DatePickerDocs.js +3 -3
  317. package/es/components/date-picker/DatePickerDocs.js.map +1 -1
  318. package/es/components/date-picker/DatePickerInput.js +2 -2
  319. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  320. package/es/components/date-picker/style/dnb-date-picker.css +0 -1
  321. package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
  322. package/es/components/dialog/style/dnb-dialog.css +0 -4
  323. package/es/components/dialog/style/dnb-dialog.min.css +1 -1
  324. package/es/components/dialog/style/dnb-dialog.scss +0 -5
  325. package/es/components/drawer/DrawerDocs.js +2 -2
  326. package/es/components/drawer/DrawerDocs.js.map +1 -1
  327. package/es/components/drawer/style/dnb-drawer.css +0 -4
  328. package/es/components/drawer/style/dnb-drawer.min.css +1 -1
  329. package/es/components/drawer/style/dnb-drawer.scss +0 -5
  330. package/es/components/dropdown/Dropdown.js +2 -2
  331. package/es/components/dropdown/Dropdown.js.map +1 -1
  332. package/es/components/form-label/style/dnb-form-label.css +0 -1
  333. package/es/components/form-label/style/dnb-form-label.min.css +1 -1
  334. package/es/components/form-row/FormRow.d.ts +1 -1
  335. package/es/components/form-row/FormRowDocs.js +1 -1
  336. package/es/components/form-row/FormRowDocs.js.map +1 -1
  337. package/es/components/input-masked/style/dnb-input-masked.css +0 -1
  338. package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
  339. package/es/components/list-format/ListFormatDocs.js +2 -2
  340. package/es/components/list-format/ListFormatDocs.js.map +1 -1
  341. package/es/components/modal/style/dnb-modal.css +0 -4
  342. package/es/components/modal/style/dnb-modal.min.css +1 -1
  343. package/es/components/modal/style/dnb-modal.scss +0 -5
  344. package/es/components/pagination/PaginationDocs.js +2 -2
  345. package/es/components/pagination/PaginationDocs.js.map +1 -1
  346. package/es/components/slider/SliderDocs.js +1 -1
  347. package/es/components/slider/SliderDocs.js.map +1 -1
  348. package/es/components/step-indicator/StepIndicatorDocs.js +4 -4
  349. package/es/components/step-indicator/StepIndicatorDocs.js.map +1 -1
  350. package/es/components/timeline/TimelineItem.js +5 -5
  351. package/es/components/timeline/TimelineItem.js.map +1 -1
  352. package/es/components/toggle-button/ToggleButton.d.ts +1 -1
  353. package/es/components/toggle-button/ToggleButtonDocs.js +2 -2
  354. package/es/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  355. package/es/components/upload/Upload.js +5 -2
  356. package/es/components/upload/Upload.js.map +1 -1
  357. package/es/components/upload/UploadFileInput.d.ts +2 -1
  358. package/es/components/upload/UploadFileInput.js +7 -4
  359. package/es/components/upload/UploadFileInput.js.map +1 -1
  360. package/es/components/upload/style/dnb-upload.css +0 -1
  361. package/es/components/upload/style/dnb-upload.min.css +1 -1
  362. package/es/core/jest/jestSetupScreenshots.css +6 -0
  363. package/es/extensions/forms/DataContext/Context.d.ts +5 -2
  364. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  365. package/es/extensions/forms/DataContext/Provider/Provider.js +22 -4
  366. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  367. package/es/extensions/forms/DataContext/Provider/useEventListener.d.ts +3 -0
  368. package/es/extensions/forms/DataContext/Provider/useEventListener.js +22 -0
  369. package/es/extensions/forms/DataContext/Provider/useEventListener.js.map +1 -0
  370. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +6 -2
  371. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -1
  372. package/es/extensions/forms/Field/Date/Date.js +10 -4
  373. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  374. package/es/extensions/forms/Field/Indeterminate/Indeterminate.js +4 -2
  375. package/es/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  376. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.d.ts +1 -0
  377. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js +12 -5
  378. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  379. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +6 -2
  380. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
  381. package/es/extensions/forms/Field/Number/NumberDocs.js +1 -1
  382. package/es/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  383. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +6 -2
  384. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -1
  385. package/es/extensions/forms/Field/Password/PasswordDocs.js +6 -2
  386. package/es/extensions/forms/Field/Password/PasswordDocs.js.map +1 -1
  387. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +1 -1
  388. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  389. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +7 -0
  390. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  391. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +1 -1
  392. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  393. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +3 -3
  394. package/es/extensions/forms/Field/Selection/SelectionDocs.js +1 -1
  395. package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  396. package/es/extensions/forms/Field/String/StringDocs.js +7 -7
  397. package/es/extensions/forms/Field/String/StringDocs.js.map +1 -1
  398. package/es/extensions/forms/Field/Toggle/Toggle.js +1 -1
  399. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  400. package/es/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  401. package/es/extensions/forms/Field/Upload/Upload.js +3 -1
  402. package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
  403. package/es/extensions/forms/Field/Upload/UploadDocs.js.map +1 -1
  404. package/es/extensions/forms/FieldBlock/FieldBlock.js +1 -1
  405. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  406. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +1 -1
  407. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  408. package/es/extensions/forms/Form/Isolation/IsolatedContainer.js +4 -6
  409. package/es/extensions/forms/Form/Isolation/IsolatedContainer.js.map +1 -1
  410. package/es/extensions/forms/Form/Isolation/Isolation.js +2 -3
  411. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  412. package/es/extensions/forms/Form/Isolation/IsolationDataReference.d.ts +4 -2
  413. package/es/extensions/forms/Form/Isolation/IsolationDataReference.js +18 -4
  414. package/es/extensions/forms/Form/Isolation/IsolationDataReference.js.map +1 -1
  415. package/es/extensions/forms/Form/Isolation/IsolationDocs.js +1 -1
  416. package/es/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  417. package/es/extensions/forms/Form/Isolation/IsolationResetButton.js +2 -1
  418. package/es/extensions/forms/Form/Isolation/IsolationResetButton.js.map +1 -1
  419. package/es/extensions/forms/Form/Isolation/useDataContextSnapshot.js +14 -8
  420. package/es/extensions/forms/Form/Isolation/useDataContextSnapshot.js.map +1 -1
  421. package/es/extensions/forms/Form/Isolation/useHandleStatus.d.ts +2 -1
  422. package/es/extensions/forms/Form/Isolation/useHandleStatus.js +10 -3
  423. package/es/extensions/forms/Form/Isolation/useHandleStatus.js.map +1 -1
  424. package/es/extensions/forms/Form/Isolation/useHasContentChanged.d.ts +3 -1
  425. package/es/extensions/forms/Form/Isolation/useHasContentChanged.js +4 -2
  426. package/es/extensions/forms/Form/Isolation/useHasContentChanged.js.map +1 -1
  427. package/es/extensions/forms/Form/Isolation/useReportError.d.ts +1 -1
  428. package/es/extensions/forms/Form/Isolation/useReportError.js +22 -7
  429. package/es/extensions/forms/Form/Isolation/useReportError.js.map +1 -1
  430. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +6 -6
  431. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  432. package/es/extensions/forms/Iterate/EditContainer/ResetButton.js +3 -1
  433. package/es/extensions/forms/Iterate/EditContainer/ResetButton.js.map +1 -1
  434. package/es/extensions/forms/Iterate/ItemNo/{useIItemNo.js → useIterateItemNo.js} +2 -2
  435. package/es/extensions/forms/Iterate/ItemNo/useIterateItemNo.js.map +1 -0
  436. package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +3 -1
  437. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +7 -3
  438. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  439. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +6 -1
  440. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  441. package/es/extensions/forms/Tools/Errors.d.ts +5 -0
  442. package/es/extensions/forms/Tools/Errors.js +37 -0
  443. package/es/extensions/forms/Tools/Errors.js.map +1 -0
  444. package/es/extensions/forms/Tools/index.d.ts +1 -0
  445. package/es/extensions/forms/Tools/index.js +1 -0
  446. package/es/extensions/forms/Tools/index.js.map +1 -1
  447. package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +2 -4
  448. package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -1
  449. package/es/extensions/forms/Wizard/Container/WizardContainer.js +11 -5
  450. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  451. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  452. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  453. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +2 -1
  454. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  455. package/es/extensions/forms/Wizard/Step/Step.js +1 -1
  456. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  457. package/es/extensions/forms/Wizard/hooks/useStep.js +13 -5
  458. package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  459. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +4 -3
  460. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  461. package/es/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  462. package/es/extensions/forms/constants/locales/en-GB.js +2 -1
  463. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  464. package/es/extensions/forms/constants/locales/en-US.d.ts +1 -0
  465. package/es/extensions/forms/constants/locales/index.d.ts +2 -0
  466. package/es/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  467. package/es/extensions/forms/constants/locales/nb-NO.js +2 -1
  468. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  469. package/es/extensions/forms/constants/locales/sv-SE.d.ts +1 -0
  470. package/es/extensions/forms/constants/locales/sv-SE.js +2 -1
  471. package/es/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  472. package/es/extensions/forms/hooks/useFieldProps.js +8 -8
  473. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  474. package/es/extensions/payment-card/PaymentCard.js +1 -0
  475. package/es/extensions/payment-card/PaymentCard.js.map +1 -1
  476. package/es/extensions/payment-card/icons/brandLogos/DNB.js +2 -2
  477. package/es/extensions/payment-card/icons/brandLogos/DNB.js.map +1 -1
  478. package/es/extensions/payment-card/icons/providers/BankAxept.js +2 -2
  479. package/es/extensions/payment-card/icons/providers/BankAxept.js.map +1 -1
  480. package/es/extensions/payment-card/icons/providers/ClickToPay.js +2 -2
  481. package/es/extensions/payment-card/icons/providers/ClickToPay.js.map +1 -1
  482. package/es/extensions/payment-card/icons/providers/MastercardDefault.js +2 -2
  483. package/es/extensions/payment-card/icons/providers/MastercardDefault.js.map +1 -1
  484. package/es/extensions/payment-card/icons/providers/VisaDefault.js +2 -2
  485. package/es/extensions/payment-card/icons/providers/VisaDefault.js.map +1 -1
  486. package/es/extensions/payment-card/icons/providers/VisaPlatinum.js +2 -2
  487. package/es/extensions/payment-card/icons/providers/VisaPlatinum.js.map +1 -1
  488. package/es/fragments/drawer-list/DrawerListHelpers.js +2 -1
  489. package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  490. package/es/shared/AlignmentHelper.d.ts +14 -8
  491. package/es/shared/AlignmentHelper.js +4 -8
  492. package/es/shared/AlignmentHelper.js.map +1 -1
  493. package/es/shared/BuildInfo.cjs +6 -0
  494. package/es/shared/BuildInfo.d.cts +2 -0
  495. package/es/shared/Eufemia.d.ts +14 -1
  496. package/es/shared/Eufemia.js +27 -2
  497. package/es/shared/Eufemia.js.map +1 -1
  498. package/es/shared/helpers/runCssVersionMismatchWarning.d.ts +0 -7
  499. package/es/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  500. package/es/shared/useMedia.js +66 -55
  501. package/es/shared/useMedia.js.map +1 -1
  502. package/es/style/core/helper-classes/helper-classes.scss +3 -0
  503. package/es/style/core/scopes.scss +1 -1
  504. package/es/style/core/utilities.scss +3 -1
  505. package/es/style/dnb-ui-basis.css +13 -2
  506. package/es/style/dnb-ui-basis.min.css +1 -1
  507. package/es/style/dnb-ui-body.css +1 -2
  508. package/es/style/dnb-ui-body.min.css +1 -1
  509. package/es/style/dnb-ui-components.css +0 -22
  510. package/es/style/dnb-ui-components.min.css +3 -3
  511. package/es/style/dnb-ui-core.css +13 -3
  512. package/es/style/dnb-ui-core.min.css +1 -1
  513. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +0 -22
  514. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  515. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +0 -22
  516. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  517. package/es/style/themes/theme-ui/ui-theme-components.css +0 -22
  518. package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  519. package/esm/dnb-ui-components.min.mjs +1 -1
  520. package/esm/dnb-ui-elements.min.mjs +1 -1
  521. package/esm/dnb-ui-extensions.min.mjs +3 -3
  522. package/esm/dnb-ui-lib.min.mjs +1 -1
  523. package/extensions/forms/DataContext/Context.d.ts +5 -2
  524. package/extensions/forms/DataContext/Context.js.map +1 -1
  525. package/extensions/forms/DataContext/Provider/Provider.js +22 -4
  526. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  527. package/extensions/forms/DataContext/Provider/useEventListener.d.ts +3 -0
  528. package/extensions/forms/DataContext/Provider/useEventListener.js +23 -0
  529. package/extensions/forms/DataContext/Provider/useEventListener.js.map +1 -0
  530. package/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +6 -2
  531. package/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -1
  532. package/extensions/forms/Field/Date/Date.js +10 -4
  533. package/extensions/forms/Field/Date/Date.js.map +1 -1
  534. package/extensions/forms/Field/Indeterminate/Indeterminate.js +4 -2
  535. package/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  536. package/extensions/forms/Field/Indeterminate/useDependencePaths.d.ts +1 -0
  537. package/extensions/forms/Field/Indeterminate/useDependencePaths.js +12 -5
  538. package/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  539. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +6 -2
  540. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
  541. package/extensions/forms/Field/Number/NumberDocs.js +1 -1
  542. package/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  543. package/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +6 -2
  544. package/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -1
  545. package/extensions/forms/Field/Password/PasswordDocs.js +6 -2
  546. package/extensions/forms/Field/Password/PasswordDocs.js.map +1 -1
  547. package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +1 -1
  548. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  549. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +7 -0
  550. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  551. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +1 -1
  552. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  553. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +3 -3
  554. package/extensions/forms/Field/Selection/SelectionDocs.js +1 -1
  555. package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  556. package/extensions/forms/Field/String/StringDocs.js +7 -7
  557. package/extensions/forms/Field/String/StringDocs.js.map +1 -1
  558. package/extensions/forms/Field/Toggle/Toggle.js +1 -1
  559. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  560. package/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  561. package/extensions/forms/Field/Upload/Upload.js +3 -1
  562. package/extensions/forms/Field/Upload/Upload.js.map +1 -1
  563. package/extensions/forms/Field/Upload/UploadDocs.js.map +1 -1
  564. package/extensions/forms/FieldBlock/FieldBlock.js +1 -1
  565. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  566. package/extensions/forms/FieldBlock/FieldBlockDocs.js +1 -1
  567. package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  568. package/extensions/forms/Form/Isolation/IsolatedContainer.js +4 -6
  569. package/extensions/forms/Form/Isolation/IsolatedContainer.js.map +1 -1
  570. package/extensions/forms/Form/Isolation/Isolation.js +2 -3
  571. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  572. package/extensions/forms/Form/Isolation/IsolationDataReference.d.ts +4 -2
  573. package/extensions/forms/Form/Isolation/IsolationDataReference.js +20 -4
  574. package/extensions/forms/Form/Isolation/IsolationDataReference.js.map +1 -1
  575. package/extensions/forms/Form/Isolation/IsolationDocs.js +1 -1
  576. package/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  577. package/extensions/forms/Form/Isolation/IsolationResetButton.js +2 -1
  578. package/extensions/forms/Form/Isolation/IsolationResetButton.js.map +1 -1
  579. package/extensions/forms/Form/Isolation/useDataContextSnapshot.js +15 -8
  580. package/extensions/forms/Form/Isolation/useDataContextSnapshot.js.map +1 -1
  581. package/extensions/forms/Form/Isolation/useHandleStatus.d.ts +2 -1
  582. package/extensions/forms/Form/Isolation/useHandleStatus.js +10 -3
  583. package/extensions/forms/Form/Isolation/useHandleStatus.js.map +1 -1
  584. package/extensions/forms/Form/Isolation/useHasContentChanged.d.ts +3 -1
  585. package/extensions/forms/Form/Isolation/useHasContentChanged.js +4 -1
  586. package/extensions/forms/Form/Isolation/useHasContentChanged.js.map +1 -1
  587. package/extensions/forms/Form/Isolation/useReportError.d.ts +1 -1
  588. package/extensions/forms/Form/Isolation/useReportError.js +22 -7
  589. package/extensions/forms/Form/Isolation/useReportError.js.map +1 -1
  590. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +6 -6
  591. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  592. package/extensions/forms/Iterate/EditContainer/ResetButton.js +3 -1
  593. package/extensions/forms/Iterate/EditContainer/ResetButton.js.map +1 -1
  594. package/extensions/forms/Iterate/ItemNo/{useIItemNo.js → useIterateItemNo.js} +2 -2
  595. package/extensions/forms/Iterate/ItemNo/useIterateItemNo.js.map +1 -0
  596. package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +3 -1
  597. package/extensions/forms/Iterate/PushContainer/PushContainer.js +7 -3
  598. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  599. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +6 -1
  600. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  601. package/extensions/forms/Tools/Errors.d.ts +5 -0
  602. package/extensions/forms/Tools/Errors.js +38 -0
  603. package/extensions/forms/Tools/Errors.js.map +1 -0
  604. package/extensions/forms/Tools/index.d.ts +1 -0
  605. package/extensions/forms/Tools/index.js +1 -0
  606. package/extensions/forms/Tools/index.js.map +1 -1
  607. package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +2 -4
  608. package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -1
  609. package/extensions/forms/Wizard/Container/WizardContainer.js +11 -5
  610. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  611. package/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  612. package/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  613. package/extensions/forms/Wizard/Context/WizardContext.d.ts +2 -1
  614. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  615. package/extensions/forms/Wizard/Step/Step.js +1 -1
  616. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  617. package/extensions/forms/Wizard/hooks/useStep.js +13 -5
  618. package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  619. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +4 -3
  620. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  621. package/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  622. package/extensions/forms/constants/locales/en-GB.js +2 -1
  623. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  624. package/extensions/forms/constants/locales/en-US.d.ts +1 -0
  625. package/extensions/forms/constants/locales/index.d.ts +2 -0
  626. package/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  627. package/extensions/forms/constants/locales/nb-NO.js +2 -1
  628. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  629. package/extensions/forms/constants/locales/sv-SE.d.ts +1 -0
  630. package/extensions/forms/constants/locales/sv-SE.js +2 -1
  631. package/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  632. package/extensions/forms/hooks/useFieldProps.js +8 -8
  633. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  634. package/extensions/payment-card/PaymentCard.js +1 -0
  635. package/extensions/payment-card/PaymentCard.js.map +1 -1
  636. package/extensions/payment-card/icons/brandLogos/DNB.js +2 -2
  637. package/extensions/payment-card/icons/brandLogos/DNB.js.map +1 -1
  638. package/extensions/payment-card/icons/providers/BankAxept.js +2 -2
  639. package/extensions/payment-card/icons/providers/BankAxept.js.map +1 -1
  640. package/extensions/payment-card/icons/providers/ClickToPay.js +2 -2
  641. package/extensions/payment-card/icons/providers/ClickToPay.js.map +1 -1
  642. package/extensions/payment-card/icons/providers/MastercardDefault.js +2 -2
  643. package/extensions/payment-card/icons/providers/MastercardDefault.js.map +1 -1
  644. package/extensions/payment-card/icons/providers/VisaDefault.js +2 -2
  645. package/extensions/payment-card/icons/providers/VisaDefault.js.map +1 -1
  646. package/extensions/payment-card/icons/providers/VisaPlatinum.js +2 -2
  647. package/extensions/payment-card/icons/providers/VisaPlatinum.js.map +1 -1
  648. package/fragments/drawer-list/DrawerListHelpers.js +2 -1
  649. package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  650. package/package.json +1 -1
  651. package/shared/AlignmentHelper.d.ts +14 -8
  652. package/shared/AlignmentHelper.js +4 -8
  653. package/shared/AlignmentHelper.js.map +1 -1
  654. package/shared/BuildInfo.cjs +6 -0
  655. package/shared/BuildInfo.d.cts +2 -0
  656. package/shared/Eufemia.d.ts +14 -1
  657. package/shared/Eufemia.js +27 -2
  658. package/shared/Eufemia.js.map +1 -1
  659. package/shared/helpers/runCssVersionMismatchWarning.d.ts +0 -7
  660. package/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  661. package/shared/useMedia.js +67 -56
  662. package/shared/useMedia.js.map +1 -1
  663. package/style/core/helper-classes/helper-classes.scss +3 -0
  664. package/style/core/scopes.scss +1 -1
  665. package/style/core/utilities.scss +3 -1
  666. package/style/dnb-ui-basis.css +13 -2
  667. package/style/dnb-ui-basis.min.css +1 -1
  668. package/style/dnb-ui-body.css +1 -2
  669. package/style/dnb-ui-body.min.css +1 -1
  670. package/style/dnb-ui-components.css +0 -22
  671. package/style/dnb-ui-components.min.css +3 -3
  672. package/style/dnb-ui-core.css +13 -3
  673. package/style/dnb-ui-core.min.css +1 -1
  674. package/style/themes/theme-eiendom/eiendom-theme-components.css +0 -22
  675. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  676. package/style/themes/theme-sbanken/sbanken-theme-components.css +0 -22
  677. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  678. package/style/themes/theme-ui/ui-theme-components.css +0 -22
  679. package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  680. package/umd/dnb-ui-components.min.js +1 -1
  681. package/umd/dnb-ui-elements.min.js +1 -1
  682. package/umd/dnb-ui-extensions.min.js +1 -1
  683. package/umd/dnb-ui-lib.min.js +1 -1
  684. package/cjs/extensions/forms/Iterate/ItemNo/useIItemNo.js.map +0 -1
  685. package/es/extensions/forms/Iterate/ItemNo/useIItemNo.js.map +0 -1
  686. package/extensions/forms/Iterate/ItemNo/useIItemNo.js.map +0 -1
  687. /package/cjs/extensions/forms/Iterate/ItemNo/{useIItemNo.d.ts → useIterateItemNo.d.ts} +0 -0
  688. /package/es/extensions/forms/Iterate/ItemNo/{useIItemNo.d.ts → useIterateItemNo.d.ts} +0 -0
  689. /package/extensions/forms/Iterate/ItemNo/{useIItemNo.d.ts → useIterateItemNo.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Isolation.js","names":["_react","_interopRequireWildcard","require","_useMountEffect","_interopRequireDefault","_jsonPointer","_componentHelper","_isAsync","_useDataValue","_DataContext","_SectionContext","_useReportError","_IsolationCommitButton","_IsolationResetButton","_Provider","_IsolationDataReference","_IsolatedContainer2","_IsolationContext","_structuredClone","_BubbleValidation","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","IsolationProvider","props","_IsolatedContainer","dataReferenceFallback","useState","dataReference","createDataReference","children","onPathChange","onCommit","onCommitProp","onClear","onClearProp","transformOnCommit","transformOnCommitProp","commitHandleRef","bubbleValidation","preventUncommittedChanges","data","defaultData","resetDataAfterCommit","forceUpdate","useReducer","internalDataRef","useRef","localDataRef","dataContextRef","outerContext","useContext","DataContext","path","pathSection","SectionContext","handlePathChange","handlePathChangeOuter","dataOuter","moveValueToPath","useDataValue","onPathChangeHandler","useCallback","current","clearedData","pointer","replace","onUpdateDataValueHandler","preventUpdate","undefined","removeSectionPath","getMountedData","_dataContextRef$curre","mounterData","mountedFieldsRef","field","isMounted","useMountEffect","useMemo","localData","assign","structuredClone","additionalArgs","_props$path","mountedData","outerData","isolatedData","stop","preventCommit","commitData","result","isAsync","Array","isArray","extendDeep","setIsolatedData","providerProps","onUpdateDataValue","isolate","createElement","Provider","Context","Consumer","dataContext","handleSubmit","BubbleValidation","_addSetShowAllErrorsR","innerContext","IsolationContext","setShowAllErrors","setShowAllErrorsNested","showAllErrors","addSetShowAllErrorsRef","includes","useReportError","hasErrors","isolationError","Error","CommitButton","IsolationCommitButton","ResetButton","IsolationResetButton","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Form/Isolation/Isolation.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from 'react'\nimport useMountEffect from '../../../../shared/helpers/useMountEffect'\nimport pointer, { JsonObject } from '../../utils/json-pointer'\nimport { extendDeep } from '../../../../shared/component-helper'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport useDataValue from '../../hooks/useDataValue'\nimport {\n Context as DataContext,\n ContextState,\n Provider,\n} from '../../DataContext'\nimport SectionContext from '../Section/SectionContext'\nimport useReportError from './useReportError'\nimport IsolationCommitButton from './IsolationCommitButton'\nimport IsolationResetButton from './IsolationResetButton'\nimport {\n clearedData,\n type Props as ProviderProps,\n} from '../../DataContext/Provider'\nimport {\n IsolationDataReference,\n createDataReference,\n} from './IsolationDataReference'\nimport IsolatedContainer from './IsolatedContainer'\nimport IsolationContext from './IsolationContext'\nimport type { OnCommit, Path } from '../../types'\n\n/**\n * Deprecated, as it is supported by all major browsers and Node.js >=v18\n * So it's a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\nexport type IsolationProviderProps<Data extends JsonObject> = {\n /**\n * Form.Isolation: Will be called when the isolated context is committed.\n */\n onCommit?: OnCommit<Data>\n /**\n * Form.Isolation: Will be called when the form is cleared via Form.clearData\n */\n onClear?: () => void\n /**\n * Form.Isolation: A function that will be called when the isolated context is committed.\n * It will receive the data from the isolated context and the data from the outer context.\n * You can use this to transform the data before it is committed.\n */\n transformOnCommit?: (isolatedData: Data, handlerData: Data) => JsonObject\n /**\n * Prevent the form from being submitted when there are fields with errors inside the Form.Isolation.\n */\n bubbleValidation?: boolean\n /**\n * Prevents uncommitted changes before the form is submitted. Will display an error message if user tries to submit without committing their changes.\n */\n preventUncommittedChanges?: boolean\n /**\n * If set to `true`, the Form.Isolation will reset its data context after committing the data to the outer context.\n */\n resetDataAfterCommit?: boolean\n /**\n * Provide a reference by using Form.Isolation.createDataReference.\n */\n dataReference?: IsolationDataReference\n /**\n * Used internally by the Form.Isolation component\n */\n path?: Path\n /**\n * Used internally by the Form.Isolation component\n */\n isolate?: boolean\n}\n\nexport type IsolationProps<Data extends JsonObject> = Omit<\n ProviderProps<Data>,\n | 'onSubmit'\n | 'onSubmitRequest'\n | 'onSubmitComplete'\n | 'minimumAsyncBehaviorTime'\n | 'asyncSubmitTimeout'\n | 'scrollTopOnSubmit'\n | 'sessionStorageId'\n | 'globalStatusId'\n> & {\n /**\n * A ref (function) that you can call in order to commit the data programmatically to the outer context.\n */\n commitHandleRef?: React.MutableRefObject<() => void>\n}\n\nfunction IsolationProvider<Data extends JsonObject>(\n props: IsolationProps<Data>\n) {\n const [dataReferenceFallback] = useState<IsolationDataReference>(() => {\n if (!props?.dataReference) {\n return createDataReference()\n }\n })\n\n const {\n children,\n onPathChange,\n onCommit: onCommitProp,\n onClear: onClearProp,\n transformOnCommit: transformOnCommitProp,\n commitHandleRef,\n bubbleValidation,\n preventUncommittedChanges,\n data,\n defaultData,\n dataReference = dataReferenceFallback,\n resetDataAfterCommit,\n } = props\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const internalDataRef = useRef<Data>()\n const localDataRef = useRef<Partial<Data>>({})\n const dataContextRef = useRef<ContextState>(null)\n const outerContext = useContext(DataContext)\n const { path: pathSection } = useContext(SectionContext) || {}\n const { handlePathChange: handlePathChangeOuter, data: dataOuter } =\n outerContext || {}\n const { moveValueToPath } = useDataValue()\n\n const onPathChangeHandler = useCallback(\n async (path: Path, value: unknown) => {\n if (localDataRef.current === clearedData) {\n localDataRef.current = {}\n }\n\n // Depending on the usage, we can get a path like so: \"/pushContainerItems/0/somePath\"\n // where \"somePath\" is a frozen object. In order to still be able to modify it,\n // pointer.set will unfreeze the object and then modify it. (Object.isFrozen(obj[tok]))\n\n pointer.set(localDataRef.current, path, value)\n\n if (pathSection) {\n path = path.replace(pathSection, '')\n }\n\n return await onPathChange?.(path, value)\n },\n [onPathChange, pathSection]\n )\n\n const onUpdateDataValueHandler = useCallback(\n async (\n path: Path,\n value: unknown,\n { preventUpdate = undefined } = {}\n ) => {\n if (internalDataRef.current === clearedData) {\n internalDataRef.current = {} as Data\n }\n\n pointer.set(internalDataRef.current, path, value)\n\n if (!preventUpdate) {\n forceUpdate()\n }\n },\n []\n )\n\n const removeSectionPath = useCallback(\n (data: Data) => {\n return pathSection && pointer.has(data, pathSection)\n ? pointer.get(data, pathSection)\n : data\n },\n [pathSection]\n )\n\n const getMountedData = useCallback((data: Data) => {\n const mounterData = {} as Data\n dataContextRef.current?.mountedFieldsRef.current.forEach(\n (field, path) => {\n if (field.isMounted && pointer.has(data, path)) {\n pointer.set(mounterData, path, pointer.get(data, path))\n }\n }\n )\n return mounterData\n }, [])\n\n useMountEffect(() => {\n localDataRef.current = getMountedData(internalDataRef.current)\n })\n\n // Update the isolated data with the outside context data\n useMemo(() => {\n if (localDataRef.current === clearedData) {\n return // stop here\n }\n\n let localData = data ?? defaultData\n\n if (\n localData &&\n pathSection &&\n !pointer.has(localDataRef.current, pathSection)\n ) {\n localData = moveValueToPath<Data>(pathSection, localData)\n }\n\n internalDataRef.current = Object.assign(\n {},\n localData || structuredClone(dataOuter) || {},\n localDataRef.current\n )\n }, [data, defaultData, pathSection, dataOuter, moveValueToPath])\n\n const onCommit: IsolationProps<Data>['onCommit'] = useCallback(\n async (data: Data, additionalArgs) => {\n const mountedData = getMountedData(data)\n const path = props.path ?? '/'\n const outerData =\n props.path && pointer.has(dataOuter, path)\n ? pointer.get(dataOuter, path)\n : dataOuter\n\n localDataRef.current = mountedData\n let isolatedData = structuredClone(mountedData)\n\n if (typeof transformOnCommitProp === 'function') {\n isolatedData = transformOnCommitProp(isolatedData, outerData)\n }\n\n let stop = false\n additionalArgs.preventCommit = () => (stop = true)\n\n const commitData = removeSectionPath(isolatedData)\n const result = isAsync(onCommitProp)\n ? await onCommitProp?.(commitData, additionalArgs)\n : onCommitProp?.(commitData, additionalArgs)\n\n if (stop) {\n return // stop here\n }\n\n // Commit the internal data to the nested context data\n await handlePathChangeOuter?.(\n path,\n Array.isArray(isolatedData)\n ? isolatedData\n : extendDeep({}, outerData, isolatedData)\n )\n\n return result\n },\n [\n getMountedData,\n props.path,\n dataOuter,\n transformOnCommitProp,\n handlePathChangeOuter,\n onCommitProp,\n removeSectionPath,\n ]\n )\n\n const setIsolatedData = useCallback((data: Data) => {\n localDataRef.current = data\n internalDataRef.current = data\n }, [])\n\n const onClear = useCallback(() => {\n setIsolatedData(clearedData as Data)\n forceUpdate()\n onClearProp?.()\n }, [onClearProp, setIsolatedData])\n\n const providerProps: IsolationProps<Data> = {\n ...props,\n [defaultData ? 'defaultData' : 'data']: internalDataRef.current,\n onUpdateDataValue: onUpdateDataValueHandler,\n onPathChange: onPathChangeHandler,\n onCommit,\n onClear,\n isolate: true,\n }\n\n return (\n <Provider {...providerProps}>\n <IsolationContext.Provider\n value={{\n preventUncommittedChanges,\n dataReference,\n resetDataAfterCommit,\n outerContext,\n setIsolatedData,\n }}\n >\n <DataContext.Consumer>\n {(dataContext) => {\n dataContextRef.current = dataContext\n\n if (commitHandleRef) {\n commitHandleRef.current = dataContext?.handleSubmit\n }\n\n return <IsolatedContainer>{children} </IsolatedContainer>\n }}\n </DataContext.Consumer>\n\n {bubbleValidation && <BubbleValidation />}\n </IsolationContext.Provider>\n </Provider>\n )\n}\n\nfunction BubbleValidation() {\n const innerContext = useContext(DataContext)\n const { outerContext } = useContext(IsolationContext)\n const { setShowAllErrors } = innerContext\n\n const setShowAllErrorsNested = useCallback(\n (showAllErrors: boolean) => {\n setShowAllErrors?.(showAllErrors)\n },\n [setShowAllErrors]\n )\n\n const { addSetShowAllErrorsRef } = outerContext || {}\n if (!addSetShowAllErrorsRef?.current?.includes(setShowAllErrorsNested)) {\n addSetShowAllErrorsRef?.current.push(setShowAllErrorsNested)\n }\n\n useReportError(\n innerContext.hasErrors() ? isolationError : undefined,\n outerContext\n )\n\n return null\n}\n\nconst isolationError = new Error('Form.Isolation')\n\nIsolationProvider.CommitButton = IsolationCommitButton\nIsolationProvider.ResetButton = IsolationResetButton\nIsolationProvider.createDataReference = createDataReference\nIsolationProvider._supportsSpacingProps = undefined\n\nexport default IsolationProvider\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Isolation.js","names":["_react","_interopRequireWildcard","require","_useMountEffect","_interopRequireDefault","_jsonPointer","_componentHelper","_isAsync","_useDataValue","_DataContext","_SectionContext","_useReportError","_IsolationCommitButton","_IsolationResetButton","_Provider","_IsolationDataReference","_IsolatedContainer2","_IsolationContext","_structuredClone","_BubbleValidation","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","IsolationProvider","props","_IsolatedContainer","dataReferenceFallback","useState","dataReference","createDataReference","children","onPathChange","onCommit","onCommitProp","onClear","onClearProp","transformOnCommit","transformOnCommitProp","commitHandleRef","bubbleValidation","preventUncommittedChanges","data","defaultData","resetDataAfterCommit","forceUpdate","useReducer","internalDataRef","useRef","localDataRef","dataContextRef","outerContext","useContext","DataContext","path","pathSection","SectionContext","handlePathChange","handlePathChangeOuter","dataOuter","moveValueToPath","useDataValue","onPathChangeHandler","useCallback","current","clearedData","pointer","replace","onUpdateDataValueHandler","preventUpdate","undefined","removeSectionPath","getMountedData","_dataContextRef$curre","mounterData","mountedFieldsRef","field","isMounted","useMountEffect","useMemo","localData","assign","structuredClone","additionalArgs","_props$path","mountedData","outerData","isolatedData","stop","preventCommit","commitData","result","isAsync","Array","isArray","extendDeep","setIsolatedData","providerProps","onUpdateDataValue","isolate","createElement","Provider","Context","Consumer","dataContext","handleSubmit","BubbleValidation","_addSetShowAllErrorsR","innerContext","IsolationContext","setShowAllErrors","setShowAllErrorsNested","showAllErrors","addSetShowAllErrorsRef","includes","useReportError","hasErrors","isolationError","CommitButton","IsolationCommitButton","ResetButton","IsolationResetButton","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Form/Isolation/Isolation.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from 'react'\nimport useMountEffect from '../../../../shared/helpers/useMountEffect'\nimport pointer, { JsonObject } from '../../utils/json-pointer'\nimport { extendDeep } from '../../../../shared/component-helper'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport useDataValue from '../../hooks/useDataValue'\nimport {\n Context as DataContext,\n ContextState,\n Provider,\n} from '../../DataContext'\nimport SectionContext from '../Section/SectionContext'\nimport useReportError from './useReportError'\nimport IsolationCommitButton from './IsolationCommitButton'\nimport IsolationResetButton from './IsolationResetButton'\nimport {\n clearedData,\n type Props as ProviderProps,\n} from '../../DataContext/Provider'\nimport {\n IsolationDataReference,\n createDataReference,\n} from './IsolationDataReference'\nimport IsolatedContainer, { isolationError } from './IsolatedContainer'\nimport IsolationContext from './IsolationContext'\nimport type { OnCommit, Path } from '../../types'\n\n/**\n * Deprecated, as it is supported by all major browsers and Node.js >=v18\n * So it's a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\nexport type IsolationProviderProps<Data extends JsonObject> = {\n /**\n * Form.Isolation: Will be called when the isolated context is committed.\n */\n onCommit?: OnCommit<Data>\n /**\n * Form.Isolation: Will be called when the form is cleared via Form.clearData\n */\n onClear?: () => void\n /**\n * Form.Isolation: A function that will be called when the isolated context is committed.\n * It will receive the data from the isolated context and the data from the outer context.\n * You can use this to transform the data before it is committed.\n */\n transformOnCommit?: (isolatedData: Data, handlerData: Data) => JsonObject\n /**\n * Prevent the form from being submitted when there are fields with errors inside the Form.Isolation.\n */\n bubbleValidation?: boolean\n /**\n * Prevents uncommitted changes before the form is submitted. Will display an error message if user tries to submit without committing their changes.\n */\n preventUncommittedChanges?: boolean\n /**\n * If set to `true`, the Form.Isolation will reset its data context after committing the data to the outer context.\n */\n resetDataAfterCommit?: boolean\n /**\n * Provide a reference by using Form.Isolation.createDataReference.\n */\n dataReference?: IsolationDataReference\n /**\n * Used internally by the Form.Isolation component\n */\n path?: Path\n /**\n * Used internally by the Form.Isolation component\n */\n isolate?: boolean\n}\n\nexport type IsolationProps<Data extends JsonObject> = Omit<\n ProviderProps<Data>,\n | 'onSubmit'\n | 'onSubmitRequest'\n | 'onSubmitComplete'\n | 'minimumAsyncBehaviorTime'\n | 'asyncSubmitTimeout'\n | 'scrollTopOnSubmit'\n | 'sessionStorageId'\n | 'globalStatusId'\n> & {\n /**\n * A ref (function) that you can call in order to commit the data programmatically to the outer context.\n */\n commitHandleRef?: React.MutableRefObject<() => void>\n}\n\nfunction IsolationProvider<Data extends JsonObject>(\n props: IsolationProps<Data>\n) {\n const [dataReferenceFallback] = useState<IsolationDataReference>(() => {\n if (!props?.dataReference) {\n return createDataReference()\n }\n })\n\n const {\n children,\n onPathChange,\n onCommit: onCommitProp,\n onClear: onClearProp,\n transformOnCommit: transformOnCommitProp,\n commitHandleRef,\n bubbleValidation,\n preventUncommittedChanges,\n data,\n defaultData,\n dataReference = dataReferenceFallback,\n resetDataAfterCommit,\n } = props\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const internalDataRef = useRef<Data>()\n const localDataRef = useRef<Partial<Data>>({})\n const dataContextRef = useRef<ContextState>(null)\n const outerContext = useContext(DataContext)\n const { path: pathSection } = useContext(SectionContext) || {}\n const { handlePathChange: handlePathChangeOuter, data: dataOuter } =\n outerContext || {}\n const { moveValueToPath } = useDataValue()\n\n const onPathChangeHandler = useCallback(\n async (path: Path, value: unknown) => {\n if (localDataRef.current === clearedData) {\n localDataRef.current = {}\n }\n\n // Depending on the usage, we can get a path like so: \"/pushContainerItems/0/somePath\"\n // where \"somePath\" is a frozen object. In order to still be able to modify it,\n // pointer.set will unfreeze the object and then modify it. (Object.isFrozen(obj[tok]))\n\n pointer.set(localDataRef.current, path, value)\n\n if (pathSection) {\n path = path.replace(pathSection, '')\n }\n\n return await onPathChange?.(path, value)\n },\n [onPathChange, pathSection]\n )\n\n const onUpdateDataValueHandler = useCallback(\n async (\n path: Path,\n value: unknown,\n { preventUpdate = undefined } = {}\n ) => {\n if (internalDataRef.current === clearedData) {\n internalDataRef.current = {} as Data\n }\n\n pointer.set(internalDataRef.current, path, value)\n\n if (!preventUpdate) {\n forceUpdate()\n }\n },\n []\n )\n\n const removeSectionPath = useCallback(\n (data: Data) => {\n return pathSection && pointer.has(data, pathSection)\n ? pointer.get(data, pathSection)\n : data\n },\n [pathSection]\n )\n\n const getMountedData = useCallback((data: Data) => {\n const mounterData = {} as Data\n dataContextRef.current?.mountedFieldsRef.current.forEach(\n (field, path) => {\n if (field.isMounted && pointer.has(data, path)) {\n pointer.set(mounterData, path, pointer.get(data, path))\n }\n }\n )\n return mounterData\n }, [])\n\n useMountEffect(() => {\n localDataRef.current = getMountedData(internalDataRef.current)\n })\n\n // Update the isolated data with the outside context data\n useMemo(() => {\n if (localDataRef.current === clearedData) {\n return // stop here\n }\n\n let localData = data ?? defaultData\n\n if (\n localData &&\n pathSection &&\n !pointer.has(localDataRef.current, pathSection)\n ) {\n localData = moveValueToPath<Data>(pathSection, localData)\n }\n\n internalDataRef.current = Object.assign(\n {},\n localData || structuredClone(dataOuter) || {},\n localDataRef.current\n )\n }, [data, defaultData, pathSection, dataOuter, moveValueToPath])\n\n const onCommit: IsolationProps<Data>['onCommit'] = useCallback(\n async (data: Data, additionalArgs) => {\n const mountedData = getMountedData(data)\n const path = props.path ?? '/'\n const outerData =\n props.path && pointer.has(dataOuter, path)\n ? pointer.get(dataOuter, path)\n : dataOuter\n\n localDataRef.current = mountedData\n let isolatedData = structuredClone(mountedData)\n\n if (typeof transformOnCommitProp === 'function') {\n isolatedData = transformOnCommitProp(isolatedData, outerData)\n }\n\n let stop = false\n additionalArgs.preventCommit = () => (stop = true)\n\n const commitData = removeSectionPath(isolatedData)\n const result = isAsync(onCommitProp)\n ? await onCommitProp?.(commitData, additionalArgs)\n : onCommitProp?.(commitData, additionalArgs)\n\n if (stop) {\n return // stop here\n }\n\n // Commit the internal data to the nested context data\n await handlePathChangeOuter?.(\n path,\n Array.isArray(isolatedData)\n ? isolatedData\n : extendDeep({}, outerData, isolatedData)\n )\n\n return result\n },\n [\n getMountedData,\n props.path,\n dataOuter,\n transformOnCommitProp,\n handlePathChangeOuter,\n onCommitProp,\n removeSectionPath,\n ]\n )\n\n const setIsolatedData = useCallback((data: Data) => {\n localDataRef.current = data\n internalDataRef.current = data\n }, [])\n\n const onClear = useCallback(() => {\n setIsolatedData(clearedData as Data)\n forceUpdate()\n onClearProp?.()\n }, [onClearProp, setIsolatedData])\n\n const providerProps: IsolationProps<Data> = {\n ...props,\n [defaultData ? 'defaultData' : 'data']: internalDataRef.current,\n onUpdateDataValue: onUpdateDataValueHandler,\n onPathChange: onPathChangeHandler,\n onCommit,\n onClear,\n isolate: true,\n }\n\n return (\n <Provider {...providerProps}>\n <IsolationContext.Provider\n value={{\n preventUncommittedChanges,\n dataReference,\n resetDataAfterCommit,\n outerContext,\n setIsolatedData,\n }}\n >\n <DataContext.Consumer>\n {(dataContext) => {\n dataContextRef.current = dataContext\n\n if (commitHandleRef) {\n commitHandleRef.current = dataContext?.handleSubmit\n }\n\n return <IsolatedContainer>{children} </IsolatedContainer>\n }}\n </DataContext.Consumer>\n\n {bubbleValidation && <BubbleValidation />}\n </IsolationContext.Provider>\n </Provider>\n )\n}\n\nfunction BubbleValidation() {\n const innerContext = useContext(DataContext)\n const { outerContext } = useContext(IsolationContext)\n const { setShowAllErrors } = innerContext\n\n const setShowAllErrorsNested = useCallback(\n (showAllErrors: boolean) => {\n setShowAllErrors?.(showAllErrors)\n },\n [setShowAllErrors]\n )\n\n const { addSetShowAllErrorsRef } = outerContext || {}\n if (!addSetShowAllErrorsRef?.current?.includes(setShowAllErrorsNested)) {\n addSetShowAllErrorsRef?.current.push(setShowAllErrorsNested)\n }\n\n useReportError(\n innerContext.hasErrors() ? isolationError : undefined,\n outerContext,\n 'isolation'\n )\n\n return null\n}\n\nIsolationProvider.CommitButton = IsolationCommitButton\nIsolationProvider.ResetButton = IsolationResetButton\nIsolationProvider.createDataReference = createDataReference\nIsolationProvider._supportsSpacingProps = undefined\n\nexport default IsolationProvider\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAQA,IAAAC,eAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,YAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,aAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AAKA,IAAAQ,eAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,eAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,sBAAA,GAAAR,sBAAA,CAAAF,OAAA;AACA,IAAAW,qBAAA,GAAAT,sBAAA,CAAAF,OAAA;AACA,IAAAY,SAAA,GAAAZ,OAAA;AAIA,IAAAa,uBAAA,GAAAb,OAAA;AAIA,IAAAc,mBAAA,GAAAf,uBAAA,CAAAC,OAAA;AACA,IAAAe,iBAAA,GAAAb,sBAAA,CAAAF,OAAA;AAOA,IAAAgB,gBAAA,GAAAd,sBAAA,CAAAF,OAAA;AAAqD,IAAAiB,iBAAA;AAAA,SAAAf,uBAAAgB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAnB,wBAAAmB,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAAA,SAAAW,QAAApB,CAAA,EAAAK,CAAA,QAAAC,CAAA,GAAAM,MAAA,CAAAS,IAAA,CAAArB,CAAA,OAAAY,MAAA,CAAAU,qBAAA,QAAAC,CAAA,GAAAX,MAAA,CAAAU,qBAAA,CAAAtB,CAAA,GAAAK,CAAA,KAAAkB,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAnB,CAAA,WAAAO,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAK,CAAA,EAAAoB,UAAA,OAAAnB,CAAA,CAAAoB,IAAA,CAAAC,KAAA,CAAArB,CAAA,EAAAiB,CAAA,YAAAjB,CAAA;AAAA,SAAAsB,cAAA5B,CAAA,aAAAK,CAAA,MAAAA,CAAA,GAAAwB,SAAA,CAAAC,MAAA,EAAAzB,CAAA,UAAAC,CAAA,WAAAuB,SAAA,CAAAxB,CAAA,IAAAwB,SAAA,CAAAxB,CAAA,QAAAA,CAAA,OAAAe,OAAA,CAAAR,MAAA,CAAAN,CAAA,OAAAyB,OAAA,WAAA1B,CAAA,IAAA2B,eAAA,CAAAhC,CAAA,EAAAK,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAO,MAAA,CAAAqB,yBAAA,GAAArB,MAAA,CAAAsB,gBAAA,CAAAlC,CAAA,EAAAY,MAAA,CAAAqB,yBAAA,CAAA3B,CAAA,KAAAc,OAAA,CAAAR,MAAA,CAAAN,CAAA,GAAAyB,OAAA,WAAA1B,CAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAb,CAAA,EAAAK,CAAA,EAAAO,MAAA,CAAAE,wBAAA,CAAAR,CAAA,EAAAD,CAAA,iBAAAL,CAAA;AAAA,SAAAgC,gBAAAhC,CAAA,EAAAK,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAA8B,cAAA,CAAA9B,CAAA,MAAAL,CAAA,GAAAY,MAAA,CAAAC,cAAA,CAAAb,CAAA,EAAAK,CAAA,IAAA+B,KAAA,EAAA9B,CAAA,EAAAmB,UAAA,MAAAY,YAAA,MAAAC,QAAA,UAAAtC,CAAA,CAAAK,CAAA,IAAAC,CAAA,EAAAN,CAAA;AAAA,SAAAmC,eAAA7B,CAAA,QAAAY,CAAA,GAAAqB,YAAA,CAAAjC,CAAA,uCAAAY,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAqB,aAAAjC,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAN,CAAA,GAAAM,CAAA,CAAAkC,MAAA,CAAAC,WAAA,kBAAAzC,CAAA,QAAAkB,CAAA,GAAAlB,CAAA,CAAAiB,IAAA,CAAAX,CAAA,EAAAD,CAAA,uCAAAa,CAAA,SAAAA,CAAA,YAAAwB,SAAA,yEAAArC,CAAA,GAAAsC,MAAA,GAAAC,MAAA,EAAAtC,CAAA;AA4DrD,SAASuC,iBAAiBA,CACxBC,KAA2B,EAC3B;EAAA,IAAAC,kBAAA;EACA,MAAM,CAACC,qBAAqB,CAAC,GAAG,IAAAC,eAAQ,EAAyB,MAAM;IACrE,IAAI,EAACH,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEI,aAAa,GAAE;MACzB,OAAO,IAAAC,2CAAmB,EAAC,CAAC;IAC9B;EACF,CAAC,CAAC;EAEF,MAAM;IACJC,QAAQ;IACRC,YAAY;IACZC,QAAQ,EAAEC,YAAY;IACtBC,OAAO,EAAEC,WAAW;IACpBC,iBAAiB,EAAEC,qBAAqB;IACxCC,eAAe;IACfC,gBAAgB;IAChBC,yBAAyB;IACzBC,IAAI;IACJC,WAAW;IACXd,aAAa,GAAGF,qBAAqB;IACrCiB;EACF,CAAC,GAAGnB,KAAK;EAET,MAAM,GAAGoB,WAAW,CAAC,GAAG,IAAAC,iBAAU,EAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAClD,MAAMC,eAAe,GAAG,IAAAC,aAAM,EAAO,CAAC;EACtC,MAAMC,YAAY,GAAG,IAAAD,aAAM,EAAgB,CAAC,CAAC,CAAC;EAC9C,MAAME,cAAc,GAAG,IAAAF,aAAM,EAAe,IAAI,CAAC;EACjD,MAAMG,YAAY,GAAG,IAAAC,iBAAU,EAACC,oBAAW,CAAC;EAC5C,MAAM;IAAEC,IAAI,EAAEC;EAAY,CAAC,GAAG,IAAAH,iBAAU,EAACI,uBAAc,CAAC,IAAI,CAAC,CAAC;EAC9D,MAAM;IAAEC,gBAAgB,EAAEC,qBAAqB;IAAEhB,IAAI,EAAEiB;EAAU,CAAC,GAChER,YAAY,IAAI,CAAC,CAAC;EACpB,MAAM;IAAES;EAAgB,CAAC,GAAG,IAAAC,qBAAY,EAAC,CAAC;EAE1C,MAAMC,mBAAmB,GAAG,IAAAC,kBAAW,EACrC,OAAOT,IAAU,EAAEvC,KAAc,KAAK;IACpC,IAAIkC,YAAY,CAACe,OAAO,KAAKC,qBAAW,EAAE;MACxChB,YAAY,CAACe,OAAO,GAAG,CAAC,CAAC;IAC3B;IAMAE,oBAAO,CAACpE,GAAG,CAACmD,YAAY,CAACe,OAAO,EAAEV,IAAI,EAAEvC,KAAK,CAAC;IAE9C,IAAIwC,WAAW,EAAE;MACfD,IAAI,GAAGA,IAAI,CAACa,OAAO,CAACZ,WAAW,EAAE,EAAE,CAAC;IACtC;IAEA,OAAO,OAAMvB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGsB,IAAI,EAAEvC,KAAK,CAAC;EAC1C,CAAC,EACD,CAACiB,YAAY,EAAEuB,WAAW,CAC5B,CAAC;EAED,MAAMa,wBAAwB,GAAG,IAAAL,kBAAW,EAC1C,gBACET,IAAU,EACVvC,KAAc,EAEX;IAAA,IADH;MAAEsD,aAAa,GAAGC;IAAU,CAAC,GAAA9D,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA8D,SAAA,GAAA9D,SAAA,MAAG,CAAC,CAAC;IAElC,IAAIuC,eAAe,CAACiB,OAAO,KAAKC,qBAAW,EAAE;MAC3ClB,eAAe,CAACiB,OAAO,GAAG,CAAC,CAAS;IACtC;IAEAE,oBAAO,CAACpE,GAAG,CAACiD,eAAe,CAACiB,OAAO,EAAEV,IAAI,EAAEvC,KAAK,CAAC;IAEjD,IAAI,CAACsD,aAAa,EAAE;MAClBxB,WAAW,CAAC,CAAC;IACf;EACF,CAAC,EACD,EACF,CAAC;EAED,MAAM0B,iBAAiB,GAAG,IAAAR,kBAAW,EAClCrB,IAAU,IAAK;IACd,OAAOa,WAAW,IAAIW,oBAAO,CAAChF,GAAG,CAACwD,IAAI,EAAEa,WAAW,CAAC,GAChDW,oBAAO,CAAC/E,GAAG,CAACuD,IAAI,EAAEa,WAAW,CAAC,GAC9Bb,IAAI;EACV,CAAC,EACD,CAACa,WAAW,CACd,CAAC;EAED,MAAMiB,cAAc,GAAG,IAAAT,kBAAW,EAAErB,IAAU,IAAK;IAAA,IAAA+B,qBAAA;IACjD,MAAMC,WAAW,GAAG,CAAC,CAAS;IAC9B,CAAAD,qBAAA,GAAAvB,cAAc,CAACc,OAAO,cAAAS,qBAAA,uBAAtBA,qBAAA,CAAwBE,gBAAgB,CAACX,OAAO,CAACtD,OAAO,CACtD,CAACkE,KAAK,EAAEtB,IAAI,KAAK;MACf,IAAIsB,KAAK,CAACC,SAAS,IAAIX,oBAAO,CAAChF,GAAG,CAACwD,IAAI,EAAEY,IAAI,CAAC,EAAE;QAC9CY,oBAAO,CAACpE,GAAG,CAAC4E,WAAW,EAAEpB,IAAI,EAAEY,oBAAO,CAAC/E,GAAG,CAACuD,IAAI,EAAEY,IAAI,CAAC,CAAC;MACzD;IACF,CACF,CAAC;IACD,OAAOoB,WAAW;EACpB,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAI,uBAAc,EAAC,MAAM;IACnB7B,YAAY,CAACe,OAAO,GAAGQ,cAAc,CAACzB,eAAe,CAACiB,OAAO,CAAC;EAChE,CAAC,CAAC;EAGF,IAAAe,cAAO,EAAC,MAAM;IACZ,IAAI9B,YAAY,CAACe,OAAO,KAAKC,qBAAW,EAAE;MACxC;IACF;IAEA,IAAIe,SAAS,GAAGtC,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAIC,WAAW;IAEnC,IACEqC,SAAS,IACTzB,WAAW,IACX,CAACW,oBAAO,CAAChF,GAAG,CAAC+D,YAAY,CAACe,OAAO,EAAET,WAAW,CAAC,EAC/C;MACAyB,SAAS,GAAGpB,eAAe,CAAOL,WAAW,EAAEyB,SAAS,CAAC;IAC3D;IAEAjC,eAAe,CAACiB,OAAO,GAAGzE,MAAM,CAAC0F,MAAM,CACrC,CAAC,CAAC,EACFD,SAAS,IAAI,IAAAE,wBAAe,EAACvB,SAAS,CAAC,IAAI,CAAC,CAAC,EAC7CV,YAAY,CAACe,OACf,CAAC;EACH,CAAC,EAAE,CAACtB,IAAI,EAAEC,WAAW,EAAEY,WAAW,EAAEI,SAAS,EAAEC,eAAe,CAAC,CAAC;EAEhE,MAAM3B,QAA0C,GAAG,IAAA8B,kBAAW,EAC5D,OAAOrB,IAAU,EAAEyC,cAAc,KAAK;IAAA,IAAAC,WAAA;IACpC,MAAMC,WAAW,GAAGb,cAAc,CAAC9B,IAAI,CAAC;IACxC,MAAMY,IAAI,IAAA8B,WAAA,GAAG3D,KAAK,CAAC6B,IAAI,cAAA8B,WAAA,cAAAA,WAAA,GAAI,GAAG;IAC9B,MAAME,SAAS,GACb7D,KAAK,CAAC6B,IAAI,IAAIY,oBAAO,CAAChF,GAAG,CAACyE,SAAS,EAAEL,IAAI,CAAC,GACtCY,oBAAO,CAAC/E,GAAG,CAACwE,SAAS,EAAEL,IAAI,CAAC,GAC5BK,SAAS;IAEfV,YAAY,CAACe,OAAO,GAAGqB,WAAW;IAClC,IAAIE,YAAY,GAAG,IAAAL,wBAAe,EAACG,WAAW,CAAC;IAE/C,IAAI,OAAO/C,qBAAqB,KAAK,UAAU,EAAE;MAC/CiD,YAAY,GAAGjD,qBAAqB,CAACiD,YAAY,EAAED,SAAS,CAAC;IAC/D;IAEA,IAAIE,IAAI,GAAG,KAAK;IAChBL,cAAc,CAACM,aAAa,GAAG,MAAOD,IAAI,GAAG,IAAK;IAElD,MAAME,UAAU,GAAGnB,iBAAiB,CAACgB,YAAY,CAAC;IAClD,MAAMI,MAAM,GAAG,IAAAC,gBAAO,EAAC1D,YAAY,CAAC,GAChC,OAAMA,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGwD,UAAU,EAAEP,cAAc,CAAC,IAChDjD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGwD,UAAU,EAAEP,cAAc,CAAC;IAE9C,IAAIK,IAAI,EAAE;MACR;IACF;IAGA,OAAM9B,qBAAqB,aAArBA,qBAAqB,uBAArBA,qBAAqB,CACzBJ,IAAI,EACJuC,KAAK,CAACC,OAAO,CAACP,YAAY,CAAC,GACvBA,YAAY,GACZ,IAAAQ,2BAAU,EAAC,CAAC,CAAC,EAAET,SAAS,EAAEC,YAAY,CAC5C,CAAC;IAED,OAAOI,MAAM;EACf,CAAC,EACD,CACEnB,cAAc,EACd/C,KAAK,CAAC6B,IAAI,EACVK,SAAS,EACTrB,qBAAqB,EACrBoB,qBAAqB,EACrBxB,YAAY,EACZqC,iBAAiB,CAErB,CAAC;EAED,MAAMyB,eAAe,GAAG,IAAAjC,kBAAW,EAAErB,IAAU,IAAK;IAClDO,YAAY,CAACe,OAAO,GAAGtB,IAAI;IAC3BK,eAAe,CAACiB,OAAO,GAAGtB,IAAI;EAChC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMP,OAAO,GAAG,IAAA4B,kBAAW,EAAC,MAAM;IAChCiC,eAAe,CAAC/B,qBAAmB,CAAC;IACpCpB,WAAW,CAAC,CAAC;IACbT,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAG,CAAC;EACjB,CAAC,EAAE,CAACA,WAAW,EAAE4D,eAAe,CAAC,CAAC;EAElC,MAAMC,aAAmC,GAAA1F,aAAA,CAAAA,aAAA,KACpCkB,KAAK;IACR,CAACkB,WAAW,GAAG,aAAa,GAAG,MAAM,GAAGI,eAAe,CAACiB,OAAO;IAC/DkC,iBAAiB,EAAE9B,wBAAwB;IAC3CpC,YAAY,EAAE8B,mBAAmB;IACjC7B,QAAQ;IACRE,OAAO;IACPgE,OAAO,EAAE;EAAI,EACd;EAED,OACE5I,MAAA,CAAAsB,OAAA,CAAAuH,aAAA,CAACpI,YAAA,CAAAqI,QAAQ,EAAKJ,aAAa,EACzB1I,MAAA,CAAAsB,OAAA,CAAAuH,aAAA,CAAC5H,iBAAA,CAAAK,OAAgB,CAACwH,QAAQ;IACxBtF,KAAK,EAAE;MACL0B,yBAAyB;MACzBZ,aAAa;MACbe,oBAAoB;MACpBO,YAAY;MACZ6C;IACF;EAAE,GAEFzI,MAAA,CAAAsB,OAAA,CAAAuH,aAAA,CAACpI,YAAA,CAAAsI,OAAW,CAACC,QAAQ,QACjBC,WAAW,IAAK;IAChBtD,cAAc,CAACc,OAAO,GAAGwC,WAAW;IAEpC,IAAIjE,eAAe,EAAE;MACnBA,eAAe,CAACyB,OAAO,GAAGwC,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEC,YAAY;IACrD;IAEA,OAAA/E,kBAAA,KAAAA,kBAAA,GAAOnE,MAAA,CAAAsB,OAAA,CAAAuH,aAAA,CAAC7H,mBAAA,CAAAM,OAAiB,QAAEkD,QAAQ,EAAC,GAAoB,CAAC;EAC3D,CACoB,CAAC,EAEtBS,gBAAgB,KAAA9D,iBAAA,KAAAA,iBAAA,GAAInB,MAAA,CAAAsB,OAAA,CAAAuH,aAAA,CAACM,gBAAgB,MAAE,CAAC,EAChB,CACnB,CAAC;AAEf;AAEA,SAASA,gBAAgBA,CAAA,EAAG;EAAA,IAAAC,qBAAA;EAC1B,MAAMC,YAAY,GAAG,IAAAxD,iBAAU,EAACC,oBAAW,CAAC;EAC5C,MAAM;IAAEF;EAAa,CAAC,GAAG,IAAAC,iBAAU,EAACyD,yBAAgB,CAAC;EACrD,MAAM;IAAEC;EAAiB,CAAC,GAAGF,YAAY;EAEzC,MAAMG,sBAAsB,GAAG,IAAAhD,kBAAW,EACvCiD,aAAsB,IAAK;IAC1BF,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAGE,aAAa,CAAC;EACnC,CAAC,EACD,CAACF,gBAAgB,CACnB,CAAC;EAED,MAAM;IAAEG;EAAuB,CAAC,GAAG9D,YAAY,IAAI,CAAC,CAAC;EACrD,IAAI,EAAC8D,sBAAsB,aAAtBA,sBAAsB,gBAAAN,qBAAA,GAAtBM,sBAAsB,CAAEjD,OAAO,cAAA2C,qBAAA,eAA/BA,qBAAA,CAAiCO,QAAQ,CAACH,sBAAsB,CAAC,GAAE;IACtEE,sBAAsB,aAAtBA,sBAAsB,uBAAtBA,sBAAsB,CAAEjD,OAAO,CAAC3D,IAAI,CAAC0G,sBAAsB,CAAC;EAC9D;EAEA,IAAAI,uBAAc,EACZP,YAAY,CAACQ,SAAS,CAAC,CAAC,GAAGC,kCAAc,GAAG/C,SAAS,EACrDnB,YAAY,EACZ,WACF,CAAC;EAED,OAAO,IAAI;AACb;AAEA3B,iBAAiB,CAAC8F,YAAY,GAAGC,8BAAqB;AACtD/F,iBAAiB,CAACgG,WAAW,GAAGC,6BAAoB;AACpDjG,iBAAiB,CAACM,mBAAmB,GAAGA,2CAAmB;AAC3DN,iBAAiB,CAACkG,qBAAqB,GAAGpD,SAAS;AAAA,IAAAqD,QAAA,GAAAC,OAAA,CAAA/I,OAAA,GAEpC2C,iBAAiB","ignoreList":[]}
@@ -1,8 +1,10 @@
1
1
  import React from 'react';
2
2
  export type IsolationDataReference = {
3
- refresh: () => void;
3
+ refresh: (options?: {
4
+ deferred?: boolean;
5
+ }) => void;
4
6
  update: (data: unknown) => void;
5
- cleanup: () => void;
7
+ cleanup: (fn?: () => void) => void;
6
8
  snapshotRef: React.MutableRefObject<unknown>;
7
9
  eventsRef: React.MutableRefObject<Array<() => void>>;
8
10
  };
@@ -11,14 +11,30 @@ function createDataReference() {
11
11
  const eventsRef = {
12
12
  current: []
13
13
  };
14
- const refresh = () => {
15
- eventsRef.current.forEach(fn => fn());
14
+ const refresh = function () {
15
+ let {
16
+ deferred = false
17
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
18
+ const update = () => eventsRef.current.forEach(fn => fn());
19
+ if (deferred && typeof window !== 'undefined') {
20
+ requestAnimationFrame(update);
21
+ } else {
22
+ update();
23
+ }
16
24
  };
17
25
  const update = data => {
18
26
  snapshotRef.current = data;
19
27
  };
20
- const cleanup = () => {
21
- eventsRef.current = [];
28
+ const cleanup = function () {
29
+ let fn = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
30
+ if (fn) {
31
+ const index = eventsRef.current.indexOf(fn);
32
+ if (index !== -1) {
33
+ eventsRef.current.splice(index, 1);
34
+ }
35
+ } else {
36
+ eventsRef.current = [];
37
+ }
22
38
  };
23
39
  return {
24
40
  refresh,
@@ -1 +1 @@
1
- {"version":3,"file":"IsolationDataReference.js","names":["createDataReference","snapshotRef","current","undefined","eventsRef","refresh","forEach","fn","update","data","cleanup"],"sources":["../../../../../../src/extensions/forms/Form/Isolation/IsolationDataReference.ts"],"sourcesContent":["import React from 'react'\n\nexport type IsolationDataReference = {\n refresh: () => void\n update: (data: unknown) => void\n cleanup: () => void\n snapshotRef: React.MutableRefObject<unknown>\n eventsRef: React.MutableRefObject<Array<() => void>>\n}\n\nexport function createDataReference(): IsolationDataReference {\n const snapshotRef = { current: undefined }\n const eventsRef = { current: [] }\n\n const refresh: IsolationDataReference['refresh'] = () => {\n eventsRef.current.forEach((fn) => fn())\n }\n\n const update: IsolationDataReference['update'] = (data) => {\n snapshotRef.current = data\n }\n\n const cleanup: IsolationDataReference['cleanup'] = () => {\n eventsRef.current = []\n }\n\n return {\n refresh,\n update,\n cleanup,\n snapshotRef,\n eventsRef,\n }\n}\n"],"mappings":";;;;;;AAUO,SAASA,mBAAmBA,CAAA,EAA2B;EAC5D,MAAMC,WAAW,GAAG;IAAEC,OAAO,EAAEC;EAAU,CAAC;EAC1C,MAAMC,SAAS,GAAG;IAAEF,OAAO,EAAE;EAAG,CAAC;EAEjC,MAAMG,OAA0C,GAAGA,CAAA,KAAM;IACvDD,SAAS,CAACF,OAAO,CAACI,OAAO,CAAEC,EAAE,IAAKA,EAAE,CAAC,CAAC,CAAC;EACzC,CAAC;EAED,MAAMC,MAAwC,GAAIC,IAAI,IAAK;IACzDR,WAAW,CAACC,OAAO,GAAGO,IAAI;EAC5B,CAAC;EAED,MAAMC,OAA0C,GAAGA,CAAA,KAAM;IACvDN,SAAS,CAACF,OAAO,GAAG,EAAE;EACxB,CAAC;EAED,OAAO;IACLG,OAAO;IACPG,MAAM;IACNE,OAAO;IACPT,WAAW;IACXG;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"IsolationDataReference.js","names":["createDataReference","snapshotRef","current","undefined","eventsRef","refresh","deferred","arguments","length","update","forEach","fn","window","requestAnimationFrame","data","cleanup","index","indexOf","splice"],"sources":["../../../../../../src/extensions/forms/Form/Isolation/IsolationDataReference.ts"],"sourcesContent":["import React from 'react'\n\nexport type IsolationDataReference = {\n refresh: (options?: { deferred?: boolean }) => void\n update: (data: unknown) => void\n cleanup: (fn?: () => void) => void\n snapshotRef: React.MutableRefObject<unknown>\n eventsRef: React.MutableRefObject<Array<() => void>>\n}\n\nexport function createDataReference(): IsolationDataReference {\n const snapshotRef = { current: undefined }\n const eventsRef = { current: [] }\n\n const refresh: IsolationDataReference['refresh'] = ({\n deferred = false,\n } = {}) => {\n const update = () => eventsRef.current.forEach((fn) => fn())\n if (deferred && typeof window !== 'undefined') {\n requestAnimationFrame(update)\n } else {\n update()\n }\n }\n\n const update: IsolationDataReference['update'] = (data) => {\n snapshotRef.current = data\n }\n\n const cleanup: IsolationDataReference['cleanup'] = (fn = null) => {\n if (fn) {\n const index = eventsRef.current.indexOf(fn)\n if (index !== -1) {\n eventsRef.current.splice(index, 1)\n }\n } else {\n eventsRef.current = []\n }\n }\n\n return {\n refresh,\n update,\n cleanup,\n snapshotRef,\n eventsRef,\n }\n}\n"],"mappings":";;;;;;AAUO,SAASA,mBAAmBA,CAAA,EAA2B;EAC5D,MAAMC,WAAW,GAAG;IAAEC,OAAO,EAAEC;EAAU,CAAC;EAC1C,MAAMC,SAAS,GAAG;IAAEF,OAAO,EAAE;EAAG,CAAC;EAEjC,MAAMG,OAA0C,GAAG,SAAAA,CAAA,EAExC;IAAA,IAFyC;MAClDC,QAAQ,GAAG;IACb,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAJ,SAAA,GAAAI,SAAA,MAAG,CAAC,CAAC;IACJ,MAAME,MAAM,GAAGA,CAAA,KAAML,SAAS,CAACF,OAAO,CAACQ,OAAO,CAAEC,EAAE,IAAKA,EAAE,CAAC,CAAC,CAAC;IAC5D,IAAIL,QAAQ,IAAI,OAAOM,MAAM,KAAK,WAAW,EAAE;MAC7CC,qBAAqB,CAACJ,MAAM,CAAC;IAC/B,CAAC,MAAM;MACLA,MAAM,CAAC,CAAC;IACV;EACF,CAAC;EAED,MAAMA,MAAwC,GAAIK,IAAI,IAAK;IACzDb,WAAW,CAACC,OAAO,GAAGY,IAAI;EAC5B,CAAC;EAED,MAAMC,OAA0C,GAAG,SAAAA,CAAA,EAAe;IAAA,IAAdJ,EAAE,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAJ,SAAA,GAAAI,SAAA,MAAG,IAAI;IAC3D,IAAII,EAAE,EAAE;MACN,MAAMK,KAAK,GAAGZ,SAAS,CAACF,OAAO,CAACe,OAAO,CAACN,EAAE,CAAC;MAC3C,IAAIK,KAAK,KAAK,CAAC,CAAC,EAAE;QAChBZ,SAAS,CAACF,OAAO,CAACgB,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;MACpC;IACF,CAAC,MAAM;MACLZ,SAAS,CAACF,OAAO,GAAG,EAAE;IACxB;EACF,CAAC;EAED,OAAO;IACLG,OAAO;IACPI,MAAM;IACNM,OAAO;IACPd,WAAW;IACXG;EACF,CAAC;AACH","ignoreList":[]}
@@ -42,7 +42,7 @@ const IsolationProperties = exports.IsolationProperties = _objectSpread(_objectS
42
42
  status: 'optional'
43
43
  },
44
44
  dataReference: {
45
- doc: 'Provide a reference by using `Form.Isolation.createDataReference.`',
45
+ doc: 'Provide a reference by using `Form.Isolation.createDataReference`.',
46
46
  type: 'IsolationDataReference',
47
47
  status: 'optional'
48
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IsolationDocs.js","names":["_ProviderDocs","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","IsolationProperties","exports","path","doc","type","status","transformOnCommit","commitHandleRef","bubbleValidation","preventUncommittedChanges","resetDataAfterCommit","dataReference","ProviderProperties","minimumAsyncBehaviorTime","undefined","asyncSubmitTimeout","scrollTopOnSubmit","sessionStorageId","globalStatusId","IsolationEvents","onCommit","ProviderEvents","onSubmit","onSubmitRequest","onSubmitComplete"],"sources":["../../../../../../src/extensions/forms/Form/Isolation/IsolationDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\nimport {\n ProviderEvents,\n ProviderProperties,\n} from '../../DataContext/Provider/ProviderDocs'\n\nexport const IsolationProperties: PropertiesTableProps = {\n path: {\n doc: 'JSON Pointer to define the object key for all the generated nested field data.',\n type: 'string',\n status: 'optional',\n },\n transformOnCommit: {\n doc: 'Transform the data before it gets committed to the form. The first parameter is the isolated data object. The second parameter is the outer context data object (Form.Handler).',\n type: 'function',\n status: 'optional',\n },\n commitHandleRef: {\n doc: 'Provide a ref to a function that can be called from any location to commit the data to the form.',\n type: 'React.RefObject',\n status: 'optional',\n },\n bubbleValidation: {\n doc: 'Prevent the form from being submitted when there are fields with errors inside the Form.Isolation.',\n type: 'boolean',\n status: 'optional',\n },\n preventUncommittedChanges: {\n doc: 'Prevents uncommitted changes before the form is submitted. Will display an error message if user tries to submit without committing their changes.',\n type: 'boolean',\n status: 'optional',\n },\n resetDataAfterCommit: {\n doc: 'If set to `true`, the Form.Isolation will reset its data context after committing the data to the outer context.',\n type: 'boolean',\n status: 'optional',\n },\n dataReference: {\n doc: 'Provide a reference by using `Form.Isolation.createDataReference.`',\n type: 'IsolationDataReference',\n status: 'optional',\n },\n ...ProviderProperties,\n minimumAsyncBehaviorTime: undefined,\n asyncSubmitTimeout: undefined,\n scrollTopOnSubmit: undefined,\n sessionStorageId: undefined,\n globalStatusId: undefined,\n}\n\nexport const IsolationEvents: PropertiesTableProps = {\n onCommit: {\n doc: 'Will be called on a nested form context commit – if validation has passed. The first parameter is the committed data object. The second parameter is an object containing a method to clear the internal data `{ clearData }`.',\n type: 'function',\n status: 'optional',\n },\n ...ProviderEvents,\n onSubmit: undefined,\n onSubmitRequest: undefined,\n onSubmitComplete: undefined,\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"IsolationDocs.js","names":["_ProviderDocs","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","IsolationProperties","exports","path","doc","type","status","transformOnCommit","commitHandleRef","bubbleValidation","preventUncommittedChanges","resetDataAfterCommit","dataReference","ProviderProperties","minimumAsyncBehaviorTime","undefined","asyncSubmitTimeout","scrollTopOnSubmit","sessionStorageId","globalStatusId","IsolationEvents","onCommit","ProviderEvents","onSubmit","onSubmitRequest","onSubmitComplete"],"sources":["../../../../../../src/extensions/forms/Form/Isolation/IsolationDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\nimport {\n ProviderEvents,\n ProviderProperties,\n} from '../../DataContext/Provider/ProviderDocs'\n\nexport const IsolationProperties: PropertiesTableProps = {\n path: {\n doc: 'JSON Pointer to define the object key for all the generated nested field data.',\n type: 'string',\n status: 'optional',\n },\n transformOnCommit: {\n doc: 'Transform the data before it gets committed to the form. The first parameter is the isolated data object. The second parameter is the outer context data object (Form.Handler).',\n type: 'function',\n status: 'optional',\n },\n commitHandleRef: {\n doc: 'Provide a ref to a function that can be called from any location to commit the data to the form.',\n type: 'React.RefObject',\n status: 'optional',\n },\n bubbleValidation: {\n doc: 'Prevent the form from being submitted when there are fields with errors inside the Form.Isolation.',\n type: 'boolean',\n status: 'optional',\n },\n preventUncommittedChanges: {\n doc: 'Prevents uncommitted changes before the form is submitted. Will display an error message if user tries to submit without committing their changes.',\n type: 'boolean',\n status: 'optional',\n },\n resetDataAfterCommit: {\n doc: 'If set to `true`, the Form.Isolation will reset its data context after committing the data to the outer context.',\n type: 'boolean',\n status: 'optional',\n },\n dataReference: {\n doc: 'Provide a reference by using `Form.Isolation.createDataReference`.',\n type: 'IsolationDataReference',\n status: 'optional',\n },\n ...ProviderProperties,\n minimumAsyncBehaviorTime: undefined,\n asyncSubmitTimeout: undefined,\n scrollTopOnSubmit: undefined,\n sessionStorageId: undefined,\n globalStatusId: undefined,\n}\n\nexport const IsolationEvents: PropertiesTableProps = {\n onCommit: {\n doc: 'Will be called on a nested form context commit – if validation has passed. The first parameter is the committed data object. The second parameter is an object containing a method to clear the internal data `{ clearData }`.',\n type: 'function',\n status: 'optional',\n },\n ...ProviderEvents,\n onSubmit: undefined,\n onSubmitRequest: undefined,\n onSubmitComplete: undefined,\n}\n"],"mappings":"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","ignoreList":[]}
@@ -61,7 +61,8 @@ function IsolationResetButton(props) {
61
61
  } = (0, _useHandleStatus.default)({
62
62
  outerContext,
63
63
  preventUncommittedChanges,
64
- error: _IsolatedContainer.isolationError
64
+ error: _IsolatedContainer.isolationError,
65
+ name: 'isolation-reset-button'
65
66
  });
66
67
  const buttonProps = (0, _types.omitDataValueReadWriteProps)(restProps);
67
68
  const {
@@ -1 +1 @@
1
- {"version":3,"file":"IsolationResetButton.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_components","_useTranslation","_FieldBoundaryContext","_icons","_useHasContentChanged","_types","_useDataContextSnapshot","_useHandleStatus","_IsolatedContainer","_IsolationContext","_excluded","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","IsolationResetButton","props","text","children","onClick","className","hidden","showConfirmDialog","showWhen","restProps","outerContext","preventUncommittedChanges","useContext","IsolationContext","setShowBoundaryErrors","FieldBoundaryContext","handleReset","useDataContextSnapshot","enabled","hasContentChanged","useHasContentChanged","showStatus","showCommitStatus","useHandleStatus","error","isolationError","buttonProps","omitDataValueReadWriteProps","resetButton","useTranslation","IterateEditContainer","confirmResetText","textContent","buttonWrapperRef","React","useRef","handleClick","useCallback","_ref","_buttonWrapperRef$cur","close","event","current","focus","triggerAttributes","classnames","variant","icon","reset","icon_position","disabled","createElement","tabIndex","ref","Boolean","Dialog","title","onConfirm","Button","on_click"],"sources":["../../../../../../src/extensions/forms/Form/Isolation/IsolationResetButton.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport classnames from 'classnames'\nimport { Button, Dialog } from '../../../../components'\nimport useTranslation from '../../hooks/useTranslation'\nimport FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport { reset } from '../../../../icons'\nimport { ButtonProps } from '../../../../components/Button'\nimport useHasContentChanged from './useHasContentChanged'\nimport { omitDataValueReadWriteProps } from '../../types'\nimport useDataContextSnapshot from './useDataContextSnapshot'\nimport useHandleStatus from './useHandleStatus'\nimport { isolationError } from './IsolatedContainer'\nimport IsolationContext from './IsolationContext'\n\ntype Props = ButtonProps & {\n showConfirmDialog?: boolean\n showWhen?: 'uncommittedChangeDetected'\n}\n\nexport default function IsolationResetButton(props: Props) {\n const {\n text,\n children,\n onClick,\n className,\n hidden,\n showConfirmDialog = true,\n showWhen,\n ...restProps\n } = props\n\n const { outerContext, preventUncommittedChanges } =\n useContext(IsolationContext)\n const { setShowBoundaryErrors } = useContext(FieldBoundaryContext) || {}\n\n const { handleReset } = useDataContextSnapshot({ enabled: true })\n const { hasContentChanged } = useHasContentChanged()\n const { showStatus: showCommitStatus } = useHandleStatus({\n outerContext,\n preventUncommittedChanges,\n error: isolationError,\n })\n\n const buttonProps = omitDataValueReadWriteProps(restProps)\n const { resetButton } = useTranslation().IterateEditContainer\n const { confirmResetText } = useTranslation().IterateEditContainer\n const textContent = text || children || resetButton\n\n const buttonWrapperRef = React.useRef<HTMLButtonElement>(null)\n const handleClick = useCallback(\n ({ close, event }) => {\n close?.()\n onClick?.(event)\n handleReset()\n setShowBoundaryErrors?.(false)\n buttonWrapperRef.current?.focus()\n },\n [onClick, handleReset, setShowBoundaryErrors]\n )\n\n if (hidden) {\n return null\n }\n\n const triggerAttributes: ButtonProps = {\n className: classnames('dnb-forms-isolate__reset-button', className),\n text: textContent,\n variant: textContent ? 'tertiary' : 'secondary',\n icon: reset,\n icon_position: 'left',\n disabled:\n typeof hasContentChanged === 'boolean' ? !hasContentChanged : false,\n ...buttonProps,\n }\n\n return (\n <span\n tabIndex={-1}\n ref={buttonWrapperRef}\n className=\"dnb-no-focus\"\n hidden={\n !(showWhen === 'uncommittedChangeDetected'\n ? Boolean(showCommitStatus)\n : true)\n }\n >\n {showConfirmDialog ? (\n <Dialog\n variant=\"confirmation\"\n title={confirmResetText}\n triggerAttributes={triggerAttributes}\n onConfirm={handleClick}\n />\n ) : (\n <Button\n {...triggerAttributes}\n on_click={handleClick}\n {...buttonProps}\n >\n {resetButton}\n </Button>\n )}\n </span>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"IsolationResetButton.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_components","_useTranslation","_FieldBoundaryContext","_icons","_useHasContentChanged","_types","_useDataContextSnapshot","_useHandleStatus","_IsolatedContainer","_IsolationContext","_excluded","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","IsolationResetButton","props","text","children","onClick","className","hidden","showConfirmDialog","showWhen","restProps","outerContext","preventUncommittedChanges","useContext","IsolationContext","setShowBoundaryErrors","FieldBoundaryContext","handleReset","useDataContextSnapshot","enabled","hasContentChanged","useHasContentChanged","showStatus","showCommitStatus","useHandleStatus","error","isolationError","name","buttonProps","omitDataValueReadWriteProps","resetButton","useTranslation","IterateEditContainer","confirmResetText","textContent","buttonWrapperRef","React","useRef","handleClick","useCallback","_ref","_buttonWrapperRef$cur","close","event","current","focus","triggerAttributes","classnames","variant","icon","reset","icon_position","disabled","createElement","tabIndex","ref","Boolean","Dialog","title","onConfirm","Button","on_click"],"sources":["../../../../../../src/extensions/forms/Form/Isolation/IsolationResetButton.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport classnames from 'classnames'\nimport { Button, Dialog } from '../../../../components'\nimport useTranslation from '../../hooks/useTranslation'\nimport FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport { reset } from '../../../../icons'\nimport { ButtonProps } from '../../../../components/Button'\nimport useHasContentChanged from './useHasContentChanged'\nimport { omitDataValueReadWriteProps } from '../../types'\nimport useDataContextSnapshot from './useDataContextSnapshot'\nimport useHandleStatus from './useHandleStatus'\nimport { isolationError } from './IsolatedContainer'\nimport IsolationContext from './IsolationContext'\n\ntype Props = ButtonProps & {\n showConfirmDialog?: boolean\n showWhen?: 'uncommittedChangeDetected'\n}\n\nexport default function IsolationResetButton(props: Props) {\n const {\n text,\n children,\n onClick,\n className,\n hidden,\n showConfirmDialog = true,\n showWhen,\n ...restProps\n } = props\n\n const { outerContext, preventUncommittedChanges } =\n useContext(IsolationContext)\n const { setShowBoundaryErrors } = useContext(FieldBoundaryContext) || {}\n\n const { handleReset } = useDataContextSnapshot({ enabled: true })\n const { hasContentChanged } = useHasContentChanged()\n const { showStatus: showCommitStatus } = useHandleStatus({\n outerContext,\n preventUncommittedChanges,\n error: isolationError,\n name: 'isolation-reset-button',\n })\n\n const buttonProps = omitDataValueReadWriteProps(restProps)\n const { resetButton } = useTranslation().IterateEditContainer\n const { confirmResetText } = useTranslation().IterateEditContainer\n const textContent = text || children || resetButton\n\n const buttonWrapperRef = React.useRef<HTMLButtonElement>(null)\n const handleClick = useCallback(\n ({ close, event }) => {\n close?.()\n onClick?.(event)\n handleReset()\n setShowBoundaryErrors?.(false)\n buttonWrapperRef.current?.focus()\n },\n [onClick, handleReset, setShowBoundaryErrors]\n )\n\n if (hidden) {\n return null\n }\n\n const triggerAttributes: ButtonProps = {\n className: classnames('dnb-forms-isolate__reset-button', className),\n text: textContent,\n variant: textContent ? 'tertiary' : 'secondary',\n icon: reset,\n icon_position: 'left',\n disabled:\n typeof hasContentChanged === 'boolean' ? !hasContentChanged : false,\n ...buttonProps,\n }\n\n return (\n <span\n tabIndex={-1}\n ref={buttonWrapperRef}\n className=\"dnb-no-focus\"\n hidden={\n !(showWhen === 'uncommittedChangeDetected'\n ? Boolean(showCommitStatus)\n : true)\n }\n >\n {showConfirmDialog ? (\n <Dialog\n variant=\"confirmation\"\n title={confirmResetText}\n triggerAttributes={triggerAttributes}\n onConfirm={handleClick}\n />\n ) : (\n <Button\n {...triggerAttributes}\n on_click={handleClick}\n {...buttonProps}\n >\n {resetButton}\n </Button>\n )}\n </span>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -8,6 +8,7 @@ exports.default = useDataContextSnapshot;
8
8
  require("core-js/modules/web.dom-collections.iterator.js");
9
9
  var _react = require("react");
10
10
  var _Context = _interopRequireDefault(require("../../DataContext/Context"));
11
+ var _Context2 = _interopRequireDefault(require("../../Wizard/Context"));
11
12
  var _IsolationContext = _interopRequireDefault(require("./IsolationContext"));
12
13
  var _IsolationDataReference = require("./IsolationDataReference");
13
14
  var _structuredClone = _interopRequireDefault(require("@ungap/structured-clone"));
@@ -22,6 +23,7 @@ function useDataContextSnapshot() {
22
23
  setData
23
24
  } = (0, _react.useContext)(_Context.default);
24
25
  const isolationContext = (0, _react.useContext)(_IsolationContext.default);
26
+ const hasWizard = Boolean((0, _react.useContext)(_Context2.default));
25
27
  const [dataReferenceFallback] = (0, _react.useState)(() => {
26
28
  if (enabled && !(isolationContext !== null && isolationContext !== void 0 && isolationContext.dataReference)) {
27
29
  return (0, _IsolationDataReference.createDataReference)();
@@ -38,25 +40,30 @@ function useDataContextSnapshot() {
38
40
  refresh,
39
41
  cleanup
40
42
  } = dataReference || {};
43
+ const updateHandler = (0, _react.useCallback)(function () {
44
+ let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
45
+ update(data || (0, _structuredClone.default)(internalDataRef === null || internalDataRef === void 0 ? void 0 : internalDataRef.current));
46
+ forceUpdate();
47
+ }, [internalDataRef, update]);
41
48
  (0, _react.useEffect)(() => {
42
49
  if (enabled && eventsRef) {
43
- eventsRef.current.push(() => {
44
- update((0, _structuredClone.default)(internalDataRef === null || internalDataRef === void 0 ? void 0 : internalDataRef.current));
45
- forceUpdate();
50
+ eventsRef.current.push(updateHandler);
51
+ refresh({
52
+ deferred: hasWizard
46
53
  });
47
- refresh();
48
54
  }
49
- return () => cleanup === null || cleanup === void 0 ? void 0 : cleanup();
50
- }, [cleanup, enabled, eventsRef, internalDataRef, refresh, update]);
55
+ return () => cleanup === null || cleanup === void 0 ? void 0 : cleanup(updateHandler);
56
+ }, [cleanup, enabled, eventsRef, hasWizard, refresh, updateHandler]);
51
57
  const handleReset = (0, _react.useCallback)(() => {
52
58
  window.requestAnimationFrame(() => {
53
59
  if (snapshotRef) {
54
60
  const data = (0, _structuredClone.default)(snapshotRef.current);
55
- setData(data);
56
61
  setIsolatedData(data);
62
+ setData(data);
63
+ updateHandler(data);
57
64
  }
58
65
  });
59
- }, [setData, setIsolatedData, snapshotRef]);
66
+ }, [setData, setIsolatedData, snapshotRef, updateHandler]);
60
67
  return {
61
68
  handleReset,
62
69
  snapshotRef
@@ -1 +1 @@
1
- {"version":3,"file":"useDataContextSnapshot.js","names":["_react","require","_Context","_interopRequireDefault","_IsolationContext","_IsolationDataReference","_structuredClone","e","__esModule","default","useDataContextSnapshot","enabled","arguments","length","undefined","forceUpdate","useReducer","internalDataRef","setData","useContext","DataContext","isolationContext","IsolationContext","dataReferenceFallback","useState","dataReference","createDataReference","setIsolatedData","snapshotRef","eventsRef","update","refresh","cleanup","useEffect","current","push","structuredClone","handleReset","useCallback","window","requestAnimationFrame","data"],"sources":["../../../../../../src/extensions/forms/Form/Isolation/useDataContextSnapshot.ts"],"sourcesContent":["import {\n useCallback,\n useContext,\n useEffect,\n useReducer,\n useState,\n} from 'react'\nimport DataContext from '../../DataContext/Context'\nimport IsolationContext from './IsolationContext'\nimport { createDataReference } from './IsolationDataReference'\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\nexport default function useDataContextSnapshot({\n enabled,\n}: {\n enabled?: boolean\n} = {}) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { internalDataRef, setData } = useContext(DataContext)\n const isolationContext = useContext(IsolationContext)\n const [dataReferenceFallback] = useState(() => {\n if (enabled && !isolationContext?.dataReference) {\n return createDataReference()\n }\n })\n const { dataReference = dataReferenceFallback, setIsolatedData } =\n isolationContext || {}\n const { snapshotRef, eventsRef, update, refresh, cleanup } =\n dataReference || {}\n\n useEffect(() => {\n if (enabled && eventsRef) {\n eventsRef.current.push(() => {\n update(structuredClone(internalDataRef?.current))\n forceUpdate()\n })\n refresh()\n }\n\n return () => cleanup?.()\n }, [cleanup, enabled, eventsRef, internalDataRef, refresh, update])\n\n const handleReset = useCallback(() => {\n window.requestAnimationFrame(() => {\n if (snapshotRef) {\n const data = structuredClone(snapshotRef.current)\n setData(data)\n setIsolatedData(data)\n }\n }) // To actually reset the data without influence the data we are about to push, we need to wait for the next frame\n }, [setData, setIsolatedData, snapshotRef])\n\n return { handleReset, snapshotRef }\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAOA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,uBAAA,GAAAJ,OAAA;AAMA,IAAAK,gBAAA,GAAAH,sBAAA,CAAAF,OAAA;AAAqD,SAAAE,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEtC,SAASG,sBAAsBA,CAAA,EAItC;EAAA,IAJuC;IAC7CC;EAGF,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACJ,MAAM,GAAGG,WAAW,CAAC,GAAG,IAAAC,iBAAU,EAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAClD,MAAM;IAAEC,eAAe;IAAEC;EAAQ,CAAC,GAAG,IAAAC,iBAAU,EAACC,gBAAW,CAAC;EAC5D,MAAMC,gBAAgB,GAAG,IAAAF,iBAAU,EAACG,yBAAgB,CAAC;EACrD,MAAM,CAACC,qBAAqB,CAAC,GAAG,IAAAC,eAAQ,EAAC,MAAM;IAC7C,IAAIb,OAAO,IAAI,EAACU,gBAAgB,aAAhBA,gBAAgB,eAAhBA,gBAAgB,CAAEI,aAAa,GAAE;MAC/C,OAAO,IAAAC,2CAAmB,EAAC,CAAC;IAC9B;EACF,CAAC,CAAC;EACF,MAAM;IAAED,aAAa,GAAGF,qBAAqB;IAAEI;EAAgB,CAAC,GAC9DN,gBAAgB,IAAI,CAAC,CAAC;EACxB,MAAM;IAAEO,WAAW;IAAEC,SAAS;IAAEC,MAAM;IAAEC,OAAO;IAAEC;EAAQ,CAAC,GACxDP,aAAa,IAAI,CAAC,CAAC;EAErB,IAAAQ,gBAAS,EAAC,MAAM;IACd,IAAItB,OAAO,IAAIkB,SAAS,EAAE;MACxBA,SAAS,CAACK,OAAO,CAACC,IAAI,CAAC,MAAM;QAC3BL,MAAM,CAAC,IAAAM,wBAAe,EAACnB,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEiB,OAAO,CAAC,CAAC;QACjDnB,WAAW,CAAC,CAAC;MACf,CAAC,CAAC;MACFgB,OAAO,CAAC,CAAC;IACX;IAEA,OAAO,MAAMC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAG,CAAC;EAC1B,CAAC,EAAE,CAACA,OAAO,EAAErB,OAAO,EAAEkB,SAAS,EAAEZ,eAAe,EAAEc,OAAO,EAAED,MAAM,CAAC,CAAC;EAEnE,MAAMO,WAAW,GAAG,IAAAC,kBAAW,EAAC,MAAM;IACpCC,MAAM,CAACC,qBAAqB,CAAC,MAAM;MACjC,IAAIZ,WAAW,EAAE;QACf,MAAMa,IAAI,GAAG,IAAAL,wBAAe,EAACR,WAAW,CAACM,OAAO,CAAC;QACjDhB,OAAO,CAACuB,IAAI,CAAC;QACbd,eAAe,CAACc,IAAI,CAAC;MACvB;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAACvB,OAAO,EAAES,eAAe,EAAEC,WAAW,CAAC,CAAC;EAE3C,OAAO;IAAES,WAAW;IAAET;EAAY,CAAC;AACrC","ignoreList":[]}
1
+ {"version":3,"file":"useDataContextSnapshot.js","names":["_react","require","_Context","_interopRequireDefault","_Context2","_IsolationContext","_IsolationDataReference","_structuredClone","e","__esModule","default","useDataContextSnapshot","enabled","arguments","length","undefined","forceUpdate","useReducer","internalDataRef","setData","useContext","DataContext","isolationContext","IsolationContext","hasWizard","Boolean","WizardContext","dataReferenceFallback","useState","dataReference","createDataReference","setIsolatedData","snapshotRef","eventsRef","update","refresh","cleanup","updateHandler","useCallback","data","structuredClone","current","useEffect","push","deferred","handleReset","window","requestAnimationFrame"],"sources":["../../../../../../src/extensions/forms/Form/Isolation/useDataContextSnapshot.ts"],"sourcesContent":["import {\n useCallback,\n useContext,\n useEffect,\n useReducer,\n useState,\n} from 'react'\nimport DataContext from '../../DataContext/Context'\nimport WizardContext from '../../Wizard/Context'\nimport IsolationContext from './IsolationContext'\nimport { createDataReference } from './IsolationDataReference'\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\nexport default function useDataContextSnapshot({\n enabled,\n}: {\n enabled?: boolean\n} = {}) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { internalDataRef, setData } = useContext(DataContext)\n const isolationContext = useContext(IsolationContext)\n const hasWizard = Boolean(useContext(WizardContext))\n const [dataReferenceFallback] = useState(() => {\n if (enabled && !isolationContext?.dataReference) {\n return createDataReference()\n }\n })\n const { dataReference = dataReferenceFallback, setIsolatedData } =\n isolationContext || {}\n const { snapshotRef, eventsRef, update, refresh, cleanup } =\n dataReference || {}\n\n const updateHandler = useCallback(\n (data = null) => {\n update(data || structuredClone(internalDataRef?.current))\n forceUpdate() // Ensure the hasContentChanged hook gets updated\n },\n [internalDataRef, update]\n )\n\n useEffect(() => {\n if (enabled && eventsRef) {\n eventsRef.current.push(updateHandler)\n\n // Also run refresh again and wait for the Wizard to finish prerendering,\n // in case there are fields in steps beyond the current one.\n refresh({ deferred: hasWizard })\n }\n\n return () => cleanup?.(updateHandler)\n }, [cleanup, enabled, eventsRef, hasWizard, refresh, updateHandler])\n\n const handleReset = useCallback(() => {\n window.requestAnimationFrame(() => {\n if (snapshotRef) {\n const data = structuredClone(snapshotRef.current)\n setIsolatedData(data)\n setData(data)\n updateHandler(data)\n }\n }) // To actually reset the data without influence the data we are about to push, we need to wait for the next frame\n }, [setData, setIsolatedData, snapshotRef, updateHandler])\n\n return { handleReset, snapshotRef }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,9 @@
1
1
  import { ContextState } from '../../DataContext';
2
- export default function useHandleStatus({ outerContext, preventUncommittedChanges, error, }: {
2
+ export default function useHandleStatus({ outerContext, preventUncommittedChanges, error, name, }: {
3
3
  outerContext: ContextState;
4
4
  preventUncommittedChanges: boolean;
5
5
  error: Error;
6
+ name?: string;
6
7
  }): {
7
8
  hasContentChanged: boolean;
8
9
  showStatus: any;
@@ -14,12 +14,19 @@ function useHandleStatus(_ref) {
14
14
  let {
15
15
  outerContext,
16
16
  preventUncommittedChanges,
17
- error
17
+ error,
18
+ name
18
19
  } = _ref;
19
20
  const {
20
21
  hasContentChanged
21
- } = (0, _useHasContentChanged.default)();
22
- (0, _useReportError.default)(preventUncommittedChanges && hasContentChanged ? error : undefined, outerContext);
22
+ } = (0, _useHasContentChanged.default)({
23
+ enabled: preventUncommittedChanges
24
+ });
25
+ let errorToReport = undefined;
26
+ if (preventUncommittedChanges && hasContentChanged) {
27
+ errorToReport = error;
28
+ }
29
+ (0, _useReportError.default)(errorToReport, outerContext, name);
23
30
  const showStatus = useShowStatus({
24
31
  outerContext,
25
32
  hasContentChanged,
@@ -1 +1 @@
1
- {"version":3,"file":"useHandleStatus.js","names":["_react","require","_useHasContentChanged","_interopRequireDefault","_useReportError","e","__esModule","default","useHandleStatus","_ref","outerContext","preventUncommittedChanges","error","hasContentChanged","useHasContentChanged","useReportError","undefined","showStatus","useShowStatus","_ref2","showAllErrors","setShowStatus","useState","showRef","useRef","useEffect","current"],"sources":["../../../../../../src/extensions/forms/Form/Isolation/useHandleStatus.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport { ContextState } from '../../DataContext'\nimport useHasContentChanged from './useHasContentChanged'\nimport useReportError from './useReportError'\n\nexport default function useHandleStatus({\n outerContext,\n preventUncommittedChanges,\n error,\n}: {\n outerContext: ContextState\n preventUncommittedChanges: boolean\n error: Error\n}) {\n const { hasContentChanged } = useHasContentChanged()\n\n useReportError(\n preventUncommittedChanges && hasContentChanged ? error : undefined,\n outerContext\n )\n\n const showStatus = useShowStatus({\n outerContext,\n hasContentChanged,\n preventUncommittedChanges,\n })\n\n return { hasContentChanged, showStatus }\n}\n\n// This hook/state is used to not show the status right away, after the user has cleared the PushContainer data.\nfunction useShowStatus({\n outerContext,\n hasContentChanged,\n preventUncommittedChanges,\n}) {\n const showAllErrors = outerContext?.showAllErrors\n const [showStatus, setShowStatus] = useState(showAllErrors)\n const showRef = useRef(showAllErrors)\n\n useEffect(() => {\n if (!preventUncommittedChanges) {\n return // stop here\n }\n\n if (!hasContentChanged) {\n setShowStatus(false)\n } else {\n if (showRef.current !== showAllErrors) {\n setShowStatus(showAllErrors)\n }\n }\n showRef.current = showAllErrors\n }, [hasContentChanged, preventUncommittedChanges, showAllErrors])\n\n return showStatus\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,qBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,eAAA,GAAAD,sBAAA,CAAAF,OAAA;AAA6C,SAAAE,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE9B,SAASG,eAAeA,CAAAC,IAAA,EAQpC;EAAA,IARqC;IACtCC,YAAY;IACZC,yBAAyB;IACzBC;EAKF,CAAC,GAAAH,IAAA;EACC,MAAM;IAAEI;EAAkB,CAAC,GAAG,IAAAC,6BAAoB,EAAC,CAAC;EAEpD,IAAAC,uBAAc,EACZJ,yBAAyB,IAAIE,iBAAiB,GAAGD,KAAK,GAAGI,SAAS,EAClEN,YACF,CAAC;EAED,MAAMO,UAAU,GAAGC,aAAa,CAAC;IAC/BR,YAAY;IACZG,iBAAiB;IACjBF;EACF,CAAC,CAAC;EAEF,OAAO;IAAEE,iBAAiB;IAAEI;EAAW,CAAC;AAC1C;AAGA,SAASC,aAAaA,CAAAC,KAAA,EAInB;EAAA,IAJoB;IACrBT,YAAY;IACZG,iBAAiB;IACjBF;EACF,CAAC,GAAAQ,KAAA;EACC,MAAMC,aAAa,GAAGV,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEU,aAAa;EACjD,MAAM,CAACH,UAAU,EAAEI,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAACF,aAAa,CAAC;EAC3D,MAAMG,OAAO,GAAG,IAAAC,aAAM,EAACJ,aAAa,CAAC;EAErC,IAAAK,gBAAS,EAAC,MAAM;IACd,IAAI,CAACd,yBAAyB,EAAE;MAC9B;IACF;IAEA,IAAI,CAACE,iBAAiB,EAAE;MACtBQ,aAAa,CAAC,KAAK,CAAC;IACtB,CAAC,MAAM;MACL,IAAIE,OAAO,CAACG,OAAO,KAAKN,aAAa,EAAE;QACrCC,aAAa,CAACD,aAAa,CAAC;MAC9B;IACF;IACAG,OAAO,CAACG,OAAO,GAAGN,aAAa;EACjC,CAAC,EAAE,CAACP,iBAAiB,EAAEF,yBAAyB,EAAES,aAAa,CAAC,CAAC;EAEjE,OAAOH,UAAU;AACnB","ignoreList":[]}
1
+ {"version":3,"file":"useHandleStatus.js","names":["_react","require","_useHasContentChanged","_interopRequireDefault","_useReportError","e","__esModule","default","useHandleStatus","_ref","outerContext","preventUncommittedChanges","error","name","hasContentChanged","useHasContentChanged","enabled","errorToReport","undefined","useReportError","showStatus","useShowStatus","_ref2","showAllErrors","setShowStatus","useState","showRef","useRef","useEffect","current"],"sources":["../../../../../../src/extensions/forms/Form/Isolation/useHandleStatus.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport { ContextState } from '../../DataContext'\nimport useHasContentChanged from './useHasContentChanged'\nimport useReportError from './useReportError'\n\nexport default function useHandleStatus({\n outerContext,\n preventUncommittedChanges,\n error,\n name,\n}: {\n outerContext: ContextState\n preventUncommittedChanges: boolean\n error: Error\n name?: string\n}) {\n const { hasContentChanged } = useHasContentChanged({\n enabled: preventUncommittedChanges,\n })\n\n let errorToReport = undefined\n if (preventUncommittedChanges && hasContentChanged) {\n errorToReport = error\n }\n useReportError(errorToReport, outerContext, name)\n\n const showStatus = useShowStatus({\n outerContext,\n hasContentChanged,\n preventUncommittedChanges,\n })\n\n return { hasContentChanged, showStatus }\n}\n\n// This hook/state is used to not show the status right away, after the user has cleared the PushContainer data.\nfunction useShowStatus({\n outerContext,\n hasContentChanged,\n preventUncommittedChanges,\n}) {\n const showAllErrors = outerContext?.showAllErrors\n const [showStatus, setShowStatus] = useState(showAllErrors)\n const showRef = useRef(showAllErrors)\n\n useEffect(() => {\n if (!preventUncommittedChanges) {\n return // stop here\n }\n\n if (!hasContentChanged) {\n setShowStatus(false)\n } else {\n if (showRef.current !== showAllErrors) {\n setShowStatus(showAllErrors)\n }\n }\n showRef.current = showAllErrors\n }, [hasContentChanged, preventUncommittedChanges, showAllErrors])\n\n return showStatus\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,qBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,eAAA,GAAAD,sBAAA,CAAAF,OAAA;AAA6C,SAAAE,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE9B,SAASG,eAAeA,CAAAC,IAAA,EAUpC;EAAA,IAVqC;IACtCC,YAAY;IACZC,yBAAyB;IACzBC,KAAK;IACLC;EAMF,CAAC,GAAAJ,IAAA;EACC,MAAM;IAAEK;EAAkB,CAAC,GAAG,IAAAC,6BAAoB,EAAC;IACjDC,OAAO,EAAEL;EACX,CAAC,CAAC;EAEF,IAAIM,aAAa,GAAGC,SAAS;EAC7B,IAAIP,yBAAyB,IAAIG,iBAAiB,EAAE;IAClDG,aAAa,GAAGL,KAAK;EACvB;EACA,IAAAO,uBAAc,EAACF,aAAa,EAAEP,YAAY,EAAEG,IAAI,CAAC;EAEjD,MAAMO,UAAU,GAAGC,aAAa,CAAC;IAC/BX,YAAY;IACZI,iBAAiB;IACjBH;EACF,CAAC,CAAC;EAEF,OAAO;IAAEG,iBAAiB;IAAEM;EAAW,CAAC;AAC1C;AAGA,SAASC,aAAaA,CAAAC,KAAA,EAInB;EAAA,IAJoB;IACrBZ,YAAY;IACZI,iBAAiB;IACjBH;EACF,CAAC,GAAAW,KAAA;EACC,MAAMC,aAAa,GAAGb,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEa,aAAa;EACjD,MAAM,CAACH,UAAU,EAAEI,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAACF,aAAa,CAAC;EAC3D,MAAMG,OAAO,GAAG,IAAAC,aAAM,EAACJ,aAAa,CAAC;EAErC,IAAAK,gBAAS,EAAC,MAAM;IACd,IAAI,CAACjB,yBAAyB,EAAE;MAC9B;IACF;IAEA,IAAI,CAACG,iBAAiB,EAAE;MACtBU,aAAa,CAAC,KAAK,CAAC;IACtB,CAAC,MAAM;MACL,IAAIE,OAAO,CAACG,OAAO,KAAKN,aAAa,EAAE;QACrCC,aAAa,CAACD,aAAa,CAAC;MAC9B;IACF;IACAG,OAAO,CAACG,OAAO,GAAGN,aAAa;EACjC,CAAC,EAAE,CAACT,iBAAiB,EAAEH,yBAAyB,EAAEY,aAAa,CAAC,CAAC;EAEjE,OAAOH,UAAU;AACnB","ignoreList":[]}
@@ -1,3 +1,5 @@
1
- export default function useHasContentChanged(): {
1
+ export default function useHasContentChanged({ enabled, }?: {
2
+ enabled?: boolean;
3
+ }): {
2
4
  hasContentChanged: boolean;
3
5
  };
@@ -11,13 +11,16 @@ var _Context = _interopRequireDefault(require("../../DataContext/Context"));
11
11
  var _useDataContextSnapshot = _interopRequireDefault(require("./useDataContextSnapshot"));
12
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
13
  function useHasContentChanged() {
14
+ let {
15
+ enabled = false
16
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
14
17
  const {
15
18
  internalDataRef
16
19
  } = (0, _react.useContext)(_Context.default);
17
20
  const {
18
21
  snapshotRef
19
22
  } = (0, _useDataContextSnapshot.default)({
20
- enabled: true
23
+ enabled
21
24
  });
22
25
  const data = internalDataRef === null || internalDataRef === void 0 ? void 0 : internalDataRef.current;
23
26
  const snapshot = snapshotRef === null || snapshotRef === void 0 ? void 0 : snapshotRef.current;
@@ -1 +1 @@
1
- {"version":3,"file":"useHasContentChanged.js","names":["_react","require","_jsonPointer","_interopRequireDefault","_Context","_useDataContextSnapshot","e","__esModule","default","useHasContentChanged","internalDataRef","useContext","DataContext","snapshotRef","useDataContextSnapshot","enabled","data","current","snapshot","hasContentChanged","useMemo","undefined","hasChanged","pointer","walk","value","path","exists","has","get"],"sources":["../../../../../../src/extensions/forms/Form/Isolation/useHasContentChanged.ts"],"sourcesContent":["import { useContext, useMemo } from 'react'\nimport pointer from '../../utils/json-pointer'\nimport DataContext from '../../DataContext/Context'\nimport useDataContextSnapshot from './useDataContextSnapshot'\n\nexport default function useHasContentChanged() {\n const { internalDataRef } = useContext(DataContext)\n const { snapshotRef } = useDataContextSnapshot({ enabled: true })\n\n const data = internalDataRef?.current\n const snapshot = snapshotRef?.current // To support a custom data reference, we need to have a snapshot in the hook deps.\n const hasContentChanged = useMemo(() => {\n if (!data || !snapshot) {\n return undefined\n }\n\n let hasChanged = false\n\n pointer.walk(data, (value, path) => {\n const exists = pointer.has(snapshot, path)\n if (!exists || (exists && pointer.get(snapshot, path) !== value)) {\n hasChanged = true\n return false\n }\n })\n\n return hasChanged\n }, [data, snapshot])\n\n return { hasContentChanged }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,QAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,uBAAA,GAAAF,sBAAA,CAAAF,OAAA;AAA6D,SAAAE,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE9C,SAASG,oBAAoBA,CAAA,EAAG;EAC7C,MAAM;IAAEC;EAAgB,CAAC,GAAG,IAAAC,iBAAU,EAACC,gBAAW,CAAC;EACnD,MAAM;IAAEC;EAAY,CAAC,GAAG,IAAAC,+BAAsB,EAAC;IAAEC,OAAO,EAAE;EAAK,CAAC,CAAC;EAEjE,MAAMC,IAAI,GAAGN,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEO,OAAO;EACrC,MAAMC,QAAQ,GAAGL,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEI,OAAO;EACrC,MAAME,iBAAiB,GAAG,IAAAC,cAAO,EAAC,MAAM;IACtC,IAAI,CAACJ,IAAI,IAAI,CAACE,QAAQ,EAAE;MACtB,OAAOG,SAAS;IAClB;IAEA,IAAIC,UAAU,GAAG,KAAK;IAEtBC,oBAAO,CAACC,IAAI,CAACR,IAAI,EAAE,CAACS,KAAK,EAAEC,IAAI,KAAK;MAClC,MAAMC,MAAM,GAAGJ,oBAAO,CAACK,GAAG,CAACV,QAAQ,EAAEQ,IAAI,CAAC;MAC1C,IAAI,CAACC,MAAM,IAAKA,MAAM,IAAIJ,oBAAO,CAACM,GAAG,CAACX,QAAQ,EAAEQ,IAAI,CAAC,KAAKD,KAAM,EAAE;QAChEH,UAAU,GAAG,IAAI;QACjB,OAAO,KAAK;MACd;IACF,CAAC,CAAC;IAEF,OAAOA,UAAU;EACnB,CAAC,EAAE,CAACN,IAAI,EAAEE,QAAQ,CAAC,CAAC;EAEpB,OAAO;IAAEC;EAAkB,CAAC;AAC9B","ignoreList":[]}
1
+ {"version":3,"file":"useHasContentChanged.js","names":["_react","require","_jsonPointer","_interopRequireDefault","_Context","_useDataContextSnapshot","e","__esModule","default","useHasContentChanged","enabled","arguments","length","undefined","internalDataRef","useContext","DataContext","snapshotRef","useDataContextSnapshot","data","current","snapshot","hasContentChanged","useMemo","hasChanged","pointer","walk","value","path","exists","has","get"],"sources":["../../../../../../src/extensions/forms/Form/Isolation/useHasContentChanged.ts"],"sourcesContent":["import { useContext, useMemo } from 'react'\nimport pointer from '../../utils/json-pointer'\nimport DataContext from '../../DataContext/Context'\nimport useDataContextSnapshot from './useDataContextSnapshot'\n\nexport default function useHasContentChanged({\n enabled = false,\n}: {\n enabled?: boolean\n} = {}) {\n const { internalDataRef } = useContext(DataContext)\n const { snapshotRef } = useDataContextSnapshot({ enabled })\n\n const data = internalDataRef?.current\n const snapshot = snapshotRef?.current // To support a custom data reference, we need to have a snapshot in the hook deps.\n\n const hasContentChanged = useMemo(() => {\n if (!data || !snapshot) {\n return undefined\n }\n\n let hasChanged = false\n\n pointer.walk(data, (value, path) => {\n const exists = pointer.has(snapshot, path)\n if (!exists || (exists && pointer.get(snapshot, path) !== value)) {\n hasChanged = true\n return false\n }\n })\n\n return hasChanged\n }, [data, snapshot])\n\n return { hasContentChanged }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,QAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,uBAAA,GAAAF,sBAAA,CAAAF,OAAA;AAA6D,SAAAE,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE9C,SAASG,oBAAoBA,CAAA,EAIpC;EAAA,IAJqC;IAC3CC,OAAO,GAAG;EAGZ,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACJ,MAAM;IAAEG;EAAgB,CAAC,GAAG,IAAAC,iBAAU,EAACC,gBAAW,CAAC;EACnD,MAAM;IAAEC;EAAY,CAAC,GAAG,IAAAC,+BAAsB,EAAC;IAAER;EAAQ,CAAC,CAAC;EAE3D,MAAMS,IAAI,GAAGL,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEM,OAAO;EACrC,MAAMC,QAAQ,GAAGJ,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEG,OAAO;EAErC,MAAME,iBAAiB,GAAG,IAAAC,cAAO,EAAC,MAAM;IACtC,IAAI,CAACJ,IAAI,IAAI,CAACE,QAAQ,EAAE;MACtB,OAAOR,SAAS;IAClB;IAEA,IAAIW,UAAU,GAAG,KAAK;IAEtBC,oBAAO,CAACC,IAAI,CAACP,IAAI,EAAE,CAACQ,KAAK,EAAEC,IAAI,KAAK;MAClC,MAAMC,MAAM,GAAGJ,oBAAO,CAACK,GAAG,CAACT,QAAQ,EAAEO,IAAI,CAAC;MAC1C,IAAI,CAACC,MAAM,IAAKA,MAAM,IAAIJ,oBAAO,CAACM,GAAG,CAACV,QAAQ,EAAEO,IAAI,CAAC,KAAKD,KAAM,EAAE;QAChEH,UAAU,GAAG,IAAI;QACjB,OAAO,KAAK;MACd;IACF,CAAC,CAAC;IAEF,OAAOA,UAAU;EACnB,CAAC,EAAE,CAACL,IAAI,EAAEE,QAAQ,CAAC,CAAC;EAEpB,OAAO;IAAEC;EAAkB,CAAC;AAC9B","ignoreList":[]}
@@ -1,2 +1,2 @@
1
1
  import { ContextState } from '../../DataContext';
2
- export default function useReportError(error: Error, customDataContext?: ContextState): void;
2
+ export default function useReportError(error: Error, customDataContext?: ContextState, name?: string): void;
@@ -10,14 +10,21 @@ var _useId = _interopRequireDefault(require("../../../../shared/helpers/useId"))
10
10
  var _Context = _interopRequireDefault(require("../../DataContext/Context"));
11
11
  var _StepContext = _interopRequireDefault(require("../../Wizard/Step/StepContext"));
12
12
  var _Context2 = _interopRequireDefault(require("../../Wizard/Context"));
13
+ var _VisibilityContext = _interopRequireDefault(require("../Visibility/VisibilityContext"));
14
+ var _hooks = require("../../hooks");
13
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
- function useReportError(error, customDataContext) {
16
+ function useReportError(error, customDataContext, name) {
17
+ const {
18
+ joinPath
19
+ } = (0, _hooks.usePath)();
15
20
  const dataContext = (0, _react.useContext)(_Context.default);
16
21
  const wizardContext = (0, _react.useContext)(_Context2.default);
17
22
  const wizardStepContext = (0, _react.useContext)(_StepContext.default);
23
+ const visibilityContext = (0, _react.useContext)(_VisibilityContext.default);
18
24
  const {
19
25
  setFieldError: setFieldErrorDataContext,
20
- setMountedFieldState
26
+ setMountedFieldState,
27
+ prerenderFieldProps
21
28
  } = customDataContext || dataContext;
22
29
  const {
23
30
  setFieldError: setFieldErrorWizard
@@ -25,16 +32,24 @@ function useReportError(error, customDataContext) {
25
32
  const {
26
33
  index: wizardIndex
27
34
  } = wizardStepContext || {};
35
+ const {
36
+ isVisible
37
+ } = visibilityContext || {};
38
+ const handleFieldAsVisible = isVisible;
28
39
  const id = (0, _useId.default)();
29
40
  (0, _react.useEffect)(() => {
30
- const path = `/${id}`;
31
- if (error) {
41
+ if (prerenderFieldProps) {
42
+ return;
43
+ }
44
+ const path = joinPath(['internal', name, id]);
45
+ const currentError = handleFieldAsVisible !== false ? error : undefined;
46
+ if (currentError) {
32
47
  setMountedFieldState === null || setMountedFieldState === void 0 ? void 0 : setMountedFieldState(path, {
33
48
  isMounted: true
34
49
  });
35
50
  }
36
- setFieldErrorWizard === null || setFieldErrorWizard === void 0 ? void 0 : setFieldErrorWizard(wizardIndex, path, error ? true : undefined);
37
- setFieldErrorDataContext === null || setFieldErrorDataContext === void 0 ? void 0 : setFieldErrorDataContext(path, error);
51
+ setFieldErrorWizard === null || setFieldErrorWizard === void 0 ? void 0 : setFieldErrorWizard(wizardIndex, path, currentError ? true : undefined);
52
+ setFieldErrorDataContext === null || setFieldErrorDataContext === void 0 ? void 0 : setFieldErrorDataContext(path, currentError);
38
53
  return () => {
39
54
  setMountedFieldState === null || setMountedFieldState === void 0 ? void 0 : setMountedFieldState(path, {
40
55
  isMounted: false
@@ -42,6 +57,6 @@ function useReportError(error, customDataContext) {
42
57
  setFieldErrorWizard === null || setFieldErrorWizard === void 0 ? void 0 : setFieldErrorWizard(wizardIndex, path, undefined);
43
58
  setFieldErrorDataContext === null || setFieldErrorDataContext === void 0 ? void 0 : setFieldErrorDataContext(path, undefined);
44
59
  };
45
- }, [error, id, setFieldErrorDataContext, setFieldErrorWizard, setMountedFieldState, wizardIndex]);
60
+ }, [error, handleFieldAsVisible, id, joinPath, name, prerenderFieldProps, setFieldErrorDataContext, setFieldErrorWizard, setMountedFieldState, wizardIndex]);
46
61
  }
47
62
  //# sourceMappingURL=useReportError.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useReportError.js","names":["_react","require","_useId","_interopRequireDefault","_Context","_StepContext","_Context2","e","__esModule","default","useReportError","error","customDataContext","dataContext","useContext","DataContext","wizardContext","WizardContext","wizardStepContext","WizardStepContext","setFieldError","setFieldErrorDataContext","setMountedFieldState","setFieldErrorWizard","index","wizardIndex","id","useId","useEffect","path","isMounted","undefined"],"sources":["../../../../../../src/extensions/forms/Form/Isolation/useReportError.ts"],"sourcesContent":["import { useContext, useEffect } from 'react'\nimport useId from '../../../../shared/helpers/useId'\nimport { ContextState } from '../../DataContext'\nimport DataContext from '../../DataContext/Context'\nimport WizardStepContext from '../../Wizard/Step/StepContext'\nimport WizardContext from '../../Wizard/Context'\n\nexport default function useReportError(\n error: Error,\n customDataContext?: ContextState\n) {\n const dataContext = useContext(DataContext)\n const wizardContext = useContext(WizardContext)\n const wizardStepContext = useContext(WizardStepContext)\n\n const { setFieldError: setFieldErrorDataContext, setMountedFieldState } =\n customDataContext || dataContext\n const { setFieldError: setFieldErrorWizard } = wizardContext || {}\n const { index: wizardIndex } = wizardStepContext || {}\n\n const id = useId()\n useEffect(() => {\n const path = `/${id}`\n\n if (error) {\n setMountedFieldState?.(path, {\n isMounted: true,\n })\n }\n\n setFieldErrorWizard?.(wizardIndex, path, error ? true : undefined)\n setFieldErrorDataContext?.(path, error)\n\n // Unmount procedure\n return () => {\n setMountedFieldState?.(path, {\n isMounted: false,\n })\n\n setFieldErrorWizard?.(wizardIndex, path, undefined)\n setFieldErrorDataContext?.(path, undefined)\n }\n }, [\n error,\n id,\n setFieldErrorDataContext,\n setFieldErrorWizard,\n setMountedFieldState,\n wizardIndex,\n ])\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,QAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,YAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,SAAA,GAAAH,sBAAA,CAAAF,OAAA;AAAgD,SAAAE,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEjC,SAASG,cAAcA,CACpCC,KAAY,EACZC,iBAAgC,EAChC;EACA,MAAMC,WAAW,GAAG,IAAAC,iBAAU,EAACC,gBAAW,CAAC;EAC3C,MAAMC,aAAa,GAAG,IAAAF,iBAAU,EAACG,iBAAa,CAAC;EAC/C,MAAMC,iBAAiB,GAAG,IAAAJ,iBAAU,EAACK,oBAAiB,CAAC;EAEvD,MAAM;IAAEC,aAAa,EAAEC,wBAAwB;IAAEC;EAAqB,CAAC,GACrEV,iBAAiB,IAAIC,WAAW;EAClC,MAAM;IAAEO,aAAa,EAAEG;EAAoB,CAAC,GAAGP,aAAa,IAAI,CAAC,CAAC;EAClE,MAAM;IAAEQ,KAAK,EAAEC;EAAY,CAAC,GAAGP,iBAAiB,IAAI,CAAC,CAAC;EAEtD,MAAMQ,EAAE,GAAG,IAAAC,cAAK,EAAC,CAAC;EAClB,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAMC,IAAI,GAAG,IAAIH,EAAE,EAAE;IAErB,IAAIf,KAAK,EAAE;MACTW,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAGO,IAAI,EAAE;QAC3BC,SAAS,EAAE;MACb,CAAC,CAAC;IACJ;IAEAP,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAGE,WAAW,EAAEI,IAAI,EAAElB,KAAK,GAAG,IAAI,GAAGoB,SAAS,CAAC;IAClEV,wBAAwB,aAAxBA,wBAAwB,uBAAxBA,wBAAwB,CAAGQ,IAAI,EAAElB,KAAK,CAAC;IAGvC,OAAO,MAAM;MACXW,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAGO,IAAI,EAAE;QAC3BC,SAAS,EAAE;MACb,CAAC,CAAC;MAEFP,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAGE,WAAW,EAAEI,IAAI,EAAEE,SAAS,CAAC;MACnDV,wBAAwB,aAAxBA,wBAAwB,uBAAxBA,wBAAwB,CAAGQ,IAAI,EAAEE,SAAS,CAAC;IAC7C,CAAC;EACH,CAAC,EAAE,CACDpB,KAAK,EACLe,EAAE,EACFL,wBAAwB,EACxBE,mBAAmB,EACnBD,oBAAoB,EACpBG,WAAW,CACZ,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"useReportError.js","names":["_react","require","_useId","_interopRequireDefault","_Context","_StepContext","_Context2","_VisibilityContext","_hooks","e","__esModule","default","useReportError","error","customDataContext","name","joinPath","usePath","dataContext","useContext","DataContext","wizardContext","WizardContext","wizardStepContext","WizardStepContext","visibilityContext","VisibilityContext","setFieldError","setFieldErrorDataContext","setMountedFieldState","prerenderFieldProps","setFieldErrorWizard","index","wizardIndex","isVisible","handleFieldAsVisible","id","useId","useEffect","path","currentError","undefined","isMounted"],"sources":["../../../../../../src/extensions/forms/Form/Isolation/useReportError.ts"],"sourcesContent":["import { useContext, useEffect } from 'react'\nimport useId from '../../../../shared/helpers/useId'\nimport { ContextState } from '../../DataContext'\nimport DataContext from '../../DataContext/Context'\nimport WizardStepContext from '../../Wizard/Step/StepContext'\nimport WizardContext from '../../Wizard/Context'\nimport VisibilityContext from '../Visibility/VisibilityContext'\nimport { usePath } from '../../hooks'\n\nexport default function useReportError(\n error: Error,\n customDataContext?: ContextState,\n name?: string\n) {\n const { joinPath } = usePath()\n const dataContext = useContext(DataContext)\n const wizardContext = useContext(WizardContext)\n const wizardStepContext = useContext(WizardStepContext)\n const visibilityContext = useContext(VisibilityContext)\n\n const {\n setFieldError: setFieldErrorDataContext,\n setMountedFieldState,\n prerenderFieldProps,\n } = customDataContext || dataContext\n const { setFieldError: setFieldErrorWizard } = wizardContext || {}\n const { index: wizardIndex } = wizardStepContext || {}\n const { isVisible } = visibilityContext || {}\n const handleFieldAsVisible = isVisible\n\n const id = useId()\n useEffect(() => {\n if (prerenderFieldProps) {\n return // stop here\n }\n\n const path = joinPath(['internal', name, id])\n const currentError = handleFieldAsVisible !== false ? error : undefined\n\n if (currentError) {\n setMountedFieldState?.(path, {\n isMounted: true,\n })\n }\n\n setFieldErrorWizard?.(\n wizardIndex,\n path,\n currentError ? true : undefined\n )\n\n setFieldErrorDataContext?.(path, currentError)\n\n // Unmount procedure\n return () => {\n setMountedFieldState?.(path, {\n isMounted: false,\n })\n\n setFieldErrorWizard?.(wizardIndex, path, undefined)\n setFieldErrorDataContext?.(path, undefined)\n }\n }, [\n error,\n handleFieldAsVisible,\n id,\n joinPath,\n name,\n prerenderFieldProps,\n setFieldErrorDataContext,\n setFieldErrorWizard,\n setMountedFieldState,\n wizardIndex,\n ])\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,QAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,YAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,SAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,kBAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AAAqC,SAAAE,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEtB,SAASG,cAAcA,CACpCC,KAAY,EACZC,iBAAgC,EAChCC,IAAa,EACb;EACA,MAAM;IAAEC;EAAS,CAAC,GAAG,IAAAC,cAAO,EAAC,CAAC;EAC9B,MAAMC,WAAW,GAAG,IAAAC,iBAAU,EAACC,gBAAW,CAAC;EAC3C,MAAMC,aAAa,GAAG,IAAAF,iBAAU,EAACG,iBAAa,CAAC;EAC/C,MAAMC,iBAAiB,GAAG,IAAAJ,iBAAU,EAACK,oBAAiB,CAAC;EACvD,MAAMC,iBAAiB,GAAG,IAAAN,iBAAU,EAACO,0BAAiB,CAAC;EAEvD,MAAM;IACJC,aAAa,EAAEC,wBAAwB;IACvCC,oBAAoB;IACpBC;EACF,CAAC,GAAGhB,iBAAiB,IAAII,WAAW;EACpC,MAAM;IAAES,aAAa,EAAEI;EAAoB,CAAC,GAAGV,aAAa,IAAI,CAAC,CAAC;EAClE,MAAM;IAAEW,KAAK,EAAEC;EAAY,CAAC,GAAGV,iBAAiB,IAAI,CAAC,CAAC;EACtD,MAAM;IAAEW;EAAU,CAAC,GAAGT,iBAAiB,IAAI,CAAC,CAAC;EAC7C,MAAMU,oBAAoB,GAAGD,SAAS;EAEtC,MAAME,EAAE,GAAG,IAAAC,cAAK,EAAC,CAAC;EAClB,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIR,mBAAmB,EAAE;MACvB;IACF;IAEA,MAAMS,IAAI,GAAGvB,QAAQ,CAAC,CAAC,UAAU,EAAED,IAAI,EAAEqB,EAAE,CAAC,CAAC;IAC7C,MAAMI,YAAY,GAAGL,oBAAoB,KAAK,KAAK,GAAGtB,KAAK,GAAG4B,SAAS;IAEvE,IAAID,YAAY,EAAE;MAChBX,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAGU,IAAI,EAAE;QAC3BG,SAAS,EAAE;MACb,CAAC,CAAC;IACJ;IAEAX,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CACjBE,WAAW,EACXM,IAAI,EACJC,YAAY,GAAG,IAAI,GAAGC,SACxB,CAAC;IAEDb,wBAAwB,aAAxBA,wBAAwB,uBAAxBA,wBAAwB,CAAGW,IAAI,EAAEC,YAAY,CAAC;IAG9C,OAAO,MAAM;MACXX,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAGU,IAAI,EAAE;QAC3BG,SAAS,EAAE;MACb,CAAC,CAAC;MAEFX,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAGE,WAAW,EAAEM,IAAI,EAAEE,SAAS,CAAC;MACnDb,wBAAwB,aAAxBA,wBAAwB,uBAAxBA,wBAAwB,CAAGW,IAAI,EAAEE,SAAS,CAAC;IAC7C,CAAC;EACH,CAAC,EAAE,CACD5B,KAAK,EACLsB,oBAAoB,EACpBC,EAAE,EACFpB,QAAQ,EACRD,IAAI,EACJe,mBAAmB,EACnBF,wBAAwB,EACxBG,mBAAmB,EACnBF,oBAAoB,EACpBI,WAAW,CACZ,CAAC;AACJ","ignoreList":[]}