@adyen/adyen-web 6.29.0 → 6.30.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.
Files changed (118) hide show
  1. package/dist/cjs/adyen.css +7 -8
  2. package/dist/cjs/adyen.css.map +1 -1
  3. package/dist/cjs/index.cjs +2 -2
  4. package/dist/cjs/index.cjs.map +1 -1
  5. package/dist/cjs/index.d.cts +31 -40
  6. package/dist/es/adyen.css +7 -8
  7. package/dist/es/adyen.css.map +1 -1
  8. package/dist/es/components/Card/components/CardInput/CardInput.js +1 -1
  9. package/dist/es/components/Card/components/CardInput/CardInput.js.map +1 -1
  10. package/dist/es/components/Card/components/CardInput/types.js.map +1 -1
  11. package/dist/es/components/CustomCard/CustomCard.js +1 -1
  12. package/dist/es/components/CustomCard/CustomCard.js.map +1 -1
  13. package/dist/es/components/CustomCard/CustomCardInput/CustomCardInput.js +1 -1
  14. package/dist/es/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
  15. package/dist/es/components/Giftcard/Giftcard.js +1 -1
  16. package/dist/es/components/Giftcard/Giftcard.js.map +1 -1
  17. package/dist/es/components/Giftcard/components/GiftcardComponent.js +1 -1
  18. package/dist/es/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  19. package/dist/es/components/Iris/components/IrisGenerateQRCode.js +1 -1
  20. package/dist/es/components/Iris/components/IrisGenerateQRCode.js.map +1 -1
  21. package/dist/es/components/Pix/components/PixQRDetails.js +1 -1
  22. package/dist/es/components/Pix/components/PixQRDetails.js.map +1 -1
  23. package/dist/es/components/UPI/UPI.js +1 -1
  24. package/dist/es/components/UPI/UPI.js.map +1 -1
  25. package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
  26. package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
  27. package/dist/es/components/UPI/constants.js +1 -1
  28. package/dist/es/components/UPI/constants.js.map +1 -1
  29. package/dist/es/components/components-name-map.js +1 -1
  30. package/dist/es/components/components-name-map.js.map +1 -1
  31. package/dist/es/components/internal/BaseElement/BaseElement.js +1 -1
  32. package/dist/es/components/internal/BaseElement/BaseElement.js.map +1 -1
  33. package/dist/es/components/internal/Countdown/index.js +1 -1
  34. package/dist/es/components/internal/Countdown/index.js.map +1 -1
  35. package/dist/es/components/internal/QRLoader/QRLoader.js +1 -1
  36. package/dist/es/components/internal/QRLoader/QRLoader.js.map +1 -1
  37. package/dist/es/components/internal/QRLoader/QRLoaderDetailsProvider.js.map +1 -1
  38. package/dist/es/components/internal/QRLoader/components/QRDetails.js +1 -1
  39. package/dist/es/components/internal/QRLoader/components/QRDetails.js.map +1 -1
  40. package/dist/es/components/internal/QRLoader/components/QRImage.js +1 -1
  41. package/dist/es/components/internal/QRLoader/components/QRImage.js.map +1 -1
  42. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
  43. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  44. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js +1 -1
  45. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
  46. package/dist/es/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js +1 -1
  47. package/dist/es/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js.map +1 -1
  48. package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js +1 -1
  49. package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
  50. package/dist/es/components/tx-variants.js +1 -1
  51. package/dist/es/components/tx-variants.js.map +1 -1
  52. package/dist/es/core/Analytics/Analytics.js +1 -1
  53. package/dist/es/core/Analytics/Analytics.js.map +1 -1
  54. package/dist/es/core/Analytics/events/AnalyticsErrorEvent.js +1 -1
  55. package/dist/es/core/Analytics/events/AnalyticsErrorEvent.js.map +1 -1
  56. package/dist/es/core/config.js +1 -1
  57. package/dist/es/index.d.ts +31 -40
  58. package/dist/es-legacy/adyen.css +7 -8
  59. package/dist/es-legacy/adyen.css.map +1 -1
  60. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js +1 -1
  61. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js.map +1 -1
  62. package/dist/es-legacy/components/Card/components/CardInput/types.js.map +1 -1
  63. package/dist/es-legacy/components/CustomCard/CustomCard.js +1 -1
  64. package/dist/es-legacy/components/CustomCard/CustomCard.js.map +1 -1
  65. package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js +1 -1
  66. package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
  67. package/dist/es-legacy/components/Giftcard/Giftcard.js +1 -1
  68. package/dist/es-legacy/components/Giftcard/Giftcard.js.map +1 -1
  69. package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js +1 -1
  70. package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  71. package/dist/es-legacy/components/Iris/components/IrisGenerateQRCode.js +1 -1
  72. package/dist/es-legacy/components/Iris/components/IrisGenerateQRCode.js.map +1 -1
  73. package/dist/es-legacy/components/Pix/components/PixQRDetails.js +1 -1
  74. package/dist/es-legacy/components/Pix/components/PixQRDetails.js.map +1 -1
  75. package/dist/es-legacy/components/UPI/UPI.js +1 -1
  76. package/dist/es-legacy/components/UPI/UPI.js.map +1 -1
  77. package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
  78. package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
  79. package/dist/es-legacy/components/UPI/constants.js +1 -1
  80. package/dist/es-legacy/components/UPI/constants.js.map +1 -1
  81. package/dist/es-legacy/components/components-name-map.js +1 -1
  82. package/dist/es-legacy/components/components-name-map.js.map +1 -1
  83. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js +1 -1
  84. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js.map +1 -1
  85. package/dist/es-legacy/components/internal/Countdown/index.js +1 -1
  86. package/dist/es-legacy/components/internal/Countdown/index.js.map +1 -1
  87. package/dist/es-legacy/components/internal/QRLoader/QRLoader.js +1 -1
  88. package/dist/es-legacy/components/internal/QRLoader/QRLoader.js.map +1 -1
  89. package/dist/es-legacy/components/internal/QRLoader/QRLoaderDetailsProvider.js.map +1 -1
  90. package/dist/es-legacy/components/internal/QRLoader/components/QRDetails.js +1 -1
  91. package/dist/es-legacy/components/internal/QRLoader/components/QRDetails.js.map +1 -1
  92. package/dist/es-legacy/components/internal/QRLoader/components/QRImage.js +1 -1
  93. package/dist/es-legacy/components/internal/QRLoader/components/QRImage.js.map +1 -1
  94. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
  95. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  96. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js +1 -1
  97. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
  98. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js +1 -1
  99. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js.map +1 -1
  100. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/SecuredField.js +1 -1
  101. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
  102. package/dist/es-legacy/components/tx-variants.js +1 -1
  103. package/dist/es-legacy/components/tx-variants.js.map +1 -1
  104. package/dist/es-legacy/core/Analytics/Analytics.js +1 -1
  105. package/dist/es-legacy/core/Analytics/Analytics.js.map +1 -1
  106. package/dist/es-legacy/core/Analytics/events/AnalyticsErrorEvent.js +1 -1
  107. package/dist/es-legacy/core/Analytics/events/AnalyticsErrorEvent.js.map +1 -1
  108. package/dist/es-legacy/core/config.js +1 -1
  109. package/package.json +1 -1
  110. package/styles/adyen.css +7 -8
  111. package/dist/es/components/UPI/components/VpaInput/VpaInput.js +0 -2
  112. package/dist/es/components/UPI/components/VpaInput/VpaInput.js.map +0 -1
  113. package/dist/es/components/UPI/components/VpaInput/validate.js +0 -2
  114. package/dist/es/components/UPI/components/VpaInput/validate.js.map +0 -1
  115. package/dist/es-legacy/components/UPI/components/VpaInput/VpaInput.js +0 -2
  116. package/dist/es-legacy/components/UPI/components/VpaInput/VpaInput.js.map +0 -1
  117. package/dist/es-legacy/components/UPI/components/VpaInput/validate.js +0 -2
  118. package/dist/es-legacy/components/UPI/components/VpaInput/validate.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SecuredField.js","sources":["../../../../../../../src/components/internal/SecuredFields/lib/securedField/SecuredField.ts"],"sourcesContent":["import * as logger from '../utilities/logger';\nimport createIframe from './utils/createIframe';\nimport { removeAllChildren, selectOne } from '../utilities/dom';\nimport { off, on } from '../../../../../utils/listenerUtils';\nimport postMessageToIframe from '../CSF/utils/iframes/postMessageToIframe';\nimport { isChromeVoxPostMsg, isWebpackPostMsg, originCheckPassed } from '../CSF/utils/iframes/postMessageValidation';\nimport {\n CVC_POLICY_HIDDEN,\n CVC_POLICY_OPTIONAL,\n DATE_POLICY_HIDDEN,\n DATE_POLICY_OPTIONAL,\n ENCRYPTED_EXPIRY_DATE,\n ENCRYPTED_EXPIRY_MONTH,\n ENCRYPTED_EXPIRY_YEAR,\n ENCRYPTED_SECURITY_CODE\n} from '../constants';\nimport { generateRandomNumber } from '../utilities/commonUtils';\nimport { CVCPolicyType, DatePolicyType, RtnType_callbackFn, RtnType_noParamVoidFn, RtnType_postMessageListener, SFFeedbackObj } from '../types';\nimport AbstractSecuredField from './AbstractSecuredField';\nimport { AriaConfig, IframeConfigObject, SecuredFieldSetupObject, SecuredFieldCommonProps } from '../types';\nimport { reject } from '../../../../../utils/commonUtils';\nimport { processAriaConfig } from './utils/processAriaConfig';\nimport { processPlaceholders } from './utils/processPlaceholders';\nimport Language from '../../../../../language/Language';\nimport { hasOwnProperty } from '../../../../../utils/hasOwnProperty';\nimport { Placeholders } from '../../SFP/types';\nimport './SecuredField.scss';\n\nconst logPostMsg = false;\nconst doLog = false;\n\nclass SecuredField extends AbstractSecuredField {\n constructor(pSetupObj: SecuredFieldSetupObject, i18n: Language) {\n super();\n\n /**\n * List of props to exclude from being set on this.sfConfig.\n * These props are only required for internal purposes. They do not get sent to the iframe\n */\n const deltaPropsArr: string[] = ['loadingContext', 'holderEl', 'iframeSrc', 'showContextualElement', 'placeholders'];\n\n /**\n * List of props from setup object that will be set on this.sfConfig\n * These props will all end up being sent to the iframe\n */\n const configVarsFromSetUpObj = reject(deltaPropsArr).from(pSetupObj);\n\n // Copy passed setup object values to this.sfConfig\n this.sfConfig = {\n // ...this.sfConfig, // Do we need to do this? Pretty sure we don't\n ...configVarsFromSetUpObj,\n // Break references on iframeUIConfig object so we can overwrite its properties in each securedField instance\n iframeUIConfig: { ...configVarsFromSetUpObj.iframeUIConfig }\n } as SecuredFieldCommonProps;\n\n /**\n * Extract values only needed for init\n */\n const { iframeSrc, placeholders, showContextualElement } = pSetupObj;\n\n /**\n * Store those passed setup object values that are needed in multiple functions\n */\n this.loadingContext = pSetupObj.loadingContext;\n this.holderEl = pSetupObj.holderEl;\n\n /**\n * Initiate other values on 'this' through setters\n */\n this.isValid = false;\n this.iframeContentWindow = null;\n this.numKey = generateRandomNumber();\n this.isEncrypted = false;\n this.hasError = false;\n this.errorType = '';\n this.cvcPolicy = pSetupObj.cvcPolicy;\n this.expiryDatePolicy = pSetupObj.expiryDatePolicy;\n\n if (process.env.NODE_ENV === 'development' && doLog) {\n logger.log(\n '### SecuredField::constructor:: this.sfConfig.fieldType=',\n this.sfConfig.fieldType,\n 'isValid=',\n this._isValid,\n 'numKey=',\n this.numKey\n );\n logger.log('\\n');\n }\n\n return this.init(i18n, iframeSrc, placeholders, showContextualElement);\n }\n\n init(i18n: Language, iframeSrc: string, placeholders: Placeholders, showContextualElement: boolean): SecuredField {\n /**\n * Ensure all fields have a related ariaConfig object containing, at minimum, an iframeTitle property and a (translated) errors object\n */\n const processedAriaConfig: AriaConfig = processAriaConfig(this.sfConfig.txVariant, this.sfConfig.fieldType, i18n, showContextualElement);\n // Set result back onto config object\n this.sfConfig.iframeUIConfig.ariaConfig = processedAriaConfig;\n\n // Set result back onto config object\n this.sfConfig.iframeUIConfig.placeholders = processPlaceholders(this.sfConfig.txVariant, this.sfConfig.fieldType, placeholders);\n\n /**\n * Configure, create & reference iframe and add load listener\n */\n const iframeConfig = {\n src: iframeSrc,\n title: processedAriaConfig[this.sfConfig.fieldType].iframeTitle,\n policy: 'origin'\n };\n\n const iframeEl: HTMLIFrameElement = createIframe(iframeConfig);\n\n // Place the iframe into the holder\n this.holderEl.appendChild(iframeEl);\n\n // Now examine the holder to get an actual DOM node\n const iframe: HTMLIFrameElement = selectOne(this.holderEl, '.js-iframe');\n\n if (iframe) {\n this.iframeContentWindow = iframe.contentWindow;\n\n // Create reference to bound fn (see getters/setters for binding)\n this.iframeOnLoadListener = this.iframeOnLoadListenerFn;\n\n on(iframe, 'load', this.iframeOnLoadListener, false);\n }\n\n this.iframeRef = iframe;\n\n return this;\n }\n\n iframeOnLoadListenerFn(): void {\n // Create reference to bound fn (see getters/setters for binding)\n this.postMessageListener = this.postMessageListenerFn;\n\n // Add general listener for 'message' EVENT - the event that 'powers' postMessage\n on(window, 'message', this.postMessageListener, false);\n\n // Create and send config object to iframe\n const configObj: IframeConfigObject = {\n ...this.sfConfig,\n numKey: this.numKey\n };\n\n if (window._b$dl) console.log('### SecuredField:::: onIframeLoaded:: created configObj=', configObj);\n\n postMessageToIframe(configObj, this.iframeContentWindow, this.loadingContext);\n //--\n\n // Callback to say iframe loaded\n this.onIframeLoadedCallback();\n }\n\n postMessageListenerFn(event: MessageEvent): void {\n // Check message is from expected domain\n if (!originCheckPassed(event, this.loadingContext, this.sfConfig.showWarnings)) {\n return;\n }\n\n // TODO - for debugging purposes this would always be useful to see\n // logger.log('\\n',this.sfConfig.fieldType,'### CSF SecuredField::postMessageListener:: event.data=',event.data);\n\n if (process.env.NODE_ENV === 'development' && logPostMsg) {\n logger.log(\n '\\n###CSF SecuredField::postMessageListener:: DOMAIN & ORIGIN MATCH, NO WEBPACK WEIRDNESS fieldType=',\n this.sfConfig.fieldType,\n 'txVariant=',\n this.sfConfig.txVariant,\n 'this.numKey=',\n this.numKey\n );\n }\n\n // PARSE DATA OBJECT (thus testing if it is a JSON string) - OR TRY & WORK OUT WHY THE PARSING FAILED\n let feedbackObj: SFFeedbackObj;\n\n try {\n feedbackObj = JSON.parse(event.data);\n } catch (e) {\n // Was the message generated by webpack?\n if (isWebpackPostMsg(event)) {\n if (this.sfConfig.showWarnings) logger.log('### SecuredField::postMessageListenerFn:: PARSE FAIL - WEBPACK');\n return;\n }\n\n // Was the message generated by ChromeVox?\n if (isChromeVoxPostMsg(event)) {\n if (this.sfConfig.showWarnings) logger.log('### SecuredField::postMessageListenerFn:: PARSE FAIL - CHROMEVOX');\n return;\n }\n\n if (this.sfConfig.showWarnings)\n logger.log('### SecuredField::postMessageListenerFn:: PARSE FAIL - UNKNOWN REASON: event.data=', event.data);\n return;\n }\n\n // CHECK FOR EXPECTED PROPS\n const hasMainProps: boolean = hasOwnProperty(feedbackObj, 'action') && hasOwnProperty(feedbackObj, 'numKey');\n\n if (!hasMainProps) {\n if (this.sfConfig.showWarnings) logger.warn('WARNING SecuredField :: postMessage listener for iframe :: data mismatch!');\n return;\n }\n\n if (process.env.NODE_ENV === 'development' && logPostMsg) {\n logger.log('### SecuredField::postMessageListener:: feedbackObj.numKey=', feedbackObj.numKey);\n }\n\n if (this.numKey !== feedbackObj.numKey) {\n if (this.sfConfig.showWarnings) {\n logger.warn(\n 'WARNING SecuredField :: postMessage listener for iframe :: data mismatch! (Probably a message from an unrelated securedField)'\n );\n }\n return;\n }\n\n // VALIDATION CHECKS PASSED - DECIDE ON COURSE OF ACTION\n if (process.env.NODE_ENV === 'development' && logPostMsg) {\n logger.log(\n '### SecuredField::postMessageListener:: numkeys match PROCEED WITH POST MESSAGE PROCESSING fieldType=',\n this.sfConfig.fieldType,\n 'txVariant=',\n this.sfConfig.txVariant\n );\n }\n\n switch (feedbackObj.action) {\n case 'encryption':\n this.isValid = true;\n this.onEncryptionCallback(feedbackObj);\n break;\n\n case 'config':\n if (window._b$dl)\n console.log('### SecuredField::postMessageListenerFn:: configured - calling onConfigCallback', feedbackObj.fieldType);\n this.onConfigCallback(feedbackObj);\n break;\n\n case 'focus':\n this.onFocusCallback(feedbackObj);\n break;\n\n case 'binValue':\n this.onBinValueCallback(feedbackObj);\n break;\n\n // iOS ONLY - RE. iOS BUGS AROUND BLUR AND FOCUS EVENTS\n case 'touch':\n this.onTouchstartCallback(feedbackObj);\n break;\n\n // Only happens for Firefox & IE <= 11\n case 'shifttab':\n this.onShiftTabCallback(feedbackObj);\n break;\n\n case 'autoComplete':\n this.onAutoCompleteCallback(feedbackObj);\n break;\n\n case 'enterKeyPressed':\n this.onKeyPressedCallback(feedbackObj);\n break;\n\n /**\n * Validate, because action =\n *\n * 'brand'\n * 'delete'\n * 'luhnCheck'\n * //'incomplete field' (an error that follows from a focus (blur) event)\n * 'incorrectly filled field' (an error that follows from a focus (blur) event) // NEW\n * 'numberKeyPressed' (or date-, month-, year-, cvc-, pin-, or iban- KeyPressed)\n * - since we have no \"error\" action \"...KeyPressed\" is the action type on most error events (other than \"incomplete field\" or \"luhnCheck\")\n * and often these error events representing the clearing of an existing error\n */\n default:\n // If we're validation handling (& not encryption handling) field must be invalid\n this.isValid = false;\n this.onValidationCallback(feedbackObj);\n }\n }\n\n destroy(): void {\n off(window, 'message', this.postMessageListener, false);\n off(this.iframeRef, 'load', this.iframeOnLoadListener, false);\n this.iframeContentWindow = null;\n removeAllChildren(this.holderEl);\n }\n\n /**\n * Returns whether the securedField is hidden OR whether it is optional and not in error\n */\n isOptionalOrHidden(): boolean {\n if (\n this.sfConfig.fieldType === ENCRYPTED_EXPIRY_DATE ||\n this.sfConfig.fieldType === ENCRYPTED_EXPIRY_MONTH ||\n this.sfConfig.fieldType === ENCRYPTED_EXPIRY_YEAR\n ) {\n switch (this.expiryDatePolicy) {\n case DATE_POLICY_HIDDEN:\n return true;\n case DATE_POLICY_OPTIONAL:\n return !this.hasError;\n default:\n return false;\n }\n }\n\n if (this.sfConfig.fieldType === ENCRYPTED_SECURITY_CODE) {\n switch (this.cvcPolicy) {\n case CVC_POLICY_HIDDEN:\n return true;\n case CVC_POLICY_OPTIONAL:\n return !this.hasError;\n default:\n return false;\n }\n }\n\n // Any other type of securedField is not optional & can't be hidden\n return false;\n }\n\n // /////// ALLOCATE CALLBACKS /////////\n onIframeLoaded(callbackFn: RtnType_noParamVoidFn): SecuredField {\n this.onIframeLoadedCallback = callbackFn;\n return this;\n }\n\n onEncryption(callbackFn: RtnType_callbackFn): SecuredField {\n this.onEncryptionCallback = callbackFn;\n return this;\n }\n\n onValidation(callbackFn: RtnType_callbackFn): SecuredField {\n this.onValidationCallback = callbackFn;\n return this;\n }\n\n onConfig(callbackFn: RtnType_callbackFn): SecuredField {\n this.onConfigCallback = callbackFn;\n return this;\n }\n\n onFocus(callbackFn: RtnType_callbackFn): SecuredField {\n this.onFocusCallback = callbackFn;\n return this;\n }\n\n onBinValue(callbackFn: RtnType_callbackFn): SecuredField {\n this.onBinValueCallback = callbackFn;\n return this;\n }\n\n onTouchstart(callbackFn: RtnType_callbackFn): SecuredField {\n this.onTouchstartCallback = callbackFn;\n return this;\n }\n\n onShiftTab(callbackFn: RtnType_callbackFn): SecuredField {\n this.onShiftTabCallback = callbackFn;\n return this;\n }\n\n onAutoComplete(callbackFn: RtnType_callbackFn): SecuredField {\n this.onAutoCompleteCallback = callbackFn;\n return this;\n }\n\n onKeyPressed(callbackFn: RtnType_callbackFn): SecuredField {\n this.onKeyPressedCallback = callbackFn;\n return this;\n }\n //------------------------------------\n\n // ///////////// GETTERS/SETTERS //////////////\n\n get errorType(): string {\n return this._errorType;\n }\n set errorType(value: string) {\n this._errorType = value;\n }\n\n get hasError(): boolean {\n return this._hasError;\n }\n set hasError(value: boolean) {\n this._hasError = value;\n }\n\n get isValid(): boolean {\n if (this.sfConfig.fieldType === ENCRYPTED_SECURITY_CODE) {\n switch (this.cvcPolicy) {\n case CVC_POLICY_HIDDEN:\n // If cvc is hidden then the field is always valid\n return true;\n case CVC_POLICY_OPTIONAL:\n // If cvc is optional then the field is always valid UNLESS it has an error\n return !this.hasError;\n default:\n return this._isValid;\n }\n }\n\n if (\n this.sfConfig.fieldType === ENCRYPTED_EXPIRY_DATE ||\n this.sfConfig.fieldType === ENCRYPTED_EXPIRY_MONTH ||\n this.sfConfig.fieldType === ENCRYPTED_EXPIRY_YEAR\n ) {\n switch (this.expiryDatePolicy) {\n case DATE_POLICY_HIDDEN:\n // If date is hidden then the field is always valid\n return true;\n case DATE_POLICY_OPTIONAL:\n // If date is optional then the field is always valid UNLESS it has an error\n return !this.hasError;\n default:\n return this._isValid;\n }\n }\n\n return this._isValid;\n }\n set isValid(value: boolean) {\n this._isValid = value;\n }\n\n get cvcPolicy(): CVCPolicyType {\n return this._cvcPolicy;\n }\n\n set cvcPolicy(value: CVCPolicyType) {\n // Only set if this is a CVC field\n if (this.sfConfig.fieldType !== ENCRYPTED_SECURITY_CODE) return;\n\n // Only set if value has changed\n if (value === this.cvcPolicy) return;\n\n if (process.env.NODE_ENV === 'development' && doLog) logger.log(this.sfConfig.fieldType, '### SecuredField::cvcPolicy:: value=', value);\n\n this._cvcPolicy = value;\n\n // If the field has changed status (required <--> not required) AND it's error state was due to an isValidated call\n // NOTE: fixes issue in Components where you first validate and then start typing a maestro number\n // - w/o this and the fix in CSF the maestro PM will never register as valid\n if (this.hasError && this.errorType === 'isValidated') {\n this.hasError = false;\n }\n }\n\n get expiryDatePolicy(): DatePolicyType {\n return this._expiryDatePolicy;\n }\n\n set expiryDatePolicy(value: DatePolicyType) {\n // Only set if this is a date field type of securedField\n if (\n this.sfConfig.fieldType !== ENCRYPTED_EXPIRY_DATE &&\n this.sfConfig.fieldType !== ENCRYPTED_EXPIRY_MONTH &&\n this.sfConfig.fieldType !== ENCRYPTED_EXPIRY_YEAR\n )\n return;\n\n // Only set if value has changed\n if (value === this.expiryDatePolicy) return;\n\n if (process.env.NODE_ENV === 'development' && doLog) logger.log(this.sfConfig.fieldType, '### SecuredField:expiryDatePolicy:: value=', value);\n\n this._expiryDatePolicy = value;\n\n // If the field has changed status (required <--> not required) AND it's error state was due to an isValidated call\n if (this.hasError && this.errorType === 'isValidated') {\n this.hasError = false;\n }\n }\n\n get iframeContentWindow(): Window {\n return this._iframeContentWindow;\n }\n set iframeContentWindow(value: Window) {\n this._iframeContentWindow = value;\n }\n\n get isEncrypted(): boolean {\n return this._isEncrypted;\n }\n set isEncrypted(value: boolean) {\n this._isEncrypted = value;\n }\n\n get numKey(): number {\n return this._numKey;\n }\n set numKey(value: number) {\n this._numKey = value;\n }\n\n // Internal use - way to create listener refs that we can add/remove\n get iframeOnLoadListener(): RtnType_noParamVoidFn {\n return this._iframeOnLoadListener;\n }\n set iframeOnLoadListener(value: RtnType_noParamVoidFn) {\n this._iframeOnLoadListener = value.bind(this);\n }\n\n get postMessageListener(): RtnType_postMessageListener {\n return this._postMessageListener;\n }\n set postMessageListener(value: RtnType_postMessageListener) {\n this._postMessageListener = value.bind(this);\n }\n}\n\nexport default SecuredField;\n"],"names":["SecuredField","AbstractSecuredField","init","i18n","iframeSrc","placeholders","showContextualElement","processedAriaConfig","processAriaConfig","this","sfConfig","txVariant","fieldType","iframeUIConfig","ariaConfig","processPlaceholders","iframeConfig","src","title","iframeTitle","policy","iframeEl","createIframe","holderEl","appendChild","iframe","selectOne","iframeContentWindow","contentWindow","iframeOnLoadListener","iframeOnLoadListenerFn","on","iframeRef","postMessageListener","postMessageListenerFn","window","configObj","_object_spread_props","_object_spread","numKey","_b$dl","console","log","postMessageToIframe","loadingContext","onIframeLoadedCallback","event","originCheckPassed","showWarnings","feedbackObj","JSON","parse","data","e","isWebpackPostMsg","logger","isChromeVoxPostMsg","hasOwnProperty","action","isValid","onEncryptionCallback","onConfigCallback","onFocusCallback","onBinValueCallback","onTouchstartCallback","onShiftTabCallback","onAutoCompleteCallback","onKeyPressedCallback","onValidationCallback","destroy","off","removeAllChildren","isOptionalOrHidden","ENCRYPTED_EXPIRY_DATE","ENCRYPTED_EXPIRY_MONTH","ENCRYPTED_EXPIRY_YEAR","expiryDatePolicy","DATE_POLICY_HIDDEN","DATE_POLICY_OPTIONAL","hasError","ENCRYPTED_SECURITY_CODE","cvcPolicy","CVC_POLICY_HIDDEN","CVC_POLICY_OPTIONAL","onIframeLoaded","callbackFn","onEncryption","onValidation","onConfig","onFocus","onBinValue","onTouchstart","onShiftTab","onAutoComplete","onKeyPressed","errorType","_errorType","value","_hasError","_isValid","_cvcPolicy","_expiryDatePolicy","_iframeContentWindow","isEncrypted","_isEncrypted","_numKey","_iframeOnLoadListener","bind","_postMessageListener","constructor","pSetupObj","super","configVarsFromSetUpObj","reject","from","generateRandomNumber"],"mappings":"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"}
1
+ {"version":3,"file":"SecuredField.js","sources":["../../../../../../../src/components/internal/SecuredFields/lib/securedField/SecuredField.ts"],"sourcesContent":["import * as logger from '../utilities/logger';\nimport createIframe from './utils/createIframe';\nimport { removeAllChildren, selectOne } from '../utilities/dom';\nimport { off, on } from '../../../../../utils/listenerUtils';\nimport postMessageToIframe from '../CSF/utils/iframes/postMessageToIframe';\nimport { isChromeVoxPostMsg, isWebpackPostMsg, originCheckPassed } from '../CSF/utils/iframes/postMessageValidation';\nimport {\n CVC_POLICY_HIDDEN,\n CVC_POLICY_OPTIONAL,\n DATE_POLICY_HIDDEN,\n DATE_POLICY_OPTIONAL,\n ENCRYPTED_EXPIRY_DATE,\n ENCRYPTED_EXPIRY_MONTH,\n ENCRYPTED_EXPIRY_YEAR,\n ENCRYPTED_SECURITY_CODE\n} from '../constants';\nimport { generateRandomNumber } from '../utilities/commonUtils';\nimport { CVCPolicyType, DatePolicyType, RtnType_callbackFn, RtnType_noParamVoidFn, RtnType_postMessageListener, SFFeedbackObj } from '../types';\nimport AbstractSecuredField from './AbstractSecuredField';\nimport { AriaConfig, IframeConfigObject, SecuredFieldSetupObject, SecuredFieldCommonProps } from '../types';\nimport { reject } from '../../../../../utils/commonUtils';\nimport { processAriaConfig } from './utils/processAriaConfig';\nimport { processPlaceholders } from './utils/processPlaceholders';\nimport Language from '../../../../../language/Language';\nimport { hasOwnProperty } from '../../../../../utils/hasOwnProperty';\nimport { Placeholders } from '../../SFP/types';\nimport './SecuredField.scss';\nimport { AnalyticsErrorEvent, ErrorEventCode, ErrorEventType } from '../../../../../core/Analytics/events/AnalyticsErrorEvent';\n\nconst logPostMsg = false;\nconst doLog = false;\n\nclass SecuredField extends AbstractSecuredField {\n constructor(pSetupObj: SecuredFieldSetupObject, i18n: Language) {\n super();\n\n /**\n * List of props to exclude from being set on this.sfConfig.\n * These props are only required for internal purposes. They do not get sent to the iframe\n */\n const deltaPropsArr: string[] = ['loadingContext', 'holderEl', 'iframeSrc', 'showContextualElement', 'placeholders'];\n\n /**\n * List of props from setup object that will be set on this.sfConfig\n * These props will all end up being sent to the iframe\n */\n const configVarsFromSetUpObj = reject(deltaPropsArr).from(pSetupObj);\n\n // Copy passed setup object values to this.sfConfig\n this.sfConfig = {\n // ...this.sfConfig, // Do we need to do this? Pretty sure we don't\n ...configVarsFromSetUpObj,\n // Break references on iframeUIConfig object so we can overwrite its properties in each securedField instance\n iframeUIConfig: { ...configVarsFromSetUpObj.iframeUIConfig }\n } as SecuredFieldCommonProps;\n\n /**\n * Extract values only needed for init\n */\n const { iframeSrc, placeholders, showContextualElement } = pSetupObj;\n\n /**\n * Store those passed setup object values that are needed in multiple functions\n */\n this.loadingContext = pSetupObj.loadingContext;\n this.holderEl = pSetupObj.holderEl;\n this.submitAnalytics = pSetupObj.submitAnalytics;\n this.componentType = pSetupObj.componentType;\n\n /**\n * Initiate other values on 'this' through setters\n */\n this.isValid = false;\n this.iframeContentWindow = null;\n this.numKey = generateRandomNumber();\n this.isEncrypted = false;\n this.hasError = false;\n this.errorType = '';\n this.cvcPolicy = pSetupObj.cvcPolicy;\n this.expiryDatePolicy = pSetupObj.expiryDatePolicy;\n\n if (process.env.NODE_ENV === 'development' && doLog) {\n logger.log(\n '### SecuredField::constructor:: this.sfConfig.fieldType=',\n this.sfConfig.fieldType,\n 'isValid=',\n this._isValid,\n 'numKey=',\n this.numKey\n );\n logger.log('\\n');\n }\n\n return this.init(i18n, iframeSrc, placeholders, showContextualElement);\n }\n\n init(i18n: Language, iframeSrc: string, placeholders: Placeholders, showContextualElement: boolean): SecuredField {\n /**\n * Ensure all fields have a related ariaConfig object containing, at minimum, an iframeTitle property and a (translated) errors object\n */\n const processedAriaConfig: AriaConfig = processAriaConfig(this.sfConfig.txVariant, this.sfConfig.fieldType, i18n, showContextualElement);\n // Set result back onto config object\n this.sfConfig.iframeUIConfig.ariaConfig = processedAriaConfig;\n\n // Set result back onto config object\n this.sfConfig.iframeUIConfig.placeholders = processPlaceholders(this.sfConfig.txVariant, this.sfConfig.fieldType, placeholders);\n\n /**\n * Configure, create & reference iframe and add load listener\n */\n const iframeConfig = {\n src: iframeSrc,\n title: processedAriaConfig[this.sfConfig.fieldType].iframeTitle,\n policy: 'origin'\n };\n\n const iframeEl: HTMLIFrameElement = createIframe(iframeConfig);\n\n // Place the iframe into the holder\n this.holderEl.appendChild(iframeEl);\n\n // Now examine the holder to get an actual DOM node\n const iframe: HTMLIFrameElement = selectOne(this.holderEl, '.js-iframe');\n\n if (iframe) {\n if (!iframe.contentWindow) {\n // Warn the dev\n console.error(\n 'ERROR: Trying to initialise a securedField iframe, but the iframe.contentWindow is undefined. Are you sure the element into which the Card component is being mounted already exists in the DOM *before* the Card component is mounted?'\n );\n // Log the error\n const event = new AnalyticsErrorEvent({\n component: this.componentType,\n code: ErrorEventCode.SECURED_FIELDS_IFRAME_CONTENT_WINDOW_NOT_FOUND,\n errorType: ErrorEventType.implementation,\n message: `Trying to initialise an iframe for ${this.sfConfig.fieldType}, but the iframe.contentWindow is undefined`\n });\n\n this.submitAnalytics?.(event);\n }\n\n this.iframeContentWindow = iframe.contentWindow;\n\n // Create reference to bound fn (see getters/setters for binding)\n this.iframeOnLoadListener = this.iframeOnLoadListenerFn;\n\n on(iframe, 'load', this.iframeOnLoadListener, false);\n }\n\n this.iframeRef = iframe;\n\n return this;\n }\n\n iframeOnLoadListenerFn(): void {\n // Create reference to bound fn (see getters/setters for binding)\n this.postMessageListener = this.postMessageListenerFn;\n\n // Add general listener for 'message' EVENT - the event that 'powers' postMessage\n on(window, 'message', this.postMessageListener, false);\n\n // Create and send config object to iframe\n const configObj: IframeConfigObject = {\n ...this.sfConfig,\n numKey: this.numKey\n };\n\n if (window._b$dl) console.log('### SecuredField:::: onIframeLoaded:: created configObj=', configObj);\n\n postMessageToIframe(configObj, this.iframeContentWindow, this.loadingContext);\n //--\n\n // Callback to say iframe loaded\n this.onIframeLoadedCallback();\n }\n\n postMessageListenerFn(event: MessageEvent): void {\n // Check message is from expected domain\n if (!originCheckPassed(event, this.loadingContext, this.sfConfig.showWarnings)) {\n return;\n }\n\n // TODO - for debugging purposes this would always be useful to see\n // logger.log('\\n',this.sfConfig.fieldType,'### CSF SecuredField::postMessageListener:: event.data=',event.data);\n\n if (process.env.NODE_ENV === 'development' && logPostMsg) {\n logger.log(\n '\\n###CSF SecuredField::postMessageListener:: DOMAIN & ORIGIN MATCH, NO WEBPACK WEIRDNESS fieldType=',\n this.sfConfig.fieldType,\n 'txVariant=',\n this.sfConfig.txVariant,\n 'this.numKey=',\n this.numKey\n );\n }\n\n // PARSE DATA OBJECT (thus testing if it is a JSON string) - OR TRY & WORK OUT WHY THE PARSING FAILED\n let feedbackObj: SFFeedbackObj;\n\n try {\n feedbackObj = JSON.parse(event.data);\n } catch (e) {\n // Was the message generated by webpack?\n if (isWebpackPostMsg(event)) {\n if (this.sfConfig.showWarnings) logger.log('### SecuredField::postMessageListenerFn:: PARSE FAIL - WEBPACK');\n return;\n }\n\n // Was the message generated by ChromeVox?\n if (isChromeVoxPostMsg(event)) {\n if (this.sfConfig.showWarnings) logger.log('### SecuredField::postMessageListenerFn:: PARSE FAIL - CHROMEVOX');\n return;\n }\n\n if (this.sfConfig.showWarnings)\n logger.log('### SecuredField::postMessageListenerFn:: PARSE FAIL - UNKNOWN REASON: event.data=', event.data);\n return;\n }\n\n // CHECK FOR EXPECTED PROPS\n const hasMainProps: boolean = hasOwnProperty(feedbackObj, 'action') && hasOwnProperty(feedbackObj, 'numKey');\n\n if (!hasMainProps) {\n if (this.sfConfig.showWarnings) logger.warn('WARNING SecuredField :: postMessage listener for iframe :: data mismatch!');\n return;\n }\n\n if (process.env.NODE_ENV === 'development' && logPostMsg) {\n logger.log('### SecuredField::postMessageListener:: feedbackObj.numKey=', feedbackObj.numKey);\n }\n\n if (this.numKey !== feedbackObj.numKey) {\n if (this.sfConfig.showWarnings) {\n logger.warn(\n 'WARNING SecuredField :: postMessage listener for iframe :: data mismatch! (Probably a message from an unrelated securedField)'\n );\n }\n return;\n }\n\n // VALIDATION CHECKS PASSED - DECIDE ON COURSE OF ACTION\n if (process.env.NODE_ENV === 'development' && logPostMsg) {\n logger.log(\n '### SecuredField::postMessageListener:: numkeys match PROCEED WITH POST MESSAGE PROCESSING fieldType=',\n this.sfConfig.fieldType,\n 'txVariant=',\n this.sfConfig.txVariant\n );\n }\n\n switch (feedbackObj.action) {\n case 'encryption':\n this.isValid = true;\n this.onEncryptionCallback(feedbackObj);\n break;\n\n case 'config':\n if (window._b$dl)\n console.log('### SecuredField::postMessageListenerFn:: configured - calling onConfigCallback', feedbackObj.fieldType);\n this.onConfigCallback(feedbackObj);\n break;\n\n case 'focus':\n this.onFocusCallback(feedbackObj);\n break;\n\n case 'binValue':\n this.onBinValueCallback(feedbackObj);\n break;\n\n // iOS ONLY - RE. iOS BUGS AROUND BLUR AND FOCUS EVENTS\n case 'touch':\n this.onTouchstartCallback(feedbackObj);\n break;\n\n // Only happens for Firefox & IE <= 11\n case 'shifttab':\n this.onShiftTabCallback(feedbackObj);\n break;\n\n case 'autoComplete':\n this.onAutoCompleteCallback(feedbackObj);\n break;\n\n case 'enterKeyPressed':\n this.onKeyPressedCallback(feedbackObj);\n break;\n\n /**\n * Validate, because action =\n *\n * 'brand'\n * 'delete'\n * 'luhnCheck'\n * //'incomplete field' (an error that follows from a focus (blur) event)\n * 'incorrectly filled field' (an error that follows from a focus (blur) event) // NEW\n * 'numberKeyPressed' (or date-, month-, year-, cvc-, pin-, or iban- KeyPressed)\n * - since we have no \"error\" action \"...KeyPressed\" is the action type on most error events (other than \"incomplete field\" or \"luhnCheck\")\n * and often these error events representing the clearing of an existing error\n */\n default:\n // If we're validation handling (& not encryption handling) field must be invalid\n this.isValid = false;\n this.onValidationCallback(feedbackObj);\n }\n }\n\n destroy(): void {\n off(window, 'message', this.postMessageListener, false);\n off(this.iframeRef, 'load', this.iframeOnLoadListener, false);\n this.iframeContentWindow = null;\n removeAllChildren(this.holderEl);\n }\n\n /**\n * Returns whether the securedField is hidden OR whether it is optional and not in error\n */\n isOptionalOrHidden(): boolean {\n if (\n this.sfConfig.fieldType === ENCRYPTED_EXPIRY_DATE ||\n this.sfConfig.fieldType === ENCRYPTED_EXPIRY_MONTH ||\n this.sfConfig.fieldType === ENCRYPTED_EXPIRY_YEAR\n ) {\n switch (this.expiryDatePolicy) {\n case DATE_POLICY_HIDDEN:\n return true;\n case DATE_POLICY_OPTIONAL:\n return !this.hasError;\n default:\n return false;\n }\n }\n\n if (this.sfConfig.fieldType === ENCRYPTED_SECURITY_CODE) {\n switch (this.cvcPolicy) {\n case CVC_POLICY_HIDDEN:\n return true;\n case CVC_POLICY_OPTIONAL:\n return !this.hasError;\n default:\n return false;\n }\n }\n\n // Any other type of securedField is not optional & can't be hidden\n return false;\n }\n\n // /////// ALLOCATE CALLBACKS /////////\n onIframeLoaded(callbackFn: RtnType_noParamVoidFn): SecuredField {\n this.onIframeLoadedCallback = callbackFn;\n return this;\n }\n\n onEncryption(callbackFn: RtnType_callbackFn): SecuredField {\n this.onEncryptionCallback = callbackFn;\n return this;\n }\n\n onValidation(callbackFn: RtnType_callbackFn): SecuredField {\n this.onValidationCallback = callbackFn;\n return this;\n }\n\n onConfig(callbackFn: RtnType_callbackFn): SecuredField {\n this.onConfigCallback = callbackFn;\n return this;\n }\n\n onFocus(callbackFn: RtnType_callbackFn): SecuredField {\n this.onFocusCallback = callbackFn;\n return this;\n }\n\n onBinValue(callbackFn: RtnType_callbackFn): SecuredField {\n this.onBinValueCallback = callbackFn;\n return this;\n }\n\n onTouchstart(callbackFn: RtnType_callbackFn): SecuredField {\n this.onTouchstartCallback = callbackFn;\n return this;\n }\n\n onShiftTab(callbackFn: RtnType_callbackFn): SecuredField {\n this.onShiftTabCallback = callbackFn;\n return this;\n }\n\n onAutoComplete(callbackFn: RtnType_callbackFn): SecuredField {\n this.onAutoCompleteCallback = callbackFn;\n return this;\n }\n\n onKeyPressed(callbackFn: RtnType_callbackFn): SecuredField {\n this.onKeyPressedCallback = callbackFn;\n return this;\n }\n //------------------------------------\n\n // ///////////// GETTERS/SETTERS //////////////\n\n get errorType(): string {\n return this._errorType;\n }\n set errorType(value: string) {\n this._errorType = value;\n }\n\n get hasError(): boolean {\n return this._hasError;\n }\n set hasError(value: boolean) {\n this._hasError = value;\n }\n\n get isValid(): boolean {\n if (this.sfConfig.fieldType === ENCRYPTED_SECURITY_CODE) {\n switch (this.cvcPolicy) {\n case CVC_POLICY_HIDDEN:\n // If cvc is hidden then the field is always valid\n return true;\n case CVC_POLICY_OPTIONAL:\n // If cvc is optional then the field is always valid UNLESS it has an error\n return !this.hasError;\n default:\n return this._isValid;\n }\n }\n\n if (\n this.sfConfig.fieldType === ENCRYPTED_EXPIRY_DATE ||\n this.sfConfig.fieldType === ENCRYPTED_EXPIRY_MONTH ||\n this.sfConfig.fieldType === ENCRYPTED_EXPIRY_YEAR\n ) {\n switch (this.expiryDatePolicy) {\n case DATE_POLICY_HIDDEN:\n // If date is hidden then the field is always valid\n return true;\n case DATE_POLICY_OPTIONAL:\n // If date is optional then the field is always valid UNLESS it has an error\n return !this.hasError;\n default:\n return this._isValid;\n }\n }\n\n return this._isValid;\n }\n set isValid(value: boolean) {\n this._isValid = value;\n }\n\n get cvcPolicy(): CVCPolicyType {\n return this._cvcPolicy;\n }\n\n set cvcPolicy(value: CVCPolicyType) {\n // Only set if this is a CVC field\n if (this.sfConfig.fieldType !== ENCRYPTED_SECURITY_CODE) return;\n\n // Only set if value has changed\n if (value === this.cvcPolicy) return;\n\n if (process.env.NODE_ENV === 'development' && doLog) logger.log(this.sfConfig.fieldType, '### SecuredField::cvcPolicy:: value=', value);\n\n this._cvcPolicy = value;\n\n // If the field has changed status (required <--> not required) AND it's error state was due to an isValidated call\n // NOTE: fixes issue in Components where you first validate and then start typing a maestro number\n // - w/o this and the fix in CSF the maestro PM will never register as valid\n if (this.hasError && this.errorType === 'isValidated') {\n this.hasError = false;\n }\n }\n\n get expiryDatePolicy(): DatePolicyType {\n return this._expiryDatePolicy;\n }\n\n set expiryDatePolicy(value: DatePolicyType) {\n // Only set if this is a date field type of securedField\n if (\n this.sfConfig.fieldType !== ENCRYPTED_EXPIRY_DATE &&\n this.sfConfig.fieldType !== ENCRYPTED_EXPIRY_MONTH &&\n this.sfConfig.fieldType !== ENCRYPTED_EXPIRY_YEAR\n )\n return;\n\n // Only set if value has changed\n if (value === this.expiryDatePolicy) return;\n\n if (process.env.NODE_ENV === 'development' && doLog) logger.log(this.sfConfig.fieldType, '### SecuredField:expiryDatePolicy:: value=', value);\n\n this._expiryDatePolicy = value;\n\n // If the field has changed status (required <--> not required) AND it's error state was due to an isValidated call\n if (this.hasError && this.errorType === 'isValidated') {\n this.hasError = false;\n }\n }\n\n get iframeContentWindow(): Window {\n return this._iframeContentWindow;\n }\n set iframeContentWindow(value: Window) {\n this._iframeContentWindow = value;\n }\n\n get isEncrypted(): boolean {\n return this._isEncrypted;\n }\n set isEncrypted(value: boolean) {\n this._isEncrypted = value;\n }\n\n get numKey(): number {\n return this._numKey;\n }\n set numKey(value: number) {\n this._numKey = value;\n }\n\n // Internal use - way to create listener refs that we can add/remove\n get iframeOnLoadListener(): RtnType_noParamVoidFn {\n return this._iframeOnLoadListener;\n }\n set iframeOnLoadListener(value: RtnType_noParamVoidFn) {\n this._iframeOnLoadListener = value.bind(this);\n }\n\n get postMessageListener(): RtnType_postMessageListener {\n return this._postMessageListener;\n }\n set postMessageListener(value: RtnType_postMessageListener) {\n this._postMessageListener = value.bind(this);\n }\n}\n\nexport default SecuredField;\n"],"names":["SecuredField","AbstractSecuredField","init","i18n","iframeSrc","placeholders","showContextualElement","processedAriaConfig","processAriaConfig","this","sfConfig","txVariant","fieldType","iframeUIConfig","ariaConfig","processPlaceholders","iframeConfig","src","title","iframeTitle","policy","iframeEl","createIframe","holderEl","appendChild","iframe","selectOne","contentWindow","_this_submitAnalytics","console","error","event","AnalyticsErrorEvent","component","componentType","code","ErrorEventCode","SECURED_FIELDS_IFRAME_CONTENT_WINDOW_NOT_FOUND","errorType","ErrorEventType","implementation","message","submitAnalytics","iframeContentWindow","iframeOnLoadListener","iframeOnLoadListenerFn","on","iframeRef","postMessageListener","postMessageListenerFn","window","configObj","_object_spread_props","_object_spread","numKey","_b$dl","log","postMessageToIframe","loadingContext","onIframeLoadedCallback","originCheckPassed","showWarnings","feedbackObj","JSON","parse","data","e","isWebpackPostMsg","logger","isChromeVoxPostMsg","hasOwnProperty","action","isValid","onEncryptionCallback","onConfigCallback","onFocusCallback","onBinValueCallback","onTouchstartCallback","onShiftTabCallback","onAutoCompleteCallback","onKeyPressedCallback","onValidationCallback","destroy","off","removeAllChildren","isOptionalOrHidden","ENCRYPTED_EXPIRY_DATE","ENCRYPTED_EXPIRY_MONTH","ENCRYPTED_EXPIRY_YEAR","expiryDatePolicy","DATE_POLICY_HIDDEN","DATE_POLICY_OPTIONAL","hasError","ENCRYPTED_SECURITY_CODE","cvcPolicy","CVC_POLICY_HIDDEN","CVC_POLICY_OPTIONAL","onIframeLoaded","callbackFn","onEncryption","onValidation","onConfig","onFocus","onBinValue","onTouchstart","onShiftTab","onAutoComplete","onKeyPressed","_errorType","value","_hasError","_isValid","_cvcPolicy","_expiryDatePolicy","_iframeContentWindow","isEncrypted","_isEncrypted","_numKey","_iframeOnLoadListener","bind","_postMessageListener","constructor","pSetupObj","super","configVarsFromSetUpObj","reject","from","generateRandomNumber"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- var a=function(a){return a.address="address",a.bankTransfer_IBAN="bankTransfer_IBAN",a.bankTransfer_BE="bankTransfer_BE",a.bankTransfer_NL="bankTransfer_NL",a.bankTransfer_PL="bankTransfer_PL",a.bankTransfer_FR="bankTransfer_FR",a.bankTransfer_CH="bankTransfer_CH",a.bankTransfer_IE="bankTransfer_IE",a.bankTransfer_GB="bankTransfer_GB",a.bankTransfer_DE="bankTransfer_DE",a.bankTransfer_AE="bankTransfer_AE",a.bankTransfer_AT="bankTransfer_AT",a.bankTransfer_AU="bankTransfer_AU",a.bankTransfer_BG="bankTransfer_BG",a.bankTransfer_CA="bankTransfer_CA",a.bankTransfer_EE="bankTransfer_EE",a.bankTransfer_ES="bankTransfer_ES",a.bankTransfer_FI="bankTransfer_FI",a.bankTransfer_HK="bankTransfer_HK",a.bankTransfer_HU="bankTransfer_HU",a.bankTransfer_IT="bankTransfer_IT",a.bankTransfer_JP="bankTransfer_JP",a.bankTransfer_LU="bankTransfer_LU",a.bankTransfer_NZ="bankTransfer_NZ",a.bankTransfer_PT="bankTransfer_PT",a.bankTransfer_SG="bankTransfer_SG",a.bankTransfer_SK="bankTransfer_SK",a.bankTransfer_US="bankTransfer_US",a.donation="donation",a.personal_details="personal_details",a.dropin="dropin",a.bcmc="bcmc",a.card="card",a.scheme="scheme",a.storedCard="storedCard",a.customCard="customcard",a.threeDS2Challenge="threeDS2Challenge",a.threeDS2Fingerprint="threeDS2Fingerprint",a.threeDS2DeviceFingerprint="threeDS2DeviceFingerprint",a.ach="ach",a.directdebit_GB="directdebit_GB",a.sepadirectdebit="sepadirectdebit",a.eft_directdebit_CA="eft_directdebit_CA",a.affirm="affirm",a.afterpay="afterpay",a.afterpay_default="afterpay_default",a.afterpay_b2b="afterpay_b2b",a.atome="atome",a.facilypay_3x="facilypay_3x",a.facilypay_4x="facilypay_4x",a.facilypay_6x="facilypay_6x",a.facilypay_10x="facilypay_10x",a.facilypay_12x="facilypay_12x",a.ratepay="ratepay",a.ratepay_directdebit="ratepay_directdebit",a.amazonpay="amazonpay",a.applepay="applepay",a.cashapp="cashapp",a.clicktopay="clicktopay",a.googlepay="googlepay",a.paypal="paypal",a.fastlane="fastlane",a.paywithgoogle="paywithgoogle",a.boletobancario="boletobancario",a.boletobancario_itau="boletobancario_itau",a.boletobancario_santander="boletobancario_santander",a.primeiropay_boleto="primeiropay_boleto",a.doku="doku",a.doku_alfamart="doku_alfamart",a.doku_permata_lite_atm="doku_permata_lite_atm",a.doku_indomaret="doku_indomaret",a.doku_atm_mandiri_va="doku_atm_mandiri_va",a.doku_sinarmas_va="doku_sinarmas_va",a.doku_mandiri_va="doku_mandiri_va",a.doku_cimb_va="doku_cimb_va",a.doku_danamon_va="doku_danamon_va",a.doku_bri_va="doku_bri_va",a.doku_bni_va="doku_bni_va",a.doku_bca_va="doku_bca_va",a.doku_wallet="doku_wallet",a.oxxo="oxxo",a.billdesk_online="billdesk_online",a.billdesk_wallet="billdesk_wallet",a.dotpay="dotpay",a.eps="eps",a.iris="iris",a.molpay_ebanking_fpx_MY="molpay_ebanking_fpx_MY",a.molpay_ebanking_TH="molpay_ebanking_TH",a.molpay_ebanking_VN="molpay_ebanking_VN",a.onlineBanking_CZ="onlineBanking_CZ",a.onlinebanking_IN="onlinebanking_IN",a.onlineBanking_PL="onlineBanking_PL",a.onlineBanking_SK="onlineBanking_SK",a.paybybank="paybybank",a.payu_IN_cashcard="payu_IN_cashcard",a.payu_IN_nb="payu_IN_nb",a.wallet_IN="wallet_IN",a.dragonpay="dragonpay",a.dragonpay_ebanking="dragonpay_ebanking",a.dragonpay_otc_banking="dragonpay_otc_banking",a.dragonpay_otc_non_banking="dragonpay_otc_non_banking",a.dragonpay_otc_philippines="dragonpay_otc_philippines",a.econtext="econtext",a.econtext_atm="econtext_atm",a.econtext_online="econtext_online",a.econtext_seven_eleven="econtext_seven_eleven",a.econtext_stores="econtext_stores",a.giropay="giropay",a.multibanco="multibanco",a.redirect="redirect",a.twint="twint",a.vipps="vipps",a.trustly="trustly",a.paybybank_AIS_DD="paybybank_AIS_DD",a.riverty="riverty",a.paybybank_pix="paybybank_pix",a.klarna="klarna",a.klarna_account="klarna_account",a.klarna_paynow="klarna_paynow",a.klarna_b2b="klarna_b2b",a.bcmc_mobile="bcmc_mobile",a.bcmc_mobile_QR="bcmc_mobile_QR",a.pix="pix",a.swish="swish",a.wechatpay="wechatpay",a.wechatpayQR="wechatpayQR",a.promptpay="promptpay",a.paynow="paynow",a.duitnow="duitnow",a.blik="blik",a.mbway="mbway",a.ancv="ancv",a.payto="payto",a.upi="upi",a.upi_qr="upi_qr",a.upi_collect="upi_collect",a.upi_intent="upi_intent",a.giftcard="giftcard",a.mealVoucher_FR="mealVoucher_FR",a.mealVoucher_FR_natixis="mealVoucher_FR_natixis",a.mealVoucher_FR_sodexo="mealVoucher_FR_sodexo",a.mealVoucher_FR_groupeup="mealVoucher_FR_groupeup",a}({});export{a as TxVariants};
1
+ var a=function(a){return a.address="address",a.bankTransfer_IBAN="bankTransfer_IBAN",a.bankTransfer_BE="bankTransfer_BE",a.bankTransfer_NL="bankTransfer_NL",a.bankTransfer_PL="bankTransfer_PL",a.bankTransfer_FR="bankTransfer_FR",a.bankTransfer_CH="bankTransfer_CH",a.bankTransfer_IE="bankTransfer_IE",a.bankTransfer_GB="bankTransfer_GB",a.bankTransfer_DE="bankTransfer_DE",a.bankTransfer_AE="bankTransfer_AE",a.bankTransfer_AT="bankTransfer_AT",a.bankTransfer_AU="bankTransfer_AU",a.bankTransfer_BG="bankTransfer_BG",a.bankTransfer_CA="bankTransfer_CA",a.bankTransfer_EE="bankTransfer_EE",a.bankTransfer_ES="bankTransfer_ES",a.bankTransfer_FI="bankTransfer_FI",a.bankTransfer_HK="bankTransfer_HK",a.bankTransfer_HU="bankTransfer_HU",a.bankTransfer_IT="bankTransfer_IT",a.bankTransfer_JP="bankTransfer_JP",a.bankTransfer_LU="bankTransfer_LU",a.bankTransfer_NZ="bankTransfer_NZ",a.bankTransfer_PT="bankTransfer_PT",a.bankTransfer_SG="bankTransfer_SG",a.bankTransfer_SK="bankTransfer_SK",a.bankTransfer_US="bankTransfer_US",a.donation="donation",a.personal_details="personal_details",a.dropin="dropin",a.bcmc="bcmc",a.card="card",a.scheme="scheme",a.storedCard="storedCard",a.customCard="customcard",a.threeDS2Challenge="threeDS2Challenge",a.threeDS2Fingerprint="threeDS2Fingerprint",a.threeDS2DeviceFingerprint="threeDS2DeviceFingerprint",a.ach="ach",a.directdebit_GB="directdebit_GB",a.sepadirectdebit="sepadirectdebit",a.eft_directdebit_CA="eft_directdebit_CA",a.affirm="affirm",a.afterpay="afterpay",a.afterpay_default="afterpay_default",a.afterpay_b2b="afterpay_b2b",a.atome="atome",a.facilypay_3x="facilypay_3x",a.facilypay_4x="facilypay_4x",a.facilypay_6x="facilypay_6x",a.facilypay_10x="facilypay_10x",a.facilypay_12x="facilypay_12x",a.ratepay="ratepay",a.ratepay_directdebit="ratepay_directdebit",a.amazonpay="amazonpay",a.applepay="applepay",a.cashapp="cashapp",a.clicktopay="clicktopay",a.googlepay="googlepay",a.paypal="paypal",a.fastlane="fastlane",a.paywithgoogle="paywithgoogle",a.boletobancario="boletobancario",a.boletobancario_itau="boletobancario_itau",a.boletobancario_santander="boletobancario_santander",a.primeiropay_boleto="primeiropay_boleto",a.doku="doku",a.doku_alfamart="doku_alfamart",a.doku_permata_lite_atm="doku_permata_lite_atm",a.doku_indomaret="doku_indomaret",a.doku_atm_mandiri_va="doku_atm_mandiri_va",a.doku_sinarmas_va="doku_sinarmas_va",a.doku_mandiri_va="doku_mandiri_va",a.doku_cimb_va="doku_cimb_va",a.doku_danamon_va="doku_danamon_va",a.doku_bri_va="doku_bri_va",a.doku_bni_va="doku_bni_va",a.doku_bca_va="doku_bca_va",a.doku_wallet="doku_wallet",a.oxxo="oxxo",a.billdesk_online="billdesk_online",a.billdesk_wallet="billdesk_wallet",a.dotpay="dotpay",a.eps="eps",a.iris="iris",a.molpay_ebanking_fpx_MY="molpay_ebanking_fpx_MY",a.molpay_ebanking_TH="molpay_ebanking_TH",a.molpay_ebanking_VN="molpay_ebanking_VN",a.onlineBanking_CZ="onlineBanking_CZ",a.onlinebanking_IN="onlinebanking_IN",a.onlineBanking_PL="onlineBanking_PL",a.onlineBanking_SK="onlineBanking_SK",a.paybybank="paybybank",a.payu_IN_cashcard="payu_IN_cashcard",a.payu_IN_nb="payu_IN_nb",a.wallet_IN="wallet_IN",a.dragonpay="dragonpay",a.dragonpay_ebanking="dragonpay_ebanking",a.dragonpay_otc_banking="dragonpay_otc_banking",a.dragonpay_otc_non_banking="dragonpay_otc_non_banking",a.dragonpay_otc_philippines="dragonpay_otc_philippines",a.econtext="econtext",a.econtext_atm="econtext_atm",a.econtext_online="econtext_online",a.econtext_seven_eleven="econtext_seven_eleven",a.econtext_stores="econtext_stores",a.giropay="giropay",a.multibanco="multibanco",a.redirect="redirect",a.twint="twint",a.vipps="vipps",a.trustly="trustly",a.paybybank_AIS_DD="paybybank_AIS_DD",a.riverty="riverty",a.paybybank_pix="paybybank_pix",a.klarna="klarna",a.klarna_account="klarna_account",a.klarna_paynow="klarna_paynow",a.klarna_b2b="klarna_b2b",a.bcmc_mobile="bcmc_mobile",a.bcmc_mobile_QR="bcmc_mobile_QR",a.pix="pix",a.swish="swish",a.wechatpay="wechatpay",a.wechatpayQR="wechatpayQR",a.promptpay="promptpay",a.paynow="paynow",a.duitnow="duitnow",a.blik="blik",a.mbway="mbway",a.ancv="ancv",a.payto="payto",a.upi="upi",a.upi_qr="upi_qr",a.upi_intent="upi_intent",a.giftcard="giftcard",a.mealVoucher_FR="mealVoucher_FR",a.mealVoucher_FR_natixis="mealVoucher_FR_natixis",a.mealVoucher_FR_sodexo="mealVoucher_FR_sodexo",a.mealVoucher_FR_groupeup="mealVoucher_FR_groupeup",a}({});export{a as TxVariants};
2
2
  //# sourceMappingURL=tx-variants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tx-variants.js","sources":["../../../src/components/tx-variants.ts"],"sourcesContent":["export enum TxVariants {\n /** internal */\n address = 'address',\n bankTransfer_IBAN = 'bankTransfer_IBAN',\n bankTransfer_BE = 'bankTransfer_BE',\n bankTransfer_NL = 'bankTransfer_NL',\n bankTransfer_PL = 'bankTransfer_PL',\n bankTransfer_FR = 'bankTransfer_FR',\n bankTransfer_CH = 'bankTransfer_CH',\n bankTransfer_IE = 'bankTransfer_IE',\n bankTransfer_GB = 'bankTransfer_GB',\n bankTransfer_DE = 'bankTransfer_DE',\n bankTransfer_AE = 'bankTransfer_AE',\n bankTransfer_AT = 'bankTransfer_AT',\n bankTransfer_AU = 'bankTransfer_AU',\n bankTransfer_BG = 'bankTransfer_BG',\n bankTransfer_CA = 'bankTransfer_CA',\n bankTransfer_EE = 'bankTransfer_EE',\n bankTransfer_ES = 'bankTransfer_ES',\n bankTransfer_FI = 'bankTransfer_FI',\n bankTransfer_HK = 'bankTransfer_HK',\n bankTransfer_HU = 'bankTransfer_HU',\n bankTransfer_IT = 'bankTransfer_IT',\n bankTransfer_JP = 'bankTransfer_JP',\n bankTransfer_LU = 'bankTransfer_LU',\n bankTransfer_NZ = 'bankTransfer_NZ',\n bankTransfer_PT = 'bankTransfer_PT',\n bankTransfer_SG = 'bankTransfer_SG',\n bankTransfer_SK = 'bankTransfer_SK',\n bankTransfer_US = 'bankTransfer_US',\n donation = 'donation',\n personal_details = 'personal_details',\n dropin = 'dropin',\n /** internal */\n\n /** Card */\n bcmc = 'bcmc',\n card = 'card',\n scheme = 'scheme',\n storedCard = 'storedCard',\n customCard = 'customcard',\n /** Card */\n\n /** ThreeDS */\n threeDS2Challenge = 'threeDS2Challenge',\n threeDS2Fingerprint = 'threeDS2Fingerprint',\n threeDS2DeviceFingerprint = 'threeDS2DeviceFingerprint',\n /** ThreeDS */\n\n /** Direct debit */\n ach = 'ach',\n directdebit_GB = 'directdebit_GB',\n sepadirectdebit = 'sepadirectdebit',\n eft_directdebit_CA = 'eft_directdebit_CA',\n /** Direct debit */\n\n /** Open Invoice */\n affirm = 'affirm',\n afterpay = 'afterpay',\n afterpay_default = 'afterpay_default',\n afterpay_b2b = 'afterpay_b2b',\n atome = 'atome',\n facilypay_3x = 'facilypay_3x',\n facilypay_4x = 'facilypay_4x',\n facilypay_6x = 'facilypay_6x',\n facilypay_10x = 'facilypay_10x',\n facilypay_12x = 'facilypay_12x',\n ratepay = 'ratepay',\n ratepay_directdebit = 'ratepay_directdebit',\n /** Open Invoice */\n\n /** Wallets */\n amazonpay = 'amazonpay',\n applepay = 'applepay',\n cashapp = 'cashapp',\n clicktopay = 'clicktopay',\n googlepay = 'googlepay',\n paypal = 'paypal',\n fastlane = 'fastlane',\n paywithgoogle = 'paywithgoogle',\n /** Wallets */\n\n /** Voucher */\n boletobancario = 'boletobancario',\n boletobancario_itau = 'boletobancario_itau',\n boletobancario_santander = 'boletobancario_santander',\n primeiropay_boleto = 'primeiropay_boleto',\n doku = 'doku',\n doku_alfamart = 'doku_alfamart',\n doku_permata_lite_atm = 'doku_permata_lite_atm',\n doku_indomaret = 'doku_indomaret',\n doku_atm_mandiri_va = 'doku_atm_mandiri_va',\n doku_sinarmas_va = 'doku_sinarmas_va',\n doku_mandiri_va = 'doku_mandiri_va',\n doku_cimb_va = 'doku_cimb_va',\n doku_danamon_va = 'doku_danamon_va',\n doku_bri_va = 'doku_bri_va',\n doku_bni_va = 'doku_bni_va',\n doku_bca_va = 'doku_bca_va',\n doku_wallet = 'doku_wallet',\n oxxo = 'oxxo',\n /** Voucher */\n\n /** issuerList */\n billdesk_online = 'billdesk_online',\n billdesk_wallet = 'billdesk_wallet',\n dotpay = 'dotpay',\n eps = 'eps',\n iris = 'iris',\n molpay_ebanking_fpx_MY = 'molpay_ebanking_fpx_MY',\n molpay_ebanking_TH = 'molpay_ebanking_TH',\n molpay_ebanking_VN = 'molpay_ebanking_VN',\n onlineBanking_CZ = 'onlineBanking_CZ',\n onlinebanking_IN = 'onlinebanking_IN',\n onlineBanking_PL = 'onlineBanking_PL',\n onlineBanking_SK = 'onlineBanking_SK',\n paybybank = 'paybybank',\n payu_IN_cashcard = 'payu_IN_cashcard',\n payu_IN_nb = 'payu_IN_nb',\n wallet_IN = 'wallet_IN',\n /** issuerList */\n\n /** Dragonpay */\n dragonpay = 'dragonpay',\n dragonpay_ebanking = 'dragonpay_ebanking',\n dragonpay_otc_banking = 'dragonpay_otc_banking',\n dragonpay_otc_non_banking = 'dragonpay_otc_non_banking',\n dragonpay_otc_philippines = 'dragonpay_otc_philippines',\n /** Dragonpay */\n\n /** Econtext */\n econtext = 'econtext',\n econtext_atm = 'econtext_atm',\n econtext_online = 'econtext_online',\n econtext_seven_eleven = 'econtext_seven_eleven',\n econtext_stores = 'econtext_stores',\n /** Econtext */\n\n /** Redirect */\n giropay = 'giropay',\n multibanco = 'multibanco',\n redirect = 'redirect',\n twint = 'twint',\n vipps = 'vipps',\n trustly = 'trustly',\n paybybank_AIS_DD = 'paybybank_AIS_DD',\n riverty = 'riverty',\n paybybank_pix = 'paybybank_pix',\n /** Redirect */\n\n /** Klarna */\n klarna = 'klarna',\n klarna_account = 'klarna_account',\n klarna_paynow = 'klarna_paynow',\n klarna_b2b = 'klarna_b2b',\n /** Klarna */\n\n /** QRLoader */\n bcmc_mobile = 'bcmc_mobile',\n bcmc_mobile_QR = 'bcmc_mobile_QR',\n pix = 'pix',\n swish = 'swish',\n wechatpay = 'wechatpay',\n wechatpayQR = 'wechatpayQR',\n promptpay = 'promptpay',\n paynow = 'paynow',\n duitnow = 'duitnow',\n /** QRLoader */\n\n /** Await */\n blik = 'blik',\n mbway = 'mbway',\n ancv = 'ancv',\n payto = 'payto',\n upi = 'upi', // also QR\n upi_qr = 'upi_qr', // also QR\n upi_collect = 'upi_collect', // also QR\n upi_intent = 'upi_intent', // also QR\n /** Await */\n\n /** Giftcard */\n giftcard = 'giftcard',\n mealVoucher_FR = 'mealVoucher_FR',\n mealVoucher_FR_natixis = 'mealVoucher_FR_natixis',\n mealVoucher_FR_sodexo = 'mealVoucher_FR_sodexo',\n mealVoucher_FR_groupeup = 'mealVoucher_FR_groupeup'\n /** Giftcard */\n}\n"],"names":["TxVariants"],"mappings":"AAAO,IAAAA,EAAKA,SAAAA,GAAAA,OACKA,EAAA,QAAA,wiCAkCJA,EAAA,KAAA,2FAQGA,EAAA,kBAAA,wHAMKA,EAAA,IAAA,sHAOAA,EAAA,OAAA,6UAeLA,EAAA,UAAA,gLAWAA,EAAA,eAAA,mlBAqBGA,EAAA,gBAAA,gfAmBDA,EAAA,UAAA,sNAQDA,EAAA,SAAA,iKAQAA,EAAA,QAAA,wMAYFA,EAAA,OAAA,qGAOEA,EAAA,YAAA,8LAYHA,EAAA,KAAA,yIAWGA,EAAA,SAAA,mMApLLA,CA2LX,CA3LWA,CA2LX,CAAA"}
1
+ {"version":3,"file":"tx-variants.js","sources":["../../../src/components/tx-variants.ts"],"sourcesContent":["export enum TxVariants {\n /** internal */\n address = 'address',\n bankTransfer_IBAN = 'bankTransfer_IBAN',\n bankTransfer_BE = 'bankTransfer_BE',\n bankTransfer_NL = 'bankTransfer_NL',\n bankTransfer_PL = 'bankTransfer_PL',\n bankTransfer_FR = 'bankTransfer_FR',\n bankTransfer_CH = 'bankTransfer_CH',\n bankTransfer_IE = 'bankTransfer_IE',\n bankTransfer_GB = 'bankTransfer_GB',\n bankTransfer_DE = 'bankTransfer_DE',\n bankTransfer_AE = 'bankTransfer_AE',\n bankTransfer_AT = 'bankTransfer_AT',\n bankTransfer_AU = 'bankTransfer_AU',\n bankTransfer_BG = 'bankTransfer_BG',\n bankTransfer_CA = 'bankTransfer_CA',\n bankTransfer_EE = 'bankTransfer_EE',\n bankTransfer_ES = 'bankTransfer_ES',\n bankTransfer_FI = 'bankTransfer_FI',\n bankTransfer_HK = 'bankTransfer_HK',\n bankTransfer_HU = 'bankTransfer_HU',\n bankTransfer_IT = 'bankTransfer_IT',\n bankTransfer_JP = 'bankTransfer_JP',\n bankTransfer_LU = 'bankTransfer_LU',\n bankTransfer_NZ = 'bankTransfer_NZ',\n bankTransfer_PT = 'bankTransfer_PT',\n bankTransfer_SG = 'bankTransfer_SG',\n bankTransfer_SK = 'bankTransfer_SK',\n bankTransfer_US = 'bankTransfer_US',\n donation = 'donation',\n personal_details = 'personal_details',\n dropin = 'dropin',\n /** internal */\n\n /** Card */\n bcmc = 'bcmc',\n card = 'card',\n scheme = 'scheme',\n storedCard = 'storedCard',\n customCard = 'customcard',\n /** Card */\n\n /** ThreeDS */\n threeDS2Challenge = 'threeDS2Challenge',\n threeDS2Fingerprint = 'threeDS2Fingerprint',\n threeDS2DeviceFingerprint = 'threeDS2DeviceFingerprint',\n /** ThreeDS */\n\n /** Direct debit */\n ach = 'ach',\n directdebit_GB = 'directdebit_GB',\n sepadirectdebit = 'sepadirectdebit',\n eft_directdebit_CA = 'eft_directdebit_CA',\n /** Direct debit */\n\n /** Open Invoice */\n affirm = 'affirm',\n afterpay = 'afterpay',\n afterpay_default = 'afterpay_default',\n afterpay_b2b = 'afterpay_b2b',\n atome = 'atome',\n facilypay_3x = 'facilypay_3x',\n facilypay_4x = 'facilypay_4x',\n facilypay_6x = 'facilypay_6x',\n facilypay_10x = 'facilypay_10x',\n facilypay_12x = 'facilypay_12x',\n ratepay = 'ratepay',\n ratepay_directdebit = 'ratepay_directdebit',\n /** Open Invoice */\n\n /** Wallets */\n amazonpay = 'amazonpay',\n applepay = 'applepay',\n cashapp = 'cashapp',\n clicktopay = 'clicktopay',\n googlepay = 'googlepay',\n paypal = 'paypal',\n fastlane = 'fastlane',\n paywithgoogle = 'paywithgoogle',\n /** Wallets */\n\n /** Voucher */\n boletobancario = 'boletobancario',\n boletobancario_itau = 'boletobancario_itau',\n boletobancario_santander = 'boletobancario_santander',\n primeiropay_boleto = 'primeiropay_boleto',\n doku = 'doku',\n doku_alfamart = 'doku_alfamart',\n doku_permata_lite_atm = 'doku_permata_lite_atm',\n doku_indomaret = 'doku_indomaret',\n doku_atm_mandiri_va = 'doku_atm_mandiri_va',\n doku_sinarmas_va = 'doku_sinarmas_va',\n doku_mandiri_va = 'doku_mandiri_va',\n doku_cimb_va = 'doku_cimb_va',\n doku_danamon_va = 'doku_danamon_va',\n doku_bri_va = 'doku_bri_va',\n doku_bni_va = 'doku_bni_va',\n doku_bca_va = 'doku_bca_va',\n doku_wallet = 'doku_wallet',\n oxxo = 'oxxo',\n /** Voucher */\n\n /** issuerList */\n billdesk_online = 'billdesk_online',\n billdesk_wallet = 'billdesk_wallet',\n dotpay = 'dotpay',\n eps = 'eps',\n iris = 'iris',\n molpay_ebanking_fpx_MY = 'molpay_ebanking_fpx_MY',\n molpay_ebanking_TH = 'molpay_ebanking_TH',\n molpay_ebanking_VN = 'molpay_ebanking_VN',\n onlineBanking_CZ = 'onlineBanking_CZ',\n onlinebanking_IN = 'onlinebanking_IN',\n onlineBanking_PL = 'onlineBanking_PL',\n onlineBanking_SK = 'onlineBanking_SK',\n paybybank = 'paybybank',\n payu_IN_cashcard = 'payu_IN_cashcard',\n payu_IN_nb = 'payu_IN_nb',\n wallet_IN = 'wallet_IN',\n /** issuerList */\n\n /** Dragonpay */\n dragonpay = 'dragonpay',\n dragonpay_ebanking = 'dragonpay_ebanking',\n dragonpay_otc_banking = 'dragonpay_otc_banking',\n dragonpay_otc_non_banking = 'dragonpay_otc_non_banking',\n dragonpay_otc_philippines = 'dragonpay_otc_philippines',\n /** Dragonpay */\n\n /** Econtext */\n econtext = 'econtext',\n econtext_atm = 'econtext_atm',\n econtext_online = 'econtext_online',\n econtext_seven_eleven = 'econtext_seven_eleven',\n econtext_stores = 'econtext_stores',\n /** Econtext */\n\n /** Redirect */\n giropay = 'giropay',\n multibanco = 'multibanco',\n redirect = 'redirect',\n twint = 'twint',\n vipps = 'vipps',\n trustly = 'trustly',\n paybybank_AIS_DD = 'paybybank_AIS_DD',\n riverty = 'riverty',\n paybybank_pix = 'paybybank_pix',\n /** Redirect */\n\n /** Klarna */\n klarna = 'klarna',\n klarna_account = 'klarna_account',\n klarna_paynow = 'klarna_paynow',\n klarna_b2b = 'klarna_b2b',\n /** Klarna */\n\n /** QRLoader */\n bcmc_mobile = 'bcmc_mobile',\n bcmc_mobile_QR = 'bcmc_mobile_QR',\n pix = 'pix',\n swish = 'swish',\n wechatpay = 'wechatpay',\n wechatpayQR = 'wechatpayQR',\n promptpay = 'promptpay',\n paynow = 'paynow',\n duitnow = 'duitnow',\n /** QRLoader */\n\n /** Await */\n blik = 'blik',\n mbway = 'mbway',\n ancv = 'ancv',\n payto = 'payto',\n upi = 'upi', // also QR\n upi_qr = 'upi_qr', // also QR\n upi_intent = 'upi_intent', // also QR\n /** Await */\n\n /** Giftcard */\n giftcard = 'giftcard',\n mealVoucher_FR = 'mealVoucher_FR',\n mealVoucher_FR_natixis = 'mealVoucher_FR_natixis',\n mealVoucher_FR_sodexo = 'mealVoucher_FR_sodexo',\n mealVoucher_FR_groupeup = 'mealVoucher_FR_groupeup'\n /** Giftcard */\n}\n"],"names":["TxVariants"],"mappings":"AAAO,IAAAA,EAAKA,SAAAA,GAAAA,OACKA,EAAA,QAAA,wiCAkCJA,EAAA,KAAA,2FAQGA,EAAA,kBAAA,wHAMKA,EAAA,IAAA,sHAOAA,EAAA,OAAA,6UAeLA,EAAA,UAAA,gLAWAA,EAAA,eAAA,mlBAqBGA,EAAA,gBAAA,gfAmBDA,EAAA,UAAA,sNAQDA,EAAA,SAAA,iKAQAA,EAAA,QAAA,wMAYFA,EAAA,OAAA,qGAOEA,EAAA,YAAA,8LAYHA,EAAA,KAAA,6GAUGA,EAAA,SAAA,mMAnLLA,CA0LX,CA1LWA,CA0LX,CAAA"}
@@ -1,2 +1,2 @@
1
- import{debounce as e}from"../../utils/debounce.js";import{processAnalyticsData as t}from"./utils.js";import{AnalyticsEventCategory as s}from"./events/AbstractAnalyticsEvent.js";import n from"../../utils/Storage.js";import{LIBRARY_BUNDLE_TYPE as i,LIBRARY_VERSION as o}from"../config.js";function r(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class a{async setUp({sessionId:e,checkoutStage:s,locale:n}={}){try{const a=this.storage.get(),c=function(e){if(!(null==e?void 0:e.timestamp))return!1;const t=Date.now()-9e5;return e.timestamp>t}(a),{applicationInfo:d,checkoutAttemptId:u}=t(this.analyticsData),h=c?a.id:u,l=function(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{},n=Object.keys(s);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(s).filter(function(e){return Object.getOwnPropertyDescriptor(s,e).enumerable}))),n.forEach(function(t){r(e,t,s[t])})}return e}({version:o,buildType:i,channel:"Web",platform:"Web",locale:n,referrer:window.location.href,screenWidth:window.screen.width,checkoutStage:s||"checkout",level:this.enabled?"all":"initial"},d&&{applicationInfo:d},e&&{sessionId:e},h&&{checkoutAttemptId:h});this.capturedCheckoutAttemptId=await this.service.requestCheckoutAttemptId(l),this.storage.set({id:this.capturedCheckoutAttemptId,timestamp:c?a.timestamp:Date.now()})}catch(e){this.enabled=!1,console.warn("Analytics: Error setting up",e)}}sendAnalytics(e){if(this.enabled)try{this.addEventToQueue(e)}catch(e){console.warn("Analytics: Error adding event to queue",e)}}async sendFlavor(e){if(this.capturedCheckoutAttemptId&&!this.isFlavorReported){this.isFlavorReported=!0;try{await this.service.reportIntegrationFlavor(e,this.capturedCheckoutAttemptId)}catch(e){console.warn("Analytics: Error reporting flavor",e)}}}flush(){this.sendEvents()}addEventToQueue(e){this.eventsQueue.add(e),e.getEventCategory()===s.info?this.debouncedSendInfoEvents():this.debouncedSendEvents()}async sendEvents(){if(!this.capturedCheckoutAttemptId||!this.enabled)return;const e={channel:"Web",platform:"Web",info:this.eventsQueue.infoEvents,errors:this.eventsQueue.errorEvents,logs:this.eventsQueue.logEvents};this.eventsQueue.clear();try{await this.service.sendEvents(e,this.capturedCheckoutAttemptId)}catch(e){console.warn("Analytics: Error sending events",e)}}constructor({service:t,eventQueue:s,enabled:i,analyticsData:o}){r(this,"analyticsData",void 0),r(this,"service",void 0),r(this,"eventsQueue",void 0),r(this,"storage",new n("checkout-attempt-id","sessionStorage")),r(this,"debouncedSendInfoEvents",void 0),r(this,"debouncedSendEvents",void 0),r(this,"enabled",!0),r(this,"capturedCheckoutAttemptId",void 0),r(this,"isFlavorReported",!1),this.service=t,this.eventsQueue=s,this.debouncedSendInfoEvents=e(this.sendEvents.bind(this),1e4),this.debouncedSendEvents=e(this.sendEvents.bind(this),5e3),void 0!==i&&(this.enabled=i),o&&(this.analyticsData=o)}}export{a as default};
1
+ import{debounce as e}from"../../utils/debounce.js";import{processAnalyticsData as t}from"./utils.js";import{AnalyticsEventCategory as s}from"./events/AbstractAnalyticsEvent.js";import n from"../../utils/Storage.js";import{LIBRARY_BUNDLE_TYPE as i,LIBRARY_VERSION as o}from"../config.js";function r(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class a{get checkoutAttemptId(){return this.capturedCheckoutAttemptId}async setUp({sessionId:e,checkoutStage:s,locale:n}={}){try{const a=this.storage.get(),c=function(e){if(!(null==e?void 0:e.timestamp))return!1;const t=Date.now()-9e5;return e.timestamp>t}(a),{applicationInfo:d,checkoutAttemptId:u}=t(this.analyticsData),h=c?a.id:u,l=function(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{},n=Object.keys(s);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(s).filter(function(e){return Object.getOwnPropertyDescriptor(s,e).enumerable}))),n.forEach(function(t){r(e,t,s[t])})}return e}({version:o,buildType:i,channel:"Web",platform:"Web",locale:n,referrer:window.location.href,screenWidth:window.screen.width,checkoutStage:s||"checkout",level:this.enabled?"all":"initial"},d&&{applicationInfo:d},e&&{sessionId:e},h&&{checkoutAttemptId:h});this.capturedCheckoutAttemptId=await this.service.requestCheckoutAttemptId(l),this.storage.set({id:this.capturedCheckoutAttemptId,timestamp:c?a.timestamp:Date.now()})}catch(e){this.enabled=!1,console.warn("Analytics: Error setting up",e)}}sendAnalytics(e){if(this.enabled)try{this.addEventToQueue(e)}catch(e){console.warn("Analytics: Error adding event to queue",e)}}async sendFlavor(e){if(this.capturedCheckoutAttemptId&&!this.isFlavorReported){this.isFlavorReported=!0;try{await this.service.reportIntegrationFlavor(e,this.capturedCheckoutAttemptId)}catch(e){console.warn("Analytics: Error reporting flavor",e)}}}flush(){this.sendEvents()}addEventToQueue(e){this.eventsQueue.add(e),e.getEventCategory()===s.info?this.debouncedSendInfoEvents():this.debouncedSendEvents()}async sendEvents(){if(!this.capturedCheckoutAttemptId||!this.enabled)return;const e={channel:"Web",platform:"Web",info:this.eventsQueue.infoEvents,errors:this.eventsQueue.errorEvents,logs:this.eventsQueue.logEvents};this.eventsQueue.clear();try{await this.service.sendEvents(e,this.capturedCheckoutAttemptId)}catch(e){console.warn("Analytics: Error sending events",e)}}constructor({service:t,eventQueue:s,enabled:i,analyticsData:o}){r(this,"analyticsData",void 0),r(this,"service",void 0),r(this,"eventsQueue",void 0),r(this,"storage",new n("checkout-attempt-id","sessionStorage")),r(this,"debouncedSendInfoEvents",void 0),r(this,"debouncedSendEvents",void 0),r(this,"enabled",!0),r(this,"capturedCheckoutAttemptId",void 0),r(this,"isFlavorReported",!1),this.service=t,this.eventsQueue=s,this.debouncedSendInfoEvents=e(this.sendEvents.bind(this),1e4),this.debouncedSendEvents=e(this.sendEvents.bind(this),5e3),void 0!==i&&(this.enabled=i),o&&(this.analyticsData=o)}}export{a as default};
2
2
  //# sourceMappingURL=Analytics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Analytics.js","sources":["../../../../src/core/Analytics/Analytics.ts"],"sourcesContent":["import { debounce } from '../../utils/debounce';\nimport { processAnalyticsData } from './utils';\nimport { AbstractAnalyticsEvent, AnalyticsEventCategory } from './events/AbstractAnalyticsEvent';\nimport Storage from '../../utils/Storage';\nimport { LIBRARY_BUNDLE_TYPE, LIBRARY_VERSION } from '../config';\nimport { AnalyticsEventQueue } from './AnalyticsEventQueue';\nimport type { AnalyticsOptions } from './types';\nimport type { AnalyticsEventPayload, IAnalyticsService, RequestAttemptIdPayload } from './AnalyticsService';\n\nexport interface AnalyticsProps {\n service: IAnalyticsService;\n eventQueue: AnalyticsEventQueue;\n enabled?: boolean;\n analyticsData?: AnalyticsOptions['analyticsData'];\n}\n\nexport interface IAnalytics {\n setUp({ sessionId, checkoutStage, locale }: { sessionId?: string; checkoutStage?: 'precheckout' | 'checkout'; locale?: string }): Promise<void>;\n sendFlavor(flavor: 'dropin' | 'components'): Promise<void>;\n sendAnalytics(event: AbstractAnalyticsEvent): void;\n flush(): void;\n}\n\nexport interface CheckoutAttemptIdSessionStorage {\n id: string;\n timestamp: number;\n}\n\n/**\n * If the checkout attempt ID was stored more than fifteen minutes ago, then we should request a new ID.\n * More here: COWEB-1099\n */\nfunction isSessionCreatedUnderFifteenMinutes(session: CheckoutAttemptIdSessionStorage): boolean {\n const FIFTEEN_MINUTES_IN_MS = 15 * 60 * 1000;\n if (!session?.timestamp) return false;\n const fifteenMinutesAgo = Date.now() - FIFTEEN_MINUTES_IN_MS;\n return session.timestamp > fifteenMinutesAgo;\n}\n\nconst ANALYTICS_INFO_DEBOUNCE_DELAY = process.env.NODE_ENV === 'development' ? 5_000 : 10_000;\nconst ANALYTICS_ERROR_AND_LOGS_DEBOUNCE_DELAY = 5_000;\n\nclass Analytics implements IAnalytics {\n private readonly analyticsData?: AnalyticsOptions['analyticsData'];\n private readonly service: IAnalyticsService;\n private readonly eventsQueue: AnalyticsEventQueue;\n private readonly storage = new Storage<CheckoutAttemptIdSessionStorage>('checkout-attempt-id', 'sessionStorage');\n private readonly debouncedSendInfoEvents: () => void;\n private readonly debouncedSendEvents: () => void;\n\n private enabled: boolean = true;\n private capturedCheckoutAttemptId?: string;\n private isFlavorReported = false;\n\n constructor({ service, eventQueue, enabled, analyticsData }: AnalyticsProps) {\n this.service = service;\n this.eventsQueue = eventQueue;\n\n this.debouncedSendInfoEvents = debounce(this.sendEvents.bind(this), ANALYTICS_INFO_DEBOUNCE_DELAY);\n this.debouncedSendEvents = debounce(this.sendEvents.bind(this), ANALYTICS_ERROR_AND_LOGS_DEBOUNCE_DELAY);\n\n if (enabled !== undefined) this.enabled = enabled;\n if (analyticsData) this.analyticsData = analyticsData;\n }\n\n public async setUp({\n sessionId,\n checkoutStage,\n locale\n }: { sessionId?: string; locale?: string; checkoutStage?: 'precheckout' | 'checkout' } = {}): Promise<void> {\n try {\n const checkoutAttemptIdSession = this.storage.get();\n const isSessionReusable = isSessionCreatedUnderFifteenMinutes(checkoutAttemptIdSession);\n\n const { applicationInfo, checkoutAttemptId: checkoutAttemptIdFromPayByLink } = processAnalyticsData(this.analyticsData);\n\n const availableCheckoutAttemptId: string | undefined = isSessionReusable ? checkoutAttemptIdSession.id : checkoutAttemptIdFromPayByLink;\n\n const payload: RequestAttemptIdPayload = {\n version: LIBRARY_VERSION,\n buildType: LIBRARY_BUNDLE_TYPE,\n channel: 'Web',\n platform: 'Web',\n locale,\n referrer: window.location.href,\n screenWidth: window.screen.width,\n checkoutStage: checkoutStage || 'checkout',\n level: this.enabled ? 'all' : 'initial',\n ...(applicationInfo && { applicationInfo }),\n ...(sessionId && { sessionId }),\n ...(availableCheckoutAttemptId && { checkoutAttemptId: availableCheckoutAttemptId })\n };\n\n this.capturedCheckoutAttemptId = await this.service.requestCheckoutAttemptId(payload);\n\n this.storage.set({\n id: this.capturedCheckoutAttemptId,\n timestamp: isSessionReusable ? checkoutAttemptIdSession.timestamp : Date.now()\n });\n } catch (error: unknown) {\n this.enabled = false;\n console.warn('Analytics: Error setting up', error);\n }\n }\n\n public sendAnalytics(event: AbstractAnalyticsEvent): void {\n if (!this.enabled) {\n return;\n }\n\n try {\n this.addEventToQueue(event);\n } catch (error: unknown) {\n console.warn('Analytics: Error adding event to queue', error);\n }\n }\n\n public async sendFlavor(flavor: 'dropin' | 'components'): Promise<void> {\n if (!this.capturedCheckoutAttemptId) return;\n if (this.isFlavorReported) return;\n\n this.isFlavorReported = true;\n\n try {\n await this.service.reportIntegrationFlavor(flavor, this.capturedCheckoutAttemptId);\n } catch (error) {\n console.warn('Analytics: Error reporting flavor', error);\n }\n }\n\n public flush(): void {\n void this.sendEvents();\n }\n\n /**\n * Info events don't have high priority, therefore we add a delay in order to dispatch a batch of events\n * Log/Error events are sent almost immediately. There is a debounce mechanism in place but the delay is very minimal\n *\n * @param event\n * @private\n */\n private addEventToQueue(event: AbstractAnalyticsEvent): void {\n this.eventsQueue.add(event);\n\n if (event.getEventCategory() === AnalyticsEventCategory.info) {\n this.debouncedSendInfoEvents();\n } else {\n this.debouncedSendEvents();\n }\n }\n\n private async sendEvents(): Promise<void> {\n if (!this.capturedCheckoutAttemptId || !this.enabled) {\n return;\n }\n\n const payload: AnalyticsEventPayload = {\n channel: 'Web',\n platform: 'Web',\n info: this.eventsQueue.infoEvents,\n errors: this.eventsQueue.errorEvents,\n logs: this.eventsQueue.logEvents\n };\n\n this.eventsQueue.clear();\n\n try {\n await this.service.sendEvents(payload, this.capturedCheckoutAttemptId);\n } catch (error) {\n console.warn('Analytics: Error sending events', error);\n }\n }\n}\n\nexport default Analytics;\n"],"names":["Analytics","setUp","sessionId","checkoutStage","locale","checkoutAttemptIdSession","this","storage","get","isSessionReusable","session","timestamp","fifteenMinutesAgo","Date","now","isSessionCreatedUnderFifteenMinutes","applicationInfo","checkoutAttemptId","checkoutAttemptIdFromPayByLink","processAnalyticsData","analyticsData","availableCheckoutAttemptId","id","payload","_object_spread","version","LIBRARY_VERSION","buildType","LIBRARY_BUNDLE_TYPE","channel","platform","referrer","window","location","href","screenWidth","screen","width","level","enabled","capturedCheckoutAttemptId","service","requestCheckoutAttemptId","set","error","console","warn","sendAnalytics","event","addEventToQueue","sendFlavor","flavor","isFlavorReported","reportIntegrationFlavor","flush","sendEvents","eventsQueue","add","getEventCategory","AnalyticsEventCategory","info","debouncedSendInfoEvents","debouncedSendEvents","infoEvents","errors","errorEvents","logs","logEvents","clear","constructor","eventQueue","_define_property","Storage","debounce","bind","undefined"],"mappings":"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"}
