@dnb/eufemia 10.74.0 → 10.75.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/cjs/components/country-flag/CountryFlag.js +6 -3
- package/cjs/components/country-flag/CountryFlag.js.map +1 -1
- package/cjs/components/date-picker/DatePicker.d.ts +16 -7
- package/cjs/components/date-picker/DatePicker.js +8 -20
- package/cjs/components/date-picker/DatePicker.js.map +1 -1
- package/cjs/components/date-picker/DatePickerCalendar.d.ts +1 -3
- package/cjs/components/date-picker/DatePickerCalendar.js +34 -19
- package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/cjs/components/date-picker/DatePickerCalendarNavigator.d.ts +1 -4
- package/cjs/components/date-picker/DatePickerCalendarNavigator.js +1 -10
- package/cjs/components/date-picker/DatePickerCalendarNavigator.js.map +1 -1
- package/cjs/components/date-picker/DatePickerContext.d.ts +1 -0
- package/cjs/components/date-picker/DatePickerContext.js.map +1 -1
- package/cjs/components/date-picker/DatePickerDocs.js +0 -5
- package/cjs/components/date-picker/DatePickerDocs.js.map +1 -1
- package/cjs/components/date-picker/DatePickerFooter.js +2 -2
- package/cjs/components/date-picker/DatePickerFooter.js.map +1 -1
- package/cjs/components/date-picker/DatePickerInput.d.ts +3 -2
- package/cjs/components/date-picker/DatePickerInput.js +9 -8
- package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
- package/cjs/components/date-picker/DatePickerProvider.d.ts +1 -1
- package/cjs/components/date-picker/DatePickerProvider.js +16 -15
- package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
- package/cjs/components/date-picker/DatePickerRange.d.ts +3 -7
- package/cjs/components/date-picker/DatePickerRange.js +10 -8
- package/cjs/components/date-picker/DatePickerRange.js.map +1 -1
- package/cjs/components/date-picker/hooks/useDates.js.map +1 -1
- package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +4 -0
- package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
- package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +5 -0
- package/cjs/components/number-format/NumberUtils.d.ts +1 -1
- package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +2 -9
- package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/cjs/extensions/forms/Field/Date/Date.d.ts +1 -1
- package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Field/Date/DateDocs.js +2 -1
- package/cjs/extensions/forms/Field/Date/DateDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.d.ts +1 -1
- package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
- package/cjs/extensions/forms/Field/Indeterminate/IndeterminateDocs.js +1 -1
- package/cjs/extensions/forms/Field/Indeterminate/IndeterminateDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +8 -4
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +2 -2
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +3 -2
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +20 -13
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/cjs/extensions/forms/Field/SelectCountry/useCountries.d.ts +2016 -0
- package/cjs/extensions/forms/Field/SelectCountry/useCountries.js +72 -0
- package/cjs/extensions/forms/Field/SelectCountry/useCountries.js.map +1 -0
- package/cjs/extensions/forms/Iterate/Array/Array.js +19 -6
- package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +10 -0
- package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/types.d.ts +4 -1
- package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +9 -2
- package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +9 -2
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -2
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/cjs/extensions/forms/Value/SelectCountry/useCountry.js +6 -1
- package/cjs/extensions/forms/Value/SelectCountry/useCountry.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/countries/sv-SE.d.ts +257 -0
- package/cjs/extensions/forms/constants/locales/countries/sv-SE.js +263 -0
- package/cjs/extensions/forms/constants/locales/countries/sv-SE.js.map +1 -0
- package/cjs/extensions/forms/constants/locales/en-GB.d.ts +4 -0
- package/cjs/extensions/forms/constants/locales/en-GB.js +4 -0
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-US.d.ts +4 -0
- package/cjs/extensions/forms/constants/locales/index.d.ts +8 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +4 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.js +4 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/sv-SE.d.ts +4 -0
- package/cjs/extensions/forms/constants/locales/sv-SE.js +4 -0
- package/cjs/extensions/forms/constants/locales/sv-SE.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.d.ts +2 -1
- package/cjs/extensions/forms/hooks/useFieldProps.js +19 -6
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/hooks/usePath.d.ts +4 -1
- package/cjs/extensions/forms/hooks/usePath.js +10 -3
- package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
- package/cjs/extensions/forms/hooks/useTranslation.d.ts +2 -2
- package/cjs/extensions/forms/hooks/useTranslation.js.map +1 -1
- package/cjs/extensions/forms/utils/ajv.js +11 -3
- package/cjs/extensions/forms/utils/ajv.js.map +1 -1
- package/cjs/extensions/payment-card/PaymentCard.d.ts +9 -3
- package/cjs/extensions/payment-card/PaymentCard.js +12 -143
- package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
- package/cjs/extensions/payment-card/PaymentCardDocs.js +13 -13
- package/cjs/extensions/payment-card/PaymentCardDocs.js.map +1 -1
- package/cjs/extensions/payment-card/components/CardFigure.d.ts +12 -0
- package/cjs/extensions/payment-card/components/CardFigure.js +105 -0
- package/cjs/extensions/payment-card/components/CardFigure.js.map +1 -0
- package/cjs/extensions/payment-card/components/CardNumber.d.ts +27 -0
- package/cjs/extensions/payment-card/components/CardNumber.js +37 -0
- package/cjs/extensions/payment-card/components/CardNumber.js.map +1 -0
- package/cjs/extensions/payment-card/components/CardType.d.ts +7 -0
- package/cjs/extensions/payment-card/components/CardType.js +25 -0
- package/cjs/extensions/payment-card/components/CardType.js.map +1 -0
- package/cjs/extensions/payment-card/components/StatusOverlay.d.ts +20 -0
- package/cjs/extensions/payment-card/components/StatusOverlay.js +68 -0
- package/cjs/extensions/payment-card/components/StatusOverlay.js.map +1 -0
- package/cjs/extensions/payment-card/icons/brandLogos/DNB.js +24 -0
- package/cjs/extensions/payment-card/icons/brandLogos/DNB.js.map +1 -0
- package/cjs/extensions/payment-card/icons/brandLogos/Sbanken.js +31 -0
- package/cjs/extensions/payment-card/icons/brandLogos/Sbanken.js.map +1 -0
- package/cjs/extensions/payment-card/icons/index.d.ts +3 -5
- package/cjs/extensions/payment-card/icons/index.js +40 -58
- package/cjs/extensions/payment-card/icons/index.js.map +1 -1
- package/cjs/extensions/payment-card/icons/loyaltyLogos/Bedrift.js +40 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/Bedrift.js.map +1 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/Business.js +43 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/Business.js.map +1 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/Corporate.d.ts +3 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/Corporate.js +52 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/Corporate.js.map +1 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/Intro.js +22 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/Intro.js.map +1 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/PB.js +61 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/PB.js.map +1 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/Pluss.js +29 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/Pluss.js.map +1 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/SagaGold.js +22 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/SagaGold.js.map +1 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js +43 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js.map +1 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/WorldElite.d.ts +3 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/WorldElite.js +22 -0
- package/cjs/extensions/payment-card/icons/loyaltyLogos/WorldElite.js.map +1 -0
- package/cjs/extensions/payment-card/icons/providers/BankAxept.js +24 -0
- package/cjs/extensions/payment-card/icons/providers/BankAxept.js.map +1 -0
- package/cjs/extensions/payment-card/icons/providers/ClickToPay.d.ts +3 -0
- package/cjs/extensions/payment-card/icons/providers/ClickToPay.js +24 -0
- package/cjs/extensions/payment-card/icons/providers/ClickToPay.js.map +1 -0
- package/cjs/extensions/payment-card/icons/providers/MastercardDark.js +814 -0
- package/cjs/extensions/payment-card/icons/providers/MastercardDark.js.map +1 -0
- package/cjs/extensions/payment-card/icons/providers/MastercardDefault.js +37 -0
- package/cjs/extensions/payment-card/icons/providers/MastercardDefault.js.map +1 -0
- package/cjs/extensions/payment-card/icons/providers/VisaDefault.js +28 -0
- package/cjs/extensions/payment-card/icons/providers/VisaDefault.js.map +1 -0
- package/cjs/extensions/payment-card/icons/providers/VisaPlatinum.js +28 -0
- package/cjs/extensions/payment-card/icons/providers/VisaPlatinum.js.map +1 -0
- package/cjs/extensions/payment-card/icons/status/index.d.ts +3 -0
- package/cjs/extensions/payment-card/icons/status/index.js +61 -0
- package/cjs/extensions/payment-card/icons/status/index.js.map +1 -0
- package/cjs/extensions/payment-card/index.d.ts +2 -0
- package/cjs/extensions/payment-card/index.js +10 -1
- package/cjs/extensions/payment-card/index.js.map +1 -1
- package/cjs/extensions/payment-card/style/dnb-payment-card.css +173 -163
- package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/cjs/extensions/payment-card/style/dnb-payment-card.scss +257 -242
- package/cjs/extensions/payment-card/utils/CardDesigns.d.ts +22 -10
- package/cjs/extensions/payment-card/utils/CardDesigns.js +44 -36
- package/cjs/extensions/payment-card/utils/CardDesigns.js.map +1 -1
- package/cjs/extensions/payment-card/utils/Types.js +2 -0
- package/cjs/extensions/payment-card/utils/Types.js.map +1 -1
- package/cjs/extensions/payment-card/utils/backgrounds/index.d.ts +6 -2
- package/cjs/extensions/payment-card/utils/backgrounds/index.js +31 -3
- package/cjs/extensions/payment-card/utils/backgrounds/index.js.map +1 -1
- package/cjs/extensions/payment-card/utils/backgrounds/master-gold.d.ts +2 -0
- package/cjs/extensions/payment-card/utils/backgrounds/master-gold.js +9 -0
- package/cjs/extensions/payment-card/utils/backgrounds/master-gold.js.map +1 -0
- package/cjs/extensions/payment-card/utils/backgrounds/my-first.d.ts +1 -1
- package/cjs/extensions/payment-card/utils/backgrounds/my-first.js +1 -1
- package/cjs/extensions/payment-card/utils/backgrounds/my-first.js.map +1 -1
- package/cjs/extensions/payment-card/utils/backgrounds/visa-default.d.ts +2 -0
- package/cjs/extensions/payment-card/utils/backgrounds/visa-default.js +9 -0
- package/cjs/extensions/payment-card/utils/backgrounds/visa-default.js.map +1 -0
- package/cjs/extensions/payment-card/utils/backgrounds/visa-pluss.d.ts +2 -0
- package/cjs/extensions/payment-card/utils/backgrounds/visa-pluss.js +9 -0
- package/cjs/extensions/payment-card/utils/backgrounds/visa-pluss.js.map +1 -0
- package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-gold.d.ts +2 -0
- package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-gold.js +9 -0
- package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-gold.js.map +1 -0
- package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-platinum.d.ts +2 -0
- package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js +9 -0
- package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js.map +1 -0
- package/cjs/extensions/payment-card/utils/backgrounds/youth.d.ts +1 -1
- package/cjs/extensions/payment-card/utils/backgrounds/youth.js +1 -1
- package/cjs/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
- package/cjs/extensions/payment-card/utils/cardProducts.d.ts +1 -1
- package/cjs/extensions/payment-card/utils/cardProducts.js +241 -209
- package/cjs/extensions/payment-card/utils/cardProducts.js.map +1 -1
- package/cjs/shared/Context.d.ts +1 -1
- package/cjs/shared/Context.js +5 -14
- package/cjs/shared/Context.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/Provider.js +15 -24
- package/cjs/shared/Provider.js.map +1 -1
- package/cjs/shared/locales/en-GB.d.ts +4 -2
- package/cjs/shared/locales/en-GB.js +6 -4
- package/cjs/shared/locales/en-GB.js.map +1 -1
- package/cjs/shared/locales/en-US.d.ts +4 -2
- package/cjs/shared/locales/index.d.ts +8 -4
- package/cjs/shared/locales/nb-NO.d.ts +4 -2
- package/cjs/shared/locales/nb-NO.js +6 -4
- package/cjs/shared/locales/nb-NO.js.map +1 -1
- package/cjs/shared/locales/sv-SE.d.ts +4 -2
- package/cjs/shared/locales/sv-SE.js +6 -4
- package/cjs/shared/locales/sv-SE.js.map +1 -1
- package/cjs/shared/useTranslation.d.ts +3 -2
- package/cjs/shared/useTranslation.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/dnb-ui-basis.css +1 -1
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -1
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +173 -163
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +4 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +173 -163
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +4 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +173 -163
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +4 -0
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +173 -163
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/components/country-flag/CountryFlag.js +5 -2
- package/components/country-flag/CountryFlag.js.map +1 -1
- package/components/date-picker/DatePicker.d.ts +16 -7
- package/components/date-picker/DatePicker.js +8 -20
- package/components/date-picker/DatePicker.js.map +1 -1
- package/components/date-picker/DatePickerCalendar.d.ts +1 -3
- package/components/date-picker/DatePickerCalendar.js +34 -19
- package/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/components/date-picker/DatePickerCalendarNavigator.d.ts +1 -4
- package/components/date-picker/DatePickerCalendarNavigator.js +1 -10
- package/components/date-picker/DatePickerCalendarNavigator.js.map +1 -1
- package/components/date-picker/DatePickerContext.d.ts +1 -0
- package/components/date-picker/DatePickerContext.js.map +1 -1
- package/components/date-picker/DatePickerDocs.js +0 -5
- package/components/date-picker/DatePickerDocs.js.map +1 -1
- package/components/date-picker/DatePickerFooter.js +2 -2
- package/components/date-picker/DatePickerFooter.js.map +1 -1
- package/components/date-picker/DatePickerInput.d.ts +3 -2
- package/components/date-picker/DatePickerInput.js +9 -8
- package/components/date-picker/DatePickerInput.js.map +1 -1
- package/components/date-picker/DatePickerProvider.d.ts +1 -1
- package/components/date-picker/DatePickerProvider.js +17 -16
- package/components/date-picker/DatePickerProvider.js.map +1 -1
- package/components/date-picker/DatePickerRange.d.ts +3 -7
- package/components/date-picker/DatePickerRange.js +9 -8
- package/components/date-picker/DatePickerRange.js.map +1 -1
- package/components/date-picker/hooks/useDates.js.map +1 -1
- package/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +4 -0
- package/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
- package/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +5 -0
- package/components/number-format/NumberUtils.d.ts +1 -1
- package/es/components/country-flag/CountryFlag.js +5 -2
- package/es/components/country-flag/CountryFlag.js.map +1 -1
- package/es/components/date-picker/DatePicker.d.ts +16 -7
- package/es/components/date-picker/DatePicker.js +8 -20
- package/es/components/date-picker/DatePicker.js.map +1 -1
- package/es/components/date-picker/DatePickerCalendar.d.ts +1 -3
- package/es/components/date-picker/DatePickerCalendar.js +33 -19
- package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/es/components/date-picker/DatePickerCalendarNavigator.d.ts +1 -4
- package/es/components/date-picker/DatePickerCalendarNavigator.js +1 -10
- package/es/components/date-picker/DatePickerCalendarNavigator.js.map +1 -1
- package/es/components/date-picker/DatePickerContext.d.ts +1 -0
- package/es/components/date-picker/DatePickerContext.js.map +1 -1
- package/es/components/date-picker/DatePickerDocs.js +0 -5
- package/es/components/date-picker/DatePickerDocs.js.map +1 -1
- package/es/components/date-picker/DatePickerFooter.js +2 -2
- package/es/components/date-picker/DatePickerFooter.js.map +1 -1
- package/es/components/date-picker/DatePickerInput.d.ts +3 -2
- package/es/components/date-picker/DatePickerInput.js +9 -8
- package/es/components/date-picker/DatePickerInput.js.map +1 -1
- package/es/components/date-picker/DatePickerProvider.d.ts +1 -1
- package/es/components/date-picker/DatePickerProvider.js +16 -15
- package/es/components/date-picker/DatePickerProvider.js.map +1 -1
- package/es/components/date-picker/DatePickerRange.d.ts +3 -7
- package/es/components/date-picker/DatePickerRange.js +9 -8
- package/es/components/date-picker/DatePickerRange.js.map +1 -1
- package/es/components/date-picker/hooks/useDates.js.map +1 -1
- package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +4 -0
- package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
- package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +5 -0
- package/es/components/number-format/NumberUtils.d.ts +1 -1
- package/es/extensions/forms/Field/Boolean/Boolean.d.ts +2 -9
- package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/es/extensions/forms/Field/Date/Date.d.ts +1 -1
- package/es/extensions/forms/Field/Date/Date.js.map +1 -1
- package/es/extensions/forms/Field/Date/DateDocs.js +2 -1
- package/es/extensions/forms/Field/Date/DateDocs.js.map +1 -1
- package/es/extensions/forms/Field/Indeterminate/Indeterminate.d.ts +1 -1
- package/es/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
- package/es/extensions/forms/Field/Indeterminate/IndeterminateDocs.js +1 -1
- package/es/extensions/forms/Field/Indeterminate/IndeterminateDocs.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -3
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +2 -2
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +3 -2
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +13 -6
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/es/extensions/forms/Field/SelectCountry/useCountries.d.ts +2016 -0
- package/es/extensions/forms/Field/SelectCountry/useCountries.js +63 -0
- package/es/extensions/forms/Field/SelectCountry/useCountries.js.map +1 -0
- package/es/extensions/forms/Iterate/Array/Array.js +19 -6
- package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/ArrayDocs.js +10 -0
- package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/types.d.ts +4 -1
- package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
- package/es/extensions/forms/Iterate/PushButton/PushButton.js +9 -2
- package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +10 -3
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -2
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/es/extensions/forms/Value/SelectCountry/useCountry.js +6 -1
- package/es/extensions/forms/Value/SelectCountry/useCountry.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -1
- package/es/extensions/forms/constants/locales/countries/sv-SE.d.ts +257 -0
- package/es/extensions/forms/constants/locales/countries/sv-SE.js +257 -0
- package/es/extensions/forms/constants/locales/countries/sv-SE.js.map +1 -0
- package/es/extensions/forms/constants/locales/en-GB.d.ts +4 -0
- package/es/extensions/forms/constants/locales/en-GB.js +4 -0
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-US.d.ts +4 -0
- package/es/extensions/forms/constants/locales/index.d.ts +8 -0
- package/es/extensions/forms/constants/locales/nb-NO.d.ts +4 -0
- package/es/extensions/forms/constants/locales/nb-NO.js +4 -0
- package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/es/extensions/forms/constants/locales/sv-SE.d.ts +4 -0
- package/es/extensions/forms/constants/locales/sv-SE.js +4 -0
- package/es/extensions/forms/constants/locales/sv-SE.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.d.ts +2 -1
- package/es/extensions/forms/hooks/useFieldProps.js +19 -6
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/hooks/usePath.d.ts +4 -1
- package/es/extensions/forms/hooks/usePath.js +10 -4
- package/es/extensions/forms/hooks/usePath.js.map +1 -1
- package/es/extensions/forms/hooks/useTranslation.d.ts +2 -2
- package/es/extensions/forms/hooks/useTranslation.js.map +1 -1
- package/es/extensions/forms/utils/ajv.js +11 -3
- package/es/extensions/forms/utils/ajv.js.map +1 -1
- package/es/extensions/payment-card/PaymentCard.d.ts +9 -3
- package/es/extensions/payment-card/PaymentCard.js +9 -133
- package/es/extensions/payment-card/PaymentCard.js.map +1 -1
- package/es/extensions/payment-card/PaymentCardDocs.js +13 -13
- package/es/extensions/payment-card/PaymentCardDocs.js.map +1 -1
- package/es/extensions/payment-card/components/CardFigure.d.ts +12 -0
- package/es/extensions/payment-card/components/CardFigure.js +94 -0
- package/es/extensions/payment-card/components/CardFigure.js.map +1 -0
- package/es/extensions/payment-card/components/CardNumber.d.ts +27 -0
- package/es/extensions/payment-card/components/CardNumber.js +26 -0
- package/es/extensions/payment-card/components/CardNumber.js.map +1 -0
- package/es/extensions/payment-card/components/CardType.d.ts +7 -0
- package/es/extensions/payment-card/components/CardType.js +17 -0
- package/es/extensions/payment-card/components/CardType.js.map +1 -0
- package/es/extensions/payment-card/components/StatusOverlay.d.ts +20 -0
- package/es/extensions/payment-card/components/StatusOverlay.js +59 -0
- package/es/extensions/payment-card/components/StatusOverlay.js.map +1 -0
- package/es/extensions/payment-card/icons/brandLogos/DNB.js +17 -0
- package/es/extensions/payment-card/icons/brandLogos/DNB.js.map +1 -0
- package/es/extensions/payment-card/icons/brandLogos/Sbanken.js +24 -0
- package/es/extensions/payment-card/icons/brandLogos/Sbanken.js.map +1 -0
- package/es/extensions/payment-card/icons/index.d.ts +3 -5
- package/es/extensions/payment-card/icons/index.js +30 -53
- package/es/extensions/payment-card/icons/index.js.map +1 -1
- package/es/extensions/payment-card/icons/loyaltyLogos/Bedrift.js +33 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/Bedrift.js.map +1 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/Business.js +36 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/Business.js.map +1 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/Corporate.d.ts +3 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/Corporate.js +45 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/Corporate.js.map +1 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/Intro.js +15 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/Intro.js.map +1 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/PB.js +54 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/PB.js.map +1 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/Pluss.js +22 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/Pluss.js.map +1 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/SagaGold.js +15 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/SagaGold.js.map +1 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js +36 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js.map +1 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/WorldElite.d.ts +3 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/WorldElite.js +15 -0
- package/es/extensions/payment-card/icons/loyaltyLogos/WorldElite.js.map +1 -0
- package/es/extensions/payment-card/icons/providers/BankAxept.js +17 -0
- package/es/extensions/payment-card/icons/providers/BankAxept.js.map +1 -0
- package/es/extensions/payment-card/icons/providers/ClickToPay.d.ts +3 -0
- package/es/extensions/payment-card/icons/providers/ClickToPay.js +17 -0
- package/es/extensions/payment-card/icons/providers/ClickToPay.js.map +1 -0
- package/es/extensions/payment-card/icons/providers/MastercardDark.js +807 -0
- package/es/extensions/payment-card/icons/providers/MastercardDark.js.map +1 -0
- package/es/extensions/payment-card/icons/providers/MastercardDefault.js +30 -0
- package/es/extensions/payment-card/icons/providers/MastercardDefault.js.map +1 -0
- package/es/extensions/payment-card/icons/providers/VisaDefault.js +21 -0
- package/es/extensions/payment-card/icons/providers/VisaDefault.js.map +1 -0
- package/es/extensions/payment-card/icons/providers/VisaPlatinum.js +21 -0
- package/es/extensions/payment-card/icons/providers/VisaPlatinum.js.map +1 -0
- package/es/extensions/payment-card/icons/status/index.d.ts +3 -0
- package/es/extensions/payment-card/icons/status/index.js +52 -0
- package/es/extensions/payment-card/icons/status/index.js.map +1 -0
- package/es/extensions/payment-card/index.d.ts +2 -0
- package/es/extensions/payment-card/index.js +2 -0
- package/es/extensions/payment-card/index.js.map +1 -1
- package/es/extensions/payment-card/style/dnb-payment-card.css +173 -163
- package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/es/extensions/payment-card/style/dnb-payment-card.scss +257 -242
- package/es/extensions/payment-card/utils/CardDesigns.d.ts +22 -10
- package/es/extensions/payment-card/utils/CardDesigns.js +45 -37
- package/es/extensions/payment-card/utils/CardDesigns.js.map +1 -1
- package/es/extensions/payment-card/utils/Types.js +2 -0
- package/es/extensions/payment-card/utils/Types.js.map +1 -1
- package/es/extensions/payment-card/utils/backgrounds/index.d.ts +6 -2
- package/es/extensions/payment-card/utils/backgrounds/index.js +6 -2
- package/es/extensions/payment-card/utils/backgrounds/index.js.map +1 -1
- package/es/extensions/payment-card/utils/backgrounds/master-gold.d.ts +2 -0
- package/es/extensions/payment-card/utils/backgrounds/master-gold.js +3 -0
- package/es/extensions/payment-card/utils/backgrounds/master-gold.js.map +1 -0
- package/es/extensions/payment-card/utils/backgrounds/my-first.d.ts +1 -1
- package/es/extensions/payment-card/utils/backgrounds/my-first.js +1 -1
- package/es/extensions/payment-card/utils/backgrounds/my-first.js.map +1 -1
- package/es/extensions/payment-card/utils/backgrounds/visa-default.d.ts +2 -0
- package/es/extensions/payment-card/utils/backgrounds/visa-default.js +3 -0
- package/es/extensions/payment-card/utils/backgrounds/visa-default.js.map +1 -0
- package/es/extensions/payment-card/utils/backgrounds/visa-pluss.d.ts +2 -0
- package/es/extensions/payment-card/utils/backgrounds/visa-pluss.js +3 -0
- package/es/extensions/payment-card/utils/backgrounds/visa-pluss.js.map +1 -0
- package/es/extensions/payment-card/utils/backgrounds/visa-saga-gold.d.ts +2 -0
- package/es/extensions/payment-card/utils/backgrounds/visa-saga-gold.js +3 -0
- package/es/extensions/payment-card/utils/backgrounds/visa-saga-gold.js.map +1 -0
- package/es/extensions/payment-card/utils/backgrounds/visa-saga-platinum.d.ts +2 -0
- package/es/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js +3 -0
- package/es/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js.map +1 -0
- package/es/extensions/payment-card/utils/backgrounds/youth.d.ts +1 -1
- package/es/extensions/payment-card/utils/backgrounds/youth.js +1 -1
- package/es/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
- package/es/extensions/payment-card/utils/cardProducts.d.ts +1 -1
- package/es/extensions/payment-card/utils/cardProducts.js +241 -209
- package/es/extensions/payment-card/utils/cardProducts.js.map +1 -1
- package/es/shared/Context.d.ts +1 -1
- package/es/shared/Context.js +5 -14
- package/es/shared/Context.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/Provider.js +15 -24
- package/es/shared/Provider.js.map +1 -1
- package/es/shared/locales/en-GB.d.ts +4 -2
- package/es/shared/locales/en-GB.js +6 -4
- package/es/shared/locales/en-GB.js.map +1 -1
- package/es/shared/locales/en-US.d.ts +4 -2
- package/es/shared/locales/index.d.ts +8 -4
- package/es/shared/locales/nb-NO.d.ts +4 -2
- package/es/shared/locales/nb-NO.js +6 -4
- package/es/shared/locales/nb-NO.js.map +1 -1
- package/es/shared/locales/sv-SE.d.ts +4 -2
- package/es/shared/locales/sv-SE.js +6 -4
- package/es/shared/locales/sv-SE.js.map +1 -1
- package/es/shared/useTranslation.d.ts +3 -2
- package/es/shared/useTranslation.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/dnb-ui-basis.css +1 -1
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -1
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +173 -163
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +4 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +173 -163
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +4 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +173 -163
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +4 -0
- package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.css +173 -163
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +3 -3
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/Field/Boolean/Boolean.d.ts +2 -9
- package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/extensions/forms/Field/Date/Date.d.ts +1 -1
- package/extensions/forms/Field/Date/Date.js.map +1 -1
- package/extensions/forms/Field/Date/DateDocs.js +2 -1
- package/extensions/forms/Field/Date/DateDocs.js.map +1 -1
- package/extensions/forms/Field/Indeterminate/Indeterminate.d.ts +1 -1
- package/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
- package/extensions/forms/Field/Indeterminate/IndeterminateDocs.js +1 -1
- package/extensions/forms/Field/Indeterminate/IndeterminateDocs.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -3
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/Provider/useFieldProvider.d.ts +2 -2
- package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +3 -2
- package/extensions/forms/Field/SelectCountry/SelectCountry.js +17 -10
- package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/extensions/forms/Field/SelectCountry/useCountries.d.ts +2016 -0
- package/extensions/forms/Field/SelectCountry/useCountries.js +64 -0
- package/extensions/forms/Field/SelectCountry/useCountries.js.map +1 -0
- package/extensions/forms/Iterate/Array/Array.js +19 -6
- package/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/extensions/forms/Iterate/Array/ArrayDocs.js +10 -0
- package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
- package/extensions/forms/Iterate/Array/types.d.ts +4 -1
- package/extensions/forms/Iterate/Array/types.js.map +1 -1
- package/extensions/forms/Iterate/PushButton/PushButton.js +9 -2
- package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/extensions/forms/Iterate/PushContainer/PushContainer.js +10 -3
- package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -2
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/extensions/forms/Value/SelectCountry/useCountry.js +6 -1
- package/extensions/forms/Value/SelectCountry/useCountry.js.map +1 -1
- package/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
- package/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -1
- package/extensions/forms/constants/locales/countries/sv-SE.d.ts +257 -0
- package/extensions/forms/constants/locales/countries/sv-SE.js +257 -0
- package/extensions/forms/constants/locales/countries/sv-SE.js.map +1 -0
- package/extensions/forms/constants/locales/en-GB.d.ts +4 -0
- package/extensions/forms/constants/locales/en-GB.js +4 -0
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/constants/locales/en-US.d.ts +4 -0
- package/extensions/forms/constants/locales/index.d.ts +8 -0
- package/extensions/forms/constants/locales/nb-NO.d.ts +4 -0
- package/extensions/forms/constants/locales/nb-NO.js +4 -0
- package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/extensions/forms/constants/locales/sv-SE.d.ts +4 -0
- package/extensions/forms/constants/locales/sv-SE.js +4 -0
- package/extensions/forms/constants/locales/sv-SE.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.d.ts +2 -1
- package/extensions/forms/hooks/useFieldProps.js +19 -6
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/hooks/usePath.d.ts +4 -1
- package/extensions/forms/hooks/usePath.js +10 -3
- package/extensions/forms/hooks/usePath.js.map +1 -1
- package/extensions/forms/hooks/useTranslation.d.ts +2 -2
- package/extensions/forms/hooks/useTranslation.js.map +1 -1
- package/extensions/forms/utils/ajv.js +11 -3
- package/extensions/forms/utils/ajv.js.map +1 -1
- package/extensions/payment-card/PaymentCard.d.ts +9 -3
- package/extensions/payment-card/PaymentCard.js +9 -139
- package/extensions/payment-card/PaymentCard.js.map +1 -1
- package/extensions/payment-card/PaymentCardDocs.js +13 -13
- package/extensions/payment-card/PaymentCardDocs.js.map +1 -1
- package/extensions/payment-card/components/CardFigure.d.ts +12 -0
- package/extensions/payment-card/components/CardFigure.js +95 -0
- package/extensions/payment-card/components/CardFigure.js.map +1 -0
- package/extensions/payment-card/components/CardNumber.d.ts +27 -0
- package/extensions/payment-card/components/CardNumber.js +29 -0
- package/extensions/payment-card/components/CardNumber.js.map +1 -0
- package/extensions/payment-card/components/CardType.d.ts +7 -0
- package/extensions/payment-card/components/CardType.js +18 -0
- package/extensions/payment-card/components/CardType.js.map +1 -0
- package/extensions/payment-card/components/StatusOverlay.d.ts +20 -0
- package/extensions/payment-card/components/StatusOverlay.js +60 -0
- package/extensions/payment-card/components/StatusOverlay.js.map +1 -0
- package/extensions/payment-card/icons/brandLogos/DNB.js +17 -0
- package/extensions/payment-card/icons/brandLogos/DNB.js.map +1 -0
- package/extensions/payment-card/icons/brandLogos/Sbanken.js +24 -0
- package/extensions/payment-card/icons/brandLogos/Sbanken.js.map +1 -0
- package/extensions/payment-card/icons/index.d.ts +3 -5
- package/extensions/payment-card/icons/index.js +32 -56
- package/extensions/payment-card/icons/index.js.map +1 -1
- package/extensions/payment-card/icons/loyaltyLogos/Bedrift.js +33 -0
- package/extensions/payment-card/icons/loyaltyLogos/Bedrift.js.map +1 -0
- package/extensions/payment-card/icons/loyaltyLogos/Business.js +36 -0
- package/extensions/payment-card/icons/loyaltyLogos/Business.js.map +1 -0
- package/extensions/payment-card/icons/loyaltyLogos/Corporate.d.ts +3 -0
- package/extensions/payment-card/icons/loyaltyLogos/Corporate.js +45 -0
- package/extensions/payment-card/icons/loyaltyLogos/Corporate.js.map +1 -0
- package/extensions/payment-card/icons/loyaltyLogos/Intro.js +15 -0
- package/extensions/payment-card/icons/loyaltyLogos/Intro.js.map +1 -0
- package/extensions/payment-card/icons/loyaltyLogos/PB.js +54 -0
- package/extensions/payment-card/icons/loyaltyLogos/PB.js.map +1 -0
- package/extensions/payment-card/icons/loyaltyLogos/Pluss.js +22 -0
- package/extensions/payment-card/icons/loyaltyLogos/Pluss.js.map +1 -0
- package/extensions/payment-card/icons/loyaltyLogos/SagaGold.js +15 -0
- package/extensions/payment-card/icons/loyaltyLogos/SagaGold.js.map +1 -0
- package/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js +36 -0
- package/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js.map +1 -0
- package/extensions/payment-card/icons/loyaltyLogos/WorldElite.d.ts +3 -0
- package/extensions/payment-card/icons/loyaltyLogos/WorldElite.js +15 -0
- package/extensions/payment-card/icons/loyaltyLogos/WorldElite.js.map +1 -0
- package/extensions/payment-card/icons/providers/BankAxept.js +17 -0
- package/extensions/payment-card/icons/providers/BankAxept.js.map +1 -0
- package/extensions/payment-card/icons/providers/ClickToPay.d.ts +3 -0
- package/extensions/payment-card/icons/providers/ClickToPay.js +17 -0
- package/extensions/payment-card/icons/providers/ClickToPay.js.map +1 -0
- package/extensions/payment-card/icons/providers/MastercardDark.js +807 -0
- package/extensions/payment-card/icons/providers/MastercardDark.js.map +1 -0
- package/extensions/payment-card/icons/providers/MastercardDefault.js +30 -0
- package/extensions/payment-card/icons/providers/MastercardDefault.js.map +1 -0
- package/extensions/payment-card/icons/providers/VisaDefault.js +21 -0
- package/extensions/payment-card/icons/providers/VisaDefault.js.map +1 -0
- package/extensions/payment-card/icons/providers/VisaPlatinum.js +21 -0
- package/extensions/payment-card/icons/providers/VisaPlatinum.js.map +1 -0
- package/extensions/payment-card/icons/status/index.d.ts +3 -0
- package/extensions/payment-card/icons/status/index.js +53 -0
- package/extensions/payment-card/icons/status/index.js.map +1 -0
- package/extensions/payment-card/index.d.ts +2 -0
- package/extensions/payment-card/index.js +2 -0
- package/extensions/payment-card/index.js.map +1 -1
- package/extensions/payment-card/style/dnb-payment-card.css +173 -163
- package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/extensions/payment-card/style/dnb-payment-card.scss +257 -242
- package/extensions/payment-card/utils/CardDesigns.d.ts +22 -10
- package/extensions/payment-card/utils/CardDesigns.js +45 -37
- package/extensions/payment-card/utils/CardDesigns.js.map +1 -1
- package/extensions/payment-card/utils/Types.js +2 -0
- package/extensions/payment-card/utils/Types.js.map +1 -1
- package/extensions/payment-card/utils/backgrounds/index.d.ts +6 -2
- package/extensions/payment-card/utils/backgrounds/index.js +6 -2
- package/extensions/payment-card/utils/backgrounds/index.js.map +1 -1
- package/extensions/payment-card/utils/backgrounds/master-gold.d.ts +2 -0
- package/extensions/payment-card/utils/backgrounds/master-gold.js +3 -0
- package/extensions/payment-card/utils/backgrounds/master-gold.js.map +1 -0
- package/extensions/payment-card/utils/backgrounds/my-first.d.ts +1 -1
- package/extensions/payment-card/utils/backgrounds/my-first.js +1 -1
- package/extensions/payment-card/utils/backgrounds/my-first.js.map +1 -1
- package/extensions/payment-card/utils/backgrounds/visa-default.d.ts +2 -0
- package/extensions/payment-card/utils/backgrounds/visa-default.js +3 -0
- package/extensions/payment-card/utils/backgrounds/visa-default.js.map +1 -0
- package/extensions/payment-card/utils/backgrounds/visa-pluss.d.ts +2 -0
- package/extensions/payment-card/utils/backgrounds/visa-pluss.js +3 -0
- package/extensions/payment-card/utils/backgrounds/visa-pluss.js.map +1 -0
- package/extensions/payment-card/utils/backgrounds/visa-saga-gold.d.ts +2 -0
- package/extensions/payment-card/utils/backgrounds/visa-saga-gold.js +3 -0
- package/extensions/payment-card/utils/backgrounds/visa-saga-gold.js.map +1 -0
- package/extensions/payment-card/utils/backgrounds/visa-saga-platinum.d.ts +2 -0
- package/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js +3 -0
- package/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js.map +1 -0
- package/extensions/payment-card/utils/backgrounds/youth.d.ts +1 -1
- package/extensions/payment-card/utils/backgrounds/youth.js +1 -1
- package/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
- package/extensions/payment-card/utils/cardProducts.d.ts +1 -1
- package/extensions/payment-card/utils/cardProducts.js +241 -209
- package/extensions/payment-card/utils/cardProducts.js.map +1 -1
- package/package.json +1 -1
- package/shared/Context.d.ts +1 -1
- package/shared/Context.js +5 -14
- package/shared/Context.js.map +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/Provider.js +15 -24
- package/shared/Provider.js.map +1 -1
- package/shared/locales/en-GB.d.ts +4 -2
- package/shared/locales/en-GB.js +6 -4
- package/shared/locales/en-GB.js.map +1 -1
- package/shared/locales/en-US.d.ts +4 -2
- package/shared/locales/index.d.ts +8 -4
- package/shared/locales/nb-NO.d.ts +4 -2
- package/shared/locales/nb-NO.js +6 -4
- package/shared/locales/nb-NO.js.map +1 -1
- package/shared/locales/sv-SE.d.ts +4 -2
- package/shared/locales/sv-SE.js +6 -4
- package/shared/locales/sv-SE.js.map +1 -1
- package/shared/useTranslation.d.ts +3 -2
- package/shared/useTranslation.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/dnb-ui-basis.css +1 -1
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -1
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-extensions.css +173 -163
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +4 -0
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +173 -163
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +4 -0
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +173 -163
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +4 -0
- package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-extensions.css +173 -163
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +3 -3
- package/umd/dnb-ui-lib.min.js +1 -1
- package/cjs/extensions/payment-card/icons/BankAxept.js +0 -22
- package/cjs/extensions/payment-card/icons/BankAxept.js.map +0 -1
- package/cjs/extensions/payment-card/icons/Bedrift.js +0 -22
- package/cjs/extensions/payment-card/icons/Bedrift.js.map +0 -1
- package/cjs/extensions/payment-card/icons/Business.js +0 -22
- package/cjs/extensions/payment-card/icons/Business.js.map +0 -1
- package/cjs/extensions/payment-card/icons/Clock.d.ts +0 -3
- package/cjs/extensions/payment-card/icons/Clock.js +0 -25
- package/cjs/extensions/payment-card/icons/Clock.js.map +0 -1
- package/cjs/extensions/payment-card/icons/Credit.d.ts +0 -3
- package/cjs/extensions/payment-card/icons/Credit.js +0 -22
- package/cjs/extensions/payment-card/icons/Credit.js.map +0 -1
- package/cjs/extensions/payment-card/icons/DNB.js +0 -24
- package/cjs/extensions/payment-card/icons/DNB.js.map +0 -1
- package/cjs/extensions/payment-card/icons/Intro.js +0 -22
- package/cjs/extensions/payment-card/icons/Intro.js.map +0 -1
- package/cjs/extensions/payment-card/icons/MastercardDark.js +0 -28
- package/cjs/extensions/payment-card/icons/MastercardDark.js.map +0 -1
- package/cjs/extensions/payment-card/icons/MastercardDefault.js +0 -28
- package/cjs/extensions/payment-card/icons/MastercardDefault.js.map +0 -1
- package/cjs/extensions/payment-card/icons/PB.js +0 -22
- package/cjs/extensions/payment-card/icons/PB.js.map +0 -1
- package/cjs/extensions/payment-card/icons/Pluss.js +0 -22
- package/cjs/extensions/payment-card/icons/Pluss.js.map +0 -1
- package/cjs/extensions/payment-card/icons/SagaGold.js +0 -22
- package/cjs/extensions/payment-card/icons/SagaGold.js.map +0 -1
- package/cjs/extensions/payment-card/icons/SagaPlatinum.js +0 -22
- package/cjs/extensions/payment-card/icons/SagaPlatinum.js.map +0 -1
- package/cjs/extensions/payment-card/icons/Sbanken.js +0 -22
- package/cjs/extensions/payment-card/icons/Sbanken.js.map +0 -1
- package/cjs/extensions/payment-card/icons/VisaDefault.js +0 -22
- package/cjs/extensions/payment-card/icons/VisaDefault.js.map +0 -1
- package/cjs/extensions/payment-card/icons/VisaPlatinum.js +0 -22
- package/cjs/extensions/payment-card/icons/VisaPlatinum.js.map +0 -1
- package/cjs/extensions/payment-card/utils/backgrounds/ung.d.ts +0 -2
- package/cjs/extensions/payment-card/utils/backgrounds/ung.js +0 -9
- package/cjs/extensions/payment-card/utils/backgrounds/ung.js.map +0 -1
- package/es/extensions/payment-card/icons/BankAxept.js +0 -15
- package/es/extensions/payment-card/icons/BankAxept.js.map +0 -1
- package/es/extensions/payment-card/icons/Bedrift.js +0 -15
- package/es/extensions/payment-card/icons/Bedrift.js.map +0 -1
- package/es/extensions/payment-card/icons/Business.js +0 -15
- package/es/extensions/payment-card/icons/Business.js.map +0 -1
- package/es/extensions/payment-card/icons/Clock.d.ts +0 -3
- package/es/extensions/payment-card/icons/Clock.js +0 -18
- package/es/extensions/payment-card/icons/Clock.js.map +0 -1
- package/es/extensions/payment-card/icons/Credit.d.ts +0 -3
- package/es/extensions/payment-card/icons/Credit.js +0 -15
- package/es/extensions/payment-card/icons/Credit.js.map +0 -1
- package/es/extensions/payment-card/icons/DNB.js +0 -17
- package/es/extensions/payment-card/icons/DNB.js.map +0 -1
- package/es/extensions/payment-card/icons/Intro.js +0 -15
- package/es/extensions/payment-card/icons/Intro.js.map +0 -1
- package/es/extensions/payment-card/icons/MastercardDark.js +0 -21
- package/es/extensions/payment-card/icons/MastercardDark.js.map +0 -1
- package/es/extensions/payment-card/icons/MastercardDefault.js +0 -21
- package/es/extensions/payment-card/icons/MastercardDefault.js.map +0 -1
- package/es/extensions/payment-card/icons/PB.js +0 -15
- package/es/extensions/payment-card/icons/PB.js.map +0 -1
- package/es/extensions/payment-card/icons/Pluss.js +0 -15
- package/es/extensions/payment-card/icons/Pluss.js.map +0 -1
- package/es/extensions/payment-card/icons/SagaGold.js +0 -15
- package/es/extensions/payment-card/icons/SagaGold.js.map +0 -1
- package/es/extensions/payment-card/icons/SagaPlatinum.js +0 -15
- package/es/extensions/payment-card/icons/SagaPlatinum.js.map +0 -1
- package/es/extensions/payment-card/icons/Sbanken.js +0 -15
- package/es/extensions/payment-card/icons/Sbanken.js.map +0 -1
- package/es/extensions/payment-card/icons/VisaDefault.js +0 -15
- package/es/extensions/payment-card/icons/VisaDefault.js.map +0 -1
- package/es/extensions/payment-card/icons/VisaPlatinum.js +0 -15
- package/es/extensions/payment-card/icons/VisaPlatinum.js.map +0 -1
- package/es/extensions/payment-card/utils/backgrounds/ung.d.ts +0 -2
- package/es/extensions/payment-card/utils/backgrounds/ung.js +0 -3
- package/es/extensions/payment-card/utils/backgrounds/ung.js.map +0 -1
- package/extensions/payment-card/icons/BankAxept.js +0 -15
- package/extensions/payment-card/icons/BankAxept.js.map +0 -1
- package/extensions/payment-card/icons/Bedrift.js +0 -15
- package/extensions/payment-card/icons/Bedrift.js.map +0 -1
- package/extensions/payment-card/icons/Business.js +0 -15
- package/extensions/payment-card/icons/Business.js.map +0 -1
- package/extensions/payment-card/icons/Clock.d.ts +0 -3
- package/extensions/payment-card/icons/Clock.js +0 -18
- package/extensions/payment-card/icons/Clock.js.map +0 -1
- package/extensions/payment-card/icons/Credit.d.ts +0 -3
- package/extensions/payment-card/icons/Credit.js +0 -15
- package/extensions/payment-card/icons/Credit.js.map +0 -1
- package/extensions/payment-card/icons/DNB.js +0 -17
- package/extensions/payment-card/icons/DNB.js.map +0 -1
- package/extensions/payment-card/icons/Intro.js +0 -15
- package/extensions/payment-card/icons/Intro.js.map +0 -1
- package/extensions/payment-card/icons/MastercardDark.js +0 -21
- package/extensions/payment-card/icons/MastercardDark.js.map +0 -1
- package/extensions/payment-card/icons/MastercardDefault.js +0 -21
- package/extensions/payment-card/icons/MastercardDefault.js.map +0 -1
- package/extensions/payment-card/icons/PB.js +0 -15
- package/extensions/payment-card/icons/PB.js.map +0 -1
- package/extensions/payment-card/icons/Pluss.js +0 -15
- package/extensions/payment-card/icons/Pluss.js.map +0 -1
- package/extensions/payment-card/icons/SagaGold.js +0 -15
- package/extensions/payment-card/icons/SagaGold.js.map +0 -1
- package/extensions/payment-card/icons/SagaPlatinum.js +0 -15
- package/extensions/payment-card/icons/SagaPlatinum.js.map +0 -1
- package/extensions/payment-card/icons/Sbanken.js +0 -15
- package/extensions/payment-card/icons/Sbanken.js.map +0 -1
- package/extensions/payment-card/icons/VisaDefault.js +0 -15
- package/extensions/payment-card/icons/VisaDefault.js.map +0 -1
- package/extensions/payment-card/icons/VisaPlatinum.js +0 -15
- package/extensions/payment-card/icons/VisaPlatinum.js.map +0 -1
- package/extensions/payment-card/utils/backgrounds/ung.d.ts +0 -2
- package/extensions/payment-card/utils/backgrounds/ung.js +0 -3
- package/extensions/payment-card/utils/backgrounds/ung.js.map +0 -1
- /package/cjs/extensions/payment-card/icons/{DNB.d.ts → brandLogos/DNB.d.ts} +0 -0
- /package/cjs/extensions/payment-card/icons/{Sbanken.d.ts → brandLogos/Sbanken.d.ts} +0 -0
- /package/cjs/extensions/payment-card/icons/{Bedrift.d.ts → loyaltyLogos/Bedrift.d.ts} +0 -0
- /package/cjs/extensions/payment-card/icons/{Business.d.ts → loyaltyLogos/Business.d.ts} +0 -0
- /package/cjs/extensions/payment-card/icons/{Intro.d.ts → loyaltyLogos/Intro.d.ts} +0 -0
- /package/cjs/extensions/payment-card/icons/{PB.d.ts → loyaltyLogos/PB.d.ts} +0 -0
- /package/cjs/extensions/payment-card/icons/{Pluss.d.ts → loyaltyLogos/Pluss.d.ts} +0 -0
- /package/cjs/extensions/payment-card/icons/{SagaGold.d.ts → loyaltyLogos/SagaGold.d.ts} +0 -0
- /package/cjs/extensions/payment-card/icons/{SagaPlatinum.d.ts → loyaltyLogos/SagaPlatinum.d.ts} +0 -0
- /package/cjs/extensions/payment-card/icons/{BankAxept.d.ts → providers/BankAxept.d.ts} +0 -0
- /package/cjs/extensions/payment-card/icons/{MastercardDark.d.ts → providers/MastercardDark.d.ts} +0 -0
- /package/cjs/extensions/payment-card/icons/{MastercardDefault.d.ts → providers/MastercardDefault.d.ts} +0 -0
- /package/cjs/extensions/payment-card/icons/{VisaDefault.d.ts → providers/VisaDefault.d.ts} +0 -0
- /package/cjs/extensions/payment-card/icons/{VisaPlatinum.d.ts → providers/VisaPlatinum.d.ts} +0 -0
- /package/es/extensions/payment-card/icons/{DNB.d.ts → brandLogos/DNB.d.ts} +0 -0
- /package/es/extensions/payment-card/icons/{Sbanken.d.ts → brandLogos/Sbanken.d.ts} +0 -0
- /package/es/extensions/payment-card/icons/{Bedrift.d.ts → loyaltyLogos/Bedrift.d.ts} +0 -0
- /package/es/extensions/payment-card/icons/{Business.d.ts → loyaltyLogos/Business.d.ts} +0 -0
- /package/es/extensions/payment-card/icons/{Intro.d.ts → loyaltyLogos/Intro.d.ts} +0 -0
- /package/es/extensions/payment-card/icons/{PB.d.ts → loyaltyLogos/PB.d.ts} +0 -0
- /package/es/extensions/payment-card/icons/{Pluss.d.ts → loyaltyLogos/Pluss.d.ts} +0 -0
- /package/es/extensions/payment-card/icons/{SagaGold.d.ts → loyaltyLogos/SagaGold.d.ts} +0 -0
- /package/es/extensions/payment-card/icons/{SagaPlatinum.d.ts → loyaltyLogos/SagaPlatinum.d.ts} +0 -0
- /package/es/extensions/payment-card/icons/{BankAxept.d.ts → providers/BankAxept.d.ts} +0 -0
- /package/es/extensions/payment-card/icons/{MastercardDark.d.ts → providers/MastercardDark.d.ts} +0 -0
- /package/es/extensions/payment-card/icons/{MastercardDefault.d.ts → providers/MastercardDefault.d.ts} +0 -0
- /package/es/extensions/payment-card/icons/{VisaDefault.d.ts → providers/VisaDefault.d.ts} +0 -0
- /package/es/extensions/payment-card/icons/{VisaPlatinum.d.ts → providers/VisaPlatinum.d.ts} +0 -0
- /package/extensions/payment-card/icons/{DNB.d.ts → brandLogos/DNB.d.ts} +0 -0
- /package/extensions/payment-card/icons/{Sbanken.d.ts → brandLogos/Sbanken.d.ts} +0 -0
- /package/extensions/payment-card/icons/{Bedrift.d.ts → loyaltyLogos/Bedrift.d.ts} +0 -0
- /package/extensions/payment-card/icons/{Business.d.ts → loyaltyLogos/Business.d.ts} +0 -0
- /package/extensions/payment-card/icons/{Intro.d.ts → loyaltyLogos/Intro.d.ts} +0 -0
- /package/extensions/payment-card/icons/{PB.d.ts → loyaltyLogos/PB.d.ts} +0 -0
- /package/extensions/payment-card/icons/{Pluss.d.ts → loyaltyLogos/Pluss.d.ts} +0 -0
- /package/extensions/payment-card/icons/{SagaGold.d.ts → loyaltyLogos/SagaGold.d.ts} +0 -0
- /package/extensions/payment-card/icons/{SagaPlatinum.d.ts → loyaltyLogos/SagaPlatinum.d.ts} +0 -0
- /package/extensions/payment-card/icons/{BankAxept.d.ts → providers/BankAxept.d.ts} +0 -0
- /package/extensions/payment-card/icons/{MastercardDark.d.ts → providers/MastercardDark.d.ts} +0 -0
- /package/extensions/payment-card/icons/{MastercardDefault.d.ts → providers/MastercardDefault.d.ts} +0 -0
- /package/extensions/payment-card/icons/{VisaDefault.d.ts → providers/VisaDefault.d.ts} +0 -0
- /package/extensions/payment-card/icons/{VisaPlatinum.d.ts → providers/VisaPlatinum.d.ts} +0 -0
|
@@ -3,6 +3,7 @@ export type Props = {
|
|
|
3
3
|
id?: string;
|
|
4
4
|
path?: Path;
|
|
5
5
|
itemPath?: Path;
|
|
6
|
+
omitSectionPath?: boolean;
|
|
6
7
|
};
|
|
7
8
|
export default function usePath(props?: Props): {
|
|
8
9
|
identifier: string;
|
|
@@ -10,7 +11,9 @@ export default function usePath(props?: Props): {
|
|
|
10
11
|
itemPath: string;
|
|
11
12
|
joinPath: (paths: Array<Path>) => string;
|
|
12
13
|
makePath: (path: Path) => string;
|
|
13
|
-
makeIteratePath: (itemPath?: Path, iteratePath?: Path
|
|
14
|
+
makeIteratePath: (itemPath?: Path, iteratePath?: Path, { omitSectionPath }?: {
|
|
15
|
+
omitSectionPath?: boolean;
|
|
16
|
+
}) => string;
|
|
14
17
|
makeSectionPath: (path: Path) => string;
|
|
15
18
|
cleanPath: typeof cleanPath;
|
|
16
19
|
};
|
|
@@ -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":";;;AAAA,OAAOA,WAAW,MAAuB,eAAe;AACxD,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,OAAO,MAAsB,gBAAgB;AAEpD,SAASC,SAAS,QAAQ,aAAa;AAKvC,SAASH,WAAW;AAMpB,MAAMI,gCAAgC,GAAG,CACvC;EAAEC,MAAM,EAAE,UAAU;EAAEC,cAAc,EAAE;AAAsB,CAAC,EAC7D;EAAED,MAAM,EAAE,SAAS;EAAEC,cAAc,EAAE;AAAqB,CAAC,EAC3D;EACED,MAAM,EAAE,WAAW;EACnBC,cAAc,EAAE;AAClB,CAAC,EACD;EACED,MAAM,EAAE,WAAW;EACnBC,cAAc,EAAE;AAClB,CAAC,EACD;EAAED,MAAM,EAAE,SAAS;EAAEC,cAAc,EAAE;AAA2B,CAAC,EACjE;EAAED,MAAM,EAAE,SAAS;EAAEC,cAAc,EAAE;AAA2B,CAAC,EACjE;EACED,MAAM,EAAE,kBAAkB;EAC1BC,cAAc,EAAE;AAClB,CAAC,EACD;EACED,MAAM,EAAE,kBAAkB;EAC1BC,cAAc,EAAE;AAClB,CAAC,EACD;EACED,MAAM,EAAE,YAAY;EACpBC,cAAc,EAAE;AAClB,CAAC,CACF;AAUD,OAAO,SAASC,eAAeA,CAACC,QAAc,EAAE;EAC9C,MAAMC,GAAG,GACPD,QAAQ,IACR,IAAIR,WAAW,CAAC;IAEdU,SAAS,EAAE;EACb,CAAC,CAAC;EAEJ,IAAI,CAACD,GAAG,CAAC,eAAe,CAAC,EAAE;IACzBR,SAAS,CAACQ,GAAG,CAAC;IACdA,GAAG,CAAC,eAAe,CAAC,GAAG,IAAI;EAC7B;EAEA,OAAOA,GAAG;AACZ;AASA,OAAO,SAASE,eAAeA,CAACC,QAAqB,EAAQ;EAC3D,QAAQA,QAAQ,CAACC,OAAO;IACtB,KAAK,UAAU;MAAE;QAGf,OAAO,GAAGD,QAAQ,CAACE,YAAY,IAAIF,QAAQ,CAACG,MAAM,CAACC,eAAe,EAAE;MACtE;IACA,KAAK,cAAc;MAAE;QAGnB,IAAIJ,QAAQ,CAACG,MAAM,CAACE,MAAM,CAAC,CAAC,CAAC,EAAE;UAC7B,OAAON,eAAe,CAACC,QAAQ,CAACG,MAAM,CAACE,MAAM,CAAC,CAAC,CAAC,CAAC;QACnD;MACF;EACF;EACA,OAAOL,QAAQ,CAACE,YAAY;AAC9B;AASA,OAAO,SAASI,iBAAiBA,CAACN,QAAqB,EAAU;EAC/D,IAAIA,QAAQ,CAACC,OAAO,KAAK,cAAc,IAAID,QAAQ,CAACG,MAAM,CAACE,MAAM,CAAC,CAAC,CAAC,EAAE;IAGpE,OAAOC,iBAAiB,CAACN,QAAQ,CAACG,MAAM,CAACE,MAAM,CAAC,CAAC,CAAC,CAAC;EACrD;EACA,OAAOL,QAAQ,CAACC,OAAO;AACzB;AAOA,OAAO,SAASM,gBAAgBA,CAC9BP,QAAqB,EACO;EAAA,IAAAQ,gBAAA,EAAAC,iBAAA,EAAAC,iBAAA;EAC5B,MAAMC,cAAc,GAAGL,iBAAiB,CAACN,QAAQ,CAAC;EAElD,QAAQW,cAAc;IACpB,KAAK,WAAW;IAChB,KAAK,WAAW;IAChB,KAAK,SAAS;IACd,KAAK,SAAS;IACd,KAAK,kBAAkB;IACvB,KAAK,kBAAkB;MACrB,OAAO;QACL,CAACA,cAAc,IAAAH,gBAAA,GAAGR,QAAQ,CAACG,MAAM,cAAAK,gBAAA,uBAAfA,gBAAA,CAAiBI;MACrC,CAAC;IACH,KAAK,YAAY;MACf,OAAO;QACL,CAACD,cAAc,IAAAF,iBAAA,GAAGT,QAAQ,CAACG,MAAM,cAAAM,iBAAA,uBAAfA,iBAAA,CAAiBI;MACrC,CAAC;IACH,KAAK,SAAS;MACZ,OAAO;QACL,CAACF,cAAc,IAAAD,iBAAA,GAAGV,QAAQ,CAACG,MAAM,cAAAO,iBAAA,uBAAfA,iBAAA,CAAiBI;MACrC,CAAC;EACL;AACF;AAOA,OAAO,SAASC,sCAAsCA,CACpDC,QAA8B,EAC9B;EACAA,QAAQ,GAAAC,aAAA,KAAQD,QAAQ,CAAE;EAE1BxB,gCAAgC,CAAC0B,OAAO,CACtC,CAAC;IAAEzB,MAAM;IAAEC;EAAe,CAAC,KAAK;IAC9B,IAAIsB,QAAQ,CAACvB,MAAM,CAAC,EAAE;MACpBuB,QAAQ,CAACtB,cAAc,CAAC,GAAGsB,QAAQ,CAACvB,MAAM,CAAC;IAC7C;EACF,CACF,CAAC;EAED,OAAOuB,QAAQ;AACjB;AAKA,OAAO,SAASG,0CAA0CA,CACxDH,QAA8B,EAC9BI,WAA6B,EAC7B;EACAJ,QAAQ,GAAAC,aAAA,KAAQD,QAAQ,CAAE;EAE1BxB,gCAAgC,CAAC0B,OAAO,CACtC,CAAC;IAAEzB,MAAM;IAAEC;EAAe,CAAC,KAAK;IAC9B,IAAI,CAACsB,QAAQ,CAACvB,MAAM,CAAC,EAAE;MAAA,IAAA4B,qBAAA,EAAAC,sBAAA;MACrB,MAAMC,IAAI,GAAG7B,cAAc,CAAC8B,KAAK,CAAC,GAAG,CAAC;MAQtCR,QAAQ,CAACvB,MAAM,CAAC,IAAA4B,qBAAA,GACdL,QAAQ,CAACtB,cAAc,CAAC,cAAA2B,qBAAA,cAAAA,qBAAA,GAAID,WAAW,CAACG,IAAI,CAAC,CAAC,CAAC,CAAC,CAACA,IAAI,CAAC,CAAC,CAAC,CAAC;MAE3DP,QAAQ,CAACtB,cAAc,CAAC,IAAA4B,sBAAA,GACtBN,QAAQ,CAACtB,cAAc,CAAC,cAAA4B,sBAAA,cAAAA,sBAAA,GAAIF,WAAW,CAACG,IAAI,CAAC,CAAC,CAAC,CAAC,CAACA,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D;EACF,CACF,CAAC;EAED,OAAOP,QAAQ;AACjB;AAKA,OAAO,SAASS,mCAAmCA,CACjDd,cAAsB,EACtB;EACA,MAAMe,IAAI,GAAGlC,gCAAgC,CAACmC,IAAI,CAChD,CAAC;IAAElC;EAAO,CAAC,KAAKA,MAAM,KAAKkB,cAC7B,CAAC;EACD,OAAOe,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEhC,cAAc;AAC7B;AAQA,OAAO,SAASkC,mBAAmBA,CAAC5B,QAAqB,EAAa;EAAA,IAAA6B,IAAA,EAAAC,qBAAA;EACpE,IAAI9B,QAAQ,CAACC,OAAO,KAAK,cAAc,EAAE;IAAA,IAAA8B,iBAAA;IACvC,OAAO,IAAIC,KAAK,EAAAD,iBAAA,GAAC/B,QAAQ,CAACiC,OAAO,cAAAF,iBAAA,cAAAA,iBAAA,GAAI,eAAe,CAAC;EACvD;EAEA,OAAO,IAAIxC,SAAS,EAAAsC,IAAA,IAAAC,qBAAA,GAClBL,mCAAmC,CAACnB,iBAAiB,CAACN,QAAQ,CAAC,CAAC,cAAA8B,qBAAA,cAAAA,qBAAA,GAC9D9B,QAAQ,CAACiC,OAAO,cAAAJ,IAAA,cAAAA,IAAA,GAChB,eAAe,EACjB;IAGEK,aAAa,EAAE3B,gBAAgB,CAACP,QAAQ,CAAC;IACzCmC,UAAU,EAAEnC,QAAQ,CAACC;EACvB,CACF,CAAC;AACH;AAOA,OAAO,SAASmC,uBAAuBA,CACrC/B,MAA6B,EAC7BgC,KAAe,EACQ;EACvB,IAAI,CAAChC,MAAM,IAAIA,MAAM,CAACiC,MAAM,KAAK,CAAC,EAAE;IAClC;EACF;EACA,IAAIjC,MAAM,CAACiC,MAAM,KAAK,CAAC,EAAE;IACvB,MAAMC,KAAK,GAAGC,uBAAuB,CAACnC,MAAM,CAAC,CAAC,CAAC,EAAEgC,KAAK,CAAC;IACvD,IAAI,CAACE,KAAK,EAAE;MACV,OAAOE,SAAS;IAClB;IAEA,OAAOb,mBAAmB,CAACW,KAAK,CAAC;EACnC;EAEA,OAAO,IAAIhD,SAAS,CAAC,iBAAiB,EAAE;IACtCc,MAAM,EAAEA,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEqC,GAAG,CAAEH,KAAK,IAAKX,mBAAmB,CAACW,KAAK,CAAC;EAC3D,CAAC,CAAC;AACJ;AASA,OAAO,MAAMI,qBAAqB,GAAGA,CACnCtC,MAA6B,EAC7BuC,IAAiB,KACa;EAC9B,OAAO,CAACvC,MAAM,aAANA,MAAM,cAANA,MAAM,GAAI,EAAE,EAAEwC,MAAM,CAAC,CAACxC,MAAM,EAAEL,QAAQ,KAAK;IACjD,MAAM8C,IAAI,GAAG/C,eAAe,CAACC,QAAQ,CAAC;IACtC,MAAMuC,KAAK,GAAGC,uBAAuB,CAACxC,QAAQ,EAAE4C,IAAI,EAAEE,IAAI,CAAC;IAE3D,IAAIP,KAAK,EAAE;MACTlC,MAAM,CAACyC,IAAI,CAAC,GAAGlB,mBAAmB,CAACW,KAAK,CAAC;IAC3C;IAEA,OAAOlC,MAAM;EACf,CAAC,EAAE,CAAC,CAAC,CAAC;AACR,CAAC;AAUD,SAASmC,uBAAuBA,CAC9BxC,QAAqB,EACrB4C,IAAsC,EACtCE,IAAW,EACX;EACA,IAAI9C,QAAQ,CAACC,OAAO,KAAK,MAAM,EAAE;IAC/B,MAAMoC,KAAK,GACTO,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAIE,IAAI,GACpCxD,OAAO,CAACyD,GAAG,CAACH,IAAI,EAAEE,IAAI,CAAC,GACvBF,IAAI;IAGV,IAAIP,KAAK,KAAK,EAAE,IAAIA,KAAK,KAAK,IAAI,EAAE;MAClC,OAAOI,SAAS;IAClB,CAAC,MAAM;MAEL,MAAMO,KAAK,GAAGF,IAAI,GAAG,kBAAkBA,IAAI,GAAG,GAAG,OAAO;MACxD9C,QAAQ,CAACiC,OAAO,GAAG,OAAOe,KAAK,WAAWX,KAAK,UAAUrC,QAAQ,CAACiC,OAAO,EAAE;MAG3EgB,OAAO,CAACV,KAAK,CAACvC,QAAQ,CAACiC,OAAO,CAAC;IACjC;EACF;EAEA,OAAOjC,QAAQ;AACjB","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":";;;AAAA,OAAOA,WAAW,MAAuB,eAAe;AACxD,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,OAAO,MAAsB,gBAAgB;AAEpD,SAASC,SAAS,QAAQ,aAAa;AAKvC,SAASH,WAAW;AAMpB,MAAMI,gCAAgC,GAAG,CACvC;EAAEC,MAAM,EAAE,UAAU;EAAEC,cAAc,EAAE;AAAsB,CAAC,EAC7D;EAAED,MAAM,EAAE,SAAS;EAAEC,cAAc,EAAE;AAAqB,CAAC,EAC3D;EACED,MAAM,EAAE,WAAW;EACnBC,cAAc,EAAE;AAClB,CAAC,EACD;EACED,MAAM,EAAE,WAAW;EACnBC,cAAc,EAAE;AAClB,CAAC,EACD;EAAED,MAAM,EAAE,SAAS;EAAEC,cAAc,EAAE;AAA2B,CAAC,EACjE;EAAED,MAAM,EAAE,SAAS;EAAEC,cAAc,EAAE;AAA2B,CAAC,EACjE;EAAED,MAAM,EAAE,UAAU;EAAEC,cAAc,EAAE;AAA6B,CAAC,EACpE;EAAED,MAAM,EAAE,UAAU;EAAEC,cAAc,EAAE;AAA6B,CAAC,EACpE;EACED,MAAM,EAAE,kBAAkB;EAC1BC,cAAc,EAAE;AAClB,CAAC,EACD;EACED,MAAM,EAAE,kBAAkB;EAC1BC,cAAc,EAAE;AAClB,CAAC,EACD;EACED,MAAM,EAAE,YAAY;EACpBC,cAAc,EAAE;AAClB,CAAC,CACF;AAUD,OAAO,SAASC,eAAeA,CAACC,QAAc,EAAE;EAC9C,MAAMC,GAAG,GACPD,QAAQ,IACR,IAAIR,WAAW,CAAC;IAEdU,SAAS,EAAE;EACb,CAAC,CAAC;EAEJ,IAAI,CAACD,GAAG,CAAC,eAAe,CAAC,EAAE;IACzBR,SAAS,CAACQ,GAAG,CAAC;IACdA,GAAG,CAAC,eAAe,CAAC,GAAG,IAAI;EAC7B;EAEA,OAAOA,GAAG;AACZ;AASA,OAAO,SAASE,eAAeA,CAACC,QAAqB,EAAQ;EAC3D,QAAQA,QAAQ,CAACC,OAAO;IACtB,KAAK,UAAU;MAAE;QAGf,OAAO,GAAGD,QAAQ,CAACE,YAAY,IAAIF,QAAQ,CAACG,MAAM,CAACC,eAAe,EAAE;MACtE;IACA,KAAK,cAAc;MAAE;QAGnB,IAAIJ,QAAQ,CAACG,MAAM,CAACE,MAAM,CAAC,CAAC,CAAC,EAAE;UAC7B,OAAON,eAAe,CAACC,QAAQ,CAACG,MAAM,CAACE,MAAM,CAAC,CAAC,CAAC,CAAC;QACnD;MACF;EACF;EACA,OAAOL,QAAQ,CAACE,YAAY;AAC9B;AASA,OAAO,SAASI,iBAAiBA,CAACN,QAAqB,EAAU;EAC/D,IAAIA,QAAQ,CAACC,OAAO,KAAK,cAAc,IAAID,QAAQ,CAACG,MAAM,CAACE,MAAM,CAAC,CAAC,CAAC,EAAE;IAGpE,OAAOC,iBAAiB,CAACN,QAAQ,CAACG,MAAM,CAACE,MAAM,CAAC,CAAC,CAAC,CAAC;EACrD;EACA,OAAOL,QAAQ,CAACC,OAAO;AACzB;AAOA,OAAO,SAASM,gBAAgBA,CAC9BP,QAAqB,EACO;EAAA,IAAAQ,gBAAA,EAAAC,iBAAA,EAAAC,iBAAA;EAC5B,MAAMC,cAAc,GAAGL,iBAAiB,CAACN,QAAQ,CAAC;EAElD,QAAQW,cAAc;IACpB,KAAK,WAAW;IAChB,KAAK,WAAW;IAChB,KAAK,SAAS;IACd,KAAK,SAAS;IACd,KAAK,UAAU;IACf,KAAK,UAAU;IACf,KAAK,kBAAkB;IACvB,KAAK,kBAAkB;MACrB,OAAO;QACL,CAACA,cAAc,IAAAH,gBAAA,GAAGR,QAAQ,CAACG,MAAM,cAAAK,gBAAA,uBAAfA,gBAAA,CAAiBI;MACrC,CAAC;IACH,KAAK,YAAY;MACf,OAAO;QACL,CAACD,cAAc,IAAAF,iBAAA,GAAGT,QAAQ,CAACG,MAAM,cAAAM,iBAAA,uBAAfA,iBAAA,CAAiBI;MACrC,CAAC;IACH,KAAK,SAAS;MACZ,OAAO;QACL,CAACF,cAAc,IAAAD,iBAAA,GAAGV,QAAQ,CAACG,MAAM,cAAAO,iBAAA,uBAAfA,iBAAA,CAAiBI;MACrC,CAAC;EACL;AACF;AAOA,OAAO,SAASC,sCAAsCA,CACpDC,QAA8B,EAC9B;EACAA,QAAQ,GAAAC,aAAA,KAAQD,QAAQ,CAAE;EAE1BxB,gCAAgC,CAAC0B,OAAO,CACtC,CAAC;IAAEzB,MAAM;IAAEC;EAAe,CAAC,KAAK;IAC9B,IAAIsB,QAAQ,CAACvB,MAAM,CAAC,EAAE;MACpBuB,QAAQ,CAACtB,cAAc,CAAC,GAAGsB,QAAQ,CAACvB,MAAM,CAAC;IAC7C;EACF,CACF,CAAC;EAED,OAAOuB,QAAQ;AACjB;AAKA,OAAO,SAASG,0CAA0CA,CACxDH,QAA8B,EAC9BI,WAA6B,EAC7B;EACAJ,QAAQ,GAAAC,aAAA,KAAQD,QAAQ,CAAE;EAE1BxB,gCAAgC,CAAC0B,OAAO,CACtC,CAAC;IAAEzB,MAAM;IAAEC;EAAe,CAAC,KAAK;IAC9B,IAAI,CAACsB,QAAQ,CAACvB,MAAM,CAAC,EAAE;MAAA,IAAA4B,qBAAA,EAAAC,kBAAA,EAAAC,sBAAA,EAAAC,mBAAA;MACrB,MAAMC,IAAI,GAAG/B,cAAc,CAACgC,KAAK,CAAC,GAAG,CAAC;MAQtCV,QAAQ,CAACvB,MAAM,CAAC,IAAA4B,qBAAA,GACdL,QAAQ,CAACtB,cAAc,CAAC,cAAA2B,qBAAA,cAAAA,qBAAA,IAAAC,kBAAA,GAAIF,WAAW,CAACK,IAAI,CAAC,CAAC,CAAC,CAAC,cAAAH,kBAAA,uBAApBA,kBAAA,CAAuBG,IAAI,CAAC,CAAC,CAAC,CAAC;MAE7DT,QAAQ,CAACtB,cAAc,CAAC,IAAA6B,sBAAA,GACtBP,QAAQ,CAACtB,cAAc,CAAC,cAAA6B,sBAAA,cAAAA,sBAAA,IAAAC,mBAAA,GAAIJ,WAAW,CAACK,IAAI,CAAC,CAAC,CAAC,CAAC,cAAAD,mBAAA,uBAApBA,mBAAA,CAAuBC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/D;EACF,CACF,CAAC;EAED,OAAOT,QAAQ;AACjB;AAKA,OAAO,SAASW,mCAAmCA,CACjDhB,cAAsB,EACtB;EACA,MAAMiB,IAAI,GAAGpC,gCAAgC,CAACqC,IAAI,CAChD,CAAC;IAAEpC;EAAO,CAAC,KAAKA,MAAM,KAAKkB,cAC7B,CAAC;EACD,OAAOiB,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAElC,cAAc;AAC7B;AAQA,OAAO,SAASoC,mBAAmBA,CAAC9B,QAAqB,EAAa;EAAA,IAAA+B,IAAA,EAAAC,qBAAA;EACpE,IAAIhC,QAAQ,CAACC,OAAO,KAAK,cAAc,EAAE;IAAA,IAAAgC,iBAAA;IACvC,OAAO,IAAIC,KAAK,EAAAD,iBAAA,GAACjC,QAAQ,CAACmC,OAAO,cAAAF,iBAAA,cAAAA,iBAAA,GAAI,eAAe,CAAC;EACvD;EAEA,OAAO,IAAI1C,SAAS,EAAAwC,IAAA,IAAAC,qBAAA,GAClBL,mCAAmC,CAACrB,iBAAiB,CAACN,QAAQ,CAAC,CAAC,cAAAgC,qBAAA,cAAAA,qBAAA,GAC9DhC,QAAQ,CAACmC,OAAO,cAAAJ,IAAA,cAAAA,IAAA,GAChB,eAAe,EACjB;IAGEK,aAAa,EAAE7B,gBAAgB,CAACP,QAAQ,CAAC;IACzCqC,UAAU,EAAErC,QAAQ,CAACC;EACvB,CACF,CAAC;AACH;AAOA,OAAO,SAASqC,uBAAuBA,CACrCjC,MAA6B,EAC7BkC,KAAe,EACQ;EACvB,IAAI,CAAClC,MAAM,IAAIA,MAAM,CAACmC,MAAM,KAAK,CAAC,EAAE;IAClC;EACF;EACA,IAAInC,MAAM,CAACmC,MAAM,KAAK,CAAC,EAAE;IACvB,MAAMC,KAAK,GAAGC,uBAAuB,CAACrC,MAAM,CAAC,CAAC,CAAC,EAAEkC,KAAK,CAAC;IACvD,IAAI,CAACE,KAAK,EAAE;MACV,OAAOE,SAAS;IAClB;IAEA,OAAOb,mBAAmB,CAACW,KAAK,CAAC;EACnC;EAEA,OAAO,IAAIlD,SAAS,CAAC,iBAAiB,EAAE;IACtCc,MAAM,EAAEA,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEuC,GAAG,CAAEH,KAAK,IAAKX,mBAAmB,CAACW,KAAK,CAAC;EAC3D,CAAC,CAAC;AACJ;AASA,OAAO,MAAMI,qBAAqB,GAAGA,CACnCxC,MAA6B,EAC7ByC,IAAiB,KACa;EAC9B,OAAO,CAACzC,MAAM,aAANA,MAAM,cAANA,MAAM,GAAI,EAAE,EAAE0C,MAAM,CAAC,CAAC1C,MAAM,EAAEL,QAAQ,KAAK;IACjD,MAAMgD,IAAI,GAAGjD,eAAe,CAACC,QAAQ,CAAC;IACtC,MAAMyC,KAAK,GAAGC,uBAAuB,CAAC1C,QAAQ,EAAE8C,IAAI,EAAEE,IAAI,CAAC;IAE3D,IAAIP,KAAK,EAAE;MACTpC,MAAM,CAAC2C,IAAI,CAAC,GAAGlB,mBAAmB,CAACW,KAAK,CAAC;IAC3C;IAEA,OAAOpC,MAAM;EACf,CAAC,EAAE,CAAC,CAAC,CAAC;AACR,CAAC;AAUD,SAASqC,uBAAuBA,CAC9B1C,QAAqB,EACrB8C,IAAsC,EACtCE,IAAW,EACX;EACA,IAAIhD,QAAQ,CAACC,OAAO,KAAK,MAAM,EAAE;IAC/B,MAAMsC,KAAK,GACTO,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAIE,IAAI,GACpC1D,OAAO,CAAC2D,GAAG,CAACH,IAAI,EAAEE,IAAI,CAAC,GACvBF,IAAI;IAGV,IAAIP,KAAK,KAAK,EAAE,IAAIA,KAAK,KAAK,IAAI,EAAE;MAClC,OAAOI,SAAS;IAClB,CAAC,MAAM;MAEL,MAAMO,KAAK,GAAGF,IAAI,GAAG,kBAAkBA,IAAI,GAAG,GAAG,OAAO;MACxDhD,QAAQ,CAACmC,OAAO,GAAG,OAAOe,KAAK,WAAWX,KAAK,UAAUvC,QAAQ,CAACmC,OAAO,EAAE;MAG3EgB,OAAO,CAACV,KAAK,CAACzC,QAAQ,CAACmC,OAAO,CAAC;IACjC;EACF;EAEA,OAAOnC,QAAQ;AACjB","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":[]}
|