@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.
- package/CHANGELOG.md +28 -0
- package/cjs/components/country-flag/CountryFlag.js +6 -3
- package/cjs/components/country-flag/CountryFlag.js.map +1 -1
- package/cjs/components/date-picker/DatePicker.d.ts +16 -7
- package/cjs/components/date-picker/DatePicker.js +8 -20
- package/cjs/components/date-picker/DatePicker.js.map +1 -1
- package/cjs/components/date-picker/DatePickerCalendar.d.ts +1 -3
- package/cjs/components/date-picker/DatePickerCalendar.js +34 -19
- package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/cjs/components/date-picker/DatePickerCalendarNavigator.d.ts +1 -4
- package/cjs/components/date-picker/DatePickerCalendarNavigator.js +1 -10
- package/cjs/components/date-picker/DatePickerCalendarNavigator.js.map +1 -1
- package/cjs/components/date-picker/DatePickerContext.d.ts +1 -0
- package/cjs/components/date-picker/DatePickerContext.js.map +1 -1
- package/cjs/components/date-picker/DatePickerDocs.js +0 -5
- package/cjs/components/date-picker/DatePickerDocs.js.map +1 -1
- package/cjs/components/date-picker/DatePickerFooter.js +2 -2
- package/cjs/components/date-picker/DatePickerFooter.js.map +1 -1
- package/cjs/components/date-picker/DatePickerInput.d.ts +3 -2
- package/cjs/components/date-picker/DatePickerInput.js +9 -8
- package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
- package/cjs/components/date-picker/DatePickerProvider.d.ts +1 -1
- package/cjs/components/date-picker/DatePickerProvider.js +16 -15
- package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
- package/cjs/components/date-picker/DatePickerRange.d.ts +3 -7
- package/cjs/components/date-picker/DatePickerRange.js +10 -8
- package/cjs/components/date-picker/DatePickerRange.js.map +1 -1
- package/cjs/components/date-picker/hooks/useDates.js.map +1 -1
- package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +4 -0
- package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
- package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +5 -0
- package/cjs/components/number-format/NumberUtils.d.ts +1 -1
- package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +2 -9
- package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/cjs/extensions/forms/Field/Date/Date.d.ts +1 -1
- package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Field/Date/DateDocs.js +2 -1
- package/cjs/extensions/forms/Field/Date/DateDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.d.ts +1 -1
- package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
- package/cjs/extensions/forms/Field/Indeterminate/IndeterminateDocs.js +1 -1
- package/cjs/extensions/forms/Field/Indeterminate/IndeterminateDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +8 -4
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +2 -2
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +3 -2
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +20 -13
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/cjs/extensions/forms/Field/SelectCountry/useCountries.d.ts +2016 -0
- package/cjs/extensions/forms/Field/SelectCountry/useCountries.js +72 -0
- package/cjs/extensions/forms/Field/SelectCountry/useCountries.js.map +1 -0
- package/cjs/extensions/forms/Iterate/Array/Array.js +19 -6
- package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +10 -0
- package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/types.d.ts +4 -1
- package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +9 -2
- package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +9 -2
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -2
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/cjs/extensions/forms/Value/SelectCountry/useCountry.js +6 -1
- package/cjs/extensions/forms/Value/SelectCountry/useCountry.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/countries/sv-SE.d.ts +257 -0
- package/cjs/extensions/forms/constants/locales/countries/sv-SE.js +263 -0
- package/cjs/extensions/forms/constants/locales/countries/sv-SE.js.map +1 -0
- package/cjs/extensions/forms/constants/locales/en-GB.d.ts +4 -0
- package/cjs/extensions/forms/constants/locales/en-GB.js +4 -0
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-US.d.ts +4 -0
- package/cjs/extensions/forms/constants/locales/index.d.ts +8 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +4 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.js +4 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/sv-SE.d.ts +4 -0
- package/cjs/extensions/forms/constants/locales/sv-SE.js +4 -0
- package/cjs/extensions/forms/constants/locales/sv-SE.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.d.ts +2 -1
- package/cjs/extensions/forms/hooks/useFieldProps.js +19 -6
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/hooks/usePath.d.ts +4 -1
- package/cjs/extensions/forms/hooks/usePath.js +10 -3
- package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
- package/cjs/extensions/forms/hooks/useTranslation.d.ts +2 -2
- package/cjs/extensions/forms/hooks/useTranslation.js.map +1 -1
- package/cjs/extensions/forms/utils/ajv.js +11 -3
- package/cjs/extensions/forms/utils/ajv.js.map +1 -1
- package/cjs/extensions/payment-card/PaymentCard.d.ts +9 -3
- package/cjs/extensions/payment-card/PaymentCard.js +12 -143
- package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
- package/cjs/extensions/payment-card/PaymentCardDocs.js +13 -13
- package/cjs/extensions/payment-card/PaymentCardDocs.js.map +1 -1
- package/cjs/extensions/payment-card/components/CardFigure.d.ts +12 -0
- package/cjs/extensions/payment-card/components/CardFigure.js +105 -0
- package/cjs/extensions/payment-card/components/CardFigure.js.map +1 -0
- package/cjs/extensions/payment-card/components/CardNumber.d.ts +27 -0
- package/cjs/extensions/payment-card/components/CardNumber.js +37 -0
- package/cjs/extensions/payment-card/components/CardNumber.js.map +1 -0
- package/cjs/extensions/payment-card/components/CardType.d.ts +7 -0
- package/cjs/extensions/payment-card/components/CardType.js +25 -0
- package/cjs/extensions/payment-card/components/CardType.js.map +1 -0
- package/cjs/extensions/payment-card/components/StatusOverlay.d.ts +20 -0
- package/cjs/extensions/payment-card/components/StatusOverlay.js +68 -0
- package/cjs/extensions/payment-card/components/StatusOverlay.js.map +1 -0
- package/cjs/extensions/payment-card/icons/brandLogos/DNB.js +24 -0
- package/cjs/extensions/payment-card/icons/brandLogos/DNB.js.map +1 -0
- package/cjs/extensions/payment-card/icons/brandLogos/Sbanken.js +31 -0
- package/cjs/extensions/payment-card/icons/brandLogos/Sbanken.js.map +1 -0
- package/cjs/extensions/payment-card/icons/index.d.ts +3 -5
- package/cjs/extensions/payment-card/icons/index.js +40 -58
- package/cjs/extensions/payment-card/icons/index.js.map +1 -1
- package/cjs/extensions/payment-card/icons/loyaltyLogos/Bedrift.js +40 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/Bedrift.js.map +1 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/Business.js +43 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/Business.js.map +1 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/Corporate.d.ts +3 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/Corporate.js +52 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/Corporate.js.map +1 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/Intro.js +22 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/Intro.js.map +1 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/PB.js +61 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/PB.js.map +1 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/Pluss.js +29 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/Pluss.js.map +1 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/SagaGold.js +22 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/SagaGold.js.map +1 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js +43 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js.map +1 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/WorldElite.d.ts +3 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/WorldElite.js +22 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/WorldElite.js.map +1 -0
- package/cjs/extensions/payment-card/icons/providers/BankAxept.js +24 -0
- package/cjs/extensions/payment-card/icons/providers/BankAxept.js.map +1 -0
- package/cjs/extensions/payment-card/icons/providers/ClickToPay.d.ts +3 -0
- package/cjs/extensions/payment-card/icons/providers/ClickToPay.js +24 -0
- package/cjs/extensions/payment-card/icons/providers/ClickToPay.js.map +1 -0
- package/cjs/extensions/payment-card/icons/providers/MastercardDark.js +814 -0
- package/cjs/extensions/payment-card/icons/providers/MastercardDark.js.map +1 -0
- package/cjs/extensions/payment-card/icons/providers/MastercardDefault.js +37 -0
- package/cjs/extensions/payment-card/icons/providers/MastercardDefault.js.map +1 -0
- package/cjs/extensions/payment-card/icons/providers/VisaDefault.js +28 -0
- package/cjs/extensions/payment-card/icons/providers/VisaDefault.js.map +1 -0
- package/cjs/extensions/payment-card/icons/providers/VisaPlatinum.js +28 -0
- package/cjs/extensions/payment-card/icons/providers/VisaPlatinum.js.map +1 -0
- package/cjs/extensions/payment-card/icons/status/index.d.ts +3 -0
- package/cjs/extensions/payment-card/icons/status/index.js +61 -0
- package/cjs/extensions/payment-card/icons/status/index.js.map +1 -0
- package/cjs/extensions/payment-card/index.d.ts +2 -0
- package/cjs/extensions/payment-card/index.js +10 -1
- package/cjs/extensions/payment-card/index.js.map +1 -1
- package/cjs/extensions/payment-card/style/dnb-payment-card.css +173 -163
- package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/cjs/extensions/payment-card/style/dnb-payment-card.scss +257 -242
- package/cjs/extensions/payment-card/utils/CardDesigns.d.ts +22 -10
- package/cjs/extensions/payment-card/utils/CardDesigns.js +44 -36
- package/cjs/extensions/payment-card/utils/CardDesigns.js.map +1 -1
- package/cjs/extensions/payment-card/utils/Types.js +2 -0
- package/cjs/extensions/payment-card/utils/Types.js.map +1 -1
- package/cjs/extensions/payment-card/utils/backgrounds/index.d.ts +6 -2
- package/cjs/extensions/payment-card/utils/backgrounds/index.js +31 -3
- package/cjs/extensions/payment-card/utils/backgrounds/index.js.map +1 -1
- package/cjs/extensions/payment-card/utils/backgrounds/master-gold.d.ts +2 -0
- package/cjs/extensions/payment-card/utils/backgrounds/master-gold.js +9 -0
- package/cjs/extensions/payment-card/utils/backgrounds/master-gold.js.map +1 -0
- package/cjs/extensions/payment-card/utils/backgrounds/my-first.d.ts +1 -1
- package/cjs/extensions/payment-card/utils/backgrounds/my-first.js +1 -1
- package/cjs/extensions/payment-card/utils/backgrounds/my-first.js.map +1 -1
- package/cjs/extensions/payment-card/utils/backgrounds/visa-default.d.ts +2 -0
- package/cjs/extensions/payment-card/utils/backgrounds/visa-default.js +9 -0
- package/cjs/extensions/payment-card/utils/backgrounds/visa-default.js.map +1 -0
- package/cjs/extensions/payment-card/utils/backgrounds/visa-pluss.d.ts +2 -0
- package/cjs/extensions/payment-card/utils/backgrounds/visa-pluss.js +9 -0
- package/cjs/extensions/payment-card/utils/backgrounds/visa-pluss.js.map +1 -0
- package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-gold.d.ts +2 -0
- package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-gold.js +9 -0
- package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-gold.js.map +1 -0
- package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-platinum.d.ts +2 -0
- package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js +9 -0
- package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js.map +1 -0
- package/cjs/extensions/payment-card/utils/backgrounds/youth.d.ts +1 -1
- package/cjs/extensions/payment-card/utils/backgrounds/youth.js +1 -1
- package/cjs/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
- package/cjs/extensions/payment-card/utils/cardProducts.d.ts +1 -1
- package/cjs/extensions/payment-card/utils/cardProducts.js +241 -209
- package/cjs/extensions/payment-card/utils/cardProducts.js.map +1 -1
- package/cjs/shared/Context.d.ts +1 -1
- package/cjs/shared/Context.js +5 -14
- package/cjs/shared/Context.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/Provider.js +15 -24
- package/cjs/shared/Provider.js.map +1 -1
- package/cjs/shared/locales/en-GB.d.ts +4 -2
- package/cjs/shared/locales/en-GB.js +6 -4
- package/cjs/shared/locales/en-GB.js.map +1 -1
- package/cjs/shared/locales/en-US.d.ts +4 -2
- package/cjs/shared/locales/index.d.ts +8 -4
- package/cjs/shared/locales/nb-NO.d.ts +4 -2
- package/cjs/shared/locales/nb-NO.js +6 -4
- package/cjs/shared/locales/nb-NO.js.map +1 -1
- package/cjs/shared/locales/sv-SE.d.ts +4 -2
- package/cjs/shared/locales/sv-SE.js +6 -4
- package/cjs/shared/locales/sv-SE.js.map +1 -1
- package/cjs/shared/useTranslation.d.ts +3 -2
- package/cjs/shared/useTranslation.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/dnb-ui-basis.css +1 -1
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -1
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +173 -163
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +4 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +173 -163
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +4 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +173 -163
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +4 -0
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +173 -163
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/components/country-flag/CountryFlag.js +5 -2
- package/components/country-flag/CountryFlag.js.map +1 -1
- package/components/date-picker/DatePicker.d.ts +16 -7
- package/components/date-picker/DatePicker.js +8 -20
- package/components/date-picker/DatePicker.js.map +1 -1
- package/components/date-picker/DatePickerCalendar.d.ts +1 -3
- package/components/date-picker/DatePickerCalendar.js +34 -19
- package/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/components/date-picker/DatePickerCalendarNavigator.d.ts +1 -4
- package/components/date-picker/DatePickerCalendarNavigator.js +1 -10
- package/components/date-picker/DatePickerCalendarNavigator.js.map +1 -1
- package/components/date-picker/DatePickerContext.d.ts +1 -0
- package/components/date-picker/DatePickerContext.js.map +1 -1
- package/components/date-picker/DatePickerDocs.js +0 -5
- package/components/date-picker/DatePickerDocs.js.map +1 -1
- package/components/date-picker/DatePickerFooter.js +2 -2
- package/components/date-picker/DatePickerFooter.js.map +1 -1
- package/components/date-picker/DatePickerInput.d.ts +3 -2
- package/components/date-picker/DatePickerInput.js +9 -8
- package/components/date-picker/DatePickerInput.js.map +1 -1
- package/components/date-picker/DatePickerProvider.d.ts +1 -1
- package/components/date-picker/DatePickerProvider.js +17 -16
- package/components/date-picker/DatePickerProvider.js.map +1 -1
- package/components/date-picker/DatePickerRange.d.ts +3 -7
- package/components/date-picker/DatePickerRange.js +9 -8
- package/components/date-picker/DatePickerRange.js.map +1 -1
- package/components/date-picker/hooks/useDates.js.map +1 -1
- package/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +4 -0
- package/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
- package/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +5 -0
- package/components/number-format/NumberUtils.d.ts +1 -1
- package/es/components/country-flag/CountryFlag.js +5 -2
- package/es/components/country-flag/CountryFlag.js.map +1 -1
- package/es/components/date-picker/DatePicker.d.ts +16 -7
- package/es/components/date-picker/DatePicker.js +8 -20
- package/es/components/date-picker/DatePicker.js.map +1 -1
- package/es/components/date-picker/DatePickerCalendar.d.ts +1 -3
- package/es/components/date-picker/DatePickerCalendar.js +33 -19
- package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/es/components/date-picker/DatePickerCalendarNavigator.d.ts +1 -4
- package/es/components/date-picker/DatePickerCalendarNavigator.js +1 -10
- package/es/components/date-picker/DatePickerCalendarNavigator.js.map +1 -1
- package/es/components/date-picker/DatePickerContext.d.ts +1 -0
- package/es/components/date-picker/DatePickerContext.js.map +1 -1
- package/es/components/date-picker/DatePickerDocs.js +0 -5
- package/es/components/date-picker/DatePickerDocs.js.map +1 -1
- package/es/components/date-picker/DatePickerFooter.js +2 -2
- package/es/components/date-picker/DatePickerFooter.js.map +1 -1
- package/es/components/date-picker/DatePickerInput.d.ts +3 -2
- package/es/components/date-picker/DatePickerInput.js +9 -8
- package/es/components/date-picker/DatePickerInput.js.map +1 -1
- package/es/components/date-picker/DatePickerProvider.d.ts +1 -1
- package/es/components/date-picker/DatePickerProvider.js +16 -15
- package/es/components/date-picker/DatePickerProvider.js.map +1 -1
- package/es/components/date-picker/DatePickerRange.d.ts +3 -7
- package/es/components/date-picker/DatePickerRange.js +9 -8
- package/es/components/date-picker/DatePickerRange.js.map +1 -1
- package/es/components/date-picker/hooks/useDates.js.map +1 -1
- package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +4 -0
- package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
- package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +5 -0
- package/es/components/number-format/NumberUtils.d.ts +1 -1
- package/es/extensions/forms/Field/Boolean/Boolean.d.ts +2 -9
- package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/es/extensions/forms/Field/Date/Date.d.ts +1 -1
- package/es/extensions/forms/Field/Date/Date.js.map +1 -1
- package/es/extensions/forms/Field/Date/DateDocs.js +2 -1
- package/es/extensions/forms/Field/Date/DateDocs.js.map +1 -1
- package/es/extensions/forms/Field/Indeterminate/Indeterminate.d.ts +1 -1
- package/es/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
- package/es/extensions/forms/Field/Indeterminate/IndeterminateDocs.js +1 -1
- package/es/extensions/forms/Field/Indeterminate/IndeterminateDocs.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -3
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +2 -2
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +3 -2
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +13 -6
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/es/extensions/forms/Field/SelectCountry/useCountries.d.ts +2016 -0
- package/es/extensions/forms/Field/SelectCountry/useCountries.js +63 -0
- package/es/extensions/forms/Field/SelectCountry/useCountries.js.map +1 -0
- package/es/extensions/forms/Iterate/Array/Array.js +19 -6
- package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/ArrayDocs.js +10 -0
- package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/types.d.ts +4 -1
- package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
- package/es/extensions/forms/Iterate/PushButton/PushButton.js +9 -2
- package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +10 -3
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -2
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/es/extensions/forms/Value/SelectCountry/useCountry.js +6 -1
- package/es/extensions/forms/Value/SelectCountry/useCountry.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -1
- package/es/extensions/forms/constants/locales/countries/sv-SE.d.ts +257 -0
- package/es/extensions/forms/constants/locales/countries/sv-SE.js +257 -0
- package/es/extensions/forms/constants/locales/countries/sv-SE.js.map +1 -0
- package/es/extensions/forms/constants/locales/en-GB.d.ts +4 -0
- package/es/extensions/forms/constants/locales/en-GB.js +4 -0
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-US.d.ts +4 -0
- package/es/extensions/forms/constants/locales/index.d.ts +8 -0
- package/es/extensions/forms/constants/locales/nb-NO.d.ts +4 -0
- package/es/extensions/forms/constants/locales/nb-NO.js +4 -0
- package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/es/extensions/forms/constants/locales/sv-SE.d.ts +4 -0
- package/es/extensions/forms/constants/locales/sv-SE.js +4 -0
- package/es/extensions/forms/constants/locales/sv-SE.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.d.ts +2 -1
- package/es/extensions/forms/hooks/useFieldProps.js +19 -6
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/hooks/usePath.d.ts +4 -1
- package/es/extensions/forms/hooks/usePath.js +10 -4
- package/es/extensions/forms/hooks/usePath.js.map +1 -1
- package/es/extensions/forms/hooks/useTranslation.d.ts +2 -2
- package/es/extensions/forms/hooks/useTranslation.js.map +1 -1
- package/es/extensions/forms/utils/ajv.js +11 -3
- package/es/extensions/forms/utils/ajv.js.map +1 -1
- package/es/extensions/payment-card/PaymentCard.d.ts +9 -3
- package/es/extensions/payment-card/PaymentCard.js +9 -133
- package/es/extensions/payment-card/PaymentCard.js.map +1 -1
- package/es/extensions/payment-card/PaymentCardDocs.js +13 -13
- package/es/extensions/payment-card/PaymentCardDocs.js.map +1 -1
- package/es/extensions/payment-card/components/CardFigure.d.ts +12 -0
- package/es/extensions/payment-card/components/CardFigure.js +94 -0
- package/es/extensions/payment-card/components/CardFigure.js.map +1 -0
- package/es/extensions/payment-card/components/CardNumber.d.ts +27 -0
- package/es/extensions/payment-card/components/CardNumber.js +26 -0
- package/es/extensions/payment-card/components/CardNumber.js.map +1 -0
- package/es/extensions/payment-card/components/CardType.d.ts +7 -0
- package/es/extensions/payment-card/components/CardType.js +17 -0
- package/es/extensions/payment-card/components/CardType.js.map +1 -0
- package/es/extensions/payment-card/components/StatusOverlay.d.ts +20 -0
- package/es/extensions/payment-card/components/StatusOverlay.js +59 -0
- package/es/extensions/payment-card/components/StatusOverlay.js.map +1 -0
- package/es/extensions/payment-card/icons/brandLogos/DNB.js +17 -0
- package/es/extensions/payment-card/icons/brandLogos/DNB.js.map +1 -0
- package/es/extensions/payment-card/icons/brandLogos/Sbanken.js +24 -0
- package/es/extensions/payment-card/icons/brandLogos/Sbanken.js.map +1 -0
- package/es/extensions/payment-card/icons/index.d.ts +3 -5
- package/es/extensions/payment-card/icons/index.js +30 -53
- package/es/extensions/payment-card/icons/index.js.map +1 -1
- package/es/extensions/payment-card/icons/loyaltyLogos/Bedrift.js +33 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/Bedrift.js.map +1 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/Business.js +36 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/Business.js.map +1 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/Corporate.d.ts +3 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/Corporate.js +45 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/Corporate.js.map +1 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/Intro.js +15 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/Intro.js.map +1 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/PB.js +54 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/PB.js.map +1 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/Pluss.js +22 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/Pluss.js.map +1 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/SagaGold.js +15 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/SagaGold.js.map +1 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js +36 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js.map +1 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/WorldElite.d.ts +3 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/WorldElite.js +15 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/WorldElite.js.map +1 -0
- package/es/extensions/payment-card/icons/providers/BankAxept.js +17 -0
- package/es/extensions/payment-card/icons/providers/BankAxept.js.map +1 -0
- package/es/extensions/payment-card/icons/providers/ClickToPay.d.ts +3 -0
- package/es/extensions/payment-card/icons/providers/ClickToPay.js +17 -0
- package/es/extensions/payment-card/icons/providers/ClickToPay.js.map +1 -0
- package/es/extensions/payment-card/icons/providers/MastercardDark.js +807 -0
- package/es/extensions/payment-card/icons/providers/MastercardDark.js.map +1 -0
- package/es/extensions/payment-card/icons/providers/MastercardDefault.js +30 -0
- package/es/extensions/payment-card/icons/providers/MastercardDefault.js.map +1 -0
- package/es/extensions/payment-card/icons/providers/VisaDefault.js +21 -0
- package/es/extensions/payment-card/icons/providers/VisaDefault.js.map +1 -0
- package/es/extensions/payment-card/icons/providers/VisaPlatinum.js +21 -0
- package/es/extensions/payment-card/icons/providers/VisaPlatinum.js.map +1 -0
- package/es/extensions/payment-card/icons/status/index.d.ts +3 -0
- package/es/extensions/payment-card/icons/status/index.js +52 -0
- package/es/extensions/payment-card/icons/status/index.js.map +1 -0
- package/es/extensions/payment-card/index.d.ts +2 -0
- package/es/extensions/payment-card/index.js +2 -0
- package/es/extensions/payment-card/index.js.map +1 -1
- package/es/extensions/payment-card/style/dnb-payment-card.css +173 -163
- package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/es/extensions/payment-card/style/dnb-payment-card.scss +257 -242
- package/es/extensions/payment-card/utils/CardDesigns.d.ts +22 -10
- package/es/extensions/payment-card/utils/CardDesigns.js +45 -37
- package/es/extensions/payment-card/utils/CardDesigns.js.map +1 -1
- package/es/extensions/payment-card/utils/Types.js +2 -0
- package/es/extensions/payment-card/utils/Types.js.map +1 -1
- package/es/extensions/payment-card/utils/backgrounds/index.d.ts +6 -2
- package/es/extensions/payment-card/utils/backgrounds/index.js +6 -2
- package/es/extensions/payment-card/utils/backgrounds/index.js.map +1 -1
- package/es/extensions/payment-card/utils/backgrounds/master-gold.d.ts +2 -0
- package/es/extensions/payment-card/utils/backgrounds/master-gold.js +3 -0
- package/es/extensions/payment-card/utils/backgrounds/master-gold.js.map +1 -0
- package/es/extensions/payment-card/utils/backgrounds/my-first.d.ts +1 -1
- package/es/extensions/payment-card/utils/backgrounds/my-first.js +1 -1
- package/es/extensions/payment-card/utils/backgrounds/my-first.js.map +1 -1
- package/es/extensions/payment-card/utils/backgrounds/visa-default.d.ts +2 -0
- package/es/extensions/payment-card/utils/backgrounds/visa-default.js +3 -0
- package/es/extensions/payment-card/utils/backgrounds/visa-default.js.map +1 -0
- package/es/extensions/payment-card/utils/backgrounds/visa-pluss.d.ts +2 -0
- package/es/extensions/payment-card/utils/backgrounds/visa-pluss.js +3 -0
- package/es/extensions/payment-card/utils/backgrounds/visa-pluss.js.map +1 -0
- package/es/extensions/payment-card/utils/backgrounds/visa-saga-gold.d.ts +2 -0
- package/es/extensions/payment-card/utils/backgrounds/visa-saga-gold.js +3 -0
- package/es/extensions/payment-card/utils/backgrounds/visa-saga-gold.js.map +1 -0
- package/es/extensions/payment-card/utils/backgrounds/visa-saga-platinum.d.ts +2 -0
- package/es/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js +3 -0
- package/es/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js.map +1 -0
- package/es/extensions/payment-card/utils/backgrounds/youth.d.ts +1 -1
- package/es/extensions/payment-card/utils/backgrounds/youth.js +1 -1
- package/es/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
- package/es/extensions/payment-card/utils/cardProducts.d.ts +1 -1
- package/es/extensions/payment-card/utils/cardProducts.js +241 -209
- package/es/extensions/payment-card/utils/cardProducts.js.map +1 -1
- package/es/shared/Context.d.ts +1 -1
- package/es/shared/Context.js +5 -14
- package/es/shared/Context.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/Provider.js +15 -24
- package/es/shared/Provider.js.map +1 -1
- package/es/shared/locales/en-GB.d.ts +4 -2
- package/es/shared/locales/en-GB.js +6 -4
- package/es/shared/locales/en-GB.js.map +1 -1
- package/es/shared/locales/en-US.d.ts +4 -2
- package/es/shared/locales/index.d.ts +8 -4
- package/es/shared/locales/nb-NO.d.ts +4 -2
- package/es/shared/locales/nb-NO.js +6 -4
- package/es/shared/locales/nb-NO.js.map +1 -1
- package/es/shared/locales/sv-SE.d.ts +4 -2
- package/es/shared/locales/sv-SE.js +6 -4
- package/es/shared/locales/sv-SE.js.map +1 -1
- package/es/shared/useTranslation.d.ts +3 -2
- package/es/shared/useTranslation.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/dnb-ui-basis.css +1 -1
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -1
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +173 -163
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +4 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +173 -163
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +4 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +173 -163
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +4 -0
- package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.css +173 -163
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +3 -3
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/Field/Boolean/Boolean.d.ts +2 -9
- package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/extensions/forms/Field/Date/Date.d.ts +1 -1
- package/extensions/forms/Field/Date/Date.js.map +1 -1
- package/extensions/forms/Field/Date/DateDocs.js +2 -1
- package/extensions/forms/Field/Date/DateDocs.js.map +1 -1
- package/extensions/forms/Field/Indeterminate/Indeterminate.d.ts +1 -1
- package/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
- package/extensions/forms/Field/Indeterminate/IndeterminateDocs.js +1 -1
- package/extensions/forms/Field/Indeterminate/IndeterminateDocs.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -3
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/Provider/useFieldProvider.d.ts +2 -2
- package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +3 -2
- package/extensions/forms/Field/SelectCountry/SelectCountry.js +17 -10
- package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/extensions/forms/Field/SelectCountry/useCountries.d.ts +2016 -0
- package/extensions/forms/Field/SelectCountry/useCountries.js +64 -0
- package/extensions/forms/Field/SelectCountry/useCountries.js.map +1 -0
- package/extensions/forms/Iterate/Array/Array.js +19 -6
- package/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/extensions/forms/Iterate/Array/ArrayDocs.js +10 -0
- package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
- package/extensions/forms/Iterate/Array/types.d.ts +4 -1
- package/extensions/forms/Iterate/Array/types.js.map +1 -1
- package/extensions/forms/Iterate/PushButton/PushButton.js +9 -2
- package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/extensions/forms/Iterate/PushContainer/PushContainer.js +10 -3
- package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -2
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/extensions/forms/Value/SelectCountry/useCountry.js +6 -1
- package/extensions/forms/Value/SelectCountry/useCountry.js.map +1 -1
- package/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
- package/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -1
- package/extensions/forms/constants/locales/countries/sv-SE.d.ts +257 -0
- package/extensions/forms/constants/locales/countries/sv-SE.js +257 -0
- package/extensions/forms/constants/locales/countries/sv-SE.js.map +1 -0
- package/extensions/forms/constants/locales/en-GB.d.ts +4 -0
- package/extensions/forms/constants/locales/en-GB.js +4 -0
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/constants/locales/en-US.d.ts +4 -0
- package/extensions/forms/constants/locales/index.d.ts +8 -0
- package/extensions/forms/constants/locales/nb-NO.d.ts +4 -0
- package/extensions/forms/constants/locales/nb-NO.js +4 -0
- package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/extensions/forms/constants/locales/sv-SE.d.ts +4 -0
- package/extensions/forms/constants/locales/sv-SE.js +4 -0
- package/extensions/forms/constants/locales/sv-SE.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.d.ts +2 -1
- package/extensions/forms/hooks/useFieldProps.js +19 -6
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/hooks/usePath.d.ts +4 -1
- package/extensions/forms/hooks/usePath.js +10 -3
- package/extensions/forms/hooks/usePath.js.map +1 -1
- package/extensions/forms/hooks/useTranslation.d.ts +2 -2
- package/extensions/forms/hooks/useTranslation.js.map +1 -1
- package/extensions/forms/utils/ajv.js +11 -3
- package/extensions/forms/utils/ajv.js.map +1 -1
- package/extensions/payment-card/PaymentCard.d.ts +9 -3
- package/extensions/payment-card/PaymentCard.js +9 -139
- package/extensions/payment-card/PaymentCard.js.map +1 -1
- package/extensions/payment-card/PaymentCardDocs.js +13 -13
- package/extensions/payment-card/PaymentCardDocs.js.map +1 -1
- package/extensions/payment-card/components/CardFigure.d.ts +12 -0
- package/extensions/payment-card/components/CardFigure.js +95 -0
- package/extensions/payment-card/components/CardFigure.js.map +1 -0
- package/extensions/payment-card/components/CardNumber.d.ts +27 -0
- package/extensions/payment-card/components/CardNumber.js +29 -0
- package/extensions/payment-card/components/CardNumber.js.map +1 -0
- package/extensions/payment-card/components/CardType.d.ts +7 -0
- package/extensions/payment-card/components/CardType.js +18 -0
- package/extensions/payment-card/components/CardType.js.map +1 -0
- package/extensions/payment-card/components/StatusOverlay.d.ts +20 -0
- package/extensions/payment-card/components/StatusOverlay.js +60 -0
- package/extensions/payment-card/components/StatusOverlay.js.map +1 -0
- package/extensions/payment-card/icons/brandLogos/DNB.js +17 -0
- package/extensions/payment-card/icons/brandLogos/DNB.js.map +1 -0
- package/extensions/payment-card/icons/brandLogos/Sbanken.js +24 -0
- package/extensions/payment-card/icons/brandLogos/Sbanken.js.map +1 -0
- package/extensions/payment-card/icons/index.d.ts +3 -5
- package/extensions/payment-card/icons/index.js +32 -56
- package/extensions/payment-card/icons/index.js.map +1 -1
- package/extensions/payment-card/icons/loyaltyLogos/Bedrift.js +33 -0
- package/extensions/payment-card/icons/loyaltyLogos/Bedrift.js.map +1 -0
- package/extensions/payment-card/icons/loyaltyLogos/Business.js +36 -0
- package/extensions/payment-card/icons/loyaltyLogos/Business.js.map +1 -0
- package/extensions/payment-card/icons/loyaltyLogos/Corporate.d.ts +3 -0
- package/extensions/payment-card/icons/loyaltyLogos/Corporate.js +45 -0
- package/extensions/payment-card/icons/loyaltyLogos/Corporate.js.map +1 -0
- package/extensions/payment-card/icons/loyaltyLogos/Intro.js +15 -0
- package/extensions/payment-card/icons/loyaltyLogos/Intro.js.map +1 -0
- package/extensions/payment-card/icons/loyaltyLogos/PB.js +54 -0
- package/extensions/payment-card/icons/loyaltyLogos/PB.js.map +1 -0
- package/extensions/payment-card/icons/loyaltyLogos/Pluss.js +22 -0
- package/extensions/payment-card/icons/loyaltyLogos/Pluss.js.map +1 -0
- package/extensions/payment-card/icons/loyaltyLogos/SagaGold.js +15 -0
- package/extensions/payment-card/icons/loyaltyLogos/SagaGold.js.map +1 -0
- package/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js +36 -0
- package/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js.map +1 -0
- package/extensions/payment-card/icons/loyaltyLogos/WorldElite.d.ts +3 -0
- package/extensions/payment-card/icons/loyaltyLogos/WorldElite.js +15 -0
- package/extensions/payment-card/icons/loyaltyLogos/WorldElite.js.map +1 -0
- package/extensions/payment-card/icons/providers/BankAxept.js +17 -0
- package/extensions/payment-card/icons/providers/BankAxept.js.map +1 -0
- package/extensions/payment-card/icons/providers/ClickToPay.d.ts +3 -0
- package/extensions/payment-card/icons/providers/ClickToPay.js +17 -0
- package/extensions/payment-card/icons/providers/ClickToPay.js.map +1 -0
- package/extensions/payment-card/icons/providers/MastercardDark.js +807 -0
- package/extensions/payment-card/icons/providers/MastercardDark.js.map +1 -0
- package/extensions/payment-card/icons/providers/MastercardDefault.js +30 -0
- package/extensions/payment-card/icons/providers/MastercardDefault.js.map +1 -0
- package/extensions/payment-card/icons/providers/VisaDefault.js +21 -0
- package/extensions/payment-card/icons/providers/VisaDefault.js.map +1 -0
- package/extensions/payment-card/icons/providers/VisaPlatinum.js +21 -0
- package/extensions/payment-card/icons/providers/VisaPlatinum.js.map +1 -0
- package/extensions/payment-card/icons/status/index.d.ts +3 -0
- package/extensions/payment-card/icons/status/index.js +53 -0
- package/extensions/payment-card/icons/status/index.js.map +1 -0
- package/extensions/payment-card/index.d.ts +2 -0
- package/extensions/payment-card/index.js +2 -0
- package/extensions/payment-card/index.js.map +1 -1
- package/extensions/payment-card/style/dnb-payment-card.css +173 -163
- package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/extensions/payment-card/style/dnb-payment-card.scss +257 -242
- package/extensions/payment-card/utils/CardDesigns.d.ts +22 -10
- package/extensions/payment-card/utils/CardDesigns.js +45 -37
- package/extensions/payment-card/utils/CardDesigns.js.map +1 -1
- package/extensions/payment-card/utils/Types.js +2 -0
- package/extensions/payment-card/utils/Types.js.map +1 -1
- package/extensions/payment-card/utils/backgrounds/index.d.ts +6 -2
- package/extensions/payment-card/utils/backgrounds/index.js +6 -2
- package/extensions/payment-card/utils/backgrounds/index.js.map +1 -1
- package/extensions/payment-card/utils/backgrounds/master-gold.d.ts +2 -0
- package/extensions/payment-card/utils/backgrounds/master-gold.js +3 -0
- package/extensions/payment-card/utils/backgrounds/master-gold.js.map +1 -0
- package/extensions/payment-card/utils/backgrounds/my-first.d.ts +1 -1
- package/extensions/payment-card/utils/backgrounds/my-first.js +1 -1
- package/extensions/payment-card/utils/backgrounds/my-first.js.map +1 -1
- package/extensions/payment-card/utils/backgrounds/visa-default.d.ts +2 -0
- package/extensions/payment-card/utils/backgrounds/visa-default.js +3 -0
- package/extensions/payment-card/utils/backgrounds/visa-default.js.map +1 -0
- package/extensions/payment-card/utils/backgrounds/visa-pluss.d.ts +2 -0
- package/extensions/payment-card/utils/backgrounds/visa-pluss.js +3 -0
- package/extensions/payment-card/utils/backgrounds/visa-pluss.js.map +1 -0
- package/extensions/payment-card/utils/backgrounds/visa-saga-gold.d.ts +2 -0
- package/extensions/payment-card/utils/backgrounds/visa-saga-gold.js +3 -0
- package/extensions/payment-card/utils/backgrounds/visa-saga-gold.js.map +1 -0
- package/extensions/payment-card/utils/backgrounds/visa-saga-platinum.d.ts +2 -0
- package/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js +3 -0
- package/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js.map +1 -0
- package/extensions/payment-card/utils/backgrounds/youth.d.ts +1 -1
- package/extensions/payment-card/utils/backgrounds/youth.js +1 -1
- package/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
- package/extensions/payment-card/utils/cardProducts.d.ts +1 -1
- package/extensions/payment-card/utils/cardProducts.js +241 -209
- package/extensions/payment-card/utils/cardProducts.js.map +1 -1
- package/package.json +1 -1
- package/shared/Context.d.ts +1 -1
- package/shared/Context.js +5 -14
- package/shared/Context.js.map +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/Provider.js +15 -24
- package/shared/Provider.js.map +1 -1
- package/shared/locales/en-GB.d.ts +4 -2
- package/shared/locales/en-GB.js +6 -4
- package/shared/locales/en-GB.js.map +1 -1
- package/shared/locales/en-US.d.ts +4 -2
- package/shared/locales/index.d.ts +8 -4
- package/shared/locales/nb-NO.d.ts +4 -2
- package/shared/locales/nb-NO.js +6 -4
- package/shared/locales/nb-NO.js.map +1 -1
- package/shared/locales/sv-SE.d.ts +4 -2
- package/shared/locales/sv-SE.js +6 -4
- package/shared/locales/sv-SE.js.map +1 -1
- package/shared/useTranslation.d.ts +3 -2
- package/shared/useTranslation.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/dnb-ui-basis.css +1 -1
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -1
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-extensions.css +173 -163
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +4 -0
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +173 -163
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +4 -0
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +173 -163
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +4 -0
- package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-extensions.css +173 -163
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +3 -3
- package/umd/dnb-ui-lib.min.js +1 -1
- package/cjs/extensions/payment-card/icons/BankAxept.js +0 -22
- package/cjs/extensions/payment-card/icons/BankAxept.js.map +0 -1
- package/cjs/extensions/payment-card/icons/Bedrift.js +0 -22
- package/cjs/extensions/payment-card/icons/Bedrift.js.map +0 -1
- package/cjs/extensions/payment-card/icons/Business.js +0 -22
- package/cjs/extensions/payment-card/icons/Business.js.map +0 -1
- package/cjs/extensions/payment-card/icons/Clock.d.ts +0 -3
- package/cjs/extensions/payment-card/icons/Clock.js +0 -25
- package/cjs/extensions/payment-card/icons/Clock.js.map +0 -1
- package/cjs/extensions/payment-card/icons/Credit.d.ts +0 -3
- package/cjs/extensions/payment-card/icons/Credit.js +0 -22
- package/cjs/extensions/payment-card/icons/Credit.js.map +0 -1
- package/cjs/extensions/payment-card/icons/DNB.js +0 -24
- package/cjs/extensions/payment-card/icons/DNB.js.map +0 -1
- package/cjs/extensions/payment-card/icons/Intro.js +0 -22
- package/cjs/extensions/payment-card/icons/Intro.js.map +0 -1
- package/cjs/extensions/payment-card/icons/MastercardDark.js +0 -28
- package/cjs/extensions/payment-card/icons/MastercardDark.js.map +0 -1
- package/cjs/extensions/payment-card/icons/MastercardDefault.js +0 -28
- package/cjs/extensions/payment-card/icons/MastercardDefault.js.map +0 -1
- package/cjs/extensions/payment-card/icons/PB.js +0 -22
- package/cjs/extensions/payment-card/icons/PB.js.map +0 -1
- package/cjs/extensions/payment-card/icons/Pluss.js +0 -22
- package/cjs/extensions/payment-card/icons/Pluss.js.map +0 -1
- package/cjs/extensions/payment-card/icons/SagaGold.js +0 -22
- package/cjs/extensions/payment-card/icons/SagaGold.js.map +0 -1
- package/cjs/extensions/payment-card/icons/SagaPlatinum.js +0 -22
- package/cjs/extensions/payment-card/icons/SagaPlatinum.js.map +0 -1
- package/cjs/extensions/payment-card/icons/Sbanken.js +0 -22
- package/cjs/extensions/payment-card/icons/Sbanken.js.map +0 -1
- package/cjs/extensions/payment-card/icons/VisaDefault.js +0 -22
- package/cjs/extensions/payment-card/icons/VisaDefault.js.map +0 -1
- package/cjs/extensions/payment-card/icons/VisaPlatinum.js +0 -22
- package/cjs/extensions/payment-card/icons/VisaPlatinum.js.map +0 -1
- package/cjs/extensions/payment-card/utils/backgrounds/ung.d.ts +0 -2
- package/cjs/extensions/payment-card/utils/backgrounds/ung.js +0 -9
- package/cjs/extensions/payment-card/utils/backgrounds/ung.js.map +0 -1
- package/es/extensions/payment-card/icons/BankAxept.js +0 -15
- package/es/extensions/payment-card/icons/BankAxept.js.map +0 -1
- package/es/extensions/payment-card/icons/Bedrift.js +0 -15
- package/es/extensions/payment-card/icons/Bedrift.js.map +0 -1
- package/es/extensions/payment-card/icons/Business.js +0 -15
- package/es/extensions/payment-card/icons/Business.js.map +0 -1
- package/es/extensions/payment-card/icons/Clock.d.ts +0 -3
- package/es/extensions/payment-card/icons/Clock.js +0 -18
- package/es/extensions/payment-card/icons/Clock.js.map +0 -1
- package/es/extensions/payment-card/icons/Credit.d.ts +0 -3
- package/es/extensions/payment-card/icons/Credit.js +0 -15
- package/es/extensions/payment-card/icons/Credit.js.map +0 -1
- package/es/extensions/payment-card/icons/DNB.js +0 -17
- package/es/extensions/payment-card/icons/DNB.js.map +0 -1
- package/es/extensions/payment-card/icons/Intro.js +0 -15
- package/es/extensions/payment-card/icons/Intro.js.map +0 -1
- package/es/extensions/payment-card/icons/MastercardDark.js +0 -21
- package/es/extensions/payment-card/icons/MastercardDark.js.map +0 -1
- package/es/extensions/payment-card/icons/MastercardDefault.js +0 -21
- package/es/extensions/payment-card/icons/MastercardDefault.js.map +0 -1
- package/es/extensions/payment-card/icons/PB.js +0 -15
- package/es/extensions/payment-card/icons/PB.js.map +0 -1
- package/es/extensions/payment-card/icons/Pluss.js +0 -15
- package/es/extensions/payment-card/icons/Pluss.js.map +0 -1
- package/es/extensions/payment-card/icons/SagaGold.js +0 -15
- package/es/extensions/payment-card/icons/SagaGold.js.map +0 -1
- package/es/extensions/payment-card/icons/SagaPlatinum.js +0 -15
- package/es/extensions/payment-card/icons/SagaPlatinum.js.map +0 -1
- package/es/extensions/payment-card/icons/Sbanken.js +0 -15
- package/es/extensions/payment-card/icons/Sbanken.js.map +0 -1
- package/es/extensions/payment-card/icons/VisaDefault.js +0 -15
- package/es/extensions/payment-card/icons/VisaDefault.js.map +0 -1
- package/es/extensions/payment-card/icons/VisaPlatinum.js +0 -15
- package/es/extensions/payment-card/icons/VisaPlatinum.js.map +0 -1
- package/es/extensions/payment-card/utils/backgrounds/ung.d.ts +0 -2
- package/es/extensions/payment-card/utils/backgrounds/ung.js +0 -3
- package/es/extensions/payment-card/utils/backgrounds/ung.js.map +0 -1
- package/extensions/payment-card/icons/BankAxept.js +0 -15
- package/extensions/payment-card/icons/BankAxept.js.map +0 -1
- package/extensions/payment-card/icons/Bedrift.js +0 -15
- package/extensions/payment-card/icons/Bedrift.js.map +0 -1
- package/extensions/payment-card/icons/Business.js +0 -15
- package/extensions/payment-card/icons/Business.js.map +0 -1
- package/extensions/payment-card/icons/Clock.d.ts +0 -3
- package/extensions/payment-card/icons/Clock.js +0 -18
- package/extensions/payment-card/icons/Clock.js.map +0 -1
- package/extensions/payment-card/icons/Credit.d.ts +0 -3
- package/extensions/payment-card/icons/Credit.js +0 -15
- package/extensions/payment-card/icons/Credit.js.map +0 -1
- package/extensions/payment-card/icons/DNB.js +0 -17
- package/extensions/payment-card/icons/DNB.js.map +0 -1
- package/extensions/payment-card/icons/Intro.js +0 -15
- package/extensions/payment-card/icons/Intro.js.map +0 -1
- package/extensions/payment-card/icons/MastercardDark.js +0 -21
- package/extensions/payment-card/icons/MastercardDark.js.map +0 -1
- package/extensions/payment-card/icons/MastercardDefault.js +0 -21
- package/extensions/payment-card/icons/MastercardDefault.js.map +0 -1
- package/extensions/payment-card/icons/PB.js +0 -15
- package/extensions/payment-card/icons/PB.js.map +0 -1
- package/extensions/payment-card/icons/Pluss.js +0 -15
- package/extensions/payment-card/icons/Pluss.js.map +0 -1
- package/extensions/payment-card/icons/SagaGold.js +0 -15
- package/extensions/payment-card/icons/SagaGold.js.map +0 -1
- package/extensions/payment-card/icons/SagaPlatinum.js +0 -15
- package/extensions/payment-card/icons/SagaPlatinum.js.map +0 -1
- package/extensions/payment-card/icons/Sbanken.js +0 -15
- package/extensions/payment-card/icons/Sbanken.js.map +0 -1
- package/extensions/payment-card/icons/VisaDefault.js +0 -15
- package/extensions/payment-card/icons/VisaDefault.js.map +0 -1
- package/extensions/payment-card/icons/VisaPlatinum.js +0 -15
- package/extensions/payment-card/icons/VisaPlatinum.js.map +0 -1
- package/extensions/payment-card/utils/backgrounds/ung.d.ts +0 -2
- package/extensions/payment-card/utils/backgrounds/ung.js +0 -3
- package/extensions/payment-card/utils/backgrounds/ung.js.map +0 -1
- /package/cjs/extensions/payment-card/icons/{DNB.d.ts → brandLogos/DNB.d.ts} +0 -0
- /package/cjs/extensions/payment-card/icons/{Sbanken.d.ts → brandLogos/Sbanken.d.ts} +0 -0
- /package/cjs/extensions/payment-card/icons/{Bedrift.d.ts → loyaltyLogos/Bedrift.d.ts} +0 -0
- /package/cjs/extensions/payment-card/icons/{Business.d.ts → loyaltyLogos/Business.d.ts} +0 -0
- /package/cjs/extensions/payment-card/icons/{Intro.d.ts → loyaltyLogos/Intro.d.ts} +0 -0
- /package/cjs/extensions/payment-card/icons/{PB.d.ts → loyaltyLogos/PB.d.ts} +0 -0
- /package/cjs/extensions/payment-card/icons/{Pluss.d.ts → loyaltyLogos/Pluss.d.ts} +0 -0
- /package/cjs/extensions/payment-card/icons/{SagaGold.d.ts → loyaltyLogos/SagaGold.d.ts} +0 -0
- /package/cjs/extensions/payment-card/icons/{SagaPlatinum.d.ts → loyaltyLogos/SagaPlatinum.d.ts} +0 -0
- /package/cjs/extensions/payment-card/icons/{BankAxept.d.ts → providers/BankAxept.d.ts} +0 -0
- /package/cjs/extensions/payment-card/icons/{MastercardDark.d.ts → providers/MastercardDark.d.ts} +0 -0
- /package/cjs/extensions/payment-card/icons/{MastercardDefault.d.ts → providers/MastercardDefault.d.ts} +0 -0
- /package/cjs/extensions/payment-card/icons/{VisaDefault.d.ts → providers/VisaDefault.d.ts} +0 -0
- /package/cjs/extensions/payment-card/icons/{VisaPlatinum.d.ts → providers/VisaPlatinum.d.ts} +0 -0
- /package/es/extensions/payment-card/icons/{DNB.d.ts → brandLogos/DNB.d.ts} +0 -0
- /package/es/extensions/payment-card/icons/{Sbanken.d.ts → brandLogos/Sbanken.d.ts} +0 -0
- /package/es/extensions/payment-card/icons/{Bedrift.d.ts → loyaltyLogos/Bedrift.d.ts} +0 -0
- /package/es/extensions/payment-card/icons/{Business.d.ts → loyaltyLogos/Business.d.ts} +0 -0
- /package/es/extensions/payment-card/icons/{Intro.d.ts → loyaltyLogos/Intro.d.ts} +0 -0
- /package/es/extensions/payment-card/icons/{PB.d.ts → loyaltyLogos/PB.d.ts} +0 -0
- /package/es/extensions/payment-card/icons/{Pluss.d.ts → loyaltyLogos/Pluss.d.ts} +0 -0
- /package/es/extensions/payment-card/icons/{SagaGold.d.ts → loyaltyLogos/SagaGold.d.ts} +0 -0
- /package/es/extensions/payment-card/icons/{SagaPlatinum.d.ts → loyaltyLogos/SagaPlatinum.d.ts} +0 -0
- /package/es/extensions/payment-card/icons/{BankAxept.d.ts → providers/BankAxept.d.ts} +0 -0
- /package/es/extensions/payment-card/icons/{MastercardDark.d.ts → providers/MastercardDark.d.ts} +0 -0
- /package/es/extensions/payment-card/icons/{MastercardDefault.d.ts → providers/MastercardDefault.d.ts} +0 -0
- /package/es/extensions/payment-card/icons/{VisaDefault.d.ts → providers/VisaDefault.d.ts} +0 -0
- /package/es/extensions/payment-card/icons/{VisaPlatinum.d.ts → providers/VisaPlatinum.d.ts} +0 -0
- /package/extensions/payment-card/icons/{DNB.d.ts → brandLogos/DNB.d.ts} +0 -0
- /package/extensions/payment-card/icons/{Sbanken.d.ts → brandLogos/Sbanken.d.ts} +0 -0
- /package/extensions/payment-card/icons/{Bedrift.d.ts → loyaltyLogos/Bedrift.d.ts} +0 -0
- /package/extensions/payment-card/icons/{Business.d.ts → loyaltyLogos/Business.d.ts} +0 -0
- /package/extensions/payment-card/icons/{Intro.d.ts → loyaltyLogos/Intro.d.ts} +0 -0
- /package/extensions/payment-card/icons/{PB.d.ts → loyaltyLogos/PB.d.ts} +0 -0
- /package/extensions/payment-card/icons/{Pluss.d.ts → loyaltyLogos/Pluss.d.ts} +0 -0
- /package/extensions/payment-card/icons/{SagaGold.d.ts → loyaltyLogos/SagaGold.d.ts} +0 -0
- /package/extensions/payment-card/icons/{SagaPlatinum.d.ts → loyaltyLogos/SagaPlatinum.d.ts} +0 -0
- /package/extensions/payment-card/icons/{BankAxept.d.ts → providers/BankAxept.d.ts} +0 -0
- /package/extensions/payment-card/icons/{MastercardDark.d.ts → providers/MastercardDark.d.ts} +0 -0
- /package/extensions/payment-card/icons/{MastercardDefault.d.ts → providers/MastercardDefault.d.ts} +0 -0
- /package/extensions/payment-card/icons/{VisaDefault.d.ts → providers/VisaDefault.d.ts} +0 -0
- /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
|
|
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
|
};
|
|
@@ -16,7 +16,8 @@ function usePath() {
|
|
|
16
16
|
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
17
17
|
const {
|
|
18
18
|
path: pathProp,
|
|
19
|
-
itemPath: itemPathProp
|
|
19
|
+
itemPath: itemPathProp,
|
|
20
|
+
omitSectionPath
|
|
20
21
|
} = props;
|
|
21
22
|
const id = (0, _useId.default)(props.id);
|
|
22
23
|
const {
|
|
@@ -36,13 +37,19 @@ function usePath() {
|
|
|
36
37
|
return cleanPath(paths.reduce((acc, cur) => cur ? `${acc}/${cur}` : acc, '/'));
|
|
37
38
|
}, []);
|
|
38
39
|
const makeSectionPath = (0, _react.useCallback)(path => {
|
|
40
|
+
if (omitSectionPath) {
|
|
41
|
+
return path;
|
|
42
|
+
}
|
|
39
43
|
return cleanPath(`${sectionPath && sectionPath !== '/' ? sectionPath : ''}${path}`);
|
|
40
|
-
}, [sectionPath]);
|
|
44
|
+
}, [omitSectionPath, sectionPath]);
|
|
41
45
|
const makeIteratePath = (0, _react.useCallback)(function () {
|
|
42
46
|
let itemPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : itemPathProp;
|
|
43
47
|
let iteratePath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : iteratePathProp;
|
|
48
|
+
let {
|
|
49
|
+
omitSectionPath = false
|
|
50
|
+
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
44
51
|
let root = '';
|
|
45
|
-
if (sectionPath) {
|
|
52
|
+
if (sectionPath && !omitSectionPath) {
|
|
46
53
|
root = makeSectionPath('');
|
|
47
54
|
}
|
|
48
55
|
return cleanPath(`${root}${iteratePath || ''}/${iterateElementIndex}${itemPath || ''}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePath.js","names":["_react","require","_useId","_interopRequireDefault","_SectionContext","_IterateItemContext","e","__esModule","default","usePath","_useContext","_useContext2","props","arguments","length","undefined","path","pathProp","itemPath","itemPathProp","id","useId","sectionPath","useContext","SectionContext","iteratePathProp","index","iterateElementIndex","IterateItemContext","startsWith","Error","joinPath","useCallback","paths","cleanPath","reduce","acc","cur","makeSectionPath","makeIteratePath","iteratePath","root","useMemo","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":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,eAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,mBAAA,GAAAF,sBAAA,CAAAF,OAAA;AAA8D,SAAAE,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;
|
|
1
|
+
{"version":3,"file":"usePath.js","names":["_react","require","_useId","_interopRequireDefault","_SectionContext","_IterateItemContext","e","__esModule","default","usePath","_useContext","_useContext2","props","arguments","length","undefined","path","pathProp","itemPath","itemPathProp","omitSectionPath","id","useId","sectionPath","useContext","SectionContext","iteratePathProp","index","iterateElementIndex","IterateItemContext","startsWith","Error","joinPath","useCallback","paths","cleanPath","reduce","acc","cur","makeSectionPath","makeIteratePath","iteratePath","root","useMemo","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":"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","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":["_react","require","_Context","_interopRequireDefault","_useTranslation","_componentHelper","_defaults","_locales","e","__esModule","default","useTranslation","messages","locale","translation","globalTranslation","useContext","SharedContext","assignUtils","useAdditionalUtils","useMemo","extendDeep","formsLocales","LOCALE","combineWithExternalTranslations"],"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,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;
|
|
1
|
+
{"version":3,"file":"useTranslation.js","names":["_react","require","_Context","_interopRequireDefault","_useTranslation","_componentHelper","_defaults","_locales","e","__esModule","default","useTranslation","messages","locale","translation","globalTranslation","useContext","SharedContext","assignUtils","useAdditionalUtils","useMemo","extendDeep","formsLocales","LOCALE","combineWithExternalTranslations"],"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,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AAIA,IAAAG,eAAA,GAAAH,OAAA;AAKA,IAAAI,gBAAA,GAAAJ,OAAA;AAEA,IAAAK,SAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAJ,sBAAA,CAAAF,OAAA;AAA+C,SAAAE,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAkBhC,SAASG,cAAcA,CACpCC,QAGqC,EACrC;EACA,MAAM;IAAEC,MAAM;IAAEC,WAAW,EAAEC;EAAkB,CAAC,GAC9C,IAAAC,iBAAU,EAACC,gBAAa,CAAC;EAC3B,MAAM;IAAEC;EAAY,CAAC,GAAG,IAAAC,kCAAkB,EAAC,CAAC;EAE5C,OAAO,IAAAC,cAAO,EAEZ,MAAM;IACN,MAAMN,WAAW,GAAG,IAAAO,2BAAU,EAC5B,CAAC,CAAC,EACFC,gBAAY,CAACT,MAAM,CAAC,IAAIS,gBAAY,CAACC,gBAAM,CAAC,EAC5CR,iBACF,CAAC;IAED,OAAOG,WAAW,CAChB,IAAAM,+CAA+B,EAAC;MAC9BV,WAAW;MACXF,QAAQ;MACRC;IACF,CAAC,CACH,CAAC;EACH,CAAC,EAAE,CAACK,WAAW,EAAEH,iBAAiB,EAAEF,MAAM,EAAED,QAAQ,CAAC,CAAC;AACxD","ignoreList":[]}
|
|
@@ -47,6 +47,12 @@ const ajvErrorKeywordsTranslationTable = [{
|
|
|
47
47
|
}, {
|
|
48
48
|
ajvKey: 'maximum',
|
|
49
49
|
translationKey: 'NumberField.errorMaximum'
|
|
50
|
+
}, {
|
|
51
|
+
ajvKey: 'minItems',
|
|
52
|
+
translationKey: 'IterateArray.errorMinItems'
|
|
53
|
+
}, {
|
|
54
|
+
ajvKey: 'maxItems',
|
|
55
|
+
translationKey: 'IterateArray.errorMaxItems'
|
|
50
56
|
}, {
|
|
51
57
|
ajvKey: 'exclusiveMinimum',
|
|
52
58
|
translationKey: 'NumberField.errorExclusiveMinimum'
|
|
@@ -96,6 +102,8 @@ function getMessageValues(ajvError) {
|
|
|
96
102
|
case 'maxLength':
|
|
97
103
|
case 'minimum':
|
|
98
104
|
case 'maximum':
|
|
105
|
+
case 'minItems':
|
|
106
|
+
case 'maxItems':
|
|
99
107
|
case 'exclusiveMinimum':
|
|
100
108
|
case 'exclusiveMaximum':
|
|
101
109
|
return {
|
|
@@ -132,10 +140,10 @@ function extendErrorMessagesWithTranslationMessages(messages, translation) {
|
|
|
132
140
|
translationKey
|
|
133
141
|
} = _ref2;
|
|
134
142
|
if (!messages[ajvKey]) {
|
|
135
|
-
var _messages$translation, _messages$translation2;
|
|
143
|
+
var _messages$translation, _translation$keys$, _messages$translation2, _translation$keys$2;
|
|
136
144
|
const keys = translationKey.split('.');
|
|
137
|
-
messages[ajvKey] = (_messages$translation = messages[translationKey]) !== null && _messages$translation !== void 0 ? _messages$translation : translation[keys[0]][keys[1]];
|
|
138
|
-
messages[translationKey] = (_messages$translation2 = messages[translationKey]) !== null && _messages$translation2 !== void 0 ? _messages$translation2 : translation[keys[0]][keys[1]];
|
|
145
|
+
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]];
|
|
146
|
+
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]];
|
|
139
147
|
}
|
|
140
148
|
});
|
|
141
149
|
return messages;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ajv.js","names":["_","_interopRequireDefault","require","_ajvErrors","_jsonPointer","_FormError","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ajvErrorKeywordsTranslationTable","ajvKey","translationKey","makeAjvInstance","instance","ajv","ajvInstance","allErrors","ajvErrors","getInstancePath","ajvError","keyword","instancePath","params","missingProperty","errors","getValidationRule","getMessageValues","_ajvError$params","_ajvError$params2","_ajvError$params3","validationRule","limit","multipleOf","pattern","overwriteErrorMessagesWithGivenAjvKeys","messages","_ref","extendErrorMessagesWithTranslationMessages","translation","_ref2","_messages$translation","_messages$translation2","split","getTranslationKeyFromValidationRule","item","find","_ref3","ajvErrorToFormError","_ref4","_getTranslationKeyFro","_ajvError$message","Error","message","FormError","messageValues","ajvKeyword","ajvErrorsToOneFormError","error","ajvErrorsTransformation","undefined","map","ajvErrorsToFormErrors","data","reduce","path","exports","pointer","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":["_","_interopRequireDefault","require","_ajvErrors","_jsonPointer","_FormError","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ajvErrorKeywordsTranslationTable","ajvKey","translationKey","makeAjvInstance","instance","ajv","ajvInstance","allErrors","ajvErrors","getInstancePath","ajvError","keyword","instancePath","params","missingProperty","errors","getValidationRule","getMessageValues","_ajvError$params","_ajvError$params2","_ajvError$params3","validationRule","limit","multipleOf","pattern","overwriteErrorMessagesWithGivenAjvKeys","messages","_ref","extendErrorMessagesWithTranslationMessages","translation","_ref2","_messages$translation","_translation$keys$","_messages$translation2","_translation$keys$2","split","getTranslationKeyFromValidationRule","item","find","_ref3","ajvErrorToFormError","_ref4","_getTranslationKeyFro","_ajvError$message","Error","message","FormError","messageValues","ajvKeyword","ajvErrorsToOneFormError","error","ajvErrorsTransformation","undefined","map","ajvErrorsToFormErrors","data","reduce","path","exports","pointer","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
|
/**
|
|
@@ -29,8 +29,7 @@ Object.defineProperty(exports, "ProductType", {
|
|
|
29
29
|
return _Types.ProductType;
|
|
30
30
|
}
|
|
31
31
|
});
|
|
32
|
-
exports.getCardData = exports.
|
|
33
|
-
require("core-js/modules/es.string.replace.js");
|
|
32
|
+
exports.getCardData = exports.default = void 0;
|
|
34
33
|
var _react = _interopRequireDefault(require("react"));
|
|
35
34
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
36
35
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
@@ -39,16 +38,15 @@ var _Provider = _interopRequireDefault(require("../../shared/Provider"));
|
|
|
39
38
|
var _componentHelper = require("../../shared/component-helper");
|
|
40
39
|
var _SpacingHelper = require("../../components/space/SpacingHelper");
|
|
41
40
|
var _SkeletonHelper = require("../../components/skeleton/SkeletonHelper");
|
|
42
|
-
var
|
|
41
|
+
var _CardNumber = require("./components/CardNumber");
|
|
42
|
+
var _CardFigure = _interopRequireWildcard(require("./components/CardFigure"));
|
|
43
43
|
var _Types = require("./utils/Types");
|
|
44
44
|
var _CardDesigns = _interopRequireWildcard(require("./utils/CardDesigns"));
|
|
45
45
|
var _cardProducts = _interopRequireDefault(require("./utils/cardProducts"));
|
|
46
|
-
var _icons = require("./icons");
|
|
47
46
|
const _excluded = ["product_code", "card_number", "card_status", "variant", "digits", "id", "raw_data", "locale", "skeleton", "className", "class", "children"];
|
|
48
47
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
49
48
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
50
49
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
51
|
-
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
52
50
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
53
51
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
54
52
|
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
@@ -56,23 +54,15 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
|
|
|
56
54
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
57
55
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
58
56
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
59
|
-
const cardDataPropTypes = process.env.NODE_ENV !== "production" ? _propTypes.default.shape({
|
|
60
|
-
productCode: _propTypes.default.string.isRequired,
|
|
61
|
-
productName: _propTypes.default.string.isRequired,
|
|
62
|
-
displayName: _propTypes.default.string.isRequired,
|
|
63
|
-
cardDesign: _propTypes.default.object.isRequired,
|
|
64
|
-
cardType: _propTypes.default.object.isRequired,
|
|
65
|
-
productType: _propTypes.default.object.isRequired,
|
|
66
|
-
bankAxept: _propTypes.default.object.isRequired
|
|
67
|
-
}) : {};
|
|
68
57
|
const translationDefaultPropsProps = {
|
|
69
|
-
text_card_number: null,
|
|
70
|
-
text_expired: null,
|
|
71
58
|
text_blocked: null,
|
|
59
|
+
text_expired: null,
|
|
72
60
|
text_not_active: null,
|
|
61
|
+
text_new_order: null,
|
|
73
62
|
text_order_in_process: null,
|
|
74
|
-
text_renewed: null,
|
|
75
63
|
text_replaced: null,
|
|
64
|
+
text_renewed: null,
|
|
65
|
+
text_new: null,
|
|
76
66
|
text_unknown: null
|
|
77
67
|
};
|
|
78
68
|
class PaymentCard extends _react.default.PureComponent {
|
|
@@ -113,12 +103,13 @@ class PaymentCard extends _react.default.PureComponent {
|
|
|
113
103
|
const translations = (0, _componentHelper.extendPropsWithContextInClassComponent)(this.props, translationDefaultPropsProps, translation.PaymentCard);
|
|
114
104
|
return _react.default.createElement("figure", params, _react.default.createElement("figcaption", {
|
|
115
105
|
className: "dnb-sr-only dnb-payment-card__figcaption"
|
|
116
|
-
}, cardData.productName), _react.default.createElement(
|
|
106
|
+
}, cardData.productName), _react.default.createElement(_CardFigure.default, {
|
|
117
107
|
id: id,
|
|
118
108
|
skeleton: (0, _componentHelper.isTrue)(skeleton),
|
|
109
|
+
compact: variant === 'compact',
|
|
119
110
|
data: cardData,
|
|
120
111
|
cardStatus: card_status,
|
|
121
|
-
cardNumber: formatCardNumber(card_number, parseFloat(digits)),
|
|
112
|
+
cardNumber: (0, _CardNumber.formatCardNumber)(card_number, parseFloat(digits)),
|
|
122
113
|
translations: translations
|
|
123
114
|
}));
|
|
124
115
|
}));
|
|
@@ -140,10 +131,10 @@ _defineProperty(PaymentCard, "defaultProps", _objectSpread({
|
|
|
140
131
|
process.env.NODE_ENV !== "production" ? PaymentCard.propTypes = _objectSpread(_objectSpread({
|
|
141
132
|
product_code: _propTypes.default.string.isRequired,
|
|
142
133
|
card_number: _propTypes.default.string.isRequired,
|
|
143
|
-
card_status: _propTypes.default.oneOf(['active', 'blocked', 'expired', 'not_active', 'order_in_process', 'renewed', 'replaced', 'unknown']),
|
|
134
|
+
card_status: _propTypes.default.oneOf(['active', 'blocked', 'expired', 'not_active', 'new_order', 'new', 'order_in_process', 'renewed', 'replaced', 'unknown']),
|
|
144
135
|
variant: _propTypes.default.oneOf(['normal', 'compact']),
|
|
145
136
|
digits: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
|
|
146
|
-
raw_data: cardDataPropTypes,
|
|
137
|
+
raw_data: _CardFigure.cardDataPropTypes,
|
|
147
138
|
id: _propTypes.default.string,
|
|
148
139
|
locale: _propTypes.default.string,
|
|
149
140
|
skeleton: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool])
|
|
@@ -151,18 +142,6 @@ process.env.NODE_ENV !== "production" ? PaymentCard.propTypes = _objectSpread(_o
|
|
|
151
142
|
className: _propTypes.default.string,
|
|
152
143
|
children: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.node, _propTypes.default.func])
|
|
153
144
|
}) : void 0;
|
|
154
|
-
const formatCardNumberRegex = /(?=(?:....)*$)/g;
|
|
155
|
-
const formatCardNumber = function (cardNumber) {
|
|
156
|
-
let digits = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 8;
|
|
157
|
-
if (!cardNumber) {
|
|
158
|
-
return cardNumber;
|
|
159
|
-
}
|
|
160
|
-
if (digits && digits <= cardNumber.length) {
|
|
161
|
-
return cardNumber.slice(cardNumber.length - digits, cardNumber.length).replace(formatCardNumberRegex, ' ').trim();
|
|
162
|
-
}
|
|
163
|
-
return cardNumber.replace(formatCardNumberRegex, ' ').trim();
|
|
164
|
-
};
|
|
165
|
-
exports.formatCardNumber = formatCardNumber;
|
|
166
145
|
const getCardData = productCode => {
|
|
167
146
|
const card = _cardProducts.default.find(item => item.productCode === productCode);
|
|
168
147
|
return card || defaultCard(productCode);
|
|
@@ -177,114 +156,4 @@ const defaultCard = productCode => ({
|
|
|
177
156
|
productType: _Types.ProductType.None,
|
|
178
157
|
bankAxept: _Types.BankAxeptType.None
|
|
179
158
|
});
|
|
180
|
-
process.env.NODE_ENV !== "production" ? StatusOverlay.propTypes = {
|
|
181
|
-
cardStatus: _propTypes.default.string.isRequired,
|
|
182
|
-
translations: _propTypes.default.object.isRequired
|
|
183
|
-
} : void 0;
|
|
184
|
-
const BlockingOverlay = (_ref2, skeleton) => {
|
|
185
|
-
let {
|
|
186
|
-
cardStatus,
|
|
187
|
-
text
|
|
188
|
-
} = _ref2;
|
|
189
|
-
return _react.default.createElement("div", {
|
|
190
|
-
className: (0, _classnames.default)('dnb-payment-card__blocking__overlay', (0, _SkeletonHelper.createSkeletonClass)('font', skeleton))
|
|
191
|
-
}, _react.default.createElement("div", {
|
|
192
|
-
className: "dnb-payment-card__blocking__center"
|
|
193
|
-
}, _react.default.createElement(_icons.StatusIcon, {
|
|
194
|
-
status: cardStatus
|
|
195
|
-
}), _react.default.createElement(_P.default, {
|
|
196
|
-
top: "xx-small"
|
|
197
|
-
}, text)));
|
|
198
|
-
};
|
|
199
|
-
function StatusOverlay(_ref3) {
|
|
200
|
-
let {
|
|
201
|
-
cardStatus,
|
|
202
|
-
translations
|
|
203
|
-
} = _ref3;
|
|
204
|
-
const cardStatusMap = {
|
|
205
|
-
not_active: translations.text_not_active,
|
|
206
|
-
order_in_process: translations.text_order_in_process,
|
|
207
|
-
renewed: translations.text_renewed,
|
|
208
|
-
replaced: translations.text_replaced,
|
|
209
|
-
blocked: translations.text_blocked,
|
|
210
|
-
expired: translations.text_expired,
|
|
211
|
-
unknown: translations.text_unknown
|
|
212
|
-
};
|
|
213
|
-
return cardStatusMap[cardStatus] ? _react.default.createElement(BlockingOverlay, {
|
|
214
|
-
cardStatus: cardStatus,
|
|
215
|
-
text: cardStatusMap[cardStatus]
|
|
216
|
-
}) : null;
|
|
217
|
-
}
|
|
218
|
-
process.env.NODE_ENV !== "production" ? CardText.propTypes = {
|
|
219
|
-
cardNumber: _propTypes.default.string.isRequired,
|
|
220
|
-
translations: _propTypes.default.object.isRequired,
|
|
221
|
-
skeleton: _propTypes.default.bool.isRequired
|
|
222
|
-
} : void 0;
|
|
223
|
-
function CardText(_ref4) {
|
|
224
|
-
let {
|
|
225
|
-
cardNumber,
|
|
226
|
-
translations,
|
|
227
|
-
skeleton
|
|
228
|
-
} = _ref4;
|
|
229
|
-
return _react.default.createElement("span", {
|
|
230
|
-
className: (0, _classnames.default)('dnb-payment-card__card__wrapper', (0, _SkeletonHelper.createSkeletonClass)('font', skeleton))
|
|
231
|
-
}, _react.default.createElement(_P.default, {
|
|
232
|
-
className: "dnb-payment-card__card__holder",
|
|
233
|
-
modifier: "x-small medium"
|
|
234
|
-
}, translations.text_card_number), _react.default.createElement(_P.default, {
|
|
235
|
-
className: "dnb-payment-card__card__numbers"
|
|
236
|
-
}, cardNumber));
|
|
237
|
-
}
|
|
238
|
-
process.env.NODE_ENV !== "production" ? NormalCard.propTypes = {
|
|
239
|
-
id: _propTypes.default.string,
|
|
240
|
-
skeleton: _propTypes.default.bool,
|
|
241
|
-
data: cardDataPropTypes.isRequired,
|
|
242
|
-
cardStatus: _propTypes.default.string.isRequired,
|
|
243
|
-
cardNumber: _propTypes.default.string.isRequired,
|
|
244
|
-
translations: _propTypes.default.object.isRequired
|
|
245
|
-
} : void 0;
|
|
246
|
-
function NormalCard(_ref5) {
|
|
247
|
-
var _data$cardDesign;
|
|
248
|
-
let {
|
|
249
|
-
data,
|
|
250
|
-
cardStatus,
|
|
251
|
-
cardNumber,
|
|
252
|
-
id = null,
|
|
253
|
-
skeleton = null,
|
|
254
|
-
translations
|
|
255
|
-
} = _ref5;
|
|
256
|
-
return _react.default.createElement("div", _extends({
|
|
257
|
-
id: id,
|
|
258
|
-
className: `dnb-payment-card__card dnb-payment-card__${data.cardDesign.cardStyle}`
|
|
259
|
-
}, (_data$cardDesign = data.cardDesign) !== null && _data$cardDesign !== void 0 && _data$cardDesign.backgroundImage ? {
|
|
260
|
-
style: {
|
|
261
|
-
backgroundImage: `url(${data.cardDesign.backgroundImage})`
|
|
262
|
-
}
|
|
263
|
-
} : {}), _react.default.createElement("div", {
|
|
264
|
-
className: "dnb-payment-card__card__content"
|
|
265
|
-
}, _react.default.createElement("div", {
|
|
266
|
-
className: "dnb-payment-card__card__top"
|
|
267
|
-
}, _react.default.createElement(_icons.BankLogo, {
|
|
268
|
-
logoType: data.cardDesign.bankLogo
|
|
269
|
-
}), _react.default.createElement(_icons.ProductLogo, {
|
|
270
|
-
productType: data.productType,
|
|
271
|
-
cardDesign: data.cardDesign
|
|
272
|
-
}), _react.default.createElement(_icons.BankAxeptLogo, {
|
|
273
|
-
bankAxept: data.bankAxept,
|
|
274
|
-
cardDesign: data.cardDesign
|
|
275
|
-
})), _react.default.createElement("div", {
|
|
276
|
-
className: "dnb-payment-card__card__bottom"
|
|
277
|
-
}, _react.default.createElement(CardText, {
|
|
278
|
-
cardNumber: cardNumber,
|
|
279
|
-
displayName: data.displayName,
|
|
280
|
-
translations: translations,
|
|
281
|
-
skeleton: skeleton
|
|
282
|
-
}), _react.default.createElement(_icons.TypeLogo, {
|
|
283
|
-
cardType: data.cardType,
|
|
284
|
-
cardDesign: data.cardDesign
|
|
285
|
-
}))), _react.default.createElement(StatusOverlay, {
|
|
286
|
-
cardStatus: cardStatus,
|
|
287
|
-
translations: translations
|
|
288
|
-
}));
|
|
289
|
-
}
|
|
290
159
|
//# sourceMappingURL=PaymentCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentCard.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_Context","_Provider","_componentHelper","_SpacingHelper","_SkeletonHelper","_P","_Types","_CardDesigns","_interopRequireWildcard","_cardProducts","_icons","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","cardDataPropTypes","process","env","NODE_ENV","PropTypes","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","React","PureComponent","render","_this$context","props","extendPropsWithContextInClassComponent","defaultProps","locale","context","skeleton","product_code","card_number","card_status","variant","digits","id","raw_data","className","class","_className","children","attributes","cardData","getCardData","params","classnames","createSkeletonClass","createSpacingClasses","skeletonDOMAttributes","validateDOMAttributes","createElement","Consumer","_ref","translation","translations","NormalCard","isTrue","data","cardStatus","cardNumber","formatCardNumber","parseFloat","exports","Context","propTypes","oneOf","oneOfType","number","bool","spacingPropTypes","node","func","formatCardNumberRegex","undefined","slice","replace","trim","card","cardProducts","find","item","defaultCard","defaultDesign","CardType","None","ProductType","BankAxeptType","StatusOverlay","BlockingOverlay","_ref2","text","StatusIcon","status","top","_ref3","cardStatusMap","not_active","order_in_process","renewed","replaced","blocked","expired","unknown","CardText","_ref4","modifier","_ref5","_data$cardDesign","cardStyle","backgroundImage","style","BankLogo","logoType","bankLogo","ProductLogo","BankAxeptLogo","TypeLogo"],"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","_interopRequireDefault","require","_propTypes","_classnames","_Context","_Provider","_componentHelper","_SpacingHelper","_SkeletonHelper","_CardNumber","_CardFigure","_interopRequireWildcard","_Types","_CardDesigns","_cardProducts","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","translationDefaultPropsProps","text_blocked","text_expired","text_not_active","text_new_order","text_order_in_process","text_replaced","text_renewed","text_new","text_unknown","PaymentCard","React","PureComponent","render","_this$context","props","extendPropsWithContextInClassComponent","defaultProps","locale","context","skeleton","product_code","card_number","card_status","variant","digits","id","raw_data","className","class","_className","children","attributes","cardData","getCardData","params","classnames","createSkeletonClass","createSpacingClasses","skeletonDOMAttributes","validateDOMAttributes","createElement","Consumer","_ref","translation","translations","productName","isTrue","compact","data","cardStatus","cardNumber","formatCardNumber","parseFloat","exports","Context","process","env","NODE_ENV","propTypes","PropTypes","string","isRequired","oneOf","oneOfType","number","cardDataPropTypes","bool","spacingPropTypes","node","func","productCode","card","cardProducts","find","item","defaultCard","displayName","cardDesign","defaultDesign","cardType","CardType","None","productType","ProductType","bankAxept","BankAxeptType"],"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":[]}
|