@dnb/eufemia 10.73.2 → 10.75.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1269) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/cjs/components/autocomplete/Autocomplete.js +7 -4
  3. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  4. package/cjs/components/autocomplete/AutocompleteDocs.d.ts +289 -3
  5. package/cjs/components/autocomplete/AutocompleteDocs.js +2 -2
  6. package/cjs/components/autocomplete/AutocompleteDocs.js.map +1 -1
  7. package/cjs/components/button/style/dnb-button.css +1 -0
  8. package/cjs/components/button/style/dnb-button.min.css +1 -1
  9. package/cjs/components/button/style/dnb-button.scss +1 -0
  10. package/cjs/components/checkbox/Checkbox.d.ts +9 -1
  11. package/cjs/components/checkbox/Checkbox.js +59 -34
  12. package/cjs/components/checkbox/Checkbox.js.map +1 -1
  13. package/cjs/components/checkbox/CheckboxDocs.js +6 -1
  14. package/cjs/components/checkbox/CheckboxDocs.js.map +1 -1
  15. package/cjs/components/country-flag/CountryFlag.js +6 -3
  16. package/cjs/components/country-flag/CountryFlag.js.map +1 -1
  17. package/cjs/components/date-picker/DatePicker.d.ts +20 -7
  18. package/cjs/components/date-picker/DatePicker.js +11 -22
  19. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  20. package/cjs/components/date-picker/DatePickerCalendar.d.ts +3 -19
  21. package/cjs/components/date-picker/DatePickerCalendar.js +45 -89
  22. package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
  23. package/cjs/components/date-picker/DatePickerCalendarNavigator.d.ts +34 -0
  24. package/cjs/components/date-picker/DatePickerCalendarNavigator.js +164 -0
  25. package/cjs/components/date-picker/DatePickerCalendarNavigator.js.map +1 -0
  26. package/cjs/components/date-picker/DatePickerContext.d.ts +4 -0
  27. package/cjs/components/date-picker/DatePickerContext.js.map +1 -1
  28. package/cjs/components/date-picker/DatePickerDocs.js +6 -6
  29. package/cjs/components/date-picker/DatePickerDocs.js.map +1 -1
  30. package/cjs/components/date-picker/DatePickerFooter.js +22 -19
  31. package/cjs/components/date-picker/DatePickerFooter.js.map +1 -1
  32. package/cjs/components/date-picker/DatePickerInput.d.ts +3 -2
  33. package/cjs/components/date-picker/DatePickerInput.js +9 -8
  34. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  35. package/cjs/components/date-picker/DatePickerProvider.d.ts +1 -1
  36. package/cjs/components/date-picker/DatePickerProvider.js +23 -15
  37. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  38. package/cjs/components/date-picker/DatePickerRange.d.ts +3 -7
  39. package/cjs/components/date-picker/DatePickerRange.js +11 -35
  40. package/cjs/components/date-picker/DatePickerRange.js.map +1 -1
  41. package/cjs/components/date-picker/hooks/useDates.js.map +1 -1
  42. package/cjs/components/date-picker/hooks/useSubmittedDates.d.ts +7 -0
  43. package/cjs/components/date-picker/hooks/useSubmittedDates.js +19 -0
  44. package/cjs/components/date-picker/hooks/useSubmittedDates.js.map +1 -0
  45. package/cjs/components/date-picker/style/dnb-date-picker.css +1 -1
  46. package/cjs/components/date-picker/style/dnb-date-picker.min.css +1 -1
  47. package/cjs/components/date-picker/style/dnb-date-picker.scss +1 -1
  48. package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +21 -0
  49. package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
  50. package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +24 -0
  51. package/cjs/components/drawer/Drawer.js +1 -0
  52. package/cjs/components/drawer/Drawer.js.map +1 -1
  53. package/cjs/components/dropdown/Dropdown.js +6 -4
  54. package/cjs/components/dropdown/Dropdown.js.map +1 -1
  55. package/cjs/components/dropdown/DropdownDocs.d.ts +179 -3
  56. package/cjs/components/dropdown/DropdownDocs.js.map +1 -1
  57. package/cjs/components/heading/HeadingHelpers.js +9 -5
  58. package/cjs/components/heading/HeadingHelpers.js.map +1 -1
  59. package/cjs/components/icon/Icon.d.ts +2 -2
  60. package/cjs/components/input-masked/InputMaskedDocs.js +1 -1
  61. package/cjs/components/input-masked/InputMaskedDocs.js.map +1 -1
  62. package/cjs/components/input-masked/InputMaskedHooks.d.ts +1 -0
  63. package/cjs/components/input-masked/InputMaskedHooks.js +38 -6
  64. package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
  65. package/cjs/components/input-masked/InputMaskedUtils.js +5 -4
  66. package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
  67. package/cjs/components/number-format/NumberUtils.d.ts +1 -1
  68. package/cjs/components/number-format/NumberUtils.js +6 -4
  69. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  70. package/cjs/components/switch/SwitchDocs.js +2 -2
  71. package/cjs/components/switch/SwitchDocs.js.map +1 -1
  72. package/cjs/extensions/forms/DataContext/Context.d.ts +1 -1
  73. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  74. package/cjs/extensions/forms/DataContext/Provider/Provider.js +9 -0
  75. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  76. package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +3 -9
  77. package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  78. package/cjs/extensions/forms/Field/Boolean/BooleanDocs.d.ts +1 -0
  79. package/cjs/extensions/forms/Field/Boolean/BooleanDocs.js +8 -1
  80. package/cjs/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -1
  81. package/cjs/extensions/forms/Field/Date/Date.d.ts +1 -1
  82. package/cjs/extensions/forms/Field/Date/Date.js +1 -1
  83. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  84. package/cjs/extensions/forms/Field/Date/DateDocs.js +2 -1
  85. package/cjs/extensions/forms/Field/Date/DateDocs.js.map +1 -1
  86. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  87. package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.d.ts +1 -1
  88. package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  89. package/cjs/extensions/forms/Field/Indeterminate/IndeterminateDocs.js +1 -1
  90. package/cjs/extensions/forms/Field/Indeterminate/IndeterminateDocs.js.map +1 -1
  91. package/cjs/extensions/forms/Field/Number/NumberDocs.js +1 -1
  92. package/cjs/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  93. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +8 -4
  94. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  95. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +5 -5
  96. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +3 -2
  97. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +20 -13
  98. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  99. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +2 -2
  100. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  101. package/cjs/extensions/forms/Field/SelectCountry/useCountries.d.ts +2016 -0
  102. package/cjs/extensions/forms/Field/SelectCountry/useCountries.js +72 -0
  103. package/cjs/extensions/forms/Field/SelectCountry/useCountries.js.map +1 -0
  104. package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js +2 -2
  105. package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js.map +1 -1
  106. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +2 -0
  107. package/cjs/extensions/forms/Field/Selection/Selection.js +10 -9
  108. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  109. package/cjs/extensions/forms/Field/Toggle/Toggle.d.ts +7 -0
  110. package/cjs/extensions/forms/Field/Toggle/Toggle.js +24 -8
  111. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  112. package/cjs/extensions/forms/Field/Toggle/ToggleDocs.d.ts +1 -0
  113. package/cjs/extensions/forms/Field/Toggle/ToggleDocs.js +8 -1
  114. package/cjs/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
  115. package/cjs/extensions/forms/Form/Isolation/IsolatedContainer.d.ts +4 -0
  116. package/cjs/extensions/forms/Form/Isolation/IsolatedContainer.js +64 -0
  117. package/cjs/extensions/forms/Form/Isolation/IsolatedContainer.js.map +1 -0
  118. package/cjs/extensions/forms/Form/Isolation/Isolation.d.ts +16 -0
  119. package/cjs/extensions/forms/Form/Isolation/Isolation.js +39 -14
  120. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  121. package/cjs/extensions/forms/Form/Isolation/IsolationCommitButton.js +1 -1
  122. package/cjs/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -1
  123. package/cjs/extensions/forms/Form/Isolation/IsolationContext.d.ts +12 -0
  124. package/cjs/extensions/forms/Form/Isolation/IsolationContext.js +11 -0
  125. package/cjs/extensions/forms/Form/Isolation/IsolationContext.js.map +1 -0
  126. package/cjs/extensions/forms/Form/Isolation/IsolationDataReference.d.ts +9 -0
  127. package/cjs/extensions/forms/Form/Isolation/IsolationDataReference.js +31 -0
  128. package/cjs/extensions/forms/Form/Isolation/IsolationDataReference.js.map +1 -0
  129. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js +15 -0
  130. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  131. package/cjs/extensions/forms/Form/Isolation/IsolationResetButton.d.ts +7 -0
  132. package/cjs/extensions/forms/Form/Isolation/IsolationResetButton.js +112 -0
  133. package/cjs/extensions/forms/Form/Isolation/IsolationResetButton.js.map +1 -0
  134. package/cjs/extensions/forms/Form/Isolation/useDataContextSnapshot.d.ts +7 -0
  135. package/cjs/extensions/forms/Form/Isolation/useDataContextSnapshot.js +58 -0
  136. package/cjs/extensions/forms/Form/Isolation/useDataContextSnapshot.js.map +1 -0
  137. package/cjs/extensions/forms/Form/Isolation/useHandleStatus.d.ts +9 -0
  138. package/cjs/extensions/forms/Form/Isolation/useHandleStatus.js +57 -0
  139. package/cjs/extensions/forms/Form/Isolation/useHandleStatus.js.map +1 -0
  140. package/cjs/extensions/forms/{Iterate/EditContainer → Form/Isolation}/useHasContentChanged.js +11 -9
  141. package/cjs/extensions/forms/Form/Isolation/useHasContentChanged.js.map +1 -0
  142. package/cjs/extensions/forms/Form/Snapshot/Snapshot.d.ts +2 -1
  143. package/cjs/extensions/forms/Form/Snapshot/Snapshot.js.map +1 -1
  144. package/cjs/extensions/forms/Iterate/Array/Array.js +19 -6
  145. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  146. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +10 -0
  147. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  148. package/cjs/extensions/forms/Iterate/Array/types.d.ts +4 -1
  149. package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
  150. package/cjs/extensions/forms/Iterate/EditContainer/ResetButton.js +1 -1
  151. package/cjs/extensions/forms/Iterate/EditContainer/ResetButton.js.map +1 -1
  152. package/cjs/extensions/forms/Iterate/EditContainer/index.d.ts +1 -1
  153. package/cjs/extensions/forms/Iterate/EditContainer/index.js +1 -1
  154. package/cjs/extensions/forms/Iterate/EditContainer/index.js.map +1 -1
  155. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +9 -2
  156. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  157. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +7 -0
  158. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +24 -58
  159. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  160. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +2 -2
  161. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  162. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -2
  163. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  164. package/cjs/extensions/forms/Value/SelectCountry/useCountry.js +6 -1
  165. package/cjs/extensions/forms/Value/SelectCountry/useCountry.js.map +1 -1
  166. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
  167. package/cjs/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -1
  168. package/cjs/extensions/forms/constants/locales/countries/sv-SE.d.ts +257 -0
  169. package/cjs/extensions/forms/constants/locales/countries/sv-SE.js +263 -0
  170. package/cjs/extensions/forms/constants/locales/countries/sv-SE.js.map +1 -0
  171. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +5 -1
  172. package/cjs/extensions/forms/constants/locales/en-GB.js +7 -3
  173. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  174. package/cjs/extensions/forms/constants/locales/en-US.d.ts +5 -1
  175. package/cjs/extensions/forms/constants/locales/index.d.ts +10 -2
  176. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +5 -1
  177. package/cjs/extensions/forms/constants/locales/nb-NO.js +7 -3
  178. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  179. package/cjs/extensions/forms/constants/locales/sv-SE.d.ts +5 -1
  180. package/cjs/extensions/forms/constants/locales/sv-SE.js +7 -3
  181. package/cjs/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  182. package/cjs/extensions/forms/hooks/useDataContext.js +5 -3
  183. package/cjs/extensions/forms/hooks/useDataContext.js.map +1 -1
  184. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +2 -1
  185. package/cjs/extensions/forms/hooks/useFieldProps.js +19 -6
  186. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  187. package/cjs/extensions/forms/hooks/usePath.d.ts +4 -1
  188. package/cjs/extensions/forms/hooks/usePath.js +10 -3
  189. package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
  190. package/cjs/extensions/forms/hooks/useSnapshot.js +17 -14
  191. package/cjs/extensions/forms/hooks/useSnapshot.js.map +1 -1
  192. package/cjs/extensions/forms/hooks/useTranslation.d.ts +2 -2
  193. package/cjs/extensions/forms/hooks/useTranslation.js.map +1 -1
  194. package/cjs/extensions/forms/utils/ajv.js +11 -3
  195. package/cjs/extensions/forms/utils/ajv.js.map +1 -1
  196. package/cjs/extensions/payment-card/PaymentCard.d.ts +9 -3
  197. package/cjs/extensions/payment-card/PaymentCard.js +12 -143
  198. package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
  199. package/cjs/extensions/payment-card/PaymentCardDocs.js +13 -13
  200. package/cjs/extensions/payment-card/PaymentCardDocs.js.map +1 -1
  201. package/cjs/extensions/payment-card/components/CardFigure.d.ts +12 -0
  202. package/cjs/extensions/payment-card/components/CardFigure.js +105 -0
  203. package/cjs/extensions/payment-card/components/CardFigure.js.map +1 -0
  204. package/cjs/extensions/payment-card/components/CardNumber.d.ts +27 -0
  205. package/cjs/extensions/payment-card/components/CardNumber.js +37 -0
  206. package/cjs/extensions/payment-card/components/CardNumber.js.map +1 -0
  207. package/cjs/extensions/payment-card/components/CardType.d.ts +7 -0
  208. package/cjs/extensions/payment-card/components/CardType.js +25 -0
  209. package/cjs/extensions/payment-card/components/CardType.js.map +1 -0
  210. package/cjs/extensions/payment-card/components/StatusOverlay.d.ts +20 -0
  211. package/cjs/extensions/payment-card/components/StatusOverlay.js +68 -0
  212. package/cjs/extensions/payment-card/components/StatusOverlay.js.map +1 -0
  213. package/cjs/extensions/payment-card/icons/brandLogos/DNB.js +24 -0
  214. package/cjs/extensions/payment-card/icons/brandLogos/DNB.js.map +1 -0
  215. package/cjs/extensions/payment-card/icons/brandLogos/Sbanken.js +31 -0
  216. package/cjs/extensions/payment-card/icons/brandLogos/Sbanken.js.map +1 -0
  217. package/cjs/extensions/payment-card/icons/index.d.ts +3 -5
  218. package/cjs/extensions/payment-card/icons/index.js +40 -58
  219. package/cjs/extensions/payment-card/icons/index.js.map +1 -1
  220. package/cjs/extensions/payment-card/icons/loyaltyLogos/Bedrift.js +40 -0
  221. package/cjs/extensions/payment-card/icons/loyaltyLogos/Bedrift.js.map +1 -0
  222. package/cjs/extensions/payment-card/icons/loyaltyLogos/Business.js +43 -0
  223. package/cjs/extensions/payment-card/icons/loyaltyLogos/Business.js.map +1 -0
  224. package/cjs/extensions/payment-card/icons/loyaltyLogos/Corporate.d.ts +3 -0
  225. package/cjs/extensions/payment-card/icons/loyaltyLogos/Corporate.js +52 -0
  226. package/cjs/extensions/payment-card/icons/loyaltyLogos/Corporate.js.map +1 -0
  227. package/cjs/extensions/payment-card/icons/loyaltyLogos/Intro.js +22 -0
  228. package/cjs/extensions/payment-card/icons/loyaltyLogos/Intro.js.map +1 -0
  229. package/cjs/extensions/payment-card/icons/loyaltyLogos/PB.js +61 -0
  230. package/cjs/extensions/payment-card/icons/loyaltyLogos/PB.js.map +1 -0
  231. package/cjs/extensions/payment-card/icons/loyaltyLogos/Pluss.js +29 -0
  232. package/cjs/extensions/payment-card/icons/loyaltyLogos/Pluss.js.map +1 -0
  233. package/cjs/extensions/payment-card/icons/loyaltyLogos/SagaGold.js +22 -0
  234. package/cjs/extensions/payment-card/icons/loyaltyLogos/SagaGold.js.map +1 -0
  235. package/cjs/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js +43 -0
  236. package/cjs/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js.map +1 -0
  237. package/cjs/extensions/payment-card/icons/loyaltyLogos/WorldElite.d.ts +3 -0
  238. package/cjs/extensions/payment-card/icons/loyaltyLogos/WorldElite.js +22 -0
  239. package/cjs/extensions/payment-card/icons/loyaltyLogos/WorldElite.js.map +1 -0
  240. package/cjs/extensions/payment-card/icons/providers/BankAxept.js +24 -0
  241. package/cjs/extensions/payment-card/icons/providers/BankAxept.js.map +1 -0
  242. package/cjs/extensions/payment-card/icons/providers/ClickToPay.d.ts +3 -0
  243. package/cjs/extensions/payment-card/icons/providers/ClickToPay.js +24 -0
  244. package/cjs/extensions/payment-card/icons/providers/ClickToPay.js.map +1 -0
  245. package/cjs/extensions/payment-card/icons/providers/MastercardDark.js +814 -0
  246. package/cjs/extensions/payment-card/icons/providers/MastercardDark.js.map +1 -0
  247. package/cjs/extensions/payment-card/icons/providers/MastercardDefault.js +37 -0
  248. package/cjs/extensions/payment-card/icons/providers/MastercardDefault.js.map +1 -0
  249. package/cjs/extensions/payment-card/icons/providers/VisaDefault.js +28 -0
  250. package/cjs/extensions/payment-card/icons/providers/VisaDefault.js.map +1 -0
  251. package/cjs/extensions/payment-card/icons/providers/VisaPlatinum.js +28 -0
  252. package/cjs/extensions/payment-card/icons/providers/VisaPlatinum.js.map +1 -0
  253. package/cjs/extensions/payment-card/icons/status/index.d.ts +3 -0
  254. package/cjs/extensions/payment-card/icons/status/index.js +61 -0
  255. package/cjs/extensions/payment-card/icons/status/index.js.map +1 -0
  256. package/cjs/extensions/payment-card/index.d.ts +2 -0
  257. package/cjs/extensions/payment-card/index.js +10 -1
  258. package/cjs/extensions/payment-card/index.js.map +1 -1
  259. package/cjs/extensions/payment-card/style/dnb-payment-card.css +173 -163
  260. package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  261. package/cjs/extensions/payment-card/style/dnb-payment-card.scss +257 -242
  262. package/cjs/extensions/payment-card/utils/CardDesigns.d.ts +22 -10
  263. package/cjs/extensions/payment-card/utils/CardDesigns.js +44 -36
  264. package/cjs/extensions/payment-card/utils/CardDesigns.js.map +1 -1
  265. package/cjs/extensions/payment-card/utils/Types.js +2 -0
  266. package/cjs/extensions/payment-card/utils/Types.js.map +1 -1
  267. package/cjs/extensions/payment-card/utils/backgrounds/index.d.ts +6 -2
  268. package/cjs/extensions/payment-card/utils/backgrounds/index.js +31 -3
  269. package/cjs/extensions/payment-card/utils/backgrounds/index.js.map +1 -1
  270. package/cjs/extensions/payment-card/utils/backgrounds/master-gold.d.ts +2 -0
  271. package/cjs/extensions/payment-card/utils/backgrounds/master-gold.js +9 -0
  272. package/cjs/extensions/payment-card/utils/backgrounds/master-gold.js.map +1 -0
  273. package/cjs/extensions/payment-card/utils/backgrounds/my-first.d.ts +1 -1
  274. package/cjs/extensions/payment-card/utils/backgrounds/my-first.js +1 -1
  275. package/cjs/extensions/payment-card/utils/backgrounds/my-first.js.map +1 -1
  276. package/cjs/extensions/payment-card/utils/backgrounds/visa-default.d.ts +2 -0
  277. package/cjs/extensions/payment-card/utils/backgrounds/visa-default.js +9 -0
  278. package/cjs/extensions/payment-card/utils/backgrounds/visa-default.js.map +1 -0
  279. package/cjs/extensions/payment-card/utils/backgrounds/visa-pluss.d.ts +2 -0
  280. package/cjs/extensions/payment-card/utils/backgrounds/visa-pluss.js +9 -0
  281. package/cjs/extensions/payment-card/utils/backgrounds/visa-pluss.js.map +1 -0
  282. package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-gold.d.ts +2 -0
  283. package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-gold.js +9 -0
  284. package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-gold.js.map +1 -0
  285. package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-platinum.d.ts +2 -0
  286. package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js +9 -0
  287. package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js.map +1 -0
  288. package/cjs/extensions/payment-card/utils/backgrounds/youth.d.ts +1 -1
  289. package/cjs/extensions/payment-card/utils/backgrounds/youth.js +1 -1
  290. package/cjs/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
  291. package/cjs/extensions/payment-card/utils/cardProducts.d.ts +1 -1
  292. package/cjs/extensions/payment-card/utils/cardProducts.js +241 -209
  293. package/cjs/extensions/payment-card/utils/cardProducts.js.map +1 -1
  294. package/cjs/fragments/drawer-list/DrawerList.d.ts +176 -224
  295. package/cjs/fragments/drawer-list/DrawerList.js +70 -175
  296. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  297. package/cjs/fragments/drawer-list/DrawerListContext.d.ts +27 -2
  298. package/cjs/fragments/drawer-list/DrawerListContext.js.map +1 -1
  299. package/cjs/fragments/drawer-list/DrawerListDocs.d.ts +211 -4
  300. package/cjs/fragments/drawer-list/DrawerListDocs.js +2 -2
  301. package/cjs/fragments/drawer-list/DrawerListDocs.js.map +1 -1
  302. package/cjs/fragments/drawer-list/DrawerListHelpers.d.ts +85 -89
  303. package/cjs/fragments/drawer-list/DrawerListHelpers.js +52 -58
  304. package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  305. package/cjs/fragments/drawer-list/DrawerListItem.d.ts +30 -0
  306. package/cjs/fragments/drawer-list/DrawerListItem.js +106 -0
  307. package/cjs/fragments/drawer-list/DrawerListItem.js.map +1 -0
  308. package/cjs/fragments/drawer-list/DrawerListPortal.d.ts +20 -30
  309. package/cjs/fragments/drawer-list/DrawerListPortal.js +93 -125
  310. package/cjs/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  311. package/cjs/fragments/drawer-list/DrawerListProvider.d.ts +217 -11
  312. package/cjs/fragments/drawer-list/DrawerListProvider.js +11 -18
  313. package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  314. package/cjs/shared/Context.d.ts +1 -1
  315. package/cjs/shared/Context.js +5 -14
  316. package/cjs/shared/Context.js.map +1 -1
  317. package/cjs/shared/Eufemia.d.ts +1 -1
  318. package/cjs/shared/Eufemia.js +2 -2
  319. package/cjs/shared/Eufemia.js.map +1 -1
  320. package/cjs/shared/Provider.js +15 -24
  321. package/cjs/shared/Provider.js.map +1 -1
  322. package/cjs/shared/component-helper.d.ts +45 -48
  323. package/cjs/shared/component-helper.js +72 -201
  324. package/cjs/shared/component-helper.js.map +1 -1
  325. package/cjs/shared/helpers/withCamelCaseProps.d.ts +4 -5
  326. package/cjs/shared/helpers/withCamelCaseProps.js +7 -2
  327. package/cjs/shared/helpers/withCamelCaseProps.js.map +1 -1
  328. package/cjs/shared/legacy/component-helper-legacy.d.ts +19 -0
  329. package/cjs/shared/legacy/component-helper-legacy.js +202 -0
  330. package/cjs/shared/legacy/component-helper-legacy.js.map +1 -0
  331. package/cjs/shared/locales/en-GB.d.ts +5 -2
  332. package/cjs/shared/locales/en-GB.js +7 -4
  333. package/cjs/shared/locales/en-GB.js.map +1 -1
  334. package/cjs/shared/locales/en-US.d.ts +4 -2
  335. package/cjs/shared/locales/en-US.js.map +1 -1
  336. package/cjs/shared/locales/index.d.ts +10 -4
  337. package/cjs/shared/locales/nb-NO.d.ts +5 -2
  338. package/cjs/shared/locales/nb-NO.js +8 -5
  339. package/cjs/shared/locales/nb-NO.js.map +1 -1
  340. package/cjs/shared/locales/sv-SE.d.ts +5 -2
  341. package/cjs/shared/locales/sv-SE.js +7 -4
  342. package/cjs/shared/locales/sv-SE.js.map +1 -1
  343. package/cjs/shared/useTranslation.d.ts +3 -2
  344. package/cjs/shared/useTranslation.js.map +1 -1
  345. package/cjs/style/core/scopes.scss +1 -1
  346. package/cjs/style/dnb-ui-basis.css +1 -1
  347. package/cjs/style/dnb-ui-basis.min.css +1 -1
  348. package/cjs/style/dnb-ui-body.css +1 -1
  349. package/cjs/style/dnb-ui-body.min.css +1 -1
  350. package/cjs/style/dnb-ui-components.css +2 -1
  351. package/cjs/style/dnb-ui-components.min.css +1 -1
  352. package/cjs/style/dnb-ui-core.css +1 -1
  353. package/cjs/style/dnb-ui-core.min.css +1 -1
  354. package/cjs/style/dnb-ui-extensions.css +173 -163
  355. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  356. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +23 -1
  357. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  358. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +173 -163
  359. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  360. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +23 -1
  361. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  362. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +173 -163
  363. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  364. package/cjs/style/themes/theme-ui/ui-theme-components.css +23 -1
  365. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  366. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +173 -163
  367. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  368. package/components/autocomplete/Autocomplete.js +6 -3
  369. package/components/autocomplete/Autocomplete.js.map +1 -1
  370. package/components/autocomplete/AutocompleteDocs.d.ts +289 -3
  371. package/components/autocomplete/AutocompleteDocs.js +1 -1
  372. package/components/autocomplete/AutocompleteDocs.js.map +1 -1
  373. package/components/button/style/dnb-button.css +1 -0
  374. package/components/button/style/dnb-button.min.css +1 -1
  375. package/components/button/style/dnb-button.scss +1 -0
  376. package/components/checkbox/Checkbox.d.ts +9 -1
  377. package/components/checkbox/Checkbox.js +60 -35
  378. package/components/checkbox/Checkbox.js.map +1 -1
  379. package/components/checkbox/CheckboxDocs.js +6 -1
  380. package/components/checkbox/CheckboxDocs.js.map +1 -1
  381. package/components/country-flag/CountryFlag.js +5 -2
  382. package/components/country-flag/CountryFlag.js.map +1 -1
  383. package/components/date-picker/DatePicker.d.ts +20 -7
  384. package/components/date-picker/DatePicker.js +11 -22
  385. package/components/date-picker/DatePicker.js.map +1 -1
  386. package/components/date-picker/DatePickerCalendar.d.ts +3 -19
  387. package/components/date-picker/DatePickerCalendar.js +45 -89
  388. package/components/date-picker/DatePickerCalendar.js.map +1 -1
  389. package/components/date-picker/DatePickerCalendarNavigator.d.ts +34 -0
  390. package/components/date-picker/DatePickerCalendarNavigator.js +153 -0
  391. package/components/date-picker/DatePickerCalendarNavigator.js.map +1 -0
  392. package/components/date-picker/DatePickerContext.d.ts +4 -0
  393. package/components/date-picker/DatePickerContext.js.map +1 -1
  394. package/components/date-picker/DatePickerDocs.js +6 -6
  395. package/components/date-picker/DatePickerDocs.js.map +1 -1
  396. package/components/date-picker/DatePickerFooter.js +22 -19
  397. package/components/date-picker/DatePickerFooter.js.map +1 -1
  398. package/components/date-picker/DatePickerInput.d.ts +3 -2
  399. package/components/date-picker/DatePickerInput.js +9 -8
  400. package/components/date-picker/DatePickerInput.js.map +1 -1
  401. package/components/date-picker/DatePickerProvider.d.ts +1 -1
  402. package/components/date-picker/DatePickerProvider.js +24 -16
  403. package/components/date-picker/DatePickerProvider.js.map +1 -1
  404. package/components/date-picker/DatePickerRange.d.ts +3 -7
  405. package/components/date-picker/DatePickerRange.js +10 -35
  406. package/components/date-picker/DatePickerRange.js.map +1 -1
  407. package/components/date-picker/hooks/useDates.js.map +1 -1
  408. package/components/date-picker/hooks/useSubmittedDates.d.ts +7 -0
  409. package/components/date-picker/hooks/useSubmittedDates.js +14 -0
  410. package/components/date-picker/hooks/useSubmittedDates.js.map +1 -0
  411. package/components/date-picker/style/dnb-date-picker.css +1 -1
  412. package/components/date-picker/style/dnb-date-picker.min.css +1 -1
  413. package/components/date-picker/style/dnb-date-picker.scss +1 -1
  414. package/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +21 -0
  415. package/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
  416. package/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +24 -0
  417. package/components/drawer/Drawer.js +1 -0
  418. package/components/drawer/Drawer.js.map +1 -1
  419. package/components/dropdown/Dropdown.js +6 -4
  420. package/components/dropdown/Dropdown.js.map +1 -1
  421. package/components/dropdown/DropdownDocs.d.ts +179 -3
  422. package/components/dropdown/DropdownDocs.js.map +1 -1
  423. package/components/heading/HeadingHelpers.js +9 -5
  424. package/components/heading/HeadingHelpers.js.map +1 -1
  425. package/components/icon/Icon.d.ts +2 -2
  426. package/components/input-masked/InputMaskedDocs.js +1 -1
  427. package/components/input-masked/InputMaskedDocs.js.map +1 -1
  428. package/components/input-masked/InputMaskedHooks.d.ts +1 -0
  429. package/components/input-masked/InputMaskedHooks.js +39 -7
  430. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  431. package/components/input-masked/InputMaskedUtils.js +6 -5
  432. package/components/input-masked/InputMaskedUtils.js.map +1 -1
  433. package/components/number-format/NumberUtils.d.ts +1 -1
  434. package/components/number-format/NumberUtils.js +5 -4
  435. package/components/number-format/NumberUtils.js.map +1 -1
  436. package/components/switch/SwitchDocs.js +2 -2
  437. package/components/switch/SwitchDocs.js.map +1 -1
  438. package/es/components/autocomplete/Autocomplete.js +6 -3
  439. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  440. package/es/components/autocomplete/AutocompleteDocs.d.ts +289 -3
  441. package/es/components/autocomplete/AutocompleteDocs.js +1 -1
  442. package/es/components/autocomplete/AutocompleteDocs.js.map +1 -1
  443. package/es/components/button/style/dnb-button.css +1 -0
  444. package/es/components/button/style/dnb-button.min.css +1 -1
  445. package/es/components/button/style/dnb-button.scss +1 -0
  446. package/es/components/checkbox/Checkbox.d.ts +9 -1
  447. package/es/components/checkbox/Checkbox.js +60 -35
  448. package/es/components/checkbox/Checkbox.js.map +1 -1
  449. package/es/components/checkbox/CheckboxDocs.js +6 -1
  450. package/es/components/checkbox/CheckboxDocs.js.map +1 -1
  451. package/es/components/country-flag/CountryFlag.js +5 -2
  452. package/es/components/country-flag/CountryFlag.js.map +1 -1
  453. package/es/components/date-picker/DatePicker.d.ts +20 -7
  454. package/es/components/date-picker/DatePicker.js +11 -22
  455. package/es/components/date-picker/DatePicker.js.map +1 -1
  456. package/es/components/date-picker/DatePickerCalendar.d.ts +3 -19
  457. package/es/components/date-picker/DatePickerCalendar.js +41 -84
  458. package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
  459. package/es/components/date-picker/DatePickerCalendarNavigator.d.ts +34 -0
  460. package/es/components/date-picker/DatePickerCalendarNavigator.js +149 -0
  461. package/es/components/date-picker/DatePickerCalendarNavigator.js.map +1 -0
  462. package/es/components/date-picker/DatePickerContext.d.ts +4 -0
  463. package/es/components/date-picker/DatePickerContext.js.map +1 -1
  464. package/es/components/date-picker/DatePickerDocs.js +6 -6
  465. package/es/components/date-picker/DatePickerDocs.js.map +1 -1
  466. package/es/components/date-picker/DatePickerFooter.js +22 -19
  467. package/es/components/date-picker/DatePickerFooter.js.map +1 -1
  468. package/es/components/date-picker/DatePickerInput.d.ts +3 -2
  469. package/es/components/date-picker/DatePickerInput.js +9 -8
  470. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  471. package/es/components/date-picker/DatePickerProvider.d.ts +1 -1
  472. package/es/components/date-picker/DatePickerProvider.js +23 -15
  473. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  474. package/es/components/date-picker/DatePickerRange.d.ts +3 -7
  475. package/es/components/date-picker/DatePickerRange.js +10 -34
  476. package/es/components/date-picker/DatePickerRange.js.map +1 -1
  477. package/es/components/date-picker/hooks/useDates.js.map +1 -1
  478. package/es/components/date-picker/hooks/useSubmittedDates.d.ts +7 -0
  479. package/es/components/date-picker/hooks/useSubmittedDates.js +14 -0
  480. package/es/components/date-picker/hooks/useSubmittedDates.js.map +1 -0
  481. package/es/components/date-picker/style/dnb-date-picker.css +1 -1
  482. package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
  483. package/es/components/date-picker/style/dnb-date-picker.scss +1 -1
  484. package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +21 -0
  485. package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
  486. package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +24 -0
  487. package/es/components/drawer/Drawer.js +1 -0
  488. package/es/components/drawer/Drawer.js.map +1 -1
  489. package/es/components/dropdown/Dropdown.js +6 -4
  490. package/es/components/dropdown/Dropdown.js.map +1 -1
  491. package/es/components/dropdown/DropdownDocs.d.ts +179 -3
  492. package/es/components/dropdown/DropdownDocs.js.map +1 -1
  493. package/es/components/heading/HeadingHelpers.js +9 -5
  494. package/es/components/heading/HeadingHelpers.js.map +1 -1
  495. package/es/components/icon/Icon.d.ts +2 -2
  496. package/es/components/input-masked/InputMaskedDocs.js +1 -1
  497. package/es/components/input-masked/InputMaskedDocs.js.map +1 -1
  498. package/es/components/input-masked/InputMaskedHooks.d.ts +1 -0
  499. package/es/components/input-masked/InputMaskedHooks.js +39 -7
  500. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  501. package/es/components/input-masked/InputMaskedUtils.js +6 -5
  502. package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
  503. package/es/components/number-format/NumberUtils.d.ts +1 -1
  504. package/es/components/number-format/NumberUtils.js +5 -4
  505. package/es/components/number-format/NumberUtils.js.map +1 -1
  506. package/es/components/switch/SwitchDocs.js +2 -2
  507. package/es/components/switch/SwitchDocs.js.map +1 -1
  508. package/es/extensions/forms/DataContext/Context.d.ts +1 -1
  509. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  510. package/es/extensions/forms/DataContext/Provider/Provider.js +9 -0
  511. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  512. package/es/extensions/forms/Field/Boolean/Boolean.d.ts +3 -9
  513. package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  514. package/es/extensions/forms/Field/Boolean/BooleanDocs.d.ts +1 -0
  515. package/es/extensions/forms/Field/Boolean/BooleanDocs.js +7 -0
  516. package/es/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -1
  517. package/es/extensions/forms/Field/Date/Date.d.ts +1 -1
  518. package/es/extensions/forms/Field/Date/Date.js +1 -1
  519. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  520. package/es/extensions/forms/Field/Date/DateDocs.js +2 -1
  521. package/es/extensions/forms/Field/Date/DateDocs.js.map +1 -1
  522. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  523. package/es/extensions/forms/Field/Indeterminate/Indeterminate.d.ts +1 -1
  524. package/es/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  525. package/es/extensions/forms/Field/Indeterminate/IndeterminateDocs.js +1 -1
  526. package/es/extensions/forms/Field/Indeterminate/IndeterminateDocs.js.map +1 -1
  527. package/es/extensions/forms/Field/Number/NumberDocs.js +1 -1
  528. package/es/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  529. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -3
  530. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  531. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +5 -5
  532. package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +3 -2
  533. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +13 -6
  534. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  535. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +3 -3
  536. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  537. package/es/extensions/forms/Field/SelectCountry/useCountries.d.ts +2016 -0
  538. package/es/extensions/forms/Field/SelectCountry/useCountries.js +63 -0
  539. package/es/extensions/forms/Field/SelectCountry/useCountries.js.map +1 -0
  540. package/es/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js +3 -3
  541. package/es/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js.map +1 -1
  542. package/es/extensions/forms/Field/Selection/Selection.d.ts +2 -0
  543. package/es/extensions/forms/Field/Selection/Selection.js +9 -8
  544. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  545. package/es/extensions/forms/Field/Toggle/Toggle.d.ts +7 -0
  546. package/es/extensions/forms/Field/Toggle/Toggle.js +24 -6
  547. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  548. package/es/extensions/forms/Field/Toggle/ToggleDocs.d.ts +1 -0
  549. package/es/extensions/forms/Field/Toggle/ToggleDocs.js +7 -0
  550. package/es/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
  551. package/es/extensions/forms/Form/Isolation/IsolatedContainer.d.ts +4 -0
  552. package/es/extensions/forms/Form/Isolation/IsolatedContainer.js +53 -0
  553. package/es/extensions/forms/Form/Isolation/IsolatedContainer.js.map +1 -0
  554. package/es/extensions/forms/Form/Isolation/Isolation.d.ts +16 -0
  555. package/es/extensions/forms/Form/Isolation/Isolation.js +40 -14
  556. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  557. package/es/extensions/forms/Form/Isolation/IsolationCommitButton.js +1 -1
  558. package/es/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -1
  559. package/es/extensions/forms/Form/Isolation/IsolationContext.d.ts +12 -0
  560. package/es/extensions/forms/Form/Isolation/IsolationContext.js +6 -0
  561. package/es/extensions/forms/Form/Isolation/IsolationContext.js.map +1 -0
  562. package/es/extensions/forms/Form/Isolation/IsolationDataReference.d.ts +9 -0
  563. package/es/extensions/forms/Form/Isolation/IsolationDataReference.js +25 -0
  564. package/es/extensions/forms/Form/Isolation/IsolationDataReference.js.map +1 -0
  565. package/es/extensions/forms/Form/Isolation/IsolationDocs.js +15 -0
  566. package/es/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  567. package/es/extensions/forms/Form/Isolation/IsolationResetButton.d.ts +7 -0
  568. package/es/extensions/forms/Form/Isolation/IsolationResetButton.js +99 -0
  569. package/es/extensions/forms/Form/Isolation/IsolationResetButton.js.map +1 -0
  570. package/es/extensions/forms/Form/Isolation/useDataContextSnapshot.d.ts +7 -0
  571. package/es/extensions/forms/Form/Isolation/useDataContextSnapshot.js +50 -0
  572. package/es/extensions/forms/Form/Isolation/useDataContextSnapshot.js.map +1 -0
  573. package/es/extensions/forms/Form/Isolation/useHandleStatus.d.ts +9 -0
  574. package/es/extensions/forms/Form/Isolation/useHandleStatus.js +48 -0
  575. package/es/extensions/forms/Form/Isolation/useHandleStatus.js.map +1 -0
  576. package/es/extensions/forms/{Iterate/EditContainer → Form/Isolation}/useHasContentChanged.js +12 -10
  577. package/es/extensions/forms/Form/Isolation/useHasContentChanged.js.map +1 -0
  578. package/es/extensions/forms/Form/Snapshot/Snapshot.d.ts +2 -1
  579. package/es/extensions/forms/Form/Snapshot/Snapshot.js.map +1 -1
  580. package/es/extensions/forms/Iterate/Array/Array.js +19 -6
  581. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  582. package/es/extensions/forms/Iterate/Array/ArrayDocs.js +10 -0
  583. package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  584. package/es/extensions/forms/Iterate/Array/types.d.ts +4 -1
  585. package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
  586. package/es/extensions/forms/Iterate/EditContainer/ResetButton.js +1 -1
  587. package/es/extensions/forms/Iterate/EditContainer/ResetButton.js.map +1 -1
  588. package/es/extensions/forms/Iterate/EditContainer/index.d.ts +1 -1
  589. package/es/extensions/forms/Iterate/EditContainer/index.js +1 -1
  590. package/es/extensions/forms/Iterate/EditContainer/index.js.map +1 -1
  591. package/es/extensions/forms/Iterate/PushButton/PushButton.js +9 -2
  592. package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  593. package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +7 -0
  594. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +26 -58
  595. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  596. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +2 -2
  597. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  598. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -2
  599. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  600. package/es/extensions/forms/Value/SelectCountry/useCountry.js +6 -1
  601. package/es/extensions/forms/Value/SelectCountry/useCountry.js.map +1 -1
  602. package/es/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
  603. package/es/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -1
  604. package/es/extensions/forms/constants/locales/countries/sv-SE.d.ts +257 -0
  605. package/es/extensions/forms/constants/locales/countries/sv-SE.js +257 -0
  606. package/es/extensions/forms/constants/locales/countries/sv-SE.js.map +1 -0
  607. package/es/extensions/forms/constants/locales/en-GB.d.ts +5 -1
  608. package/es/extensions/forms/constants/locales/en-GB.js +7 -3
  609. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  610. package/es/extensions/forms/constants/locales/en-US.d.ts +5 -1
  611. package/es/extensions/forms/constants/locales/index.d.ts +10 -2
  612. package/es/extensions/forms/constants/locales/nb-NO.d.ts +5 -1
  613. package/es/extensions/forms/constants/locales/nb-NO.js +7 -3
  614. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  615. package/es/extensions/forms/constants/locales/sv-SE.d.ts +5 -1
  616. package/es/extensions/forms/constants/locales/sv-SE.js +7 -3
  617. package/es/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  618. package/es/extensions/forms/hooks/useDataContext.js +5 -3
  619. package/es/extensions/forms/hooks/useDataContext.js.map +1 -1
  620. package/es/extensions/forms/hooks/useFieldProps.d.ts +2 -1
  621. package/es/extensions/forms/hooks/useFieldProps.js +19 -6
  622. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  623. package/es/extensions/forms/hooks/usePath.d.ts +4 -1
  624. package/es/extensions/forms/hooks/usePath.js +10 -4
  625. package/es/extensions/forms/hooks/usePath.js.map +1 -1
  626. package/es/extensions/forms/hooks/useSnapshot.js +18 -15
  627. package/es/extensions/forms/hooks/useSnapshot.js.map +1 -1
  628. package/es/extensions/forms/hooks/useTranslation.d.ts +2 -2
  629. package/es/extensions/forms/hooks/useTranslation.js.map +1 -1
  630. package/es/extensions/forms/utils/ajv.js +11 -3
  631. package/es/extensions/forms/utils/ajv.js.map +1 -1
  632. package/es/extensions/payment-card/PaymentCard.d.ts +9 -3
  633. package/es/extensions/payment-card/PaymentCard.js +9 -133
  634. package/es/extensions/payment-card/PaymentCard.js.map +1 -1
  635. package/es/extensions/payment-card/PaymentCardDocs.js +13 -13
  636. package/es/extensions/payment-card/PaymentCardDocs.js.map +1 -1
  637. package/es/extensions/payment-card/components/CardFigure.d.ts +12 -0
  638. package/es/extensions/payment-card/components/CardFigure.js +94 -0
  639. package/es/extensions/payment-card/components/CardFigure.js.map +1 -0
  640. package/es/extensions/payment-card/components/CardNumber.d.ts +27 -0
  641. package/es/extensions/payment-card/components/CardNumber.js +26 -0
  642. package/es/extensions/payment-card/components/CardNumber.js.map +1 -0
  643. package/es/extensions/payment-card/components/CardType.d.ts +7 -0
  644. package/es/extensions/payment-card/components/CardType.js +17 -0
  645. package/es/extensions/payment-card/components/CardType.js.map +1 -0
  646. package/es/extensions/payment-card/components/StatusOverlay.d.ts +20 -0
  647. package/es/extensions/payment-card/components/StatusOverlay.js +59 -0
  648. package/es/extensions/payment-card/components/StatusOverlay.js.map +1 -0
  649. package/es/extensions/payment-card/icons/brandLogos/DNB.js +17 -0
  650. package/es/extensions/payment-card/icons/brandLogos/DNB.js.map +1 -0
  651. package/es/extensions/payment-card/icons/brandLogos/Sbanken.js +24 -0
  652. package/es/extensions/payment-card/icons/brandLogos/Sbanken.js.map +1 -0
  653. package/es/extensions/payment-card/icons/index.d.ts +3 -5
  654. package/es/extensions/payment-card/icons/index.js +30 -53
  655. package/es/extensions/payment-card/icons/index.js.map +1 -1
  656. package/es/extensions/payment-card/icons/loyaltyLogos/Bedrift.js +33 -0
  657. package/es/extensions/payment-card/icons/loyaltyLogos/Bedrift.js.map +1 -0
  658. package/es/extensions/payment-card/icons/loyaltyLogos/Business.js +36 -0
  659. package/es/extensions/payment-card/icons/loyaltyLogos/Business.js.map +1 -0
  660. package/es/extensions/payment-card/icons/loyaltyLogos/Corporate.d.ts +3 -0
  661. package/es/extensions/payment-card/icons/loyaltyLogos/Corporate.js +45 -0
  662. package/es/extensions/payment-card/icons/loyaltyLogos/Corporate.js.map +1 -0
  663. package/es/extensions/payment-card/icons/loyaltyLogos/Intro.js +15 -0
  664. package/es/extensions/payment-card/icons/loyaltyLogos/Intro.js.map +1 -0
  665. package/es/extensions/payment-card/icons/loyaltyLogos/PB.js +54 -0
  666. package/es/extensions/payment-card/icons/loyaltyLogos/PB.js.map +1 -0
  667. package/es/extensions/payment-card/icons/loyaltyLogos/Pluss.js +22 -0
  668. package/es/extensions/payment-card/icons/loyaltyLogos/Pluss.js.map +1 -0
  669. package/es/extensions/payment-card/icons/loyaltyLogos/SagaGold.js +15 -0
  670. package/es/extensions/payment-card/icons/loyaltyLogos/SagaGold.js.map +1 -0
  671. package/es/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js +36 -0
  672. package/es/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js.map +1 -0
  673. package/es/extensions/payment-card/icons/loyaltyLogos/WorldElite.d.ts +3 -0
  674. package/es/extensions/payment-card/icons/loyaltyLogos/WorldElite.js +15 -0
  675. package/es/extensions/payment-card/icons/loyaltyLogos/WorldElite.js.map +1 -0
  676. package/es/extensions/payment-card/icons/providers/BankAxept.js +17 -0
  677. package/es/extensions/payment-card/icons/providers/BankAxept.js.map +1 -0
  678. package/es/extensions/payment-card/icons/providers/ClickToPay.d.ts +3 -0
  679. package/es/extensions/payment-card/icons/providers/ClickToPay.js +17 -0
  680. package/es/extensions/payment-card/icons/providers/ClickToPay.js.map +1 -0
  681. package/es/extensions/payment-card/icons/providers/MastercardDark.js +807 -0
  682. package/es/extensions/payment-card/icons/providers/MastercardDark.js.map +1 -0
  683. package/es/extensions/payment-card/icons/providers/MastercardDefault.js +30 -0
  684. package/es/extensions/payment-card/icons/providers/MastercardDefault.js.map +1 -0
  685. package/es/extensions/payment-card/icons/providers/VisaDefault.js +21 -0
  686. package/es/extensions/payment-card/icons/providers/VisaDefault.js.map +1 -0
  687. package/es/extensions/payment-card/icons/providers/VisaPlatinum.js +21 -0
  688. package/es/extensions/payment-card/icons/providers/VisaPlatinum.js.map +1 -0
  689. package/es/extensions/payment-card/icons/status/index.d.ts +3 -0
  690. package/es/extensions/payment-card/icons/status/index.js +52 -0
  691. package/es/extensions/payment-card/icons/status/index.js.map +1 -0
  692. package/es/extensions/payment-card/index.d.ts +2 -0
  693. package/es/extensions/payment-card/index.js +2 -0
  694. package/es/extensions/payment-card/index.js.map +1 -1
  695. package/es/extensions/payment-card/style/dnb-payment-card.css +173 -163
  696. package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  697. package/es/extensions/payment-card/style/dnb-payment-card.scss +257 -242
  698. package/es/extensions/payment-card/utils/CardDesigns.d.ts +22 -10
  699. package/es/extensions/payment-card/utils/CardDesigns.js +45 -37
  700. package/es/extensions/payment-card/utils/CardDesigns.js.map +1 -1
  701. package/es/extensions/payment-card/utils/Types.js +2 -0
  702. package/es/extensions/payment-card/utils/Types.js.map +1 -1
  703. package/es/extensions/payment-card/utils/backgrounds/index.d.ts +6 -2
  704. package/es/extensions/payment-card/utils/backgrounds/index.js +6 -2
  705. package/es/extensions/payment-card/utils/backgrounds/index.js.map +1 -1
  706. package/es/extensions/payment-card/utils/backgrounds/master-gold.d.ts +2 -0
  707. package/es/extensions/payment-card/utils/backgrounds/master-gold.js +3 -0
  708. package/es/extensions/payment-card/utils/backgrounds/master-gold.js.map +1 -0
  709. package/es/extensions/payment-card/utils/backgrounds/my-first.d.ts +1 -1
  710. package/es/extensions/payment-card/utils/backgrounds/my-first.js +1 -1
  711. package/es/extensions/payment-card/utils/backgrounds/my-first.js.map +1 -1
  712. package/es/extensions/payment-card/utils/backgrounds/visa-default.d.ts +2 -0
  713. package/es/extensions/payment-card/utils/backgrounds/visa-default.js +3 -0
  714. package/es/extensions/payment-card/utils/backgrounds/visa-default.js.map +1 -0
  715. package/es/extensions/payment-card/utils/backgrounds/visa-pluss.d.ts +2 -0
  716. package/es/extensions/payment-card/utils/backgrounds/visa-pluss.js +3 -0
  717. package/es/extensions/payment-card/utils/backgrounds/visa-pluss.js.map +1 -0
  718. package/es/extensions/payment-card/utils/backgrounds/visa-saga-gold.d.ts +2 -0
  719. package/es/extensions/payment-card/utils/backgrounds/visa-saga-gold.js +3 -0
  720. package/es/extensions/payment-card/utils/backgrounds/visa-saga-gold.js.map +1 -0
  721. package/es/extensions/payment-card/utils/backgrounds/visa-saga-platinum.d.ts +2 -0
  722. package/es/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js +3 -0
  723. package/es/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js.map +1 -0
  724. package/es/extensions/payment-card/utils/backgrounds/youth.d.ts +1 -1
  725. package/es/extensions/payment-card/utils/backgrounds/youth.js +1 -1
  726. package/es/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
  727. package/es/extensions/payment-card/utils/cardProducts.d.ts +1 -1
  728. package/es/extensions/payment-card/utils/cardProducts.js +241 -209
  729. package/es/extensions/payment-card/utils/cardProducts.js.map +1 -1
  730. package/es/fragments/drawer-list/DrawerList.d.ts +176 -224
  731. package/es/fragments/drawer-list/DrawerList.js +72 -173
  732. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  733. package/es/fragments/drawer-list/DrawerListContext.d.ts +27 -2
  734. package/es/fragments/drawer-list/DrawerListContext.js.map +1 -1
  735. package/es/fragments/drawer-list/DrawerListDocs.d.ts +211 -4
  736. package/es/fragments/drawer-list/DrawerListDocs.js +2 -2
  737. package/es/fragments/drawer-list/DrawerListDocs.js.map +1 -1
  738. package/es/fragments/drawer-list/DrawerListHelpers.d.ts +85 -89
  739. package/es/fragments/drawer-list/DrawerListHelpers.js +45 -54
  740. package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  741. package/es/fragments/drawer-list/DrawerListItem.d.ts +30 -0
  742. package/es/fragments/drawer-list/DrawerListItem.js +90 -0
  743. package/es/fragments/drawer-list/DrawerListItem.js.map +1 -0
  744. package/es/fragments/drawer-list/DrawerListPortal.d.ts +20 -30
  745. package/es/fragments/drawer-list/DrawerListPortal.js +88 -120
  746. package/es/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  747. package/es/fragments/drawer-list/DrawerListProvider.d.ts +217 -11
  748. package/es/fragments/drawer-list/DrawerListProvider.js +33 -19
  749. package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  750. package/es/shared/Context.d.ts +1 -1
  751. package/es/shared/Context.js +5 -14
  752. package/es/shared/Context.js.map +1 -1
  753. package/es/shared/Eufemia.d.ts +1 -1
  754. package/es/shared/Eufemia.js +2 -2
  755. package/es/shared/Eufemia.js.map +1 -1
  756. package/es/shared/Provider.js +15 -24
  757. package/es/shared/Provider.js.map +1 -1
  758. package/es/shared/component-helper.d.ts +45 -48
  759. package/es/shared/component-helper.js +20 -183
  760. package/es/shared/component-helper.js.map +1 -1
  761. package/es/shared/helpers/withCamelCaseProps.d.ts +4 -5
  762. package/es/shared/helpers/withCamelCaseProps.js +7 -2
  763. package/es/shared/helpers/withCamelCaseProps.js.map +1 -1
  764. package/es/shared/legacy/component-helper-legacy.d.ts +19 -0
  765. package/es/shared/legacy/component-helper-legacy.js +180 -0
  766. package/es/shared/legacy/component-helper-legacy.js.map +1 -0
  767. package/es/shared/locales/en-GB.d.ts +5 -2
  768. package/es/shared/locales/en-GB.js +7 -4
  769. package/es/shared/locales/en-GB.js.map +1 -1
  770. package/es/shared/locales/en-US.d.ts +4 -2
  771. package/es/shared/locales/en-US.js.map +1 -1
  772. package/es/shared/locales/index.d.ts +10 -4
  773. package/es/shared/locales/nb-NO.d.ts +5 -2
  774. package/es/shared/locales/nb-NO.js +8 -5
  775. package/es/shared/locales/nb-NO.js.map +1 -1
  776. package/es/shared/locales/sv-SE.d.ts +5 -2
  777. package/es/shared/locales/sv-SE.js +7 -4
  778. package/es/shared/locales/sv-SE.js.map +1 -1
  779. package/es/shared/useTranslation.d.ts +3 -2
  780. package/es/shared/useTranslation.js.map +1 -1
  781. package/es/style/core/scopes.scss +1 -1
  782. package/es/style/dnb-ui-basis.css +1 -1
  783. package/es/style/dnb-ui-basis.min.css +1 -1
  784. package/es/style/dnb-ui-body.css +1 -1
  785. package/es/style/dnb-ui-body.min.css +1 -1
  786. package/es/style/dnb-ui-components.css +2 -1
  787. package/es/style/dnb-ui-components.min.css +1 -1
  788. package/es/style/dnb-ui-core.css +1 -1
  789. package/es/style/dnb-ui-core.min.css +1 -1
  790. package/es/style/dnb-ui-extensions.css +173 -163
  791. package/es/style/dnb-ui-extensions.min.css +1 -1
  792. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +23 -1
  793. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  794. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +173 -163
  795. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  796. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +23 -1
  797. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  798. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +173 -163
  799. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  800. package/es/style/themes/theme-ui/ui-theme-components.css +23 -1
  801. package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  802. package/es/style/themes/theme-ui/ui-theme-extensions.css +173 -163
  803. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  804. package/esm/dnb-ui-basis.min.mjs +1 -1
  805. package/esm/dnb-ui-components.min.mjs +1 -1
  806. package/esm/dnb-ui-elements.min.mjs +1 -1
  807. package/esm/dnb-ui-extensions.min.mjs +3 -3
  808. package/esm/dnb-ui-lib.min.mjs +1 -1
  809. package/extensions/forms/DataContext/Context.d.ts +1 -1
  810. package/extensions/forms/DataContext/Context.js.map +1 -1
  811. package/extensions/forms/DataContext/Provider/Provider.js +9 -0
  812. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  813. package/extensions/forms/Field/Boolean/Boolean.d.ts +3 -9
  814. package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  815. package/extensions/forms/Field/Boolean/BooleanDocs.d.ts +1 -0
  816. package/extensions/forms/Field/Boolean/BooleanDocs.js +7 -0
  817. package/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -1
  818. package/extensions/forms/Field/Date/Date.d.ts +1 -1
  819. package/extensions/forms/Field/Date/Date.js +1 -1
  820. package/extensions/forms/Field/Date/Date.js.map +1 -1
  821. package/extensions/forms/Field/Date/DateDocs.js +2 -1
  822. package/extensions/forms/Field/Date/DateDocs.js.map +1 -1
  823. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  824. package/extensions/forms/Field/Indeterminate/Indeterminate.d.ts +1 -1
  825. package/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  826. package/extensions/forms/Field/Indeterminate/IndeterminateDocs.js +1 -1
  827. package/extensions/forms/Field/Indeterminate/IndeterminateDocs.js.map +1 -1
  828. package/extensions/forms/Field/Number/NumberDocs.js +1 -1
  829. package/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  830. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -3
  831. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  832. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +5 -5
  833. package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +3 -2
  834. package/extensions/forms/Field/SelectCountry/SelectCountry.js +17 -10
  835. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  836. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +3 -3
  837. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  838. package/extensions/forms/Field/SelectCountry/useCountries.d.ts +2016 -0
  839. package/extensions/forms/Field/SelectCountry/useCountries.js +64 -0
  840. package/extensions/forms/Field/SelectCountry/useCountries.js.map +1 -0
  841. package/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js +3 -3
  842. package/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js.map +1 -1
  843. package/extensions/forms/Field/Selection/Selection.d.ts +2 -0
  844. package/extensions/forms/Field/Selection/Selection.js +10 -9
  845. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  846. package/extensions/forms/Field/Toggle/Toggle.d.ts +7 -0
  847. package/extensions/forms/Field/Toggle/Toggle.js +26 -9
  848. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  849. package/extensions/forms/Field/Toggle/ToggleDocs.d.ts +1 -0
  850. package/extensions/forms/Field/Toggle/ToggleDocs.js +7 -0
  851. package/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
  852. package/extensions/forms/Form/Isolation/IsolatedContainer.d.ts +4 -0
  853. package/extensions/forms/Form/Isolation/IsolatedContainer.js +54 -0
  854. package/extensions/forms/Form/Isolation/IsolatedContainer.js.map +1 -0
  855. package/extensions/forms/Form/Isolation/Isolation.d.ts +16 -0
  856. package/extensions/forms/Form/Isolation/Isolation.js +40 -15
  857. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  858. package/extensions/forms/Form/Isolation/IsolationCommitButton.js +1 -1
  859. package/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -1
  860. package/extensions/forms/Form/Isolation/IsolationContext.d.ts +12 -0
  861. package/extensions/forms/Form/Isolation/IsolationContext.js +6 -0
  862. package/extensions/forms/Form/Isolation/IsolationContext.js.map +1 -0
  863. package/extensions/forms/Form/Isolation/IsolationDataReference.d.ts +9 -0
  864. package/extensions/forms/Form/Isolation/IsolationDataReference.js +25 -0
  865. package/extensions/forms/Form/Isolation/IsolationDataReference.js.map +1 -0
  866. package/extensions/forms/Form/Isolation/IsolationDocs.js +15 -0
  867. package/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  868. package/extensions/forms/Form/Isolation/IsolationResetButton.d.ts +7 -0
  869. package/extensions/forms/Form/Isolation/IsolationResetButton.js +100 -0
  870. package/extensions/forms/Form/Isolation/IsolationResetButton.js.map +1 -0
  871. package/extensions/forms/Form/Isolation/useDataContextSnapshot.d.ts +7 -0
  872. package/extensions/forms/Form/Isolation/useDataContextSnapshot.js +52 -0
  873. package/extensions/forms/Form/Isolation/useDataContextSnapshot.js.map +1 -0
  874. package/extensions/forms/Form/Isolation/useHandleStatus.d.ts +9 -0
  875. package/extensions/forms/Form/Isolation/useHandleStatus.js +51 -0
  876. package/extensions/forms/Form/Isolation/useHandleStatus.js.map +1 -0
  877. package/extensions/forms/{Iterate/EditContainer → Form/Isolation}/useHasContentChanged.js +12 -10
  878. package/extensions/forms/Form/Isolation/useHasContentChanged.js.map +1 -0
  879. package/extensions/forms/Form/Snapshot/Snapshot.d.ts +2 -1
  880. package/extensions/forms/Form/Snapshot/Snapshot.js.map +1 -1
  881. package/extensions/forms/Iterate/Array/Array.js +19 -6
  882. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  883. package/extensions/forms/Iterate/Array/ArrayDocs.js +10 -0
  884. package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  885. package/extensions/forms/Iterate/Array/types.d.ts +4 -1
  886. package/extensions/forms/Iterate/Array/types.js.map +1 -1
  887. package/extensions/forms/Iterate/EditContainer/ResetButton.js +1 -1
  888. package/extensions/forms/Iterate/EditContainer/ResetButton.js.map +1 -1
  889. package/extensions/forms/Iterate/EditContainer/index.d.ts +1 -1
  890. package/extensions/forms/Iterate/EditContainer/index.js +1 -1
  891. package/extensions/forms/Iterate/EditContainer/index.js.map +1 -1
  892. package/extensions/forms/Iterate/PushButton/PushButton.js +9 -2
  893. package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  894. package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +7 -0
  895. package/extensions/forms/Iterate/PushContainer/PushContainer.js +26 -60
  896. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  897. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +2 -2
  898. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  899. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -2
  900. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  901. package/extensions/forms/Value/SelectCountry/useCountry.js +6 -1
  902. package/extensions/forms/Value/SelectCountry/useCountry.js.map +1 -1
  903. package/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
  904. package/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -1
  905. package/extensions/forms/constants/locales/countries/sv-SE.d.ts +257 -0
  906. package/extensions/forms/constants/locales/countries/sv-SE.js +257 -0
  907. package/extensions/forms/constants/locales/countries/sv-SE.js.map +1 -0
  908. package/extensions/forms/constants/locales/en-GB.d.ts +5 -1
  909. package/extensions/forms/constants/locales/en-GB.js +7 -3
  910. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  911. package/extensions/forms/constants/locales/en-US.d.ts +5 -1
  912. package/extensions/forms/constants/locales/index.d.ts +10 -2
  913. package/extensions/forms/constants/locales/nb-NO.d.ts +5 -1
  914. package/extensions/forms/constants/locales/nb-NO.js +7 -3
  915. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  916. package/extensions/forms/constants/locales/sv-SE.d.ts +5 -1
  917. package/extensions/forms/constants/locales/sv-SE.js +7 -3
  918. package/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  919. package/extensions/forms/hooks/useDataContext.js +5 -3
  920. package/extensions/forms/hooks/useDataContext.js.map +1 -1
  921. package/extensions/forms/hooks/useFieldProps.d.ts +2 -1
  922. package/extensions/forms/hooks/useFieldProps.js +19 -6
  923. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  924. package/extensions/forms/hooks/usePath.d.ts +4 -1
  925. package/extensions/forms/hooks/usePath.js +10 -3
  926. package/extensions/forms/hooks/usePath.js.map +1 -1
  927. package/extensions/forms/hooks/useSnapshot.js +18 -15
  928. package/extensions/forms/hooks/useSnapshot.js.map +1 -1
  929. package/extensions/forms/hooks/useTranslation.d.ts +2 -2
  930. package/extensions/forms/hooks/useTranslation.js.map +1 -1
  931. package/extensions/forms/utils/ajv.js +11 -3
  932. package/extensions/forms/utils/ajv.js.map +1 -1
  933. package/extensions/payment-card/PaymentCard.d.ts +9 -3
  934. package/extensions/payment-card/PaymentCard.js +9 -139
  935. package/extensions/payment-card/PaymentCard.js.map +1 -1
  936. package/extensions/payment-card/PaymentCardDocs.js +13 -13
  937. package/extensions/payment-card/PaymentCardDocs.js.map +1 -1
  938. package/extensions/payment-card/components/CardFigure.d.ts +12 -0
  939. package/extensions/payment-card/components/CardFigure.js +95 -0
  940. package/extensions/payment-card/components/CardFigure.js.map +1 -0
  941. package/extensions/payment-card/components/CardNumber.d.ts +27 -0
  942. package/extensions/payment-card/components/CardNumber.js +29 -0
  943. package/extensions/payment-card/components/CardNumber.js.map +1 -0
  944. package/extensions/payment-card/components/CardType.d.ts +7 -0
  945. package/extensions/payment-card/components/CardType.js +18 -0
  946. package/extensions/payment-card/components/CardType.js.map +1 -0
  947. package/extensions/payment-card/components/StatusOverlay.d.ts +20 -0
  948. package/extensions/payment-card/components/StatusOverlay.js +60 -0
  949. package/extensions/payment-card/components/StatusOverlay.js.map +1 -0
  950. package/extensions/payment-card/icons/brandLogos/DNB.js +17 -0
  951. package/extensions/payment-card/icons/brandLogos/DNB.js.map +1 -0
  952. package/extensions/payment-card/icons/brandLogos/Sbanken.js +24 -0
  953. package/extensions/payment-card/icons/brandLogos/Sbanken.js.map +1 -0
  954. package/extensions/payment-card/icons/index.d.ts +3 -5
  955. package/extensions/payment-card/icons/index.js +32 -56
  956. package/extensions/payment-card/icons/index.js.map +1 -1
  957. package/extensions/payment-card/icons/loyaltyLogos/Bedrift.js +33 -0
  958. package/extensions/payment-card/icons/loyaltyLogos/Bedrift.js.map +1 -0
  959. package/extensions/payment-card/icons/loyaltyLogos/Business.js +36 -0
  960. package/extensions/payment-card/icons/loyaltyLogos/Business.js.map +1 -0
  961. package/extensions/payment-card/icons/loyaltyLogos/Corporate.d.ts +3 -0
  962. package/extensions/payment-card/icons/loyaltyLogos/Corporate.js +45 -0
  963. package/extensions/payment-card/icons/loyaltyLogos/Corporate.js.map +1 -0
  964. package/extensions/payment-card/icons/loyaltyLogos/Intro.js +15 -0
  965. package/extensions/payment-card/icons/loyaltyLogos/Intro.js.map +1 -0
  966. package/extensions/payment-card/icons/loyaltyLogos/PB.js +54 -0
  967. package/extensions/payment-card/icons/loyaltyLogos/PB.js.map +1 -0
  968. package/extensions/payment-card/icons/loyaltyLogos/Pluss.js +22 -0
  969. package/extensions/payment-card/icons/loyaltyLogos/Pluss.js.map +1 -0
  970. package/extensions/payment-card/icons/loyaltyLogos/SagaGold.js +15 -0
  971. package/extensions/payment-card/icons/loyaltyLogos/SagaGold.js.map +1 -0
  972. package/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js +36 -0
  973. package/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js.map +1 -0
  974. package/extensions/payment-card/icons/loyaltyLogos/WorldElite.d.ts +3 -0
  975. package/extensions/payment-card/icons/loyaltyLogos/WorldElite.js +15 -0
  976. package/extensions/payment-card/icons/loyaltyLogos/WorldElite.js.map +1 -0
  977. package/extensions/payment-card/icons/providers/BankAxept.js +17 -0
  978. package/extensions/payment-card/icons/providers/BankAxept.js.map +1 -0
  979. package/extensions/payment-card/icons/providers/ClickToPay.d.ts +3 -0
  980. package/extensions/payment-card/icons/providers/ClickToPay.js +17 -0
  981. package/extensions/payment-card/icons/providers/ClickToPay.js.map +1 -0
  982. package/extensions/payment-card/icons/providers/MastercardDark.js +807 -0
  983. package/extensions/payment-card/icons/providers/MastercardDark.js.map +1 -0
  984. package/extensions/payment-card/icons/providers/MastercardDefault.js +30 -0
  985. package/extensions/payment-card/icons/providers/MastercardDefault.js.map +1 -0
  986. package/extensions/payment-card/icons/providers/VisaDefault.js +21 -0
  987. package/extensions/payment-card/icons/providers/VisaDefault.js.map +1 -0
  988. package/extensions/payment-card/icons/providers/VisaPlatinum.js +21 -0
  989. package/extensions/payment-card/icons/providers/VisaPlatinum.js.map +1 -0
  990. package/extensions/payment-card/icons/status/index.d.ts +3 -0
  991. package/extensions/payment-card/icons/status/index.js +53 -0
  992. package/extensions/payment-card/icons/status/index.js.map +1 -0
  993. package/extensions/payment-card/index.d.ts +2 -0
  994. package/extensions/payment-card/index.js +2 -0
  995. package/extensions/payment-card/index.js.map +1 -1
  996. package/extensions/payment-card/style/dnb-payment-card.css +173 -163
  997. package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  998. package/extensions/payment-card/style/dnb-payment-card.scss +257 -242
  999. package/extensions/payment-card/utils/CardDesigns.d.ts +22 -10
  1000. package/extensions/payment-card/utils/CardDesigns.js +45 -37
  1001. package/extensions/payment-card/utils/CardDesigns.js.map +1 -1
  1002. package/extensions/payment-card/utils/Types.js +2 -0
  1003. package/extensions/payment-card/utils/Types.js.map +1 -1
  1004. package/extensions/payment-card/utils/backgrounds/index.d.ts +6 -2
  1005. package/extensions/payment-card/utils/backgrounds/index.js +6 -2
  1006. package/extensions/payment-card/utils/backgrounds/index.js.map +1 -1
  1007. package/extensions/payment-card/utils/backgrounds/master-gold.d.ts +2 -0
  1008. package/extensions/payment-card/utils/backgrounds/master-gold.js +3 -0
  1009. package/extensions/payment-card/utils/backgrounds/master-gold.js.map +1 -0
  1010. package/extensions/payment-card/utils/backgrounds/my-first.d.ts +1 -1
  1011. package/extensions/payment-card/utils/backgrounds/my-first.js +1 -1
  1012. package/extensions/payment-card/utils/backgrounds/my-first.js.map +1 -1
  1013. package/extensions/payment-card/utils/backgrounds/visa-default.d.ts +2 -0
  1014. package/extensions/payment-card/utils/backgrounds/visa-default.js +3 -0
  1015. package/extensions/payment-card/utils/backgrounds/visa-default.js.map +1 -0
  1016. package/extensions/payment-card/utils/backgrounds/visa-pluss.d.ts +2 -0
  1017. package/extensions/payment-card/utils/backgrounds/visa-pluss.js +3 -0
  1018. package/extensions/payment-card/utils/backgrounds/visa-pluss.js.map +1 -0
  1019. package/extensions/payment-card/utils/backgrounds/visa-saga-gold.d.ts +2 -0
  1020. package/extensions/payment-card/utils/backgrounds/visa-saga-gold.js +3 -0
  1021. package/extensions/payment-card/utils/backgrounds/visa-saga-gold.js.map +1 -0
  1022. package/extensions/payment-card/utils/backgrounds/visa-saga-platinum.d.ts +2 -0
  1023. package/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js +3 -0
  1024. package/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js.map +1 -0
  1025. package/extensions/payment-card/utils/backgrounds/youth.d.ts +1 -1
  1026. package/extensions/payment-card/utils/backgrounds/youth.js +1 -1
  1027. package/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
  1028. package/extensions/payment-card/utils/cardProducts.d.ts +1 -1
  1029. package/extensions/payment-card/utils/cardProducts.js +241 -209
  1030. package/extensions/payment-card/utils/cardProducts.js.map +1 -1
  1031. package/fragments/drawer-list/DrawerList.d.ts +176 -224
  1032. package/fragments/drawer-list/DrawerList.js +71 -175
  1033. package/fragments/drawer-list/DrawerList.js.map +1 -1
  1034. package/fragments/drawer-list/DrawerListContext.d.ts +27 -2
  1035. package/fragments/drawer-list/DrawerListContext.js.map +1 -1
  1036. package/fragments/drawer-list/DrawerListDocs.d.ts +211 -4
  1037. package/fragments/drawer-list/DrawerListDocs.js +2 -2
  1038. package/fragments/drawer-list/DrawerListDocs.js.map +1 -1
  1039. package/fragments/drawer-list/DrawerListHelpers.d.ts +85 -89
  1040. package/fragments/drawer-list/DrawerListHelpers.js +45 -53
  1041. package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  1042. package/fragments/drawer-list/DrawerListItem.d.ts +30 -0
  1043. package/fragments/drawer-list/DrawerListItem.js +91 -0
  1044. package/fragments/drawer-list/DrawerListItem.js.map +1 -0
  1045. package/fragments/drawer-list/DrawerListPortal.d.ts +20 -30
  1046. package/fragments/drawer-list/DrawerListPortal.js +91 -121
  1047. package/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  1048. package/fragments/drawer-list/DrawerListProvider.d.ts +217 -11
  1049. package/fragments/drawer-list/DrawerListProvider.js +12 -19
  1050. package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  1051. package/package.json +1 -1
  1052. package/shared/Context.d.ts +1 -1
  1053. package/shared/Context.js +5 -14
  1054. package/shared/Context.js.map +1 -1
  1055. package/shared/Eufemia.d.ts +1 -1
  1056. package/shared/Eufemia.js +2 -2
  1057. package/shared/Eufemia.js.map +1 -1
  1058. package/shared/Provider.js +15 -24
  1059. package/shared/Provider.js.map +1 -1
  1060. package/shared/component-helper.d.ts +45 -48
  1061. package/shared/component-helper.js +23 -189
  1062. package/shared/component-helper.js.map +1 -1
  1063. package/shared/helpers/withCamelCaseProps.d.ts +4 -5
  1064. package/shared/helpers/withCamelCaseProps.js +7 -2
  1065. package/shared/helpers/withCamelCaseProps.js.map +1 -1
  1066. package/shared/legacy/component-helper-legacy.d.ts +19 -0
  1067. package/shared/legacy/component-helper-legacy.js +185 -0
  1068. package/shared/legacy/component-helper-legacy.js.map +1 -0
  1069. package/shared/locales/en-GB.d.ts +5 -2
  1070. package/shared/locales/en-GB.js +7 -4
  1071. package/shared/locales/en-GB.js.map +1 -1
  1072. package/shared/locales/en-US.d.ts +4 -2
  1073. package/shared/locales/en-US.js.map +1 -1
  1074. package/shared/locales/index.d.ts +10 -4
  1075. package/shared/locales/nb-NO.d.ts +5 -2
  1076. package/shared/locales/nb-NO.js +8 -5
  1077. package/shared/locales/nb-NO.js.map +1 -1
  1078. package/shared/locales/sv-SE.d.ts +5 -2
  1079. package/shared/locales/sv-SE.js +7 -4
  1080. package/shared/locales/sv-SE.js.map +1 -1
  1081. package/shared/useTranslation.d.ts +3 -2
  1082. package/shared/useTranslation.js.map +1 -1
  1083. package/style/core/scopes.scss +1 -1
  1084. package/style/dnb-ui-basis.css +1 -1
  1085. package/style/dnb-ui-basis.min.css +1 -1
  1086. package/style/dnb-ui-body.css +1 -1
  1087. package/style/dnb-ui-body.min.css +1 -1
  1088. package/style/dnb-ui-components.css +2 -1
  1089. package/style/dnb-ui-components.min.css +1 -1
  1090. package/style/dnb-ui-core.css +1 -1
  1091. package/style/dnb-ui-core.min.css +1 -1
  1092. package/style/dnb-ui-extensions.css +173 -163
  1093. package/style/dnb-ui-extensions.min.css +1 -1
  1094. package/style/themes/theme-eiendom/eiendom-theme-components.css +23 -1
  1095. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  1096. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +173 -163
  1097. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  1098. package/style/themes/theme-sbanken/sbanken-theme-components.css +23 -1
  1099. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  1100. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +173 -163
  1101. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  1102. package/style/themes/theme-ui/ui-theme-components.css +23 -1
  1103. package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  1104. package/style/themes/theme-ui/ui-theme-extensions.css +173 -163
  1105. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  1106. package/umd/dnb-ui-basis.min.js +1 -1
  1107. package/umd/dnb-ui-components.min.js +1 -1
  1108. package/umd/dnb-ui-elements.min.js +1 -1
  1109. package/umd/dnb-ui-extensions.min.js +3 -3
  1110. package/umd/dnb-ui-lib.min.js +1 -1
  1111. package/cjs/extensions/forms/Iterate/EditContainer/useHasContentChanged.js.map +0 -1
  1112. package/cjs/extensions/payment-card/icons/BankAxept.js +0 -22
  1113. package/cjs/extensions/payment-card/icons/BankAxept.js.map +0 -1
  1114. package/cjs/extensions/payment-card/icons/Bedrift.js +0 -22
  1115. package/cjs/extensions/payment-card/icons/Bedrift.js.map +0 -1
  1116. package/cjs/extensions/payment-card/icons/Business.js +0 -22
  1117. package/cjs/extensions/payment-card/icons/Business.js.map +0 -1
  1118. package/cjs/extensions/payment-card/icons/Clock.d.ts +0 -3
  1119. package/cjs/extensions/payment-card/icons/Clock.js +0 -25
  1120. package/cjs/extensions/payment-card/icons/Clock.js.map +0 -1
  1121. package/cjs/extensions/payment-card/icons/Credit.d.ts +0 -3
  1122. package/cjs/extensions/payment-card/icons/Credit.js +0 -22
  1123. package/cjs/extensions/payment-card/icons/Credit.js.map +0 -1
  1124. package/cjs/extensions/payment-card/icons/DNB.js +0 -24
  1125. package/cjs/extensions/payment-card/icons/DNB.js.map +0 -1
  1126. package/cjs/extensions/payment-card/icons/Intro.js +0 -22
  1127. package/cjs/extensions/payment-card/icons/Intro.js.map +0 -1
  1128. package/cjs/extensions/payment-card/icons/MastercardDark.js +0 -28
  1129. package/cjs/extensions/payment-card/icons/MastercardDark.js.map +0 -1
  1130. package/cjs/extensions/payment-card/icons/MastercardDefault.js +0 -28
  1131. package/cjs/extensions/payment-card/icons/MastercardDefault.js.map +0 -1
  1132. package/cjs/extensions/payment-card/icons/PB.js +0 -22
  1133. package/cjs/extensions/payment-card/icons/PB.js.map +0 -1
  1134. package/cjs/extensions/payment-card/icons/Pluss.js +0 -22
  1135. package/cjs/extensions/payment-card/icons/Pluss.js.map +0 -1
  1136. package/cjs/extensions/payment-card/icons/SagaGold.js +0 -22
  1137. package/cjs/extensions/payment-card/icons/SagaGold.js.map +0 -1
  1138. package/cjs/extensions/payment-card/icons/SagaPlatinum.js +0 -22
  1139. package/cjs/extensions/payment-card/icons/SagaPlatinum.js.map +0 -1
  1140. package/cjs/extensions/payment-card/icons/Sbanken.js +0 -22
  1141. package/cjs/extensions/payment-card/icons/Sbanken.js.map +0 -1
  1142. package/cjs/extensions/payment-card/icons/VisaDefault.js +0 -22
  1143. package/cjs/extensions/payment-card/icons/VisaDefault.js.map +0 -1
  1144. package/cjs/extensions/payment-card/icons/VisaPlatinum.js +0 -22
  1145. package/cjs/extensions/payment-card/icons/VisaPlatinum.js.map +0 -1
  1146. package/cjs/extensions/payment-card/utils/backgrounds/ung.d.ts +0 -2
  1147. package/cjs/extensions/payment-card/utils/backgrounds/ung.js +0 -9
  1148. package/cjs/extensions/payment-card/utils/backgrounds/ung.js.map +0 -1
  1149. package/es/extensions/forms/Iterate/EditContainer/useHasContentChanged.js.map +0 -1
  1150. package/es/extensions/payment-card/icons/BankAxept.js +0 -15
  1151. package/es/extensions/payment-card/icons/BankAxept.js.map +0 -1
  1152. package/es/extensions/payment-card/icons/Bedrift.js +0 -15
  1153. package/es/extensions/payment-card/icons/Bedrift.js.map +0 -1
  1154. package/es/extensions/payment-card/icons/Business.js +0 -15
  1155. package/es/extensions/payment-card/icons/Business.js.map +0 -1
  1156. package/es/extensions/payment-card/icons/Clock.d.ts +0 -3
  1157. package/es/extensions/payment-card/icons/Clock.js +0 -18
  1158. package/es/extensions/payment-card/icons/Clock.js.map +0 -1
  1159. package/es/extensions/payment-card/icons/Credit.d.ts +0 -3
  1160. package/es/extensions/payment-card/icons/Credit.js +0 -15
  1161. package/es/extensions/payment-card/icons/Credit.js.map +0 -1
  1162. package/es/extensions/payment-card/icons/DNB.js +0 -17
  1163. package/es/extensions/payment-card/icons/DNB.js.map +0 -1
  1164. package/es/extensions/payment-card/icons/Intro.js +0 -15
  1165. package/es/extensions/payment-card/icons/Intro.js.map +0 -1
  1166. package/es/extensions/payment-card/icons/MastercardDark.js +0 -21
  1167. package/es/extensions/payment-card/icons/MastercardDark.js.map +0 -1
  1168. package/es/extensions/payment-card/icons/MastercardDefault.js +0 -21
  1169. package/es/extensions/payment-card/icons/MastercardDefault.js.map +0 -1
  1170. package/es/extensions/payment-card/icons/PB.js +0 -15
  1171. package/es/extensions/payment-card/icons/PB.js.map +0 -1
  1172. package/es/extensions/payment-card/icons/Pluss.js +0 -15
  1173. package/es/extensions/payment-card/icons/Pluss.js.map +0 -1
  1174. package/es/extensions/payment-card/icons/SagaGold.js +0 -15
  1175. package/es/extensions/payment-card/icons/SagaGold.js.map +0 -1
  1176. package/es/extensions/payment-card/icons/SagaPlatinum.js +0 -15
  1177. package/es/extensions/payment-card/icons/SagaPlatinum.js.map +0 -1
  1178. package/es/extensions/payment-card/icons/Sbanken.js +0 -15
  1179. package/es/extensions/payment-card/icons/Sbanken.js.map +0 -1
  1180. package/es/extensions/payment-card/icons/VisaDefault.js +0 -15
  1181. package/es/extensions/payment-card/icons/VisaDefault.js.map +0 -1
  1182. package/es/extensions/payment-card/icons/VisaPlatinum.js +0 -15
  1183. package/es/extensions/payment-card/icons/VisaPlatinum.js.map +0 -1
  1184. package/es/extensions/payment-card/utils/backgrounds/ung.d.ts +0 -2
  1185. package/es/extensions/payment-card/utils/backgrounds/ung.js +0 -3
  1186. package/es/extensions/payment-card/utils/backgrounds/ung.js.map +0 -1
  1187. package/extensions/forms/Iterate/EditContainer/useHasContentChanged.js.map +0 -1
  1188. package/extensions/payment-card/icons/BankAxept.js +0 -15
  1189. package/extensions/payment-card/icons/BankAxept.js.map +0 -1
  1190. package/extensions/payment-card/icons/Bedrift.js +0 -15
  1191. package/extensions/payment-card/icons/Bedrift.js.map +0 -1
  1192. package/extensions/payment-card/icons/Business.js +0 -15
  1193. package/extensions/payment-card/icons/Business.js.map +0 -1
  1194. package/extensions/payment-card/icons/Clock.d.ts +0 -3
  1195. package/extensions/payment-card/icons/Clock.js +0 -18
  1196. package/extensions/payment-card/icons/Clock.js.map +0 -1
  1197. package/extensions/payment-card/icons/Credit.d.ts +0 -3
  1198. package/extensions/payment-card/icons/Credit.js +0 -15
  1199. package/extensions/payment-card/icons/Credit.js.map +0 -1
  1200. package/extensions/payment-card/icons/DNB.js +0 -17
  1201. package/extensions/payment-card/icons/DNB.js.map +0 -1
  1202. package/extensions/payment-card/icons/Intro.js +0 -15
  1203. package/extensions/payment-card/icons/Intro.js.map +0 -1
  1204. package/extensions/payment-card/icons/MastercardDark.js +0 -21
  1205. package/extensions/payment-card/icons/MastercardDark.js.map +0 -1
  1206. package/extensions/payment-card/icons/MastercardDefault.js +0 -21
  1207. package/extensions/payment-card/icons/MastercardDefault.js.map +0 -1
  1208. package/extensions/payment-card/icons/PB.js +0 -15
  1209. package/extensions/payment-card/icons/PB.js.map +0 -1
  1210. package/extensions/payment-card/icons/Pluss.js +0 -15
  1211. package/extensions/payment-card/icons/Pluss.js.map +0 -1
  1212. package/extensions/payment-card/icons/SagaGold.js +0 -15
  1213. package/extensions/payment-card/icons/SagaGold.js.map +0 -1
  1214. package/extensions/payment-card/icons/SagaPlatinum.js +0 -15
  1215. package/extensions/payment-card/icons/SagaPlatinum.js.map +0 -1
  1216. package/extensions/payment-card/icons/Sbanken.js +0 -15
  1217. package/extensions/payment-card/icons/Sbanken.js.map +0 -1
  1218. package/extensions/payment-card/icons/VisaDefault.js +0 -15
  1219. package/extensions/payment-card/icons/VisaDefault.js.map +0 -1
  1220. package/extensions/payment-card/icons/VisaPlatinum.js +0 -15
  1221. package/extensions/payment-card/icons/VisaPlatinum.js.map +0 -1
  1222. package/extensions/payment-card/utils/backgrounds/ung.d.ts +0 -2
  1223. package/extensions/payment-card/utils/backgrounds/ung.js +0 -3
  1224. package/extensions/payment-card/utils/backgrounds/ung.js.map +0 -1
  1225. /package/cjs/extensions/forms/{Iterate/EditContainer → Form/Isolation}/useHasContentChanged.d.ts +0 -0
  1226. /package/cjs/extensions/payment-card/icons/{DNB.d.ts → brandLogos/DNB.d.ts} +0 -0
  1227. /package/cjs/extensions/payment-card/icons/{Sbanken.d.ts → brandLogos/Sbanken.d.ts} +0 -0
  1228. /package/cjs/extensions/payment-card/icons/{Bedrift.d.ts → loyaltyLogos/Bedrift.d.ts} +0 -0
  1229. /package/cjs/extensions/payment-card/icons/{Business.d.ts → loyaltyLogos/Business.d.ts} +0 -0
  1230. /package/cjs/extensions/payment-card/icons/{Intro.d.ts → loyaltyLogos/Intro.d.ts} +0 -0
  1231. /package/cjs/extensions/payment-card/icons/{PB.d.ts → loyaltyLogos/PB.d.ts} +0 -0
  1232. /package/cjs/extensions/payment-card/icons/{Pluss.d.ts → loyaltyLogos/Pluss.d.ts} +0 -0
  1233. /package/cjs/extensions/payment-card/icons/{SagaGold.d.ts → loyaltyLogos/SagaGold.d.ts} +0 -0
  1234. /package/cjs/extensions/payment-card/icons/{SagaPlatinum.d.ts → loyaltyLogos/SagaPlatinum.d.ts} +0 -0
  1235. /package/cjs/extensions/payment-card/icons/{BankAxept.d.ts → providers/BankAxept.d.ts} +0 -0
  1236. /package/cjs/extensions/payment-card/icons/{MastercardDark.d.ts → providers/MastercardDark.d.ts} +0 -0
  1237. /package/cjs/extensions/payment-card/icons/{MastercardDefault.d.ts → providers/MastercardDefault.d.ts} +0 -0
  1238. /package/cjs/extensions/payment-card/icons/{VisaDefault.d.ts → providers/VisaDefault.d.ts} +0 -0
  1239. /package/cjs/extensions/payment-card/icons/{VisaPlatinum.d.ts → providers/VisaPlatinum.d.ts} +0 -0
  1240. /package/es/extensions/forms/{Iterate/EditContainer → Form/Isolation}/useHasContentChanged.d.ts +0 -0
  1241. /package/es/extensions/payment-card/icons/{DNB.d.ts → brandLogos/DNB.d.ts} +0 -0
  1242. /package/es/extensions/payment-card/icons/{Sbanken.d.ts → brandLogos/Sbanken.d.ts} +0 -0
  1243. /package/es/extensions/payment-card/icons/{Bedrift.d.ts → loyaltyLogos/Bedrift.d.ts} +0 -0
  1244. /package/es/extensions/payment-card/icons/{Business.d.ts → loyaltyLogos/Business.d.ts} +0 -0
  1245. /package/es/extensions/payment-card/icons/{Intro.d.ts → loyaltyLogos/Intro.d.ts} +0 -0
  1246. /package/es/extensions/payment-card/icons/{PB.d.ts → loyaltyLogos/PB.d.ts} +0 -0
  1247. /package/es/extensions/payment-card/icons/{Pluss.d.ts → loyaltyLogos/Pluss.d.ts} +0 -0
  1248. /package/es/extensions/payment-card/icons/{SagaGold.d.ts → loyaltyLogos/SagaGold.d.ts} +0 -0
  1249. /package/es/extensions/payment-card/icons/{SagaPlatinum.d.ts → loyaltyLogos/SagaPlatinum.d.ts} +0 -0
  1250. /package/es/extensions/payment-card/icons/{BankAxept.d.ts → providers/BankAxept.d.ts} +0 -0
  1251. /package/es/extensions/payment-card/icons/{MastercardDark.d.ts → providers/MastercardDark.d.ts} +0 -0
  1252. /package/es/extensions/payment-card/icons/{MastercardDefault.d.ts → providers/MastercardDefault.d.ts} +0 -0
  1253. /package/es/extensions/payment-card/icons/{VisaDefault.d.ts → providers/VisaDefault.d.ts} +0 -0
  1254. /package/es/extensions/payment-card/icons/{VisaPlatinum.d.ts → providers/VisaPlatinum.d.ts} +0 -0
  1255. /package/extensions/forms/{Iterate/EditContainer → Form/Isolation}/useHasContentChanged.d.ts +0 -0
  1256. /package/extensions/payment-card/icons/{DNB.d.ts → brandLogos/DNB.d.ts} +0 -0
  1257. /package/extensions/payment-card/icons/{Sbanken.d.ts → brandLogos/Sbanken.d.ts} +0 -0
  1258. /package/extensions/payment-card/icons/{Bedrift.d.ts → loyaltyLogos/Bedrift.d.ts} +0 -0
  1259. /package/extensions/payment-card/icons/{Business.d.ts → loyaltyLogos/Business.d.ts} +0 -0
  1260. /package/extensions/payment-card/icons/{Intro.d.ts → loyaltyLogos/Intro.d.ts} +0 -0
  1261. /package/extensions/payment-card/icons/{PB.d.ts → loyaltyLogos/PB.d.ts} +0 -0
  1262. /package/extensions/payment-card/icons/{Pluss.d.ts → loyaltyLogos/Pluss.d.ts} +0 -0
  1263. /package/extensions/payment-card/icons/{SagaGold.d.ts → loyaltyLogos/SagaGold.d.ts} +0 -0
  1264. /package/extensions/payment-card/icons/{SagaPlatinum.d.ts → loyaltyLogos/SagaPlatinum.d.ts} +0 -0
  1265. /package/extensions/payment-card/icons/{BankAxept.d.ts → providers/BankAxept.d.ts} +0 -0
  1266. /package/extensions/payment-card/icons/{MastercardDark.d.ts → providers/MastercardDark.d.ts} +0 -0
  1267. /package/extensions/payment-card/icons/{MastercardDefault.d.ts → providers/MastercardDefault.d.ts} +0 -0
  1268. /package/extensions/payment-card/icons/{VisaDefault.d.ts → providers/VisaDefault.d.ts} +0 -0
  1269. /package/extensions/payment-card/icons/{VisaPlatinum.d.ts → providers/VisaPlatinum.d.ts} +0 -0
