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