@dnb/eufemia 10.74.0 → 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 (853) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/cjs/components/country-flag/CountryFlag.js +6 -3
  3. package/cjs/components/country-flag/CountryFlag.js.map +1 -1
  4. package/cjs/components/date-picker/DatePicker.d.ts +16 -7
  5. package/cjs/components/date-picker/DatePicker.js +8 -20
  6. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  7. package/cjs/components/date-picker/DatePickerCalendar.d.ts +1 -3
  8. package/cjs/components/date-picker/DatePickerCalendar.js +34 -19
  9. package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
  10. package/cjs/components/date-picker/DatePickerCalendarNavigator.d.ts +1 -4
  11. package/cjs/components/date-picker/DatePickerCalendarNavigator.js +1 -10
  12. package/cjs/components/date-picker/DatePickerCalendarNavigator.js.map +1 -1
  13. package/cjs/components/date-picker/DatePickerContext.d.ts +1 -0
  14. package/cjs/components/date-picker/DatePickerContext.js.map +1 -1
  15. package/cjs/components/date-picker/DatePickerDocs.js +0 -5
  16. package/cjs/components/date-picker/DatePickerDocs.js.map +1 -1
  17. package/cjs/components/date-picker/DatePickerFooter.js +2 -2
  18. package/cjs/components/date-picker/DatePickerFooter.js.map +1 -1
  19. package/cjs/components/date-picker/DatePickerInput.d.ts +3 -2
  20. package/cjs/components/date-picker/DatePickerInput.js +9 -8
  21. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  22. package/cjs/components/date-picker/DatePickerProvider.d.ts +1 -1
  23. package/cjs/components/date-picker/DatePickerProvider.js +16 -15
  24. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  25. package/cjs/components/date-picker/DatePickerRange.d.ts +3 -7
  26. package/cjs/components/date-picker/DatePickerRange.js +10 -8
  27. package/cjs/components/date-picker/DatePickerRange.js.map +1 -1
  28. package/cjs/components/date-picker/hooks/useDates.js.map +1 -1
  29. package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +4 -0
  30. package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
  31. package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +5 -0
  32. package/cjs/components/number-format/NumberUtils.d.ts +1 -1
  33. package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +2 -9
  34. package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  35. package/cjs/extensions/forms/Field/Date/Date.d.ts +1 -1
  36. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  37. package/cjs/extensions/forms/Field/Date/DateDocs.js +2 -1
  38. package/cjs/extensions/forms/Field/Date/DateDocs.js.map +1 -1
  39. package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.d.ts +1 -1
  40. package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  41. package/cjs/extensions/forms/Field/Indeterminate/IndeterminateDocs.js +1 -1
  42. package/cjs/extensions/forms/Field/Indeterminate/IndeterminateDocs.js.map +1 -1
  43. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +8 -4
  44. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  45. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +2 -2
  46. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +3 -2
  47. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +20 -13
  48. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  49. package/cjs/extensions/forms/Field/SelectCountry/useCountries.d.ts +2016 -0
  50. package/cjs/extensions/forms/Field/SelectCountry/useCountries.js +72 -0
  51. package/cjs/extensions/forms/Field/SelectCountry/useCountries.js.map +1 -0
  52. package/cjs/extensions/forms/Iterate/Array/Array.js +19 -6
  53. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  54. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +10 -0
  55. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  56. package/cjs/extensions/forms/Iterate/Array/types.d.ts +4 -1
  57. package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
  58. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +9 -2
  59. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  60. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +9 -2
  61. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  62. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -2
  63. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  64. package/cjs/extensions/forms/Value/SelectCountry/useCountry.js +6 -1
  65. package/cjs/extensions/forms/Value/SelectCountry/useCountry.js.map +1 -1
  66. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
  67. package/cjs/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -1
  68. package/cjs/extensions/forms/constants/locales/countries/sv-SE.d.ts +257 -0
  69. package/cjs/extensions/forms/constants/locales/countries/sv-SE.js +263 -0
  70. package/cjs/extensions/forms/constants/locales/countries/sv-SE.js.map +1 -0
  71. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +4 -0
  72. package/cjs/extensions/forms/constants/locales/en-GB.js +4 -0
  73. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  74. package/cjs/extensions/forms/constants/locales/en-US.d.ts +4 -0
  75. package/cjs/extensions/forms/constants/locales/index.d.ts +8 -0
  76. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +4 -0
  77. package/cjs/extensions/forms/constants/locales/nb-NO.js +4 -0
  78. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  79. package/cjs/extensions/forms/constants/locales/sv-SE.d.ts +4 -0
  80. package/cjs/extensions/forms/constants/locales/sv-SE.js +4 -0
  81. package/cjs/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  82. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +2 -1
  83. package/cjs/extensions/forms/hooks/useFieldProps.js +19 -6
  84. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  85. package/cjs/extensions/forms/hooks/usePath.d.ts +4 -1
  86. package/cjs/extensions/forms/hooks/usePath.js +10 -3
  87. package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
  88. package/cjs/extensions/forms/hooks/useTranslation.d.ts +2 -2
  89. package/cjs/extensions/forms/hooks/useTranslation.js.map +1 -1
  90. package/cjs/extensions/forms/utils/ajv.js +11 -3
  91. package/cjs/extensions/forms/utils/ajv.js.map +1 -1
  92. package/cjs/extensions/payment-card/PaymentCard.d.ts +9 -3
  93. package/cjs/extensions/payment-card/PaymentCard.js +12 -143
  94. package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
  95. package/cjs/extensions/payment-card/PaymentCardDocs.js +13 -13
  96. package/cjs/extensions/payment-card/PaymentCardDocs.js.map +1 -1
  97. package/cjs/extensions/payment-card/components/CardFigure.d.ts +12 -0
  98. package/cjs/extensions/payment-card/components/CardFigure.js +105 -0
  99. package/cjs/extensions/payment-card/components/CardFigure.js.map +1 -0
  100. package/cjs/extensions/payment-card/components/CardNumber.d.ts +27 -0
  101. package/cjs/extensions/payment-card/components/CardNumber.js +37 -0
  102. package/cjs/extensions/payment-card/components/CardNumber.js.map +1 -0
  103. package/cjs/extensions/payment-card/components/CardType.d.ts +7 -0
  104. package/cjs/extensions/payment-card/components/CardType.js +25 -0
  105. package/cjs/extensions/payment-card/components/CardType.js.map +1 -0
  106. package/cjs/extensions/payment-card/components/StatusOverlay.d.ts +20 -0
  107. package/cjs/extensions/payment-card/components/StatusOverlay.js +68 -0
  108. package/cjs/extensions/payment-card/components/StatusOverlay.js.map +1 -0
  109. package/cjs/extensions/payment-card/icons/brandLogos/DNB.js +24 -0
  110. package/cjs/extensions/payment-card/icons/brandLogos/DNB.js.map +1 -0
  111. package/cjs/extensions/payment-card/icons/brandLogos/Sbanken.js +31 -0
  112. package/cjs/extensions/payment-card/icons/brandLogos/Sbanken.js.map +1 -0
  113. package/cjs/extensions/payment-card/icons/index.d.ts +3 -5
  114. package/cjs/extensions/payment-card/icons/index.js +40 -58
  115. package/cjs/extensions/payment-card/icons/index.js.map +1 -1
  116. package/cjs/extensions/payment-card/icons/loyaltyLogos/Bedrift.js +40 -0
  117. package/cjs/extensions/payment-card/icons/loyaltyLogos/Bedrift.js.map +1 -0
  118. package/cjs/extensions/payment-card/icons/loyaltyLogos/Business.js +43 -0
  119. package/cjs/extensions/payment-card/icons/loyaltyLogos/Business.js.map +1 -0
  120. package/cjs/extensions/payment-card/icons/loyaltyLogos/Corporate.d.ts +3 -0
  121. package/cjs/extensions/payment-card/icons/loyaltyLogos/Corporate.js +52 -0
  122. package/cjs/extensions/payment-card/icons/loyaltyLogos/Corporate.js.map +1 -0
  123. package/cjs/extensions/payment-card/icons/loyaltyLogos/Intro.js +22 -0
  124. package/cjs/extensions/payment-card/icons/loyaltyLogos/Intro.js.map +1 -0
  125. package/cjs/extensions/payment-card/icons/loyaltyLogos/PB.js +61 -0
  126. package/cjs/extensions/payment-card/icons/loyaltyLogos/PB.js.map +1 -0
  127. package/cjs/extensions/payment-card/icons/loyaltyLogos/Pluss.js +29 -0
  128. package/cjs/extensions/payment-card/icons/loyaltyLogos/Pluss.js.map +1 -0
  129. package/cjs/extensions/payment-card/icons/loyaltyLogos/SagaGold.js +22 -0
  130. package/cjs/extensions/payment-card/icons/loyaltyLogos/SagaGold.js.map +1 -0
  131. package/cjs/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js +43 -0
  132. package/cjs/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js.map +1 -0
  133. package/cjs/extensions/payment-card/icons/loyaltyLogos/WorldElite.d.ts +3 -0
  134. package/cjs/extensions/payment-card/icons/loyaltyLogos/WorldElite.js +22 -0
  135. package/cjs/extensions/payment-card/icons/loyaltyLogos/WorldElite.js.map +1 -0
  136. package/cjs/extensions/payment-card/icons/providers/BankAxept.js +24 -0
  137. package/cjs/extensions/payment-card/icons/providers/BankAxept.js.map +1 -0
  138. package/cjs/extensions/payment-card/icons/providers/ClickToPay.d.ts +3 -0
  139. package/cjs/extensions/payment-card/icons/providers/ClickToPay.js +24 -0
  140. package/cjs/extensions/payment-card/icons/providers/ClickToPay.js.map +1 -0
  141. package/cjs/extensions/payment-card/icons/providers/MastercardDark.js +814 -0
  142. package/cjs/extensions/payment-card/icons/providers/MastercardDark.js.map +1 -0
  143. package/cjs/extensions/payment-card/icons/providers/MastercardDefault.js +37 -0
  144. package/cjs/extensions/payment-card/icons/providers/MastercardDefault.js.map +1 -0
  145. package/cjs/extensions/payment-card/icons/providers/VisaDefault.js +28 -0
  146. package/cjs/extensions/payment-card/icons/providers/VisaDefault.js.map +1 -0
  147. package/cjs/extensions/payment-card/icons/providers/VisaPlatinum.js +28 -0
  148. package/cjs/extensions/payment-card/icons/providers/VisaPlatinum.js.map +1 -0
  149. package/cjs/extensions/payment-card/icons/status/index.d.ts +3 -0
  150. package/cjs/extensions/payment-card/icons/status/index.js +61 -0
  151. package/cjs/extensions/payment-card/icons/status/index.js.map +1 -0
  152. package/cjs/extensions/payment-card/index.d.ts +2 -0
  153. package/cjs/extensions/payment-card/index.js +10 -1
  154. package/cjs/extensions/payment-card/index.js.map +1 -1
  155. package/cjs/extensions/payment-card/style/dnb-payment-card.css +173 -163
  156. package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  157. package/cjs/extensions/payment-card/style/dnb-payment-card.scss +257 -242
  158. package/cjs/extensions/payment-card/utils/CardDesigns.d.ts +22 -10
  159. package/cjs/extensions/payment-card/utils/CardDesigns.js +44 -36
  160. package/cjs/extensions/payment-card/utils/CardDesigns.js.map +1 -1
  161. package/cjs/extensions/payment-card/utils/Types.js +2 -0
  162. package/cjs/extensions/payment-card/utils/Types.js.map +1 -1
  163. package/cjs/extensions/payment-card/utils/backgrounds/index.d.ts +6 -2
  164. package/cjs/extensions/payment-card/utils/backgrounds/index.js +31 -3
  165. package/cjs/extensions/payment-card/utils/backgrounds/index.js.map +1 -1
  166. package/cjs/extensions/payment-card/utils/backgrounds/master-gold.d.ts +2 -0
  167. package/cjs/extensions/payment-card/utils/backgrounds/master-gold.js +9 -0
  168. package/cjs/extensions/payment-card/utils/backgrounds/master-gold.js.map +1 -0
  169. package/cjs/extensions/payment-card/utils/backgrounds/my-first.d.ts +1 -1
  170. package/cjs/extensions/payment-card/utils/backgrounds/my-first.js +1 -1
  171. package/cjs/extensions/payment-card/utils/backgrounds/my-first.js.map +1 -1
  172. package/cjs/extensions/payment-card/utils/backgrounds/visa-default.d.ts +2 -0
  173. package/cjs/extensions/payment-card/utils/backgrounds/visa-default.js +9 -0
  174. package/cjs/extensions/payment-card/utils/backgrounds/visa-default.js.map +1 -0
  175. package/cjs/extensions/payment-card/utils/backgrounds/visa-pluss.d.ts +2 -0
  176. package/cjs/extensions/payment-card/utils/backgrounds/visa-pluss.js +9 -0
  177. package/cjs/extensions/payment-card/utils/backgrounds/visa-pluss.js.map +1 -0
  178. package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-gold.d.ts +2 -0
  179. package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-gold.js +9 -0
  180. package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-gold.js.map +1 -0
  181. package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-platinum.d.ts +2 -0
  182. package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js +9 -0
  183. package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js.map +1 -0
  184. package/cjs/extensions/payment-card/utils/backgrounds/youth.d.ts +1 -1
  185. package/cjs/extensions/payment-card/utils/backgrounds/youth.js +1 -1
  186. package/cjs/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
  187. package/cjs/extensions/payment-card/utils/cardProducts.d.ts +1 -1
  188. package/cjs/extensions/payment-card/utils/cardProducts.js +241 -209
  189. package/cjs/extensions/payment-card/utils/cardProducts.js.map +1 -1
  190. package/cjs/shared/Context.d.ts +1 -1
  191. package/cjs/shared/Context.js +5 -14
  192. package/cjs/shared/Context.js.map +1 -1
  193. package/cjs/shared/Eufemia.d.ts +1 -1
  194. package/cjs/shared/Eufemia.js +2 -2
  195. package/cjs/shared/Eufemia.js.map +1 -1
  196. package/cjs/shared/Provider.js +15 -24
  197. package/cjs/shared/Provider.js.map +1 -1
  198. package/cjs/shared/locales/en-GB.d.ts +4 -2
  199. package/cjs/shared/locales/en-GB.js +6 -4
  200. package/cjs/shared/locales/en-GB.js.map +1 -1
  201. package/cjs/shared/locales/en-US.d.ts +4 -2
  202. package/cjs/shared/locales/index.d.ts +8 -4
  203. package/cjs/shared/locales/nb-NO.d.ts +4 -2
  204. package/cjs/shared/locales/nb-NO.js +6 -4
  205. package/cjs/shared/locales/nb-NO.js.map +1 -1
  206. package/cjs/shared/locales/sv-SE.d.ts +4 -2
  207. package/cjs/shared/locales/sv-SE.js +6 -4
  208. package/cjs/shared/locales/sv-SE.js.map +1 -1
  209. package/cjs/shared/useTranslation.d.ts +3 -2
  210. package/cjs/shared/useTranslation.js.map +1 -1
  211. package/cjs/style/core/scopes.scss +1 -1
  212. package/cjs/style/dnb-ui-basis.css +1 -1
  213. package/cjs/style/dnb-ui-basis.min.css +1 -1
  214. package/cjs/style/dnb-ui-body.css +1 -1
  215. package/cjs/style/dnb-ui-body.min.css +1 -1
  216. package/cjs/style/dnb-ui-core.css +1 -1
  217. package/cjs/style/dnb-ui-core.min.css +1 -1
  218. package/cjs/style/dnb-ui-extensions.css +173 -163
  219. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  220. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +4 -0
  221. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  222. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +173 -163
  223. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  224. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +4 -0
  225. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  226. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +173 -163
  227. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  228. package/cjs/style/themes/theme-ui/ui-theme-components.css +4 -0
  229. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  230. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +173 -163
  231. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  232. package/components/country-flag/CountryFlag.js +5 -2
  233. package/components/country-flag/CountryFlag.js.map +1 -1
  234. package/components/date-picker/DatePicker.d.ts +16 -7
  235. package/components/date-picker/DatePicker.js +8 -20
  236. package/components/date-picker/DatePicker.js.map +1 -1
  237. package/components/date-picker/DatePickerCalendar.d.ts +1 -3
  238. package/components/date-picker/DatePickerCalendar.js +34 -19
  239. package/components/date-picker/DatePickerCalendar.js.map +1 -1
  240. package/components/date-picker/DatePickerCalendarNavigator.d.ts +1 -4
  241. package/components/date-picker/DatePickerCalendarNavigator.js +1 -10
  242. package/components/date-picker/DatePickerCalendarNavigator.js.map +1 -1
  243. package/components/date-picker/DatePickerContext.d.ts +1 -0
  244. package/components/date-picker/DatePickerContext.js.map +1 -1
  245. package/components/date-picker/DatePickerDocs.js +0 -5
  246. package/components/date-picker/DatePickerDocs.js.map +1 -1
  247. package/components/date-picker/DatePickerFooter.js +2 -2
  248. package/components/date-picker/DatePickerFooter.js.map +1 -1
  249. package/components/date-picker/DatePickerInput.d.ts +3 -2
  250. package/components/date-picker/DatePickerInput.js +9 -8
  251. package/components/date-picker/DatePickerInput.js.map +1 -1
  252. package/components/date-picker/DatePickerProvider.d.ts +1 -1
  253. package/components/date-picker/DatePickerProvider.js +17 -16
  254. package/components/date-picker/DatePickerProvider.js.map +1 -1
  255. package/components/date-picker/DatePickerRange.d.ts +3 -7
  256. package/components/date-picker/DatePickerRange.js +9 -8
  257. package/components/date-picker/DatePickerRange.js.map +1 -1
  258. package/components/date-picker/hooks/useDates.js.map +1 -1
  259. package/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +4 -0
  260. package/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
  261. package/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +5 -0
  262. package/components/number-format/NumberUtils.d.ts +1 -1
  263. package/es/components/country-flag/CountryFlag.js +5 -2
  264. package/es/components/country-flag/CountryFlag.js.map +1 -1
  265. package/es/components/date-picker/DatePicker.d.ts +16 -7
  266. package/es/components/date-picker/DatePicker.js +8 -20
  267. package/es/components/date-picker/DatePicker.js.map +1 -1
  268. package/es/components/date-picker/DatePickerCalendar.d.ts +1 -3
  269. package/es/components/date-picker/DatePickerCalendar.js +33 -19
  270. package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
  271. package/es/components/date-picker/DatePickerCalendarNavigator.d.ts +1 -4
  272. package/es/components/date-picker/DatePickerCalendarNavigator.js +1 -10
  273. package/es/components/date-picker/DatePickerCalendarNavigator.js.map +1 -1
  274. package/es/components/date-picker/DatePickerContext.d.ts +1 -0
  275. package/es/components/date-picker/DatePickerContext.js.map +1 -1
  276. package/es/components/date-picker/DatePickerDocs.js +0 -5
  277. package/es/components/date-picker/DatePickerDocs.js.map +1 -1
  278. package/es/components/date-picker/DatePickerFooter.js +2 -2
  279. package/es/components/date-picker/DatePickerFooter.js.map +1 -1
  280. package/es/components/date-picker/DatePickerInput.d.ts +3 -2
  281. package/es/components/date-picker/DatePickerInput.js +9 -8
  282. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  283. package/es/components/date-picker/DatePickerProvider.d.ts +1 -1
  284. package/es/components/date-picker/DatePickerProvider.js +16 -15
  285. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  286. package/es/components/date-picker/DatePickerRange.d.ts +3 -7
  287. package/es/components/date-picker/DatePickerRange.js +9 -8
  288. package/es/components/date-picker/DatePickerRange.js.map +1 -1
  289. package/es/components/date-picker/hooks/useDates.js.map +1 -1
  290. package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +4 -0
  291. package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
  292. package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +5 -0
  293. package/es/components/number-format/NumberUtils.d.ts +1 -1
  294. package/es/extensions/forms/Field/Boolean/Boolean.d.ts +2 -9
  295. package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  296. package/es/extensions/forms/Field/Date/Date.d.ts +1 -1
  297. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  298. package/es/extensions/forms/Field/Date/DateDocs.js +2 -1
  299. package/es/extensions/forms/Field/Date/DateDocs.js.map +1 -1
  300. package/es/extensions/forms/Field/Indeterminate/Indeterminate.d.ts +1 -1
  301. package/es/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  302. package/es/extensions/forms/Field/Indeterminate/IndeterminateDocs.js +1 -1
  303. package/es/extensions/forms/Field/Indeterminate/IndeterminateDocs.js.map +1 -1
  304. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -3
  305. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  306. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +2 -2
  307. package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +3 -2
  308. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +13 -6
  309. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  310. package/es/extensions/forms/Field/SelectCountry/useCountries.d.ts +2016 -0
  311. package/es/extensions/forms/Field/SelectCountry/useCountries.js +63 -0
  312. package/es/extensions/forms/Field/SelectCountry/useCountries.js.map +1 -0
  313. package/es/extensions/forms/Iterate/Array/Array.js +19 -6
  314. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  315. package/es/extensions/forms/Iterate/Array/ArrayDocs.js +10 -0
  316. package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  317. package/es/extensions/forms/Iterate/Array/types.d.ts +4 -1
  318. package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
  319. package/es/extensions/forms/Iterate/PushButton/PushButton.js +9 -2
  320. package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  321. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +10 -3
  322. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  323. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -2
  324. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  325. package/es/extensions/forms/Value/SelectCountry/useCountry.js +6 -1
  326. package/es/extensions/forms/Value/SelectCountry/useCountry.js.map +1 -1
  327. package/es/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
  328. package/es/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -1
  329. package/es/extensions/forms/constants/locales/countries/sv-SE.d.ts +257 -0
  330. package/es/extensions/forms/constants/locales/countries/sv-SE.js +257 -0
  331. package/es/extensions/forms/constants/locales/countries/sv-SE.js.map +1 -0
  332. package/es/extensions/forms/constants/locales/en-GB.d.ts +4 -0
  333. package/es/extensions/forms/constants/locales/en-GB.js +4 -0
  334. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  335. package/es/extensions/forms/constants/locales/en-US.d.ts +4 -0
  336. package/es/extensions/forms/constants/locales/index.d.ts +8 -0
  337. package/es/extensions/forms/constants/locales/nb-NO.d.ts +4 -0
  338. package/es/extensions/forms/constants/locales/nb-NO.js +4 -0
  339. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  340. package/es/extensions/forms/constants/locales/sv-SE.d.ts +4 -0
  341. package/es/extensions/forms/constants/locales/sv-SE.js +4 -0
  342. package/es/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  343. package/es/extensions/forms/hooks/useFieldProps.d.ts +2 -1
  344. package/es/extensions/forms/hooks/useFieldProps.js +19 -6
  345. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  346. package/es/extensions/forms/hooks/usePath.d.ts +4 -1
  347. package/es/extensions/forms/hooks/usePath.js +10 -4
  348. package/es/extensions/forms/hooks/usePath.js.map +1 -1
  349. package/es/extensions/forms/hooks/useTranslation.d.ts +2 -2
  350. package/es/extensions/forms/hooks/useTranslation.js.map +1 -1
  351. package/es/extensions/forms/utils/ajv.js +11 -3
  352. package/es/extensions/forms/utils/ajv.js.map +1 -1
  353. package/es/extensions/payment-card/PaymentCard.d.ts +9 -3
  354. package/es/extensions/payment-card/PaymentCard.js +9 -133
  355. package/es/extensions/payment-card/PaymentCard.js.map +1 -1
  356. package/es/extensions/payment-card/PaymentCardDocs.js +13 -13
  357. package/es/extensions/payment-card/PaymentCardDocs.js.map +1 -1
  358. package/es/extensions/payment-card/components/CardFigure.d.ts +12 -0
  359. package/es/extensions/payment-card/components/CardFigure.js +94 -0
  360. package/es/extensions/payment-card/components/CardFigure.js.map +1 -0
  361. package/es/extensions/payment-card/components/CardNumber.d.ts +27 -0
  362. package/es/extensions/payment-card/components/CardNumber.js +26 -0
  363. package/es/extensions/payment-card/components/CardNumber.js.map +1 -0
  364. package/es/extensions/payment-card/components/CardType.d.ts +7 -0
  365. package/es/extensions/payment-card/components/CardType.js +17 -0
  366. package/es/extensions/payment-card/components/CardType.js.map +1 -0
  367. package/es/extensions/payment-card/components/StatusOverlay.d.ts +20 -0
  368. package/es/extensions/payment-card/components/StatusOverlay.js +59 -0
  369. package/es/extensions/payment-card/components/StatusOverlay.js.map +1 -0
  370. package/es/extensions/payment-card/icons/brandLogos/DNB.js +17 -0
  371. package/es/extensions/payment-card/icons/brandLogos/DNB.js.map +1 -0
  372. package/es/extensions/payment-card/icons/brandLogos/Sbanken.js +24 -0
  373. package/es/extensions/payment-card/icons/brandLogos/Sbanken.js.map +1 -0
  374. package/es/extensions/payment-card/icons/index.d.ts +3 -5
  375. package/es/extensions/payment-card/icons/index.js +30 -53
  376. package/es/extensions/payment-card/icons/index.js.map +1 -1
  377. package/es/extensions/payment-card/icons/loyaltyLogos/Bedrift.js +33 -0
  378. package/es/extensions/payment-card/icons/loyaltyLogos/Bedrift.js.map +1 -0
  379. package/es/extensions/payment-card/icons/loyaltyLogos/Business.js +36 -0
  380. package/es/extensions/payment-card/icons/loyaltyLogos/Business.js.map +1 -0
  381. package/es/extensions/payment-card/icons/loyaltyLogos/Corporate.d.ts +3 -0
  382. package/es/extensions/payment-card/icons/loyaltyLogos/Corporate.js +45 -0
  383. package/es/extensions/payment-card/icons/loyaltyLogos/Corporate.js.map +1 -0
  384. package/es/extensions/payment-card/icons/loyaltyLogos/Intro.js +15 -0
  385. package/es/extensions/payment-card/icons/loyaltyLogos/Intro.js.map +1 -0
  386. package/es/extensions/payment-card/icons/loyaltyLogos/PB.js +54 -0
  387. package/es/extensions/payment-card/icons/loyaltyLogos/PB.js.map +1 -0
  388. package/es/extensions/payment-card/icons/loyaltyLogos/Pluss.js +22 -0
  389. package/es/extensions/payment-card/icons/loyaltyLogos/Pluss.js.map +1 -0
  390. package/es/extensions/payment-card/icons/loyaltyLogos/SagaGold.js +15 -0
  391. package/es/extensions/payment-card/icons/loyaltyLogos/SagaGold.js.map +1 -0
  392. package/es/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js +36 -0
  393. package/es/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js.map +1 -0
  394. package/es/extensions/payment-card/icons/loyaltyLogos/WorldElite.d.ts +3 -0
  395. package/es/extensions/payment-card/icons/loyaltyLogos/WorldElite.js +15 -0
  396. package/es/extensions/payment-card/icons/loyaltyLogos/WorldElite.js.map +1 -0
  397. package/es/extensions/payment-card/icons/providers/BankAxept.js +17 -0
  398. package/es/extensions/payment-card/icons/providers/BankAxept.js.map +1 -0
  399. package/es/extensions/payment-card/icons/providers/ClickToPay.d.ts +3 -0
  400. package/es/extensions/payment-card/icons/providers/ClickToPay.js +17 -0
  401. package/es/extensions/payment-card/icons/providers/ClickToPay.js.map +1 -0
  402. package/es/extensions/payment-card/icons/providers/MastercardDark.js +807 -0
  403. package/es/extensions/payment-card/icons/providers/MastercardDark.js.map +1 -0
  404. package/es/extensions/payment-card/icons/providers/MastercardDefault.js +30 -0
  405. package/es/extensions/payment-card/icons/providers/MastercardDefault.js.map +1 -0
  406. package/es/extensions/payment-card/icons/providers/VisaDefault.js +21 -0
  407. package/es/extensions/payment-card/icons/providers/VisaDefault.js.map +1 -0
  408. package/es/extensions/payment-card/icons/providers/VisaPlatinum.js +21 -0
  409. package/es/extensions/payment-card/icons/providers/VisaPlatinum.js.map +1 -0
  410. package/es/extensions/payment-card/icons/status/index.d.ts +3 -0
  411. package/es/extensions/payment-card/icons/status/index.js +52 -0
  412. package/es/extensions/payment-card/icons/status/index.js.map +1 -0
  413. package/es/extensions/payment-card/index.d.ts +2 -0
  414. package/es/extensions/payment-card/index.js +2 -0
  415. package/es/extensions/payment-card/index.js.map +1 -1
  416. package/es/extensions/payment-card/style/dnb-payment-card.css +173 -163
  417. package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  418. package/es/extensions/payment-card/style/dnb-payment-card.scss +257 -242
  419. package/es/extensions/payment-card/utils/CardDesigns.d.ts +22 -10
  420. package/es/extensions/payment-card/utils/CardDesigns.js +45 -37
  421. package/es/extensions/payment-card/utils/CardDesigns.js.map +1 -1
  422. package/es/extensions/payment-card/utils/Types.js +2 -0
  423. package/es/extensions/payment-card/utils/Types.js.map +1 -1
  424. package/es/extensions/payment-card/utils/backgrounds/index.d.ts +6 -2
  425. package/es/extensions/payment-card/utils/backgrounds/index.js +6 -2
  426. package/es/extensions/payment-card/utils/backgrounds/index.js.map +1 -1
  427. package/es/extensions/payment-card/utils/backgrounds/master-gold.d.ts +2 -0
  428. package/es/extensions/payment-card/utils/backgrounds/master-gold.js +3 -0
  429. package/es/extensions/payment-card/utils/backgrounds/master-gold.js.map +1 -0
  430. package/es/extensions/payment-card/utils/backgrounds/my-first.d.ts +1 -1
  431. package/es/extensions/payment-card/utils/backgrounds/my-first.js +1 -1
  432. package/es/extensions/payment-card/utils/backgrounds/my-first.js.map +1 -1
  433. package/es/extensions/payment-card/utils/backgrounds/visa-default.d.ts +2 -0
  434. package/es/extensions/payment-card/utils/backgrounds/visa-default.js +3 -0
  435. package/es/extensions/payment-card/utils/backgrounds/visa-default.js.map +1 -0
  436. package/es/extensions/payment-card/utils/backgrounds/visa-pluss.d.ts +2 -0
  437. package/es/extensions/payment-card/utils/backgrounds/visa-pluss.js +3 -0
  438. package/es/extensions/payment-card/utils/backgrounds/visa-pluss.js.map +1 -0
  439. package/es/extensions/payment-card/utils/backgrounds/visa-saga-gold.d.ts +2 -0
  440. package/es/extensions/payment-card/utils/backgrounds/visa-saga-gold.js +3 -0
  441. package/es/extensions/payment-card/utils/backgrounds/visa-saga-gold.js.map +1 -0
  442. package/es/extensions/payment-card/utils/backgrounds/visa-saga-platinum.d.ts +2 -0
  443. package/es/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js +3 -0
  444. package/es/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js.map +1 -0
  445. package/es/extensions/payment-card/utils/backgrounds/youth.d.ts +1 -1
  446. package/es/extensions/payment-card/utils/backgrounds/youth.js +1 -1
  447. package/es/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
  448. package/es/extensions/payment-card/utils/cardProducts.d.ts +1 -1
  449. package/es/extensions/payment-card/utils/cardProducts.js +241 -209
  450. package/es/extensions/payment-card/utils/cardProducts.js.map +1 -1
  451. package/es/shared/Context.d.ts +1 -1
  452. package/es/shared/Context.js +5 -14
  453. package/es/shared/Context.js.map +1 -1
  454. package/es/shared/Eufemia.d.ts +1 -1
  455. package/es/shared/Eufemia.js +2 -2
  456. package/es/shared/Eufemia.js.map +1 -1
  457. package/es/shared/Provider.js +15 -24
  458. package/es/shared/Provider.js.map +1 -1
  459. package/es/shared/locales/en-GB.d.ts +4 -2
  460. package/es/shared/locales/en-GB.js +6 -4
  461. package/es/shared/locales/en-GB.js.map +1 -1
  462. package/es/shared/locales/en-US.d.ts +4 -2
  463. package/es/shared/locales/index.d.ts +8 -4
  464. package/es/shared/locales/nb-NO.d.ts +4 -2
  465. package/es/shared/locales/nb-NO.js +6 -4
  466. package/es/shared/locales/nb-NO.js.map +1 -1
  467. package/es/shared/locales/sv-SE.d.ts +4 -2
  468. package/es/shared/locales/sv-SE.js +6 -4
  469. package/es/shared/locales/sv-SE.js.map +1 -1
  470. package/es/shared/useTranslation.d.ts +3 -2
  471. package/es/shared/useTranslation.js.map +1 -1
  472. package/es/style/core/scopes.scss +1 -1
  473. package/es/style/dnb-ui-basis.css +1 -1
  474. package/es/style/dnb-ui-basis.min.css +1 -1
  475. package/es/style/dnb-ui-body.css +1 -1
  476. package/es/style/dnb-ui-body.min.css +1 -1
  477. package/es/style/dnb-ui-core.css +1 -1
  478. package/es/style/dnb-ui-core.min.css +1 -1
  479. package/es/style/dnb-ui-extensions.css +173 -163
  480. package/es/style/dnb-ui-extensions.min.css +1 -1
  481. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +4 -0
  482. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  483. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +173 -163
  484. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  485. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +4 -0
  486. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  487. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +173 -163
  488. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  489. package/es/style/themes/theme-ui/ui-theme-components.css +4 -0
  490. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  491. package/es/style/themes/theme-ui/ui-theme-extensions.css +173 -163
  492. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  493. package/esm/dnb-ui-components.min.mjs +1 -1
  494. package/esm/dnb-ui-elements.min.mjs +1 -1
  495. package/esm/dnb-ui-extensions.min.mjs +3 -3
  496. package/esm/dnb-ui-lib.min.mjs +1 -1
  497. package/extensions/forms/Field/Boolean/Boolean.d.ts +2 -9
  498. package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  499. package/extensions/forms/Field/Date/Date.d.ts +1 -1
  500. package/extensions/forms/Field/Date/Date.js.map +1 -1
  501. package/extensions/forms/Field/Date/DateDocs.js +2 -1
  502. package/extensions/forms/Field/Date/DateDocs.js.map +1 -1
  503. package/extensions/forms/Field/Indeterminate/Indeterminate.d.ts +1 -1
  504. package/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  505. package/extensions/forms/Field/Indeterminate/IndeterminateDocs.js +1 -1
  506. package/extensions/forms/Field/Indeterminate/IndeterminateDocs.js.map +1 -1
  507. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -3
  508. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  509. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +2 -2
  510. package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +3 -2
  511. package/extensions/forms/Field/SelectCountry/SelectCountry.js +17 -10
  512. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  513. package/extensions/forms/Field/SelectCountry/useCountries.d.ts +2016 -0
  514. package/extensions/forms/Field/SelectCountry/useCountries.js +64 -0
  515. package/extensions/forms/Field/SelectCountry/useCountries.js.map +1 -0
  516. package/extensions/forms/Iterate/Array/Array.js +19 -6
  517. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  518. package/extensions/forms/Iterate/Array/ArrayDocs.js +10 -0
  519. package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  520. package/extensions/forms/Iterate/Array/types.d.ts +4 -1
  521. package/extensions/forms/Iterate/Array/types.js.map +1 -1
  522. package/extensions/forms/Iterate/PushButton/PushButton.js +9 -2
  523. package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  524. package/extensions/forms/Iterate/PushContainer/PushContainer.js +10 -3
  525. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  526. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -2
  527. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  528. package/extensions/forms/Value/SelectCountry/useCountry.js +6 -1
  529. package/extensions/forms/Value/SelectCountry/useCountry.js.map +1 -1
  530. package/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
  531. package/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -1
  532. package/extensions/forms/constants/locales/countries/sv-SE.d.ts +257 -0
  533. package/extensions/forms/constants/locales/countries/sv-SE.js +257 -0
  534. package/extensions/forms/constants/locales/countries/sv-SE.js.map +1 -0
  535. package/extensions/forms/constants/locales/en-GB.d.ts +4 -0
  536. package/extensions/forms/constants/locales/en-GB.js +4 -0
  537. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  538. package/extensions/forms/constants/locales/en-US.d.ts +4 -0
  539. package/extensions/forms/constants/locales/index.d.ts +8 -0
  540. package/extensions/forms/constants/locales/nb-NO.d.ts +4 -0
  541. package/extensions/forms/constants/locales/nb-NO.js +4 -0
  542. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  543. package/extensions/forms/constants/locales/sv-SE.d.ts +4 -0
  544. package/extensions/forms/constants/locales/sv-SE.js +4 -0
  545. package/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  546. package/extensions/forms/hooks/useFieldProps.d.ts +2 -1
  547. package/extensions/forms/hooks/useFieldProps.js +19 -6
  548. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  549. package/extensions/forms/hooks/usePath.d.ts +4 -1
  550. package/extensions/forms/hooks/usePath.js +10 -3
  551. package/extensions/forms/hooks/usePath.js.map +1 -1
  552. package/extensions/forms/hooks/useTranslation.d.ts +2 -2
  553. package/extensions/forms/hooks/useTranslation.js.map +1 -1
  554. package/extensions/forms/utils/ajv.js +11 -3
  555. package/extensions/forms/utils/ajv.js.map +1 -1
  556. package/extensions/payment-card/PaymentCard.d.ts +9 -3
  557. package/extensions/payment-card/PaymentCard.js +9 -139
  558. package/extensions/payment-card/PaymentCard.js.map +1 -1
  559. package/extensions/payment-card/PaymentCardDocs.js +13 -13
  560. package/extensions/payment-card/PaymentCardDocs.js.map +1 -1
  561. package/extensions/payment-card/components/CardFigure.d.ts +12 -0
  562. package/extensions/payment-card/components/CardFigure.js +95 -0
  563. package/extensions/payment-card/components/CardFigure.js.map +1 -0
  564. package/extensions/payment-card/components/CardNumber.d.ts +27 -0
  565. package/extensions/payment-card/components/CardNumber.js +29 -0
  566. package/extensions/payment-card/components/CardNumber.js.map +1 -0
  567. package/extensions/payment-card/components/CardType.d.ts +7 -0
  568. package/extensions/payment-card/components/CardType.js +18 -0
  569. package/extensions/payment-card/components/CardType.js.map +1 -0
  570. package/extensions/payment-card/components/StatusOverlay.d.ts +20 -0
  571. package/extensions/payment-card/components/StatusOverlay.js +60 -0
  572. package/extensions/payment-card/components/StatusOverlay.js.map +1 -0
  573. package/extensions/payment-card/icons/brandLogos/DNB.js +17 -0
  574. package/extensions/payment-card/icons/brandLogos/DNB.js.map +1 -0
  575. package/extensions/payment-card/icons/brandLogos/Sbanken.js +24 -0
  576. package/extensions/payment-card/icons/brandLogos/Sbanken.js.map +1 -0
  577. package/extensions/payment-card/icons/index.d.ts +3 -5
  578. package/extensions/payment-card/icons/index.js +32 -56
  579. package/extensions/payment-card/icons/index.js.map +1 -1
  580. package/extensions/payment-card/icons/loyaltyLogos/Bedrift.js +33 -0
  581. package/extensions/payment-card/icons/loyaltyLogos/Bedrift.js.map +1 -0
  582. package/extensions/payment-card/icons/loyaltyLogos/Business.js +36 -0
  583. package/extensions/payment-card/icons/loyaltyLogos/Business.js.map +1 -0
  584. package/extensions/payment-card/icons/loyaltyLogos/Corporate.d.ts +3 -0
  585. package/extensions/payment-card/icons/loyaltyLogos/Corporate.js +45 -0
  586. package/extensions/payment-card/icons/loyaltyLogos/Corporate.js.map +1 -0
  587. package/extensions/payment-card/icons/loyaltyLogos/Intro.js +15 -0
  588. package/extensions/payment-card/icons/loyaltyLogos/Intro.js.map +1 -0
  589. package/extensions/payment-card/icons/loyaltyLogos/PB.js +54 -0
  590. package/extensions/payment-card/icons/loyaltyLogos/PB.js.map +1 -0
  591. package/extensions/payment-card/icons/loyaltyLogos/Pluss.js +22 -0
  592. package/extensions/payment-card/icons/loyaltyLogos/Pluss.js.map +1 -0
  593. package/extensions/payment-card/icons/loyaltyLogos/SagaGold.js +15 -0
  594. package/extensions/payment-card/icons/loyaltyLogos/SagaGold.js.map +1 -0
  595. package/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js +36 -0
  596. package/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js.map +1 -0
  597. package/extensions/payment-card/icons/loyaltyLogos/WorldElite.d.ts +3 -0
  598. package/extensions/payment-card/icons/loyaltyLogos/WorldElite.js +15 -0
  599. package/extensions/payment-card/icons/loyaltyLogos/WorldElite.js.map +1 -0
  600. package/extensions/payment-card/icons/providers/BankAxept.js +17 -0
  601. package/extensions/payment-card/icons/providers/BankAxept.js.map +1 -0
  602. package/extensions/payment-card/icons/providers/ClickToPay.d.ts +3 -0
  603. package/extensions/payment-card/icons/providers/ClickToPay.js +17 -0
  604. package/extensions/payment-card/icons/providers/ClickToPay.js.map +1 -0
  605. package/extensions/payment-card/icons/providers/MastercardDark.js +807 -0
  606. package/extensions/payment-card/icons/providers/MastercardDark.js.map +1 -0
  607. package/extensions/payment-card/icons/providers/MastercardDefault.js +30 -0
  608. package/extensions/payment-card/icons/providers/MastercardDefault.js.map +1 -0
  609. package/extensions/payment-card/icons/providers/VisaDefault.js +21 -0
  610. package/extensions/payment-card/icons/providers/VisaDefault.js.map +1 -0
  611. package/extensions/payment-card/icons/providers/VisaPlatinum.js +21 -0
  612. package/extensions/payment-card/icons/providers/VisaPlatinum.js.map +1 -0
  613. package/extensions/payment-card/icons/status/index.d.ts +3 -0
  614. package/extensions/payment-card/icons/status/index.js +53 -0
  615. package/extensions/payment-card/icons/status/index.js.map +1 -0
  616. package/extensions/payment-card/index.d.ts +2 -0
  617. package/extensions/payment-card/index.js +2 -0
  618. package/extensions/payment-card/index.js.map +1 -1
  619. package/extensions/payment-card/style/dnb-payment-card.css +173 -163
  620. package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  621. package/extensions/payment-card/style/dnb-payment-card.scss +257 -242
  622. package/extensions/payment-card/utils/CardDesigns.d.ts +22 -10
  623. package/extensions/payment-card/utils/CardDesigns.js +45 -37
  624. package/extensions/payment-card/utils/CardDesigns.js.map +1 -1
  625. package/extensions/payment-card/utils/Types.js +2 -0
  626. package/extensions/payment-card/utils/Types.js.map +1 -1
  627. package/extensions/payment-card/utils/backgrounds/index.d.ts +6 -2
  628. package/extensions/payment-card/utils/backgrounds/index.js +6 -2
  629. package/extensions/payment-card/utils/backgrounds/index.js.map +1 -1
  630. package/extensions/payment-card/utils/backgrounds/master-gold.d.ts +2 -0
  631. package/extensions/payment-card/utils/backgrounds/master-gold.js +3 -0
  632. package/extensions/payment-card/utils/backgrounds/master-gold.js.map +1 -0
  633. package/extensions/payment-card/utils/backgrounds/my-first.d.ts +1 -1
  634. package/extensions/payment-card/utils/backgrounds/my-first.js +1 -1
  635. package/extensions/payment-card/utils/backgrounds/my-first.js.map +1 -1
  636. package/extensions/payment-card/utils/backgrounds/visa-default.d.ts +2 -0
  637. package/extensions/payment-card/utils/backgrounds/visa-default.js +3 -0
  638. package/extensions/payment-card/utils/backgrounds/visa-default.js.map +1 -0
  639. package/extensions/payment-card/utils/backgrounds/visa-pluss.d.ts +2 -0
  640. package/extensions/payment-card/utils/backgrounds/visa-pluss.js +3 -0
  641. package/extensions/payment-card/utils/backgrounds/visa-pluss.js.map +1 -0
  642. package/extensions/payment-card/utils/backgrounds/visa-saga-gold.d.ts +2 -0
  643. package/extensions/payment-card/utils/backgrounds/visa-saga-gold.js +3 -0
  644. package/extensions/payment-card/utils/backgrounds/visa-saga-gold.js.map +1 -0
  645. package/extensions/payment-card/utils/backgrounds/visa-saga-platinum.d.ts +2 -0
  646. package/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js +3 -0
  647. package/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js.map +1 -0
  648. package/extensions/payment-card/utils/backgrounds/youth.d.ts +1 -1
  649. package/extensions/payment-card/utils/backgrounds/youth.js +1 -1
  650. package/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
  651. package/extensions/payment-card/utils/cardProducts.d.ts +1 -1
  652. package/extensions/payment-card/utils/cardProducts.js +241 -209
  653. package/extensions/payment-card/utils/cardProducts.js.map +1 -1
  654. package/package.json +1 -1
  655. package/shared/Context.d.ts +1 -1
  656. package/shared/Context.js +5 -14
  657. package/shared/Context.js.map +1 -1
  658. package/shared/Eufemia.d.ts +1 -1
  659. package/shared/Eufemia.js +2 -2
  660. package/shared/Eufemia.js.map +1 -1
  661. package/shared/Provider.js +15 -24
  662. package/shared/Provider.js.map +1 -1
  663. package/shared/locales/en-GB.d.ts +4 -2
  664. package/shared/locales/en-GB.js +6 -4
  665. package/shared/locales/en-GB.js.map +1 -1
  666. package/shared/locales/en-US.d.ts +4 -2
  667. package/shared/locales/index.d.ts +8 -4
  668. package/shared/locales/nb-NO.d.ts +4 -2
  669. package/shared/locales/nb-NO.js +6 -4
  670. package/shared/locales/nb-NO.js.map +1 -1
  671. package/shared/locales/sv-SE.d.ts +4 -2
  672. package/shared/locales/sv-SE.js +6 -4
  673. package/shared/locales/sv-SE.js.map +1 -1
  674. package/shared/useTranslation.d.ts +3 -2
  675. package/shared/useTranslation.js.map +1 -1
  676. package/style/core/scopes.scss +1 -1
  677. package/style/dnb-ui-basis.css +1 -1
  678. package/style/dnb-ui-basis.min.css +1 -1
  679. package/style/dnb-ui-body.css +1 -1
  680. package/style/dnb-ui-body.min.css +1 -1
  681. package/style/dnb-ui-core.css +1 -1
  682. package/style/dnb-ui-core.min.css +1 -1
  683. package/style/dnb-ui-extensions.css +173 -163
  684. package/style/dnb-ui-extensions.min.css +1 -1
  685. package/style/themes/theme-eiendom/eiendom-theme-components.css +4 -0
  686. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  687. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +173 -163
  688. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  689. package/style/themes/theme-sbanken/sbanken-theme-components.css +4 -0
  690. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  691. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +173 -163
  692. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  693. package/style/themes/theme-ui/ui-theme-components.css +4 -0
  694. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  695. package/style/themes/theme-ui/ui-theme-extensions.css +173 -163
  696. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  697. package/umd/dnb-ui-components.min.js +1 -1
  698. package/umd/dnb-ui-elements.min.js +1 -1
  699. package/umd/dnb-ui-extensions.min.js +3 -3
  700. package/umd/dnb-ui-lib.min.js +1 -1
  701. package/cjs/extensions/payment-card/icons/BankAxept.js +0 -22
  702. package/cjs/extensions/payment-card/icons/BankAxept.js.map +0 -1
  703. package/cjs/extensions/payment-card/icons/Bedrift.js +0 -22
  704. package/cjs/extensions/payment-card/icons/Bedrift.js.map +0 -1
  705. package/cjs/extensions/payment-card/icons/Business.js +0 -22
  706. package/cjs/extensions/payment-card/icons/Business.js.map +0 -1
  707. package/cjs/extensions/payment-card/icons/Clock.d.ts +0 -3
  708. package/cjs/extensions/payment-card/icons/Clock.js +0 -25
  709. package/cjs/extensions/payment-card/icons/Clock.js.map +0 -1
  710. package/cjs/extensions/payment-card/icons/Credit.d.ts +0 -3
  711. package/cjs/extensions/payment-card/icons/Credit.js +0 -22
  712. package/cjs/extensions/payment-card/icons/Credit.js.map +0 -1
  713. package/cjs/extensions/payment-card/icons/DNB.js +0 -24
  714. package/cjs/extensions/payment-card/icons/DNB.js.map +0 -1
  715. package/cjs/extensions/payment-card/icons/Intro.js +0 -22
  716. package/cjs/extensions/payment-card/icons/Intro.js.map +0 -1
  717. package/cjs/extensions/payment-card/icons/MastercardDark.js +0 -28
  718. package/cjs/extensions/payment-card/icons/MastercardDark.js.map +0 -1
  719. package/cjs/extensions/payment-card/icons/MastercardDefault.js +0 -28
  720. package/cjs/extensions/payment-card/icons/MastercardDefault.js.map +0 -1
  721. package/cjs/extensions/payment-card/icons/PB.js +0 -22
  722. package/cjs/extensions/payment-card/icons/PB.js.map +0 -1
  723. package/cjs/extensions/payment-card/icons/Pluss.js +0 -22
  724. package/cjs/extensions/payment-card/icons/Pluss.js.map +0 -1
  725. package/cjs/extensions/payment-card/icons/SagaGold.js +0 -22
  726. package/cjs/extensions/payment-card/icons/SagaGold.js.map +0 -1
  727. package/cjs/extensions/payment-card/icons/SagaPlatinum.js +0 -22
  728. package/cjs/extensions/payment-card/icons/SagaPlatinum.js.map +0 -1
  729. package/cjs/extensions/payment-card/icons/Sbanken.js +0 -22
  730. package/cjs/extensions/payment-card/icons/Sbanken.js.map +0 -1
  731. package/cjs/extensions/payment-card/icons/VisaDefault.js +0 -22
  732. package/cjs/extensions/payment-card/icons/VisaDefault.js.map +0 -1
  733. package/cjs/extensions/payment-card/icons/VisaPlatinum.js +0 -22
  734. package/cjs/extensions/payment-card/icons/VisaPlatinum.js.map +0 -1
  735. package/cjs/extensions/payment-card/utils/backgrounds/ung.d.ts +0 -2
  736. package/cjs/extensions/payment-card/utils/backgrounds/ung.js +0 -9
  737. package/cjs/extensions/payment-card/utils/backgrounds/ung.js.map +0 -1
  738. package/es/extensions/payment-card/icons/BankAxept.js +0 -15
  739. package/es/extensions/payment-card/icons/BankAxept.js.map +0 -1
  740. package/es/extensions/payment-card/icons/Bedrift.js +0 -15
  741. package/es/extensions/payment-card/icons/Bedrift.js.map +0 -1
  742. package/es/extensions/payment-card/icons/Business.js +0 -15
  743. package/es/extensions/payment-card/icons/Business.js.map +0 -1
  744. package/es/extensions/payment-card/icons/Clock.d.ts +0 -3
  745. package/es/extensions/payment-card/icons/Clock.js +0 -18
  746. package/es/extensions/payment-card/icons/Clock.js.map +0 -1
  747. package/es/extensions/payment-card/icons/Credit.d.ts +0 -3
  748. package/es/extensions/payment-card/icons/Credit.js +0 -15
  749. package/es/extensions/payment-card/icons/Credit.js.map +0 -1
  750. package/es/extensions/payment-card/icons/DNB.js +0 -17
  751. package/es/extensions/payment-card/icons/DNB.js.map +0 -1
  752. package/es/extensions/payment-card/icons/Intro.js +0 -15
  753. package/es/extensions/payment-card/icons/Intro.js.map +0 -1
  754. package/es/extensions/payment-card/icons/MastercardDark.js +0 -21
  755. package/es/extensions/payment-card/icons/MastercardDark.js.map +0 -1
  756. package/es/extensions/payment-card/icons/MastercardDefault.js +0 -21
  757. package/es/extensions/payment-card/icons/MastercardDefault.js.map +0 -1
  758. package/es/extensions/payment-card/icons/PB.js +0 -15
  759. package/es/extensions/payment-card/icons/PB.js.map +0 -1
  760. package/es/extensions/payment-card/icons/Pluss.js +0 -15
  761. package/es/extensions/payment-card/icons/Pluss.js.map +0 -1
  762. package/es/extensions/payment-card/icons/SagaGold.js +0 -15
  763. package/es/extensions/payment-card/icons/SagaGold.js.map +0 -1
  764. package/es/extensions/payment-card/icons/SagaPlatinum.js +0 -15
  765. package/es/extensions/payment-card/icons/SagaPlatinum.js.map +0 -1
  766. package/es/extensions/payment-card/icons/Sbanken.js +0 -15
  767. package/es/extensions/payment-card/icons/Sbanken.js.map +0 -1
  768. package/es/extensions/payment-card/icons/VisaDefault.js +0 -15
  769. package/es/extensions/payment-card/icons/VisaDefault.js.map +0 -1
  770. package/es/extensions/payment-card/icons/VisaPlatinum.js +0 -15
  771. package/es/extensions/payment-card/icons/VisaPlatinum.js.map +0 -1
  772. package/es/extensions/payment-card/utils/backgrounds/ung.d.ts +0 -2
  773. package/es/extensions/payment-card/utils/backgrounds/ung.js +0 -3
  774. package/es/extensions/payment-card/utils/backgrounds/ung.js.map +0 -1
  775. package/extensions/payment-card/icons/BankAxept.js +0 -15
  776. package/extensions/payment-card/icons/BankAxept.js.map +0 -1
  777. package/extensions/payment-card/icons/Bedrift.js +0 -15
  778. package/extensions/payment-card/icons/Bedrift.js.map +0 -1
  779. package/extensions/payment-card/icons/Business.js +0 -15
  780. package/extensions/payment-card/icons/Business.js.map +0 -1
  781. package/extensions/payment-card/icons/Clock.d.ts +0 -3
  782. package/extensions/payment-card/icons/Clock.js +0 -18
  783. package/extensions/payment-card/icons/Clock.js.map +0 -1
  784. package/extensions/payment-card/icons/Credit.d.ts +0 -3
  785. package/extensions/payment-card/icons/Credit.js +0 -15
  786. package/extensions/payment-card/icons/Credit.js.map +0 -1
  787. package/extensions/payment-card/icons/DNB.js +0 -17
  788. package/extensions/payment-card/icons/DNB.js.map +0 -1
  789. package/extensions/payment-card/icons/Intro.js +0 -15
  790. package/extensions/payment-card/icons/Intro.js.map +0 -1
  791. package/extensions/payment-card/icons/MastercardDark.js +0 -21
  792. package/extensions/payment-card/icons/MastercardDark.js.map +0 -1
  793. package/extensions/payment-card/icons/MastercardDefault.js +0 -21
  794. package/extensions/payment-card/icons/MastercardDefault.js.map +0 -1
  795. package/extensions/payment-card/icons/PB.js +0 -15
  796. package/extensions/payment-card/icons/PB.js.map +0 -1
  797. package/extensions/payment-card/icons/Pluss.js +0 -15
  798. package/extensions/payment-card/icons/Pluss.js.map +0 -1
  799. package/extensions/payment-card/icons/SagaGold.js +0 -15
  800. package/extensions/payment-card/icons/SagaGold.js.map +0 -1
  801. package/extensions/payment-card/icons/SagaPlatinum.js +0 -15
  802. package/extensions/payment-card/icons/SagaPlatinum.js.map +0 -1
  803. package/extensions/payment-card/icons/Sbanken.js +0 -15
  804. package/extensions/payment-card/icons/Sbanken.js.map +0 -1
  805. package/extensions/payment-card/icons/VisaDefault.js +0 -15
  806. package/extensions/payment-card/icons/VisaDefault.js.map +0 -1
  807. package/extensions/payment-card/icons/VisaPlatinum.js +0 -15
  808. package/extensions/payment-card/icons/VisaPlatinum.js.map +0 -1
  809. package/extensions/payment-card/utils/backgrounds/ung.d.ts +0 -2
  810. package/extensions/payment-card/utils/backgrounds/ung.js +0 -3
  811. package/extensions/payment-card/utils/backgrounds/ung.js.map +0 -1
  812. /package/cjs/extensions/payment-card/icons/{DNB.d.ts → brandLogos/DNB.d.ts} +0 -0
  813. /package/cjs/extensions/payment-card/icons/{Sbanken.d.ts → brandLogos/Sbanken.d.ts} +0 -0
  814. /package/cjs/extensions/payment-card/icons/{Bedrift.d.ts → loyaltyLogos/Bedrift.d.ts} +0 -0
  815. /package/cjs/extensions/payment-card/icons/{Business.d.ts → loyaltyLogos/Business.d.ts} +0 -0
  816. /package/cjs/extensions/payment-card/icons/{Intro.d.ts → loyaltyLogos/Intro.d.ts} +0 -0
  817. /package/cjs/extensions/payment-card/icons/{PB.d.ts → loyaltyLogos/PB.d.ts} +0 -0
  818. /package/cjs/extensions/payment-card/icons/{Pluss.d.ts → loyaltyLogos/Pluss.d.ts} +0 -0
  819. /package/cjs/extensions/payment-card/icons/{SagaGold.d.ts → loyaltyLogos/SagaGold.d.ts} +0 -0
  820. /package/cjs/extensions/payment-card/icons/{SagaPlatinum.d.ts → loyaltyLogos/SagaPlatinum.d.ts} +0 -0
  821. /package/cjs/extensions/payment-card/icons/{BankAxept.d.ts → providers/BankAxept.d.ts} +0 -0
  822. /package/cjs/extensions/payment-card/icons/{MastercardDark.d.ts → providers/MastercardDark.d.ts} +0 -0
  823. /package/cjs/extensions/payment-card/icons/{MastercardDefault.d.ts → providers/MastercardDefault.d.ts} +0 -0
  824. /package/cjs/extensions/payment-card/icons/{VisaDefault.d.ts → providers/VisaDefault.d.ts} +0 -0
  825. /package/cjs/extensions/payment-card/icons/{VisaPlatinum.d.ts → providers/VisaPlatinum.d.ts} +0 -0
  826. /package/es/extensions/payment-card/icons/{DNB.d.ts → brandLogos/DNB.d.ts} +0 -0
  827. /package/es/extensions/payment-card/icons/{Sbanken.d.ts → brandLogos/Sbanken.d.ts} +0 -0
  828. /package/es/extensions/payment-card/icons/{Bedrift.d.ts → loyaltyLogos/Bedrift.d.ts} +0 -0
  829. /package/es/extensions/payment-card/icons/{Business.d.ts → loyaltyLogos/Business.d.ts} +0 -0
  830. /package/es/extensions/payment-card/icons/{Intro.d.ts → loyaltyLogos/Intro.d.ts} +0 -0
  831. /package/es/extensions/payment-card/icons/{PB.d.ts → loyaltyLogos/PB.d.ts} +0 -0
  832. /package/es/extensions/payment-card/icons/{Pluss.d.ts → loyaltyLogos/Pluss.d.ts} +0 -0
  833. /package/es/extensions/payment-card/icons/{SagaGold.d.ts → loyaltyLogos/SagaGold.d.ts} +0 -0
  834. /package/es/extensions/payment-card/icons/{SagaPlatinum.d.ts → loyaltyLogos/SagaPlatinum.d.ts} +0 -0
  835. /package/es/extensions/payment-card/icons/{BankAxept.d.ts → providers/BankAxept.d.ts} +0 -0
  836. /package/es/extensions/payment-card/icons/{MastercardDark.d.ts → providers/MastercardDark.d.ts} +0 -0
  837. /package/es/extensions/payment-card/icons/{MastercardDefault.d.ts → providers/MastercardDefault.d.ts} +0 -0
  838. /package/es/extensions/payment-card/icons/{VisaDefault.d.ts → providers/VisaDefault.d.ts} +0 -0
  839. /package/es/extensions/payment-card/icons/{VisaPlatinum.d.ts → providers/VisaPlatinum.d.ts} +0 -0
  840. /package/extensions/payment-card/icons/{DNB.d.ts → brandLogos/DNB.d.ts} +0 -0
  841. /package/extensions/payment-card/icons/{Sbanken.d.ts → brandLogos/Sbanken.d.ts} +0 -0
  842. /package/extensions/payment-card/icons/{Bedrift.d.ts → loyaltyLogos/Bedrift.d.ts} +0 -0
  843. /package/extensions/payment-card/icons/{Business.d.ts → loyaltyLogos/Business.d.ts} +0 -0
  844. /package/extensions/payment-card/icons/{Intro.d.ts → loyaltyLogos/Intro.d.ts} +0 -0
  845. /package/extensions/payment-card/icons/{PB.d.ts → loyaltyLogos/PB.d.ts} +0 -0
  846. /package/extensions/payment-card/icons/{Pluss.d.ts → loyaltyLogos/Pluss.d.ts} +0 -0
  847. /package/extensions/payment-card/icons/{SagaGold.d.ts → loyaltyLogos/SagaGold.d.ts} +0 -0
  848. /package/extensions/payment-card/icons/{SagaPlatinum.d.ts → loyaltyLogos/SagaPlatinum.d.ts} +0 -0
  849. /package/extensions/payment-card/icons/{BankAxept.d.ts → providers/BankAxept.d.ts} +0 -0
  850. /package/extensions/payment-card/icons/{MastercardDark.d.ts → providers/MastercardDark.d.ts} +0 -0
  851. /package/extensions/payment-card/icons/{MastercardDefault.d.ts → providers/MastercardDefault.d.ts} +0 -0
  852. /package/extensions/payment-card/icons/{VisaDefault.d.ts → providers/VisaDefault.d.ts} +0 -0
  853. /package/extensions/payment-card/icons/{VisaPlatinum.d.ts → providers/VisaPlatinum.d.ts} +0 -0