@@ -1,9 +1,10 @@
1
1
  "use client";
2
2
 
3
3
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
+ var _BubbleValidation;
4
5
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
6
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
- import React, { useCallback, useContext, useMemo, useReducer, useRef } from 'react';
7
+ import React, { useCallback, useContext, useMemo, useReducer, useRef, useState } from 'react';
7
8
  import useMountEffect from '../../../../shared/helpers/useMountEffect';
8
9
  import pointer from '../../utils/json-pointer';
9
10
  import { extendDeep } from '../../../../shared/component-helper';
@@ -13,9 +14,19 @@ import { Context as DataContext, Provider } from '../../DataContext';
13
14
  import SectionContext from '../Section/SectionContext';
14
15
  import useReportError from './useReportError';
15
16
  import IsolationCommitButton from './IsolationCommitButton';
17
+ import IsolationResetButton from './IsolationResetButton';
16
18
  import { clearedData } from '../../DataContext/Provider';
19
+ import { createDataReference } from './IsolationDataReference';
20
+ import IsolatedContainer from './IsolatedContainer';
21
+ import IsolationContext from './IsolationContext';
17
22
  import structuredClone from '@ungap/structured-clone';
18
23
  function IsolationProvider(props) {
24
+ var _IsolatedContainer;
25
+ const [dataReferenceFallback] = useState(() => {
26
+ if (!(props !== null && props !== void 0 && props.dataReference)) {
27
+ return createDataReference();
28
+ }
29
+ });
19
30
  const {
20
31
  children,
21
32
  onPathChange,
@@ -24,8 +35,11 @@ function IsolationProvider(props) {
24
35
  transformOnCommit: transformOnCommitProp,
25
36
  commitHandleRef,
26
37
  bubbleValidation,
38
+ preventUncommittedChanges,
27
39
  data,
28
- defaultData
40
+ defaultData,
41
+ dataReference = dataReferenceFallback,
42
+ resetDataAfterCommit
29
43
  } = props;
30
44
  const [, forceUpdate] = useReducer(() => ({}), {});
31
45
  const internalDataRef = useRef();
@@ -87,7 +101,7 @@ function IsolationProvider(props) {
87
101
  if (localData && pathSection && !pointer.has(localDataRef.current, pathSection)) {
88
102
  localData = moveValueToPath(pathSection, localData);
89
103
  }
90
- internalDataRef.current = Object.assign({}, localData || dataOuter || {}, localDataRef.current);
104
+ internalDataRef.current = Object.assign({}, localData || structuredClone(dataOuter) || {}, localDataRef.current);
91
105
  }, [data, defaultData, pathSection, dataOuter, moveValueToPath]);
92
106
  const onCommit = useCallback(async (data, additionalArgs) => {
93
107
  var _props$path;
@@ -109,12 +123,15 @@ function IsolationProvider(props) {
109
123
  await (handlePathChangeOuter === null || handlePathChangeOuter === void 0 ? void 0 : handlePathChangeOuter(path, Array.isArray(isolatedData) ? isolatedData : extendDeep({}, outerData, isolatedData)));
110
124
  return result;
111
125
  }, [getMountedData, props.path, dataOuter, transformOnCommitProp, handlePathChangeOuter, onCommitProp, removeSectionPath]);
126
+ const setIsolatedData = useCallback(data => {
127
+ localDataRef.current = data;
128
+ internalDataRef.current = data;
129
+ }, []);
112
130
  const onClear = useCallback(() => {
113
- localDataRef.current = clearedData;
114
- internalDataRef.current = clearedData;
131
+ setIsolatedData(clearedData);
115
132
  forceUpdate();
116
133
  onClearProp === null || onClearProp === void 0 ? void 0 : onClearProp();
117
- }, [onClearProp]);
134
+ }, [onClearProp, setIsolatedData]);
118
135
  const providerProps = _objectSpread(_objectSpread({}, props), {}, {
119
136
  [defaultData ? 'defaultData' : 'data']: internalDataRef.current,
120
137
  onUpdateDataValue: onUpdateDataValueHandler,
@@ -123,21 +140,28 @@ function IsolationProvider(props) {
123
140
  onClear,
124
141
  isolate: true
125
142
  });
126
- return React.createElement(Provider, providerProps, React.createElement(DataContext.Consumer, null, dataContext => {
143
+ return React.createElement(Provider, providerProps, React.createElement(IsolationContext.Provider, {
144
+ value: {
145
+ preventUncommittedChanges,
146
+ dataReference,
147
+ resetDataAfterCommit,
148
+ outerContext,
149
+ setIsolatedData
150
+ }
151
+ }, React.createElement(DataContext.Consumer, null, dataContext => {
127
152
  dataContextRef.current = dataContext;
128
153
  if (commitHandleRef) {
129
154
  commitHandleRef.current = dataContext === null || dataContext === void 0 ? void 0 : dataContext.handleSubmit;
130
155
  }
131
- return children;
132
- }), bubbleValidation && React.createElement(BubbleValidation, {
133
- outerContext: outerContext
134
- }));
156
+ return _IsolatedContainer || (_IsolatedContainer = React.createElement(IsolatedContainer, null, children, " "));
157
+ }), bubbleValidation && (_BubbleValidation || (_BubbleValidation = React.createElement(BubbleValidation, null)))));
135
158
  }
