@adyen/adyen-web 6.34.0 → 6.35.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/dist/cjs/adyen.css +4 -5
- package/dist/cjs/adyen.css.map +1 -1
- package/dist/cjs/index.cjs +2 -2
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.cts +86 -44
- package/dist/es/adyen.css +4 -5
- package/dist/es/adyen.css.map +1 -1
- package/dist/es/components/ApplePay/ApplePay.js.map +1 -1
- package/dist/es/components/ApplePay/services/ApplePayService.js.map +1 -1
- package/dist/es/components/BankTransfer/components/BankTransferInput/BankTransferInput.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/CardInput.js +1 -1
- package/dist/es/components/Card/components/CardInput/CardInput.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/components/BrandIcon.js +1 -1
- package/dist/es/components/Card/components/CardInput/components/BrandIcon.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/components/CardFields.js +1 -1
- package/dist/es/components/Card/components/CardInput/components/CardFields.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/components/CardFieldsWrapper.js +1 -1
- package/dist/es/components/Card/components/CardInput/components/CardFieldsWrapper.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/components/CardNumber.js +1 -1
- package/dist/es/components/Card/components/CardInput/components/CardNumber.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/components/DualBrandSelector.js +2 -0
- package/dist/es/components/Card/components/CardInput/components/DualBrandSelector.js.map +1 -0
- package/dist/es/components/Card/components/CardInput/components/DualBrandSelector.module.scss.js +2 -0
- package/dist/es/components/Card/components/CardInput/components/DualBrandSelector.module.scss.js.map +1 -0
- package/dist/es/components/Card/components/CardInput/types.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/useSRPanelForCardInputErrors.js +1 -1
- package/dist/es/components/Card/components/CardInput/useSRPanelForCardInputErrors.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/utils.js +1 -1
- package/dist/es/components/Card/components/CardInput/utils.js.map +1 -1
- package/dist/es/components/Card/constants.js.map +1 -1
- package/dist/es/components/CustomCard/CustomCard.js +1 -1
- package/dist/es/components/CustomCard/CustomCard.js.map +1 -1
- package/dist/es/components/CustomCard/CustomCardInput/CustomCardInput.js +1 -1
- package/dist/es/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
- package/dist/es/components/Dragonpay/Dragonpay.js +1 -1
- package/dist/es/components/Dragonpay/Dragonpay.js.map +1 -1
- package/dist/es/components/Dragonpay/components/DragonpayInput/DragonpayInput.js +1 -1
- package/dist/es/components/Dragonpay/components/DragonpayInput/DragonpayInput.js.map +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
- package/dist/es/components/Econtext/Econtext.js +1 -1
- package/dist/es/components/Econtext/Econtext.js.map +1 -1
- package/dist/es/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
- package/dist/es/components/Giftcard/components/GiftcardComponent.js +1 -1
- package/dist/es/components/Giftcard/components/GiftcardComponent.js.map +1 -1
- package/dist/es/components/Giftcard/components/useSRPanelForGiftcardErrors.js.map +1 -1
- package/dist/es/components/PayTo/components/PayToNameFields.js.map +1 -1
- package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
- package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
- package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js +1 -1
- package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
- package/dist/es/components/UPI/components/UPIMandate/UPIMandate.js.map +1 -1
- package/dist/es/components/internal/Address/validate.formats.js +1 -1
- package/dist/es/components/internal/Address/validate.formats.js.map +1 -1
- package/dist/es/components/internal/BaseElement/BaseElement.js +1 -1
- package/dist/es/components/internal/BaseElement/BaseElement.js.map +1 -1
- package/dist/es/components/internal/FormFields/Field/Field.js +1 -1
- package/dist/es/components/internal/FormFields/Field/Field.js.map +1 -1
- package/dist/es/components/internal/FormFields/InputDate/utils.js +1 -1
- package/dist/es/components/internal/FormFields/InputDate/utils.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/SFP/SFPUtils.js +1 -1
- package/dist/es/components/internal/SecuredFields/SFP/SFPUtils.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/binLookup/extensions.js +1 -1
- package/dist/es/components/internal/SecuredFields/binLookup/extensions.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleBrandFromBinLookup.js +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/handleBrandFromBinLookup.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/initCSF.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/partials/processBrand.js +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/partials/processBrand.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/utils/cardType.js +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/utils/cardType.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/utils/iframes/postMessageValidation.js +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/utils/iframes/postMessageValidation.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/constants.js +1 -1
- package/dist/es/components/internal/SecuredFields/lib/constants.js.map +1 -1
- package/dist/es/core/Analytics/Analytics.js +1 -1
- package/dist/es/core/Analytics/Analytics.js.map +1 -1
- package/dist/es/core/Analytics/AnalyticsService.js.map +1 -1
- package/dist/es/core/Analytics/events/AnalyticsInfoEvent.js +1 -1
- package/dist/es/core/Analytics/events/AnalyticsInfoEvent.js.map +1 -1
- package/dist/es/core/ProcessResponse/PaymentMethods/filters.js +1 -1
- package/dist/es/core/ProcessResponse/PaymentMethods/filters.js.map +1 -1
- package/dist/es/core/config.js +1 -1
- package/dist/es/core/config.js.map +1 -1
- package/dist/es/core/core.js +1 -1
- package/dist/es/core/core.js.map +1 -1
- package/dist/es/external/preact/compat/dist/compat.js +1 -1
- package/dist/es/external/preact/compat/dist/compat.js.map +1 -1
- package/dist/es/external/preact/dist/preact.js +1 -1
- package/dist/es/external/preact/dist/preact.js.map +1 -1
- package/dist/es/index.d.ts +86 -44
- package/dist/es/language/utils.js +1 -1
- package/dist/es/language/utils.js.map +1 -1
- package/dist/es/utils/Script.js.map +1 -1
- package/dist/es/utils/createSdkData.js +1 -1
- package/dist/es/utils/createSdkData.js.map +1 -1
- package/dist/es/utils/debounce.js.map +1 -1
- package/dist/es/utils/getErrorMessage.js +1 -1
- package/dist/es/utils/getErrorMessage.js.map +1 -1
- package/dist/es/utils/hookUtils.js.map +1 -1
- package/dist/es/utils/promiseTimeout.js.map +1 -1
- package/dist/es-legacy/adyen.css +4 -5
- package/dist/es-legacy/adyen.css.map +1 -1
- package/dist/es-legacy/components/ApplePay/ApplePay.js.map +1 -1
- package/dist/es-legacy/components/ApplePay/services/ApplePayService.js.map +1 -1
- package/dist/es-legacy/components/BankTransfer/components/BankTransferInput/BankTransferInput.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/CardInput.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/CardInput.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/BrandIcon.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/BrandIcon.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/CardFields.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/CardFields.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/CardFieldsWrapper.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/CardFieldsWrapper.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/CardNumber.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/CardNumber.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/DualBrandSelector.js +2 -0
- package/dist/es-legacy/components/Card/components/CardInput/components/DualBrandSelector.js.map +1 -0
- package/dist/es-legacy/components/Card/components/CardInput/components/DualBrandSelector.module.scss.js +2 -0
- package/dist/es-legacy/components/Card/components/CardInput/components/DualBrandSelector.module.scss.js.map +1 -0
- package/dist/es-legacy/components/Card/components/CardInput/types.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/useSRPanelForCardInputErrors.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/useSRPanelForCardInputErrors.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/utils.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/utils.js.map +1 -1
- package/dist/es-legacy/components/Card/constants.js.map +1 -1
- package/dist/es-legacy/components/CustomCard/CustomCard.js +1 -1
- package/dist/es-legacy/components/CustomCard/CustomCard.js.map +1 -1
- package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js +1 -1
- package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
- package/dist/es-legacy/components/Dragonpay/Dragonpay.js +1 -1
- package/dist/es-legacy/components/Dragonpay/Dragonpay.js.map +1 -1
- package/dist/es-legacy/components/Dragonpay/components/DragonpayInput/DragonpayInput.js +1 -1
- package/dist/es-legacy/components/Dragonpay/components/DragonpayInput/DragonpayInput.js.map +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
- package/dist/es-legacy/components/Econtext/Econtext.js +1 -1
- package/dist/es-legacy/components/Econtext/Econtext.js.map +1 -1
- package/dist/es-legacy/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
- package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js +1 -1
- package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js.map +1 -1
- package/dist/es-legacy/components/Giftcard/components/useSRPanelForGiftcardErrors.js.map +1 -1
- package/dist/es-legacy/components/PayTo/components/PayToNameFields.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
- package/dist/es-legacy/components/UPI/components/UPIMandate/UPIMandate.js.map +1 -1
- package/dist/es-legacy/components/internal/Address/validate.formats.js +1 -1
- package/dist/es-legacy/components/internal/Address/validate.formats.js.map +1 -1
- package/dist/es-legacy/components/internal/BaseElement/BaseElement.js +1 -1
- package/dist/es-legacy/components/internal/BaseElement/BaseElement.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/Field/Field.js +1 -1
- package/dist/es-legacy/components/internal/FormFields/Field/Field.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/InputDate/utils.js +1 -1
- package/dist/es-legacy/components/internal/FormFields/InputDate/utils.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/SFP/SFPUtils.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/SFP/SFPUtils.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/binLookup/extensions.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/binLookup/extensions.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleBrandFromBinLookup.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleBrandFromBinLookup.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/initCSF.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/processBrand.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/processBrand.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/cardType.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/cardType.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/iframes/postMessageValidation.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/iframes/postMessageValidation.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/constants.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/constants.js.map +1 -1
- package/dist/es-legacy/core/Analytics/Analytics.js +1 -1
- package/dist/es-legacy/core/Analytics/Analytics.js.map +1 -1
- package/dist/es-legacy/core/Analytics/AnalyticsService.js.map +1 -1
- package/dist/es-legacy/core/Analytics/events/AnalyticsInfoEvent.js +1 -1
- package/dist/es-legacy/core/Analytics/events/AnalyticsInfoEvent.js.map +1 -1
- package/dist/es-legacy/core/ProcessResponse/PaymentMethods/filters.js +1 -1
- package/dist/es-legacy/core/ProcessResponse/PaymentMethods/filters.js.map +1 -1
- package/dist/es-legacy/core/config.js +1 -1
- package/dist/es-legacy/core/config.js.map +1 -1
- package/dist/es-legacy/core/core.js +1 -1
- package/dist/es-legacy/core/core.js.map +1 -1
- package/dist/es-legacy/external/preact/compat/dist/compat.js +1 -1
- package/dist/es-legacy/external/preact/compat/dist/compat.js.map +1 -1
- package/dist/es-legacy/external/preact/dist/preact.js +1 -1
- package/dist/es-legacy/external/preact/dist/preact.js.map +1 -1
- package/dist/es-legacy/language/utils.js +1 -1
- package/dist/es-legacy/language/utils.js.map +1 -1
- package/dist/es-legacy/utils/Script.js.map +1 -1
- package/dist/es-legacy/utils/createSdkData.js +1 -1
- package/dist/es-legacy/utils/createSdkData.js.map +1 -1
- package/dist/es-legacy/utils/debounce.js.map +1 -1
- package/dist/es-legacy/utils/getErrorMessage.js +1 -1
- package/dist/es-legacy/utils/getErrorMessage.js.map +1 -1
- package/dist/es-legacy/utils/hookUtils.js.map +1 -1
- package/dist/es-legacy/utils/promiseTimeout.js.map +1 -1
- package/package.json +27 -27
- package/styles/adyen.css +4 -5
- package/dist/es/components/internal/FormFields/RadioGroupExtended/RadioButtonIcon.js +0 -2
- package/dist/es/components/internal/FormFields/RadioGroupExtended/RadioButtonIcon.js.map +0 -1
- package/dist/es/components/internal/FormFields/RadioGroupExtended/RadioGroupExtended.js +0 -2
- package/dist/es/components/internal/FormFields/RadioGroupExtended/RadioGroupExtended.js.map +0 -1
- package/dist/es-legacy/components/internal/FormFields/RadioGroupExtended/RadioButtonIcon.js +0 -2
- package/dist/es-legacy/components/internal/FormFields/RadioGroupExtended/RadioButtonIcon.js.map +0 -1
- package/dist/es-legacy/components/internal/FormFields/RadioGroupExtended/RadioGroupExtended.js +0 -2
- package/dist/es-legacy/components/internal/FormFields/RadioGroupExtended/RadioGroupExtended.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{DEFAULT_LOCALE as t,LOCALE_NAME_MIN_LENGTH as n,LOCALE_NAME_MAX_LENGTH as e}from"./constants.js";const r=t=>t.toLowerCase().substring(0,2),o=t=>Boolean(t)&&t.length>=n&&t.length<=e;function l(t,n){return t&&"string"==typeof t&&n.find(n=>r(n)===r(t))||null}function s(t){const n=t.replace("_","-");if(/^([a-z]{2})(-)([A-Z]{2})$/.test(n))return n;const[e,r]=n.split("-");if(!e||!r)return null;const o=[e.toLowerCase(),r.toUpperCase()].join("-");return 5===o.length?o:null}function u(n,e){if(!o(n))return t;const r=s(n);return r&&e.includes(r)?r:l(r||n,e)||t}function c(t={}){return Object.keys(t).reduce((n,e)=>{if(!o(e))return n;return n[s(e)||r(e)]=t[e],n},{})}const a=(t,n)=>t.replace(/%{(\w+)}/g,(t,e)=>n[e]||""),i=(t,n,e={values:{},count:0}
|
|
1
|
+
import{DEFAULT_LOCALE as t,LOCALE_NAME_MIN_LENGTH as n,LOCALE_NAME_MAX_LENGTH as e}from"./constants.js";const r=t=>t.toLowerCase().substring(0,2),o=t=>Boolean(t)&&t.length>=n&&t.length<=e;function l(t,n){return t&&"string"==typeof t&&n.find(n=>r(n)===r(t))||null}function s(t){const n=t.replace("_","-");if(/^([a-z]{2})(-)([A-Z]{2})$/.test(n))return n;const[e,r]=n.split("-");if(!e||!r)return null;const o=[e.toLowerCase(),r.toUpperCase()].join("-");return 5===o.length?o:null}function u(n,e){if(!o(n))return t;const r=s(n);return r&&e.includes(r)?r:l(r||n,e)||t}function c(t={}){return Object.keys(t).reduce((n,e)=>{if(!o(e))return n;return n[s(e)||r(e)]=t[e],n},{})}const a=(t,n)=>t.replace(/%{(\w+)}/g,(t,e)=>n[e]||""),i=(t,n,e={})=>{const{values:r={},count:o=0}=e,l=`${n}__plural`,s=t=>`${n}__${t}`;return Object.prototype.hasOwnProperty.call(t,s(o))?a(t[s(o)],r):Object.prototype.hasOwnProperty.call(t,l)&&o>1?a(t[l],r):Object.prototype.hasOwnProperty.call(t,n)?a(t[n],r):null},p=(t,n)=>{const e=t.split(/%#(.*?)%#/gm);if(n.length!==Math.floor(e.length/2))throw Error("The number of functions provided does not match the number of elements in the translation string.");return e.map((t,e)=>{const r=Math.floor(e/2);return e%2==0?t:n[r](t)})};export{c as formatCustomTranslations,s as formatLocaleToLanguageCountryLocale,i as getTranslation,p as interpolateElement,l as matchLocale,u as parseLocale};
|
|
2
2
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../src/language/utils.ts"],"sourcesContent":["import { h } from 'preact';\nimport { CustomTranslations } from './types';\nimport { DEFAULT_LOCALE, LOCALE_NAME_MAX_LENGTH, LOCALE_NAME_MIN_LENGTH } from './constants';\n\n/**\n * @description Convert to ISO 639-1\n */\nconst toTwoLetterCode = (locale: string): string => locale.toLowerCase().substring(0, 2);\n\n/**\n * @description Checks if the locale length is valid\n * @param locale - The locale to check\n * @returns true if the locale length is valid, false otherwise\n */\nconst isLocaleLenghtValid = (locale: string): boolean =>\n Boolean(locale) && locale.length >= LOCALE_NAME_MIN_LENGTH && locale.length <= LOCALE_NAME_MAX_LENGTH;\n\n/**\n * Matches a string with one of the locales\n *\n * @param locale - The locale to match\n * @param supportedLocales - Array of possible locales\n *\n * @example\n * matchLocale('en-GB', ['en-US', 'es-ES']);\n * // returns 'en-US'\n */\nexport function matchLocale(locale: string, supportedLocales: readonly string[]): string | null {\n if (!locale || typeof locale !== 'string') return null;\n return supportedLocales.find(supLoc => toTwoLetterCode(supLoc) === toTwoLetterCode(locale)) || null;\n}\n\n/**\n * Returns a locale with the proper format.\n *\n * @param localeParam - Locale example: 'En_us' or 'en-US'\n *\n * @example\n * formatLocaleToLanguageCountryLocale('En_us');\n * // returns 'en-US'\n */\nexport function formatLocaleToLanguageCountryLocale(localeParam: string): string | null {\n const locale = localeParam.replace('_', '-');\n const format = /^([a-z]{2})(-)([A-Z]{2})$/;\n\n // If it's already formatted, return the locale\n if (format.test(locale)) return locale;\n\n // Split the string in two\n const [languageCode, countryCode] = locale.split('-');\n\n // If the locale or the country codes are missing, return null\n if (!languageCode || !countryCode) return null;\n\n // Ensure correct format and join the strings back together\n const fullLocale = [languageCode.toLowerCase(), countryCode.toUpperCase()].join('-');\n\n return fullLocale.length === 5 ? fullLocale : null;\n}\n\nexport function parseLocale(locale: string, supportedLocales: readonly string[]): string {\n if (!isLocaleLenghtValid(locale)) return DEFAULT_LOCALE;\n\n const formattedLocale = formatLocaleToLanguageCountryLocale(locale);\n const hasMatch = formattedLocale && supportedLocales.includes(formattedLocale);\n\n if (hasMatch) return formattedLocale;\n\n return matchLocale(formattedLocale || locale, supportedLocales) || DEFAULT_LOCALE;\n}\n\n/**\n * @description Makes sure that if custom translation is defined using not properly formatted locale keys, then it gets formatted correctly\n *\n * @example { en_US: { ... }} will be adjusted to { 'en-US': { ... }} . { ar: { ... }} is kept as is.\n */\nexport function formatCustomTranslations(customTranslations: CustomTranslations = {}): CustomTranslations {\n return Object.keys(customTranslations).reduce<CustomTranslations>((memo, localeKey) => {\n if (!isLocaleLenghtValid(localeKey)) return memo;\n\n const locale = formatLocaleToLanguageCountryLocale(localeKey) || toTwoLetterCode(localeKey);\n memo[locale] = customTranslations[localeKey];\n return memo;\n }, {});\n}\n\nconst replaceTranslationValues = (translation: string, values: Record<string, string>) => {\n return translation.replace(/%{(\\w+)}/g, (_, k) => values[k] || '');\n};\n\n/**\n * Returns a translation string by key\n * @param translations -\n * @param key -\n * @param options -\n *\n * @internal\n */\nexport const getTranslation = (translations:
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../src/language/utils.ts"],"sourcesContent":["import { h } from 'preact';\nimport { CustomTranslations } from './types';\nimport { DEFAULT_LOCALE, LOCALE_NAME_MAX_LENGTH, LOCALE_NAME_MIN_LENGTH } from './constants';\n\n/**\n * @description Convert to ISO 639-1\n */\nconst toTwoLetterCode = (locale: string): string => locale.toLowerCase().substring(0, 2);\n\n/**\n * @description Checks if the locale length is valid\n * @param locale - The locale to check\n * @returns true if the locale length is valid, false otherwise\n */\nconst isLocaleLenghtValid = (locale: string): boolean =>\n Boolean(locale) && locale.length >= LOCALE_NAME_MIN_LENGTH && locale.length <= LOCALE_NAME_MAX_LENGTH;\n\n/**\n * Matches a string with one of the locales\n *\n * @param locale - The locale to match\n * @param supportedLocales - Array of possible locales\n *\n * @example\n * matchLocale('en-GB', ['en-US', 'es-ES']);\n * // returns 'en-US'\n */\nexport function matchLocale(locale: string, supportedLocales: readonly string[]): string | null {\n if (!locale || typeof locale !== 'string') return null;\n return supportedLocales.find(supLoc => toTwoLetterCode(supLoc) === toTwoLetterCode(locale)) || null;\n}\n\n/**\n * Returns a locale with the proper format.\n *\n * @param localeParam - Locale example: 'En_us' or 'en-US'\n *\n * @example\n * formatLocaleToLanguageCountryLocale('En_us');\n * // returns 'en-US'\n */\nexport function formatLocaleToLanguageCountryLocale(localeParam: string): string | null {\n const locale = localeParam.replace('_', '-');\n const format = /^([a-z]{2})(-)([A-Z]{2})$/;\n\n // If it's already formatted, return the locale\n if (format.test(locale)) return locale;\n\n // Split the string in two\n const [languageCode, countryCode] = locale.split('-');\n\n // If the locale or the country codes are missing, return null\n if (!languageCode || !countryCode) return null;\n\n // Ensure correct format and join the strings back together\n const fullLocale = [languageCode.toLowerCase(), countryCode.toUpperCase()].join('-');\n\n return fullLocale.length === 5 ? fullLocale : null;\n}\n\nexport function parseLocale(locale: string, supportedLocales: readonly string[]): string {\n if (!isLocaleLenghtValid(locale)) return DEFAULT_LOCALE;\n\n const formattedLocale = formatLocaleToLanguageCountryLocale(locale);\n const hasMatch = formattedLocale && supportedLocales.includes(formattedLocale);\n\n if (hasMatch) return formattedLocale;\n\n return matchLocale(formattedLocale || locale, supportedLocales) || DEFAULT_LOCALE;\n}\n\n/**\n * @description Makes sure that if custom translation is defined using not properly formatted locale keys, then it gets formatted correctly\n *\n * @example { en_US: { ... }} will be adjusted to { 'en-US': { ... }} . { ar: { ... }} is kept as is.\n */\nexport function formatCustomTranslations(customTranslations: CustomTranslations = {}): CustomTranslations {\n return Object.keys(customTranslations).reduce<CustomTranslations>((memo, localeKey) => {\n if (!isLocaleLenghtValid(localeKey)) return memo;\n\n const locale = formatLocaleToLanguageCountryLocale(localeKey) || toTwoLetterCode(localeKey);\n memo[locale] = customTranslations[localeKey];\n return memo;\n }, {});\n}\n\nconst replaceTranslationValues = (translation: string, values: Record<string, string>) => {\n return translation.replace(/%{(\\w+)}/g, (_, k) => values[k] || '');\n};\n\n/**\n * Returns a translation string by key\n * @param translations -\n * @param key -\n * @param options -\n *\n * @internal\n */\nexport const getTranslation = (\n translations: Record<string, string>,\n key: string,\n options: { values?: Record<string, string>; count?: number } = {}\n): string | null => {\n const { values = {}, count = 0 } = options;\n const keyPlural = `${key}__plural`;\n const keyForCount = (count: number) => `${key}__${count}`;\n\n if (Object.prototype.hasOwnProperty.call(translations, keyForCount(count))) {\n // Find key__count translation key\n return replaceTranslationValues(translations[keyForCount(count)], values);\n } else if (Object.prototype.hasOwnProperty.call(translations, keyPlural) && count > 1) {\n // Find key__plural translation key, if count greater than 1 (e.g. myTranslation__plural)\n return replaceTranslationValues(translations[keyPlural], values);\n } else if (Object.prototype.hasOwnProperty.call(translations, key)) {\n // Find key translation key (e.g. myTranslation)\n return replaceTranslationValues(translations[key], values);\n }\n\n return null;\n};\n\n/**\n * Injects JSX elements in a middle of a translation and returns a JSX array\n * The input string should use %# as the token to know where to insert the component\n * @param translation - Translation string\n * @param renderFunctions - An array function that renders JSX elements\n */\nexport const interpolateElement = (translation: string, renderFunctions: Array<(translation: string) => h.JSX.Element | string>) => {\n // splits by regex group, it guarantees that it only splits with 2 tokens (%#)\n const matches = translation.split(/%#(.*?)%#/gm);\n\n if (renderFunctions.length !== Math.floor(matches.length / 2)) {\n throw Error('The number of functions provided does not match the number of elements in the translation string.');\n }\n\n // the map will create an array of JSX / string elements, this syntax in accepted in JSX/react to render elements\n return matches.map((term, index) => {\n // math to get the index of the renderFunction that should be used\n // since we split on tokens, that means the index of the render function is half of the index of the string\n const indexInFunctionArray = Math.floor(index / 2);\n return index % 2 === 0 ? term : renderFunctions[indexInFunctionArray](term);\n });\n};\n"],"names":["toTwoLetterCode","locale","toLowerCase","substring","isLocaleLenghtValid","Boolean","length","LOCALE_NAME_MIN_LENGTH","LOCALE_NAME_MAX_LENGTH","matchLocale","supportedLocales","find","supLoc","formatLocaleToLanguageCountryLocale","localeParam","replace","test","languageCode","countryCode","split","fullLocale","toUpperCase","join","parseLocale","DEFAULT_LOCALE","formattedLocale","includes","formatCustomTranslations","customTranslations","Object","keys","reduce","memo","localeKey","replaceTranslationValues","translation","values","_","k","getTranslation","translations","key","options","count","keyPlural","keyForCount","prototype","hasOwnProperty","call","interpolateElement","renderFunctions","matches","Math","floor","Error","map","term","index","indexInFunctionArray"],"mappings":"wGAOA,MAAMA,EAAmBC,GAA2BA,EAAOC,cAAcC,UAAU,EAAG,GAOhFC,EAAuBH,GACzBI,QAAQJ,IAAWA,EAAOK,QAAUC,GAA0BN,EAAOK,QAAUE,EAY5E,SAASC,EAAYR,EAAgBS,GACxC,OAAKT,GAA4B,iBAAXA,GACfS,EAAiBC,KAAKC,GAAUZ,EAAgBY,KAAYZ,EAAgBC,KADjC,IAEtD,CAWO,SAASY,EAAoCC,GAChD,MAAMb,EAASa,EAAYC,QAAQ,IAAK,KAIxC,GAHe,4BAGJC,KAAKf,GAAS,OAAOA,EAGhC,MAAOgB,EAAcC,GAAejB,EAAOkB,MAAM,KAGjD,IAAKF,IAAiBC,EAAa,OAAO,KAG1C,MAAME,EAAa,CAACH,EAAaf,cAAegB,EAAYG,eAAeC,KAAK,KAEhF,OAA6B,IAAtBF,EAAWd,OAAec,EAAa,IAClD,CAEO,SAASG,EAAYtB,EAAgBS,GACxC,IAAKN,EAAoBH,GAAS,OAAOuB,EAEzC,MAAMC,EAAkBZ,EAAoCZ,GAG5D,OAFiBwB,GAAmBf,EAAiBgB,SAASD,GAEzCA,EAEdhB,EAAYgB,GAAmBxB,EAAQS,IAAqBc,CACvE,CAOO,SAASG,EAAyBC,EAAyC,IAC9E,OAAOC,OAAOC,KAAKF,GAAoBG,OAA2B,CAACC,EAAMC,KACrE,IAAK7B,EAAoB6B,GAAY,OAAOD,EAI5C,OADAA,EADenB,EAAoCoB,IAAcjC,EAAgBiC,IAClEL,EAAmBK,GAC3BD,GACR,CAAA,EACP,CAEA,MAAME,EAA2B,CAACC,EAAqBC,IAC5CD,EAAYpB,QAAQ,YAAa,CAACsB,EAAGC,IAAMF,EAAOE,IAAM,IAWtDC,EAAiB,CAC1BC,EACAC,EACAC,EAA+D,CAAA,KAE/D,MAAMN,OAAEA,EAAS,CAAA,EAAEO,MAAEA,EAAQ,GAAMD,EAC7BE,EAAY,GAAGH,YACfI,EAAeF,GAAkB,GAAGF,MAAQE,IAElD,OAAId,OAAOiB,UAAUC,eAAeC,KAAKR,EAAcK,EAAYF,IAExDT,EAAyBM,EAAaK,EAAYF,IAASP,GAC3DP,OAAOiB,UAAUC,eAAeC,KAAKR,EAAcI,IAAcD,EAAQ,EAEzET,EAAyBM,EAAaI,GAAYR,GAClDP,OAAOiB,UAAUC,eAAeC,KAAKR,EAAcC,GAEnDP,EAAyBM,EAAaC,GAAML,GAGhD,MASEa,EAAqB,CAACd,EAAqBe,KAEpD,MAAMC,EAAUhB,EAAYhB,MAAM,eAElC,GAAI+B,EAAgB5C,SAAW8C,KAAKC,MAAMF,EAAQ7C,OAAS,GACvD,MAAMgD,MAAM,qGAIhB,OAAOH,EAAQI,IAAI,CAACC,EAAMC,KAGtB,MAAMC,EAAuBN,KAAKC,MAAMI,EAAQ,GAChD,OAAOA,EAAQ,GAAM,EAAID,EAAON,EAAgBQ,GAAsBF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Script.js","sources":["../../../src/utils/Script.ts"],"sourcesContent":["import AdyenCheckoutError from '../core/Errors/AdyenCheckoutError';\nimport { AnalyticsInfoEvent, InfoEventType } from '../core/Analytics/events/AnalyticsInfoEvent';\nimport type { IAnalytics } from '../core/Analytics/Analytics';\n\ninterface IScript {\n load(): Promise<void>;\n remove(): void;\n}\n\ninterface IScriptProps {\n src: string;\n component: string;\n analytics: IAnalytics;\n node?: string;\n attributes?: Partial<HTMLScriptElement>;\n dataAttributes?: Record<string, string | undefined>;\n}\n\n// Returns Base URL of the resource without any query parameters (e.g. merchant ID, token, etc). Used for Analytics\nfunction getBaseURL(src: string): string {\n const url = new URL(src);\n return url.origin + url.pathname;\n}\n\nclass Script implements IScript {\n private readonly src: string;\n private readonly component: string;\n private readonly node: string;\n private readonly attributes: Partial<HTMLScriptElement>;\n private readonly dataAttributes: Record<string, string | undefined>;\n private readonly analytics: IAnalytics;\n private readonly baseUrl: string;\n\n private script: HTMLScriptElement;\n private loadPromise: Promise<void> | null = null;\n private rejectLoadPromise: (reason?: any) => void | null = null;\n private resolveLoadScript: (() => void) | null = null;\n private rejectLoadScript: ((reason?: any) => void) | null = null;\n\n private readonly handleOnLoad = () => {\n this.script?.setAttribute('data-script-loaded', 'true');\n this.cleanupListeners();\n this.resolveLoadScript?.();\n };\n\n private readonly handleOnError = (errorEvent: ErrorEvent) => {\n this.cleanupListeners();\n const error = new AdyenCheckoutError(\n 'SCRIPT_ERROR',\n `Unable to load script ${this.src}.${errorEvent?.message && `Message: ${errorEvent.message}`}`,\n {\n cause: errorEvent?.error || errorEvent\n }\n );\n this.rejectLoadScript?.(error);\n };\n\n public static readonly RETRY_DELAY = 1000;\n public static readonly MAX_NUMBER_OF_RETRIES = 3;\n\n constructor({ src, component, node = 'body', attributes, dataAttributes, analytics }: IScriptProps) {\n this.src = src;\n this.component = component;\n this.node = node;\n this.attributes = attributes;\n this.dataAttributes = dataAttributes;\n this.analytics = analytics;\n this.baseUrl = getBaseURL(this.src);\n }\n\n public load = (): Promise<void> => {\n if (this.loadPromise !== null) {\n if (process.env.NODE_ENV === 'development') console.warn(`[Warning] script.load called more than once for ${this.src}`);\n return this.loadPromise;\n }\n\n this.loadPromise = new Promise((resolve, reject) => {\n this.rejectLoadPromise = reject;\n let attempts = 0;\n\n this.trackEvent(InfoEventType.sdkDownloadInitiated);\n\n const loadScriptWithRetry = async (): Promise<void> => {\n try {\n attempts++;\n await this.loadScript();\n this.trackEvent(InfoEventType.sdkDownloadCompleted);\n resolve();\n } catch (error: unknown) {\n if (this.loadPromise === null) {\n return;\n }\n\n this.trackEvent(InfoEventType.sdkDownloadFailed);\n\n this.removeScript();\n\n if (attempts < Script.MAX_NUMBER_OF_RETRIES) {\n setTimeout(() => void loadScriptWithRetry(), Script.RETRY_DELAY);\n } else {\n this.trackEvent(InfoEventType.sdkDownloadAborted);\n this.loadPromise = null;\n this.rejectLoadPromise = null;\n reject(error);\n }\n }\n };\n\n void loadScriptWithRetry();\n });\n\n return this.loadPromise;\n };\n\n public remove = () => {\n this.rejectLoadPromise?.(new AdyenCheckoutError('CANCEL', 'Script loading cancelled.'));\n this.removeScript();\n this.loadPromise = null;\n };\n\n private removeScript() {\n this.cleanupListeners();\n this.script?.parentNode?.removeChild(this.script);\n this.script = null;\n }\n\n private cleanupListeners() {\n if (!this.script) return;\n this.script.removeEventListener('load', this.handleOnLoad);\n this.script.removeEventListener('error', this.handleOnError);\n }\n\n private attachListeners() {\n if (!this.script) return;\n this.cleanupListeners();\n this.script.addEventListener('load', this.handleOnLoad);\n this.script.addEventListener('error', this.handleOnError);\n }\n\n private loadScript(): Promise<void> {\n return new Promise((resolve, reject) => {\n const scriptContainer = document.querySelector(this.node);\n\n if (!scriptContainer) {\n reject(new AdyenCheckoutError('SCRIPT_ERROR', `Unable to find script container node: ${this.node}`));\n return;\n }\n\n this.resolveLoadScript = resolve;\n this.rejectLoadScript = reject;\n\n this.script = scriptContainer.querySelector(`script[src=\"${this.src}\"]`);\n\n // Script element exists in the browser and is already loaded\n if (this.script?.getAttribute('data-script-loaded')) {\n this.resolveLoadScript();\n return;\n }\n\n // Script element exists in the browser, but it is not loaded yet\n // Use-case: Multiple PayPal standalone components being loaded in different parts of the screen.\n if (this.script) {\n this.attachListeners();\n return;\n }\n\n // Script element doesn't exist in the browser, so we create it and append to the DOM tree\n this.script = document.createElement('script');\n\n Object.assign(this.script, this.attributes);\n Object.assign(this.script.dataset, this.dataAttributes);\n\n this.script.src = this.src;\n this.script.async = true;\n\n this.attachListeners();\n\n scriptContainer.appendChild(this.script);\n });\n }\n\n private trackEvent(eventType: InfoEventType) {\n const event = new AnalyticsInfoEvent({\n type: eventType,\n component: this.component,\n cdnUrl: this.baseUrl\n });\n this.analytics?.sendAnalytics(event);\n }\n}\n\nexport default Script;\n"],"names":["Script","removeScript","this","cleanupListeners","script","parentNode","removeChild","removeEventListener","handleOnLoad","handleOnError","attachListeners","addEventListener","loadScript","Promise","resolve","reject","scriptContainer","document","querySelector","node","resolveLoadScript","rejectLoadScript","src","getAttribute","createElement","Object","assign","attributes","dataset","dataAttributes","async","appendChild","AdyenCheckoutError","trackEvent","eventType","event","AnalyticsInfoEvent","type","component","cdnUrl","baseUrl","analytics","sendAnalytics","constructor","_define_property","loadPromise","rejectLoadPromise","setAttribute","errorEvent","error","message","cause","load","attempts","InfoEventType","sdkDownloadInitiated","loadScriptWithRetry","sdkDownloadCompleted","sdkDownloadFailed","MAX_NUMBER_OF_RETRIES","setTimeout","RETRY_DELAY","sdkDownloadAborted","remove","url","URL","origin","pathname","getBaseURL"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Script.js","sources":["../../../src/utils/Script.ts"],"sourcesContent":["import AdyenCheckoutError from '../core/Errors/AdyenCheckoutError';\nimport { AnalyticsInfoEvent, InfoEventType } from '../core/Analytics/events/AnalyticsInfoEvent';\nimport type { IAnalytics } from '../core/Analytics/Analytics';\n\ninterface IScript {\n load(): Promise<void>;\n remove(): void;\n}\n\ninterface IScriptProps {\n src: string;\n component: string;\n analytics: IAnalytics;\n node?: string;\n attributes?: Partial<HTMLScriptElement>;\n dataAttributes?: Record<string, string | undefined>;\n}\n\n// Returns Base URL of the resource without any query parameters (e.g. merchant ID, token, etc). Used for Analytics\nfunction getBaseURL(src: string): string {\n const url = new URL(src);\n return url.origin + url.pathname;\n}\n\nclass Script implements IScript {\n private readonly src: string;\n private readonly component: string;\n private readonly node: string;\n private readonly attributes: Partial<HTMLScriptElement>;\n private readonly dataAttributes: Record<string, string | undefined>;\n private readonly analytics: IAnalytics;\n private readonly baseUrl: string;\n\n private script: HTMLScriptElement;\n private loadPromise: Promise<void> | null = null;\n private rejectLoadPromise: (reason?: unknown) => void | null = null;\n private resolveLoadScript: (() => void) | null = null;\n private rejectLoadScript: ((reason?: unknown) => void) | null = null;\n\n private readonly handleOnLoad = () => {\n this.script?.setAttribute('data-script-loaded', 'true');\n this.cleanupListeners();\n this.resolveLoadScript?.();\n };\n\n private readonly handleOnError = (errorEvent: ErrorEvent) => {\n this.cleanupListeners();\n const error = new AdyenCheckoutError(\n 'SCRIPT_ERROR',\n `Unable to load script ${this.src}.${errorEvent?.message && `Message: ${errorEvent.message}`}`,\n {\n cause: errorEvent?.error || errorEvent\n }\n );\n this.rejectLoadScript?.(error);\n };\n\n public static readonly RETRY_DELAY = 1000;\n public static readonly MAX_NUMBER_OF_RETRIES = 3;\n\n constructor({ src, component, node = 'body', attributes, dataAttributes, analytics }: IScriptProps) {\n this.src = src;\n this.component = component;\n this.node = node;\n this.attributes = attributes;\n this.dataAttributes = dataAttributes;\n this.analytics = analytics;\n this.baseUrl = getBaseURL(this.src);\n }\n\n public load = (): Promise<void> => {\n if (this.loadPromise !== null) {\n if (process.env.NODE_ENV === 'development') console.warn(`[Warning] script.load called more than once for ${this.src}`);\n return this.loadPromise;\n }\n\n this.loadPromise = new Promise((resolve, reject) => {\n this.rejectLoadPromise = reject;\n let attempts = 0;\n\n this.trackEvent(InfoEventType.sdkDownloadInitiated);\n\n const loadScriptWithRetry = async (): Promise<void> => {\n try {\n attempts++;\n await this.loadScript();\n this.trackEvent(InfoEventType.sdkDownloadCompleted);\n resolve();\n } catch (error: unknown) {\n if (this.loadPromise === null) {\n return;\n }\n\n this.trackEvent(InfoEventType.sdkDownloadFailed);\n\n this.removeScript();\n\n if (attempts < Script.MAX_NUMBER_OF_RETRIES) {\n setTimeout(() => void loadScriptWithRetry(), Script.RETRY_DELAY);\n } else {\n this.trackEvent(InfoEventType.sdkDownloadAborted);\n this.loadPromise = null;\n this.rejectLoadPromise = null;\n reject(error);\n }\n }\n };\n\n void loadScriptWithRetry();\n });\n\n return this.loadPromise;\n };\n\n public remove = () => {\n this.rejectLoadPromise?.(new AdyenCheckoutError('CANCEL', 'Script loading cancelled.'));\n this.removeScript();\n this.loadPromise = null;\n };\n\n private removeScript() {\n this.cleanupListeners();\n this.script?.parentNode?.removeChild(this.script);\n this.script = null;\n }\n\n private cleanupListeners() {\n if (!this.script) return;\n this.script.removeEventListener('load', this.handleOnLoad);\n this.script.removeEventListener('error', this.handleOnError);\n }\n\n private attachListeners() {\n if (!this.script) return;\n this.cleanupListeners();\n this.script.addEventListener('load', this.handleOnLoad);\n this.script.addEventListener('error', this.handleOnError);\n }\n\n private loadScript(): Promise<void> {\n return new Promise((resolve, reject) => {\n const scriptContainer = document.querySelector(this.node);\n\n if (!scriptContainer) {\n reject(new AdyenCheckoutError('SCRIPT_ERROR', `Unable to find script container node: ${this.node}`));\n return;\n }\n\n this.resolveLoadScript = resolve;\n this.rejectLoadScript = reject;\n\n this.script = scriptContainer.querySelector(`script[src=\"${this.src}\"]`);\n\n // Script element exists in the browser and is already loaded\n if (this.script?.getAttribute('data-script-loaded')) {\n this.resolveLoadScript();\n return;\n }\n\n // Script element exists in the browser, but it is not loaded yet\n // Use-case: Multiple PayPal standalone components being loaded in different parts of the screen.\n if (this.script) {\n this.attachListeners();\n return;\n }\n\n // Script element doesn't exist in the browser, so we create it and append to the DOM tree\n this.script = document.createElement('script');\n\n Object.assign(this.script, this.attributes);\n Object.assign(this.script.dataset, this.dataAttributes);\n\n this.script.src = this.src;\n this.script.async = true;\n\n this.attachListeners();\n\n scriptContainer.appendChild(this.script);\n });\n }\n\n private trackEvent(eventType: InfoEventType) {\n const event = new AnalyticsInfoEvent({\n type: eventType,\n component: this.component,\n cdnUrl: this.baseUrl\n });\n this.analytics?.sendAnalytics(event);\n }\n}\n\nexport default Script;\n"],"names":["Script","removeScript","this","cleanupListeners","script","parentNode","removeChild","removeEventListener","handleOnLoad","handleOnError","attachListeners","addEventListener","loadScript","Promise","resolve","reject","scriptContainer","document","querySelector","node","resolveLoadScript","rejectLoadScript","src","getAttribute","createElement","Object","assign","attributes","dataset","dataAttributes","async","appendChild","AdyenCheckoutError","trackEvent","eventType","event","AnalyticsInfoEvent","type","component","cdnUrl","baseUrl","analytics","sendAnalytics","constructor","_define_property","loadPromise","rejectLoadPromise","setAttribute","errorEvent","error","message","cause","load","attempts","InfoEventType","sdkDownloadInitiated","loadScriptWithRetry","sdkDownloadCompleted","sdkDownloadFailed","MAX_NUMBER_OF_RETRIES","setTimeout","RETRY_DELAY","sdkDownloadAborted","remove","url","URL","origin","pathname","getBaseURL"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import t from"./base64.js";function
|
|
1
|
+
import t from"./base64.js";import{LIBRARY_VERSION as e,PLATFORM as o,CHANNEL as n}from"../core/config.js";function r(r,a,c){const i={schemaVersion:1,createdAt:Date.now(),channel:n.WEB,platform:o,sdkVersion:e,paymentMethodBehavior:c,analytics:{checkoutAttemptId:r},...a&&{riskData:{clientData:a}}};return t.encode(JSON.stringify(i))}export{r as createSdkData};
|
|
2
2
|
//# sourceMappingURL=createSdkData.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSdkData.js","sources":["../../../src/utils/createSdkData.ts"],"sourcesContent":["import base64 from './base64';\
|
|
1
|
+
{"version":3,"file":"createSdkData.js","sources":["../../../src/utils/createSdkData.ts"],"sourcesContent":["import base64 from './base64';\nimport { LIBRARY_VERSION, CHANNEL, PLATFORM, PAYMENT_METHOD_BEHAVIOR } from '../core/config';\nexport interface SdkDataObject {\n schemaVersion: number;\n createdAt: number;\n channel: CHANNEL;\n platform: string;\n sdkVersion: string;\n paymentMethodBehavior: PAYMENT_METHOD_BEHAVIOR;\n analytics: {\n checkoutAttemptId: string;\n };\n riskData: {\n clientData: string;\n };\n}\n\n/**\n * Creates the sdkData object with analytics and risk information\n * @param checkoutAttemptId - The checkout attempt ID from analytics\n * @param clientData - The client data from risk module\n * @returns Base64 encoded JSON string of the SDK data object\n */\nexport function createSdkData(checkoutAttemptId: string, clientData: string | null, paymentMethodBehavior: PAYMENT_METHOD_BEHAVIOR): string {\n const sdkDataObject: SdkDataObject = {\n schemaVersion: 1,\n createdAt: Date.now(),\n channel: CHANNEL.WEB,\n platform: PLATFORM,\n sdkVersion: LIBRARY_VERSION,\n paymentMethodBehavior,\n analytics: {\n checkoutAttemptId\n },\n ...(clientData && { riskData: { clientData } })\n };\n\n return base64.encode(JSON.stringify(sdkDataObject));\n}\n"],"names":["createSdkData","checkoutAttemptId","clientData","paymentMethodBehavior","sdkDataObject","schemaVersion","createdAt","Date","now","channel","CHANNEL","WEB","platform","PLATFORM","sdkVersion","LIBRARY_VERSION","analytics","riskData","base64","encode","JSON","stringify"],"mappings":"0GAuBO,SAASA,EAAcC,EAA2BC,EAA2BC,GAChF,MAAMC,EAA+B,CACjCC,cAAe,EACfC,UAAWC,KAAKC,MAChBC,QAASC,EAAQC,IACjBC,SAAUC,EACVC,WAAYC,EACZZ,wBACAa,UAAW,CACPf,wBAEAC,GAAc,CAAEe,SAAU,CAAEf,gBAGpC,OAAOgB,EAAOC,OAAOC,KAAKC,UAAUjB,GACxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debounce.js","sources":["../../../src/utils/debounce.ts"],"sourcesContent":["export const DEFAULT_DEBOUNCE_TIME_MS = 300;\n\nexport const debounce = (fn: Function, ms = DEFAULT_DEBOUNCE_TIME_MS) => {\n let timeoutId: ReturnType<typeof setTimeout>;\n return function (this:
|
|
1
|
+
{"version":3,"file":"debounce.js","sources":["../../../src/utils/debounce.ts"],"sourcesContent":["export const DEFAULT_DEBOUNCE_TIME_MS = 300;\n\nexport const debounce = (fn: Function, ms = DEFAULT_DEBOUNCE_TIME_MS) => {\n let timeoutId: ReturnType<typeof setTimeout>;\n return function (this: unknown, ...args: unknown[]) {\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => fn.apply(this, args), ms);\n };\n};\n"],"names":["DEFAULT_DEBOUNCE_TIME_MS","debounce","fn","ms","timeoutId","args","clearTimeout","setTimeout","apply","this"],"mappings":"AAAO,MAAMA,EAA2B,IAE3BC,EAAW,CAACC,EAAcC,EAFC,OAGpC,IAAIC,EACJ,OAAO,YAA4BC,GAC/BC,aAAaF,GACbA,EAAYG,WAAW,IAAML,EAAGM,MAAMC,KAAMJ,GAAOF,EACvD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{ERROR_FIELD_REQUIRED as r,ERROR_FIELD_INVALID as e}from"../core/Errors/constants.js";const s=(s,o,t,n=!0)=>{if(o?.errorMessage){const a=o.errorMessage,
|
|
1
|
+
import{ERROR_FIELD_REQUIRED as r,ERROR_FIELD_INVALID as e}from"../core/Errors/constants.js";const s=(s,o,t,n=!0)=>{if(o?.errorMessage&&"string"==typeof o.errorMessage){const a=o.errorMessage,g=[r,e].includes(a),c={values:{label:n?t?.toLowerCase():t}};return g?s.get(a,c):s.get(a)}return!!o};export{s as getErrorMessage};
|
|
2
2
|
//# sourceMappingURL=getErrorMessage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getErrorMessage.js","sources":["../../../src/utils/getErrorMessage.ts"],"sourcesContent":["import { ERROR_FIELD_INVALID, ERROR_FIELD_REQUIRED } from '../core/Errors/constants';\nimport Language from '../language';\n\nexport const getErrorMessage = (
|
|
1
|
+
{"version":3,"file":"getErrorMessage.js","sources":["../../../src/utils/getErrorMessage.ts"],"sourcesContent":["import { ERROR_FIELD_INVALID, ERROR_FIELD_REQUIRED } from '../core/Errors/constants';\nimport Language from '../language';\nimport { ValidationRuleResult } from './Validator/ValidationRuleResult';\n\nexport const getErrorMessage = (i18n: Language, error?: ValidationRuleResult, label?: string, lowerCaseLabel: boolean = true): string | boolean => {\n if (error?.errorMessage && typeof error.errorMessage === 'string') {\n const errorKey = error.errorMessage;\n const shouldBuildErrorMessage = [ERROR_FIELD_REQUIRED, ERROR_FIELD_INVALID].includes(errorKey);\n // Build the error msg: Enter the [label name] or Enter a valid [label name]\n const options = { values: { label: lowerCaseLabel ? label?.toLowerCase() : label } };\n return shouldBuildErrorMessage ? i18n.get(errorKey, options) : i18n.get(errorKey);\n }\n\n return !!error;\n};\n"],"names":["getErrorMessage","i18n","error","label","lowerCaseLabel","errorMessage","errorKey","shouldBuildErrorMessage","ERROR_FIELD_REQUIRED","ERROR_FIELD_INVALID","includes","options","values","toLowerCase","get"],"mappings":"kGAIaA,EAAkB,CAACC,EAAgBC,EAA8BC,EAAgBC,GAA0B,KACpH,GAAIF,GAAOG,cAA8C,iBAAvBH,EAAMG,aAA2B,CAC/D,MAAMC,EAAWJ,EAAMG,aACjBE,EAA0B,CAACC,EAAsBC,GAAqBC,SAASJ,GAE/EK,EAAU,CAAEC,OAAQ,CAAET,MAAOC,EAAiBD,GAAOU,cAAgBV,IAC3E,OAAOI,EAA0BN,EAAKa,IAAIR,EAAUK,GAAWV,EAAKa,IAAIR,EAC5E,CAEA,QAASJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hookUtils.js","sources":["../../../src/utils/hookUtils.ts"],"sourcesContent":["import { useRef, useEffect } from 'preact/hooks';\n\nexport function usePrevious<T>(value: T): T {\n const ref
|
|
1
|
+
{"version":3,"file":"hookUtils.js","sources":["../../../src/utils/hookUtils.ts"],"sourcesContent":["import { useRef, useEffect } from 'preact/hooks';\n\nexport function usePrevious<T>(value: T): T | undefined {\n const ref = useRef<T>();\n\n // Store current value in ref\n useEffect(() => {\n ref.current = value;\n }, [value]); // Only re-run if value changes\n\n // Return previous value\n return ref.current;\n}\n"],"names":["usePrevious","value","ref","useRef","useEffect","current"],"mappings":"+EAEO,SAASA,EAAeC,GAC3B,MAAMC,EAAMC,IAQZ,OALAC,EAAU,KACNF,EAAIG,QAAUJ,GACf,CAACA,IAGGC,EAAIG,OACf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promiseTimeout.js","sources":["../../../src/utils/promiseTimeout.ts"],"sourcesContent":["/**\n * Tests if a passed promise settles before a certain amount of time has elapsed\n *\n * @param ms - number of milliseconds the passed promise has to settle\n * @param promise - the passed promise\n * @param timeOutObject - the object that the promiseTimeout will reject with if the passed promise doesn't settle in time\n */\nconst promiseTimeout = (ms: number, promise: Promise<
|
|
1
|
+
{"version":3,"file":"promiseTimeout.js","sources":["../../../src/utils/promiseTimeout.ts"],"sourcesContent":["/**\n * Tests if a passed promise settles before a certain amount of time has elapsed\n *\n * @param ms - number of milliseconds the passed promise has to settle\n * @param promise - the passed promise\n * @param timeOutObject - the object that the promiseTimeout will reject with if the passed promise doesn't settle in time\n */\nconst promiseTimeout = <T>(ms: number, promise: Promise<T>, timeOutObject: object) => {\n let timer: NodeJS.Timeout | null;\n\n const promiseTimer: Promise<T> = new Promise((resolve, reject): void => {\n // Create a timeout to reject promise if not resolved\n timer = setTimeout((): void => {\n reject(timeOutObject);\n }, ms);\n\n promise\n .then((res): void => {\n clearTimeout(timer);\n resolve(res);\n })\n .catch((err): void => {\n clearTimeout(timer);\n reject(err);\n });\n });\n\n const cancelTimer = (): void => {\n clearTimeout(timer);\n };\n\n return {\n promise: promiseTimer,\n cancel: cancelTimer\n };\n};\n\nexport default promiseTimeout;\n"],"names":["promiseTimeout","ms","promise","timeOutObject","timer","Promise","resolve","reject","setTimeout","then","res","clearTimeout","catch","err","cancel"],"mappings":"AAOA,MAAMA,EAAiB,CAAIC,EAAYC,EAAqBC,KACxD,IAAIC,EAuBJ,MAAO,CACHF,QAtB6B,IAAIG,QAAQ,CAACC,EAASC,KAEnDH,EAAQI,WAAW,KACfD,EAAOJ,IACRF,GAEHC,EACKO,KAAMC,IACHC,aAAaP,GACbE,EAAQI,KAEXE,MAAOC,IACJF,aAAaP,GACbG,EAAOM,OAUfC,OANgB,KAChBH,aAAaP"}
|
package/dist/es-legacy/adyen.css
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
.adyen-checkout__spinner__wrapper{align-items:center;display:flex;height:100%;justify-content:center}.adyen-checkout__spinner__wrapper--inline{display:inline-block;height:auto;margin-right:var(--adyen-sdk-spacer-040,8px)}[dir=rtl] .adyen-checkout__spinner__wrapper--inline{margin-left:var(--adyen-sdk-spacer-040,8px);margin-right:0}.adyen-checkout__spinner{height:var(--adyen-sdk-spacer-090,24px);position:relative;width:var(--adyen-sdk-spacer-090,24px)}.adyen-checkout__spinner:after,.adyen-checkout__spinner:before{animation:rotate 1s cubic-bezier(.785,.135,.15,.86) infinite;border:var(--adyen-sdk-border-width-l,3px) solid transparent;border-radius:50%;box-sizing:border-box;content:"";display:block;height:100%;left:0;position:absolute;top:0;width:100%}.adyen-checkout__spinner:before{border-color:var(--adyen-sdk-color-background-inverse-primary,#00112c);border-top-color:transparent;opacity:.1}.adyen-checkout__spinner:after{border-color:transparent;border-top-color:var(--adyen-sdk-color-outline-primary-active,#00112c)}.adyen-checkout__spinner--small{height:var(--adyen-sdk-spacer-070,16px);width:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout__spinner--small:after,.adyen-checkout__spinner--small:before{border-width:var(--adyen-sdk-spacer-010,2px)}.adyen-checkout__spinner--medium{height:28px;width:28px}.adyen-checkout__spinner--large{height:var(--adyen-sdk-spacer-120,48px);width:var(--adyen-sdk-spacer-120,48px)}.adyen-checkout__spinner--large:after,.adyen-checkout__spinner--large:before{border-width:var(--adyen-sdk-spacer-020,4px)}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
|
|
4
4
|
.loading-input__form{opacity:1}.loading-input__form--loading{opacity:0}.loading-input__spinner{display:none;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.loading-input__spinner--active{display:block}
|
|
5
5
|
.adyen-checkout__image{display:block;opacity:0;transition:opacity .6s ease-out}.adyen-checkout__image--loaded{opacity:1}
|
|
6
|
-
.adyen-checkout__field{display:block;margin-bottom:var(--adyen-sdk-spacer-070,16px);width:100%}.adyen-checkout__field-static-value{background-color:var(--adyen-sdk-color-background-primary-hover,#f7f7f8);border-radius:var(--adyen-sdk-border-radius-s,4px);color:var(--adyen-sdk-color-background-inverse-primary,#00112c);display:flex;font-size:var(--adyen-sdk-text-body-font-size,.875rem);font-weight:var(--adyen-sdk-text-body-font-weight,400);height:28px;line-height:var(--adyen-sdk-text-body-line-height,20px);margin-left:var(--adyen-sdk-spacer-020,4px);padding:var(--adyen-sdk-spacer-020,4px) var(--adyen-sdk-spacer-030,6px)}.adyen-checkout__field--no-borders .adyen-checkout__input-wrapper{background-color:transparent;border:none;box-shadow:none}.adyen-checkout__field--no-borders .adyen-checkout__input-wrapper:active,.adyen-checkout__field--no-borders .adyen-checkout__input-wrapper:active:hover,.adyen-checkout__field--no-borders .adyen-checkout__input-wrapper:focus-within,.adyen-checkout__field--no-borders .adyen-checkout__input-wrapper:focus-within:hover{border:none;box-shadow:none}.adyen-checkout__field--no-borders .adyen-checkout__input-wrapper:hover{border:none;box-shadow:none}@media (min-width:480px){.adyen-checkout__field--20{width:20%}.adyen-checkout__field--30{width:30%}.adyen-checkout__field--40{width:40%}.adyen-checkout__field--50{width:50%}.adyen-checkout__field--60{width:60%}.adyen-checkout__field--70{width:70%}.adyen-checkout__field--80{width:80%}.adyen-checkout__field--col-20{width:calc(20% - var(--adyen-sdk-spacer-040, 8px))}.adyen-checkout__field--col-30{width:calc(30% - var(--adyen-sdk-spacer-040, 8px))}.adyen-checkout__field--col-40{width:calc(40% - var(--adyen-sdk-spacer-040, 8px))}.adyen-checkout__field--col-50{width:calc(50% - var(--adyen-sdk-spacer-040, 8px))}.adyen-checkout__field--col-60{width:calc(60% - var(--adyen-sdk-spacer-040, 8px))}.adyen-checkout__field--col-70{width:calc(70% - var(--adyen-sdk-spacer-040, 8px))}.adyen-checkout__field--col-80{width:calc(80% - var(--adyen-sdk-spacer-040, 8px))}}.adyen-checkout__input-wrapper{align-items:center;background:var(--adyen-sdk-color-background-primary,#ffffff);border:var(--adyen-sdk-border-width-s,1px) solid var(--adyen-sdk-color-outline-primary,#dbdee2);border-radius:var(--adyen-sdk-border-radius-m,8px);display:flex;position:relative}.adyen-checkout__input-wrapper div,.adyen-checkout__input-wrapper input,.adyen-checkout__input-wrapper span{border-radius:inherit}.adyen-checkout__input-wrapper button,.adyen-checkout__input-wrapper div,.adyen-checkout__input-wrapper input{border:none}.adyen-checkout__input-wrapper:active,.adyen-checkout__input-wrapper:active:hover,.adyen-checkout__input-wrapper:focus-within,.adyen-checkout__input-wrapper:focus-within:hover{border-color:var(--adyen-sdk-color-outline-primary-active,#00112c);box-shadow:0 0 0 .5px var(--adyen-sdk-color-outline-primary-active,#00112c)}.adyen-checkout__input-wrapper:hover{border-color:var(--adyen-sdk-color-outline-tertiary,#8d95a3)}.adyen-checkout__field--inactive>.adyen-checkout__input-wrapper{background:var(--adyen-sdk-color-background-disabled,#eeeff1);border-color:transparent}.adyen-checkout__field--error>:not(.adyen-checkout__label--focused)+.adyen-checkout__input-wrapper:not(:focus-within,:active){border-color:var(--adyen-sdk-color-outline-critical,#e22d2d)}.adyen-checkout__label{display:block;position:relative}.adyen-checkout__label--focused+.adyen-checkout__input-wrapper{border-color:var(--adyen-sdk-color-outline-primary-active,#00112c);box-shadow:0 0 0 .5px var(--adyen-sdk-color-outline-primary-active,#00112c)}.adyen-checkout__label--disabled+.adyen-checkout__input-wrapper{background:var(--adyen-sdk-color-background-disabled,#eeeff1);border-color:transparent}.adyen-checkout__helper-text{color:var(--adyen-sdk-color-label-primary,#00112c);display:block;font-size:var(--adyen-sdk-text-caption-font-size,.75rem);font-weight:var(--adyen-sdk-text-body-font-weight,400);line-height:var(--adyen-sdk-text-caption-line-height,18px);margin-bottom:var(--adyen-sdk-spacer-020,4px)}.adyen-checkout__label-adornment--end{position:absolute;right:0;top:0}.adyen-checkout__label__text{color:var(--adyen-sdk-color-label-primary,#00112c);display:block;font-size:var(--adyen-sdk-text-body-font-size,.875rem);font-weight:var(--adyen-sdk-text-body-font-weight,
|
|
6
|
+
.adyen-checkout__field{display:block;margin-bottom:var(--adyen-sdk-spacer-070,16px);width:100%}.adyen-checkout__field-static-value{background-color:var(--adyen-sdk-color-background-primary-hover,#f7f7f8);border-radius:var(--adyen-sdk-border-radius-s,4px);color:var(--adyen-sdk-color-background-inverse-primary,#00112c);display:flex;font-size:var(--adyen-sdk-text-body-font-size,.875rem);font-weight:var(--adyen-sdk-text-body-font-weight,400);height:28px;line-height:var(--adyen-sdk-text-body-line-height,20px);margin-left:var(--adyen-sdk-spacer-020,4px);padding:var(--adyen-sdk-spacer-020,4px) var(--adyen-sdk-spacer-030,6px)}.adyen-checkout__field--no-borders .adyen-checkout__input-wrapper{background-color:transparent;border:none;box-shadow:none}.adyen-checkout__field--no-borders .adyen-checkout__input-wrapper:active,.adyen-checkout__field--no-borders .adyen-checkout__input-wrapper:active:hover,.adyen-checkout__field--no-borders .adyen-checkout__input-wrapper:focus-within,.adyen-checkout__field--no-borders .adyen-checkout__input-wrapper:focus-within:hover{border:none;box-shadow:none}.adyen-checkout__field--no-borders .adyen-checkout__input-wrapper:hover{border:none;box-shadow:none}@media (min-width:480px){.adyen-checkout__field--20{width:20%}.adyen-checkout__field--30{width:30%}.adyen-checkout__field--40{width:40%}.adyen-checkout__field--50{width:50%}.adyen-checkout__field--60{width:60%}.adyen-checkout__field--70{width:70%}.adyen-checkout__field--80{width:80%}.adyen-checkout__field--col-20{width:calc(20% - var(--adyen-sdk-spacer-040, 8px))}.adyen-checkout__field--col-30{width:calc(30% - var(--adyen-sdk-spacer-040, 8px))}.adyen-checkout__field--col-40{width:calc(40% - var(--adyen-sdk-spacer-040, 8px))}.adyen-checkout__field--col-50{width:calc(50% - var(--adyen-sdk-spacer-040, 8px))}.adyen-checkout__field--col-60{width:calc(60% - var(--adyen-sdk-spacer-040, 8px))}.adyen-checkout__field--col-70{width:calc(70% - var(--adyen-sdk-spacer-040, 8px))}.adyen-checkout__field--col-80{width:calc(80% - var(--adyen-sdk-spacer-040, 8px))}}.adyen-checkout__input-wrapper{align-items:center;background:var(--adyen-sdk-color-background-primary,#ffffff);border:var(--adyen-sdk-border-width-s,1px) solid var(--adyen-sdk-color-outline-primary,#dbdee2);border-radius:var(--adyen-sdk-border-radius-m,8px);display:flex;position:relative}.adyen-checkout__input-wrapper div,.adyen-checkout__input-wrapper input,.adyen-checkout__input-wrapper span{border-radius:inherit}.adyen-checkout__input-wrapper button,.adyen-checkout__input-wrapper div,.adyen-checkout__input-wrapper input{border:none}.adyen-checkout__input-wrapper:active,.adyen-checkout__input-wrapper:active:hover,.adyen-checkout__input-wrapper:focus-within,.adyen-checkout__input-wrapper:focus-within:hover{border-color:var(--adyen-sdk-color-outline-primary-active,#00112c);box-shadow:0 0 0 .5px var(--adyen-sdk-color-outline-primary-active,#00112c)}.adyen-checkout__input-wrapper:hover{border-color:var(--adyen-sdk-color-outline-tertiary,#8d95a3)}.adyen-checkout__field--inactive>.adyen-checkout__input-wrapper{background:var(--adyen-sdk-color-background-disabled,#eeeff1);border-color:transparent}.adyen-checkout__field--error>:not(.adyen-checkout__label--focused)+.adyen-checkout__input-wrapper:not(:focus-within,:active){border-color:var(--adyen-sdk-color-outline-critical,#e22d2d)}.adyen-checkout__label{display:block;position:relative}.adyen-checkout__label--focused+.adyen-checkout__input-wrapper{border-color:var(--adyen-sdk-color-outline-primary-active,#00112c);box-shadow:0 0 0 .5px var(--adyen-sdk-color-outline-primary-active,#00112c)}.adyen-checkout__label--disabled+.adyen-checkout__input-wrapper{background:var(--adyen-sdk-color-background-disabled,#eeeff1);border-color:transparent}.adyen-checkout__helper-text{color:var(--adyen-sdk-color-label-primary,#00112c);display:block;font-size:var(--adyen-sdk-text-caption-font-size,.75rem);font-weight:var(--adyen-sdk-text-body-font-weight,400);line-height:var(--adyen-sdk-text-caption-line-height,18px);margin-bottom:var(--adyen-sdk-spacer-020,4px)}.adyen-checkout__label-adornment--end{position:absolute;right:0;top:0}.adyen-checkout__label__text{color:var(--adyen-sdk-color-label-primary,#00112c);display:block;font-size:var(--adyen-sdk-text-body-font-size,.875rem);font-weight:var(--adyen-sdk-text-body-stronger-font-weight,500);line-height:var(--adyen-sdk-text-body-line-height,20px);margin-bottom:var(--adyen-sdk-spacer-020,4px);overflow:hidden;text-overflow:ellipsis;transition:color .1s ease-out;white-space:nowrap}.adyen-checkout__label__text--error{color:var(--adyen-sdk-color-label-critical,#c72727)}.adyen-checkout__label--focused .adyen-checkout__label__text{color:var(--adyen-sdk-color-label-primary,#00112c)}.adyen-checkout-contextual-text,.adyen-checkout-contextual-text--error{align-items:center;color:var(--adyen-sdk-color-label-primary,#00112c);display:flex;font-size:var(--adyen-sdk-text-caption-font-size,.75rem);font-weight:var(--adyen-sdk-text-body-font-weight,400);line-height:var(--adyen-sdk-text-caption-line-height,18px);margin-top:var(--adyen-sdk-spacer-020,4px);opacity:1;transition:margin .2s ease-out,opacity .2s ease-out}.adyen-checkout-contextual-text--error{color:var(--adyen-sdk-color-label-critical,#c72727)}.adyen-checkout-contextual-text--hidden{height:0;margin:0;opacity:0}
|
|
7
7
|
.adyen-checkout__field__cvc .adyen-checkout__input-wrapper{cursor:text}
|
|
8
8
|
.adyen-checkout__filter-input:-webkit-autofill,.adyen-checkout__input:-webkit-autofill{color:var(--adyen-sdk-color-label-primary,#00112c)!important;-webkit-text-fill-color:var(--adyen-sdk-color-label-primary,#00112c)!important;-webkit-background-clip:text!important;background-clip:text!important;background-color:var(--adyen-sdk-color-label-primary,#00112c)!important;box-shadow:0 0 0 1000px var(--adyen-sdk-color-background-primary,#ffffff) inset!important;-webkit-transition:none!important;transition:none!important}.adyen-checkout__filter-input:-webkit-autofill,.adyen-checkout__filter-input:-webkit-autofill:active,.adyen-checkout__filter-input:-webkit-autofill:focus,.adyen-checkout__filter-input:-webkit-autofill:hover,.adyen-checkout__filter-input:autofill,.adyen-checkout__input:-webkit-autofill,.adyen-checkout__input:-webkit-autofill:active,.adyen-checkout__input:-webkit-autofill:focus,.adyen-checkout__input:-webkit-autofill:hover,.adyen-checkout__input:autofill{color:var(--adyen-sdk-color-label-primary,#00112c)!important;-webkit-text-fill-color:var(--adyen-sdk-color-label-primary,#00112c)!important;-webkit-background-clip:text!important;background-clip:text!important;background-color:var(--adyen-sdk-color-label-primary,#00112c)!important;box-shadow:0 0 0 1000px var(--adyen-sdk-color-background-primary,#ffffff) inset!important;-webkit-transition:none!important;transition:none!important}.adyen-checkout__filter-input,.adyen-checkout__input{-webkit-background-clip:text!important;background-clip:text!important;color:var(--adyen-sdk-color-label-primary,#00112c)!important}.adyen-checkout__field-wrapper{display:flex;width:100%}.adyen-checkout__field-wrapper>.adyen-checkout__field:first-child{margin-right:var(--adyen-sdk-spacer-040,8px)}[dir=rtl] .adyen-checkout__field-wrapper>.adyen-checkout__field:first-child{margin-left:var(--adyen-sdk-spacer-040,8px);margin-right:0}.adyen-checkout__field-wrapper>.adyen-checkout__field:nth-child(2){margin-left:var(--adyen-sdk-spacer-040,8px)}[dir=rtl] .adyen-checkout__field-wrapper>.adyen-checkout__field:nth-child(2){margin-left:0;margin-right:var(--adyen-sdk-spacer-040,8px)}.adyen-checkout__field-wrapper:last-of-type>.adyen-checkout__field{margin-bottom:0}.adyen-checkout__input{background:inherit;color:var(--adyen-sdk-color-label-primary,#00112c);display:block;font-family:inherit;font-size:var(--adyen-sdk-text-subtitle-font-size,1rem);height:var(--adyen-sdk-spacer-110,40px);outline:none;padding-left:var(--adyen-sdk-spacer-060,12px);transition:border .2s ease-out,box-shadow .2s ease-out;width:100%}.adyen-checkout__input:required{box-shadow:none}.adyen-checkout__input:-moz-read-only{color:var(--adyen-sdk-color-label-secondary,#5c687c)!important;cursor:default}.adyen-checkout__input:disabled,.adyen-checkout__input:read-only{color:var(--adyen-sdk-color-label-secondary,#5c687c)!important;cursor:default}span.adyen-checkout__input{overflow:hidden}.adyen-checkout-input__inline-validation{height:var(--adyen-sdk-spacer-070,16px);margin-right:var(--adyen-sdk-spacer-060,12px);width:var(--adyen-sdk-spacer-070,16px)}[dir=rtl] .adyen-checkout-input__inline-validation{margin-left:var(--adyen-sdk-spacer-060,12px)}.adyen-checkout-input__inline-validation>.adyen-checkout__icon{display:block}.adyen-checkout-input__inline-validation--invalid{color:var(--adyen-sdk-color-label-critical,#c72727)}.adyen-checkout__input--date{padding:.5em}
|
|
9
9
|
.adyen-checkout__fieldset{border:none;display:block;margin-inline-end:0;margin-inline-start:0;margin:0;padding-block-start:0;padding-bottom:var(--adyen-sdk-spacer-040,8px);padding-block-end:0;padding-inline-end:0;padding-inline-start:0;width:100%}.adyen-checkout__fieldset__description{color:var(--adyen-sdk-color-label-secondary,#5c687c);font-size:var(--adyen-sdk-text-body-font-size,.875rem);font-weight:var(--adyen-sdk-text-body-font-weight,400);line-height:1.5;list-style-type:disc;margin:0}.adyen-checkout__fieldset:last-of-type{padding-bottom:0}.adyen-checkout__fieldset+.adyen-checkout__fieldset{margin-top:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout__fieldset__title{color:var(--adyen-sdk-color-label-primary,#00112c);display:block;font-size:var(--adyen-sdk-text-subtitle-font-size,1rem);font-weight:var(--adyen-sdk-text-subtitle-stronger-font-weight,600);font-weight:var(--adyen-sdk-text-subtitle-font-weight,500);line-height:var(--adyen-sdk-text-subtitle-line-height,26px);margin:0;padding:0 0 var(--adyen-sdk-spacer-060,12px)}.adyen-checkout__fieldset__title:has(+.adyen-checkout__fieldset__description){padding:0}.adyen-checkout__fieldset__fields{display:flex;flex-wrap:wrap;gap:var(--adyen-sdk-spacer-070,16px);width:100%}.adyen-checkout__fieldset__fields>.adyen-checkout__field{margin-bottom:0}.adyen-checkout__fieldset--readonly .adyen-checkout__fieldset__fields{color:var(--adyen-sdk-color-label-primary,#00112c);font-size:var(--adyen-sdk-text-body-font-size,.875rem);line-height:var(--adyen-sdk-text-caption-line-height,18px);margin:0}
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
.adyen-checkout-disclaimer__label{color:var(--adyen-sdk-color-label-secondary,#5c687c);display:inline-block;font-size:var(--adyen-sdk-text-caption-font-size,.75rem);font-weight:400;line-height:var(--adyen-sdk-text-caption-line-height,18px);margin-top:var(--adyen-sdk-spacer-070,16px);padding-left:0}[dir=rtl] .adyen-checkout-disclaimer__label{padding-right:0}
|
|
15
15
|
.adyen-checkout-link{--text-decoration:none;color:var(--adyen-sdk-color-label-highlight,#0070f5);-webkit-text-decoration:var(--text-decoration);text-decoration:var(--text-decoration)}.adyen-checkout-link:focus-visible{outline:none}.adyen-checkout-link:active,.adyen-checkout-link:hover{--text-decoration:underline}.adyen-checkout-link:focus-visible{border-radius:var(--adyen-sdk-border-radius-xs,2px);box-shadow:0 0 0 1px #fff,0 0 0 3px var(--adyen-sdk-focus-ring-color,rgba(0,112,245,.8));transition:.1s cubic-bezier(.785,.135,.15,.86)}
|
|
16
16
|
.adyen-checkout-brand-wrapper{align-items:center;border-radius:var(--adyen-sdk-border-radius-s,4px);box-shadow:var(--adyen-sdk-shadow-low,0 2px 4px rgba(0,17,44,.04),0 1px 2px rgba(0,17,44,.02));display:flex;justify-content:center;overflow:hidden;position:relative}.adyen-checkout-brand-wrapper--error{display:none}
|
|
17
|
-
.adyen-checkout__field--cardNumber .adyen-checkout__input-wrapper{cursor:text}.adyen-checkout__field--cardNumber .adyen-checkout-brand-wrapper{border-radius:var(--adyen-sdk-border-radius-s,4px);margin-right:var(--adyen-sdk-spacer-060,12px)}.adyen-checkout__field--cardNumber .adyen-checkout-card-input__icon{margin-right:0}.adyen-checkout__card__dual-branding__icons{display:flex}.adyen-checkout__card__dual-branding__icons .adyen-checkout__card__cardNumber__brandIcon{opacity:1}
|
|
17
|
+
.adyen-checkout__field--cardNumber .adyen-checkout__input-wrapper{cursor:text}.adyen-checkout__field--cardNumber .adyen-checkout-brand-wrapper{border-radius:var(--adyen-sdk-border-radius-s,4px);margin-right:var(--adyen-sdk-spacer-060,12px)}.adyen-checkout__field--cardNumber .adyen-checkout-card-input__icon{margin-right:0}.adyen-checkout__card__dual-branding__icons{display:flex}.adyen-checkout__card__dual-branding__icons .adyen-checkout__card__cardNumber__brandIcon{opacity:1}.adyen-checkout__card__dual-branding__sr-only{border:0;clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}
|
|
18
|
+
.DualBrandSelector-module_dualBrandSelector__Fz7UW{background-color:var(--adyen-sdk-color-background-tertiary,#eeeff1);border-radius:var(--adyen-sdk-border-radius-m,8px);display:flex;gap:var(--adyen-sdk-spacer-020,4px);margin-right:var(--adyen-sdk-spacer-060,12px);padding:var(--adyen-sdk-spacer-020,4px)}.DualBrandSelector-module_dualBrandSelectorButton__3Dxem{align-items:center;background-color:transparent;border:1px solid transparent;border-radius:var(--adyen-sdk-border-radius-s,4px);cursor:pointer;display:flex;height:24px;justify-content:center;padding:0;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease;width:34px}.DualBrandSelector-module_dualBrandSelectorButton__3Dxem:hover{background-color:var(--adyen-sdk-color-background-primary,#ffffff);border-color:var(--adyen-sdk-color-outline-primary,#dbdee2);box-shadow:0 2px 4px rgba(0,0,0,.3)}.DualBrandSelector-module_dualBrandSelectorButtonSelected__EswTK{background-color:var(--adyen-sdk-color-background-primary,#ffffff);box-shadow:inset 0 0 0 .5px var(--adyen-sdk-color-outline-primary,#dbdee2),0 2px 4px rgba(0,0,0,.5)}.DualBrandSelector-module_dualBrandSelectorIcon__qeN0L{border-radius:var(--adyen-sdk-border-radius-s,4px);height:16px;width:24px}
|
|
18
19
|
.adyen-checkout__field.adyen-checkout__card__exp-date__input--hidden{display:none}.adyen-checkout__card__exp-cvc__exp-date__input--hidden{justify-content:flex-end}.adyen-checkout__field__exp-date .adyen-checkout__input-wrapper{cursor:text}.adyen-checkout__input-wrapper .adyen-checkout__field__exp-date_hint_wrapper{border-radius:var(--adyen-sdk-border-radius-s,4px);height:18px;margin-right:var(--adyen-sdk-spacer-060,12px);position:absolute;right:0;transition:opacity .1s linear;width:27px}.adyen-checkout__input-wrapper .adyen-checkout__field__exp-date_hint_wrapper.adyen-checkout__field__exp-date_hint_wrapper--hidden{opacity:0}.adyen-checkout__field__exp-date_hint{height:18px;width:27px}
|
|
19
20
|
.BrandIcons-module_container__FeCxK{align-items:center;display:flex;flex-basis:auto;flex-wrap:wrap;gap:var(--adyen-sdk-spacer-040,8px);margin:var(--adyen-sdk-spacer-020,4px) var(--adyen-sdk-spacer-000,0)}.BrandIcons-module_grid__wb0DE{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--adyen-sdk-spacer-110,40px),1fr))}.BrandIcons-module_smallImgGrid__iCMqT{grid-template-columns:repeat(auto-fill,minmax(var(--adyen-sdk-spacer-090,24px),1fr))}.BrandIcons-module_remainingBrandsLabel__v0FKS{color:var(--adyen-sdk-color-label-secondary,#5c687c);font-size:var(--adyen-sdk-text-body-font-size,.875rem)}.BrandIcons-module_img__Oe3i-{display:block;height:var(--adyen-sdk-spacer-090,24px);padding:0;width:var(--adyen-sdk-spacer-110,40px)}.BrandIcons-module_smallImg__GwOZ0{height:var(--adyen-sdk-spacer-070,16px);width:var(--adyen-sdk-spacer-090,24px)}
|
|
20
21
|
.adyen-checkout__card__brands{margin-bottom:var(--adyen-sdk-spacer-060,12px);margin-top:calc(var(--adyen-sdk-spacer-040, 8px)*-1)}.adyen-checkout__card__brands--hidden{margin:-8px 0 8px;max-height:0;min-height:0;opacity:0}
|
|
@@ -23,8 +24,6 @@
|
|
|
23
24
|
.adyen-checkout__store-details{align-items:center;background:var(--adyen-sdk-color-background-primary,#ffffff);border:var(--adyen-sdk-border-width-s,1px) solid var(--adyen-sdk-color-outline-primary,#dbdee2);border-radius:var(--adyen-sdk-border-radius-m,8px);display:flex;gap:var(--adyen-sdk-spacer-060,12px);margin-top:var(--adyen-sdk-spacer-070,16px);padding:var(--adyen-sdk-spacer-060,12px) var(--adyen-sdk-spacer-070,16px)}
|
|
24
25
|
.adyen-checkout__address-search{position:relative}.adyen-checkout__address-search .adyen-checkout__dropdown__button:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='%23687282' d='M6.5 11.9a4.5 4.5 0 0 0 2.6-.83l2.77 2.74c.13.13.3.19.48.19.38 0 .65-.29.65-.66a.63.63 0 0 0-.19-.46l-2.75-2.73a4.4 4.4 0 0 0 .92-2.7 4.48 4.48 0 0 0-8.98 0 4.48 4.48 0 0 0 4.5 4.45m0-.96a3.53 3.53 0 0 1-3.53-3.49 3.52 3.52 0 0 1 7.04 0c0 1.9-1.59 3.49-3.52 3.49Z'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;content:"";height:var(--adyen-sdk-spacer-070,16px);left:var(--adyen-sdk-spacer-060,12px);position:absolute;width:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout__address-search .adyen-checkout__dropdown__button--active:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='%2300112c' d='M6.5 11.9a4.5 4.5 0 0 0 2.6-.83l2.77 2.74c.13.13.3.19.48.19.38 0 .65-.29.65-.66a.63.63 0 0 0-.19-.46l-2.75-2.73a4.4 4.4 0 0 0 .92-2.7 4.48 4.48 0 0 0-8.98 0 4.48 4.48 0 0 0 4.5 4.45m0-.96a3.53 3.53 0 0 1-3.53-3.49 3.52 3.52 0 0 1 7.04 0c0 1.9-1.59 3.49-3.52 3.49Z'/%3E%3C/svg%3E");transform:none}.adyen-checkout__address-search .adyen-checkout__filter-input{padding-left:calc(var(--adyen-sdk-spacer-040, 8px) + var(--adyen-sdk-spacer-070, 16px));position:relative}.adyen-checkout__address-search__manual-add{position:absolute;right:0;top:0}.adyen-checkout__address-search__manual-add .adyen-checkout__address-search__manual-add__button{border:0;padding:0}
|
|
25
26
|
.adyen-checkout__fieldset--address .adyen-checkout__field-group{display:flex;flex-wrap:wrap;gap:var(--adyen-sdk-spacer-070,16px);width:100%}.adyen-checkout__fieldset--address .adyen-checkout__field-group>.adyen-checkout__field{margin-bottom:0}
|
|
26
|
-
.adyen-checkout__input-icon{border-radius:var(--adyen-sdk-border-radius-s,4px);height:18px;margin-right:var(--adyen-sdk-spacer-060,12px);width:27px}.adyen-checkout__input-icon--hidden{display:none}.adyen-checkout__input-icon--no-radio-icon{margin-left:calc(var(--adyen-sdk-spacer-090, 24px)*-1)}
|
|
27
|
-
.adyen-checkout__radio_group__label--no-radio{color:inherit;display:block;font-size:var(--adyen-sdk-text-body-font-size,.875rem);font-weight:400;line-height:var(--adyen-sdk-text-body-line-height,20px);margin:0;overflow:visible;padding-bottom:0;padding-left:var(--adyen-sdk-spacer-090,24px);position:relative}.adyen-checkout__input-icon--no-radio-icon{border-radius:var(--adyen-sdk-border-radius-s,4px);box-shadow:var(--adyen-sdk-shadow-low,0 2px 4px rgba(0,17,44,.04),0 1px 2px rgba(0,17,44,.02))}.adyen-checkout__radio_group__label--no-radio:hover{border-color:var(--adyen-sdk-color-label-primary,#00112c);cursor:pointer}.adyen-checkout__label--focused .adyen-checkout__radio_group__label--no-radio{color:inherit}.adyen-checkout__radio_group__label--no-radio.adyen-checkout__radio_group__label--no-radio--invalid{color:var(--adyen-sdk-color-outline-critical,#e22d2d)}.adyen-checkout__radio_group--button .adyen-checkout__radio_group__label--no-radio{background-color:var(--adyen-sdk-color-background-primary,#ffffff);border:var(--adyen-sdk-border-width-s,1px) solid var(--adyen-sdk-color-outline-primary,#dbdee2);border-radius:var(--adyen-sdk-border-radius-m,8px);padding:var(--adyen-sdk-spacer-060,12px) var(--adyen-sdk-spacer-060,12px) var(--adyen-sdk-spacer-060,12px) calc(var(--adyen-sdk-spacer-060, 12px) + var(--adyen-sdk-spacer-090, 24px));width:100%}.adyen-checkout__radio_group--button .adyen-checkout__radio_group__input:checked+.adyen-checkout__radio_group__label--no-radio{border-color:var(--adyen-sdk-color-outline-primary-active,#00112c);box-shadow:0 0 0 .5px var(--adyen-sdk-color-outline-primary-active,#00112c)}.adyen-checkout__radio_group--button .adyen-checkout__radio_group__input+.adyen-checkout__radio_group__label--no-radio:hover{border-color:var(--adyen-sdk-color-outline-primary-active,#00112c)}.adyen-checkout__radio_group--button .adyen-checkout__radio_group__input:checked:active+.adyen-checkout__radio_group__label--no-radio,.adyen-checkout__radio_group--button .adyen-checkout__radio_group__input:checked:focus+.adyen-checkout__radio_group__label--no-radio{border-color:var(--adyen-sdk-color-outline-primary-active,#00112c);box-shadow:0 0 0 .5px var(--adyen-sdk-color-outline-primary-active,#00112c)}.adyen-checkout__radio_group--button .adyen-checkout__radio_group__input:checked:focus+.adyen-checkout__radio_group__label--no-radio{outline:var(--adyen-sdk-border-width-m,2px) solid var(--adyen-sdk-color-outline-primary-active,#00112c)}.adyen-checkout__radio_group--button .adyen-checkout__radio_group-extended__label-wrapper{display:flex}.adyen-checkout__radio_group--button .adyen-checkout__radio_group-extended__label-wrapper .adyen-checkout__radio_group-extended__label{width:100%}.adyen-checkout__radio_group--button .adyen-checkout__radio_group-extended__label-wrapper .adyen-checkout-input__inline-validation{display:none;margin-right:var(--adyen-sdk-spacer-000,0)}.adyen-checkout__radio_group--button .adyen-checkout__radio_group-extended__label-wrapper .adyen-checkout-input__inline-validation.adyen-checkout-input__inline-validation--valid{display:block;margin-left:var(--adyen-sdk-spacer-040,8px);margin-top:1px}@media (max-width:480px){.adyen-checkout__radio_group__input-wrapper.adyen-checkout__field--50{min-width:100%}}
|
|
28
27
|
.adyen-checkout-form-instruction{color:var(--adyen-sdk-color-label-primary,#00112c);font-size:var(--adyen-sdk-text-caption-font-size,.75rem);font-weight:var(--adyen-sdk-text-body-font-weight,400);line-height:var(--adyen-sdk-text-caption-line-height,18px);margin-bottom:var(--adyen-sdk-spacer-070,16px);margin-top:0}[dir=rtl] .adyen-checkout-form-instruction{padding-right:0}
|
|
29
28
|
.adyen-checkout-toggle{color:inherit;cursor:pointer;display:flex;width:auto}.adyen-checkout-toggle,.adyen-checkout-toggle *,.adyen-checkout-toggle :after,.adyen-checkout-toggle :before,.adyen-checkout-toggle:after,.adyen-checkout-toggle:before{box-sizing:border-box}.adyen-checkout-toggle--disabled{cursor:not-allowed;display:flex}.adyen-checkout-toggle--readonly{pointer-events:none}.adyen-checkout-toggle--label-first{align-items:flex-start;flex-direction:row-reverse;justify-content:flex-end}.adyen-checkout-toggle__input{cursor:inherit;opacity:0;position:absolute}.adyen-checkout-toggle__track{align-items:center;background-color:var(--adyen-sdk-toggle-track-background-color,#ffffff);border:var(--adyen-sdk-toggle-track-border,1px solid #8d95a3);border-radius:var(--adyen-sdk-toggle-track-border-radius,12px);display:flex;height:var(--adyen-sdk-toggle-track-height,20px);min-width:var(--adyen-sdk-toggle-track-width,36px);padding:var(--adyen-sdk-toggle-track-padding,2px 4px);position:relative}.adyen-checkout-toggle__input:focus-visible+.adyen-checkout-toggle__track{box-shadow:0 0 0 1px #fff,0 0 0 3px var(--adyen-sdk-focus-ring-color,rgba(0,112,245,.8));transition:.1s cubic-bezier(.785,.135,.15,.86)}.adyen-checkout-toggle__input:hover:enabled+.adyen-checkout-toggle__track{background-color:var(--adyen-sdk-toggle-track-hover-background-color,#f7f7f8);border-color:var(--adyen-sdk-toggle-track-hover-border-color,#6d7789)}.adyen-checkout-toggle__input:active:enabled+.adyen-checkout-toggle__track{background-color:var(--adyen-sdk-toggle-track-active-background-color,#eeeff1);border-color:var(--adyen-sdk-toggle-track-active-border-color,#00112c)}.adyen-checkout-toggle__input:disabled+.adyen-checkout-toggle__track{background-color:var(--adyen-sdk-toggle-track-disabled-background-color,#f7f7f8);border-color:var(--adyen-sdk-toggle-track-disabled-border-color,#dbdee2);cursor:not-allowed}.adyen-checkout-toggle__input:disabled+.adyen-checkout-toggle__track path{fill:#8d95a3}.adyen-checkout-toggle--readonly .adyen-checkout-toggle__input+.adyen-checkout-toggle__track{background-color:var(--adyen-sdk-toggle-track-readonly-background-color,#f7f7f8);border-color:var(--adyen-sdk-toggle-track-readonly-border-color,#dbdee2)}.adyen-checkout-toggle__input:checked+.adyen-checkout-toggle__track{background-color:var(--adyen-sdk-toggle-track-toggled-background-color,#00112c);border:var(--adyen-sdk-toggle-track-toggled-border,0);padding:var(--adyen-sdk-toggle-track-toggled-padding,2px)}.adyen-checkout-toggle__input:checked:hover:enabled+.adyen-checkout-toggle__track{background-color:var(--adyen-sdk-toggle-track-toggled-hover-background-color,#5c687c)}.adyen-checkout-toggle__input:checked:active:enabled+.adyen-checkout-toggle__track{background-color:var(--adyen-sdk-toggle-track-toggled-active-background-color,#8d95a3)}.adyen-checkout-toggle__input:checked:disabled+.adyen-checkout-toggle__track{background-color:var(--adyen-sdk-toggle-track-toggled-disabled-background-color,#c0c5cc)}.adyen-checkout-toggle--readonly .adyen-checkout-toggle__input:checked+.adyen-checkout-toggle__track{background-color:var(--adyen-sdk-toggle-track-toggled-readonly-background-color,#c0c5cc)}.adyen-checkout-toggle__handle{align-content:center;background-color:var(--adyen-sdk-toggle-handle-background-color,#00112c);border-radius:var(--adyen-sdk-toggle-handle-border-radius,12px);color:var(--adyen-sdk-toggle-handle-toggled-color,#00112c);display:inline-flex;height:var(--adyen-sdk-toggle-handle-height,12px);justify-content:center;transition:var(--adyen-sdk-toggle-handle-transition,transform .15s cubic-bezier(.2,0,.4,.9));width:var(--adyen-sdk-toggle-handle-width,12px)}.adyen-checkout-toggle__input:disabled+* .adyen-checkout-toggle__handle{background-color:var(--adyen-sdk-toggle-handle-disabled-background-color,#8d95a3);cursor:not-allowed}.adyen-checkout-toggle__input:checked+* .adyen-checkout-toggle__handle{background-color:var(--adyen-sdk-toggle-handle-toggled-background-color,#ffffff);height:var(--adyen-sdk-toggle-handle-toggled-height,16px);transform:translateX(100%);width:var(--adyen-sdk-toggle-handle-toggled-width,16px)}.adyen-checkout-toggle__input:checked:disabled+* .adyen-checkout-toggle__handle{background-color:var(--adyen-sdk-toggle-handle-toggled-disabled-background-color,#eeeff1);color:var(--adyen-sdk-toggle-handle-toggled-disabled-color,#8d95a3);cursor:not-allowed}.adyen-checkout-toggle--readonly .adyen-checkout-toggle__input:checked+* .adyen-checkout-toggle__handle{background-color:var(--adyen-sdk-toggle-handle-toggled-readonly-background-color,#eeeff1)}.adyen-checkout-toggle__label-container{display:flex;flex-direction:column;font-size:var(--adyen-sdk-text-body-font-size,.875rem);font-weight:var(--adyen-sdk-text-body-font-weight,400);line-height:var(--adyen-sdk-text-body-line-height,20px);padding-left:var(--adyen-sdk-toggle-label-padding,16px)}.adyen-checkout-toggle--label-first>.adyen-checkout-toggle__label-container{padding-left:0;padding-right:var(--adyen-sdk-toggle-label-padding,16px)}.adyen-checkout-toggle__label{vertical-align:baseline}.adyen-checkout-toggle__description,.adyen-checkout-toggle__label{font-size:var(--adyen-sdk-text-body-font-size,.875rem);font-weight:var(--adyen-sdk-text-body-font-weight,400);line-height:var(--adyen-sdk-text-body-line-height,20px)}.adyen-checkout-toggle__description{color:var(--adyen-sdk-toggle-description-color,#5c687c);padding-top:var(--adyen-sdk-toggle-description-padding,4px)}
|
|
30
29
|
.adyen-checkout__modal-wrapper{align-items:center;display:flex;height:100%;left:0;overflow-y:auto;overscroll-behavior-y:contain;padding:var(--adyen-sdk-spacer-090,24px);position:fixed;top:0;visibility:hidden;width:100%;z-index:10}.adyen-checkout__modal-wrapper:before{background:rgba(0,17,44,.5);content:"";height:100%;left:0;opacity:0;position:fixed;top:0;transition:opacity .3s linear;width:100%;z-index:10}.adyen-checkout__modal-wrapper--open{visibility:visible}.adyen-checkout__modal-wrapper--open .adyen-checkout__modal,.adyen-checkout__modal-wrapper--open:before{opacity:1}.adyen-checkout__modal{background-color:var(--adyen-sdk-color-background-primary,#ffffff);border-radius:var(--adyen-sdk-border-radius-m,8px);box-shadow:0 var(--adyen-sdk-spacer-040,8px) var(--adyen-sdk-spacer-090,24px) rgba(0,17,44,.15);margin:auto;opacity:0;padding:var(--adyen-sdk-spacer-070,16px);position:relative;transition:opacity .2s ease,visibility .2s ease;z-index:11}
|
|
@@ -110,7 +109,7 @@ apple-pay-button{--apple-pay-button-width:100%;--apple-pay-button-height:48px;--
|
|
|
110
109
|
.adyen-checkout__dropin--loading .adyen-checkout__instant-payment-methods-list{opacity:.2;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}
|
|
111
110
|
.adyen-checkout__payment-method__disable-confirmation{background:var(--adyen-sdk-color-background-critical-strong,#e22d2d);border-left:1px solid rgb(224.7623430962,36.0376569038,36.0376569038);border-right:1px solid rgb(224.7623430962,36.0376569038,36.0376569038);color:var(--adyen-sdk-color-label-on-color,#ffffff);display:grid;font-size:var(--adyen-sdk-text-body-font-size,.875rem);grid-template-rows:0fr;margin:0 -17px;opacity:0;overflow:hidden;transition:grid-template-rows var(--adyen-sdk-animation-duration-moderate,.15s) var(--adyen-sdk-animation-easing-linear,linear),opacity var(--adyen-sdk-animation-duration-moderate,.15s) var(--adyen-sdk-animation-easing-standard,cubic-bezier(.2,0,.4,.9)),margin-bottom var(--adyen-sdk-animation-duration-fast,.1s) var(--adyen-sdk-animation-easing-linear,linear)}.adyen-checkout__payment-method__disable-confirmation__content{align-items:center;display:flex;justify-content:space-between;min-height:0;transition:visibility var(--adyen-sdk-animation-duration-moderate,.15s) var(--adyen-sdk-animation-easing-linear,linear),padding var(--adyen-sdk-animation-duration-fast,.1s) var(--adyen-sdk-animation-easing-linear,linear);visibility:hidden}.adyen-checkout__payment-method__disable-confirmation--open{grid-template-rows:1fr;margin-bottom:var(--adyen-sdk-spacer-070,16px);opacity:1}.adyen-checkout__payment-method__disable-confirmation--open .adyen-checkout__payment-method__disable-confirmation__content{padding:var(--adyen-sdk-spacer-040,8px) var(--adyen-sdk-spacer-070,16px);visibility:visible}.adyen-checkout__payment-method__disable-confirmation__buttons{display:flex}.adyen-checkout__payment-method__disable-confirmation__button{background:var(--adyen-sdk-color-background-critical-strong,#e22d2d);border:var(--adyen-sdk-border-width-s,1px) solid transparent;border-radius:var(--adyen-sdk-border-radius-m,8px);color:var(--adyen-sdk-color-label-on-color,#ffffff);cursor:pointer;display:block;font-size:var(--adyen-sdk-text-body-font-size,.875rem);height:auto;margin:0 0 0 var(--adyen-sdk-spacer-040,8px);padding:var(--adyen-sdk-spacer-040,8px);width:auto}.adyen-checkout__payment-method__disable-confirmation__button:hover,.adyen-checkout__payment-method__disable-confirmation__button:hover:focus{background:rgb(215.7112970711,29.7887029289,29.7887029289);box-shadow:none}.adyen-checkout__payment-method__disable-confirmation__button:active,.adyen-checkout__payment-method__disable-confirmation__button:hover:active{background:rgb(193.3054393305,26.6945606695,26.6945606695);box-shadow:none}.adyen-checkout__payment-method__disable-confirmation__button--remove,.adyen-checkout__payment-method__disable-confirmation__button--remove:disabled{border-color:var(--adyen-sdk-color-label-on-color,#ffffff)}.adyen-checkout__payment-method__disable-confirmation__button--cancel,.adyen-checkout__payment-method__disable-confirmation__button--cancel:disabled{border-color:transparent}
|
|
112
111
|
.adyen-checkout__payment-method__name{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.adyen-checkout__payment-method__additional-info{color:var(--adyen-sdk-color-label-secondary,#5c687c);font-size:var(--adyen-sdk-text-caption-font-size,.75rem);font-weight:var(--adyen-sdk-text-body-font-weight,400)}.adyen-checkout__payment-method__name_wrapper{align-items:flex-start;display:flex;flex-direction:column;gap:var(--adyen-sdk-spacer-020,4px);min-width:var(--adyen-sdk-spacer-120,48px);text-align:start}
|
|
113
|
-
.adyen-checkout__payment-method{background:var(--adyen-sdk-color-background-primary,#ffffff);border:var(--adyen-sdk-border-width-s,1px) solid var(--adyen-sdk-color-outline-primary,#dbdee2);border-radius:var(--adyen-sdk-border-radius-m,8px);cursor:pointer;position:relative;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,border-radius .15s ease;width:100%}.adyen-checkout__payment-method:focus{outline:0}.adyen-checkout__payment-method:hover:not(.adyen-checkout__payment-method--selected){border-color:var(--adyen-sdk-color-outline-primary-hover,#c9cdd3)}.adyen-checkout__payment-method--loading{opacity:.2}.adyen-checkout__payment-method--selected.adyen-checkout__payment-method--loading{opacity:.9}.adyen-checkout__payment-method--confirming .adyen-checkout__payment-method__details__content,.adyen-checkout__payment-method--disabling{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.adyen-checkout__payment-method--disabling{opacity:.3}.adyen-checkout__payment-method--standalone .adyen-checkout__payment-method__radio{display:none}.adyen-checkout__payment-method__header{color:var(--adyen-sdk-color-label-primary,#00112c);display:flex;flex-wrap:nowrap;font-size:var(--adyen-sdk-text-title-font-size,1rem);font-weight:var(--adyen-sdk-text-body-font-weight,400);justify-content:space-between;padding:var(--adyen-sdk-spacer-070,16px);position:relative;transition:background .1s ease-out;width:100%}[dir=rtl] .adyen-checkout__payment-method__header{padding:calc(var(--adyen-sdk-spacer-070, 16px) - var(--adyen-sdk-spacer-020, 4px));padding-right:calc(var(--adyen-sdk-spacer-120, 48px) - var(--adyen-sdk-spacer-020, 4px))}.adyen-checkout__payment-method__header .adyen-checkout__payment-method__header__content{max-height:-moz-fit-content;max-height:fit-content}@media (min-width:427.5px){.adyen-checkout__payment-method__header .adyen-checkout__payment-method__header__content{align-items:center}}.adyen-checkout__payment-method__header .adyen-checkout__payment-method__header__details{display:flex;flex:1;flex-direction:column;gap:var(--adyen-sdk-spacer-040,8px);justify-content:space-between}@media (min-width:427.5px){.adyen-checkout__payment-method__header .adyen-checkout__payment-method__header__details{align-items:center;flex-direction:row}}.adyen-checkout__payment-method--standalone .adyen-checkout__payment-method__header{padding:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout__payment-method__surcharge{color:var(--adyen-sdk-color-label-secondary,#5c687c);margin-left:var(--adyen-sdk-spacer-020,4px)}.adyen-checkout__payment-method--selected{background:var(--adyen-sdk-color-background-secondary,#f7f7f8);border:var(--adyen-sdk-border-width-s,1px) solid var(--adyen-sdk-color-outline-secondary,#c9cdd3);cursor:default;transition:opacity .3s ease-out}.adyen-checkout__payment-method--selected .adyen-checkout__payment-method__header{flex-wrap:wrap}.adyen-checkout__payment-method__details{padding:var(--adyen-sdk-spacer-000,0) var(--adyen-sdk-spacer-070,16px);position:relative}.adyen-checkout__payment-method__details__content>:last-child{margin-bottom:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout__payment-method__image__wrapper{align-items:center;border-radius:var(--adyen-sdk-border-radius-s,4px);display:flex;height:26px;justify-content:center;overflow:hidden;position:relative;width:var(--adyen-sdk-spacer-110,40px)}.adyen-checkout__payment-method__image{border-radius:var(--adyen-checkout-border-radius-s);display:block;flex-shrink:0;height:100%;overflow:hidden;width:100%}.adyen-checkout__payment-method--selected .adyen-checkout__payment-method__brands{height:auto;overflow:visible;text-align:left}.adyen-checkout__payment-method__brands .adyen-checkout__payment-method__image__wrapper{display:inline-block;height:var(--adyen-sdk-spacer-070,16px);transition:opacity .2s ease-out;width:var(--adyen-sdk-spacer-090,24px)}.adyen-checkout__payment-method__brands .adyen-checkout__payment-method__image__wrapper:last-child{margin:var(--adyen-sdk-spacer-000,0)}.adyen-checkout__payment-method--selected .adyen-checkout__payment-method__brands .adyen-checkout__payment-method__image__wrapper{margin-bottom:var(--adyen-sdk-spacer-020,4px)}.adyen-checkout__payment-method__brands img{height:100%;width:100%}.adyen-checkout__payment-method:hover:not(.adyen-checkout__payment-method--selected) .adyen-checkout__payment-method__radio{box-shadow:0 0 0 var(--adyen-sdk-spacer-010,2px) var(--adyen-sdk-color-outline-primary-hover,#c9cdd3);cursor:pointer}
|
|
112
|
+
.adyen-checkout__payment-method{background:var(--adyen-sdk-color-background-primary,#ffffff);border:var(--adyen-sdk-border-width-s,1px) solid var(--adyen-sdk-color-outline-primary,#dbdee2);border-radius:var(--adyen-sdk-border-radius-m,8px);cursor:pointer;position:relative;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,border-radius .15s ease;width:100%}.adyen-checkout__payment-method:focus{outline:0}.adyen-checkout__payment-method:hover:not(.adyen-checkout__payment-method--selected){border-color:var(--adyen-sdk-color-outline-primary-hover,#c9cdd3)}.adyen-checkout__payment-method--loading{opacity:.2}.adyen-checkout__payment-method--selected.adyen-checkout__payment-method--loading{opacity:.9}.adyen-checkout__payment-method--confirming .adyen-checkout__payment-method__details__content,.adyen-checkout__payment-method--disabling{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.adyen-checkout__payment-method--disabling{opacity:.3}.adyen-checkout__payment-method--standalone .adyen-checkout__payment-method__radio{display:none}.adyen-checkout__payment-method__header{color:var(--adyen-sdk-color-label-primary,#00112c);display:flex;flex-wrap:nowrap;font-size:var(--adyen-sdk-text-title-font-size,1rem);font-weight:var(--adyen-sdk-text-body-font-weight,400);justify-content:space-between;padding:var(--adyen-sdk-spacer-070,16px);position:relative;transition:background .1s ease-out;width:100%}[dir=rtl] .adyen-checkout__payment-method__header{padding:calc(var(--adyen-sdk-spacer-070, 16px) - var(--adyen-sdk-spacer-020, 4px));padding-right:calc(var(--adyen-sdk-spacer-120, 48px) - var(--adyen-sdk-spacer-020, 4px))}.adyen-checkout__payment-method__header .adyen-checkout__payment-method__header__content{max-height:-moz-fit-content;max-height:fit-content}@media (min-width:427.5px){.adyen-checkout__payment-method__header .adyen-checkout__payment-method__header__content{align-items:center}}.adyen-checkout__payment-method__header .adyen-checkout__payment-method__header__details{display:flex;flex:1;flex-direction:column;gap:var(--adyen-sdk-spacer-040,8px);justify-content:space-between;overflow:hidden}@media (min-width:427.5px){.adyen-checkout__payment-method__header .adyen-checkout__payment-method__header__details{align-items:center;flex-direction:row}}.adyen-checkout__payment-method--standalone .adyen-checkout__payment-method__header{padding:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout__payment-method__surcharge{color:var(--adyen-sdk-color-label-secondary,#5c687c);margin-left:var(--adyen-sdk-spacer-020,4px)}.adyen-checkout__payment-method--selected{background:var(--adyen-sdk-color-background-secondary,#f7f7f8);border:var(--adyen-sdk-border-width-s,1px) solid var(--adyen-sdk-color-outline-secondary,#c9cdd3);cursor:default;transition:opacity .3s ease-out}.adyen-checkout__payment-method--selected .adyen-checkout__payment-method__header{flex-wrap:wrap}.adyen-checkout__payment-method__details{padding:var(--adyen-sdk-spacer-000,0) var(--adyen-sdk-spacer-070,16px);position:relative}.adyen-checkout__payment-method__details__content>:last-child{margin-bottom:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout__payment-method__image__wrapper{align-items:center;border-radius:var(--adyen-sdk-border-radius-s,4px);display:flex;height:26px;justify-content:center;overflow:hidden;position:relative;width:var(--adyen-sdk-spacer-110,40px)}.adyen-checkout__payment-method__image{border-radius:var(--adyen-checkout-border-radius-s);display:block;flex-shrink:0;height:100%;overflow:hidden;width:100%}.adyen-checkout__payment-method--selected .adyen-checkout__payment-method__brands{height:auto;overflow:visible;text-align:left}.adyen-checkout__payment-method__brands .adyen-checkout__payment-method__image__wrapper{display:inline-block;height:var(--adyen-sdk-spacer-070,16px);transition:opacity .2s ease-out;width:var(--adyen-sdk-spacer-090,24px)}.adyen-checkout__payment-method__brands .adyen-checkout__payment-method__image__wrapper:last-child{margin:var(--adyen-sdk-spacer-000,0)}.adyen-checkout__payment-method--selected .adyen-checkout__payment-method__brands .adyen-checkout__payment-method__image__wrapper{margin-bottom:var(--adyen-sdk-spacer-020,4px)}.adyen-checkout__payment-method__brands img{height:100%;width:100%}.adyen-checkout__payment-method:hover:not(.adyen-checkout__payment-method--selected) .adyen-checkout__payment-method__radio{box-shadow:0 0 0 var(--adyen-sdk-spacer-010,2px) var(--adyen-sdk-color-outline-primary-hover,#c9cdd3);cursor:pointer}
|
|
114
113
|
.adyen-checkout__status{align-items:center;background-color:var(--adyen-sdk-color-background-primary,#ffffff);border:var(--adyen-sdk-border-width-s,1px) solid var(--adyen-sdk-color-outline-secondary,#c9cdd3);border-radius:var(--adyen-sdk-border-radius-m,8px);color:var(--adyen-sdk-color-label-primary,#00112c);display:flex;flex-direction:column;font-size:var(--adyen-sdk-text-title-font-size,1rem);height:350px;justify-content:center;margin:0;padding:var(--adyen-sdk-spacer-100,32px);text-align:center}.adyen-checkout__status__icon{margin-bottom:var(--adyen-sdk-spacer-090,24px)}.adyen-checkout__status .adyen-checkout__spinner__wrapper{max-height:88px}
|
|
115
114
|
.adyen-checkout__dropin{display:flex;flex-direction:column;gap:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout__button--dropin-show-paymentmethods{align-self:start}.adyen-checkout-payment-methods-container{display:flex;flex-direction:column;gap:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout-payment-methods-list-label{color:var(--adyen-sdk-color-label-primary,#00112c);font-size:var(--adyen-sdk-text-subtitle-font-size,1rem);font-weight:var(--adyen-sdk-text-subtitle-stronger-font-weight,600);line-height:var(--adyen-sdk-text-subtitle-line-height,26px)}.adyen-checkout__payment-methods-list{display:flex;flex-direction:column;gap:var(--adyen-sdk-spacer-070,16px);list-style:none;margin:0;padding:0}.adyen-checkout__payment-methods-list--loading{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.adyen-checkout__instant-payment-methods-list{display:flex;flex-wrap:wrap;gap:var(--adyen-sdk-spacer-070,16px);list-style:none;margin:0;padding:0}.adyen-checkout__instant-payment-methods-list li{flex:1 0 calc(50% - var(--adyen-sdk-spacer-070, 16px)/2)}.adyen-checkout__payment-method{display:block}.adyen-checkout__payment-method__details{overflow:hidden}.adyen-checkout__payment-method__image{height:26px;width:var(--adyen-sdk-spacer-110,40px)}[dir=rtl] .adyen-checkout__payment-method__image__wrapper{margin-left:var(--adyen-sdk-spacer-040,8px);margin-right:0}.adyen-checkout-pm-details-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease;visibility:hidden}.adyen-checkout-pm-details-wrapper[aria-hidden=false]{grid-template-rows:1fr;visibility:visible}.adyen-checkout-pm-details-wrapper[aria-hidden=false] .adyen-checkout__payment-method__details{overflow:visible}
|
|
116
115
|
.adyen-checkout-sr-panel{font-size:.75em;margin-bottom:var(--adyen-sdk-spacer-080,20px)}.adyen-checkout-sr-panel--sr-only{border:0;clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}
|