@@ -3,6 +3,7 @@ export type Props = {
3
3
  id?: string;
4
4
  path?: Path;
5
5
  itemPath?: Path;
6
+ omitSectionPath?: boolean;
6
7
  };
7
8
  export default function usePath(props?: Props): {
8
9
  identifier: string;
@@ -10,7 +11,9 @@ export default function usePath(props?: Props): {
10
11
  itemPath: string;
11
12
  joinPath: (paths: Array<Path>) => string;
12
13
  makePath: (path: Path) => string;
13
- makeIteratePath: (itemPath?: Path, iteratePath?: Path) => string;
14
+ makeIteratePath: (itemPath?: Path, iteratePath?: Path, { omitSectionPath }?: {
15
+ omitSectionPath?: boolean;
16
+ }) => string;
14
17
  makeSectionPath: (path: Path) => string;
15
18
  cleanPath: typeof cleanPath;
16
19
  };
@@ -8,7 +8,8 @@ export default function usePath(props = {}) {
8
8
  var _useContext, _useContext2;
9
9
  const {
10
10
  path: pathProp,
11
- itemPath: itemPathProp
11
+ itemPath: itemPathProp,
12
+ omitSectionPath
12
13
  } = props;
13
14
  const id = useId(props.id);
14
15
  const {
@@ -28,11 +29,16 @@ export default function usePath(props = {}) {
28
29
  return cleanPath(paths.reduce((acc, cur) => cur ? `${acc}/${cur}` : acc, '/'));
29
30
  }, []);
30
31
  const makeSectionPath = useCallback(path => {
32
+ if (omitSectionPath) {
33
+ return path;
34
+ }
31
35
  return cleanPath(`${sectionPath && sectionPath !== '/' ? sectionPath : ''}${path}`);
32
- }, [sectionPath]);
33
- const makeIteratePath = useCallback((itemPath = itemPathProp, iteratePath = iteratePathProp) => {
36
+ }, [omitSectionPath, sectionPath]);
37
+ const makeIteratePath = useCallback((itemPath = itemPathProp, iteratePath = iteratePathProp, {
38
+ omitSectionPath = false
39
+ } = {}) => {
34
40
  let root = '';
35
- if (sectionPath) {
41
+ if (sectionPath && !omitSectionPath) {
36
42
  root = makeSectionPath('');
37
43
  }
38
44
  return cleanPath(`${root}${iteratePath || ''}/${iterateElementIndex}${itemPath || ''}`);
@@ -1 +1 @@
1
- {"version":3,"file":"usePath.js","names":["useCallback","useContext","useMemo","useId","SectionContext","IterateItemContext","usePath","props","_useContext","_useContext2","path","pathProp","itemPath","itemPathProp","id","sectionPath","iteratePathProp","index","iterateElementIndex","startsWith","Error","joinPath","paths","cleanPath","reduce","acc","cur","makeSectionPath","makeIteratePath","iteratePath","root","makePath","identifier","replace"],"sources":["../../../../../src/extensions/forms/hooks/usePath.ts"],"sourcesContent":["import { useCallback, useContext, useMemo } from 'react'\nimport { Path } from '../types'\nimport useId from '../../../shared/helpers/useId'\nimport SectionContext from '../Form/Section/SectionContext'\nimport IterateItemContext from '../Iterate/IterateItemContext'\n\nexport type Props = {\n id?: string\n path?: Path\n itemPath?: Path\n}\n\nexport default function usePath(props: Props = {}) {\n const { path: pathProp, itemPath: itemPathProp } = props\n const id = useId(props.id)\n const { path: sectionPath } = useContext(SectionContext) ?? {}\n const { path: iteratePathProp, index: iterateElementIndex } =\n useContext(IterateItemContext) ?? {}\n\n if (pathProp && !pathProp.startsWith('/')) {\n throw new Error(`path=\"${pathProp}\" must start with a slash`)\n }\n if (itemPathProp && !itemPathProp.startsWith('/')) {\n throw new Error(`itemPath=\"${itemPathProp}\" must start with a slash`)\n }\n\n const joinPath = useCallback((paths: Array<Path>) => {\n return cleanPath(\n paths.reduce((acc, cur) => (cur ? `${acc}/${cur}` : acc), '/')\n )\n }, [])\n\n const makeSectionPath = useCallback(\n (path: Path) => {\n return cleanPath(\n `${sectionPath && sectionPath !== '/' ? sectionPath : ''}${path}`\n )\n },\n [sectionPath]\n )\n\n const makeIteratePath = useCallback(\n (\n itemPath: Path = itemPathProp,\n iteratePath: Path = iteratePathProp\n ) => {\n let root = ''\n\n if (sectionPath) {\n root = makeSectionPath('')\n }\n\n return cleanPath(\n `${root}${iteratePath || ''}/${iterateElementIndex}${\n itemPath || ''\n }`\n )\n },\n [\n itemPathProp,\n iteratePathProp,\n sectionPath,\n iterateElementIndex,\n makeSectionPath,\n ]\n )\n\n const itemPath = useMemo(() => {\n if (itemPathProp) {\n return makeIteratePath()\n }\n }, [itemPathProp, makeIteratePath])\n\n const makePath = useCallback(\n (path: Path) => {\n if (itemPathProp) {\n return itemPath\n }\n\n if (sectionPath) {\n return makeSectionPath(path)\n }\n\n // Identifier is used is registries of multiple fields, like in the DataContext keeping track of errors\n return path\n },\n [itemPathProp, sectionPath, itemPath, makeSectionPath]\n )\n\n const path = useMemo(() => {\n return makePath(pathProp)\n }, [makePath, pathProp])\n\n const identifier = path ?? id\n return {\n identifier,\n path,\n itemPath,\n joinPath,\n makePath,\n makeIteratePath,\n makeSectionPath,\n cleanPath,\n }\n}\n\n// Will remove duplicate slashes and trailing slashes\n// /foo///bar/// => /foo/bar\nfunction cleanPath(path: Path) {\n return path.replace(/\\/+$|\\/(\\/)+/g, '$1')\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"usePath.js","names":["useCallback","useContext","useMemo","useId","SectionContext","IterateItemContext","usePath","props","_useContext","_useContext2","path","pathProp","itemPath","itemPathProp","omitSectionPath","id","sectionPath","iteratePathProp","index","iterateElementIndex","startsWith","Error","joinPath","paths","cleanPath","reduce","acc","cur","makeSectionPath","makeIteratePath","iteratePath","root","makePath","identifier","replace"],"sources":["../../../../../src/extensions/forms/hooks/usePath.ts"],"sourcesContent":["import { useCallback, useContext, useMemo } from 'react'\nimport { Path } from '../types'\nimport useId from '../../../shared/helpers/useId'\nimport SectionContext from '../Form/Section/SectionContext'\nimport IterateItemContext from '../Iterate/IterateItemContext'\n\nexport type Props = {\n id?: string\n path?: Path\n itemPath?: Path\n omitSectionPath?: boolean\n}\n\nexport default function usePath(props: Props = {}) {\n const { path: pathProp, itemPath: itemPathProp, omitSectionPath } = props\n const id = useId(props.id)\n const { path: sectionPath } = useContext(SectionContext) ?? {}\n const { path: iteratePathProp, index: iterateElementIndex } =\n useContext(IterateItemContext) ?? {}\n\n if (pathProp && !pathProp.startsWith('/')) {\n throw new Error(`path=\"${pathProp}\" must start with a slash`)\n }\n if (itemPathProp && !itemPathProp.startsWith('/')) {\n throw new Error(`itemPath=\"${itemPathProp}\" must start with a slash`)\n }\n\n const joinPath = useCallback((paths: Array<Path>) => {\n return cleanPath(\n paths.reduce((acc, cur) => (cur ? `${acc}/${cur}` : acc), '/')\n )\n }, [])\n\n const makeSectionPath = useCallback(\n (path: Path) => {\n if (omitSectionPath) {\n return path\n }\n return cleanPath(\n `${sectionPath && sectionPath !== '/' ? sectionPath : ''}${path}`\n )\n },\n [omitSectionPath, sectionPath]\n )\n\n const makeIteratePath = useCallback(\n (\n itemPath: Path = itemPathProp,\n iteratePath: Path = iteratePathProp,\n { omitSectionPath = false } = {}\n ) => {\n let root = ''\n\n if (sectionPath && !omitSectionPath) {\n root = makeSectionPath('')\n }\n\n return cleanPath(\n `${root}${iteratePath || ''}/${iterateElementIndex}${\n itemPath || ''\n }`\n )\n },\n [\n itemPathProp,\n iteratePathProp,\n sectionPath,\n iterateElementIndex,\n makeSectionPath,\n ]\n )\n\n const itemPath = useMemo(() => {\n if (itemPathProp) {\n return makeIteratePath()\n }\n }, [itemPathProp, makeIteratePath])\n\n const makePath = useCallback(\n (path: Path) => {\n if (itemPathProp) {\n return itemPath\n }\n\n if (sectionPath) {\n return makeSectionPath(path)\n }\n\n // Identifier is used is registries of multiple fields, like in the DataContext keeping track of errors\n return path\n },\n [itemPathProp, sectionPath, itemPath, makeSectionPath]\n )\n\n const path = useMemo(() => {\n return makePath(pathProp)\n }, [makePath, pathProp])\n\n const identifier = path ?? id\n return {\n identifier,\n path,\n itemPath,\n joinPath,\n makePath,\n makeIteratePath,\n makeSectionPath,\n cleanPath,\n }\n}\n\n// Will remove duplicate slashes and trailing slashes\n// /foo///bar/// => /foo/bar\nfunction cleanPath(path: Path) {\n return path.replace(/\\/+$|\\/(\\/)+/g, '$1')\n}\n"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAExD,OAAOC,KAAK,MAAM,+BAA+B;AACjD,OAAOC,cAAc,MAAM,gCAAgC;AAC3D,OAAOC,kBAAkB,MAAM,+BAA+B;AAS9D,eAAe,SAASC,OAAOA,CAACC,KAAY,GAAG,CAAC,CAAC,EAAE;EAAA,IAAAC,WAAA,EAAAC,YAAA;EACjD,MAAM;IAAEC,IAAI,EAAEC,QAAQ;IAAEC,QAAQ,EAAEC,YAAY;IAAEC;EAAgB,CAAC,GAAGP,KAAK;EACzE,MAAMQ,EAAE,GAAGZ,KAAK,CAACI,KAAK,CAACQ,EAAE,CAAC;EAC1B,MAAM;IAAEL,IAAI,EAAEM;EAAY,CAAC,IAAAR,WAAA,GAAGP,UAAU,CAACG,cAAc,CAAC,cAAAI,WAAA,cAAAA,WAAA,GAAI,CAAC,CAAC;EAC9D,MAAM;IAAEE,IAAI,EAAEO,eAAe;IAAEC,KAAK,EAAEC;EAAoB,CAAC,IAAAV,YAAA,GACzDR,UAAU,CAACI,kBAAkB,CAAC,cAAAI,YAAA,cAAAA,YAAA,GAAI,CAAC,CAAC;EAEtC,IAAIE,QAAQ,IAAI,CAACA,QAAQ,CAACS,UAAU,CAAC,GAAG,CAAC,EAAE;IACzC,MAAM,IAAIC,KAAK,CAAC,SAASV,QAAQ,2BAA2B,CAAC;EAC/D;EACA,IAAIE,YAAY,IAAI,CAACA,YAAY,CAACO,UAAU,CAAC,GAAG,CAAC,EAAE;IACjD,MAAM,IAAIC,KAAK,CAAC,aAAaR,YAAY,2BAA2B,CAAC;EACvE;EAEA,MAAMS,QAAQ,GAAGtB,WAAW,CAAEuB,KAAkB,IAAK;IACnD,OAAOC,SAAS,CACdD,KAAK,CAACE,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAMA,GAAG,GAAG,GAAGD,GAAG,IAAIC,GAAG,EAAE,GAAGD,GAAI,EAAE,GAAG,CAC/D,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAME,eAAe,GAAG5B,WAAW,CAChCU,IAAU,IAAK;IACd,IAAII,eAAe,EAAE;MACnB,OAAOJ,IAAI;IACb;IACA,OAAOc,SAAS,CACd,GAAGR,WAAW,IAAIA,WAAW,KAAK,GAAG,GAAGA,WAAW,GAAG,EAAE,GAAGN,IAAI,EACjE,CAAC;EACH,CAAC,EACD,CAACI,eAAe,EAAEE,WAAW,CAC/B,CAAC;EAED,MAAMa,eAAe,GAAG7B,WAAW,CACjC,CACEY,QAAc,GAAGC,YAAY,EAC7BiB,WAAiB,GAAGb,eAAe,EACnC;IAAEH,eAAe,GAAG;EAAM,CAAC,GAAG,CAAC,CAAC,KAC7B;IACH,IAAIiB,IAAI,GAAG,EAAE;IAEb,IAAIf,WAAW,IAAI,CAACF,eAAe,EAAE;MACnCiB,IAAI,GAAGH,eAAe,CAAC,EAAE,CAAC;IAC5B;IAEA,OAAOJ,SAAS,CACd,GAAGO,IAAI,GAAGD,WAAW,IAAI,EAAE,IAAIX,mBAAmB,GAChDP,QAAQ,IAAI,EAAE,EAElB,CAAC;EACH,CAAC,EACD,CACEC,YAAY,EACZI,eAAe,EACfD,WAAW,EACXG,mBAAmB,EACnBS,eAAe,CAEnB,CAAC;EAED,MAAMhB,QAAQ,GAAGV,OAAO,CAAC,MAAM;IAC7B,IAAIW,YAAY,EAAE;MAChB,OAAOgB,eAAe,CAAC,CAAC;IAC1B;EACF,CAAC,EAAE,CAAChB,YAAY,EAAEgB,eAAe,CAAC,CAAC;EAEnC,MAAMG,QAAQ,GAAGhC,WAAW,CACzBU,IAAU,IAAK;IACd,IAAIG,YAAY,EAAE;MAChB,OAAOD,QAAQ;IACjB;IAEA,IAAII,WAAW,EAAE;MACf,OAAOY,eAAe,CAAClB,IAAI,CAAC;IAC9B;IAGA,OAAOA,IAAI;EACb,CAAC,EACD,CAACG,YAAY,EAAEG,WAAW,EAAEJ,QAAQ,EAAEgB,eAAe,CACvD,CAAC;EAED,MAAMlB,IAAI,GAAGR,OAAO,CAAC,MAAM;IACzB,OAAO8B,QAAQ,CAACrB,QAAQ,CAAC;EAC3B,CAAC,EAAE,CAACqB,QAAQ,EAAErB,QAAQ,CAAC,CAAC;EAExB,MAAMsB,UAAU,GAAGvB,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAIK,EAAE;EAC7B,OAAO;IACLkB,UAAU;IACVvB,IAAI;IACJE,QAAQ;IACRU,QAAQ;IACRU,QAAQ;IACRH,eAAe;IACfD,eAAe;IACfJ;EACF,CAAC;AACH;AAIA,SAASA,SAASA,CAACd,IAAU,EAAE;EAC7B,OAAOA,IAAI,CAACwB,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC;AAC5C","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { TranslationObjectToFlat } from '../../../shared/Context';
1
+ import { TranslationFlatToObject, TranslationObjectToFlat } from '../../../shared/Context';
2
2
  import { AdditionalReturnUtils } from '../../../shared/useTranslation';
3
3
  import { DeepPartial } from '../../../shared/types';
4
4
  import formsLocales from '../constants/locales';
@@ -9,5 +9,5 @@ export type FormsTranslationValues = FormsTranslationDefaultLocales[FormsTransla
9
9
  export type FormsTranslation = DeepPartial<FormsTranslationDefaultLocales[FormsTranslationLocale]>;
10
10
  export type FormsTranslationFlat = TranslationObjectToFlat<FormsTranslation>;
11
11
  type CustomLocales = Partial<Record<FormsTranslationLocale, FormsTranslation>>;
12
- export default function useTranslation<T = FormsTranslation>(messages?: FormsTranslation | CustomLocales | Record<FormsTranslationLocale, T>): T & AdditionalReturnUtils;
12
+ export default function useTranslation<T = FormsTranslation>(messages?: FormsTranslation | CustomLocales | Record<FormsTranslationLocale, T>): TranslationFlatToObject<T> & AdditionalReturnUtils;
13
13
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"useTranslation.js","names":["useMemo","useContext","SharedContext","combineWithExternalTranslations","useAdditionalUtils","extendDeep","LOCALE","formsLocales","useTranslation","messages","locale","translation","globalTranslation","assignUtils"],"sources":["../../../../../src/extensions/forms/hooks/useTranslation.tsx"],"sourcesContent":["import { useMemo, useContext } from 'react'\nimport SharedContext, {\n TranslationObjectToFlat,\n} from '../../../shared/Context'\nimport {\n combineWithExternalTranslations,\n AdditionalReturnUtils,\n useAdditionalUtils,\n} from '../../../shared/useTranslation'\nimport { extendDeep } from '../../../shared/component-helper'\nimport { DeepPartial } from '../../../shared/types'\nimport { LOCALE } from '../../../shared/defaults'\nimport formsLocales from '../constants/locales'\n\nexport type FormsTranslationDefaultLocales = typeof formsLocales\nexport type FormsTranslationLocale = keyof FormsTranslationDefaultLocales\nexport type FormsTranslationKeys =\n keyof FormsTranslationDefaultLocales[FormsTranslationLocale]\nexport type FormsTranslationValues =\n FormsTranslationDefaultLocales[FormsTranslationLocale]\nexport type FormsTranslation = DeepPartial<\n FormsTranslationDefaultLocales[FormsTranslationLocale]\n>\nexport type FormsTranslationFlat =\n TranslationObjectToFlat<FormsTranslation>\n\ntype CustomLocales = Partial<\n Record<FormsTranslationLocale, FormsTranslation>\n>\n\nexport default function useTranslation<T = FormsTranslation>(\n messages?:\n | FormsTranslation\n | CustomLocales\n | Record<FormsTranslationLocale, T>\n) {\n const { locale, translation: globalTranslation } =\n useContext(SharedContext)\n const { assignUtils } = useAdditionalUtils()\n\n return useMemo(() => {\n const translation = extendDeep(\n {},\n formsLocales[locale] || formsLocales[LOCALE],\n globalTranslation\n )\n\n return assignUtils(\n combineWithExternalTranslations({\n translation,\n messages,\n locale,\n })\n ) as T & AdditionalReturnUtils\n }, [assignUtils, globalTranslation, locale, messages])\n}\n"],"mappings":";;AAAA,SAASA,OAAO,EAAEC,UAAU,QAAQ,OAAO;AAC3C,OAAOC,aAAa,MAEb,yBAAyB;AAChC,SACEC,+BAA+B,EAE/BC,kBAAkB,QACb,gCAAgC;AACvC,SAASC,UAAU,QAAQ,kCAAkC;AAE7D,SAASC,MAAM,QAAQ,0BAA0B;AACjD,OAAOC,YAAY,MAAM,sBAAsB;AAkB/C,eAAe,SAASC,cAAcA,CACpCC,QAGqC,EACrC;EACA,MAAM;IAAEC,MAAM;IAAEC,WAAW,EAAEC;EAAkB,CAAC,GAC9CX,UAAU,CAACC,aAAa,CAAC;EAC3B,MAAM;IAAEW;EAAY,CAAC,GAAGT,kBAAkB,CAAC,CAAC;EAE5C,OAAOJ,OAAO,CAAC,MAAM;IACnB,MAAMW,WAAW,GAAGN,UAAU,CAC5B,CAAC,CAAC,EACFE,YAAY,CAACG,MAAM,CAAC,IAAIH,YAAY,CAACD,MAAM,CAAC,EAC5CM,iBACF,CAAC;IAED,OAAOC,WAAW,CAChBV,+BAA+B,CAAC;MAC9BQ,WAAW;MACXF,QAAQ;MACRC;IACF,CAAC,CACH,CAAC;EACH,CAAC,EAAE,CAACG,WAAW,EAAED,iBAAiB,EAAEF,MAAM,EAAED,QAAQ,CAAC,CAAC;AACxD","ignoreList":[]}
1
+ {"version":3,"file":"useTranslation.js","names":["useMemo","useContext","SharedContext","combineWithExternalTranslations","useAdditionalUtils","extendDeep","LOCALE","formsLocales","useTranslation","messages","locale","translation","globalTranslation","assignUtils"],"sources":["../../../../../src/extensions/forms/hooks/useTranslation.tsx"],"sourcesContent":["import { useMemo, useContext } from 'react'\nimport SharedContext, {\n TranslationFlatToObject,\n TranslationObjectToFlat,\n} from '../../../shared/Context'\nimport {\n combineWithExternalTranslations,\n AdditionalReturnUtils,\n useAdditionalUtils,\n} from '../../../shared/useTranslation'\nimport { extendDeep } from '../../../shared/component-helper'\nimport { DeepPartial } from '../../../shared/types'\nimport { LOCALE } from '../../../shared/defaults'\nimport formsLocales from '../constants/locales'\n\nexport type FormsTranslationDefaultLocales = typeof formsLocales\nexport type FormsTranslationLocale = keyof FormsTranslationDefaultLocales\nexport type FormsTranslationKeys =\n keyof FormsTranslationDefaultLocales[FormsTranslationLocale]\nexport type FormsTranslationValues =\n FormsTranslationDefaultLocales[FormsTranslationLocale]\nexport type FormsTranslation = DeepPartial<\n FormsTranslationDefaultLocales[FormsTranslationLocale]\n>\nexport type FormsTranslationFlat =\n TranslationObjectToFlat<FormsTranslation>\n\ntype CustomLocales = Partial<\n Record<FormsTranslationLocale, FormsTranslation>\n>\n\nexport default function useTranslation<T = FormsTranslation>(\n messages?:\n | FormsTranslation\n | CustomLocales\n | Record<FormsTranslationLocale, T>\n) {\n const { locale, translation: globalTranslation } =\n useContext(SharedContext)\n const { assignUtils } = useAdditionalUtils()\n\n return useMemo<\n TranslationFlatToObject<T> & AdditionalReturnUtils\n >(() => {\n const translation = extendDeep(\n {},\n formsLocales[locale] || formsLocales[LOCALE],\n globalTranslation\n )\n\n return assignUtils(\n combineWithExternalTranslations({\n translation,\n messages,\n locale,\n })\n ) as TranslationFlatToObject<T> & AdditionalReturnUtils\n }, [assignUtils, globalTranslation, locale, messages])\n}\n"],"mappings":";;AAAA,SAASA,OAAO,EAAEC,UAAU,QAAQ,OAAO;AAC3C,OAAOC,aAAa,MAGb,yBAAyB;AAChC,SACEC,+BAA+B,EAE/BC,kBAAkB,QACb,gCAAgC;AACvC,SAASC,UAAU,QAAQ,kCAAkC;AAE7D,SAASC,MAAM,QAAQ,0BAA0B;AACjD,OAAOC,YAAY,MAAM,sBAAsB;AAkB/C,eAAe,SAASC,cAAcA,CACpCC,QAGqC,EACrC;EACA,MAAM;IAAEC,MAAM;IAAEC,WAAW,EAAEC;EAAkB,CAAC,GAC9CX,UAAU,CAACC,aAAa,CAAC;EAC3B,MAAM;IAAEW;EAAY,CAAC,GAAGT,kBAAkB,CAAC,CAAC;EAE5C,OAAOJ,OAAO,CAEZ,MAAM;IACN,MAAMW,WAAW,GAAGN,UAAU,CAC5B,CAAC,CAAC,EACFE,YAAY,CAACG,MAAM,CAAC,IAAIH,YAAY,CAACD,MAAM,CAAC,EAC5CM,iBACF,CAAC;IAED,OAAOC,WAAW,CAChBV,+BAA+B,CAAC;MAC9BQ,WAAW;MACXF,QAAQ;MACRC;IACF,CAAC,CACH,CAAC;EACH,CAAC,EAAE,CAACG,WAAW,EAAED,iBAAiB,EAAEF,MAAM,EAAED,QAAQ,CAAC,CAAC;AACxD","ignoreList":[]}
@@ -24,6 +24,12 @@ const ajvErrorKeywordsTranslationTable = [{
24
24
  }, {
25
25
  ajvKey: 'maximum',
26
26
  translationKey: 'NumberField.errorMaximum'
27
+ }, {
28
+ ajvKey: 'minItems',
29
+ translationKey: 'IterateArray.errorMinItems'
30
+ }, {
31
+ ajvKey: 'maxItems',
32
+ translationKey: 'IterateArray.errorMaxItems'
27
33
  }, {
28
34
  ajvKey: 'exclusiveMinimum',
29
35
  translationKey: 'NumberField.errorExclusiveMinimum'
@@ -73,6 +79,8 @@ export function getMessageValues(ajvError) {
73
79
  case 'maxLength':
74
80
  case 'minimum':
75
81
  case 'maximum':
82
+ case 'minItems':
83
+ case 'maxItems':
76
84
  case 'exclusiveMinimum':
77
85
  case 'exclusiveMaximum':
78
86
  return {
@@ -107,10 +115,10 @@ export function extendErrorMessagesWithTranslationMessages(messages, translation
107
115
  translationKey
108
116
  }) => {
109
117
  if (!messages[ajvKey]) {
110
- var _messages$translation, _messages$translation2;
118
+ var _messages$translation, _translation$keys$, _messages$translation2, _translation$keys$2;
111
119
  const keys = translationKey.split('.');
112
- messages[ajvKey] = (_messages$translation = messages[translationKey]) !== null && _messages$translation !== void 0 ? _messages$translation : translation[keys[0]][keys[1]];
113
- messages[translationKey] = (_messages$translation2 = messages[translationKey]) !== null && _messages$translation2 !== void 0 ? _messages$translation2 : translation[keys[0]][keys[1]];
120
+ messages[ajvKey] = (_messages$translation = messages[translationKey]) !== null && _messages$translation !== void 0 ? _messages$translation : (_translation$keys$ = translation[keys[0]]) === null || _translation$keys$ === void 0 ? void 0 : _translation$keys$[keys[1]];
121
+ messages[translationKey] = (_messages$translation2 = messages[translationKey]) !== null && _messages$translation2 !== void 0 ? _messages$translation2 : (_translation$keys$2 = translation[keys[0]]) === null || _translation$keys$2 === void 0 ? void 0 : _translation$keys$2[keys[1]];
114
122
  }
115
123
  });
116
124
  return messages;
@@ -1 +1 @@
1
- {"version":3,"file":"ajv.js","names":["ajvInstance","ajvErrors","pointer","FormError","ajvErrorKeywordsTranslationTable","ajvKey","translationKey","makeAjvInstance","instance","ajv","allErrors","getInstancePath","ajvError","keyword","instancePath","params","missingProperty","errors","getValidationRule","getMessageValues","_ajvError$params","_ajvError$params2","_ajvError$params3","validationRule","limit","multipleOf","pattern","overwriteErrorMessagesWithGivenAjvKeys","messages","_objectSpread","forEach","extendErrorMessagesWithTranslationMessages","translation","_messages$translation","_messages$translation2","keys","split","getTranslationKeyFromValidationRule","item","find","ajvErrorToFormError","_ref","_getTranslationKeyFro","_ajvError$message","Error","message","messageValues","ajvKeyword","ajvErrorsToOneFormError","value","length","error","ajvErrorsTransformation","undefined","map","ajvErrorsToFormErrors","data","reduce","path","get","field","console"],"sources":["../../../../../src/extensions/forms/utils/ajv.ts"],"sourcesContent":["import ajvInstance, { ErrorObject } from 'ajv/dist/2020'\nimport ajvErrors from 'ajv-errors'\nimport pointer, { JsonObject } from './json-pointer'\nimport { DefaultErrorMessages, Path } from '../types'\nimport { FormError } from './FormError'\nimport type Ajv from 'ajv/dist/2020'\nimport type { FormsTranslation } from '../hooks/useTranslation'\n\nexport type AjvInstance = typeof ajvInstance\nexport { ajvInstance, Ajv }\n\n/**\n * Translation table for Ajv error keywords.\n * It represents the mapping between Ajv error keywords and their corresponding translation keys.\n */\nconst ajvErrorKeywordsTranslationTable = [\n { ajvKey: 'required', translationKey: 'Field.errorRequired' },\n { ajvKey: 'pattern', translationKey: 'Field.errorPattern' },\n {\n ajvKey: 'minLength',\n translationKey: 'StringField.errorMinLength',\n },\n {\n ajvKey: 'maxLength',\n translationKey: 'StringField.errorMaxLength',\n },\n { ajvKey: 'minimum', translationKey: 'NumberField.errorMinimum' },\n { ajvKey: 'maximum', translationKey: 'NumberField.errorMaximum' },\n {\n ajvKey: 'exclusiveMinimum',\n translationKey: 'NumberField.errorExclusiveMinimum',\n },\n {\n ajvKey: 'exclusiveMaximum',\n translationKey: 'NumberField.errorExclusiveMaximum',\n },\n {\n ajvKey: 'multipleOf',\n translationKey: 'NumberField.errorMultipleOf',\n },\n]\n\n/**\n * Creates an instance of Ajv (Another JSON Schema Validator) with optional custom instance.\n * If no instance is provided, a new instance of Ajv is created with the specified options.\n * The created Ajv instance is enhanced with custom error handling.\n *\n * @param instance - Optional custom instance of Ajv.\n * @returns The created or provided instance of Ajv.\n */\nexport function makeAjvInstance(instance?: Ajv) {\n const ajv =\n instance ||\n new ajvInstance({\n // If allErrors is off, Ajv only give you the first error it finds\n allErrors: true,\n })\n\n if (!ajv['__ajvErrors__']) {\n ajvErrors(ajv)\n ajv['__ajvErrors__'] = true\n }\n\n return ajv\n}\n\n/**\n * Returns the instance path of the given Ajv error.\n * If the error is of type 'required', it is considered an object error and the missing property is shown under the relevant field.\n * If the error is of type 'errorMessage', it is a wrapped error and the instance path is found from the original error to avoid issues like required-errors pointing at the parent object.\n * @param ajvError - The Ajv error object.\n * @returns The instance path of the error.\n */\nexport function getInstancePath(ajvError: ErrorObject): Path {\n switch (ajvError.keyword) {\n case 'required': {\n // Required-errors are considered object errors by ajv, so they don't have instancePaths. We want to\n // show them under the relevant field\n return `${ajvError.instancePath}/${ajvError.params.missingProperty}`\n }\n case 'errorMessage': {\n // errorMessage structures (from ajv-errors) wrap the original error. Find instance path from original\n // to avoid issues like required-errors pointing at parent object.\n if (ajvError.params.errors[0]) {\n return getInstancePath(ajvError.params.errors[0])\n }\n }\n }\n return ajvError.instancePath\n}\n\n/**\n * Retrieves the validation rule from an AJV error object.\n * If the error object has an 'errorMessage' keyword, it unwraps the original error\n * to avoid issues like required-errors pointing at the parent object.\n * @param ajvError - The AJV error object.\n * @returns The validation rule.\n */\nexport function getValidationRule(ajvError: ErrorObject): string {\n if (ajvError.keyword === 'errorMessage' && ajvError.params.errors[0]) {\n // errorMessage structures (from ajv-errors) wrap the original error. Find keyword from original\n // to avoid issues like required-errors pointing at parent object.\n return getValidationRule(ajvError.params.errors[0])\n }\n return ajvError.keyword\n}\n\n/**\n * Retrieves the message values from an AJV error object.\n * @param ajvError The AJV error object.\n * @returns The message values extracted from the error object.\n */\nexport function getMessageValues(\n ajvError: ErrorObject\n): FormError['messageValues'] {\n const validationRule = getValidationRule(ajvError)\n\n switch (validationRule) {\n case 'minLength':\n case 'maxLength':\n case 'minimum':\n case 'maximum':\n case 'exclusiveMinimum':\n case 'exclusiveMaximum':\n return {\n [validationRule]: ajvError.params?.limit,\n }\n case 'multipleOf':\n return {\n [validationRule]: ajvError.params?.multipleOf,\n }\n case 'pattern':\n return {\n [validationRule]: ajvError.params?.pattern,\n }\n }\n}\n\n/**\n * Overwrite the internal translation messages with given messaged that uses the Ajv keywords.\n *\n * @deprecated – can be removed in v11\n */\nexport function overwriteErrorMessagesWithGivenAjvKeys(\n messages: DefaultErrorMessages\n) {\n messages = { ...messages }\n\n ajvErrorKeywordsTranslationTable.forEach(\n ({ ajvKey, translationKey }) => {\n if (messages[ajvKey]) {\n messages[translationKey] = messages[ajvKey]\n }\n }\n )\n\n return messages\n}\n\n/**\n * Extend the error messages with relevant translation messages.\n */\nexport function extendErrorMessagesWithTranslationMessages(\n messages: DefaultErrorMessages,\n translation: FormsTranslation\n) {\n messages = { ...messages }\n\n ajvErrorKeywordsTranslationTable.forEach(\n ({ ajvKey, translationKey }) => {\n if (!messages[ajvKey]) {\n const keys = translationKey.split('.')\n\n /**\n * For backward compatibility.\n * Because we removed ajv keys in the fields, we now always set all the messages here instead.\n *\n * @deprecated – can be removed in v11\n */\n messages[ajvKey] =\n messages[translationKey] ?? translation[keys[0]][keys[1]]\n\n messages[translationKey] =\n messages[translationKey] ?? translation[keys[0]][keys[1]]\n }\n }\n )\n\n return messages\n}\n\n/**\n * Get the translation key from the Ajv validation rule\n */\nexport function getTranslationKeyFromValidationRule(\n validationRule: string\n) {\n const item = ajvErrorKeywordsTranslationTable.find(\n ({ ajvKey }) => ajvKey === validationRule\n )\n return item?.translationKey\n}\n\n/**\n * Converts an AJV error object to a FormError object.\n *\n * @param ajvError - The AJV error object to convert.\n * @returns The converted FormError object.\n */\nexport function ajvErrorToFormError(ajvError: ErrorObject): FormError {\n if (ajvError.keyword === 'errorMessage') {\n return new Error(ajvError.message ?? 'Unknown error')\n }\n\n return new FormError(\n getTranslationKeyFromValidationRule(getValidationRule(ajvError)) ??\n ajvError.message ??\n 'Unknown error',\n {\n // Keep the message values in the error object instead of injecting them into the message\n // at once, since an error might be validated one place, and then get a new message before it is displayed.\n messageValues: getMessageValues(ajvError),\n ajvKeyword: ajvError.keyword,\n }\n )\n}\n\n/**\n * Converts an array of Ajv errors to a single FormError.\n * @param errors - An array of Ajv errors.\n * @returns A single FormError or undefined if there are no errors.\n */\nexport function ajvErrorsToOneFormError(\n errors?: ErrorObject[] | null,\n value?: unknown\n): FormError | undefined {\n if (!errors || errors.length === 0) {\n return\n }\n if (errors.length === 1) {\n const error = ajvErrorsTransformation(errors[0], value)\n if (!error) {\n return undefined\n }\n\n return ajvErrorToFormError(error)\n }\n\n return new FormError('Multiple errors', {\n errors: errors?.map((error) => ajvErrorToFormError(error)),\n })\n}\n\n/**\n * Converts AJV validation errors to form errors.\n *\n * @param errors - The array of AJV validation errors.\n * @param data - The data object being validated.\n * @returns The converted form errors as a record of path and form error pairs.\n */\nexport const ajvErrorsToFormErrors = (\n errors?: ErrorObject[] | null,\n data?: JsonObject\n): Record<string, FormError> => {\n return (errors ?? []).reduce((errors, ajvError) => {\n const path = getInstancePath(ajvError)\n const error = ajvErrorsTransformation(ajvError, data, path)\n\n if (error) {\n errors[path] = ajvErrorToFormError(error)\n }\n\n return errors\n }, {})\n}\n\n/**\n * Transforms AJV errors based on specific conditions.\n *\n * @param ajvError - The AJV error object.\n * @param data - The data object or value being validated.\n * @param path - The path to the data object property being validated.\n * @returns The transformed AJV error object or undefined if the error should be removed.\n */\nfunction ajvErrorsTransformation(\n ajvError: ErrorObject,\n data?: Record<Path, unknown> | unknown,\n path?: Path\n) {\n if (ajvError.keyword === 'type') {\n const value =\n data && typeof data === 'object' && path\n ? pointer.get(data, path)\n : data\n\n // Remove the error if the value is empty\n if (value === '' || value === null) {\n return undefined\n } else {\n // This extend the very limited error message with the value and the path\n const field = path ? `field at path=\"${path}\"` : 'field'\n ajvError.message = `The ${field} value (${value}) type ${ajvError.message}`\n\n // Warn about the issue\n console.error(ajvError.message)\n }\n }\n\n return ajvError\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ajv.js","names":["ajvInstance","ajvErrors","pointer","FormError","ajvErrorKeywordsTranslationTable","ajvKey","translationKey","makeAjvInstance","instance","ajv","allErrors","getInstancePath","ajvError","keyword","instancePath","params","missingProperty","errors","getValidationRule","getMessageValues","_ajvError$params","_ajvError$params2","_ajvError$params3","validationRule","limit","multipleOf","pattern","overwriteErrorMessagesWithGivenAjvKeys","messages","_objectSpread","forEach","extendErrorMessagesWithTranslationMessages","translation","_messages$translation","_translation$keys$","_messages$translation2","_translation$keys$2","keys","split","getTranslationKeyFromValidationRule","item","find","ajvErrorToFormError","_ref","_getTranslationKeyFro","_ajvError$message","Error","message","messageValues","ajvKeyword","ajvErrorsToOneFormError","value","length","error","ajvErrorsTransformation","undefined","map","ajvErrorsToFormErrors","data","reduce","path","get","field","console"],"sources":["../../../../../src/extensions/forms/utils/ajv.ts"],"sourcesContent":["import ajvInstance, { ErrorObject } from 'ajv/dist/2020'\nimport ajvErrors from 'ajv-errors'\nimport pointer, { JsonObject } from './json-pointer'\nimport { DefaultErrorMessages, Path } from '../types'\nimport { FormError } from './FormError'\nimport type Ajv from 'ajv/dist/2020'\nimport type { FormsTranslation } from '../hooks/useTranslation'\n\nexport type AjvInstance = typeof ajvInstance\nexport { ajvInstance, Ajv }\n\n/**\n * Translation table for Ajv error keywords.\n * It represents the mapping between Ajv error keywords and their corresponding translation keys.\n */\nconst ajvErrorKeywordsTranslationTable = [\n { ajvKey: 'required', translationKey: 'Field.errorRequired' },\n { ajvKey: 'pattern', translationKey: 'Field.errorPattern' },\n {\n ajvKey: 'minLength',\n translationKey: 'StringField.errorMinLength',\n },\n {\n ajvKey: 'maxLength',\n translationKey: 'StringField.errorMaxLength',\n },\n { ajvKey: 'minimum', translationKey: 'NumberField.errorMinimum' },\n { ajvKey: 'maximum', translationKey: 'NumberField.errorMaximum' },\n { ajvKey: 'minItems', translationKey: 'IterateArray.errorMinItems' },\n { ajvKey: 'maxItems', translationKey: 'IterateArray.errorMaxItems' },\n {\n ajvKey: 'exclusiveMinimum',\n translationKey: 'NumberField.errorExclusiveMinimum',\n },\n {\n ajvKey: 'exclusiveMaximum',\n translationKey: 'NumberField.errorExclusiveMaximum',\n },\n {\n ajvKey: 'multipleOf',\n translationKey: 'NumberField.errorMultipleOf',\n },\n]\n\n/**\n * Creates an instance of Ajv (Another JSON Schema Validator) with optional custom instance.\n * If no instance is provided, a new instance of Ajv is created with the specified options.\n * The created Ajv instance is enhanced with custom error handling.\n *\n * @param instance - Optional custom instance of Ajv.\n * @returns The created or provided instance of Ajv.\n */\nexport function makeAjvInstance(instance?: Ajv) {\n const ajv =\n instance ||\n new ajvInstance({\n // If allErrors is off, Ajv only give you the first error it finds\n allErrors: true,\n })\n\n if (!ajv['__ajvErrors__']) {\n ajvErrors(ajv)\n ajv['__ajvErrors__'] = true\n }\n\n return ajv\n}\n\n/**\n * Returns the instance path of the given Ajv error.\n * If the error is of type 'required', it is considered an object error and the missing property is shown under the relevant field.\n * If the error is of type 'errorMessage', it is a wrapped error and the instance path is found from the original error to avoid issues like required-errors pointing at the parent object.\n * @param ajvError - The Ajv error object.\n * @returns The instance path of the error.\n */\nexport function getInstancePath(ajvError: ErrorObject): Path {\n switch (ajvError.keyword) {\n case 'required': {\n // Required-errors are considered object errors by ajv, so they don't have instancePaths. We want to\n // show them under the relevant field\n return `${ajvError.instancePath}/${ajvError.params.missingProperty}`\n }\n case 'errorMessage': {\n // errorMessage structures (from ajv-errors) wrap the original error. Find instance path from original\n // to avoid issues like required-errors pointing at parent object.\n if (ajvError.params.errors[0]) {\n return getInstancePath(ajvError.params.errors[0])\n }\n }\n }\n return ajvError.instancePath\n}\n\n/**\n * Retrieves the validation rule from an AJV error object.\n * If the error object has an 'errorMessage' keyword, it unwraps the original error\n * to avoid issues like required-errors pointing at the parent object.\n * @param ajvError - The AJV error object.\n * @returns The validation rule.\n */\nexport function getValidationRule(ajvError: ErrorObject): string {\n if (ajvError.keyword === 'errorMessage' && ajvError.params.errors[0]) {\n // errorMessage structures (from ajv-errors) wrap the original error. Find keyword from original\n // to avoid issues like required-errors pointing at parent object.\n return getValidationRule(ajvError.params.errors[0])\n }\n return ajvError.keyword\n}\n\n/**\n * Retrieves the message values from an AJV error object.\n * @param ajvError The AJV error object.\n * @returns The message values extracted from the error object.\n */\nexport function getMessageValues(\n ajvError: ErrorObject\n): FormError['messageValues'] {\n const validationRule = getValidationRule(ajvError)\n\n switch (validationRule) {\n case 'minLength':\n case 'maxLength':\n case 'minimum':\n case 'maximum':\n case 'minItems':\n case 'maxItems':\n case 'exclusiveMinimum':\n case 'exclusiveMaximum':\n return {\n [validationRule]: ajvError.params?.limit,\n }\n case 'multipleOf':\n return {\n [validationRule]: ajvError.params?.multipleOf,\n }\n case 'pattern':\n return {\n [validationRule]: ajvError.params?.pattern,\n }\n }\n}\n\n/**\n * Overwrite the internal translation messages with given messaged that uses the Ajv keywords.\n *\n * @deprecated – can be removed in v11\n */\nexport function overwriteErrorMessagesWithGivenAjvKeys(\n messages: DefaultErrorMessages\n) {\n messages = { ...messages }\n\n ajvErrorKeywordsTranslationTable.forEach(\n ({ ajvKey, translationKey }) => {\n if (messages[ajvKey]) {\n messages[translationKey] = messages[ajvKey]\n }\n }\n )\n\n return messages\n}\n\n/**\n * Extend the error messages with relevant translation messages.\n */\nexport function extendErrorMessagesWithTranslationMessages(\n messages: DefaultErrorMessages,\n translation: FormsTranslation\n) {\n messages = { ...messages }\n\n ajvErrorKeywordsTranslationTable.forEach(\n ({ ajvKey, translationKey }) => {\n if (!messages[ajvKey]) {\n const keys = translationKey.split('.')\n\n /**\n * For backward compatibility.\n * Because we removed ajv keys in the fields, we now always set all the messages here instead.\n *\n * @deprecated – can be removed in v11\n */\n messages[ajvKey] =\n messages[translationKey] ?? translation[keys[0]]?.[keys[1]]\n\n messages[translationKey] =\n messages[translationKey] ?? translation[keys[0]]?.[keys[1]]\n }\n }\n )\n\n return messages\n}\n\n/**\n * Get the translation key from the Ajv validation rule\n */\nexport function getTranslationKeyFromValidationRule(\n validationRule: string\n) {\n const item = ajvErrorKeywordsTranslationTable.find(\n ({ ajvKey }) => ajvKey === validationRule\n )\n return item?.translationKey\n}\n\n/**\n * Converts an AJV error object to a FormError object.\n *\n * @param ajvError - The AJV error object to convert.\n * @returns The converted FormError object.\n */\nexport function ajvErrorToFormError(ajvError: ErrorObject): FormError {\n if (ajvError.keyword === 'errorMessage') {\n return new Error(ajvError.message ?? 'Unknown error')\n }\n\n return new FormError(\n getTranslationKeyFromValidationRule(getValidationRule(ajvError)) ??\n ajvError.message ??\n 'Unknown error',\n {\n // Keep the message values in the error object instead of injecting them into the message\n // at once, since an error might be validated one place, and then get a new message before it is displayed.\n messageValues: getMessageValues(ajvError),\n ajvKeyword: ajvError.keyword,\n }\n )\n}\n\n/**\n * Converts an array of Ajv errors to a single FormError.\n * @param errors - An array of Ajv errors.\n * @returns A single FormError or undefined if there are no errors.\n */\nexport function ajvErrorsToOneFormError(\n errors?: ErrorObject[] | null,\n value?: unknown\n): FormError | undefined {\n if (!errors || errors.length === 0) {\n return\n }\n if (errors.length === 1) {\n const error = ajvErrorsTransformation(errors[0], value)\n if (!error) {\n return undefined\n }\n\n return ajvErrorToFormError(error)\n }\n\n return new FormError('Multiple errors', {\n errors: errors?.map((error) => ajvErrorToFormError(error)),\n })\n}\n\n/**\n * Converts AJV validation errors to form errors.\n *\n * @param errors - The array of AJV validation errors.\n * @param data - The data object being validated.\n * @returns The converted form errors as a record of path and form error pairs.\n */\nexport const ajvErrorsToFormErrors = (\n errors?: ErrorObject[] | null,\n data?: JsonObject\n): Record<string, FormError> => {\n return (errors ?? []).reduce((errors, ajvError) => {\n const path = getInstancePath(ajvError)\n const error = ajvErrorsTransformation(ajvError, data, path)\n\n if (error) {\n errors[path] = ajvErrorToFormError(error)\n }\n\n return errors\n }, {})\n}\n\n/**\n * Transforms AJV errors based on specific conditions.\n *\n * @param ajvError - The AJV error object.\n * @param data - The data object or value being validated.\n * @param path - The path to the data object property being validated.\n * @returns The transformed AJV error object or undefined if the error should be removed.\n */\nfunction ajvErrorsTransformation(\n ajvError: ErrorObject,\n data?: Record<Path, unknown> | unknown,\n path?: Path\n) {\n if (ajvError.keyword === 'type') {\n const value =\n data && typeof data === 'object' && path\n ? pointer.get(data, path)\n : data\n\n // Remove the error if the value is empty\n if (value === '' || value === null) {\n return undefined\n } else {\n // This extend the very limited error message with the value and the path\n const field = path ? `field at path=\"${path}\"` : 'field'\n ajvError.message = `The ${field} value (${value}) type ${ajvError.message}`\n\n // Warn about the issue\n console.error(ajvError.message)\n }\n }\n\n return ajvError\n}\n"],"mappings":"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","ignoreList":[]}
@@ -8,6 +8,8 @@ export type PaymentCardCardStatus =
8
8
  | 'blocked'
9
9
  | 'expired'
10
10
  | 'not_active'
11
+ | 'new_order'
12
+ | 'new'
11
13
  | 'order_in_process'
12
14
  | 'renewed'
13
15
  | 'replaced'
@@ -26,6 +28,8 @@ export enum ProductType {
26
28
  Business,
27
29
  Bedrift,
28
30
  PrivateBanking,
31
+ Corporate,
32
+ WorldElite,
29
33
  None
30
34
  }
31
35
  export enum BankAxept {
@@ -43,17 +47,19 @@ export enum BankAxeptType {
43
47
  }
44
48
  export enum Designs {
45
49
  defaultDesign,
50
+ pluss,
46
51
  young,
47
52
  myFirst,
48
53
  youth,
49
- pluss,
50
54
  gold,
51
55
  saga,
52
56
  sagaPlatinum,
53
57
  privateBanking,
54
58
  mcBlack,
55
59
  businessNoVisa,
56
- businessWithVisa
60
+ businessWithVisa,
61
+ sbankenVisa,
62
+ sbankenMastercard
57
63
  }
58
64
  export interface PaymentCardRawData {
59
65
  productCode: string;
@@ -90,7 +96,7 @@ export interface PaymentCardProps
90
96
  */
91
97
  card_number: string;
92
98
  /**
93
- * use one of these: `active`, `not_active`, `blocked`, `expired`, `renewed`, `replaced`, `order_in_process`, `unknown`. Defaults to `active`.
99
+ * use one of these: `active`, `not_active`, `new_order`, `new`, `blocked`, `expired`, `renewed`, `replaced`, `order_in_process`, `unknown`. Defaults to `active`.
94
100
  */
95
101
  card_status?: PaymentCardCardStatus;
96
102
  /**
@@ -1,6 +1,5 @@
1
1
  "use client";
2
2
 
3
- import _extends from "@babel/runtime/helpers/esm/extends";
4
3
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
4
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
6
5
  const _excluded = ["product_code", "card_number", "card_status", "variant", "digits", "id", "raw_data", "locale", "skeleton", "className", "class", "children"];
@@ -14,29 +13,21 @@ import Provider from '../../shared/Provider';
14
13
  import { isTrue, validateDOMAttributes, extendPropsWithContextInClassComponent } from '../../shared/component-helper';
15
14
  import { spacingPropTypes, createSpacingClasses } from '../../components/space/SpacingHelper';
16
15
  import { skeletonDOMAttributes, createSkeletonClass } from '../../components/skeleton/SkeletonHelper';
17
- import P from '../../elements/P';
16
+ import { formatCardNumber } from './components/CardNumber';
17
+ import CardFigure, { cardDataPropTypes } from './components/CardFigure';
18
18
  import { ProductType, CardType, BankAxeptType } from './utils/Types';
19
19
  import Designs, { defaultDesign } from './utils/CardDesigns';
20
20
  import cardProducts from './utils/cardProducts';
21
- import { ProductLogo, TypeLogo, BankLogo, StatusIcon, BankAxeptLogo } from './icons';
22
21
  export { Designs, ProductType, CardType, BankAxeptType };
23
- const cardDataPropTypes = process.env.NODE_ENV !== "production" ? PropTypes.shape({
24
- productCode: PropTypes.string.isRequired,
25
- productName: PropTypes.string.isRequired,
26
- displayName: PropTypes.string.isRequired,
27
- cardDesign: PropTypes.object.isRequired,
28
- cardType: PropTypes.object.isRequired,
29
- productType: PropTypes.object.isRequired,
30
- bankAxept: PropTypes.object.isRequired
31
- }) : {};
32
22
  const translationDefaultPropsProps = {
33
- text_card_number: null,
34
- text_expired: null,
35
23
  text_blocked: null,
24
+ text_expired: null,
36
25
  text_not_active: null,
26
+ text_new_order: null,
37
27
  text_order_in_process: null,
38
- text_renewed: null,
39
28
  text_replaced: null,
29
+ text_renewed: null,
30
+ text_new: null,
40
31
  text_unknown: null
41
32
  };
42
33
  export default class PaymentCard extends React.PureComponent {
@@ -76,9 +67,10 @@ export default class PaymentCard extends React.PureComponent {
76
67
  const translations = extendPropsWithContextInClassComponent(this.props, translationDefaultPropsProps, translation.PaymentCard);
77
68
  return React.createElement("figure", params, React.createElement("figcaption", {
78
69
  className: "dnb-sr-only dnb-payment-card__figcaption"
79
- }, cardData.productName), React.createElement(NormalCard, {
70
+ }, cardData.productName), React.createElement(CardFigure, {
80
71
  id: id,
81
72
  skeleton: isTrue(skeleton),
73
+ compact: variant === 'compact',
82
74
  data: cardData,
83
75
  cardStatus: card_status,
84
76
  cardNumber: formatCardNumber(card_number, parseFloat(digits)),
@@ -102,7 +94,7 @@ _defineProperty(PaymentCard, "defaultProps", _objectSpread({
102
94
  process.env.NODE_ENV !== "production" ? PaymentCard.propTypes = _objectSpread(_objectSpread({
103
95
  product_code: PropTypes.string.isRequired,
104
96
  card_number: PropTypes.string.isRequired,
105
- card_status: PropTypes.oneOf(['active', 'blocked', 'expired', 'not_active', 'order_in_process', 'renewed', 'replaced', 'unknown']),
97
+ card_status: PropTypes.oneOf(['active', 'blocked', 'expired', 'not_active', 'new_order', 'new', 'order_in_process', 'renewed', 'replaced', 'unknown']),
106
98
  variant: PropTypes.oneOf(['normal', 'compact']),
107
99
  digits: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
108
100
  raw_data: cardDataPropTypes,
@@ -113,16 +105,6 @@ process.env.NODE_ENV !== "production" ? PaymentCard.propTypes = _objectSpread(_o
113
105
  className: PropTypes.string,
114
106
  children: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.func])
115
107
  }) : void 0;
116
- const formatCardNumberRegex = /(?=(?:....)*$)/g;
117
- export const formatCardNumber = (cardNumber, digits = 8) => {
118
- if (!cardNumber) {
119
- return cardNumber;
120
- }
121
- if (digits && digits <= cardNumber.length) {
122
- return cardNumber.slice(cardNumber.length - digits, cardNumber.length).replace(formatCardNumberRegex, ' ').trim();
123
- }
124
- return cardNumber.replace(formatCardNumberRegex, ' ').trim();
125
- };
126
108
  export const getCardData = productCode => {
127
109
  const card = cardProducts.find(item => item.productCode === productCode);
128
110
  return card || defaultCard(productCode);
@@ -136,110 +118,4 @@ const defaultCard = productCode => ({
136
118
  productType: ProductType.None,
137
119
  bankAxept: BankAxeptType.None
138
120
  });
139
- process.env.NODE_ENV !== "production" ? StatusOverlay.propTypes = {
140
- cardStatus: PropTypes.string.isRequired,
141
- translations: PropTypes.object.isRequired
142
- } : void 0;
143
- const BlockingOverlay = ({
144
- cardStatus,
145
- text
146
- }, skeleton) => {
147
- return React.createElement("div", {
148
- className: classnames('dnb-payment-card__blocking__overlay', createSkeletonClass('font', skeleton))
149
- }, React.createElement("div", {
150
- className: "dnb-payment-card__blocking__center"
151
- }, React.createElement(StatusIcon, {
152
- status: cardStatus
153
- }), React.createElement(P, {
154
- top: "xx-small"
155
- }, text)));
156
- };
157
- function StatusOverlay({
158
- cardStatus,
159
- translations
160
- }) {
161
- const cardStatusMap = {
162
- not_active: translations.text_not_active,
163
- order_in_process: translations.text_order_in_process,
164
- renewed: translations.text_renewed,
165
- replaced: translations.text_replaced,
166
- blocked: translations.text_blocked,
167
- expired: translations.text_expired,
168
- unknown: translations.text_unknown
169
- };
170
- return cardStatusMap[cardStatus] ? React.createElement(BlockingOverlay, {
171
- cardStatus: cardStatus,
172
- text: cardStatusMap[cardStatus]
173
- }) : null;
174
- }
175
- process.env.NODE_ENV !== "production" ? CardText.propTypes = {
176
- cardNumber: PropTypes.string.isRequired,
177
- translations: PropTypes.object.isRequired,
178
- skeleton: PropTypes.bool.isRequired
179
- } : void 0;
180
- function CardText({
181
- cardNumber,
182
- translations,
183
- skeleton
184
- }) {
185
- return React.createElement("span", {
186
- className: classnames('dnb-payment-card__card__wrapper', createSkeletonClass('font', skeleton))
187
- }, React.createElement(P, {
188
- className: "dnb-payment-card__card__holder",
189
- modifier: "x-small medium"
190
- }, translations.text_card_number), React.createElement(P, {
191
- className: "dnb-payment-card__card__numbers"
192
- }, cardNumber));
193
- }
194
- process.env.NODE_ENV !== "production" ? NormalCard.propTypes = {
195
- id: PropTypes.string,
196
- skeleton: PropTypes.bool,
197
- data: cardDataPropTypes.isRequired,
198
- cardStatus: PropTypes.string.isRequired,
199
- cardNumber: PropTypes.string.isRequired,
200
- translations: PropTypes.object.isRequired
201
- } : void 0;
202
- function NormalCard({
203
- data,
204
- cardStatus,
205
- cardNumber,
206
- id = null,
207
- skeleton = null,
208
- translations
209
- }) {
210
- var _data$cardDesign;
211
- return React.createElement("div", _extends({
212
- id: id,
213
- className: `dnb-payment-card__card dnb-payment-card__${data.cardDesign.cardStyle}`
214
- }, (_data$cardDesign = data.cardDesign) !== null && _data$cardDesign !== void 0 && _data$cardDesign.backgroundImage ? {
215
- style: {
216
- backgroundImage: `url(${data.cardDesign.backgroundImage})`
217
- }
218
- } : {}), React.createElement("div", {
219
- className: "dnb-payment-card__card__content"
220
- }, React.createElement("div", {
221
- className: "dnb-payment-card__card__top"
222
- }, React.createElement(BankLogo, {
223
- logoType: data.cardDesign.bankLogo
224
- }), React.createElement(ProductLogo, {
225
- productType: data.productType,
226
- cardDesign: data.cardDesign
227
- }), React.createElement(BankAxeptLogo, {
228
- bankAxept: data.bankAxept,
229
- cardDesign: data.cardDesign
230
- })), React.createElement("div", {
231
- className: "dnb-payment-card__card__bottom"
232
- }, React.createElement(CardText, {
233
- cardNumber: cardNumber,
234
- displayName: data.displayName,
235
- translations: translations,
236
- skeleton: skeleton
237
- }), React.createElement(TypeLogo, {
238
- cardType: data.cardType,
239
- cardDesign: data.cardDesign
240
- }))), React.createElement(StatusOverlay, {
241
- cardStatus: cardStatus,
242
- translations: translations
243
- }));
244
- }
245
121
  //# sourceMappingURL=PaymentCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentCard.js","names":["React","PropTypes","classnames","Context","Provider","isTrue","validateDOMAttributes","extendPropsWithContextInClassComponent","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","P","ProductType","CardType","BankAxeptType","Designs","defaultDesign","cardProducts","ProductLogo","TypeLogo","BankLogo","StatusIcon","BankAxeptLogo","cardDataPropTypes","process","env","NODE_ENV","shape","productCode","string","isRequired","productName","displayName","cardDesign","object","cardType","productType","bankAxept","translationDefaultPropsProps","text_card_number","text_expired","text_blocked","text_not_active","text_order_in_process","text_renewed","text_replaced","text_unknown","PaymentCard","PureComponent","render","_this$context","props","defaultProps","locale","context","skeleton","product_code","card_number","card_status","variant","digits","id","raw_data","className","class","_className","children","attributes","_objectWithoutProperties","_excluded","cardData","getCardData","params","_objectSpread","createElement","Consumer","translation","translations","NormalCard","data","cardStatus","cardNumber","formatCardNumber","parseFloat","_defineProperty","propTypes","oneOf","oneOfType","number","bool","node","func","formatCardNumberRegex","length","slice","replace","trim","card","find","item","defaultCard","None","StatusOverlay","BlockingOverlay","text","status","top","cardStatusMap","not_active","order_in_process","renewed","replaced","blocked","expired","unknown","CardText","modifier","_data$cardDesign","_extends","cardStyle","backgroundImage","style","logoType","bankLogo"],"sources":["../../../../src/extensions/payment-card/PaymentCard.js"],"sourcesContent":["/**\n * Web PaymentCard Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport Provider from '../../shared/Provider'\nimport {\n isTrue,\n validateDOMAttributes,\n extendPropsWithContextInClassComponent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../../components/space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../../components/skeleton/SkeletonHelper'\nimport P from '../../elements/P'\n\nimport { ProductType, CardType, BankAxeptType } from './utils/Types'\nimport Designs, { defaultDesign } from './utils/CardDesigns'\nimport cardProducts from './utils/cardProducts'\nimport {\n ProductLogo,\n TypeLogo,\n BankLogo,\n StatusIcon,\n BankAxeptLogo,\n} from './icons'\n\nexport { Designs, ProductType, CardType, BankAxeptType }\n\nconst cardDataPropTypes = PropTypes.shape({\n productCode: PropTypes.string.isRequired,\n productName: PropTypes.string.isRequired,\n displayName: PropTypes.string.isRequired,\n cardDesign: PropTypes.object.isRequired,\n cardType: PropTypes.object.isRequired,\n productType: PropTypes.object.isRequired,\n bankAxept: PropTypes.object.isRequired,\n})\n\nconst translationDefaultPropsProps = {\n text_card_number: null,\n text_expired: null,\n text_blocked: null,\n text_not_active: null,\n text_order_in_process: null,\n text_renewed: null,\n text_replaced: null,\n text_unknown: null,\n}\n\nexport default class PaymentCard extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n product_code: PropTypes.string.isRequired,\n card_number: PropTypes.string.isRequired,\n card_status: PropTypes.oneOf([\n 'active',\n 'blocked',\n 'expired',\n 'not_active',\n 'order_in_process',\n 'renewed',\n 'replaced',\n 'unknown',\n ]),\n variant: PropTypes.oneOf(['normal', 'compact']),\n digits: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n raw_data: cardDataPropTypes,\n id: PropTypes.string,\n locale: PropTypes.string,\n\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n }\n\n static defaultProps = {\n digits: 8,\n locale: null,\n card_status: 'active',\n variant: 'normal',\n\n id: null,\n raw_data: null,\n\n skeleton: false,\n className: null,\n children: null,\n\n ...translationDefaultPropsProps,\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n PaymentCard.defaultProps,\n { locale: this.context.locale },\n { skeleton: this.context?.skeleton }\n )\n\n const {\n product_code,\n card_number,\n card_status,\n variant,\n digits,\n id,\n raw_data,\n locale,\n skeleton,\n className,\n class: _className,\n children, //eslint-disable-line\n ...attributes\n } = props\n\n const cardData = raw_data || getCardData(product_code)\n\n const params = {\n className: classnames(\n 'dnb-payment-card',\n `dnb-payment-card--${variant}`,\n createSkeletonClass(null, skeleton, this.context),\n createSpacingClasses(props),\n className,\n _className\n ),\n ...attributes,\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n return (\n <Provider locale={locale}>\n <Context.Consumer>\n {({ translation }) => {\n const translations = extendPropsWithContextInClassComponent(\n this.props,\n translationDefaultPropsProps,\n translation.PaymentCard\n )\n return (\n <figure {...params}>\n <figcaption className=\"dnb-sr-only dnb-payment-card__figcaption\">\n {cardData.productName}\n </figcaption>\n <NormalCard\n id={id}\n skeleton={isTrue(skeleton)}\n data={cardData}\n cardStatus={card_status}\n cardNumber={formatCardNumber(\n card_number,\n parseFloat(digits)\n )}\n translations={translations}\n />\n </figure>\n )\n }}\n </Context.Consumer>\n </Provider>\n )\n }\n}\n\nconst formatCardNumberRegex = /(?=(?:....)*$)/g\n\nexport const formatCardNumber = (cardNumber, digits = 8) => {\n if (!cardNumber) {\n return cardNumber\n }\n if (digits && digits <= cardNumber.length) {\n return cardNumber\n .slice(cardNumber.length - digits, cardNumber.length)\n .replace(formatCardNumberRegex, ' ')\n .trim()\n }\n return cardNumber.replace(formatCardNumberRegex, ' ').trim()\n}\n\nexport const getCardData = (productCode) => {\n const card = cardProducts.find(\n (item) => item.productCode === productCode\n )\n return card || defaultCard(productCode)\n}\n\nconst defaultCard = (productCode) => ({\n productCode,\n productName: '',\n displayName: '',\n cardDesign: defaultDesign,\n cardType: CardType.None,\n productType: ProductType.None,\n bankAxept: BankAxeptType.None,\n})\n\nStatusOverlay.propTypes = {\n cardStatus: PropTypes.string.isRequired,\n translations: PropTypes.object.isRequired,\n}\n\nconst BlockingOverlay = ({ cardStatus, text }, skeleton) => {\n return (\n <div\n className={classnames(\n 'dnb-payment-card__blocking__overlay',\n createSkeletonClass('font', skeleton)\n )}\n >\n <div className=\"dnb-payment-card__blocking__center\">\n <StatusIcon status={cardStatus} />\n <P top=\"xx-small\">{text}</P>\n </div>\n </div>\n )\n}\n\nfunction StatusOverlay({ cardStatus, translations }) {\n const cardStatusMap = {\n not_active: translations.text_not_active,\n order_in_process: translations.text_order_in_process,\n renewed: translations.text_renewed,\n replaced: translations.text_replaced,\n blocked: translations.text_blocked,\n expired: translations.text_expired,\n unknown: translations.text_unknown,\n }\n\n return cardStatusMap[cardStatus] ? (\n <BlockingOverlay\n cardStatus={cardStatus}\n text={cardStatusMap[cardStatus]}\n />\n ) : null\n}\n\nCardText.propTypes = {\n cardNumber: PropTypes.string.isRequired,\n translations: PropTypes.object.isRequired,\n skeleton: PropTypes.bool.isRequired,\n}\n\nfunction CardText({ cardNumber, translations, skeleton }) {\n return (\n <span\n className={classnames(\n 'dnb-payment-card__card__wrapper',\n createSkeletonClass('font', skeleton)\n )}\n >\n <P\n className=\"dnb-payment-card__card__holder\"\n modifier=\"x-small medium\"\n >\n {translations.text_card_number}\n </P>\n <P className=\"dnb-payment-card__card__numbers\">{cardNumber}</P>\n </span>\n )\n}\n\nNormalCard.propTypes = {\n id: PropTypes.string,\n skeleton: PropTypes.bool,\n data: cardDataPropTypes.isRequired,\n cardStatus: PropTypes.string.isRequired,\n cardNumber: PropTypes.string.isRequired,\n translations: PropTypes.object.isRequired,\n}\n\nfunction NormalCard({\n data,\n cardStatus,\n cardNumber,\n id = null,\n skeleton = null,\n translations,\n}) {\n return (\n <div\n id={id}\n className={classnames(\n 'dnb-payment-card__card',\n `dnb-payment-card__${data.cardDesign.cardStyle}`\n )}\n {...(data.cardDesign?.backgroundImage\n ? {\n style: {\n backgroundImage: `url(${data.cardDesign.backgroundImage})`,\n },\n }\n : {})}\n >\n <div className=\"dnb-payment-card__card__content\">\n <div className=\"dnb-payment-card__card__top\">\n <BankLogo logoType={data.cardDesign.bankLogo} />\n <ProductLogo\n productType={data.productType}\n cardDesign={data.cardDesign}\n />\n <BankAxeptLogo\n bankAxept={data.bankAxept}\n cardDesign={data.cardDesign}\n />\n </div>\n <div className=\"dnb-payment-card__card__bottom\">\n <CardText\n cardNumber={cardNumber}\n displayName={data.displayName}\n translations={translations}\n skeleton={skeleton}\n />\n <TypeLogo\n cardType={data.cardType}\n cardDesign={data.cardDesign}\n />\n </div>\n </div>\n <StatusOverlay cardStatus={cardStatus} translations={translations} />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"PaymentCard.js","names":["React","PropTypes","classnames","Context","Provider","isTrue","validateDOMAttributes","extendPropsWithContextInClassComponent","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","formatCardNumber","CardFigure","cardDataPropTypes","ProductType","CardType","BankAxeptType","Designs","defaultDesign","cardProducts","translationDefaultPropsProps","text_blocked","text_expired","text_not_active","text_new_order","text_order_in_process","text_replaced","text_renewed","text_new","text_unknown","PaymentCard","PureComponent","render","_this$context","props","defaultProps","locale","context","skeleton","product_code","card_number","card_status","variant","digits","id","raw_data","className","class","_className","children","attributes","_objectWithoutProperties","_excluded","cardData","getCardData","params","_objectSpread","createElement","Consumer","translation","translations","productName","compact","data","cardStatus","cardNumber","parseFloat","_defineProperty","process","env","NODE_ENV","propTypes","string","isRequired","oneOf","oneOfType","number","bool","node","func","productCode","card","find","item","defaultCard","displayName","cardDesign","cardType","None","productType","bankAxept"],"sources":["../../../../src/extensions/payment-card/PaymentCard.js"],"sourcesContent":["/**\n * Web PaymentCard Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport Provider from '../../shared/Provider'\nimport {\n isTrue,\n validateDOMAttributes,\n extendPropsWithContextInClassComponent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../../components/space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../../components/skeleton/SkeletonHelper'\n\nimport { formatCardNumber } from './components/CardNumber'\nimport CardFigure, { cardDataPropTypes } from './components/CardFigure'\n\nimport { ProductType, CardType, BankAxeptType } from './utils/Types'\nimport Designs, { defaultDesign } from './utils/CardDesigns'\nimport cardProducts from './utils/cardProducts'\n\nexport { Designs, ProductType, CardType, BankAxeptType }\n\nconst translationDefaultPropsProps = {\n text_blocked: null,\n text_expired: null,\n text_not_active: null,\n text_new_order: null,\n text_order_in_process: null,\n text_replaced: null,\n text_renewed: null,\n text_new: null,\n text_unknown: null,\n}\n\nexport default class PaymentCard extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n product_code: PropTypes.string.isRequired,\n card_number: PropTypes.string.isRequired,\n card_status: PropTypes.oneOf([\n 'active',\n 'blocked',\n 'expired',\n 'not_active',\n 'new_order',\n 'new',\n 'order_in_process',\n 'renewed',\n 'replaced',\n 'unknown',\n ]),\n variant: PropTypes.oneOf(['normal', 'compact']),\n digits: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n raw_data: cardDataPropTypes,\n id: PropTypes.string,\n locale: PropTypes.string,\n\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n }\n\n static defaultProps = {\n digits: 8,\n locale: null,\n card_status: 'active',\n variant: 'normal',\n\n id: null,\n raw_data: null,\n\n skeleton: false,\n className: null,\n children: null,\n\n ...translationDefaultPropsProps,\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n PaymentCard.defaultProps,\n { locale: this.context.locale },\n { skeleton: this.context?.skeleton }\n )\n\n const {\n product_code,\n card_number,\n card_status,\n variant,\n digits,\n id,\n raw_data,\n locale,\n skeleton,\n className,\n class: _className,\n children, //eslint-disable-line\n ...attributes\n } = props\n\n const cardData = raw_data || getCardData(product_code)\n\n const params = {\n className: classnames(\n 'dnb-payment-card',\n `dnb-payment-card--${variant}`,\n createSkeletonClass(null, skeleton, this.context),\n createSpacingClasses(props),\n className,\n _className\n ),\n ...attributes,\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n return (\n <Provider locale={locale}>\n <Context.Consumer>\n {({ translation }) => {\n const translations = extendPropsWithContextInClassComponent(\n this.props,\n translationDefaultPropsProps,\n translation.PaymentCard\n )\n return (\n <figure {...params}>\n <figcaption className=\"dnb-sr-only dnb-payment-card__figcaption\">\n {cardData.productName}\n </figcaption>\n <CardFigure\n id={id}\n skeleton={isTrue(skeleton)}\n compact={variant === 'compact'}\n data={cardData}\n cardStatus={card_status}\n cardNumber={formatCardNumber(\n card_number,\n parseFloat(digits)\n )}\n translations={translations}\n />\n </figure>\n )\n }}\n </Context.Consumer>\n </Provider>\n )\n }\n}\n\nexport const getCardData = (productCode) => {\n const card = cardProducts.find(\n (item) => item.productCode === productCode\n )\n return card || defaultCard(productCode)\n}\n\nconst defaultCard = (productCode) => ({\n productCode,\n productName: '',\n displayName: '',\n cardDesign: defaultDesign,\n cardType: CardType.None,\n productType: ProductType.None,\n bankAxept: BankAxeptType.None,\n})\n"],"mappings":"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","ignoreList":[]}