136
- function BubbleValidation({
137
- outerContext
138
- }) {
159
+ function BubbleValidation() {
139
160
  var _addSetShowAllErrorsR;
140
161
  const innerContext = useContext(DataContext);
162
+ const {
163
+ outerContext
164
+ } = useContext(IsolationContext);
141
165
  const {
142
166
  setShowAllErrors
143
167
  } = innerContext;
@@ -155,6 +179,8 @@ function BubbleValidation({
155
179
  }
156
180
  const isolationError = new Error('Form.Isolation');
157
181
  IsolationProvider.CommitButton = IsolationCommitButton;
182
+ IsolationProvider.ResetButton = IsolationResetButton;
183
+ IsolationProvider.createDataReference = createDataReference;
158
184
  IsolationProvider._supportsSpacingProps = undefined;
159
185
  export default IsolationProvider;
160
186
  //# sourceMappingURL=Isolation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Isolation.js","names":["React","useCallback","useContext","useMemo","useReducer","useRef","useMountEffect","pointer","extendDeep","isAsync","useDataValue","Context","DataContext","Provider","SectionContext","useReportError","IsolationCommitButton","clearedData","structuredClone","IsolationProvider","props","children","onPathChange","onCommit","onCommitProp","onClear","onClearProp","transformOnCommit","transformOnCommitProp","commitHandleRef","bubbleValidation","data","defaultData","forceUpdate","internalDataRef","localDataRef","dataContextRef","outerContext","path","pathSection","handlePathChange","handlePathChangeOuter","dataOuter","moveValueToPath","onPathChangeHandler","value","current","set","replace","onUpdateDataValueHandler","preventUpdate","undefined","removeSectionPath","has","get","getMountedData","_dataContextRef$curre","mounterData","mountedFieldsRef","forEach","field","isMounted","localData","Object","assign","additionalArgs","_props$path","mountedData","outerData","isolatedData","stop","preventCommit","commitData","result","Array","isArray","providerProps","_objectSpread","onUpdateDataValue","isolate","createElement","Consumer","dataContext","handleSubmit","BubbleValidation","_addSetShowAllErrorsR","innerContext","setShowAllErrors","setShowAllErrorsNested","showAllErrors","addSetShowAllErrorsRef","includes","push","hasErrors","isolationError","Error","CommitButton","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Form/Isolation/Isolation.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useMemo,\n useReducer,\n useRef,\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 {\n clearedData,\n type Props as ProviderProps,\n} from '../../DataContext/Provider'\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 * 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 {\n children,\n onPathChange,\n onCommit: onCommitProp,\n onClear: onClearProp,\n transformOnCommit: transformOnCommitProp,\n commitHandleRef,\n bubbleValidation,\n data,\n defaultData,\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 || 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 onClear = useCallback(() => {\n localDataRef.current = clearedData\n internalDataRef.current = clearedData as Data\n forceUpdate()\n onClearProp?.()\n }, [onClearProp])\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 <DataContext.Consumer>\n {(dataContext) => {\n dataContextRef.current = dataContext\n\n if (commitHandleRef) {\n commitHandleRef.current = dataContext?.handleSubmit\n }\n\n return children\n }}\n </DataContext.Consumer>\n\n {bubbleValidation && (\n <BubbleValidation outerContext={outerContext} />\n )}\n </Provider>\n )\n}\n\nfunction BubbleValidation({\n outerContext,\n}: {\n outerContext: ContextState\n}) {\n const innerContext = useContext(DataContext)\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._supportsSpacingProps = undefined\n\nexport default IsolationProvider\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Isolation.js","names":["React","useCallback","useContext","useMemo","useReducer","useRef","useState","useMountEffect","pointer","extendDeep","isAsync","useDataValue","Context","DataContext","Provider","SectionContext","useReportError","IsolationCommitButton","IsolationResetButton","clearedData","createDataReference","IsolatedContainer","IsolationContext","structuredClone","IsolationProvider","props","_IsolatedContainer","dataReferenceFallback","dataReference","children","onPathChange","onCommit","onCommitProp","onClear","onClearProp","transformOnCommit","transformOnCommitProp","commitHandleRef","bubbleValidation","preventUncommittedChanges","data","defaultData","resetDataAfterCommit","forceUpdate","internalDataRef","localDataRef","dataContextRef","outerContext","path","pathSection","handlePathChange","handlePathChangeOuter","dataOuter","moveValueToPath","onPathChangeHandler","value","current","set","replace","onUpdateDataValueHandler","preventUpdate","undefined","removeSectionPath","has","get","getMountedData","_dataContextRef$curre","mounterData","mountedFieldsRef","forEach","field","isMounted","localData","Object","assign","additionalArgs","_props$path","mountedData","outerData","isolatedData","stop","preventCommit","commitData","result","Array","isArray","setIsolatedData","providerProps","_objectSpread","onUpdateDataValue","isolate","createElement","Consumer","dataContext","handleSubmit","_BubbleValidation","BubbleValidation","_addSetShowAllErrorsR","innerContext","setShowAllErrors","setShowAllErrorsNested","showAllErrors","addSetShowAllErrorsRef","includes","push","hasErrors","isolationError","Error","CommitButton","ResetButton","_supportsSpacingProps"],"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":[]}
@@ -32,7 +32,7 @@ function IsolationCommitButton(props) {
32
32
  }, [handleSubmit, isolate]);
33
33
  return React.createElement(Button, _extends({
34
34
  variant: "secondary",
35
- className: classnames('dnb-forms-isolate-button', className),
35
+ className: classnames('dnb-forms-isolate__commit-button', className),
36
36
  icon: check,
37
37
  icon_position: "left",
38
38
  onClick: onClickHandler
@@ -1 +1 @@
1
- {"version":3,"file":"IsolationCommitButton.js","names":["React","useCallback","useContext","classnames","useTranslation","DataContext","Button","check","IsolationCommitButton","props","translations","Isolation","className","children","text","rest","_objectWithoutProperties","_excluded","content","commitButtonText","handleSubmit","dataContextProps","isolate","onClickHandler","createElement","_extends","variant","icon","icon_position","onClick","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Form/Isolation/IsolationCommitButton.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport classnames from 'classnames'\nimport { useTranslation } from '../../hooks'\nimport DataContext from '../../DataContext/Context'\nimport Button, { ButtonProps } from '../../../../components/button/Button'\nimport { check } from '../../../../icons'\n\nexport type Props = ButtonProps\n\nfunction IsolationCommitButton(props: Props) {\n const translations = useTranslation().Isolation\n\n const { className, children, text, ...rest } = props\n\n const content = text || children || translations.commitButtonText\n\n const { handleSubmit, props: dataContextProps } =\n useContext(DataContext) || {}\n const { isolate } = dataContextProps || {}\n\n const onClickHandler = useCallback(() => {\n if (isolate) {\n handleSubmit?.()\n }\n }, [handleSubmit, isolate])\n\n return (\n <Button\n variant=\"secondary\"\n className={classnames('dnb-forms-isolate-button', className)}\n icon={check}\n icon_position=\"left\"\n onClick={onClickHandler}\n {...rest}\n >\n {content}\n </Button>\n )\n}\n\nIsolationCommitButton._supportsSpacingProps = true\nexport default IsolationCommitButton\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,cAAc,QAAQ,aAAa;AAC5C,OAAOC,WAAW,MAAM,2BAA2B;AACnD,OAAOC,MAAM,MAAuB,sCAAsC;AAC1E,SAASC,KAAK,QAAQ,mBAAmB;AAIzC,SAASC,qBAAqBA,CAACC,KAAY,EAAE;EAC3C,MAAMC,YAAY,GAAGN,cAAc,CAAC,CAAC,CAACO,SAAS;EAE/C,MAAM;MAAEC,SAAS;MAAEC,QAAQ;MAAEC;IAAc,CAAC,GAAGL,KAAK;IAAdM,IAAI,GAAAC,wBAAA,CAAKP,KAAK,EAAAQ,SAAA;EAEpD,MAAMC,OAAO,GAAGJ,IAAI,IAAID,QAAQ,IAAIH,YAAY,CAACS,gBAAgB;EAEjE,MAAM;IAAEC,YAAY;IAAEX,KAAK,EAAEY;EAAiB,CAAC,GAC7CnB,UAAU,CAACG,WAAW,CAAC,IAAI,CAAC,CAAC;EAC/B,MAAM;IAAEiB;EAAQ,CAAC,GAAGD,gBAAgB,IAAI,CAAC,CAAC;EAE1C,MAAME,cAAc,GAAGtB,WAAW,CAAC,MAAM;IACvC,IAAIqB,OAAO,EAAE;MACXF,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAG,CAAC;IAClB;EACF,CAAC,EAAE,CAACA,YAAY,EAAEE,OAAO,CAAC,CAAC;EAE3B,OACEtB,KAAA,CAAAwB,aAAA,CAAClB,MAAM,EAAAmB,QAAA;IACLC,OAAO,EAAC,WAAW;IACnBd,SAAS,EAAET,UAAU,CAAC,0BAA0B,EAAES,SAAS,CAAE;IAC7De,IAAI,EAAEpB,KAAM;IACZqB,aAAa,EAAC,MAAM;IACpBC,OAAO,EAAEN;EAAe,GACpBR,IAAI,GAEPG,OACK,CAAC;AAEb;AAEAV,qBAAqB,CAACsB,qBAAqB,GAAG,IAAI;AAClD,eAAetB,qBAAqB","ignoreList":[]}
1
+ {"version":3,"file":"IsolationCommitButton.js","names":["React","useCallback","useContext","classnames","useTranslation","DataContext","Button","check","IsolationCommitButton","props","translations","Isolation","className","children","text","rest","_objectWithoutProperties","_excluded","content","commitButtonText","handleSubmit","dataContextProps","isolate","onClickHandler","createElement","_extends","variant","icon","icon_position","onClick","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Form/Isolation/IsolationCommitButton.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport classnames from 'classnames'\nimport { useTranslation } from '../../hooks'\nimport DataContext from '../../DataContext/Context'\nimport Button, { ButtonProps } from '../../../../components/button/Button'\nimport { check } from '../../../../icons'\n\nexport type Props = ButtonProps\n\nfunction IsolationCommitButton(props: Props) {\n const translations = useTranslation().Isolation\n\n const { className, children, text, ...rest } = props\n\n const content = text || children || translations.commitButtonText\n\n const { handleSubmit, props: dataContextProps } =\n useContext(DataContext) || {}\n const { isolate } = dataContextProps || {}\n\n const onClickHandler = useCallback(() => {\n if (isolate) {\n handleSubmit?.()\n }\n }, [handleSubmit, isolate])\n\n return (\n <Button\n variant=\"secondary\"\n className={classnames('dnb-forms-isolate__commit-button', className)}\n icon={check}\n icon_position=\"left\"\n onClick={onClickHandler}\n {...rest}\n >\n {content}\n </Button>\n )\n}\n\nIsolationCommitButton._supportsSpacingProps = true\nexport default IsolationCommitButton\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,cAAc,QAAQ,aAAa;AAC5C,OAAOC,WAAW,MAAM,2BAA2B;AACnD,OAAOC,MAAM,MAAuB,sCAAsC;AAC1E,SAASC,KAAK,QAAQ,mBAAmB;AAIzC,SAASC,qBAAqBA,CAACC,KAAY,EAAE;EAC3C,MAAMC,YAAY,GAAGN,cAAc,CAAC,CAAC,CAACO,SAAS;EAE/C,MAAM;MAAEC,SAAS;MAAEC,QAAQ;MAAEC;IAAc,CAAC,GAAGL,KAAK;IAAdM,IAAI,GAAAC,wBAAA,CAAKP,KAAK,EAAAQ,SAAA;EAEpD,MAAMC,OAAO,GAAGJ,IAAI,IAAID,QAAQ,IAAIH,YAAY,CAACS,gBAAgB;EAEjE,MAAM;IAAEC,YAAY;IAAEX,KAAK,EAAEY;EAAiB,CAAC,GAC7CnB,UAAU,CAACG,WAAW,CAAC,IAAI,CAAC,CAAC;EAC/B,MAAM;IAAEiB;EAAQ,CAAC,GAAGD,gBAAgB,IAAI,CAAC,CAAC;EAE1C,MAAME,cAAc,GAAGtB,WAAW,CAAC,MAAM;IACvC,IAAIqB,OAAO,EAAE;MACXF,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAG,CAAC;IAClB;EACF,CAAC,EAAE,CAACA,YAAY,EAAEE,OAAO,CAAC,CAAC;EAE3B,OACEtB,KAAA,CAAAwB,aAAA,CAAClB,MAAM,EAAAmB,QAAA;IACLC,OAAO,EAAC,WAAW;IACnBd,SAAS,EAAET,UAAU,CAAC,kCAAkC,EAAES,SAAS,CAAE;IACrEe,IAAI,EAAEpB,KAAM;IACZqB,aAAa,EAAC,MAAM;IACpBC,OAAO,EAAEN;EAAe,GACpBR,IAAI,GAEPG,OACK,CAAC;AAEb;AAEAV,qBAAqB,CAACsB,qBAAqB,GAAG,IAAI;AAClD,eAAetB,qBAAqB","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ import { ContextState } from '../../DataContext/Context';
3
+ import { IsolationDataReference } from './IsolationDataReference';
4
+ export type IsolationContext = {
5
+ dataReference: IsolationDataReference;
6
+ resetDataAfterCommit: boolean;
7
+ outerContext: ContextState;
8
+ preventUncommittedChanges: boolean;
9
+ setIsolatedData: (data: unknown) => void;
10
+ };
11
+ declare const IsolationContext: import("react").Context<IsolationContext>;
12
+ export default IsolationContext;
@@ -0,0 +1,6 @@
1
+ "use client";
2
+
3
+ import { createContext } from 'react';
4
+ const IsolationContext = createContext(null);
5
+ export default IsolationContext;
6
+ //# sourceMappingURL=IsolationContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IsolationContext.js","names":["createContext","IsolationContext"],"sources":["../../../../../../src/extensions/forms/Form/Isolation/IsolationContext.ts"],"sourcesContent":["import { createContext } from 'react'\nimport { ContextState } from '../../DataContext/Context'\nimport { IsolationDataReference } from './IsolationDataReference'\n\nexport type IsolationContext = {\n dataReference: IsolationDataReference\n resetDataAfterCommit: boolean\n outerContext: ContextState\n preventUncommittedChanges: boolean\n setIsolatedData: (data: unknown) => void\n}\n\nconst IsolationContext = createContext<IsolationContext>(null)\n\nexport default IsolationContext\n"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,OAAO;AAYrC,MAAMC,gBAAgB,GAAGD,aAAa,CAAmB,IAAI,CAAC;AAE9D,eAAeC,gBAAgB","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ export type IsolationDataReference = {
3
+ refresh: () => void;
4
+ update: (data: unknown) => void;
5
+ cleanup: () => void;
6
+ snapshotRef: React.MutableRefObject<unknown>;
7
+ eventsRef: React.MutableRefObject<Array<() => void>>;
8
+ };
9
+ export declare function createDataReference(): IsolationDataReference;
@@ -0,0 +1,25 @@
1
+ export function createDataReference() {
2
+ const snapshotRef = {
3
+ current: undefined
4
+ };
5
+ const eventsRef = {
6
+ current: []
7
+ };
8
+ const refresh = () => {
9
+ eventsRef.current.forEach(fn => fn());
10
+ };
11
+ const update = data => {
12
+ snapshotRef.current = data;
13
+ };
14
+ const cleanup = () => {
15
+ eventsRef.current = [];
16
+ };
17
+ return {
18
+ refresh,
19
+ update,
20
+ cleanup,
21
+ snapshotRef,
22
+ eventsRef
23
+ };
24
+ }
25
+ //# sourceMappingURL=IsolationDataReference.js.map
@@ -0,0 +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":"AAUA,OAAO,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":[]}
@@ -22,6 +22,21 @@ export const IsolationProperties = _objectSpread(_objectSpread({
22
22
  doc: 'Prevent the form from being submitted when there are fields with errors inside the Form.Isolation.',
23
23
  type: 'boolean',
24
24
  status: 'optional'
25
+ },
26
+ preventUncommittedChanges: {
27
+ doc: 'Prevents uncommitted changes before the form is submitted. Will display an error message if user tries to submit without committing their changes.',
28
+ type: 'boolean',
29
+ status: 'optional'
30
+ },
31
+ resetDataAfterCommit: {
32
+ doc: 'If set to `true`, the Form.Isolation will reset its data context after committing the data to the outer context.',
33
+ type: 'boolean',
34
+ status: 'optional'
35
+ },
36
+ dataReference: {
37
+ doc: 'Provide a reference by using `Form.Isolation.createDataReference.`',
38
+ type: 'IsolationDataReference',
39
+ status: 'optional'
25
40
  }
26
41
  }, ProviderProperties), {}, {
27
42
  minimumAsyncBehaviorTime: undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"IsolationDocs.js","names":["ProviderEvents","ProviderProperties","IsolationProperties","_objectSpread","path","doc","type","status","transformOnCommit","commitHandleRef","bubbleValidation","minimumAsyncBehaviorTime","undefined","asyncSubmitTimeout","scrollTopOnSubmit","sessionStorageId","globalStatusId","IsolationEvents","onCommit","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 ...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":";;;AACA,SACEA,cAAc,EACdC,kBAAkB,QACb,yCAAyC;AAEhD,OAAO,MAAMC,mBAAyC,GAAAC,aAAA,CAAAA,aAAA;EACpDC,IAAI,EAAE;IACJC,GAAG,EAAE,gFAAgF;IACrFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,iBAAiB,EAAE;IACjBH,GAAG,EAAE,iLAAiL;IACtLC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDE,eAAe,EAAE;IACfJ,GAAG,EAAE,kGAAkG;IACvGC,IAAI,EAAE,iBAAiB;IACvBC,MAAM,EAAE;EACV,CAAC;EACDG,gBAAgB,EAAE;IAChBL,GAAG,EAAE,oGAAoG;IACzGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV;AAAC,GACEN,kBAAkB;EACrBU,wBAAwB,EAAEC,SAAS;EACnCC,kBAAkB,EAAED,SAAS;EAC7BE,iBAAiB,EAAEF,SAAS;EAC5BG,gBAAgB,EAAEH,SAAS;EAC3BI,cAAc,EAAEJ;AAAS,EAC1B;AAED,OAAO,MAAMK,eAAqC,GAAAd,aAAA,CAAAA,aAAA;EAChDe,QAAQ,EAAE;IACRb,GAAG,EAAE,gOAAgO;IACrOC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AAAC,GACEP,cAAc;EACjBmB,QAAQ,EAAEP,SAAS;EACnBQ,eAAe,EAAER,SAAS;EAC1BS,gBAAgB,EAAET;AAAS,EAC5B","ignoreList":[]}
1
+ {"version":3,"file":"IsolationDocs.js","names":["ProviderEvents","ProviderProperties","IsolationProperties","_objectSpread","path","doc","type","status","transformOnCommit","commitHandleRef","bubbleValidation","preventUncommittedChanges","resetDataAfterCommit","dataReference","minimumAsyncBehaviorTime","undefined","asyncSubmitTimeout","scrollTopOnSubmit","sessionStorageId","globalStatusId","IsolationEvents","onCommit","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":";;;AACA,SACEA,cAAc,EACdC,kBAAkB,QACb,yCAAyC;AAEhD,OAAO,MAAMC,mBAAyC,GAAAC,aAAA,CAAAA,aAAA;EACpDC,IAAI,EAAE;IACJC,GAAG,EAAE,gFAAgF;IACrFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,iBAAiB,EAAE;IACjBH,GAAG,EAAE,iLAAiL;IACtLC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDE,eAAe,EAAE;IACfJ,GAAG,EAAE,kGAAkG;IACvGC,IAAI,EAAE,iBAAiB;IACvBC,MAAM,EAAE;EACV,CAAC;EACDG,gBAAgB,EAAE;IAChBL,GAAG,EAAE,oGAAoG;IACzGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDI,yBAAyB,EAAE;IACzBN,GAAG,EAAE,oJAAoJ;IACzJC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDK,oBAAoB,EAAE;IACpBP,GAAG,EAAE,kHAAkH;IACvHC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDM,aAAa,EAAE;IACbR,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,wBAAwB;IAC9BC,MAAM,EAAE;EACV;AAAC,GACEN,kBAAkB;EACrBa,wBAAwB,EAAEC,SAAS;EACnCC,kBAAkB,EAAED,SAAS;EAC7BE,iBAAiB,EAAEF,SAAS;EAC5BG,gBAAgB,EAAEH,SAAS;EAC3BI,cAAc,EAAEJ;AAAS,EAC1B;AAED,OAAO,MAAMK,eAAqC,GAAAjB,aAAA,CAAAA,aAAA;EAChDkB,QAAQ,EAAE;IACRhB,GAAG,EAAE,gOAAgO;IACrOC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AAAC,GACEP,cAAc;EACjBsB,QAAQ,EAAEP,SAAS;EACnBQ,eAAe,EAAER,SAAS;EAC1BS,gBAAgB,EAAET;AAAS,EAC5B","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import { ButtonProps } from '../../../../components/Button';
2
+ type Props = ButtonProps & {
3
+ showConfirmDialog?: boolean;
4
+ showWhen?: 'uncommittedChangeDetected';
5
+ };
6
+ export default function IsolationResetButton(props: Props): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,99 @@
1
+ "use client";
2
+
3
+ import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
6
+ const _excluded = ["text", "children", "onClick", "className", "hidden", "showConfirmDialog", "showWhen"];
7
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9
+ import React, { useCallback, useContext } from 'react';
10
+ import classnames from 'classnames';
11
+ import { Button, Dialog } from '../../../../components';
12
+ import useTranslation from '../../hooks/useTranslation';
13
+ import FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext';
14
+ import { reset } from '../../../../icons';
15
+ import useHasContentChanged from './useHasContentChanged';
16
+ import { omitDataValueReadWriteProps } from '../../types';
17
+ import useDataContextSnapshot from './useDataContextSnapshot';
18
+ import useHandleStatus from './useHandleStatus';
19
+ import { isolationError } from './IsolatedContainer';
20
+ import IsolationContext from './IsolationContext';
21
+ export default function IsolationResetButton(props) {
22
+ const {
23
+ text,
24
+ children,
25
+ onClick,
26
+ className,
27
+ hidden,
28
+ showConfirmDialog = true,
29
+ showWhen
30
+ } = props,
31
+ restProps = _objectWithoutProperties(props, _excluded);
32
+ const {
33
+ outerContext,
34
+ preventUncommittedChanges
35
+ } = useContext(IsolationContext);
36
+ const {
37
+ setShowBoundaryErrors
38
+ } = useContext(FieldBoundaryContext) || {};
39
+ const {
40
+ handleReset
41
+ } = useDataContextSnapshot({
42
+ enabled: true
43
+ });
44
+ const {
45
+ hasContentChanged
46
+ } = useHasContentChanged();
47
+ const {
48
+ showStatus: showCommitStatus
49
+ } = useHandleStatus({
50
+ outerContext,
51
+ preventUncommittedChanges,
52
+ error: isolationError
53
+ });
54
+ const buttonProps = omitDataValueReadWriteProps(restProps);
55
+ const {
56
+ resetButton
57
+ } = useTranslation().IterateEditContainer;
58
+ const {
59
+ confirmResetText
60
+ } = useTranslation().IterateEditContainer;
61
+ const textContent = text || children || resetButton;
62
+ const buttonWrapperRef = React.useRef(null);
63
+ const handleClick = useCallback(({
64
+ close,
65
+ event
66
+ }) => {
67
+ var _buttonWrapperRef$cur;
68
+ close === null || close === void 0 ? void 0 : close();
69
+ onClick === null || onClick === void 0 ? void 0 : onClick(event);
70
+ handleReset();
71
+ setShowBoundaryErrors === null || setShowBoundaryErrors === void 0 ? void 0 : setShowBoundaryErrors(false);
72
+ (_buttonWrapperRef$cur = buttonWrapperRef.current) === null || _buttonWrapperRef$cur === void 0 ? void 0 : _buttonWrapperRef$cur.focus();
73
+ }, [onClick, handleReset, setShowBoundaryErrors]);
74
+ if (hidden) {
75
+ return null;
76
+ }
77
+ const triggerAttributes = _objectSpread({
78
+ className: classnames('dnb-forms-isolate__reset-button', className),
79
+ text: textContent,
80
+ variant: textContent ? 'tertiary' : 'secondary',
81
+ icon: reset,
82
+ icon_position: 'left',
83
+ disabled: typeof hasContentChanged === 'boolean' ? !hasContentChanged : false
84
+ }, buttonProps);
85
+ return React.createElement("span", {
86
+ tabIndex: -1,
87
+ ref: buttonWrapperRef,
88
+ className: "dnb-no-focus",
89
+ hidden: !(showWhen === 'uncommittedChangeDetected' ? Boolean(showCommitStatus) : true)
90
+ }, showConfirmDialog ? React.createElement(Dialog, {
91
+ variant: "confirmation",
92
+ title: confirmResetText,
93
+ triggerAttributes: triggerAttributes,
94
+ onConfirm: handleClick
95
+ }) : React.createElement(Button, _extends({}, triggerAttributes, {
96
+ on_click: handleClick
97
+ }, buttonProps), resetButton));
98
+ }
99
+ //# sourceMappingURL=IsolationResetButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IsolationResetButton.js","names":["React","useCallback","useContext","classnames","Button","Dialog","useTranslation","FieldBoundaryContext","reset","useHasContentChanged","omitDataValueReadWriteProps","useDataContextSnapshot","useHandleStatus","isolationError","IsolationContext","IsolationResetButton","props","text","children","onClick","className","hidden","showConfirmDialog","showWhen","restProps","_objectWithoutProperties","_excluded","outerContext","preventUncommittedChanges","setShowBoundaryErrors","handleReset","enabled","hasContentChanged","showStatus","showCommitStatus","error","buttonProps","resetButton","IterateEditContainer","confirmResetText","textContent","buttonWrapperRef","useRef","handleClick","close","event","_buttonWrapperRef$cur","current","focus","triggerAttributes","_objectSpread","variant","icon","icon_position","disabled","createElement","tabIndex","ref","Boolean","title","onConfirm","_extends","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":[]}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ export default function useDataContextSnapshot({ enabled, }?: {
3
+ enabled?: boolean;
4
+ }): {
5
+ handleReset: () => void;
6
+ snapshotRef: import("react").MutableRefObject<unknown>;
7
+ };
@@ -0,0 +1,50 @@
1
+ "use client";
2
+
3
+ import { useCallback, useContext, useEffect, useReducer } from 'react';
4
+ import DataContext from '../../DataContext/Context';
5
+ import IsolationContext from './IsolationContext';
6
+ import structuredClone from '@ungap/structured-clone';
7
+ export default function useDataContextSnapshot({
8
+ enabled
9
+ } = {}) {
10
+ const [, forceUpdate] = useReducer(() => ({}), {});
11
+ const {
12
+ internalDataRef,
13
+ setData
14
+ } = useContext(DataContext);
15
+ const {
16
+ dataReference,
17
+ setIsolatedData
18
+ } = useContext(IsolationContext) || {};
19
+ const {
20
+ snapshotRef,
21
+ eventsRef,
22
+ update,
23
+ refresh,
24
+ cleanup
25
+ } = dataReference || {};
26
+ useEffect(() => {
27
+ if (enabled && eventsRef) {
28
+ eventsRef.current.push(() => {
29
+ update(structuredClone(internalDataRef === null || internalDataRef === void 0 ? void 0 : internalDataRef.current));
30
+ forceUpdate();
31
+ });
32
+ refresh();
33
+ }
34
+ return () => cleanup === null || cleanup === void 0 ? void 0 : cleanup();
35
+ }, [cleanup, enabled, eventsRef, internalDataRef, refresh, update]);
36
+ const handleReset = useCallback(() => {
37
+ window.requestAnimationFrame(() => {
38
+ if (snapshotRef) {
39
+ const data = structuredClone(snapshotRef.current);
40
+ setData(data);
41
+ setIsolatedData(data);
42
+ }
43
+ });
44
+ }, [setData, setIsolatedData, snapshotRef]);
45
+ return {
46
+ handleReset,
47
+ snapshotRef
48
+ };
49
+ }
50
+ //# sourceMappingURL=useDataContextSnapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDataContextSnapshot.js","names":["useCallback","useContext","useEffect","useReducer","DataContext","IsolationContext","structuredClone","useDataContextSnapshot","enabled","forceUpdate","internalDataRef","setData","dataReference","setIsolatedData","snapshotRef","eventsRef","update","refresh","cleanup","current","push","handleReset","window","requestAnimationFrame","data"],"sources":["../../../../../../src/extensions/forms/Form/Isolation/useDataContextSnapshot.ts"],"sourcesContent":["import { useCallback, useContext, useEffect, useReducer } from 'react'\nimport DataContext from '../../DataContext/Context'\nimport IsolationContext from './IsolationContext'\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 { dataReference, setIsolatedData } =\n useContext(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,SAASA,WAAW,EAAEC,UAAU,EAAEC,SAAS,EAAEC,UAAU,QAAQ,OAAO;AACtE,OAAOC,WAAW,MAAM,2BAA2B;AACnD,OAAOC,gBAAgB,MAAM,oBAAoB;AAMjD,OAAOC,eAAe,MAAM,yBAAyB;AAErD,eAAe,SAASC,sBAAsBA,CAAC;EAC7CC;AAGF,CAAC,GAAG,CAAC,CAAC,EAAE;EACN,MAAM,GAAGC,WAAW,CAAC,GAAGN,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAClD,MAAM;IAAEO,eAAe;IAAEC;EAAQ,CAAC,GAAGV,UAAU,CAACG,WAAW,CAAC;EAC5D,MAAM;IAAEQ,aAAa;IAAEC;EAAgB,CAAC,GACtCZ,UAAU,CAACI,gBAAgB,CAAC,IAAI,CAAC,CAAC;EACpC,MAAM;IAAES,WAAW;IAAEC,SAAS;IAAEC,MAAM;IAAEC,OAAO;IAAEC;EAAQ,CAAC,GACxDN,aAAa,IAAI,CAAC,CAAC;EAErBV,SAAS,CAAC,MAAM;IACd,IAAIM,OAAO,IAAIO,SAAS,EAAE;MACxBA,SAAS,CAACI,OAAO,CAACC,IAAI,CAAC,MAAM;QAC3BJ,MAAM,CAACV,eAAe,CAACI,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAES,OAAO,CAAC,CAAC;QACjDV,WAAW,CAAC,CAAC;MACf,CAAC,CAAC;MACFQ,OAAO,CAAC,CAAC;IACX;IAEA,OAAO,MAAMC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAG,CAAC;EAC1B,CAAC,EAAE,CAACA,OAAO,EAAEV,OAAO,EAAEO,SAAS,EAAEL,eAAe,EAAEO,OAAO,EAAED,MAAM,CAAC,CAAC;EAEnE,MAAMK,WAAW,GAAGrB,WAAW,CAAC,MAAM;IACpCsB,MAAM,CAACC,qBAAqB,CAAC,MAAM;MACjC,IAAIT,WAAW,EAAE;QACf,MAAMU,IAAI,GAAGlB,eAAe,CAACQ,WAAW,CAACK,OAAO,CAAC;QACjDR,OAAO,CAACa,IAAI,CAAC;QACbX,eAAe,CAACW,IAAI,CAAC;MACvB;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAACb,OAAO,EAAEE,eAAe,EAAEC,WAAW,CAAC,CAAC;EAE3C,OAAO;IAAEO,WAAW;IAAEP;EAAY,CAAC;AACrC","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import { ContextState } from '../../DataContext';
2
+ export default function useHandleStatus({ outerContext, preventUncommittedChanges, error, }: {
3
+ outerContext: ContextState;
4
+ preventUncommittedChanges: boolean;
5
+ error: Error;
6
+ }): {
7
+ hasContentChanged: boolean;
8
+ showStatus: any;
9
+ };
@@ -0,0 +1,48 @@
1
+ "use client";
2
+
3
+ import { useEffect, useRef, useState } from 'react';
4
+ import useHasContentChanged from './useHasContentChanged';
5
+ import useReportError from './useReportError';
6
+ export default function useHandleStatus({
7
+ outerContext,
8
+ preventUncommittedChanges,
9
+ error
10
+ }) {
11
+ const {
12
+ hasContentChanged
13
+ } = useHasContentChanged();
14
+ useReportError(preventUncommittedChanges && hasContentChanged ? error : undefined, outerContext);
15
+ const showStatus = useShowStatus({
16
+ outerContext,
17
+ hasContentChanged,
18
+ preventUncommittedChanges
19
+ });
20
+ return {
21
+ hasContentChanged,
22
+ showStatus
23
+ };
24
+ }
25
+ function useShowStatus({
26
+ outerContext,
27
+ hasContentChanged,
28
+ preventUncommittedChanges
29
+ }) {
30
+ const showAllErrors = outerContext === null || outerContext === void 0 ? void 0 : outerContext.showAllErrors;
31
+ const [showStatus, setShowStatus] = useState(showAllErrors);
32
+ const showRef = useRef(showAllErrors);
33
+ useEffect(() => {
34
+ if (!preventUncommittedChanges) {
35
+ return;
36
+ }
37
+ if (!hasContentChanged) {
38
+ setShowStatus(false);
39
+ } else {
40
+ if (showRef.current !== showAllErrors) {
41
+ setShowStatus(showAllErrors);
42
+ }
43
+ }
44
+ showRef.current = showAllErrors;
45
+ }, [hasContentChanged, preventUncommittedChanges, showAllErrors]);
46
+ return showStatus;
47
+ }
48
+ //# sourceMappingURL=useHandleStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHandleStatus.js","names":["useEffect","useRef","useState","useHasContentChanged","useReportError","useHandleStatus","outerContext","preventUncommittedChanges","error","hasContentChanged","undefined","showStatus","useShowStatus","showAllErrors","setShowStatus","showRef","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,SAASA,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAEnD,OAAOC,oBAAoB,MAAM,wBAAwB;AACzD,OAAOC,cAAc,MAAM,kBAAkB;AAE7C,eAAe,SAASC,eAAeA,CAAC;EACtCC,YAAY;EACZC,yBAAyB;EACzBC;AAKF,CAAC,EAAE;EACD,MAAM;IAAEC;EAAkB,CAAC,GAAGN,oBAAoB,CAAC,CAAC;EAEpDC,cAAc,CACZG,yBAAyB,IAAIE,iBAAiB,GAAGD,KAAK,GAAGE,SAAS,EAClEJ,YACF,CAAC;EAED,MAAMK,UAAU,GAAGC,aAAa,CAAC;IAC/BN,YAAY;IACZG,iBAAiB;IACjBF;EACF,CAAC,CAAC;EAEF,OAAO;IAAEE,iBAAiB;IAAEE;EAAW,CAAC;AAC1C;AAGA,SAASC,aAAaA,CAAC;EACrBN,YAAY;EACZG,iBAAiB;EACjBF;AACF,CAAC,EAAE;EACD,MAAMM,aAAa,GAAGP,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEO,aAAa;EACjD,MAAM,CAACF,UAAU,EAAEG,aAAa,CAAC,GAAGZ,QAAQ,CAACW,aAAa,CAAC;EAC3D,MAAME,OAAO,GAAGd,MAAM,CAACY,aAAa,CAAC;EAErCb,SAAS,CAAC,MAAM;IACd,IAAI,CAACO,yBAAyB,EAAE;MAC9B;IACF;IAEA,IAAI,CAACE,iBAAiB,EAAE;MACtBK,aAAa,CAAC,KAAK,CAAC;IACtB,CAAC,MAAM;MACL,IAAIC,OAAO,CAACC,OAAO,KAAKH,aAAa,EAAE;QACrCC,aAAa,CAACD,aAAa,CAAC;MAC9B;IACF;IACAE,OAAO,CAACC,OAAO,GAAGH,aAAa;EACjC,CAAC,EAAE,CAACJ,iBAAiB,EAAEF,yBAAyB,EAAEM,aAAa,CAAC,CAAC;EAEjE,OAAOF,UAAU;AACnB","ignoreList":[]}