1
+ {"version":3,"file":"Analytics.js","sources":["../../../../src/core/Analytics/Analytics.ts"],"sourcesContent":["import { debounce } from '../../utils/debounce';\nimport { processAnalyticsData } from './utils';\nimport { AbstractAnalyticsEvent, AnalyticsEventCategory } from './events/AbstractAnalyticsEvent';\nimport Storage from '../../utils/Storage';\nimport { LIBRARY_BUNDLE_TYPE, LIBRARY_VERSION } from '../config';\nimport { AnalyticsEventQueue } from './AnalyticsEventQueue';\nimport type { AnalyticsOptions } from './types';\nimport type { AnalyticsEventPayload, IAnalyticsService, RequestAttemptIdPayload } from './AnalyticsService';\n\nexport interface AnalyticsProps {\n service: IAnalyticsService;\n eventQueue: AnalyticsEventQueue;\n enabled?: boolean;\n analyticsData?: AnalyticsOptions['analyticsData'];\n}\n\nexport interface IAnalytics {\n checkoutAttemptId?: string;\n setUp({ sessionId, checkoutStage, locale }: { sessionId?: string; checkoutStage?: 'precheckout' | 'checkout'; locale?: string }): Promise<void>;\n sendFlavor(flavor: 'dropin' | 'components'): Promise<void>;\n sendAnalytics(event: AbstractAnalyticsEvent): void;\n flush(): void;\n}\n\nexport interface CheckoutAttemptIdSessionStorage {\n id: string;\n timestamp: number;\n}\n\n/**\n * If the checkout attempt ID was stored more than fifteen minutes ago, then we should request a new ID.\n * More here: COWEB-1099\n */\nfunction isSessionCreatedUnderFifteenMinutes(session: CheckoutAttemptIdSessionStorage): boolean {\n const FIFTEEN_MINUTES_IN_MS = 15 * 60 * 1000;\n if (!session?.timestamp) return false;\n const fifteenMinutesAgo = Date.now() - FIFTEEN_MINUTES_IN_MS;\n return session.timestamp > fifteenMinutesAgo;\n}\n\nconst ANALYTICS_INFO_DEBOUNCE_DELAY = process.env.NODE_ENV === 'development' ? 5_000 : 10_000;\nconst ANALYTICS_ERROR_AND_LOGS_DEBOUNCE_DELAY = 5_000;\n\nclass Analytics implements IAnalytics {\n private readonly analyticsData?: AnalyticsOptions['analyticsData'];\n private readonly service: IAnalyticsService;\n private readonly eventsQueue: AnalyticsEventQueue;\n private readonly storage = new Storage<CheckoutAttemptIdSessionStorage>('checkout-attempt-id', 'sessionStorage');\n private readonly debouncedSendInfoEvents: () => void;\n private readonly debouncedSendEvents: () => void;\n\n private enabled: boolean = true;\n private capturedCheckoutAttemptId?: string;\n private isFlavorReported = false;\n\n constructor({ service, eventQueue, enabled, analyticsData }: AnalyticsProps) {\n this.service = service;\n this.eventsQueue = eventQueue;\n\n this.debouncedSendInfoEvents = debounce(this.sendEvents.bind(this), ANALYTICS_INFO_DEBOUNCE_DELAY);\n this.debouncedSendEvents = debounce(this.sendEvents.bind(this), ANALYTICS_ERROR_AND_LOGS_DEBOUNCE_DELAY);\n\n if (enabled !== undefined) this.enabled = enabled;\n if (analyticsData) this.analyticsData = analyticsData;\n }\n\n public get checkoutAttemptId(): string {\n return this.capturedCheckoutAttemptId;\n }\n\n public async setUp({\n sessionId,\n checkoutStage,\n locale\n }: { sessionId?: string; locale?: string; checkoutStage?: 'precheckout' | 'checkout' } = {}): Promise<void> {\n try {\n const checkoutAttemptIdSession = this.storage.get();\n const isSessionReusable = isSessionCreatedUnderFifteenMinutes(checkoutAttemptIdSession);\n\n const { applicationInfo, checkoutAttemptId: checkoutAttemptIdFromPayByLink } = processAnalyticsData(this.analyticsData);\n\n const availableCheckoutAttemptId: string | undefined = isSessionReusable ? checkoutAttemptIdSession.id : checkoutAttemptIdFromPayByLink;\n\n const payload: RequestAttemptIdPayload = {\n version: LIBRARY_VERSION,\n buildType: LIBRARY_BUNDLE_TYPE,\n channel: 'Web',\n platform: 'Web',\n locale,\n referrer: window.location.href,\n screenWidth: window.screen.width,\n checkoutStage: checkoutStage || 'checkout',\n level: this.enabled ? 'all' : 'initial',\n ...(applicationInfo && { applicationInfo }),\n ...(sessionId && { sessionId }),\n ...(availableCheckoutAttemptId && { checkoutAttemptId: availableCheckoutAttemptId })\n };\n\n this.capturedCheckoutAttemptId = await this.service.requestCheckoutAttemptId(payload);\n\n this.storage.set({\n id: this.capturedCheckoutAttemptId,\n timestamp: isSessionReusable ? checkoutAttemptIdSession.timestamp : Date.now()\n });\n } catch (error: unknown) {\n this.enabled = false;\n console.warn('Analytics: Error setting up', error);\n }\n }\n\n public sendAnalytics(event: AbstractAnalyticsEvent): void {\n if (!this.enabled) {\n return;\n }\n\n try {\n this.addEventToQueue(event);\n } catch (error: unknown) {\n console.warn('Analytics: Error adding event to queue', error);\n }\n }\n\n public async sendFlavor(flavor: 'dropin' | 'components'): Promise<void> {\n if (!this.capturedCheckoutAttemptId) return;\n if (this.isFlavorReported) return;\n\n this.isFlavorReported = true;\n\n try {\n await this.service.reportIntegrationFlavor(flavor, this.capturedCheckoutAttemptId);\n } catch (error) {\n console.warn('Analytics: Error reporting flavor', error);\n }\n }\n\n public flush(): void {\n void this.sendEvents();\n }\n\n /**\n * Info events don't have high priority, therefore we add a delay in order to dispatch a batch of events\n * Log/Error events are sent almost immediately. There is a debounce mechanism in place but the delay is very minimal\n *\n * @param event\n * @private\n */\n private addEventToQueue(event: AbstractAnalyticsEvent): void {\n this.eventsQueue.add(event);\n\n if (event.getEventCategory() === AnalyticsEventCategory.info) {\n this.debouncedSendInfoEvents();\n } else {\n this.debouncedSendEvents();\n }\n }\n\n private async sendEvents(): Promise<void> {\n if (!this.capturedCheckoutAttemptId || !this.enabled) {\n return;\n }\n\n const payload: AnalyticsEventPayload = {\n channel: 'Web',\n platform: 'Web',\n info: this.eventsQueue.infoEvents,\n errors: this.eventsQueue.errorEvents,\n logs: this.eventsQueue.logEvents\n };\n\n this.eventsQueue.clear();\n\n try {\n await this.service.sendEvents(payload, this.capturedCheckoutAttemptId);\n } catch (error) {\n console.warn('Analytics: Error sending events', error);\n }\n }\n}\n\nexport default Analytics;\n"],"names":["Analytics","checkoutAttemptId","this","capturedCheckoutAttemptId","setUp","sessionId","checkoutStage","locale","checkoutAttemptIdSession","storage","get","isSessionReusable","session","timestamp","fifteenMinutesAgo","Date","now","isSessionCreatedUnderFifteenMinutes","applicationInfo","checkoutAttemptIdFromPayByLink","processAnalyticsData","analyticsData","availableCheckoutAttemptId","id","payload","_object_spread","version","LIBRARY_VERSION","buildType","LIBRARY_BUNDLE_TYPE","channel","platform","referrer","window","location","href","screenWidth","screen","width","level","enabled","service","requestCheckoutAttemptId","set","error","console","warn","sendAnalytics","event","addEventToQueue","sendFlavor","flavor","isFlavorReported","reportIntegrationFlavor","flush","sendEvents","eventsQueue","add","getEventCategory","AnalyticsEventCategory","info","debouncedSendInfoEvents","debouncedSendEvents","infoEvents","errors","errorEvents","logs","logEvents","clear","constructor","eventQueue","_define_property","Storage","debounce","bind","undefined"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{AbstractAnalyticsEvent as r,AnalyticsEventCategory as e}from"./AbstractAnalyticsEvent.js";function E(r,e,E){return e in r?Object.defineProperty(r,e,{value:E,enumerable:!0,configurable:!0,writable:!0}):r[e]=E,r}var _=function(r){return r.network="Network",r.implementation="ImplementationError",r.internal="Internal",r.apiError="ApiError",r.sdkError="SdkError",r.thirdParty="ThirdParty",r.generic="Generic",r.redirect="Redirect",r.threeDS2="ThreeDS2",r}({}),t=function(r){return r.REDIRECT="600",r.THREEDS2_ACTION_IS_MISSING_PAYMENT_DATA="700",r.THREEDS2_ACTION_IS_MISSING_TOKEN="701",r.THREEDS2_TOKEN_IS_MISSING_THREEDSMETHODURL="702",r.THREEDS2_TOKEN_IS_MISSING_OTHER_PROPS="703",r.THREEDS2_TOKEN_DECODE_OR_PARSING_FAILED="704",r.THREEDS2_TIMEOUT="705",r.THREEDS2_TOKEN_IS_MISSING_ACSURL="800",r.THREEDS2_NO_TRANSSTATUS="801",r.THREEDS2_NO_DETAILS_FOR_FRICTIONLESS_OR_REFUSED="802",r.THREEDS2_NO_COMPONENT_FOR_ACTION="803",r.THREEDS2_NO_ACTION_FOR_CHALLENGE="804",r.THREEDS2_CHALLENGE_RESOLVED_WITHOUT_RESULT_PROP="805",r}({});class S extends r{getEventCategory(){return e.error}constructor(r){super(r.component),E(this,"errorType",void 0),E(this,"code",void 0),E(this,"message",void 0),this.errorType=r.errorType,this.code=r.code,r.message&&(this.message=r.message)}}export{S as AnalyticsErrorEvent,t as ErrorEventCode,_ as ErrorEventType};
1
+ import{AbstractAnalyticsEvent as E,AnalyticsEventCategory as e}from"./AbstractAnalyticsEvent.js";function r(E,e,r){return e in E?Object.defineProperty(E,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):E[e]=r,E}var _=function(E){return E.network="Network",E.implementation="Implementation",E.internal="Internal",E.apiError="ApiError",E.sdkError="SdkError",E.thirdParty="ThirdParty",E.generic="Generic",E.redirect="Redirect",E.threeDS2="ThreeDS2",E}({}),T=function(E){return E.SECURED_FIELDS_IFRAME_CONTENT_WINDOW_NOT_FOUND="500",E.REDIRECT="600",E.THREEDS2_ACTION_IS_MISSING_PAYMENT_DATA="700",E.THREEDS2_ACTION_IS_MISSING_TOKEN="701",E.THREEDS2_TOKEN_IS_MISSING_THREEDSMETHODURL="702",E.THREEDS2_TOKEN_IS_MISSING_OTHER_PROPS="703",E.THREEDS2_TOKEN_DECODE_OR_PARSING_FAILED="704",E.THREEDS2_TIMEOUT="705",E.THREEDS2_TOKEN_IS_MISSING_ACSURL="800",E.THREEDS2_NO_TRANSSTATUS="801",E.THREEDS2_NO_DETAILS_FOR_FRICTIONLESS_OR_REFUSED="802",E.THREEDS2_NO_COMPONENT_FOR_ACTION="803",E.THREEDS2_NO_ACTION_FOR_CHALLENGE="804",E.THREEDS2_CHALLENGE_RESOLVED_WITHOUT_RESULT_PROP="805",E}({});class S extends E{getEventCategory(){return e.error}constructor(E){super(E.component),r(this,"errorType",void 0),r(this,"code",void 0),r(this,"message",void 0),this.errorType=E.errorType,this.code=E.code,E.message&&(this.message=E.message)}}export{S as AnalyticsErrorEvent,T as ErrorEventCode,_ as ErrorEventType};
2
2
  //# sourceMappingURL=AnalyticsErrorEvent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnalyticsErrorEvent.js","sources":["../../../../../src/core/Analytics/events/AnalyticsErrorEvent.ts"],"sourcesContent":["import { AbstractAnalyticsEvent, AnalyticsEventCategory } from './AbstractAnalyticsEvent';\n\ntype AnalyticsErrorEventProps = {\n component: string;\n errorType: ErrorEventType;\n code: string;\n message?: string;\n};\n\nexport enum ErrorEventType {\n network = 'Network',\n implementation = 'ImplementationError',\n internal = 'Internal',\n apiError = 'ApiError',\n sdkError = 'SdkError',\n thirdParty = 'ThirdParty',\n generic = 'Generic',\n redirect = 'Redirect',\n threeDS2 = 'ThreeDS2'\n}\n\nexport enum ErrorEventCode {\n REDIRECT = '600',\n /** Missing 'paymentData' property from threeDS2 action */\n THREEDS2_ACTION_IS_MISSING_PAYMENT_DATA = '700',\n /** Missing 'token' property from threeDS2 action */\n THREEDS2_ACTION_IS_MISSING_TOKEN = '701',\n /** Decoded token is missing a valid threeDSMethodURL property */\n THREEDS2_TOKEN_IS_MISSING_THREEDSMETHODURL = '702',\n /**\n * Decoded token is missing one or more of the following properties:\n * fingerprint: (threeDSMethodNotificationURL | postMessageDomain | threeDSServerTransID)\n * challenge: (acsTransID | messageVersion | threeDSServerTransID)\n */\n THREEDS2_TOKEN_IS_MISSING_OTHER_PROPS = '703',\n /** Token decoding or parsing has failed. ('not base64', 'malformed URI sequence' or 'Could not JSON parse token') */\n THREEDS2_TOKEN_DECODE_OR_PARSING_FAILED = '704',\n /** 3DS2 process has timed out */\n THREEDS2_TIMEOUT = '705',\n /** Decoded token is missing a valid acsURL property */\n THREEDS2_TOKEN_IS_MISSING_ACSURL = '800',\n /** Challenge has resulted in an error (no transStatus could be retrieved by the backend) */\n THREEDS2_NO_TRANSSTATUS = '801',\n /** callSubmit3DS2Fingerprint has received a response indicating either a \"frictionless\" flow, or a \"refused\" response, but without a details object */\n THREEDS2_NO_DETAILS_FOR_FRICTIONLESS_OR_REFUSED = '802',\n /** callSubmit3DS2Fingerprint cannot find a component to handle the action response */\n THREEDS2_NO_COMPONENT_FOR_ACTION = '803',\n /** callSubmit3DS2Fingerprint has received a response indicating a \"challenge\" but without an action object */\n THREEDS2_NO_ACTION_FOR_CHALLENGE = '804',\n /** The challenge process has happened, an object has been returned, parsed & accepted as legit, but the result prop on that object is either missing or doesn't have a transStatus prop */\n THREEDS2_CHALLENGE_RESOLVED_WITHOUT_RESULT_PROP = '805'\n}\n\nexport class AnalyticsErrorEvent extends AbstractAnalyticsEvent {\n private readonly errorType: ErrorEventType;\n private readonly code: string;\n\n private readonly message?: string;\n\n constructor(props: AnalyticsErrorEventProps) {\n super(props.component);\n\n this.errorType = props.errorType;\n this.code = props.code;\n\n if (props.message) this.message = props.message;\n }\n\n public getEventCategory(): AnalyticsEventCategory {\n return AnalyticsEventCategory.error;\n }\n}\n"],"names":["ErrorEventType","ErrorEventCode","AnalyticsErrorEvent","AbstractAnalyticsEvent","getEventCategory","AnalyticsEventCategory","error","constructor","props","super","component","_define_property","errorType","this","code","message"],"mappings":"yNASO,IAAAA,EAAKA,SAAAA,GAAAA,8NAAAA,CAUX,CAVWA,CAUX,CAAA,GAEMC,EAAKA,SAAAA,GAAAA,wBAEiDA,EAAA,wCAAA,MAEPA,EAAA,iCAAA,MAEaA,EAAA,2CAAA,MAM9DA,EAAA,sCAAA,MAEkHA,EAAA,wCAAA,MAEpFA,EAAA,iBAAA,MAEsBA,EAAA,iCAAA,MAEqCA,EAAA,wBAAA,MAE2DA,EAAA,gDAAA,MAEjEA,EAAA,iCAAA,MAEwBA,EAAA,iCAAA,MAE6EA,EAAA,gDAAA,MA5BjLA,CA8BX,CA9BWA,CA8BX,CAAA,GAEM,MAAMC,UAA4BC,EAe9BC,gBAAAA,GACH,OAAOC,EAAuBC,KAClC,CAXA,WAAAC,CAAYC,GACRC,MAAMD,EAAME,WANhBC,OAAiBC,iBAAjB,GACAD,EAAAE,KAAiBC,YAAjB,GAEAH,EAAAE,KAAiBE,eAAjB,GAKIF,KAAKD,UAAYJ,EAAMI,UACvBC,KAAKC,KAAON,EAAMM,KAEdN,EAAMO,UAASF,KAAKE,QAAUP,EAAMO,QAC5C"}
1
+ {"version":3,"file":"AnalyticsErrorEvent.js","sources":["../../../../../src/core/Analytics/events/AnalyticsErrorEvent.ts"],"sourcesContent":["import { AbstractAnalyticsEvent, AnalyticsEventCategory } from './AbstractAnalyticsEvent';\n\ntype AnalyticsErrorEventProps = {\n component: string;\n errorType: ErrorEventType;\n code: string;\n message?: string;\n};\n\nexport enum ErrorEventType {\n network = 'Network',\n implementation = 'Implementation',\n internal = 'Internal',\n apiError = 'ApiError',\n sdkError = 'SdkError',\n thirdParty = 'ThirdParty',\n generic = 'Generic',\n redirect = 'Redirect',\n threeDS2 = 'ThreeDS2'\n}\n\nexport enum ErrorEventCode {\n /** Trying to initialise a securedField iframe, but the iframe.contentWindow is undefined (meaning the containing element is not in the DOM */\n SECURED_FIELDS_IFRAME_CONTENT_WINDOW_NOT_FOUND = '500',\n REDIRECT = '600',\n /** Missing 'paymentData' property from threeDS2 action */\n THREEDS2_ACTION_IS_MISSING_PAYMENT_DATA = '700',\n /** Missing 'token' property from threeDS2 action */\n THREEDS2_ACTION_IS_MISSING_TOKEN = '701',\n /** Decoded token is missing a valid threeDSMethodURL property */\n THREEDS2_TOKEN_IS_MISSING_THREEDSMETHODURL = '702',\n /**\n * Decoded token is missing one or more of the following properties:\n * fingerprint: (threeDSMethodNotificationURL | postMessageDomain | threeDSServerTransID)\n * challenge: (acsTransID | messageVersion | threeDSServerTransID)\n */\n THREEDS2_TOKEN_IS_MISSING_OTHER_PROPS = '703',\n /** Token decoding or parsing has failed. ('not base64', 'malformed URI sequence' or 'Could not JSON parse token') */\n THREEDS2_TOKEN_DECODE_OR_PARSING_FAILED = '704',\n /** 3DS2 process has timed out */\n THREEDS2_TIMEOUT = '705',\n /** Decoded token is missing a valid acsURL property */\n THREEDS2_TOKEN_IS_MISSING_ACSURL = '800',\n /** Challenge has resulted in an error (no transStatus could be retrieved by the backend) */\n THREEDS2_NO_TRANSSTATUS = '801',\n /** callSubmit3DS2Fingerprint has received a response indicating either a \"frictionless\" flow, or a \"refused\" response, but without a details object */\n THREEDS2_NO_DETAILS_FOR_FRICTIONLESS_OR_REFUSED = '802',\n /** callSubmit3DS2Fingerprint cannot find a component to handle the action response */\n THREEDS2_NO_COMPONENT_FOR_ACTION = '803',\n /** callSubmit3DS2Fingerprint has received a response indicating a \"challenge\" but without an action object */\n THREEDS2_NO_ACTION_FOR_CHALLENGE = '804',\n /** The challenge process has happened, an object has been returned, parsed & accepted as legit, but the result prop on that object is either missing or doesn't have a transStatus prop */\n THREEDS2_CHALLENGE_RESOLVED_WITHOUT_RESULT_PROP = '805'\n}\n\nexport class AnalyticsErrorEvent extends AbstractAnalyticsEvent {\n private readonly errorType: ErrorEventType;\n private readonly code: string;\n\n private readonly message?: string;\n\n constructor(props: AnalyticsErrorEventProps) {\n super(props.component);\n\n this.errorType = props.errorType;\n this.code = props.code;\n\n if (props.message) this.message = props.message;\n }\n\n public getEventCategory(): AnalyticsEventCategory {\n return AnalyticsEventCategory.error;\n }\n}\n"],"names":["ErrorEventType","ErrorEventCode","AnalyticsErrorEvent","AbstractAnalyticsEvent","getEventCategory","AnalyticsEventCategory","error","constructor","props","super","component","_define_property","errorType","this","code","message"],"mappings":"yNASO,IAAAA,EAAKA,SAAAA,GAAAA,yNAAAA,CAUX,CAVWA,CAUX,CAAA,GAEMC,EAAKA,SAAAA,GAAAA,OACoIA,EAAA,+CAAA,uBAGnFA,EAAA,wCAAA,MAEPA,EAAA,iCAAA,MAEaA,EAAA,2CAAA,MAM9DA,EAAA,sCAAA,MAEkHA,EAAA,wCAAA,MAEpFA,EAAA,iBAAA,MAEsBA,EAAA,iCAAA,MAEqCA,EAAA,wBAAA,MAE2DA,EAAA,gDAAA,MAEjEA,EAAA,iCAAA,MAEwBA,EAAA,iCAAA,MAE6EA,EAAA,gDAAA,MA9BjLA,CAgCX,CAhCWA,CAgCX,CAAA,GAEM,MAAMC,UAA4BC,EAe9BC,gBAAAA,GACH,OAAOC,EAAuBC,KAClC,CAXA,WAAAC,CAAYC,GACRC,MAAMD,EAAME,WANhBC,OAAiBC,iBAAjB,GACAD,EAAAE,KAAiBC,YAAjB,GAEAH,EAAAE,KAAiBE,eAAjB,GAKIF,KAAKD,UAAYJ,EAAMI,UACvBC,KAAKC,KAAON,EAAMM,KAEdN,EAAMO,UAASF,KAAKE,QAAUP,EAAMO,QAC5C"}
@@ -1,2 +1,2 @@
1
- const e="https://checkoutshopper-live.adyen.com/checkoutshopper/",n="6.29.0",o="eslegacy",t=["amount","secondaryAmount","countryCode","environment","_environmentUrls","loadingContext","i18n","modules","order","session","clientKey","showPayButton","redirectFromTopWhenInIframe","onPaymentCompleted","onPaymentFailed","beforeRedirect","beforeSubmit","onSubmit","onActionHandled","onAdditionalDetails","onChange","onEnterKeyPressed","onError","onBalanceCheck","onOrderCancel","onOrderRequest","onOrderUpdated","onPaymentMethodsRequest"],r=6e4;export{r as DEFAULT_HTTP_TIMEOUT,e as FALLBACK_CONTEXT,t as GENERIC_OPTIONS,o as LIBRARY_BUNDLE_TYPE,n as LIBRARY_VERSION};
1
+ const e="https://checkoutshopper-live.adyen.com/checkoutshopper/",n="6.30.0",o="eslegacy",t=["amount","secondaryAmount","countryCode","environment","_environmentUrls","loadingContext","i18n","modules","order","session","clientKey","showPayButton","redirectFromTopWhenInIframe","onPaymentCompleted","onPaymentFailed","beforeRedirect","beforeSubmit","onSubmit","onActionHandled","onAdditionalDetails","onChange","onEnterKeyPressed","onError","onBalanceCheck","onOrderCancel","onOrderRequest","onOrderUpdated","onPaymentMethodsRequest"],r=6e4;export{r as DEFAULT_HTTP_TIMEOUT,e as FALLBACK_CONTEXT,t as GENERIC_OPTIONS,o as LIBRARY_BUNDLE_TYPE,n as LIBRARY_VERSION};
2
2
  //# sourceMappingURL=config.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adyen/adyen-web",
3
- "version": "6.29.0",
3
+ "version": "6.30.0",
4
4
  "license": "MIT",
5
5
  "homepage": "https://docs.adyen.com/checkout",
6
6
  "type": "module",
package/styles/adyen.css CHANGED
@@ -1,5 +1,5 @@
1
1
  .js-iframe{border:none;color-scheme:auto;height:100%;overflow:hidden;width:100%}
2
- .adyen-checkout-card-input__wrapper{position:relative}.adyen-checkout-card-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-card-input__form{opacity:1}.adyen-checkout-card-input__spinner{display:none;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.adyen-checkout-card-input__spinner--active{display:block}.adyen-checkout-card-input__form--loading{opacity:0}.adyen-checkout__input{display:block;max-height:100px}.adyen-checkout__field.adyen-checkout__card__cvc__input--hidden{display:none}.revolving-plan-installments__disabled{opacity:.4;pointer-events:none}.adyen-checkout__card-input__form{transition:opacity .25s ease-out}.adyen-checkout__card__cardNumber{max-width:400px}.adyen-checkout__card__cardNumber__input{padding-left:var(--adyen-sdk-spacer-060,12px)}.adyen-checkout__card__holderName{margin-bottom:0}.adyen-checkout__card-input .adyen-checkout__fieldset--billingAddress,.adyen-checkout__card__holderName,.adyen-checkout__card__kcp-authentication,.adyen-checkout__card__socialSecurityNumber,.adyen-checkout__installments{margin-top:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout__card-input.adyen-checkout__card-input--loading{pointer-events:none}.adyen-checkout__card__holderName:first-child{margin:0 0 var(--adyen-sdk-spacer-060,12px)}.adyen-checkout__field--cardNumber .adyen-checkout-card-input__icon--hidden,.adyen-checkout__field--cardNumber .adyen-checkout__input--error+.adyen-checkout-brand-wrapper,.adyen-checkout__field--cardNumber .adyen-checkout__input--valid:not(.adyen-checkout__card__cardNumber__input--noBrand)+.adyen-checkout-input__inline-validation--valid{display:none}.adyen-checkout__field--securityCode.adyen-checkout__field--error .adyen-checkout__card__cvc__hint,.adyen-checkout__field--securityCode.adyen-checkout__field--valid .adyen-checkout__card__cvc__hint{opacity:0}@keyframes cvc-indicate-location{0%{opacity:1}to{opacity:.3}}.adyen-checkout__label--focused .adyen-checkout__field__cvc--back-hint .adyen-checkout__card__cvc__hint--back .adyen-checkout__card__cvc__hint__location,.adyen-checkout__label--focused .adyen-checkout__field__cvc--front-hint .adyen-checkout__card__cvc__hint--front .adyen-checkout__card__cvc__hint__location{animation-direction:alternate;animation-duration:1s;animation-iteration-count:infinite;animation-name:cvc-indicate-location}.adyen-checkout__card__cvc__hint__wrapper{align-items:center;backface-visibility:visible;display:flex;height:100%;margin-right:var(--adyen-sdk-spacer-060,12px);position:absolute;right:0;transform:translateZ(0);transform-origin:center;transform-style:preserve-3d;transition:transform .3s cubic-bezier(.455,.03,.515,.955);width:27px;will-change:transform}.adyen-checkout__field__cvc--front-hint.adyen-checkout__card__cvc__hint__wrapper{transform:rotateY(180deg)}.adyen-checkout__card__cvc__hint{backface-visibility:hidden;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));position:absolute;transition:opacity .1s linear}.adyen-checkout__card__cvc__hint--front{transform:rotateY(180deg)}@media (prefers-reduced-motion:reduce){.adyen-checkout__card__cvc__hint__wrapper{transition:none}}.adyen-checkout__fieldset--revolving-plan .adyen-checkout__fieldset__fields{justify-content:left}.adyen-checkout__fieldset--revolving-plan .adyen-checkout__radio_group{display:flex;flex-direction:column}.adyen-checkout__fieldset--revolving-plan .adyen-checkout__radio_group__input-wrapper{margin-top:var(--adyen-sdk-spacer-080,20px)}.adyen-checkout__fieldset--revolving-plan .adyen-checkout__field--revolving-plan-installments{margin-left:var(--adyen-sdk-spacer-070,16px);position:relative;top:52px;width:30%}.adyen-checkout__card-input .adyen-checkout__fieldset--dual-brand-switcher{margin-top:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout__card-input .adyen-checkout__fieldset--dual-brand-switcher .adyen-checkout__fieldset__title{padding-bottom:0}.adyen-checkout__card-input .adyen-checkout__fieldset--dual-brand-switcher .adyen-checkout-form-instruction{margin:0}
2
+ .adyen-checkout-card-input__wrapper{position:relative}.adyen-checkout-card-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-card-input__form{opacity:1}.adyen-checkout-card-input__spinner{display:none;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.adyen-checkout-card-input__spinner--active{display:block}.adyen-checkout-card-input__form--loading{opacity:0}.adyen-checkout__input{display:block;max-height:100px}.adyen-checkout__field.adyen-checkout__card__cvc__input--hidden{display:none}.revolving-plan-installments__disabled{opacity:.4;pointer-events:none}.adyen-checkout__card__cardNumber{max-width:400px}.adyen-checkout__card__cardNumber__input{padding-left:var(--adyen-sdk-spacer-060,12px)}.adyen-checkout__card__holderName{margin-bottom:0}.adyen-checkout__card-input .adyen-checkout__fieldset--billingAddress,.adyen-checkout__card__holderName,.adyen-checkout__card__kcp-authentication,.adyen-checkout__card__socialSecurityNumber,.adyen-checkout__installments{margin-top:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout__card-input.adyen-checkout__card-input--loading{pointer-events:none}.adyen-checkout__card__holderName:first-child{margin:0 0 var(--adyen-sdk-spacer-060,12px)}.adyen-checkout__field--cardNumber .adyen-checkout__input--error+.adyen-checkout-brand-wrapper,.adyen-checkout__field--cardNumber .adyen-checkout__input--valid:not(.adyen-checkout__card__cardNumber__input--noBrand)+.adyen-checkout-input__inline-validation--valid{display:none}.adyen-checkout__field--securityCode.adyen-checkout__field--error .adyen-checkout__card__cvc__hint,.adyen-checkout__field--securityCode.adyen-checkout__field--valid .adyen-checkout__card__cvc__hint{opacity:0}@keyframes cvc-indicate-location{0%{opacity:1}to{opacity:.3}}.adyen-checkout__label--focused .adyen-checkout__field__cvc--back-hint .adyen-checkout__card__cvc__hint--back .adyen-checkout__card__cvc__hint__location,.adyen-checkout__label--focused .adyen-checkout__field__cvc--front-hint .adyen-checkout__card__cvc__hint--front .adyen-checkout__card__cvc__hint__location{animation-direction:alternate;animation-duration:1s;animation-iteration-count:infinite;animation-name:cvc-indicate-location}.adyen-checkout__card__cvc__hint__wrapper{align-items:center;backface-visibility:visible;display:flex;height:100%;margin-right:var(--adyen-sdk-spacer-060,12px);position:absolute;right:0;transform:translateZ(0);transform-origin:center;transform-style:preserve-3d;transition:transform .3s cubic-bezier(.455,.03,.515,.955);width:27px;will-change:transform}.adyen-checkout__field__cvc--front-hint.adyen-checkout__card__cvc__hint__wrapper{transform:rotateY(180deg)}.adyen-checkout__card__cvc__hint{backface-visibility:hidden;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));position:absolute;transition:opacity .1s linear}.adyen-checkout__card__cvc__hint--front{transform:rotateY(180deg)}@media (prefers-reduced-motion:reduce){.adyen-checkout__card__cvc__hint__wrapper{transition:none}}.adyen-checkout__fieldset--revolving-plan .adyen-checkout__fieldset__fields{justify-content:left}.adyen-checkout__fieldset--revolving-plan .adyen-checkout__radio_group{display:flex;flex-direction:column}.adyen-checkout__fieldset--revolving-plan .adyen-checkout__radio_group__input-wrapper{margin-top:var(--adyen-sdk-spacer-080,20px)}.adyen-checkout__fieldset--revolving-plan .adyen-checkout__field--revolving-plan-installments{margin-left:var(--adyen-sdk-spacer-070,16px);position:relative;top:52px;width:30%}.adyen-checkout__card-input .adyen-checkout__fieldset--dual-brand-switcher{margin-top:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout__card-input .adyen-checkout__fieldset--dual-brand-switcher .adyen-checkout__fieldset__title{padding-bottom:0}.adyen-checkout__card-input .adyen-checkout__fieldset--dual-brand-switcher .adyen-checkout-form-instruction{margin:0}
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}
@@ -8,8 +8,8 @@
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}
10
10
  .adyen-checkout__card__exp-date__input--oneclick{font-weight:var(--adyen-sdk-text-body-font-weight,400);line-height:var(--adyen-sdk-text-title-line-height,26px);overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}
11
- .adyen-checkout__radio_group+.adyen-checkout-input__inline-validation{display:none}.adyen-checkout__radio_group__input{opacity:0;position:absolute}.adyen-checkout__radio_group__label{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__label--focused .adyen-checkout__radio_group__label{color:inherit}.adyen-checkout__radio_group__label:before{background-color:var(--adyen-sdk-color-background-primary,#ffffff);border:var(--adyen-sdk-border-width-s,1px) solid var(--adyen-sdk-color-outline-tertiary,#8d95a3);border-radius:50%;content:"";height:var(--adyen-sdk-spacer-070,16px);left:0;position:absolute;top:var(--adyen-sdk-spacer-010,2px);transition:border-color .2s ease-out,box-shadow .2s ease-out;width:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout__radio_group__label:hover:before{box-shadow:0 0 0 var(--adyen-sdk-spacer-010,2px) var(--adyen-sdk-color-outline-primary-hover,#c9cdd3);cursor:pointer}.adyen-checkout__radio_group__label:after{background-color:var(--adyen-sdk-color-background-primary,#ffffff);border-radius:50%;box-shadow:0 1px 1px rgba(0,15,45,.25);content:"";display:block;height:var(--adyen-sdk-spacer-030,6px);left:5px;margin:0 auto;position:absolute;top:7px;transform:scale(0);transition:transform .2s ease-out;width:var(--adyen-sdk-spacer-030,6px)}.adyen-checkout__radio_group__label:hover{border-color:var(--adyen-sdk-color-label-primary,#00112c);cursor:pointer}.adyen-checkout__radio_group__input:checked+.adyen-checkout__radio_group__label:before,.adyen-checkout__radio_group__label--selected{background-color:var(--adyen-sdk-color-label-primary,#00112c);border:0;transition:all .2s ease-out}.adyen-checkout__radio_group__input:checked+.adyen-checkout__radio_group__label:after{transform:scale(1)}.adyen-checkout__radio_group__input:focus+.adyen-checkout__radio_group__label:before{border-color:var(--adyen-sdk-color-label-primary,#00112c)}.adyen-checkout__radio_group__input:checked+.adyen-checkout__radio_group__label:hover:before,.adyen-checkout__radio_group__input:checked:active+.adyen-checkout__radio_group__label:before,.adyen-checkout__radio_group__input:checked:focus+.adyen-checkout__radio_group__label:before,.adyen-checkout__radio_group__input:focus+.adyen-checkout__radio_group__label:before{box-shadow:0 0 0 var(--adyen-sdk-spacer-010,2px) var(--adyen-sdk-color-outline-tertiary,#8d95a3)}.adyen-checkout__radio_group__label.adyen-checkout__radio_group__label--invalid:before{border:var(--adyen-sdk-border-width-s,1px) solid var(--adyen-sdk-color-outline-critical,#e22d2d)}.adyen-checkout__radio_group--button{align-items:flex-start;align-self:stretch;display:flex;flex-wrap:wrap;gap:var(--adyen-sdk-spacer-070,16px);width:100%}.adyen-checkout__radio_group--button .adyen-checkout__radio_group__input-wrapper{display:flex;flex:1 0 0}.adyen-checkout__radio_group--button .adyen-checkout__radio_group__label:after{left:calc(var(--adyen-sdk-spacer-060, 12px) + 5px);position:absolute;top:calc(50% - var(--adyen-sdk-spacer-030, 6px)/2)}.adyen-checkout__radio_group--button .adyen-checkout__radio_group__label:before{left:calc(var(--adyen-sdk-spacer-060, 12px));position:absolute;top:calc(50% - var(--adyen-sdk-spacer-070, 16px)/2)}.adyen-checkout__radio_group--button .adyen-checkout__radio_group__label{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);padding-left: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+.adyen-checkout__radio_group__label:hover,.adyen-checkout__radio_group--button .adyen-checkout__radio_group__input:checked+.adyen-checkout__radio_group__label{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,.adyen-checkout__radio_group--button .adyen-checkout__radio_group__input:checked:focus+.adyen-checkout__radio_group__label{border-color:var(--adyen-sdk-color-outline-primary-active,#00112c);box-shadow:0 0 0 .5px var(--adyen-sdk-color-outline-primary-active,#00112c)}
12
- .adyen-checkout__dropdown__button-icon--left{flex-direction:row-reverse;justify-content:flex-end}.adyen-checkout__dropdown__button-icon--left>img{margin-left:0;margin-right:var(--adyen-sdk-spacer-060,12px)}.adyen-checkout__dropdown{max-width:100%;position:relative}.adyen-checkout__dropdown,.adyen-checkout__dropdown__button{font-size:var(--adyen-sdk-text-subtitle-font-size,1rem);width:100%}.adyen-checkout__dropdown__button{align-items:center;background:inherit;border-radius:inherit;color:var(--adyen-sdk-color-label-primary,#00112c);cursor:pointer;display:flex;height:var(--adyen-sdk-spacer-110,40px);line-height:var(--adyen-sdk-text-body-line-height,20px);outline:0;padding:0 var(--adyen-sdk-spacer-060,12px);text-decoration:none;transition:border .2s ease-out,box-shadow .2s ease-out;-webkit-user-select:none;-moz-user-select:none;user-select:none}[dir=rtl] .adyen-checkout__dropdown__button{padding:7px var(--adyen-sdk-spacer-060,12px) 7px var(--adyen-sdk-spacer-090,24px)}.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='17' fill='none' viewBox='0 0 16 17'%3E%3Cpath fill='%2300112c' fill-rule='evenodd' d='M4.47 6.47a.75.75 0 0 1 1.06 0L8 8.94l2.47-2.47a.75.75 0 0 1 1.06 1.06l-3 3a.75.75 0 0 1-1.06 0l-3-3a.75.75 0 0 1 0-1.06' clip-rule='evenodd'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;content:"";height:var(--adyen-sdk-spacer-030,6px);position:absolute;right:var(--adyen-sdk-spacer-070,16px);width:var(--adyen-sdk-spacer-040,8px)}[dir=rtl] .adyen-checkout__dropdown__button:after{left:var(--adyen-sdk-spacer-070,16px);right:auto}.adyen-checkout__dropdown__button--active:after{transform:rotate(180deg)}.adyen-checkout__dropdown__button--disabled{opacity:.4}.adyen-checkout__dropdown__button--readonly,.adyen-checkout__dropdown__button--readonly--active,.adyen-checkout__dropdown__button--readonly:focus,.adyen-checkout__dropdown__button--readonly:hover{background:var(--adyen-sdk-color-background-disabled,#eeeff1);border-color:transparent;color:var(--adyen-sdk-color-label-primary,#00112c);cursor:not-allowed}.adyen-checkout__dropdown__button--readonly:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='7' fill='none' viewBox='0 0 8 7'%3E%3Cpath fill='%23b9c4c9' d='M3.195 6.565a1 1 0 0 0 1.6 0l2.992-3.98a1 1 0 0 0-.8-1.602H1.013a1 1 0 0 0-.8 1.6z'/%3E%3C/svg%3E")}.adyen-checkout__dropdown__button--invalid{border-color:var(--adyen-sdk-color-outline-critical,#e22d2d)}.adyen-checkout__dropdown__button__icon{border-radius:3px;height:26px;margin-right:var(--adyen-sdk-spacer-060,12px);max-width:var(--adyen-sdk-spacer-110,40px)}.adyen-checkout__dropdown__button__text{flex-grow:1;overflow:hidden;pointer-events:none;text-align:left;text-overflow:ellipsis;white-space:nowrap}.adyen-checkout__dropdown__button__text-placeholder{color:var(--adyen-sdk-color-label-secondary,#5c687c)}.adyen-checkout__dropdown__button__secondary-text{margin-right:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout__filter-input{background:inherit;border:0;color:var(--adyen-sdk-color-label-primary,#00112c);font-family:inherit;font-size:var(--adyen-sdk-text-subtitle-font-size,1rem);height:100%;padding:0;width:100%}.adyen-checkout__filter-input:active,.adyen-checkout__filter-input:focus{outline:0}.adyen-checkout__filter-input[readonly]{border-color:transparent;color:var(--adyen-sdk-color-label-secondary,#5c687c)!important;cursor:not-allowed}.adyen-checkout__dropdown__list{background:var(--adyen-sdk-color-background-primary,#ffffff);border-radius:var(--adyen-sdk-border-radius-m,8px);box-shadow:0 var(--adyen-sdk-spacer-010,2px) 7px rgba(0,15,45,.3);display:none;list-style:none;margin:0 0 var(--adyen-sdk-spacer-120,48px);max-height:375px;overflow-y:auto;padding:0;position:absolute;width:100%;z-index:2}.adyen-checkout__dropdown__list.adyen-checkout__dropdown__list--active{display:block;margin-top:var(--adyen-sdk-spacer-010,2px)}.adyen-checkout__dropdown__element{align-items:center;border:var(--adyen-sdk-border-width-s,1px) solid transparent;cursor:pointer;display:flex;font-size:var(--adyen-sdk-text-body-font-size,.875rem);hyphens:auto;line-height:var(--adyen-sdk-text-body-line-height,20px);outline:0;padding:var(--adyen-sdk-spacer-040,8px);transition:background .2s ease-out,border-color .2s ease-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;word-break:break-word}.adyen-checkout__dropdown__element .adyen-checkout__icon{position:absolute;right:var(--adyen-sdk-spacer-040,8px)}.adyen-checkout__dropdown__element:last-child{border-bottom:0}.adyen-checkout__dropdown__element.adyen-checkout__dropdown__element--active{background:rgba(230,233,235,.6);border-radius:var(--adyen-sdk-border-radius-m,8px);box-shadow:inset 0 0 0 var(--adyen-sdk-border-width-s,1px) var(--adyen-sdk-color-outline-primary-active,#00112c)}.adyen-checkout__dropdown__element:hover{background:rgba(230,233,235,.6)}.adyen-checkout__dropdown__element.adyen-checkout__dropdown__element--selected{background:rgba(0,102,255,.1)}.adyen-checkout__dropdown__element.adyen-checkout__dropdown__element--selected:active,.adyen-checkout__dropdown__element.adyen-checkout__dropdown__element--selected:focus,.adyen-checkout__dropdown__element.adyen-checkout__dropdown__element--selected:hover{background:rgba(0,102,255,.15)}.adyen-checkout__dropdown__element--disabled{cursor:not-allowed;opacity:.4}.adyen-checkout__dropdown__element__icon{border-radius:var(--adyen-sdk-border-radius-s,4px);margin-right:var(--adyen-sdk-spacer-060,12px);max-height:26px;max-width:var(--adyen-sdk-spacer-110,40px)}.adyen-checkout__dropdown__element__text{flex-grow:1}.adyen-checkout__dropdown__element__secondary-text:not(:last-child){margin-right:var(--adyen-sdk-spacer-040,8px)}.adyen-checkout__dropdown__element__flag{margin-left:var(--adyen-sdk-spacer-040,8px);margin-right:var(--adyen-sdk-spacer-050,10px);max-height:18px;max-width:27px}.adyen-checkout__dropdown+.adyen-checkout-input__inline-validation{right:var(--adyen-sdk-spacer-100,32px)}
11
+ .adyen-checkout__radio_group+.adyen-checkout-input__inline-validation{display:none}.adyen-checkout__radio_group__input{opacity:0;position:absolute}.adyen-checkout__radio_group__label{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__label--focused .adyen-checkout__radio_group__label{color:inherit}.adyen-checkout__radio_group__label:before{background-color:var(--adyen-sdk-color-background-primary,#ffffff);border:var(--adyen-sdk-border-width-s,1px) solid var(--adyen-sdk-color-outline-tertiary,#8d95a3);border-radius:50%;content:"";height:var(--adyen-sdk-spacer-070,16px);left:0;position:absolute;top:var(--adyen-sdk-spacer-010,2px);transition:border-color .2s ease-out,box-shadow .2s ease-out;width:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout__radio_group__label:hover:before{box-shadow:0 0 0 var(--adyen-sdk-spacer-010,2px) var(--adyen-sdk-color-outline-primary-hover,#c9cdd3);cursor:pointer}.adyen-checkout__radio_group__label:after{background-color:var(--adyen-sdk-color-background-primary,#ffffff);border-radius:50%;box-shadow:0 1px 1px rgba(0,15,45,.25);content:"";display:block;height:var(--adyen-sdk-spacer-030,6px);left:5px;margin:0 auto;position:absolute;top:7px;transform:scale(0);transition:transform .2s ease-out;width:var(--adyen-sdk-spacer-030,6px)}.adyen-checkout__radio_group__label:hover{border-color:var(--adyen-sdk-color-label-primary,#00112c);cursor:pointer}.adyen-checkout__radio_group__input:checked+.adyen-checkout__radio_group__label:before{background-color:var(--adyen-sdk-color-label-primary,#00112c);border:0;transition:all .2s ease-out}.adyen-checkout__radio_group__input:checked+.adyen-checkout__radio_group__label:after{transform:scale(1)}.adyen-checkout__radio_group__input:focus+.adyen-checkout__radio_group__label:before{border-color:var(--adyen-sdk-color-label-primary,#00112c)}.adyen-checkout__radio_group__input:checked+.adyen-checkout__radio_group__label:hover:before,.adyen-checkout__radio_group__input:checked:active+.adyen-checkout__radio_group__label:before,.adyen-checkout__radio_group__input:checked:focus+.adyen-checkout__radio_group__label:before,.adyen-checkout__radio_group__input:focus+.adyen-checkout__radio_group__label:before{box-shadow:0 0 0 var(--adyen-sdk-spacer-010,2px) var(--adyen-sdk-color-outline-tertiary,#8d95a3)}.adyen-checkout__radio_group__label.adyen-checkout__radio_group__label--invalid:before{border:var(--adyen-sdk-border-width-s,1px) solid var(--adyen-sdk-color-outline-critical,#e22d2d)}.adyen-checkout__radio_group--button{align-items:flex-start;align-self:stretch;display:flex;flex-wrap:wrap;gap:var(--adyen-sdk-spacer-070,16px);width:100%}.adyen-checkout__radio_group--button .adyen-checkout__radio_group__input-wrapper{display:flex;flex:1 0 0}.adyen-checkout__radio_group--button .adyen-checkout__radio_group__label:after{left:calc(var(--adyen-sdk-spacer-060, 12px) + 5px);position:absolute;top:calc(50% - var(--adyen-sdk-spacer-030, 6px)/2)}.adyen-checkout__radio_group--button .adyen-checkout__radio_group__label:before{left:calc(var(--adyen-sdk-spacer-060, 12px));position:absolute;top:calc(50% - var(--adyen-sdk-spacer-070, 16px)/2)}.adyen-checkout__radio_group--button .adyen-checkout__radio_group__label{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);padding-left: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+.adyen-checkout__radio_group__label:hover,.adyen-checkout__radio_group--button .adyen-checkout__radio_group__input:checked+.adyen-checkout__radio_group__label{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,.adyen-checkout__radio_group--button .adyen-checkout__radio_group__input:checked:focus+.adyen-checkout__radio_group__label{border-color:var(--adyen-sdk-color-outline-primary-active,#00112c);box-shadow:0 0 0 .5px var(--adyen-sdk-color-outline-primary-active,#00112c)}
12
+ .adyen-checkout__dropdown{max-width:100%;position:relative}.adyen-checkout__dropdown,.adyen-checkout__dropdown__button{font-size:var(--adyen-sdk-text-subtitle-font-size,1rem);width:100%}.adyen-checkout__dropdown__button{align-items:center;background:inherit;border-radius:inherit;color:var(--adyen-sdk-color-label-primary,#00112c);cursor:pointer;display:flex;height:var(--adyen-sdk-spacer-110,40px);line-height:var(--adyen-sdk-text-body-line-height,20px);outline:0;padding:0 var(--adyen-sdk-spacer-060,12px);text-decoration:none;transition:border .2s ease-out,box-shadow .2s ease-out;-webkit-user-select:none;-moz-user-select:none;user-select:none}[dir=rtl] .adyen-checkout__dropdown__button{padding:7px var(--adyen-sdk-spacer-060,12px) 7px var(--adyen-sdk-spacer-090,24px)}.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='17' fill='none' viewBox='0 0 16 17'%3E%3Cpath fill='%2300112c' fill-rule='evenodd' d='M4.47 6.47a.75.75 0 0 1 1.06 0L8 8.94l2.47-2.47a.75.75 0 0 1 1.06 1.06l-3 3a.75.75 0 0 1-1.06 0l-3-3a.75.75 0 0 1 0-1.06' clip-rule='evenodd'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;content:"";height:var(--adyen-sdk-spacer-030,6px);position:absolute;right:var(--adyen-sdk-spacer-070,16px);width:var(--adyen-sdk-spacer-040,8px)}[dir=rtl] .adyen-checkout__dropdown__button:after{left:var(--adyen-sdk-spacer-070,16px);right:auto}.adyen-checkout__dropdown__button--active:after{transform:rotate(180deg)}.adyen-checkout__dropdown__button--disabled{opacity:.4}.adyen-checkout__dropdown__button--readonly,.adyen-checkout__dropdown__button--readonly--active,.adyen-checkout__dropdown__button--readonly:focus,.adyen-checkout__dropdown__button--readonly:hover{background:var(--adyen-sdk-color-background-disabled,#eeeff1);border-color:transparent;color:var(--adyen-sdk-color-label-primary,#00112c);cursor:not-allowed}.adyen-checkout__dropdown__button--readonly:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='7' fill='none' viewBox='0 0 8 7'%3E%3Cpath fill='%23b9c4c9' d='M3.195 6.565a1 1 0 0 0 1.6 0l2.992-3.98a1 1 0 0 0-.8-1.602H1.013a1 1 0 0 0-.8 1.6z'/%3E%3C/svg%3E")}.adyen-checkout__dropdown__button--invalid{border-color:var(--adyen-sdk-color-outline-critical,#e22d2d)}.adyen-checkout__dropdown__button__icon{border-radius:3px;height:26px;margin-right:var(--adyen-sdk-spacer-060,12px);max-width:var(--adyen-sdk-spacer-110,40px)}.adyen-checkout__dropdown__button__text{flex-grow:1;overflow:hidden;pointer-events:none;text-align:left;text-overflow:ellipsis;white-space:nowrap}.adyen-checkout__dropdown__button__text-placeholder{color:var(--adyen-sdk-color-label-secondary,#5c687c)}.adyen-checkout__dropdown__button__secondary-text{margin-right:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout__filter-input{background:inherit;border:0;color:var(--adyen-sdk-color-label-primary,#00112c);font-family:inherit;font-size:var(--adyen-sdk-text-subtitle-font-size,1rem);height:100%;padding:0;width:100%}.adyen-checkout__filter-input:active,.adyen-checkout__filter-input:focus{outline:0}.adyen-checkout__filter-input[readonly]{border-color:transparent;color:var(--adyen-sdk-color-label-secondary,#5c687c)!important;cursor:not-allowed}.adyen-checkout__dropdown__list{background:var(--adyen-sdk-color-background-primary,#ffffff);border-radius:var(--adyen-sdk-border-radius-m,8px);box-shadow:0 var(--adyen-sdk-spacer-010,2px) 7px rgba(0,15,45,.3);display:none;list-style:none;margin:0 0 var(--adyen-sdk-spacer-120,48px);max-height:375px;overflow-y:auto;padding:0;position:absolute;width:100%;z-index:2}.adyen-checkout__dropdown__list.adyen-checkout__dropdown__list--active{display:block;margin-top:var(--adyen-sdk-spacer-010,2px)}.adyen-checkout__dropdown__element{align-items:center;border:var(--adyen-sdk-border-width-s,1px) solid transparent;cursor:pointer;display:flex;font-size:var(--adyen-sdk-text-body-font-size,.875rem);hyphens:auto;line-height:var(--adyen-sdk-text-body-line-height,20px);outline:0;padding:var(--adyen-sdk-spacer-040,8px);transition:background .2s ease-out,border-color .2s ease-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;word-break:break-word}.adyen-checkout__dropdown__element .adyen-checkout__icon{position:absolute;right:var(--adyen-sdk-spacer-040,8px)}.adyen-checkout__dropdown__element:last-child{border-bottom:0}.adyen-checkout__dropdown__element.adyen-checkout__dropdown__element--active{background:rgba(230,233,235,.6);border-radius:var(--adyen-sdk-border-radius-m,8px);box-shadow:inset 0 0 0 var(--adyen-sdk-border-width-s,1px) var(--adyen-sdk-color-outline-primary-active,#00112c)}.adyen-checkout__dropdown__element:hover{background:rgba(230,233,235,.6)}.adyen-checkout__dropdown__element--disabled{cursor:not-allowed;opacity:.4}.adyen-checkout__dropdown__element__icon{border-radius:var(--adyen-sdk-border-radius-s,4px);margin-right:var(--adyen-sdk-spacer-060,12px);max-height:26px;max-width:var(--adyen-sdk-spacer-110,40px)}.adyen-checkout__dropdown__element__text{flex-grow:1}.adyen-checkout__dropdown__element__secondary-text:not(:last-child){margin-right:var(--adyen-sdk-spacer-040,8px)}.adyen-checkout__dropdown+.adyen-checkout-input__inline-validation{right:var(--adyen-sdk-spacer-100,32px)}
13
13
  .adyen-checkout__installments--revolving-plan .adyen-checkout__input-wrapper{background-color:transparent;border:none;box-shadow:none}.adyen-checkout__installments--revolving-plan .adyen-checkout__input-wrapper:active,.adyen-checkout__installments--revolving-plan .adyen-checkout__input-wrapper:active:hover,.adyen-checkout__installments--revolving-plan .adyen-checkout__input-wrapper:focus-within,.adyen-checkout__installments--revolving-plan .adyen-checkout__input-wrapper:focus-within:hover{box-shadow:none}.adyen-checkout__installments--revolving-plan .adyen-checkout__fieldset--revolving-plan{margin-top:-5px}
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)}
@@ -46,7 +46,7 @@
46
46
  .adyen-checkout-ctp__section>.adyen-checkout__field.adyen-checkout__field--shopperLogin{margin-bottom:var(--adyen-sdk-spacer-080,20px)}
47
47
  .adyen-checkout__content-separator{align-items:center;color:var(--adyen-sdk-color-label-primary,#00112c);display:flex;font-size:var(--adyen-sdk-text-body-font-size,.875rem);justify-content:center;line-height:var(--adyen-sdk-text-caption-line-height,18px);margin-bottom:var(--adyen-sdk-spacer-070,16px);margin-top:var(--adyen-sdk-spacer-070,16px);text-transform:capitalize;white-space:nowrap}.adyen-checkout__content-separator:after,.adyen-checkout__content-separator:before{border-bottom:1px solid var(--adyen-sdk-color-separator-primary,#dbdee2);content:"";flex:1}.adyen-checkout__content-separator:after{margin-left:var(--adyen-sdk-spacer-080,20px)}.adyen-checkout__content-separator:before{margin-right:var(--adyen-sdk-spacer-080,20px)}
48
48
  [class^=adyen-checkout],[class^=adyen-checkout] *,[class^=adyen-checkout] :after,[class^=adyen-checkout] :before,[class^=adyen-checkout]:after,[class^=adyen-checkout]:before{box-sizing:border-box}
49
- .adyen-checkout__threeds2__challenge,.adyen-checkout__threeds2__challenge-container{background-color:transparent;display:block;height:inherit;min-height:400px;overflow:hidden;position:relative;width:100%}.adyen-checkout__threeds2__challenge--01,.adyen-checkout__threeds2__challenge--01 .adyen-checkout__iframe--threeDSIframe{height:400px;width:250px}.adyen-checkout__threeds2__challenge--02,.adyen-checkout__threeds2__challenge--02 .adyen-checkout__iframe--threeDSIframe{height:400px;width:390px}.adyen-checkout__threeds2__challenge--03,.adyen-checkout__threeds2__challenge--03 .adyen-checkout__iframe--threeDSIframe{height:600px;width:500px}.adyen-checkout__threeds2__challenge--04,.adyen-checkout__threeds2__challenge--04 .adyen-checkout__iframe--threeDSIframe{height:400px;width:600px}.adyen-checkout__threeds2__challenge--05,.adyen-checkout__threeds2__challenge--05 .adyen-checkout__iframe--threeDSIframe{height:100%;width:100%}.adyen-checkout__iframe--threeDSIframe{border:0;left:0;position:absolute;top:0}
49
+ .adyen-checkout__threeds2__challenge{background-color:transparent;display:block;height:inherit;min-height:400px;overflow:hidden;position:relative;width:100%}.adyen-checkout__threeds2__challenge--01,.adyen-checkout__threeds2__challenge--01 .adyen-checkout__iframe--threeDSIframe{height:400px;width:250px}.adyen-checkout__threeds2__challenge--02,.adyen-checkout__threeds2__challenge--02 .adyen-checkout__iframe--threeDSIframe{height:400px;width:390px}.adyen-checkout__threeds2__challenge--03,.adyen-checkout__threeds2__challenge--03 .adyen-checkout__iframe--threeDSIframe{height:600px;width:500px}.adyen-checkout__threeds2__challenge--04,.adyen-checkout__threeds2__challenge--04 .adyen-checkout__iframe--threeDSIframe{height:400px;width:600px}.adyen-checkout__threeds2__challenge--05,.adyen-checkout__threeds2__challenge--05 .adyen-checkout__iframe--threeDSIframe{height:100%;width:100%}.adyen-checkout__iframe--threeDSIframe{border:0;left:0;position:absolute;top:0}
50
50
  .adyen-checkout__threeds2-challenge-error .adyen-checkout__status__icon{display:block;margin:var(--adyen-sdk-spacer-130,56px) auto var(--adyen-sdk-spacer-100,32px)}.adyen-checkout__threeds2-challenge-error .adyen-checkout__status__text{color:var(--adyen-sdk-color-label-critical,#c72727);font-size:var(--adyen-sdk-text-title-font-size,1rem);margin-bottom:var(--adyen-sdk-spacer-130,56px);text-align:center}
51
51
  .adyen-checkout__bacs--confirm{position:relative}.adyen-checkout__bacs--confirm .adyen-checkout-input__inline-validation--valid{display:none}.adyen-checkout__bacs .adyen-checkout__field--inactive{pointer-events:none}.adyen-checkout__bacs .adyen-checkout__bacs--edit{cursor:pointer;position:absolute;right:0;top:0}.adyen-checkout__bacs .adyen-checkout__bacs--edit-dropin{top:-50px}.adyen-checkout__bacs .adyen-checkout__bacs--edit .adyen-checkout__bacs--edit-button{background:none;border:none;color:var(--adyen-sdk-color-label-primary,#00112c);cursor:pointer;padding:0;text-align:end;text-decoration:underline}
52
52
  .adyen-checkout__details-table{list-style:none;margin:-1px auto 0;padding:0}.adyen-checkout__details-table__item{align-items:center;border-top:1px solid var(--adyen-sdk-color-separator-primary,#dbdee2);color:var(--adyen-sdk-color-label-primary,#00112c);display:flex;font-size:var(--adyen-sdk-text-body-font-size,.875rem);justify-content:space-between;padding:var(--adyen-sdk-spacer-070,16px) var(--adyen-sdk-spacer-090,24px);word-break:break-word}.adyen-checkout__details-table__item:last-child{margin-bottom:0}.adyen-checkout__details-table__label{font-weight:var(--adyen-sdk-text-body-font-weight,400);text-align:left}.adyen-checkout__details-table__label,.adyen-checkout__details-table__value{font-size:var(--adyen-sdk-text-body-font-size,.875rem);line-height:var(--adyen-sdk-text-body-line-height,20px);max-width:50%}.adyen-checkout__details-table__value{align-items:center;display:flex;font-weight:var(--adyen-sdk-text-body-strongest-font-weight,600);gap:var(--adyen-sdk-spacer-070,16px);text-align:right}
@@ -93,15 +93,14 @@ apple-pay-button{--apple-pay-button-width:100%;--apple-pay-button-height:48px;--
93
93
  .adyen-checkout__blik__helper{color:var(--adyen-sdk-color-label-primary,#00112c);font-size:var(--adyen-sdk-text-subtitle-font-size,1rem);font-weight:400;margin:0 0 var(--adyen-sdk-spacer-070,16px);padding:0}
94
94
  .adyen-checkout__loading-input__form{transition:opacity .25s ease-out}
95
95
  .adyen-checkout__fieldset--phone-input{direction:ltr}.adyen-checkout__fieldset--phone-input .adyen-checkout__fieldset__fields{gap:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout__fieldset--phone-input .adyen-checkout__fieldset__fields>.adyen-checkout__field{margin-bottom:0}.adyen-checkout-field--phone-prefix{width:144px}.adyen-checkout-field--phone-number{flex:1}
96
- .adyen-checkout__field--vpa{margin-bottom:0}
97
- .adyen-checkout_upi-mode-selection-text{font-size:var(--adyen-sdk-text-caption-font-size,.75rem);font-weight:var(--adyen-sdk-text-caption-font-weight,400);line-height:var(--adyen-sdk-text-caption-line-height,18px);margin-top:var(--adyen-sdk-spacer-000,0)}.adyen-checkout__segmented-control--upi-margin-bottom,.adyen-checkout_upi-mode-selection-text{margin-bottom:var(--adyen-sdk-spacer-070,16px)}#upi-area-vpa .adyen-checkout__alert-message--info,.adyen-checkout-upi-area-intent .adyen-checkout__alert-message--info,.adyen-checkout-upi-area-intent .adyen-checkout__button--pay{margin-top:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout-upi-area-qr-code .adyen-checkout__button--pay,.adyen-checkout-upi-instruction-label{margin-top:var(--adyen-sdk-spacer-000,0)}.adyen-checkout-upi-instruction-label{color:var(--adyen-sdk-color-label-secondary,#5c687c);display:flex;font-size:var(--adyen-sdk-text-caption-font-size,.75rem);font-weight:var(--adyen-sdk-text-caption-font-weight,400);line-height:var(--adyen-sdk-text-caption-line-height,18px);margin-bottom:var(--adyen-sdk-spacer-070,16px)}
96
+ .adyen-checkout-upi-area-intent .adyen-checkout__alert-message--info,.adyen-checkout-upi-area-intent .adyen-checkout__button--pay{margin-top:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout-upi-area-qr-code .adyen-checkout__button--pay,.adyen-checkout-upi-instruction-label{margin-top:var(--adyen-sdk-spacer-000,0)}.adyen-checkout-upi-instruction-label{color:var(--adyen-sdk-color-label-secondary,#5c687c);display:flex;font-size:var(--adyen-sdk-text-caption-font-size,.75rem);font-weight:var(--adyen-sdk-text-caption-font-weight,400);line-height:var(--adyen-sdk-text-caption-line-height,18px);margin-bottom:var(--adyen-sdk-spacer-070,16px)}
98
97
  .adyen-checkout__payment-method__header__title{align-items:center;background:none;border:none;color:var(--adyen-sdk-color-label-primary,#00112c);cursor:pointer;display:flex;flex-shrink:0;font-size:1em;font-weight:var(--adyen-sdk-text-body-stronger-font-weight,500);gap:var(--adyen-sdk-spacer-060,12px);margin-right:var(--adyen-sdk-spacer-070,16px);max-height:38px;max-width:100%;padding:0}[dir=rtl] .adyen-checkout__payment-method__header__title{margin-left:var(--adyen-sdk-spacer-070,16px);margin-right:var(--adyen-sdk-spacer-000,0)}.adyen-checkout__payment-method__header__title--standalone{cursor:default}.adyen-checkout__payment-method__radio{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:50%;height:var(--adyen-sdk-spacer-070,16px);left:var(--adyen-sdk-spacer-070,16px);transition:border-color .2s ease-out,box-shadow .2s ease-out;width:var(--adyen-sdk-spacer-070,16px)}[dir=rtl] .adyen-checkout__payment-method__radio{left:auto;right:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout__payment-method__radio:after{background-color:var(--adyen-sdk-color-background-primary,#ffffff);border-radius:50%;content:"";display:block;height:var(--adyen-sdk-spacer-040,8px);left:0;margin:0 auto;position:relative;right:0;top:50%;transform:translateY(-50%) scale(0);transition:transform .3s ease-out;width:var(--adyen-sdk-spacer-040,8px)}.adyen-checkout__payment-method__radio--selected{background-color:var(--adyen-sdk-color-label-primary,#00112c);border:0;transition:all .3s ease-out}.adyen-checkout__payment-method__radio--selected:hover{box-shadow:0 0 0 var(--adyen-sdk-spacer-010,2px) var(--adyen-sdk-color-outline-primary-hover,#c9cdd3)}.adyen-checkout__payment-method__radio--selected:after{transform:translateY(-50%) scale(1)}
99
98
  .adyen-checkout-upi-app-item{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);cursor:pointer;display:flex;gap:var(--adyen-sdk-spacer-070,16px);justify-content:space-between;padding:var(--adyen-sdk-spacer-050,10px) var(--adyen-sdk-spacer-070,16px);transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,border-radius .15s ease;width:100%}.adyen-checkout-upi-app-item__label{cursor:pointer;font-size:var(--adyen-sdk-text-body-font-size,.875rem)}.adyen-checkout-upi-app-item:hover:not(.adyen-checkout-upi-app-item--selected){border-color:var(--adyen-sdk-color-outline-primary-hover,#c9cdd3)}.adyen-checkout-upi-app-item--selected{border-color:var(--adyen-sdk-color-outline-primary-active,#00112c);box-shadow:0 0 0 .5px var(--adyen-sdk-color-outline-primary-active,#00112c);cursor:default}.adyen-checkout-upi-app-item--selected .adyen-checkout-expand-button--upi-app-item,.adyen-checkout-upi-app-item--selected .adyen-checkout-expand-button--upi-app-item>label{cursor:default}.adyen-checkout-upi-app-item .adyen-checkout-expand-button--upi-app-item{margin-right:0}.adyen-checkout-upi-app-item__checkmark{border-bottom:1.5px solid var(--adyen-sdk-color-label-primary,#00112c);border-right:1.5px solid var(--adyen-sdk-color-label-primary,#00112c);height:var(--adyen-sdk-spacer-060,12px);transform:rotate(45deg);width:var(--adyen-sdk-spacer-030,6px)}
100
99
  .adyen-checkout-upi-app-list{display:flex;flex-direction:column;gap:var(--adyen-sdk-spacer-070,16px);list-style:none;margin:0;padding:0}.adyen-checkout-upi-app-list--loading{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}
101
100
  .adyen-checkout__payto-component .adyen-checkout__fieldset,.adyen-checkout__payto-component .adyen-checkout__fieldset .adyen-checkout__fieldset__fields{margin-top:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout__payto-component .adyen-checkout-field--phone-prefix{width:98px}
102
101
  .adyen-checkout__payto-component--loading{pointer-events:none}
103
102
  .adyen-checkout__await--payto .adyen-checkout__details-table{margin-top:var(--adyen-sdk-spacer-070,16px);padding-top:var(--adyen-sdk-spacer-060,12px)}.adyen-checkout__await--payto .adyen-checkout__details-table__item:first-child{border-top:none}
104
- .adyen-checkout__giftcard-result__header{align-items:center;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;position:relative;width:100%}.adyen-checkout__giftcard-result__header__title{align-items:center;display:flex}.adyen-checkout__giftcard-result__name{margin-left:var(--adyen-sdk-spacer-040,8px)}.adyen-checkout__giftcard-result__balance{list-style:none;margin:var(--adyen-sdk-spacer-070,16px) 0 0;padding:0}.adyen-checkout__giftcard-result__balance__item{display:flex;justify-content:space-between;margin-bottom:var(--adyen-sdk-spacer-040,8px)}.adyen-checkout__giftcard-result__balance__item .adyen-checkout__giftcard-result__balance__title--transactionLimit{color:var(--adyen-sdk-color-label-secondary,#5c687c)}.adyen-checkout__giftcard-result__balance__item:last-child{margin-bottom:0}.adyen-checkout__giftcard-result__balance__value--amount{font-weight:700}.adyen-checkout__giftcard-result__remaining-balance{color:var(--adyen-sdk-color-label-secondary,#5c687c);font-size:var(--adyen-sdk-text-body-font-size,.875rem);line-height:var(--adyen-sdk-text-caption-line-height,18px);margin:var(--adyen-sdk-spacer-040,8px) auto 0;text-align:center}
103
+ .adyen-checkout__giftcard-result__balance{list-style:none;margin:var(--adyen-sdk-spacer-070,16px) 0 0;padding:0}.adyen-checkout__giftcard-result__balance__item{display:flex;justify-content:space-between;margin-bottom:var(--adyen-sdk-spacer-040,8px)}.adyen-checkout__giftcard-result__balance__item .adyen-checkout__giftcard-result__balance__title--transactionLimit{color:var(--adyen-sdk-color-label-secondary,#5c687c)}.adyen-checkout__giftcard-result__balance__item:last-child{margin-bottom:0}.adyen-checkout__giftcard-result__balance__value--amount{font-weight:700}.adyen-checkout__giftcard-result__remaining-balance{color:var(--adyen-sdk-color-label-secondary,#5c687c);font-size:var(--adyen-sdk-text-body-font-size,.875rem);line-height:var(--adyen-sdk-text-caption-line-height,18px);margin:var(--adyen-sdk-spacer-040,8px) auto 0;text-align:center}
105
104
  .adyen-checkout__voucher-result{border-radius:var(--adyen-sdk-border-radius-m,8px);position:relative;text-align:center}.adyen-checkout__voucher-result--bankTransfer .adyen-checkout__voucher-result-title{font-size:var(--adyen-sdk-text-title-font-size,1rem);font-weight:var(--adyen-sdk-text-title-font-weight,600);line-height:var(--adyen-sdk-text-title-line-height,26px);margin-bottom:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout__voucher-result--bankTransfer .adyen-checkout__voucher-result__bottom,.adyen-checkout__voucher-result--bankTransfer .adyen-checkout__voucher-result__top{background:var(--adyen-sdk-color-background-primary,#ffffff);border:var(--adyen-sdk-border-width-s,1px) solid var(--adyen-sdk-color-separator-primary,#dbdee2);display:flex;flex-direction:column}.adyen-checkout__voucher-result--bankTransfer .adyen-checkout__voucher-result__bottom .adyen-checkout__details-table,.adyen-checkout__voucher-result--bankTransfer .adyen-checkout__voucher-result__top .adyen-checkout__details-table{background:var(--adyen-sdk-color-background-secondary,#f7f7f8);border-radius:var(--adyen-sdk-border-radius-m,8px);margin:0}.adyen-checkout__voucher-result--bankTransfer .adyen-checkout__voucher-result__bottom .adyen-checkout__details-table__item:first-child,.adyen-checkout__voucher-result--bankTransfer .adyen-checkout__voucher-result__top .adyen-checkout__details-table__item:first-child{border-top:none}.adyen-checkout__voucher-result--bankTransfer .adyen-checkout__voucher-result__top{align-items:center;border-bottom:0;border-radius:var(--adyen-sdk-border-radius-m,8px) var(--adyen-sdk-border-radius-m,8px) 0 0;padding:var(--adyen-sdk-spacer-100,32px) var(--adyen-sdk-spacer-090,24px) var(--adyen-sdk-spacer-090,24px)}.adyen-checkout__voucher-result--bankTransfer .adyen-checkout__voucher-result__bottom{border-radius:0 0 var(--adyen-sdk-border-radius-m,8px) var(--adyen-sdk-border-radius-m,8px);border-top:0;padding:0 var(--adyen-sdk-spacer-090,24px) var(--adyen-sdk-spacer-100,32px)}.adyen-checkout__voucher-result--bankTransfer .adyen-checkout__voucher-result__image{align-items:center;display:flex;justify-content:center;margin-bottom:var(--adyen-sdk-spacer-090,24px);width:100%}.adyen-checkout__voucher-result--bankTransfer .adyen-checkout-link--voucher-result-instructions{display:inline-block}.adyen-checkout__voucher-result--bankTransfer .adyen-checkout__voucher-result__image__wrapper{display:block;height:var(--adyen-sdk-spacer-120,48px);position:relative}.adyen-checkout__voucher-result--bankTransfer .adyen-checkout__voucher-result__image__wrapper:after{border-radius:var(--adyen-sdk-border-radius-m,8px);box-shadow:var(--adyen-sdk-shadow-low,0 2px 4px rgba(0,17,44,.04),0 1px 2px rgba(0,17,44,.02));content:"";height:100%;left:0;position:absolute;top:0;width:100%}.adyen-checkout__voucher-result--bankTransfer .adyen-checkout__voucher-result__image__wrapper:nth-child(2){margin-left:0}.adyen-checkout__voucher-result--bankTransfer .adyen-checkout__voucher-result__image__brand,.adyen-checkout__voucher-result--bankTransfer .adyen-checkout__voucher-result__image__issuer{border-radius:var(--adyen-sdk-border-radius-m,8px);height:var(--adyen-sdk-spacer-120,48px)}.adyen-checkout__voucher-result--bankTransfer .adyen-checkout__voucher-result__amount{font-size:var(--adyen-sdk-text-title-l-font-size,1.5rem);font-weight:var(--adyen-sdk-text-title-l-font-weight,600);line-height:var(--adyen-sdk-text-title-l-line-height,34px);margin:0 auto var(--adyen-sdk-spacer-090,24px)}
106
105
  .adyen-checkout__bankTransfer__introduction{color:var(--adyen-sdk-color-label-primary,#00112c);font-size:var(--adyen-sdk-text-body-font-size,.875rem);font-weight:var(--adyen-sdk-text-body-font-weight,400);margin:0 0 var(--adyen-sdk-spacer-070,16px);padding:0}.adyen-checkout__bankTransfer__emailField{margin:0 0 var(--adyen-sdk-spacer-070,16px)}
107
106
  .adyen-checkout__adyen-giving .adyen-checkout__status__icon{display:block;margin:var(--adyen-sdk-spacer-130,56px) auto var(--adyen-sdk-spacer-100,32px)}.adyen-checkout__adyen-giving .adyen-checkout__status__text{color:var(--adyen-sdk-color-label-primary,#00112c);margin-bottom:var(--adyen-sdk-spacer-130,56px);text-align:center}.adyen-checkout__adyen-giving .adyen-checkout-disclaimer__label{color:var(--adyen-sdk-color-label-primary,#00112c);margin-top:0}.adyen-checkout__campaign{position:relative}.adyen-checkout__campaign-link:hover .adyen-checkout__campaign-description{text-decoration:underline}.adyen-checkout__campaign-logo{border:var(--adyen-sdk-border-width-s,1px) solid var(--adyen-sdk-color-outline-primary,#dbdee2);border-radius:var(--adyen-sdk-border-radius-s,4px);display:block;flex-shrink:0;height:var(--adyen-sdk-spacer-120,48px);-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;overflow:hidden;width:var(--adyen-sdk-spacer-120,48px)}.adyen-checkout__campaign-background-image{aspect-ratio:5/2;background-color:var(--adyen-sdk-color-label-primary,#00112c);background-position:50%;background-size:100%;border-radius:var(--adyen-sdk-border-radius-m,8px);margin-bottom:var(--adyen-sdk-spacer-060,12px);overflow:hidden;transition:background-size .6s ease-out}.adyen-checkout__campaign-background-image:hover{background-size:110%}.adyen-checkout__campaign-link{text-decoration:none}.adyen-checkout__campaign-link:hover{text-decoration:underline}.adyen-checkout__campaign-content{align-items:flex-start;display:flex;gap:var(--adyen-sdk-spacer-060,12px)}.adyen-checkout__campaign-description,.adyen-checkout__campaign-title{color:var(--adyen-sdk-color-label-primary,#00112c);margin:0}.adyen-checkout__campaign-title{font-size:var(--adyen-sdk-text-title-font-size,1rem);font-weight:var(--adyen-sdk-text-title-font-weight,600);line-height:var(--adyen-sdk-text-title-line-height,26px)}.adyen-checkout__campaign-cause{font-weight:var(--adyen-sdk-text-caption-font-weight,400);font-weight:var(--adyen-sdk-text-caption-stronger-font-weight,500)}.adyen-checkout__campaign-cause,.adyen-checkout__campaign-description{font-size:var(--adyen-sdk-text-caption-font-size,.75rem);line-height:var(--adyen-sdk-text-caption-line-height,18px)}.adyen-checkout__campaign-description{font-weight:var(--adyen-sdk-text-caption-font-weight,400);margin-top:var(--adyen-sdk-spacer-060,12px)}.adyen-checkout-roundup-description{color:var(--adyen-sdk-color-label-secondary,#5c687c);display:inline-block;font-size:var(--adyen-sdk-text-caption-font-size,.75rem);font-weight:var(--adyen-sdk-text-caption-font-weight,400);line-height:var(--adyen-sdk-text-caption-line-height,18px);padding-left:0}.adyen-checkout__adyen-giving-actions{display:flex;flex-direction:column;gap:var(--adyen-sdk-spacer-070,16px);margin-top:var(--adyen-sdk-spacer-070,16px);text-align:center}.adyen-checkout__button.adyen-checkout__button--donate{margin:var(--adyen-sdk-spacer-000,0)}.adyen-checkout__button.adyen-checkout__button--decline{display:block;margin:auto}
@@ -109,7 +108,7 @@ apple-pay-button{--apple-pay-button-width:100%;--apple-pay-button-height:48px;--
109
108
  .adyen-checkout__order-payment-methods-list{list-style:none;margin:0 auto var(--adyen-sdk-spacer-070,16px);padding:0}.adyen-checkout__order-payment-method{background:var(--adyen-sdk-color-background-primary,#ffffff);border:var(--adyen-sdk-border-width-s,1px) solid var(--adyen-sdk-color-outline-tertiary,#8d95a3);margin-top:-1px;position:relative;width:100%}.adyen-checkout__order-payment-method:first-child{border-top-left-radius:var(--adyen-sdk-border-radius-m,8px);border-top-right-radius:var(--adyen-sdk-border-radius-m,8px)}.adyen-checkout__order-payment-method:last-child{border-bottom-left-radius:var(--adyen-sdk-border-radius-m,8px);border-bottom-right-radius:var(--adyen-sdk-border-radius-m,8px)}.adyen-checkout__order-payment-method__header{align-items:center;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-stronger-font-weight,500);justify-content:space-between;padding:var(--adyen-sdk-spacer-070,16px);position:relative;transition:background .1s ease-out;width:100%}.adyen-checkout__order-payment-method__header .adyen-checkout__payment-method__header__title{padding:var(--adyen-sdk-spacer-000,0)}.adyen-checkout__order-payment-method__details{padding:0 var(--adyen-sdk-spacer-070,16px) var(--adyen-sdk-spacer-070,16px)}.adyen-checkout__order-payment-method__deducted-amount{display:flex;font-size:var(--adyen-sdk-text-subtitle-font-size,1rem);justify-content:space-between;line-height:var(--adyen-sdk-text-subtitle-font-size,1rem)}.adyen-checkout__order-payment-method__deducted-amount__label{font-size:var(--adyen-sdk-text-body-font-size,.875rem)}.adyen-checkout__order-payment-method__deducted-amount__value{font-weight:var(--adyen-sdk-text-body-stronger-font-weight,500)}.adyen-checkout__order-remaining-amount{border-radius:var(--adyen-sdk-border-radius-m,8px);color:var(--adyen-sdk-color-label-secondary,#5c687c);display:block;font-size:var(--adyen-sdk-text-body-font-size,.875rem);padding:var(--adyen-sdk-spacer-040,8px) var(--adyen-sdk-spacer-070,16px);width:100%}.adyen-checkout__order-remaining-amount strong{font-weight:700}
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
- .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{align-items:center;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--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__brands{align-items:center;display:flex;flex-basis:auto;flex-shrink:1;flex-wrap:wrap;gap:var(--adyen-sdk-spacer-020,4px);height:var(--adyen-sdk-spacer-090,24px);margin:var(--adyen-sdk-spacer-020,4px) var(--adyen-sdk-spacer-000,0);overflow:hidden;text-align:right}.adyen-checkout__payment-method__brands .adyen-checkout__payment-method__brand-number{color:var(--adyen-sdk-color-label-secondary,#5c687c);font-size:var(--adyen-sdk-text-body-font-size,.875rem)}.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__image__wrapper--disabled{opacity:.25}.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}
111
+ .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{align-items:center;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--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__brands{align-items:center;display:flex;flex-basis:auto;flex-shrink:1;flex-wrap:wrap;gap:var(--adyen-sdk-spacer-020,4px);height:var(--adyen-sdk-spacer-090,24px);margin:var(--adyen-sdk-spacer-020,4px) var(--adyen-sdk-spacer-000,0);overflow:hidden;text-align:right}.adyen-checkout__payment-method__brands .adyen-checkout__payment-method__brand-number{color:var(--adyen-sdk-color-label-secondary,#5c687c);font-size:var(--adyen-sdk-text-body-font-size,.875rem)}.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}
113
112
  .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}
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}
@@ -1,2 +0,0 @@
1
- import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useRef as r,useCallback as t,useEffect as a}from"../../../../external/preact/hooks/dist/hooks.js";import{vpaValidationRules as s}from"./validate.js";import l from"../../../internal/FormFields/InputText.js";import{useCoreContext as i}from"../../../../core/Context/CoreProvider.js";import d from"../../../../utils/useForm/useForm.js";import o from"../../../internal/FormFields/Field/Field.js";import{getErrorMessage as n}from"../../../../utils/getErrorMessage.js";const u=u=>{const{i18n:m}=i(),{handleChangeFor:p,triggerValidation:c,data:f,valid:v,errors:g,isValid:F}=d({schema:["virtualPaymentAddress"],defaultData:u.data,rules:s}),j=r({validateInput:null}),y=t(()=>{c()},[c]);return a(()=>{j.current.validateInput=y,u.onSetInputHandlers(j.current)},[y,u.onSetInputHandlers]),a(()=>{u.onChange({data:f,valid:v,errors:g,isValid:F})},[f,v,g,F]),e(o,{label:m.get("upi.collect.field.label"),errorMessage:n(m,g.virtualPaymentAddress,m.get("upi.collect.field.label"),!1),classNameModifiers:["vpa"],name:"virtualPaymentAddress"},e(l,{name:"virtualPaymentAddress",autocorrect:"off",spellcheck:!1,disabled:u.disabled,value:f.virtualPaymentAddress,onInput:p("virtualPaymentAddress","input"),onBlur:p("virtualPaymentAddress","blur"),"data-testid":"input-virtual-payment-address"}))};export{u as default};
2
- //# sourceMappingURL=VpaInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VpaInput.js","sources":["../../../../../../src/components/UPI/components/VpaInput/VpaInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useCallback, useEffect, useRef } from 'preact/hooks';\nimport { vpaValidationRules } from './validate';\nimport './VpaInput.scss';\nimport InputText from '../../../internal/FormFields/InputText';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport useForm from '../../../../utils/useForm';\nimport Field from '../../../internal/FormFields/Field';\nimport { getErrorMessage } from '../../../../utils/getErrorMessage';\n\nexport type OnChangeProps = { data: VpaInputDataState; valid; errors; isValid: boolean };\n\ninterface VpaInputProps {\n data?: {};\n disabled?: boolean;\n onChange({ data, valid, errors, isValid }: OnChangeProps): void;\n onSetInputHandlers(handlers: VpaInputHandlers): void;\n}\n\nexport interface VpaInputDataState {\n virtualPaymentAddress?: string;\n}\n\nexport type VpaInputHandlers = {\n validateInput(): void;\n};\n\nconst VpaInput = (props: VpaInputProps): h.JSX.Element => {\n const { i18n } = useCoreContext();\n const formSchema = ['virtualPaymentAddress'];\n const { handleChangeFor, triggerValidation, data, valid, errors, isValid } = useForm<VpaInputDataState>({\n schema: formSchema,\n defaultData: props.data,\n rules: vpaValidationRules\n });\n const vpaInputHandlersRef = useRef<VpaInputHandlers>({ validateInput: null });\n\n const validateInput = useCallback(() => {\n triggerValidation();\n }, [triggerValidation]);\n\n useEffect(() => {\n vpaInputHandlersRef.current.validateInput = validateInput;\n props.onSetInputHandlers(vpaInputHandlersRef.current);\n }, [validateInput, props.onSetInputHandlers]);\n\n useEffect(() => {\n props.onChange({ data, valid, errors, isValid });\n }, [data, valid, errors, isValid]);\n\n return (\n <Field\n label={i18n.get('upi.collect.field.label')}\n errorMessage={getErrorMessage(i18n, errors.virtualPaymentAddress, i18n.get('upi.collect.field.label'), false)}\n classNameModifiers={['vpa']}\n name=\"virtualPaymentAddress\"\n >\n <InputText\n name={'virtualPaymentAddress'}\n autocorrect={'off'}\n spellcheck={false}\n disabled={props.disabled}\n value={data.virtualPaymentAddress}\n onInput={handleChangeFor('virtualPaymentAddress', 'input')}\n onBlur={handleChangeFor('virtualPaymentAddress', 'blur')}\n data-testid={'input-virtual-payment-address'}\n />\n </Field>\n );\n};\n\nexport default VpaInput;\n"],"names":["VpaInput","props","i18n","useCoreContext","handleChangeFor","triggerValidation","data","valid","errors","isValid","useForm","schema","defaultData","rules","vpaValidationRules","vpaInputHandlersRef","useRef","validateInput","useCallback","useEffect","current","onSetInputHandlers","onChange","h","Field","label","get","errorMessage","getErrorMessage","virtualPaymentAddress","classNameModifiers","name","InputText","autocorrect","spellcheck","disabled","value","onInput","onBlur","data-testid"],"mappings":"giBA2BA,MAAMA,EAAYC,IACd,MAAMC,KAAEA,GAASC,KAEXC,gBAAEA,EAAeC,kBAAEA,EAAiBC,KAAEA,EAAIC,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,GAAYC,EAA2B,CACpGC,OAFe,CAAC,yBAGhBC,YAAaX,EAAMK,KACnBO,MAAOC,IAELC,EAAsBC,EAAyB,CAAEC,cAAe,OAEhEA,EAAgBC,EAAY,KAC9Bb,KACD,CAACA,IAWJ,OATAc,EAAU,KACNJ,EAAoBK,QAAQH,cAAgBA,EAC5ChB,EAAMoB,mBAAmBN,EAAoBK,UAC9C,CAACH,EAAehB,EAAMoB,qBAEzBF,EAAU,KACNlB,EAAMqB,SAAS,CAAEhB,OAAMC,QAAOC,SAAQC,aACvC,CAACH,EAAMC,EAAOC,EAAQC,IAGrBc,EAACC,EAAAA,CACGC,MAAOvB,EAAKwB,IAAI,2BAChBC,aAAcC,EAAgB1B,EAAMM,EAAOqB,sBAAuB3B,EAAKwB,IAAI,4BAA4B,GACvGI,mBAAoB,CAAC,OACrBC,KAAK,yBAELR,EAACS,EAAAA,CACGD,KAAM,wBACNE,YAAa,MACbC,YAAY,EACZC,SAAUlC,EAAMkC,SAChBC,MAAO9B,EAAKuB,sBACZQ,QAASjC,EAAgB,wBAAyB,SAClDkC,OAAQlC,EAAgB,wBAAyB,QACjDmC,cAAa"}