@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
|
};
|
|
@@ -10,7 +10,8 @@ export default function usePath() {
|
|
|
10
10
|
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
11
11
|
const {
|
|
12
12
|
path: pathProp,
|
|
13
|
-
itemPath: itemPathProp
|
|
13
|
+
itemPath: itemPathProp,
|
|
14
|
+
omitSectionPath
|
|
14
15
|
} = props;
|
|
15
16
|
const id = useId(props.id);
|
|
16
17
|
const {
|
|
@@ -30,13 +31,19 @@ export default function usePath() {
|
|
|
30
31
|
return cleanPath(paths.reduce((acc, cur) => cur ? `${acc}/${cur}` : acc, '/'));
|
|
31
32
|
}, []);
|
|
32
33
|
const makeSectionPath = useCallback(path => {
|
|
34
|
+
if (omitSectionPath) {
|
|
35
|
+
return path;
|
|
36
|
+
}
|
|
33
37
|
return cleanPath(`${sectionPath && sectionPath !== '/' ? sectionPath : ''}${path}`);
|
|
34
|
-
}, [sectionPath]);
|
|
38
|
+
}, [omitSectionPath, sectionPath]);
|
|
35
39
|
const makeIteratePath = useCallback(function () {
|
|
36
40
|
let itemPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : itemPathProp;
|
|
37
41
|
let iteratePath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : iteratePathProp;
|
|
42
|
+
let {
|
|
43
|
+
omitSectionPath = false
|
|
44
|
+
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
38
45
|
let root = '';
|
|
39
|
-
if (sectionPath) {
|
|
46
|
+
if (sectionPath && !omitSectionPath) {
|
|
40
47
|
root = makeSectionPath('');
|
|
41
48
|
}
|
|
42
49
|
return cleanPath(`${root}${iteratePath || ''}/${iterateElementIndex}${itemPath || ''}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePath.js","names":["useCallback","useContext","useMemo","useId","SectionContext","IterateItemContext","usePath","_useContext","_useContext2","props","arguments","length","undefined","path","pathProp","itemPath","itemPathProp","id","sectionPath","iteratePathProp","index","iterateElementIndex","startsWith","Error","joinPath","paths","cleanPath","reduce","acc","cur","makeSectionPath","makeIteratePath","iteratePath","root","makePath","identifier","replace"],"sources":["../../../../../src/extensions/forms/hooks/usePath.ts"],"sourcesContent":["import { useCallback, useContext, useMemo } from 'react'\nimport { Path } from '../types'\nimport useId from '../../../shared/helpers/useId'\nimport SectionContext from '../Form/Section/SectionContext'\nimport IterateItemContext from '../Iterate/IterateItemContext'\n\nexport type Props = {\n id?: string\n path?: Path\n itemPath?: Path\n}\n\nexport default function usePath(props: Props = {}) {\n const { path: pathProp, itemPath: itemPathProp } = props\n const id = useId(props.id)\n const { path: sectionPath } = useContext(SectionContext) ?? {}\n const { path: iteratePathProp, index: iterateElementIndex } =\n useContext(IterateItemContext) ?? {}\n\n if (pathProp && !pathProp.startsWith('/')) {\n throw new Error(`path=\"${pathProp}\" must start with a slash`)\n }\n if (itemPathProp && !itemPathProp.startsWith('/')) {\n throw new Error(`itemPath=\"${itemPathProp}\" must start with a slash`)\n }\n\n const joinPath = useCallback((paths: Array<Path>) => {\n return cleanPath(\n paths.reduce((acc, cur) => (cur ? `${acc}/${cur}` : acc), '/')\n )\n }, [])\n\n const makeSectionPath = useCallback(\n (path: Path) => {\n return cleanPath(\n `${sectionPath && sectionPath !== '/' ? sectionPath : ''}${path}`\n )\n },\n [sectionPath]\n )\n\n const makeIteratePath = useCallback(\n (\n itemPath: Path = itemPathProp,\n iteratePath: Path = iteratePathProp\n ) => {\n let root = ''\n\n if (sectionPath) {\n root = makeSectionPath('')\n }\n\n return cleanPath(\n `${root}${iteratePath || ''}/${iterateElementIndex}${\n itemPath || ''\n }`\n )\n },\n [\n itemPathProp,\n iteratePathProp,\n sectionPath,\n iterateElementIndex,\n makeSectionPath,\n ]\n )\n\n const itemPath = useMemo(() => {\n if (itemPathProp) {\n return makeIteratePath()\n }\n }, [itemPathProp, makeIteratePath])\n\n const makePath = useCallback(\n (path: Path) => {\n if (itemPathProp) {\n return itemPath\n }\n\n if (sectionPath) {\n return makeSectionPath(path)\n }\n\n // Identifier is used is registries of multiple fields, like in the DataContext keeping track of errors\n return path\n },\n [itemPathProp, sectionPath, itemPath, makeSectionPath]\n )\n\n const path = useMemo(() => {\n return makePath(pathProp)\n }, [makePath, pathProp])\n\n const identifier = path ?? id\n return {\n identifier,\n path,\n itemPath,\n joinPath,\n makePath,\n makeIteratePath,\n makeSectionPath,\n cleanPath,\n }\n}\n\n// Will remove duplicate slashes and trailing slashes\n// /foo///bar/// => /foo/bar\nfunction cleanPath(path: Path) {\n return path.replace(/\\/+$|\\/(\\/)+/g, '$1')\n}\n"],"mappings":";;;AAAA,SAASA,WAAW,EAAEC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAExD,OAAOC,KAAK,MAAM,+BAA+B;AACjD,OAAOC,cAAc,MAAM,gCAAgC;AAC3D,OAAOC,kBAAkB,MAAM,+BAA+B;
|
|
1
|
+
{"version":3,"file":"usePath.js","names":["useCallback","useContext","useMemo","useId","SectionContext","IterateItemContext","usePath","_useContext","_useContext2","props","arguments","length","undefined","path","pathProp","itemPath","itemPathProp","omitSectionPath","id","sectionPath","iteratePathProp","index","iterateElementIndex","startsWith","Error","joinPath","paths","cleanPath","reduce","acc","cur","makeSectionPath","makeIteratePath","iteratePath","root","makePath","identifier","replace"],"sources":["../../../../../src/extensions/forms/hooks/usePath.ts"],"sourcesContent":["import { useCallback, useContext, useMemo } from 'react'\nimport { Path } from '../types'\nimport useId from '../../../shared/helpers/useId'\nimport SectionContext from '../Form/Section/SectionContext'\nimport IterateItemContext from '../Iterate/IterateItemContext'\n\nexport type Props = {\n id?: string\n path?: Path\n itemPath?: Path\n omitSectionPath?: boolean\n}\n\nexport default function usePath(props: Props = {}) {\n const { path: pathProp, itemPath: itemPathProp, omitSectionPath } = props\n const id = useId(props.id)\n const { path: sectionPath } = useContext(SectionContext) ?? {}\n const { path: iteratePathProp, index: iterateElementIndex } =\n useContext(IterateItemContext) ?? {}\n\n if (pathProp && !pathProp.startsWith('/')) {\n throw new Error(`path=\"${pathProp}\" must start with a slash`)\n }\n if (itemPathProp && !itemPathProp.startsWith('/')) {\n throw new Error(`itemPath=\"${itemPathProp}\" must start with a slash`)\n }\n\n const joinPath = useCallback((paths: Array<Path>) => {\n return cleanPath(\n paths.reduce((acc, cur) => (cur ? `${acc}/${cur}` : acc), '/')\n )\n }, [])\n\n const makeSectionPath = useCallback(\n (path: Path) => {\n if (omitSectionPath) {\n return path\n }\n return cleanPath(\n `${sectionPath && sectionPath !== '/' ? sectionPath : ''}${path}`\n )\n },\n [omitSectionPath, sectionPath]\n )\n\n const makeIteratePath = useCallback(\n (\n itemPath: Path = itemPathProp,\n iteratePath: Path = iteratePathProp,\n { omitSectionPath = false } = {}\n ) => {\n let root = ''\n\n if (sectionPath && !omitSectionPath) {\n root = makeSectionPath('')\n }\n\n return cleanPath(\n `${root}${iteratePath || ''}/${iterateElementIndex}${\n itemPath || ''\n }`\n )\n },\n [\n itemPathProp,\n iteratePathProp,\n sectionPath,\n iterateElementIndex,\n makeSectionPath,\n ]\n )\n\n const itemPath = useMemo(() => {\n if (itemPathProp) {\n return makeIteratePath()\n }\n }, [itemPathProp, makeIteratePath])\n\n const makePath = useCallback(\n (path: Path) => {\n if (itemPathProp) {\n return itemPath\n }\n\n if (sectionPath) {\n return makeSectionPath(path)\n }\n\n // Identifier is used is registries of multiple fields, like in the DataContext keeping track of errors\n return path\n },\n [itemPathProp, sectionPath, itemPath, makeSectionPath]\n )\n\n const path = useMemo(() => {\n return makePath(pathProp)\n }, [makePath, pathProp])\n\n const identifier = path ?? id\n return {\n identifier,\n path,\n itemPath,\n joinPath,\n makePath,\n makeIteratePath,\n makeSectionPath,\n cleanPath,\n }\n}\n\n// Will remove duplicate slashes and trailing slashes\n// /foo///bar/// => /foo/bar\nfunction cleanPath(path: Path) {\n return path.replace(/\\/+$|\\/(\\/)+/g, '$1')\n}\n"],"mappings":"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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":["useMemo","useContext","SharedContext","combineWithExternalTranslations","useAdditionalUtils","extendDeep","LOCALE","formsLocales","useTranslation","messages","locale","translation","globalTranslation","assignUtils"],"sources":["../../../../../src/extensions/forms/hooks/useTranslation.tsx"],"sourcesContent":["import { useMemo, useContext } from 'react'\nimport SharedContext, {\n TranslationObjectToFlat,\n} from '../../../shared/Context'\nimport {\n combineWithExternalTranslations,\n AdditionalReturnUtils,\n useAdditionalUtils,\n} from '../../../shared/useTranslation'\nimport { extendDeep } from '../../../shared/component-helper'\nimport { DeepPartial } from '../../../shared/types'\nimport { LOCALE } from '../../../shared/defaults'\nimport formsLocales from '../constants/locales'\n\nexport type FormsTranslationDefaultLocales = typeof formsLocales\nexport type FormsTranslationLocale = keyof FormsTranslationDefaultLocales\nexport type FormsTranslationKeys =\n keyof FormsTranslationDefaultLocales[FormsTranslationLocale]\nexport type FormsTranslationValues =\n FormsTranslationDefaultLocales[FormsTranslationLocale]\nexport type FormsTranslation = DeepPartial<\n FormsTranslationDefaultLocales[FormsTranslationLocale]\n>\nexport type FormsTranslationFlat =\n TranslationObjectToFlat<FormsTranslation>\n\ntype CustomLocales = Partial<\n Record<FormsTranslationLocale, FormsTranslation>\n>\n\nexport default function useTranslation<T = FormsTranslation>(\n messages?:\n | FormsTranslation\n | CustomLocales\n | Record<FormsTranslationLocale, T>\n) {\n const { locale, translation: globalTranslation } =\n useContext(SharedContext)\n const { assignUtils } = useAdditionalUtils()\n\n return useMemo(() => {\n const translation = extendDeep(\n {},\n formsLocales[locale] || formsLocales[LOCALE],\n globalTranslation\n )\n\n return assignUtils(\n combineWithExternalTranslations({\n translation,\n messages,\n locale,\n })\n ) as T & AdditionalReturnUtils\n }, [assignUtils, globalTranslation, locale, messages])\n}\n"],"mappings":";;AAAA,SAASA,OAAO,EAAEC,UAAU,QAAQ,OAAO;AAC3C,OAAOC,aAAa,
|
|
1
|
+
{"version":3,"file":"useTranslation.js","names":["useMemo","useContext","SharedContext","combineWithExternalTranslations","useAdditionalUtils","extendDeep","LOCALE","formsLocales","useTranslation","messages","locale","translation","globalTranslation","assignUtils"],"sources":["../../../../../src/extensions/forms/hooks/useTranslation.tsx"],"sourcesContent":["import { useMemo, useContext } from 'react'\nimport SharedContext, {\n TranslationFlatToObject,\n TranslationObjectToFlat,\n} from '../../../shared/Context'\nimport {\n combineWithExternalTranslations,\n AdditionalReturnUtils,\n useAdditionalUtils,\n} from '../../../shared/useTranslation'\nimport { extendDeep } from '../../../shared/component-helper'\nimport { DeepPartial } from '../../../shared/types'\nimport { LOCALE } from '../../../shared/defaults'\nimport formsLocales from '../constants/locales'\n\nexport type FormsTranslationDefaultLocales = typeof formsLocales\nexport type FormsTranslationLocale = keyof FormsTranslationDefaultLocales\nexport type FormsTranslationKeys =\n keyof FormsTranslationDefaultLocales[FormsTranslationLocale]\nexport type FormsTranslationValues =\n FormsTranslationDefaultLocales[FormsTranslationLocale]\nexport type FormsTranslation = DeepPartial<\n FormsTranslationDefaultLocales[FormsTranslationLocale]\n>\nexport type FormsTranslationFlat =\n TranslationObjectToFlat<FormsTranslation>\n\ntype CustomLocales = Partial<\n Record<FormsTranslationLocale, FormsTranslation>\n>\n\nexport default function useTranslation<T = FormsTranslation>(\n messages?:\n | FormsTranslation\n | CustomLocales\n | Record<FormsTranslationLocale, T>\n) {\n const { locale, translation: globalTranslation } =\n useContext(SharedContext)\n const { assignUtils } = useAdditionalUtils()\n\n return useMemo<\n TranslationFlatToObject<T> & AdditionalReturnUtils\n >(() => {\n const translation = extendDeep(\n {},\n formsLocales[locale] || formsLocales[LOCALE],\n globalTranslation\n )\n\n return assignUtils(\n combineWithExternalTranslations({\n translation,\n messages,\n locale,\n })\n ) as TranslationFlatToObject<T> & AdditionalReturnUtils\n }, [assignUtils, globalTranslation, locale, messages])\n}\n"],"mappings":";;AAAA,SAASA,OAAO,EAAEC,UAAU,QAAQ,OAAO;AAC3C,OAAOC,aAAa,MAGb,yBAAyB;AAChC,SACEC,+BAA+B,EAE/BC,kBAAkB,QACb,gCAAgC;AACvC,SAASC,UAAU,QAAQ,kCAAkC;AAE7D,SAASC,MAAM,QAAQ,0BAA0B;AACjD,OAAOC,YAAY,MAAM,sBAAsB;AAkB/C,eAAe,SAASC,cAAcA,CACpCC,QAGqC,EACrC;EACA,MAAM;IAAEC,MAAM;IAAEC,WAAW,EAAEC;EAAkB,CAAC,GAC9CX,UAAU,CAACC,aAAa,CAAC;EAC3B,MAAM;IAAEW;EAAY,CAAC,GAAGT,kBAAkB,CAAC,CAAC;EAE5C,OAAOJ,OAAO,CAEZ,MAAM;IACN,MAAMW,WAAW,GAAGN,UAAU,CAC5B,CAAC,CAAC,EACFE,YAAY,CAACG,MAAM,CAAC,IAAIH,YAAY,CAACD,MAAM,CAAC,EAC5CM,iBACF,CAAC;IAED,OAAOC,WAAW,CAChBV,+BAA+B,CAAC;MAC9BQ,WAAW;MACXF,QAAQ;MACRC;IACF,CAAC,CACH,CAAC;EACH,CAAC,EAAE,CAACG,WAAW,EAAED,iBAAiB,EAAEF,MAAM,EAAED,QAAQ,CAAC,CAAC;AACxD","ignoreList":[]}
|
|
@@ -24,6 +24,12 @@ const ajvErrorKeywordsTranslationTable = [{
|
|
|
24
24
|
}, {
|
|
25
25
|
ajvKey: 'maximum',
|
|
26
26
|
translationKey: 'NumberField.errorMaximum'
|
|
27
|
+
}, {
|
|
28
|
+
ajvKey: 'minItems',
|
|
29
|
+
translationKey: 'IterateArray.errorMinItems'
|
|
30
|
+
}, {
|
|
31
|
+
ajvKey: 'maxItems',
|
|
32
|
+
translationKey: 'IterateArray.errorMaxItems'
|
|
27
33
|
}, {
|
|
28
34
|
ajvKey: 'exclusiveMinimum',
|
|
29
35
|
translationKey: 'NumberField.errorExclusiveMinimum'
|
|
@@ -73,6 +79,8 @@ export function getMessageValues(ajvError) {
|
|
|
73
79
|
case 'maxLength':
|
|
74
80
|
case 'minimum':
|
|
75
81
|
case 'maximum':
|
|
82
|
+
case 'minItems':
|
|
83
|
+
case 'maxItems':
|
|
76
84
|
case 'exclusiveMinimum':
|
|
77
85
|
case 'exclusiveMaximum':
|
|
78
86
|
return {
|
|
@@ -109,10 +117,10 @@ export function extendErrorMessagesWithTranslationMessages(messages, translation
|
|
|
109
117
|
translationKey
|
|
110
118
|
} = _ref2;
|
|
111
119
|
if (!messages[ajvKey]) {
|
|
112
|
-
var _messages$translation, _messages$translation2;
|
|
120
|
+
var _messages$translation, _translation$keys$, _messages$translation2, _translation$keys$2;
|
|
113
121
|
const keys = translationKey.split('.');
|
|
114
|
-
messages[ajvKey] = (_messages$translation = messages[translationKey]) !== null && _messages$translation !== void 0 ? _messages$translation : translation[keys[0]][keys[1]];
|
|
115
|
-
messages[translationKey] = (_messages$translation2 = messages[translationKey]) !== null && _messages$translation2 !== void 0 ? _messages$translation2 : translation[keys[0]][keys[1]];
|
|
122
|
+
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]];
|
|
123
|
+
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]];
|
|
116
124
|
}
|
|
117
125
|
});
|
|
118
126
|
return messages;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ajv.js","names":["ajvInstance","ajvErrors","pointer","FormError","ajvErrorKeywordsTranslationTable","ajvKey","translationKey","makeAjvInstance","instance","ajv","allErrors","getInstancePath","ajvError","keyword","instancePath","params","missingProperty","errors","getValidationRule","getMessageValues","_ajvError$params","_ajvError$params2","_ajvError$params3","validationRule","limit","multipleOf","pattern","overwriteErrorMessagesWithGivenAjvKeys","messages","_objectSpread","forEach","_ref","extendErrorMessagesWithTranslationMessages","translation","_ref2","_messages$translation","_messages$translation2","keys","split","getTranslationKeyFromValidationRule","item","find","_ref3","ajvErrorToFormError","_ref4","_getTranslationKeyFro","_ajvError$message","Error","message","messageValues","ajvKeyword","ajvErrorsToOneFormError","value","length","error","ajvErrorsTransformation","undefined","map","ajvErrorsToFormErrors","data","reduce","path","get","field","console"],"sources":["../../../../../src/extensions/forms/utils/ajv.ts"],"sourcesContent":["import ajvInstance, { ErrorObject } from 'ajv/dist/2020'\nimport ajvErrors from 'ajv-errors'\nimport pointer, { JsonObject } from './json-pointer'\nimport { DefaultErrorMessages, Path } from '../types'\nimport { FormError } from './FormError'\nimport type Ajv from 'ajv/dist/2020'\nimport type { FormsTranslation } from '../hooks/useTranslation'\n\nexport type AjvInstance = typeof ajvInstance\nexport { ajvInstance, Ajv }\n\n/**\n * Translation table for Ajv error keywords.\n * It represents the mapping between Ajv error keywords and their corresponding translation keys.\n */\nconst ajvErrorKeywordsTranslationTable = [\n { ajvKey: 'required', translationKey: 'Field.errorRequired' },\n { ajvKey: 'pattern', translationKey: 'Field.errorPattern' },\n {\n ajvKey: 'minLength',\n translationKey: 'StringField.errorMinLength',\n },\n {\n ajvKey: 'maxLength',\n translationKey: 'StringField.errorMaxLength',\n },\n { ajvKey: 'minimum', translationKey: 'NumberField.errorMinimum' },\n { ajvKey: 'maximum', translationKey: 'NumberField.errorMaximum' },\n {\n ajvKey: 'exclusiveMinimum',\n translationKey: 'NumberField.errorExclusiveMinimum',\n },\n {\n ajvKey: 'exclusiveMaximum',\n translationKey: 'NumberField.errorExclusiveMaximum',\n },\n {\n ajvKey: 'multipleOf',\n translationKey: 'NumberField.errorMultipleOf',\n },\n]\n\n/**\n * Creates an instance of Ajv (Another JSON Schema Validator) with optional custom instance.\n * If no instance is provided, a new instance of Ajv is created with the specified options.\n * The created Ajv instance is enhanced with custom error handling.\n *\n * @param instance - Optional custom instance of Ajv.\n * @returns The created or provided instance of Ajv.\n */\nexport function makeAjvInstance(instance?: Ajv) {\n const ajv =\n instance ||\n new ajvInstance({\n // If allErrors is off, Ajv only give you the first error it finds\n allErrors: true,\n })\n\n if (!ajv['__ajvErrors__']) {\n ajvErrors(ajv)\n ajv['__ajvErrors__'] = true\n }\n\n return ajv\n}\n\n/**\n * Returns the instance path of the given Ajv error.\n * If the error is of type 'required', it is considered an object error and the missing property is shown under the relevant field.\n * If the error is of type 'errorMessage', it is a wrapped error and the instance path is found from the original error to avoid issues like required-errors pointing at the parent object.\n * @param ajvError - The Ajv error object.\n * @returns The instance path of the error.\n */\nexport function getInstancePath(ajvError: ErrorObject): Path {\n switch (ajvError.keyword) {\n case 'required': {\n // Required-errors are considered object errors by ajv, so they don't have instancePaths. We want to\n // show them under the relevant field\n return `${ajvError.instancePath}/${ajvError.params.missingProperty}`\n }\n case 'errorMessage': {\n // errorMessage structures (from ajv-errors) wrap the original error. Find instance path from original\n // to avoid issues like required-errors pointing at parent object.\n if (ajvError.params.errors[0]) {\n return getInstancePath(ajvError.params.errors[0])\n }\n }\n }\n return ajvError.instancePath\n}\n\n/**\n * Retrieves the validation rule from an AJV error object.\n * If the error object has an 'errorMessage' keyword, it unwraps the original error\n * to avoid issues like required-errors pointing at the parent object.\n * @param ajvError - The AJV error object.\n * @returns The validation rule.\n */\nexport function getValidationRule(ajvError: ErrorObject): string {\n if (ajvError.keyword === 'errorMessage' && ajvError.params.errors[0]) {\n // errorMessage structures (from ajv-errors) wrap the original error. Find keyword from original\n // to avoid issues like required-errors pointing at parent object.\n return getValidationRule(ajvError.params.errors[0])\n }\n return ajvError.keyword\n}\n\n/**\n * Retrieves the message values from an AJV error object.\n * @param ajvError The AJV error object.\n * @returns The message values extracted from the error object.\n */\nexport function getMessageValues(\n ajvError: ErrorObject\n): FormError['messageValues'] {\n const validationRule = getValidationRule(ajvError)\n\n switch (validationRule) {\n case 'minLength':\n case 'maxLength':\n case 'minimum':\n case 'maximum':\n case 'exclusiveMinimum':\n case 'exclusiveMaximum':\n return {\n [validationRule]: ajvError.params?.limit,\n }\n case 'multipleOf':\n return {\n [validationRule]: ajvError.params?.multipleOf,\n }\n case 'pattern':\n return {\n [validationRule]: ajvError.params?.pattern,\n }\n }\n}\n\n/**\n * Overwrite the internal translation messages with given messaged that uses the Ajv keywords.\n *\n * @deprecated – can be removed in v11\n */\nexport function overwriteErrorMessagesWithGivenAjvKeys(\n messages: DefaultErrorMessages\n) {\n messages = { ...messages }\n\n ajvErrorKeywordsTranslationTable.forEach(\n ({ ajvKey, translationKey }) => {\n if (messages[ajvKey]) {\n messages[translationKey] = messages[ajvKey]\n }\n }\n )\n\n return messages\n}\n\n/**\n * Extend the error messages with relevant translation messages.\n */\nexport function extendErrorMessagesWithTranslationMessages(\n messages: DefaultErrorMessages,\n translation: FormsTranslation\n) {\n messages = { ...messages }\n\n ajvErrorKeywordsTranslationTable.forEach(\n ({ ajvKey, translationKey }) => {\n if (!messages[ajvKey]) {\n const keys = translationKey.split('.')\n\n /**\n * For backward compatibility.\n * Because we removed ajv keys in the fields, we now always set all the messages here instead.\n *\n * @deprecated – can be removed in v11\n */\n messages[ajvKey] =\n messages[translationKey] ?? translation[keys[0]][keys[1]]\n\n messages[translationKey] =\n messages[translationKey] ?? translation[keys[0]][keys[1]]\n }\n }\n )\n\n return messages\n}\n\n/**\n * Get the translation key from the Ajv validation rule\n */\nexport function getTranslationKeyFromValidationRule(\n validationRule: string\n) {\n const item = ajvErrorKeywordsTranslationTable.find(\n ({ ajvKey }) => ajvKey === validationRule\n )\n return item?.translationKey\n}\n\n/**\n * Converts an AJV error object to a FormError object.\n *\n * @param ajvError - The AJV error object to convert.\n * @returns The converted FormError object.\n */\nexport function ajvErrorToFormError(ajvError: ErrorObject): FormError {\n if (ajvError.keyword === 'errorMessage') {\n return new Error(ajvError.message ?? 'Unknown error')\n }\n\n return new FormError(\n getTranslationKeyFromValidationRule(getValidationRule(ajvError)) ??\n ajvError.message ??\n 'Unknown error',\n {\n // Keep the message values in the error object instead of injecting them into the message\n // at once, since an error might be validated one place, and then get a new message before it is displayed.\n messageValues: getMessageValues(ajvError),\n ajvKeyword: ajvError.keyword,\n }\n )\n}\n\n/**\n * Converts an array of Ajv errors to a single FormError.\n * @param errors - An array of Ajv errors.\n * @returns A single FormError or undefined if there are no errors.\n */\nexport function ajvErrorsToOneFormError(\n errors?: ErrorObject[] | null,\n value?: unknown\n): FormError | undefined {\n if (!errors || errors.length === 0) {\n return\n }\n if (errors.length === 1) {\n const error = ajvErrorsTransformation(errors[0], value)\n if (!error) {\n return undefined\n }\n\n return ajvErrorToFormError(error)\n }\n\n return new FormError('Multiple errors', {\n errors: errors?.map((error) => ajvErrorToFormError(error)),\n })\n}\n\n/**\n * Converts AJV validation errors to form errors.\n *\n * @param errors - The array of AJV validation errors.\n * @param data - The data object being validated.\n * @returns The converted form errors as a record of path and form error pairs.\n */\nexport const ajvErrorsToFormErrors = (\n errors?: ErrorObject[] | null,\n data?: JsonObject\n): Record<string, FormError> => {\n return (errors ?? []).reduce((errors, ajvError) => {\n const path = getInstancePath(ajvError)\n const error = ajvErrorsTransformation(ajvError, data, path)\n\n if (error) {\n errors[path] = ajvErrorToFormError(error)\n }\n\n return errors\n }, {})\n}\n\n/**\n * Transforms AJV errors based on specific conditions.\n *\n * @param ajvError - The AJV error object.\n * @param data - The data object or value being validated.\n * @param path - The path to the data object property being validated.\n * @returns The transformed AJV error object or undefined if the error should be removed.\n */\nfunction ajvErrorsTransformation(\n ajvError: ErrorObject,\n data?: Record<Path, unknown> | unknown,\n path?: Path\n) {\n if (ajvError.keyword === 'type') {\n const value =\n data && typeof data === 'object' && path\n ? pointer.get(data, path)\n : data\n\n // Remove the error if the value is empty\n if (value === '' || value === null) {\n return undefined\n } else {\n // This extend the very limited error message with the value and the path\n const field = path ? `field at path=\"${path}\"` : 'field'\n ajvError.message = `The ${field} value (${value}) type ${ajvError.message}`\n\n // Warn about the issue\n console.error(ajvError.message)\n }\n }\n\n return ajvError\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ajv.js","names":["ajvInstance","ajvErrors","pointer","FormError","ajvErrorKeywordsTranslationTable","ajvKey","translationKey","makeAjvInstance","instance","ajv","allErrors","getInstancePath","ajvError","keyword","instancePath","params","missingProperty","errors","getValidationRule","getMessageValues","_ajvError$params","_ajvError$params2","_ajvError$params3","validationRule","limit","multipleOf","pattern","overwriteErrorMessagesWithGivenAjvKeys","messages","_objectSpread","forEach","_ref","extendErrorMessagesWithTranslationMessages","translation","_ref2","_messages$translation","_translation$keys$","_messages$translation2","_translation$keys$2","keys","split","getTranslationKeyFromValidationRule","item","find","_ref3","ajvErrorToFormError","_ref4","_getTranslationKeyFro","_ajvError$message","Error","message","messageValues","ajvKeyword","ajvErrorsToOneFormError","value","length","error","ajvErrorsTransformation","undefined","map","ajvErrorsToFormErrors","data","reduce","path","get","field","console"],"sources":["../../../../../src/extensions/forms/utils/ajv.ts"],"sourcesContent":["import ajvInstance, { ErrorObject } from 'ajv/dist/2020'\nimport ajvErrors from 'ajv-errors'\nimport pointer, { JsonObject } from './json-pointer'\nimport { DefaultErrorMessages, Path } from '../types'\nimport { FormError } from './FormError'\nimport type Ajv from 'ajv/dist/2020'\nimport type { FormsTranslation } from '../hooks/useTranslation'\n\nexport type AjvInstance = typeof ajvInstance\nexport { ajvInstance, Ajv }\n\n/**\n * Translation table for Ajv error keywords.\n * It represents the mapping between Ajv error keywords and their corresponding translation keys.\n */\nconst ajvErrorKeywordsTranslationTable = [\n { ajvKey: 'required', translationKey: 'Field.errorRequired' },\n { ajvKey: 'pattern', translationKey: 'Field.errorPattern' },\n {\n ajvKey: 'minLength',\n translationKey: 'StringField.errorMinLength',\n },\n {\n ajvKey: 'maxLength',\n translationKey: 'StringField.errorMaxLength',\n },\n { ajvKey: 'minimum', translationKey: 'NumberField.errorMinimum' },\n { ajvKey: 'maximum', translationKey: 'NumberField.errorMaximum' },\n { ajvKey: 'minItems', translationKey: 'IterateArray.errorMinItems' },\n { ajvKey: 'maxItems', translationKey: 'IterateArray.errorMaxItems' },\n {\n ajvKey: 'exclusiveMinimum',\n translationKey: 'NumberField.errorExclusiveMinimum',\n },\n {\n ajvKey: 'exclusiveMaximum',\n translationKey: 'NumberField.errorExclusiveMaximum',\n },\n {\n ajvKey: 'multipleOf',\n translationKey: 'NumberField.errorMultipleOf',\n },\n]\n\n/**\n * Creates an instance of Ajv (Another JSON Schema Validator) with optional custom instance.\n * If no instance is provided, a new instance of Ajv is created with the specified options.\n * The created Ajv instance is enhanced with custom error handling.\n *\n * @param instance - Optional custom instance of Ajv.\n * @returns The created or provided instance of Ajv.\n */\nexport function makeAjvInstance(instance?: Ajv) {\n const ajv =\n instance ||\n new ajvInstance({\n // If allErrors is off, Ajv only give you the first error it finds\n allErrors: true,\n })\n\n if (!ajv['__ajvErrors__']) {\n ajvErrors(ajv)\n ajv['__ajvErrors__'] = true\n }\n\n return ajv\n}\n\n/**\n * Returns the instance path of the given Ajv error.\n * If the error is of type 'required', it is considered an object error and the missing property is shown under the relevant field.\n * If the error is of type 'errorMessage', it is a wrapped error and the instance path is found from the original error to avoid issues like required-errors pointing at the parent object.\n * @param ajvError - The Ajv error object.\n * @returns The instance path of the error.\n */\nexport function getInstancePath(ajvError: ErrorObject): Path {\n switch (ajvError.keyword) {\n case 'required': {\n // Required-errors are considered object errors by ajv, so they don't have instancePaths. We want to\n // show them under the relevant field\n return `${ajvError.instancePath}/${ajvError.params.missingProperty}`\n }\n case 'errorMessage': {\n // errorMessage structures (from ajv-errors) wrap the original error. Find instance path from original\n // to avoid issues like required-errors pointing at parent object.\n if (ajvError.params.errors[0]) {\n return getInstancePath(ajvError.params.errors[0])\n }\n }\n }\n return ajvError.instancePath\n}\n\n/**\n * Retrieves the validation rule from an AJV error object.\n * If the error object has an 'errorMessage' keyword, it unwraps the original error\n * to avoid issues like required-errors pointing at the parent object.\n * @param ajvError - The AJV error object.\n * @returns The validation rule.\n */\nexport function getValidationRule(ajvError: ErrorObject): string {\n if (ajvError.keyword === 'errorMessage' && ajvError.params.errors[0]) {\n // errorMessage structures (from ajv-errors) wrap the original error. Find keyword from original\n // to avoid issues like required-errors pointing at parent object.\n return getValidationRule(ajvError.params.errors[0])\n }\n return ajvError.keyword\n}\n\n/**\n * Retrieves the message values from an AJV error object.\n * @param ajvError The AJV error object.\n * @returns The message values extracted from the error object.\n */\nexport function getMessageValues(\n ajvError: ErrorObject\n): FormError['messageValues'] {\n const validationRule = getValidationRule(ajvError)\n\n switch (validationRule) {\n case 'minLength':\n case 'maxLength':\n case 'minimum':\n case 'maximum':\n case 'minItems':\n case 'maxItems':\n case 'exclusiveMinimum':\n case 'exclusiveMaximum':\n return {\n [validationRule]: ajvError.params?.limit,\n }\n case 'multipleOf':\n return {\n [validationRule]: ajvError.params?.multipleOf,\n }\n case 'pattern':\n return {\n [validationRule]: ajvError.params?.pattern,\n }\n }\n}\n\n/**\n * Overwrite the internal translation messages with given messaged that uses the Ajv keywords.\n *\n * @deprecated – can be removed in v11\n */\nexport function overwriteErrorMessagesWithGivenAjvKeys(\n messages: DefaultErrorMessages\n) {\n messages = { ...messages }\n\n ajvErrorKeywordsTranslationTable.forEach(\n ({ ajvKey, translationKey }) => {\n if (messages[ajvKey]) {\n messages[translationKey] = messages[ajvKey]\n }\n }\n )\n\n return messages\n}\n\n/**\n * Extend the error messages with relevant translation messages.\n */\nexport function extendErrorMessagesWithTranslationMessages(\n messages: DefaultErrorMessages,\n translation: FormsTranslation\n) {\n messages = { ...messages }\n\n ajvErrorKeywordsTranslationTable.forEach(\n ({ ajvKey, translationKey }) => {\n if (!messages[ajvKey]) {\n const keys = translationKey.split('.')\n\n /**\n * For backward compatibility.\n * Because we removed ajv keys in the fields, we now always set all the messages here instead.\n *\n * @deprecated – can be removed in v11\n */\n messages[ajvKey] =\n messages[translationKey] ?? translation[keys[0]]?.[keys[1]]\n\n messages[translationKey] =\n messages[translationKey] ?? translation[keys[0]]?.[keys[1]]\n }\n }\n )\n\n return messages\n}\n\n/**\n * Get the translation key from the Ajv validation rule\n */\nexport function getTranslationKeyFromValidationRule(\n validationRule: string\n) {\n const item = ajvErrorKeywordsTranslationTable.find(\n ({ ajvKey }) => ajvKey === validationRule\n )\n return item?.translationKey\n}\n\n/**\n * Converts an AJV error object to a FormError object.\n *\n * @param ajvError - The AJV error object to convert.\n * @returns The converted FormError object.\n */\nexport function ajvErrorToFormError(ajvError: ErrorObject): FormError {\n if (ajvError.keyword === 'errorMessage') {\n return new Error(ajvError.message ?? 'Unknown error')\n }\n\n return new FormError(\n getTranslationKeyFromValidationRule(getValidationRule(ajvError)) ??\n ajvError.message ??\n 'Unknown error',\n {\n // Keep the message values in the error object instead of injecting them into the message\n // at once, since an error might be validated one place, and then get a new message before it is displayed.\n messageValues: getMessageValues(ajvError),\n ajvKeyword: ajvError.keyword,\n }\n )\n}\n\n/**\n * Converts an array of Ajv errors to a single FormError.\n * @param errors - An array of Ajv errors.\n * @returns A single FormError or undefined if there are no errors.\n */\nexport function ajvErrorsToOneFormError(\n errors?: ErrorObject[] | null,\n value?: unknown\n): FormError | undefined {\n if (!errors || errors.length === 0) {\n return\n }\n if (errors.length === 1) {\n const error = ajvErrorsTransformation(errors[0], value)\n if (!error) {\n return undefined\n }\n\n return ajvErrorToFormError(error)\n }\n\n return new FormError('Multiple errors', {\n errors: errors?.map((error) => ajvErrorToFormError(error)),\n })\n}\n\n/**\n * Converts AJV validation errors to form errors.\n *\n * @param errors - The array of AJV validation errors.\n * @param data - The data object being validated.\n * @returns The converted form errors as a record of path and form error pairs.\n */\nexport const ajvErrorsToFormErrors = (\n errors?: ErrorObject[] | null,\n data?: JsonObject\n): Record<string, FormError> => {\n return (errors ?? []).reduce((errors, ajvError) => {\n const path = getInstancePath(ajvError)\n const error = ajvErrorsTransformation(ajvError, data, path)\n\n if (error) {\n errors[path] = ajvErrorToFormError(error)\n }\n\n return errors\n }, {})\n}\n\n/**\n * Transforms AJV errors based on specific conditions.\n *\n * @param ajvError - The AJV error object.\n * @param data - The data object or value being validated.\n * @param path - The path to the data object property being validated.\n * @returns The transformed AJV error object or undefined if the error should be removed.\n */\nfunction ajvErrorsTransformation(\n ajvError: ErrorObject,\n data?: Record<Path, unknown> | unknown,\n path?: Path\n) {\n if (ajvError.keyword === 'type') {\n const value =\n data && typeof data === 'object' && path\n ? pointer.get(data, path)\n : data\n\n // Remove the error if the value is empty\n if (value === '' || value === null) {\n return undefined\n } else {\n // This extend the very limited error message with the value and the path\n const field = path ? `field at path=\"${path}\"` : 'field'\n ajvError.message = `The ${field} value (${value}) type ${ajvError.message}`\n\n // Warn about the issue\n console.error(ajvError.message)\n }\n }\n\n return ajvError\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,6 +8,8 @@ export type PaymentCardCardStatus =
|
|
|
8
8
|
| 'blocked'
|
|
9
9
|
| 'expired'
|
|
10
10
|
| 'not_active'
|
|
11
|
+
| 'new_order'
|
|
12
|
+
| 'new'
|
|
11
13
|
| 'order_in_process'
|
|
12
14
|
| 'renewed'
|
|
13
15
|
| 'replaced'
|
|
@@ -26,6 +28,8 @@ export enum ProductType {
|
|
|
26
28
|
Business,
|
|
27
29
|
Bedrift,
|
|
28
30
|
PrivateBanking,
|
|
31
|
+
Corporate,
|
|
32
|
+
WorldElite,
|
|
29
33
|
None
|
|
30
34
|
}
|
|
31
35
|
export enum BankAxept {
|
|
@@ -43,17 +47,19 @@ export enum BankAxeptType {
|
|
|
43
47
|
}
|
|
44
48
|
export enum Designs {
|
|
45
49
|
defaultDesign,
|
|
50
|
+
pluss,
|
|
46
51
|
young,
|
|
47
52
|
myFirst,
|
|
48
53
|
youth,
|
|
49
|
-
pluss,
|
|
50
54
|
gold,
|
|
51
55
|
saga,
|
|
52
56
|
sagaPlatinum,
|
|
53
57
|
privateBanking,
|
|
54
58
|
mcBlack,
|
|
55
59
|
businessNoVisa,
|
|
56
|
-
businessWithVisa
|
|
60
|
+
businessWithVisa,
|
|
61
|
+
sbankenVisa,
|
|
62
|
+
sbankenMastercard
|
|
57
63
|
}
|
|
58
64
|
export interface PaymentCardRawData {
|
|
59
65
|
productCode: string;
|
|
@@ -90,7 +96,7 @@ export interface PaymentCardProps
|
|
|
90
96
|
*/
|
|
91
97
|
card_number: string;
|
|
92
98
|
/**
|
|
93
|
-
* use one of these: `active`, `not_active`, `blocked`, `expired`, `renewed`, `replaced`, `order_in_process`, `unknown`. Defaults to `active`.
|
|
99
|
+
* use one of these: `active`, `not_active`, `new_order`, `new`, `blocked`, `expired`, `renewed`, `replaced`, `order_in_process`, `unknown`. Defaults to `active`.
|
|
94
100
|
*/
|
|
95
101
|
card_status?: PaymentCardCardStatus;
|
|
96
102
|
/**
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
5
4
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
6
5
|
const _excluded = ["product_code", "card_number", "card_status", "variant", "digits", "id", "raw_data", "locale", "skeleton", "className", "class", "children"];
|
|
7
|
-
import "core-js/modules/es.string.replace.js";
|
|
8
6
|
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; }
|
|
9
7
|
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; }
|
|
10
8
|
import React from 'react';
|
|
@@ -15,29 +13,21 @@ import Provider from '../../shared/Provider';
|
|
|
15
13
|
import { isTrue, validateDOMAttributes, extendPropsWithContextInClassComponent } from '../../shared/component-helper';
|
|
16
14
|
import { spacingPropTypes, createSpacingClasses } from '../../components/space/SpacingHelper';
|
|
17
15
|
import { skeletonDOMAttributes, createSkeletonClass } from '../../components/skeleton/SkeletonHelper';
|
|
18
|
-
import
|
|
16
|
+
import { formatCardNumber } from './components/CardNumber';
|
|
17
|
+
import CardFigure, { cardDataPropTypes } from './components/CardFigure';
|
|
19
18
|
import { ProductType, CardType, BankAxeptType } from './utils/Types';
|
|
20
19
|
import Designs, { defaultDesign } from './utils/CardDesigns';
|
|
21
20
|
import cardProducts from './utils/cardProducts';
|
|
22
|
-
import { ProductLogo, TypeLogo, BankLogo, StatusIcon, BankAxeptLogo } from './icons';
|
|
23
21
|
export { Designs, ProductType, CardType, BankAxeptType };
|
|
24
|
-
const cardDataPropTypes = process.env.NODE_ENV !== "production" ? PropTypes.shape({
|
|
25
|
-
productCode: PropTypes.string.isRequired,
|
|
26
|
-
productName: PropTypes.string.isRequired,
|
|
27
|
-
displayName: PropTypes.string.isRequired,
|
|
28
|
-
cardDesign: PropTypes.object.isRequired,
|
|
29
|
-
cardType: PropTypes.object.isRequired,
|
|
30
|
-
productType: PropTypes.object.isRequired,
|
|
31
|
-
bankAxept: PropTypes.object.isRequired
|
|
32
|
-
}) : {};
|
|
33
22
|
const translationDefaultPropsProps = {
|
|
34
|
-
text_card_number: null,
|
|
35
|
-
text_expired: null,
|
|
36
23
|
text_blocked: null,
|
|
24
|
+
text_expired: null,
|
|
37
25
|
text_not_active: null,
|
|
26
|
+
text_new_order: null,
|
|
38
27
|
text_order_in_process: null,
|
|
39
|
-
text_renewed: null,
|
|
40
28
|
text_replaced: null,
|
|
29
|
+
text_renewed: null,
|
|
30
|
+
text_new: null,
|
|
41
31
|
text_unknown: null
|
|
42
32
|
};
|
|
43
33
|
export default class PaymentCard extends React.PureComponent {
|
|
@@ -78,9 +68,10 @@ export default class PaymentCard extends React.PureComponent {
|
|
|
78
68
|
const translations = extendPropsWithContextInClassComponent(this.props, translationDefaultPropsProps, translation.PaymentCard);
|
|
79
69
|
return React.createElement("figure", params, React.createElement("figcaption", {
|
|
80
70
|
className: "dnb-sr-only dnb-payment-card__figcaption"
|
|
81
|
-
}, cardData.productName), React.createElement(
|
|
71
|
+
}, cardData.productName), React.createElement(CardFigure, {
|
|
82
72
|
id: id,
|
|
83
73
|
skeleton: isTrue(skeleton),
|
|
74
|
+
compact: variant === 'compact',
|
|
84
75
|
data: cardData,
|
|
85
76
|
cardStatus: card_status,
|
|
86
77
|
cardNumber: formatCardNumber(card_number, parseFloat(digits)),
|
|
@@ -104,7 +95,7 @@ _defineProperty(PaymentCard, "defaultProps", _objectSpread({
|
|
|
104
95
|
process.env.NODE_ENV !== "production" ? PaymentCard.propTypes = _objectSpread(_objectSpread({
|
|
105
96
|
product_code: PropTypes.string.isRequired,
|
|
106
97
|
card_number: PropTypes.string.isRequired,
|
|
107
|
-
card_status: PropTypes.oneOf(['active', 'blocked', 'expired', 'not_active', 'order_in_process', 'renewed', 'replaced', 'unknown']),
|
|
98
|
+
card_status: PropTypes.oneOf(['active', 'blocked', 'expired', 'not_active', 'new_order', 'new', 'order_in_process', 'renewed', 'replaced', 'unknown']),
|
|
108
99
|
variant: PropTypes.oneOf(['normal', 'compact']),
|
|
109
100
|
digits: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
|
|
110
101
|
raw_data: cardDataPropTypes,
|
|
@@ -115,17 +106,6 @@ process.env.NODE_ENV !== "production" ? PaymentCard.propTypes = _objectSpread(_o
|
|
|
115
106
|
className: PropTypes.string,
|
|
116
107
|
children: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.func])
|
|
117
108
|
}) : void 0;
|
|
118
|
-
const formatCardNumberRegex = /(?=(?:....)*$)/g;
|
|
119
|
-
export const formatCardNumber = function (cardNumber) {
|
|
120
|
-
let digits = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 8;
|
|
121
|
-
if (!cardNumber) {
|
|
122
|
-
return cardNumber;
|
|
123
|
-
}
|
|
124
|
-
if (digits && digits <= cardNumber.length) {
|
|
125
|
-
return cardNumber.slice(cardNumber.length - digits, cardNumber.length).replace(formatCardNumberRegex, ' ').trim();
|
|
126
|
-
}
|
|
127
|
-
return cardNumber.replace(formatCardNumberRegex, ' ').trim();
|
|
128
|
-
};
|
|
129
109
|
export const getCardData = productCode => {
|
|
130
110
|
const card = cardProducts.find(item => item.productCode === productCode);
|
|
131
111
|
return card || defaultCard(productCode);
|
|
@@ -139,114 +119,4 @@ const defaultCard = productCode => ({
|
|
|
139
119
|
productType: ProductType.None,
|
|
140
120
|
bankAxept: BankAxeptType.None
|
|
141
121
|
});
|
|
142
|
-
process.env.NODE_ENV !== "production" ? StatusOverlay.propTypes = {
|
|
143
|
-
cardStatus: PropTypes.string.isRequired,
|
|
144
|
-
translations: PropTypes.object.isRequired
|
|
145
|
-
} : void 0;
|
|
146
|
-
const BlockingOverlay = (_ref2, skeleton) => {
|
|
147
|
-
let {
|
|
148
|
-
cardStatus,
|
|
149
|
-
text
|
|
150
|
-
} = _ref2;
|
|
151
|
-
return React.createElement("div", {
|
|
152
|
-
className: classnames('dnb-payment-card__blocking__overlay', createSkeletonClass('font', skeleton))
|
|
153
|
-
}, React.createElement("div", {
|
|
154
|
-
className: "dnb-payment-card__blocking__center"
|
|
155
|
-
}, React.createElement(StatusIcon, {
|
|
156
|
-
status: cardStatus
|
|
157
|
-
}), React.createElement(P, {
|
|
158
|
-
top: "xx-small"
|
|
159
|
-
}, text)));
|
|
160
|
-
};
|
|
161
|
-
function StatusOverlay(_ref3) {
|
|
162
|
-
let {
|
|
163
|
-
cardStatus,
|
|
164
|
-
translations
|
|
165
|
-
} = _ref3;
|
|
166
|
-
const cardStatusMap = {
|
|
167
|
-
not_active: translations.text_not_active,
|
|
168
|
-
order_in_process: translations.text_order_in_process,
|
|
169
|
-
renewed: translations.text_renewed,
|
|
170
|
-
replaced: translations.text_replaced,
|
|
171
|
-
blocked: translations.text_blocked,
|
|
172
|
-
expired: translations.text_expired,
|
|
173
|
-
unknown: translations.text_unknown
|
|
174
|
-
};
|
|
175
|
-
return cardStatusMap[cardStatus] ? React.createElement(BlockingOverlay, {
|
|
176
|
-
cardStatus: cardStatus,
|
|
177
|
-
text: cardStatusMap[cardStatus]
|
|
178
|
-
}) : null;
|
|
179
|
-
}
|
|
180
|
-
process.env.NODE_ENV !== "production" ? CardText.propTypes = {
|
|
181
|
-
cardNumber: PropTypes.string.isRequired,
|
|
182
|
-
translations: PropTypes.object.isRequired,
|
|
183
|
-
skeleton: PropTypes.bool.isRequired
|
|
184
|
-
} : void 0;
|
|
185
|
-
function CardText(_ref4) {
|
|
186
|
-
let {
|
|
187
|
-
cardNumber,
|
|
188
|
-
translations,
|
|
189
|
-
skeleton
|
|
190
|
-
} = _ref4;
|
|
191
|
-
return React.createElement("span", {
|
|
192
|
-
className: classnames('dnb-payment-card__card__wrapper', createSkeletonClass('font', skeleton))
|
|
193
|
-
}, React.createElement(P, {
|
|
194
|
-
className: "dnb-payment-card__card__holder",
|
|
195
|
-
modifier: "x-small medium"
|
|
196
|
-
}, translations.text_card_number), React.createElement(P, {
|
|
197
|
-
className: "dnb-payment-card__card__numbers"
|
|
198
|
-
}, cardNumber));
|
|
199
|
-
}
|
|
200
|
-
process.env.NODE_ENV !== "production" ? NormalCard.propTypes = {
|
|
201
|
-
id: PropTypes.string,
|
|
202
|
-
skeleton: PropTypes.bool,
|
|
203
|
-
data: cardDataPropTypes.isRequired,
|
|
204
|
-
cardStatus: PropTypes.string.isRequired,
|
|
205
|
-
cardNumber: PropTypes.string.isRequired,
|
|
206
|
-
translations: PropTypes.object.isRequired
|
|
207
|
-
} : void 0;
|
|
208
|
-
function NormalCard(_ref5) {
|
|
209
|
-
var _data$cardDesign;
|
|
210
|
-
let {
|
|
211
|
-
data,
|
|
212
|
-
cardStatus,
|
|
213
|
-
cardNumber,
|
|
214
|
-
id = null,
|
|
215
|
-
skeleton = null,
|
|
216
|
-
translations
|
|
217
|
-
} = _ref5;
|
|
218
|
-
return React.createElement("div", _extends({
|
|
219
|
-
id: id,
|
|
220
|
-
className: `dnb-payment-card__card dnb-payment-card__${data.cardDesign.cardStyle}`
|
|
221
|
-
}, (_data$cardDesign = data.cardDesign) !== null && _data$cardDesign !== void 0 && _data$cardDesign.backgroundImage ? {
|
|
222
|
-
style: {
|
|
223
|
-
backgroundImage: `url(${data.cardDesign.backgroundImage})`
|
|
224
|
-
}
|
|
225
|
-
} : {}), React.createElement("div", {
|
|
226
|
-
className: "dnb-payment-card__card__content"
|
|
227
|
-
}, React.createElement("div", {
|
|
228
|
-
className: "dnb-payment-card__card__top"
|
|
229
|
-
}, React.createElement(BankLogo, {
|
|
230
|
-
logoType: data.cardDesign.bankLogo
|
|
231
|
-
}), React.createElement(ProductLogo, {
|
|
232
|
-
productType: data.productType,
|
|
233
|
-
cardDesign: data.cardDesign
|
|
234
|
-
}), React.createElement(BankAxeptLogo, {
|
|
235
|
-
bankAxept: data.bankAxept,
|
|
236
|
-
cardDesign: data.cardDesign
|
|
237
|
-
})), React.createElement("div", {
|
|
238
|
-
className: "dnb-payment-card__card__bottom"
|
|
239
|
-
}, React.createElement(CardText, {
|
|
240
|
-
cardNumber: cardNumber,
|
|
241
|
-
displayName: data.displayName,
|
|
242
|
-
translations: translations,
|
|
243
|
-
skeleton: skeleton
|
|
244
|
-
}), React.createElement(TypeLogo, {
|
|
245
|
-
cardType: data.cardType,
|
|
246
|
-
cardDesign: data.cardDesign
|
|
247
|
-
}))), React.createElement(StatusOverlay, {
|
|
248
|
-
cardStatus: cardStatus,
|
|
249
|
-
translations: translations
|
|
250
|
-
}));
|
|
251
|
-
}
|
|
252
122
|
//# sourceMappingURL=PaymentCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentCard.js","names":["React","PropTypes","classnames","Context","Provider","isTrue","validateDOMAttributes","extendPropsWithContextInClassComponent","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","P","ProductType","CardType","BankAxeptType","Designs","defaultDesign","cardProducts","ProductLogo","TypeLogo","BankLogo","StatusIcon","BankAxeptLogo","cardDataPropTypes","process","env","NODE_ENV","shape","productCode","string","isRequired","productName","displayName","cardDesign","object","cardType","productType","bankAxept","translationDefaultPropsProps","text_card_number","text_expired","text_blocked","text_not_active","text_order_in_process","text_renewed","text_replaced","text_unknown","PaymentCard","PureComponent","render","_this$context","props","defaultProps","locale","context","skeleton","product_code","card_number","card_status","variant","digits","id","raw_data","className","class","_className","children","attributes","_objectWithoutProperties","_excluded","cardData","getCardData","params","_objectSpread","createElement","Consumer","_ref","translation","translations","NormalCard","data","cardStatus","cardNumber","formatCardNumber","parseFloat","_defineProperty","propTypes","oneOf","oneOfType","number","bool","node","func","formatCardNumberRegex","arguments","length","undefined","slice","replace","trim","card","find","item","defaultCard","None","StatusOverlay","BlockingOverlay","_ref2","text","status","top","_ref3","cardStatusMap","not_active","order_in_process","renewed","replaced","blocked","expired","unknown","CardText","_ref4","modifier","_ref5","_data$cardDesign","_extends","cardStyle","backgroundImage","style","logoType","bankLogo"],"sources":["../../../../src/extensions/payment-card/PaymentCard.js"],"sourcesContent":["/**\n * Web PaymentCard Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport Provider from '../../shared/Provider'\nimport {\n isTrue,\n validateDOMAttributes,\n extendPropsWithContextInClassComponent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../../components/space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../../components/skeleton/SkeletonHelper'\nimport P from '../../elements/P'\n\nimport { ProductType, CardType, BankAxeptType } from './utils/Types'\nimport Designs, { defaultDesign } from './utils/CardDesigns'\nimport cardProducts from './utils/cardProducts'\nimport {\n ProductLogo,\n TypeLogo,\n BankLogo,\n StatusIcon,\n BankAxeptLogo,\n} from './icons'\n\nexport { Designs, ProductType, CardType, BankAxeptType }\n\nconst cardDataPropTypes = PropTypes.shape({\n productCode: PropTypes.string.isRequired,\n productName: PropTypes.string.isRequired,\n displayName: PropTypes.string.isRequired,\n cardDesign: PropTypes.object.isRequired,\n cardType: PropTypes.object.isRequired,\n productType: PropTypes.object.isRequired,\n bankAxept: PropTypes.object.isRequired,\n})\n\nconst translationDefaultPropsProps = {\n text_card_number: null,\n text_expired: null,\n text_blocked: null,\n text_not_active: null,\n text_order_in_process: null,\n text_renewed: null,\n text_replaced: null,\n text_unknown: null,\n}\n\nexport default class PaymentCard extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n product_code: PropTypes.string.isRequired,\n card_number: PropTypes.string.isRequired,\n card_status: PropTypes.oneOf([\n 'active',\n 'blocked',\n 'expired',\n 'not_active',\n 'order_in_process',\n 'renewed',\n 'replaced',\n 'unknown',\n ]),\n variant: PropTypes.oneOf(['normal', 'compact']),\n digits: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n raw_data: cardDataPropTypes,\n id: PropTypes.string,\n locale: PropTypes.string,\n\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n }\n\n static defaultProps = {\n digits: 8,\n locale: null,\n card_status: 'active',\n variant: 'normal',\n\n id: null,\n raw_data: null,\n\n skeleton: false,\n className: null,\n children: null,\n\n ...translationDefaultPropsProps,\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n PaymentCard.defaultProps,\n { locale: this.context.locale },\n { skeleton: this.context?.skeleton }\n )\n\n const {\n product_code,\n card_number,\n card_status,\n variant,\n digits,\n id,\n raw_data,\n locale,\n skeleton,\n className,\n class: _className,\n children, //eslint-disable-line\n ...attributes\n } = props\n\n const cardData = raw_data || getCardData(product_code)\n\n const params = {\n className: classnames(\n 'dnb-payment-card',\n `dnb-payment-card--${variant}`,\n createSkeletonClass(null, skeleton, this.context),\n createSpacingClasses(props),\n className,\n _className\n ),\n ...attributes,\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n return (\n <Provider locale={locale}>\n <Context.Consumer>\n {({ translation }) => {\n const translations = extendPropsWithContextInClassComponent(\n this.props,\n translationDefaultPropsProps,\n translation.PaymentCard\n )\n return (\n <figure {...params}>\n <figcaption className=\"dnb-sr-only dnb-payment-card__figcaption\">\n {cardData.productName}\n </figcaption>\n <NormalCard\n id={id}\n skeleton={isTrue(skeleton)}\n data={cardData}\n cardStatus={card_status}\n cardNumber={formatCardNumber(\n card_number,\n parseFloat(digits)\n )}\n translations={translations}\n />\n </figure>\n )\n }}\n </Context.Consumer>\n </Provider>\n )\n }\n}\n\nconst formatCardNumberRegex = /(?=(?:....)*$)/g\n\nexport const formatCardNumber = (cardNumber, digits = 8) => {\n if (!cardNumber) {\n return cardNumber\n }\n if (digits && digits <= cardNumber.length) {\n return cardNumber\n .slice(cardNumber.length - digits, cardNumber.length)\n .replace(formatCardNumberRegex, ' ')\n .trim()\n }\n return cardNumber.replace(formatCardNumberRegex, ' ').trim()\n}\n\nexport const getCardData = (productCode) => {\n const card = cardProducts.find(\n (item) => item.productCode === productCode\n )\n return card || defaultCard(productCode)\n}\n\nconst defaultCard = (productCode) => ({\n productCode,\n productName: '',\n displayName: '',\n cardDesign: defaultDesign,\n cardType: CardType.None,\n productType: ProductType.None,\n bankAxept: BankAxeptType.None,\n})\n\nStatusOverlay.propTypes = {\n cardStatus: PropTypes.string.isRequired,\n translations: PropTypes.object.isRequired,\n}\n\nconst BlockingOverlay = ({ cardStatus, text }, skeleton) => {\n return (\n <div\n className={classnames(\n 'dnb-payment-card__blocking__overlay',\n createSkeletonClass('font', skeleton)\n )}\n >\n <div className=\"dnb-payment-card__blocking__center\">\n <StatusIcon status={cardStatus} />\n <P top=\"xx-small\">{text}</P>\n </div>\n </div>\n )\n}\n\nfunction StatusOverlay({ cardStatus, translations }) {\n const cardStatusMap = {\n not_active: translations.text_not_active,\n order_in_process: translations.text_order_in_process,\n renewed: translations.text_renewed,\n replaced: translations.text_replaced,\n blocked: translations.text_blocked,\n expired: translations.text_expired,\n unknown: translations.text_unknown,\n }\n\n return cardStatusMap[cardStatus] ? (\n <BlockingOverlay\n cardStatus={cardStatus}\n text={cardStatusMap[cardStatus]}\n />\n ) : null\n}\n\nCardText.propTypes = {\n cardNumber: PropTypes.string.isRequired,\n translations: PropTypes.object.isRequired,\n skeleton: PropTypes.bool.isRequired,\n}\n\nfunction CardText({ cardNumber, translations, skeleton }) {\n return (\n <span\n className={classnames(\n 'dnb-payment-card__card__wrapper',\n createSkeletonClass('font', skeleton)\n )}\n >\n <P\n className=\"dnb-payment-card__card__holder\"\n modifier=\"x-small medium\"\n >\n {translations.text_card_number}\n </P>\n <P className=\"dnb-payment-card__card__numbers\">{cardNumber}</P>\n </span>\n )\n}\n\nNormalCard.propTypes = {\n id: PropTypes.string,\n skeleton: PropTypes.bool,\n data: cardDataPropTypes.isRequired,\n cardStatus: PropTypes.string.isRequired,\n cardNumber: PropTypes.string.isRequired,\n translations: PropTypes.object.isRequired,\n}\n\nfunction NormalCard({\n data,\n cardStatus,\n cardNumber,\n id = null,\n skeleton = null,\n translations,\n}) {\n return (\n <div\n id={id}\n className={classnames(\n 'dnb-payment-card__card',\n `dnb-payment-card__${data.cardDesign.cardStyle}`\n )}\n {...(data.cardDesign?.backgroundImage\n ? {\n style: {\n backgroundImage: `url(${data.cardDesign.backgroundImage})`,\n },\n }\n : {})}\n >\n <div className=\"dnb-payment-card__card__content\">\n <div className=\"dnb-payment-card__card__top\">\n <BankLogo logoType={data.cardDesign.bankLogo} />\n <ProductLogo\n productType={data.productType}\n cardDesign={data.cardDesign}\n />\n <BankAxeptLogo\n bankAxept={data.bankAxept}\n cardDesign={data.cardDesign}\n />\n </div>\n <div className=\"dnb-payment-card__card__bottom\">\n <CardText\n cardNumber={cardNumber}\n displayName={data.displayName}\n translations={translations}\n skeleton={skeleton}\n />\n <TypeLogo\n cardType={data.cardType}\n cardDesign={data.cardDesign}\n />\n </div>\n </div>\n <StatusOverlay cardStatus={cardStatus} translations={translations} />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"PaymentCard.js","names":["React","PropTypes","classnames","Context","Provider","isTrue","validateDOMAttributes","extendPropsWithContextInClassComponent","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","formatCardNumber","CardFigure","cardDataPropTypes","ProductType","CardType","BankAxeptType","Designs","defaultDesign","cardProducts","translationDefaultPropsProps","text_blocked","text_expired","text_not_active","text_new_order","text_order_in_process","text_replaced","text_renewed","text_new","text_unknown","PaymentCard","PureComponent","render","_this$context","props","defaultProps","locale","context","skeleton","product_code","card_number","card_status","variant","digits","id","raw_data","className","class","_className","children","attributes","_objectWithoutProperties","_excluded","cardData","getCardData","params","_objectSpread","createElement","Consumer","_ref","translation","translations","productName","compact","data","cardStatus","cardNumber","parseFloat","_defineProperty","process","env","NODE_ENV","propTypes","string","isRequired","oneOf","oneOfType","number","bool","node","func","productCode","card","find","item","defaultCard","displayName","cardDesign","cardType","None","productType","bankAxept"],"sources":["../../../../src/extensions/payment-card/PaymentCard.js"],"sourcesContent":["/**\n * Web PaymentCard Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport Provider from '../../shared/Provider'\nimport {\n isTrue,\n validateDOMAttributes,\n extendPropsWithContextInClassComponent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../../components/space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../../components/skeleton/SkeletonHelper'\n\nimport { formatCardNumber } from './components/CardNumber'\nimport CardFigure, { cardDataPropTypes } from './components/CardFigure'\n\nimport { ProductType, CardType, BankAxeptType } from './utils/Types'\nimport Designs, { defaultDesign } from './utils/CardDesigns'\nimport cardProducts from './utils/cardProducts'\n\nexport { Designs, ProductType, CardType, BankAxeptType }\n\nconst translationDefaultPropsProps = {\n text_blocked: null,\n text_expired: null,\n text_not_active: null,\n text_new_order: null,\n text_order_in_process: null,\n text_replaced: null,\n text_renewed: null,\n text_new: null,\n text_unknown: null,\n}\n\nexport default class PaymentCard extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n product_code: PropTypes.string.isRequired,\n card_number: PropTypes.string.isRequired,\n card_status: PropTypes.oneOf([\n 'active',\n 'blocked',\n 'expired',\n 'not_active',\n 'new_order',\n 'new',\n 'order_in_process',\n 'renewed',\n 'replaced',\n 'unknown',\n ]),\n variant: PropTypes.oneOf(['normal', 'compact']),\n digits: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n raw_data: cardDataPropTypes,\n id: PropTypes.string,\n locale: PropTypes.string,\n\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n }\n\n static defaultProps = {\n digits: 8,\n locale: null,\n card_status: 'active',\n variant: 'normal',\n\n id: null,\n raw_data: null,\n\n skeleton: false,\n className: null,\n children: null,\n\n ...translationDefaultPropsProps,\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n PaymentCard.defaultProps,\n { locale: this.context.locale },\n { skeleton: this.context?.skeleton }\n )\n\n const {\n product_code,\n card_number,\n card_status,\n variant,\n digits,\n id,\n raw_data,\n locale,\n skeleton,\n className,\n class: _className,\n children, //eslint-disable-line\n ...attributes\n } = props\n\n const cardData = raw_data || getCardData(product_code)\n\n const params = {\n className: classnames(\n 'dnb-payment-card',\n `dnb-payment-card--${variant}`,\n createSkeletonClass(null, skeleton, this.context),\n createSpacingClasses(props),\n className,\n _className\n ),\n ...attributes,\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n return (\n <Provider locale={locale}>\n <Context.Consumer>\n {({ translation }) => {\n const translations = extendPropsWithContextInClassComponent(\n this.props,\n translationDefaultPropsProps,\n translation.PaymentCard\n )\n return (\n <figure {...params}>\n <figcaption className=\"dnb-sr-only dnb-payment-card__figcaption\">\n {cardData.productName}\n </figcaption>\n <CardFigure\n id={id}\n skeleton={isTrue(skeleton)}\n compact={variant === 'compact'}\n data={cardData}\n cardStatus={card_status}\n cardNumber={formatCardNumber(\n card_number,\n parseFloat(digits)\n )}\n translations={translations}\n />\n </figure>\n )\n }}\n </Context.Consumer>\n </Provider>\n )\n }\n}\n\nexport const getCardData = (productCode) => {\n const card = cardProducts.find(\n (item) => item.productCode === productCode\n )\n return card || defaultCard(productCode)\n}\n\nconst defaultCard = (productCode) => ({\n productCode,\n productName: '',\n displayName: '',\n cardDesign: defaultDesign,\n cardType: CardType.None,\n productType: ProductType.None,\n bankAxept: BankAxeptType.None,\n})\n"],"mappings":"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","ignoreList":[]}
|