@adyen/adyen-web 6.18.1 → 6.19.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 (88) hide show
  1. package/dist/cjs/adyen.css +6 -3
  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 +14 -3
  6. package/dist/es/adyen.css +6 -3
  7. package/dist/es/adyen.css.map +1 -1
  8. package/dist/es/components/Ach/components/AchComponent.js +1 -1
  9. package/dist/es/components/Ach/components/AchComponent.js.map +1 -1
  10. package/dist/es/components/BankTransfer/BankTransfer.js +1 -1
  11. package/dist/es/components/BankTransfer/BankTransfer.js.map +1 -1
  12. package/dist/es/components/BankTransfer/components/BankTransferInput/BankTransferInput.js +1 -1
  13. package/dist/es/components/BankTransfer/components/BankTransferInput/BankTransferInput.js.map +1 -1
  14. package/dist/es/components/BankTransfer/components/BankTransferInput/validationRule.js +2 -0
  15. package/dist/es/components/BankTransfer/components/BankTransferInput/validationRule.js.map +1 -0
  16. package/dist/es/components/BankTransfer/components/BankTransferResult/BankTransferResult.js +1 -1
  17. package/dist/es/components/BankTransfer/components/BankTransferResult/BankTransferResult.js.map +1 -1
  18. package/dist/es/components/BankTransfer/components/BankTransferResult/BankTransferResultInstructions.js +2 -0
  19. package/dist/es/components/BankTransfer/components/BankTransferResult/BankTransferResultInstructions.js.map +1 -0
  20. package/dist/es/components/BankTransfer/components/BankTransferResult/BankTransferVoucher.js +2 -0
  21. package/dist/es/components/BankTransfer/components/BankTransferResult/BankTransferVoucher.js.map +1 -0
  22. package/dist/es/components/Card/components/CardInput/components/CardFieldsWrapper.js.map +1 -1
  23. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js +1 -1
  24. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
  25. package/dist/es/components/internal/Button/Button.js +1 -1
  26. package/dist/es/components/internal/Button/Button.js.map +1 -1
  27. package/dist/es/components/internal/Button/CopyIconButton.js +2 -0
  28. package/dist/es/components/internal/Button/CopyIconButton.js.map +1 -0
  29. package/dist/es/components/internal/DetailsTable/DetailsTable.js +1 -1
  30. package/dist/es/components/internal/DetailsTable/DetailsTable.js.map +1 -1
  31. package/dist/es/components/internal/FormFields/RadioGroupExtended/RadioGroupExtended.js.map +1 -1
  32. package/dist/es/components/internal/QRLoader/QRLoader.js.map +1 -1
  33. package/dist/es/components/internal/Tooltip/SingletonTooltipProvider.js +2 -0
  34. package/dist/es/components/internal/Tooltip/SingletonTooltipProvider.js.map +1 -0
  35. package/dist/es/components/internal/Tooltip/Tooltip.js +2 -0
  36. package/dist/es/components/internal/Tooltip/Tooltip.js.map +1 -0
  37. package/dist/es/components/internal/Tooltip/TooltipController.js +2 -0
  38. package/dist/es/components/internal/Tooltip/TooltipController.js.map +1 -0
  39. package/dist/es/components/internal/Voucher/Voucher.js.map +1 -1
  40. package/dist/es/core/Services/analytics/collect-id.js +1 -1
  41. package/dist/es/core/core.js +1 -1
  42. package/dist/es/external/preact/compat/dist/compat.js +2 -0
  43. package/dist/es/external/preact/compat/dist/compat.js.map +1 -0
  44. package/dist/es/index.d.ts +14 -3
  45. package/dist/es/utils/clipboard.js +1 -1
  46. package/dist/es/utils/clipboard.js.map +1 -1
  47. package/dist/es-legacy/adyen.css +6 -3
  48. package/dist/es-legacy/adyen.css.map +1 -1
  49. package/dist/es-legacy/components/Ach/components/AchComponent.js +1 -1
  50. package/dist/es-legacy/components/Ach/components/AchComponent.js.map +1 -1
  51. package/dist/es-legacy/components/BankTransfer/BankTransfer.js +1 -1
  52. package/dist/es-legacy/components/BankTransfer/BankTransfer.js.map +1 -1
  53. package/dist/es-legacy/components/BankTransfer/components/BankTransferInput/BankTransferInput.js +1 -1
  54. package/dist/es-legacy/components/BankTransfer/components/BankTransferInput/BankTransferInput.js.map +1 -1
  55. package/dist/es-legacy/components/BankTransfer/components/BankTransferInput/validationRule.js +2 -0
  56. package/dist/es-legacy/components/BankTransfer/components/BankTransferInput/validationRule.js.map +1 -0
  57. package/dist/es-legacy/components/BankTransfer/components/BankTransferResult/BankTransferResult.js +1 -1
  58. package/dist/es-legacy/components/BankTransfer/components/BankTransferResult/BankTransferResult.js.map +1 -1
  59. package/dist/es-legacy/components/BankTransfer/components/BankTransferResult/BankTransferResultInstructions.js +2 -0
  60. package/dist/es-legacy/components/BankTransfer/components/BankTransferResult/BankTransferResultInstructions.js.map +1 -0
  61. package/dist/es-legacy/components/BankTransfer/components/BankTransferResult/BankTransferVoucher.js +2 -0
  62. package/dist/es-legacy/components/BankTransfer/components/BankTransferResult/BankTransferVoucher.js.map +1 -0
  63. package/dist/es-legacy/components/Card/components/CardInput/components/CardFieldsWrapper.js.map +1 -1
  64. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js +1 -1
  65. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
  66. package/dist/es-legacy/components/internal/Button/Button.js +1 -1
  67. package/dist/es-legacy/components/internal/Button/Button.js.map +1 -1
  68. package/dist/es-legacy/components/internal/Button/CopyIconButton.js +2 -0
  69. package/dist/es-legacy/components/internal/Button/CopyIconButton.js.map +1 -0
  70. package/dist/es-legacy/components/internal/DetailsTable/DetailsTable.js +1 -1
  71. package/dist/es-legacy/components/internal/DetailsTable/DetailsTable.js.map +1 -1
  72. package/dist/es-legacy/components/internal/FormFields/RadioGroupExtended/RadioGroupExtended.js.map +1 -1
  73. package/dist/es-legacy/components/internal/QRLoader/QRLoader.js.map +1 -1
  74. package/dist/es-legacy/components/internal/Tooltip/SingletonTooltipProvider.js +2 -0
  75. package/dist/es-legacy/components/internal/Tooltip/SingletonTooltipProvider.js.map +1 -0
  76. package/dist/es-legacy/components/internal/Tooltip/Tooltip.js +2 -0
  77. package/dist/es-legacy/components/internal/Tooltip/Tooltip.js.map +1 -0
  78. package/dist/es-legacy/components/internal/Tooltip/TooltipController.js +2 -0
  79. package/dist/es-legacy/components/internal/Tooltip/TooltipController.js.map +1 -0
  80. package/dist/es-legacy/components/internal/Voucher/Voucher.js.map +1 -1
  81. package/dist/es-legacy/core/Services/analytics/collect-id.js +1 -1
  82. package/dist/es-legacy/core/core.js +1 -1
  83. package/dist/es-legacy/external/preact/compat/dist/compat.js +2 -0
  84. package/dist/es-legacy/external/preact/compat/dist/compat.js.map +1 -0
  85. package/dist/es-legacy/utils/clipboard.js +1 -1
  86. package/dist/es-legacy/utils/clipboard.js.map +1 -1
  87. package/package.json +1 -1
  88. package/styles/adyen.css +6 -3
@@ -1 +1 @@
1
- {"version":3,"file":"QRLoader.js","sources":["../../../../../src/components/internal/QRLoader/QRLoader.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport Countdown from '../Countdown';\nimport Button from '../Button';\nimport Spinner from '../Spinner';\nimport checkPaymentStatus from '../../../core/Services/payment-status';\nimport processResponse from '../../../core/ProcessResponse';\n\nimport './QRLoader.scss';\nimport { QRLoaderProps, QRLoaderState } from './types';\nimport copyToClipboard from '../../../utils/clipboard';\nimport AdyenCheckoutError from '../../../core/Errors/AdyenCheckoutError';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport ContentSeparator from '../ContentSeparator';\nimport { StatusObject } from '../Await/types';\nimport useImage from '../../../core/Context/useImage';\nimport { useA11yReporter } from '../../../core/Errors/useA11yReporter';\nimport useAutoFocus from '../../../utils/useAutoFocus';\nimport { ANALYTICS_DOWNLOAD_STR, ANALYTICS_QR_CODE_DOWNLOAD } from '../../../core/Analytics/constants';\nimport { PREFIX } from '../Icon/constants';\nimport { AnalyticsInfoEvent } from '../../../core/Analytics/AnalyticsInfoEvent';\n\nconst QRCODE_URL = 'utility/v1/barcode.png?type=qrCode&data=';\n\nclass QRLoader extends Component<QRLoaderProps, QRLoaderState> {\n private timeoutId;\n\n constructor(props) {\n super(props);\n\n this.state = {\n buttonStatus: 'default',\n completed: false,\n delay: props.delay,\n expired: false,\n loading: true,\n percentage: 100,\n timePassed: 0\n };\n }\n\n public static defaultProps = {\n delay: 2000,\n countdownTime: 15,\n onError: () => {},\n onComplete: () => {},\n throttleTime: 60000,\n classNameModifiers: [],\n throttledInterval: 10000,\n introduction: 'wechatpay.scanqrcode',\n timeToPay: 'wechatpay.timetopay',\n buttonLabel: 'openApp'\n };\n\n componentDidMount() {\n this.statusInterval();\n }\n\n componentWillUnmount() {\n clearTimeout(this.timeoutId);\n }\n\n public redirectToApp = (url: string | URL) => {\n window.location.assign(url);\n };\n\n // Retry until getting a complete response from the server, or it times out\n public statusInterval = (responseTime = 0) => {\n // If we are already in the final statuses, do not poll!\n if (this.state.expired || this.state.completed) return;\n\n this.setState(previous => ({ timePassed: previous.timePassed + this.props.delay + responseTime }));\n // Changes interval time to 10 seconds after 1 minute (60 seconds)\n const newDelay = this.state.timePassed >= this.props.throttleTime ? this.props.throttledInterval : this.state.delay;\n this.pollStatus(newDelay);\n };\n\n private pollStatus(delay: number) {\n clearTimeout(this.timeoutId);\n\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n this.timeoutId = setTimeout(async () => {\n // Wait for previous status call to finish.\n // Also taking the server response time into the consideration to calculate timePassed.\n const start = performance.now();\n await this.checkStatus();\n const end = performance.now();\n this.statusInterval(Math.round(end - start));\n }, delay);\n }\n\n private onTick = (time): void => {\n this.setState({ percentage: time.percentage });\n };\n\n private onTimeUp = (): void => {\n this.setState({ expired: true });\n clearTimeout(this.timeoutId);\n this.props.onError(new AdyenCheckoutError('ERROR', 'Payment Expired'));\n };\n\n private onComplete = (status: StatusObject): void => {\n clearTimeout(this.timeoutId);\n this.setState({ completed: true, loading: false });\n\n const state = {\n data: {\n details: { payload: status.props.payload },\n paymentData: this.props.paymentData\n }\n };\n\n this.props.onComplete(state, this);\n };\n\n private onError = (status: StatusObject): void => {\n clearTimeout(this.timeoutId);\n this.setState({ expired: true, loading: false });\n\n if (status.props.payload) {\n const state = {\n data: {\n details: { payload: status.props.payload },\n paymentData: this.props.paymentData\n }\n };\n this.props.onComplete(state, this);\n }\n\n const error = new AdyenCheckoutError('ERROR', 'error result with no payload in response');\n return this.props.onError(error);\n };\n\n private checkStatus = () => {\n const { paymentData, clientKey, loadingContext, throttledInterval } = this.props;\n\n return checkPaymentStatus(paymentData, clientKey, loadingContext, throttledInterval)\n .then(processResponse)\n .catch(response => ({ type: 'network-error', props: response }))\n .then((status: StatusObject) => {\n switch (status.type) {\n case 'success':\n this.onComplete(status);\n break;\n case 'error':\n this.onError(status);\n break;\n default:\n this.setState({ loading: false });\n }\n return status;\n });\n };\n\n render({ amount, url, brandLogo, brandName, countdownTime, type, onActionHandled }: QRLoaderProps, { expired, completed, loading }) {\n const { i18n, loadingContext } = useCoreContext();\n const getImage = useImage();\n\n const qrCodeImage = this.props.qrCodeData\n ? `${loadingContext}${QRCODE_URL}${this.props.qrCodeData}&clientKey=${this.props.clientKey}`\n : this.props.qrCodeImage;\n\n const finalState = (image, message) => {\n const status = i18n.get(message);\n useA11yReporter(status);\n return (\n <div className=\"adyen-checkout__qr-loader adyen-checkout__qr-loader--result\">\n <img\n className=\"adyen-checkout__qr-loader__icon adyen-checkout__qr-loader__icon--result\"\n src={getImage({ imageFolder: 'components/' })(image)}\n alt={status}\n />\n <div className=\"adyen-checkout__qr-loader__subtitle\">{status}</div>\n </div>\n );\n };\n\n if (expired) {\n return finalState('error', 'error.subtitle.payment');\n }\n\n if (completed) {\n return finalState('success', 'creditCard.success');\n }\n\n if (loading) {\n return (\n <div className=\"adyen-checkout__qr-loader\">\n {brandLogo && (\n <div className=\"adyen-checkout__qr-loader__brand-logo-wrapper\">\n <img alt={brandName} src={brandLogo} className=\"adyen-checkout__qr-loader__brand-logo\" />\n </div>\n )}\n <Spinner />\n </div>\n );\n }\n\n const timeToPayString = i18n.get(this.props.timeToPay).split('%@');\n\n const qrSubtitleRef = useAutoFocus();\n const classnames = this.props.classNameModifiers.map(m => `adyen-checkout__qr-loader--${m}`);\n\n return (\n <div className={`adyen-checkout__qr-loader adyen-checkout__qr-loader--${type} ${classnames.join(' ')}`}>\n {brandLogo && (\n <div className=\"adyen-checkout__qr-loader__brand-logo-wrapper\">\n <img src={brandLogo} alt={brandName} className=\"adyen-checkout__qr-loader__brand-logo\" />\n </div>\n )}\n\n {amount && amount.value && amount.currency && (\n <div className=\"adyen-checkout__qr-loader__payment_amount\">{i18n.amount(amount.value, amount.currency)}</div>\n )}\n\n {url && (\n <div className=\"adyen-checkout__qr-loader__app-link\">\n {this.props.redirectIntroduction && (\n <div className=\"adyen-checkout__qr-loader__subtitle\">{i18n.get(this.props.redirectIntroduction)}</div>\n )}\n <Button classNameModifiers={['qr-loader']} onClick={() => this.redirectToApp(url)} label={i18n.get(this.props.buttonLabel)} />\n <ContentSeparator />\n </div>\n )}\n\n {/* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */}\n <div ref={qrSubtitleRef} tabIndex={0} className=\"adyen-checkout__qr-loader__subtitle\">\n {typeof this.props.introduction === 'string' ? i18n.get(this.props.introduction) : this.props.introduction?.()}\n </div>\n\n <img\n src={qrCodeImage}\n alt={i18n.get('wechatpay.scanqrcode')}\n onLoad={() => {\n onActionHandled?.({\n componentType: this.props.type,\n actionDescription: 'qr-code-loaded'\n });\n }}\n />\n\n <div className=\"adyen-checkout__qr-loader__progress\">\n <span className=\"adyen-checkout__qr-loader__percentage\" style={{ width: `${this.state.percentage}%` }} />\n </div>\n\n <div className=\"adyen-checkout__qr-loader__countdown\">\n {timeToPayString[0]}&nbsp;\n <Countdown minutesFromNow={countdownTime} onTick={this.onTick} onCompleted={this.onTimeUp} />\n &nbsp;{timeToPayString[1]}\n </div>\n\n {this.props.instructions && (\n <div className=\"adyen-checkout__qr-loader__instructions\">\n {typeof this.props.instructions === 'string' ? i18n.get(this.props.instructions) : this.props.instructions?.()}\n </div>\n )}\n\n {this.props.copyBtn && (\n <div className=\"adyen-checkout__qr-loader__actions\">\n <Button\n inline\n variant=\"action\"\n onClick={(e, { complete }) => {\n copyToClipboard(this.props.qrCodeData);\n\n const event = new AnalyticsInfoEvent({\n type: ANALYTICS_DOWNLOAD_STR,\n target: ANALYTICS_QR_CODE_DOWNLOAD\n });\n this.props.onSubmitAnalytics(event);\n\n complete();\n }}\n icon={getImage({ imageFolder: 'components/' })(`${PREFIX}copy`)}\n label={i18n.get('button.copy')}\n />\n </div>\n )}\n </div>\n );\n }\n}\n\nexport default QRLoader;\n"],"names":["QRLoader","Component","componentDidMount","this","statusInterval","componentWillUnmount","clearTimeout","timeoutId","pollStatus","delay","setTimeout","async","start","performance","now","checkStatus","end","Math","round","render","amount","url","brandLogo","brandName","countdownTime","type","onActionHandled","expired","completed","loading","i18n","loadingContext","useCoreContext","getImage","useImage","qrCodeImage","props","qrCodeData","clientKey","finalState","image","message","status","get","useA11yReporter","h","div","className","img","src","imageFolder","alt","Spinner","timeToPayString","timeToPay","split","qrSubtitleRef","useAutoFocus","classnames","classNameModifiers","map","m","join","value","currency","redirectIntroduction","Button","onClick","redirectToApp","label","buttonLabel","ContentSeparator","ref","tabIndex","introduction","onLoad","componentType","actionDescription","span","style","width","state","percentage","Countdown","minutesFromNow","onTick","onCompleted","onTimeUp","instructions","copyBtn","inline","variant","e","complete","copyToClipboard","event","AnalyticsInfoEvent","ANALYTICS_DOWNLOAD_STR","target","ANALYTICS_QR_CODE_DOWNLOAD","onSubmitAnalytics","icon","PREFIX","constructor","super","_define_property","window","location","assign","responseTime","setState","previous","timePassed","newDelay","throttleTime","throttledInterval","time","onError","AdyenCheckoutError","onComplete","data","details","payload","paymentData","error","checkPaymentStatus","then","processResponse","catch","response","buttonStatus","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"QRLoader.js","sources":["../../../../../src/components/internal/QRLoader/QRLoader.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport Countdown from '../Countdown';\nimport Button from '../Button';\nimport Spinner from '../Spinner';\nimport checkPaymentStatus from '../../../core/Services/payment-status';\nimport processResponse from '../../../core/ProcessResponse';\n\nimport './QRLoader.scss';\nimport { QRLoaderProps, QRLoaderState } from './types';\nimport copyToClipboard from '../../../utils/clipboard';\nimport AdyenCheckoutError from '../../../core/Errors/AdyenCheckoutError';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport ContentSeparator from '../ContentSeparator';\nimport { StatusObject } from '../Await/types';\nimport useImage from '../../../core/Context/useImage';\nimport { useA11yReporter } from '../../../core/Errors/useA11yReporter';\nimport useAutoFocus from '../../../utils/useAutoFocus';\nimport { ANALYTICS_DOWNLOAD_STR, ANALYTICS_QR_CODE_DOWNLOAD } from '../../../core/Analytics/constants';\nimport { PREFIX } from '../Icon/constants';\nimport { AnalyticsInfoEvent } from '../../../core/Analytics/AnalyticsInfoEvent';\n\nconst QRCODE_URL = 'utility/v1/barcode.png?type=qrCode&data=';\n\nclass QRLoader extends Component<QRLoaderProps, QRLoaderState> {\n private timeoutId;\n\n constructor(props) {\n super(props);\n\n this.state = {\n buttonStatus: 'default',\n completed: false,\n delay: props.delay,\n expired: false,\n loading: true,\n percentage: 100,\n timePassed: 0\n };\n }\n\n public static defaultProps = {\n delay: 2000,\n countdownTime: 15,\n onError: () => {},\n onComplete: () => {},\n throttleTime: 60000,\n classNameModifiers: [],\n throttledInterval: 10000,\n introduction: 'wechatpay.scanqrcode',\n timeToPay: 'wechatpay.timetopay',\n buttonLabel: 'openApp'\n };\n\n componentDidMount() {\n this.statusInterval();\n }\n\n componentWillUnmount() {\n clearTimeout(this.timeoutId);\n }\n\n public redirectToApp = (url: string | URL) => {\n window.location.assign(url);\n };\n\n // Retry until getting a complete response from the server, or it times out\n public statusInterval = (responseTime = 0) => {\n // If we are already in the final statuses, do not poll!\n if (this.state.expired || this.state.completed) return;\n\n this.setState(previous => ({ timePassed: previous.timePassed + this.props.delay + responseTime }));\n // Changes interval time to 10 seconds after 1 minute (60 seconds)\n const newDelay = this.state.timePassed >= this.props.throttleTime ? this.props.throttledInterval : this.state.delay;\n this.pollStatus(newDelay);\n };\n\n private pollStatus(delay: number) {\n clearTimeout(this.timeoutId);\n\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n this.timeoutId = setTimeout(async () => {\n // Wait for previous status call to finish.\n // Also taking the server response time into the consideration to calculate timePassed.\n const start = performance.now();\n await this.checkStatus();\n const end = performance.now();\n this.statusInterval(Math.round(end - start));\n }, delay);\n }\n\n private onTick = (time): void => {\n this.setState({ percentage: time.percentage });\n };\n\n private onTimeUp = (): void => {\n this.setState({ expired: true });\n clearTimeout(this.timeoutId);\n this.props.onError(new AdyenCheckoutError('ERROR', 'Payment Expired'));\n };\n\n private onComplete = (status: StatusObject): void => {\n clearTimeout(this.timeoutId);\n this.setState({ completed: true, loading: false });\n\n const state = {\n data: {\n details: { payload: status.props.payload },\n paymentData: this.props.paymentData\n }\n };\n\n this.props.onComplete(state, this);\n };\n\n private onError = (status: StatusObject): void => {\n clearTimeout(this.timeoutId);\n this.setState({ expired: true, loading: false });\n\n if (status.props.payload) {\n const state = {\n data: {\n details: { payload: status.props.payload },\n paymentData: this.props.paymentData\n }\n };\n this.props.onComplete(state, this);\n }\n\n const error = new AdyenCheckoutError('ERROR', 'error result with no payload in response');\n return this.props.onError(error);\n };\n\n private checkStatus = () => {\n const { paymentData, clientKey, loadingContext, throttledInterval } = this.props;\n\n return checkPaymentStatus(paymentData, clientKey, loadingContext, throttledInterval)\n .then(processResponse)\n .catch(response => ({ type: 'network-error', props: response }))\n .then((status: StatusObject) => {\n switch (status.type) {\n case 'success':\n this.onComplete(status);\n break;\n case 'error':\n this.onError(status);\n break;\n default:\n this.setState({ loading: false });\n }\n return status;\n });\n };\n\n render({ amount, url, brandLogo, brandName, countdownTime, type, onActionHandled }: QRLoaderProps, { expired, completed, loading }) {\n const { i18n, loadingContext } = useCoreContext();\n const getImage = useImage();\n\n const qrCodeImage = this.props.qrCodeData\n ? `${loadingContext}${QRCODE_URL}${this.props.qrCodeData}&clientKey=${this.props.clientKey}`\n : this.props.qrCodeImage;\n\n const finalState = (image, message) => {\n const status = i18n.get(message);\n useA11yReporter(status);\n return (\n <div className=\"adyen-checkout__qr-loader adyen-checkout__qr-loader--result\">\n <img\n className=\"adyen-checkout__qr-loader__icon adyen-checkout__qr-loader__icon--result\"\n src={getImage({ imageFolder: 'components/' })(image)}\n alt={status}\n />\n <div className=\"adyen-checkout__qr-loader__subtitle\">{status}</div>\n </div>\n );\n };\n\n if (expired) {\n return finalState('error', 'error.subtitle.payment');\n }\n\n if (completed) {\n return finalState('success', 'creditCard.success');\n }\n\n if (loading) {\n return (\n <div className=\"adyen-checkout__qr-loader\">\n {brandLogo && (\n <div className=\"adyen-checkout__qr-loader__brand-logo-wrapper\">\n <img alt={brandName} src={brandLogo} className=\"adyen-checkout__qr-loader__brand-logo\" />\n </div>\n )}\n <Spinner />\n </div>\n );\n }\n\n const timeToPayString = i18n.get(this.props.timeToPay).split('%@');\n\n const qrSubtitleRef = useAutoFocus();\n const classnames = this.props.classNameModifiers.map(m => `adyen-checkout__qr-loader--${m}`);\n\n return (\n <div className={`adyen-checkout__qr-loader adyen-checkout__qr-loader--${type} ${classnames.join(' ')}`}>\n {brandLogo && (\n <div className=\"adyen-checkout__qr-loader__brand-logo-wrapper\">\n <img src={brandLogo} alt={brandName} className=\"adyen-checkout__qr-loader__brand-logo\" />\n </div>\n )}\n\n {amount && amount.value && amount.currency && (\n <div className=\"adyen-checkout__qr-loader__payment_amount\">{i18n.amount(amount.value, amount.currency)}</div>\n )}\n\n {url && (\n <div className=\"adyen-checkout__qr-loader__app-link\">\n {this.props.redirectIntroduction && (\n <div className=\"adyen-checkout__qr-loader__subtitle\">{i18n.get(this.props.redirectIntroduction)}</div>\n )}\n <Button classNameModifiers={['qr-loader']} onClick={() => this.redirectToApp(url)} label={i18n.get(this.props.buttonLabel)} />\n <ContentSeparator />\n </div>\n )}\n\n {/* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */}\n <div ref={qrSubtitleRef} tabIndex={0} className=\"adyen-checkout__qr-loader__subtitle\">\n {typeof this.props.introduction === 'string' ? i18n.get(this.props.introduction) : this.props.introduction?.()}\n </div>\n\n <img\n src={qrCodeImage}\n alt={i18n.get('wechatpay.scanqrcode')}\n onLoad={() => {\n onActionHandled?.({\n componentType: this.props.type,\n actionDescription: 'qr-code-loaded'\n });\n }}\n />\n\n <div className=\"adyen-checkout__qr-loader__progress\">\n <span className=\"adyen-checkout__qr-loader__percentage\" style={{ width: `${this.state.percentage}%` }} />\n </div>\n\n <div className=\"adyen-checkout__qr-loader__countdown\">\n {timeToPayString[0]}&nbsp;\n <Countdown minutesFromNow={countdownTime} onTick={this.onTick} onCompleted={this.onTimeUp} />\n &nbsp;{timeToPayString[1]}\n </div>\n\n {this.props.instructions && (\n <div className=\"adyen-checkout__qr-loader__instructions\">\n {typeof this.props.instructions === 'string' ? i18n.get(this.props.instructions) : this.props.instructions?.()}\n </div>\n )}\n\n {this.props.copyBtn && (\n <div className=\"adyen-checkout__qr-loader__actions\">\n <Button\n inline\n variant=\"action\"\n onClick={(e, { complete }) => {\n void copyToClipboard(this.props.qrCodeData);\n\n const event = new AnalyticsInfoEvent({\n type: ANALYTICS_DOWNLOAD_STR,\n target: ANALYTICS_QR_CODE_DOWNLOAD\n });\n this.props.onSubmitAnalytics(event);\n\n complete();\n }}\n icon={getImage({ imageFolder: 'components/' })(`${PREFIX}copy`)}\n label={i18n.get('button.copy')}\n />\n </div>\n )}\n </div>\n );\n }\n}\n\nexport default QRLoader;\n"],"names":["QRLoader","Component","componentDidMount","this","statusInterval","componentWillUnmount","clearTimeout","timeoutId","pollStatus","delay","setTimeout","async","start","performance","now","checkStatus","end","Math","round","render","amount","url","brandLogo","brandName","countdownTime","type","onActionHandled","expired","completed","loading","i18n","loadingContext","useCoreContext","getImage","useImage","qrCodeImage","props","qrCodeData","clientKey","finalState","image","message","status","get","useA11yReporter","h","div","className","img","src","imageFolder","alt","Spinner","timeToPayString","timeToPay","split","qrSubtitleRef","useAutoFocus","classnames","classNameModifiers","map","m","join","value","currency","redirectIntroduction","Button","onClick","redirectToApp","label","buttonLabel","ContentSeparator","ref","tabIndex","introduction","onLoad","componentType","actionDescription","span","style","width","state","percentage","Countdown","minutesFromNow","onTick","onCompleted","onTimeUp","instructions","copyBtn","inline","variant","e","complete","copyToClipboard","event","AnalyticsInfoEvent","ANALYTICS_DOWNLOAD_STR","target","ANALYTICS_QR_CODE_DOWNLOAD","onSubmitAnalytics","icon","PREFIX","constructor","super","_define_property","window","location","assign","responseTime","setState","previous","timePassed","newDelay","throttleTime","throttledInterval","time","onError","AdyenCheckoutError","onComplete","data","details","payload","paymentData","error","checkPaymentStatus","then","processResponse","catch","response","buttonStatus","defaultProps"],"mappings":"slCAuBA,MAAMA,UAAiBC,EA8BnBC,iBAAAA,GACIC,KAAKC,gBACT,CAEAC,oBAAAA,GACIC,aAAaH,KAAKI,UACtB,CAiBQC,UAAAA,CAAWC,GACfH,aAAaH,KAAKI,WAGlBJ,KAAKI,UAAYG,WAAWC,UAGxB,MAAMC,EAAQC,YAAYC,YACpBX,KAAKY,cACX,MAAMC,EAAMH,YAAYC,MACxBX,KAAKC,eAAea,KAAKC,MAAMF,EAAMJ,KACtCH,EACP,CAiEAU,MAAAA,EAAOC,OAAEA,EAAMC,IAAEA,EAAGC,UAAEA,EAASC,UAAEA,EAASC,cAAEA,EAAaC,KAAEA,EAAIC,gBAAEA,IAAkCC,QAAEA,EAAOC,UAAEA,EAASC,QAAEA,IACrH,MAAMC,KAAEA,EAAIC,eAAEA,GAAmBC,IAC3BC,EAAWC,IAEXC,EAAchC,KAAKiC,MAAMC,WACzB,GAAGN,4CAA8B5B,KAAKiC,MAAMC,wBAAwBlC,KAAKiC,MAAME,YAC/EnC,KAAKiC,MAAMD,YAEXI,EAAa,CAACC,EAAOC,KACvB,MAAMC,EAASZ,EAAKa,IAAIF,GAExB,OADAG,EAAgBF,GAEZG,EAACC,MAAAA,CAAIC,UAAU,+DACXF,EAACG,MAAAA,CACGD,UAAU,0EACVE,IAAKhB,EAAS,CAAEiB,YAAa,eAAxBjB,CAAyCO,GAC9CW,IAAKT,IAETG,EAACC,MAAAA,CAAIC,UAAU,uCAAuCL,KAKlE,GAAIf,EACA,OAAOY,EAAW,QAAS,0BAG/B,GAAIX,EACA,OAAOW,EAAW,UAAW,sBAGjC,GAAIV,EACA,OACIgB,EAACC,MAAAA,CAAIC,UAAU,6BACVzB,GACGuB,EAACC,MAAAA,CAAIC,UAAU,iDACXF,EAACG,MAAAA,CAAIG,IAAK5B,EAAW0B,IAAK3B,EAAWyB,UAAU,2CAGvDF,EAACO,EAAAA,OAKb,MAAMC,EAAkBvB,EAAKa,IAAIxC,KAAKiC,MAAMkB,WAAWC,MAAM,MAEvDC,EAAgBC,IAChBC,EAAavD,KAAKiC,MAAMuB,mBAAmBC,IAAIC,GAAK,8BAA8BA,KAExF,OACIhB,EAACC,MAAAA,CAAIC,UAAW,wDAAwDtB,KAAQiC,EAAWI,KAAK,QAC3FxC,GACGuB,EAACC,MAAAA,CAAIC,UAAU,iDACXF,EAACG,MAAAA,CAAIC,IAAK3B,EAAW6B,IAAK5B,EAAWwB,UAAU,2CAItD3B,GAAUA,EAAO2C,OAAS3C,EAAO4C,UAC9BnB,EAACC,MAAAA,CAAIC,UAAU,6CAA6CjB,EAAKV,OAAOA,EAAO2C,MAAO3C,EAAO4C,WAGhG3C,GACGwB,EAACC,MAAAA,CAAIC,UAAU,uCACV5C,KAAKiC,MAAM6B,sBACRpB,EAACC,MAAAA,CAAIC,UAAU,uCAAuCjB,EAAKa,IAAIxC,KAAKiC,MAAM6B,uBAE9EpB,EAACqB,EAAAA,CAAOP,mBAAoB,CAAC,aAAcQ,QAAS,IAAMhE,KAAKiE,cAAc/C,GAAMgD,MAAOvC,EAAKa,IAAIxC,KAAKiC,MAAMkC,eAC9GzB,EAAC0B,SAKT1B,EAACC,MAAAA,CAAI0B,IAAKhB,EAAeiB,SAAU,EAAG1B,UAAU,uCACR,iBAA5B5C,KAAKiC,MAAMsC,aAA4B5C,EAAKa,IAAIxC,KAAKiC,MAAMsC,cAAgBvE,KAAKiC,MAAMsC,kBAGlG7B,EAACG,MAAAA,CACGC,IAAKd,EACLgB,IAAKrB,EAAKa,IAAI,wBACdgC,OAAQ,KACJjD,IAAkB,CACdkD,cAAezE,KAAKiC,MAAMX,KAC1BoD,kBAAmB,sBAK/BhC,EAACC,MAAAA,CAAIC,UAAU,uCACXF,EAACiC,OAAAA,CAAK/B,UAAU,wCAAwCgC,MAAO,CAAEC,MAAO,GAAG7E,KAAK8E,MAAMC,kBAG1FrC,EAACC,MAAAA,CAAIC,UAAU,wCACVM,EAAgB,GAAG,IACpBR,EAACsC,EAAAA,CAAUC,eAAgB5D,EAAe6D,OAAQlF,KAAKkF,OAAQC,YAAanF,KAAKoF,WAAY,IACtFlC,EAAgB,IAG1BlD,KAAKiC,MAAMoD,cACR3C,EAACC,MAAAA,CAAIC,UAAU,2CACyB,iBAA5B5C,KAAKiC,MAAMoD,aAA4B1D,EAAKa,IAAIxC,KAAKiC,MAAMoD,cAAgBrF,KAAKiC,MAAMoD,kBAIrGrF,KAAKiC,MAAMqD,SACR5C,EAACC,MAAAA,CAAIC,UAAU,sCACXF,EAACqB,EAAAA,CACGwB,QAAAA,EACAC,QAAQ,SACRxB,QAAS,CAACyB,GAAKC,eACNC,EAAgB3F,KAAKiC,MAAMC,YAEhC,MAAM0D,EAAQ,IAAIC,EAAmB,CACjCvE,KAAMwE,EACNC,OAAQC,IAEZhG,KAAKiC,MAAMgE,kBAAkBL,GAE7BF,KAEJQ,KAAMpE,EAAS,CAAEiB,YAAa,eAAxBjB,CAAyC,GAAGqE,SAClDjC,MAAOvC,EAAKa,IAAI,kBAMxC,CA7PA,WAAA4D,CAAYnE,GACRoE,MAAMpE,GAHVqE,EAAAtG,KAAQI,iBAAR,GAqCAkG,EAAAtG,KAAOiE,gBAAiB/C,IACpBqF,OAAOC,SAASC,OAAOvF,KAI3BoF,EAAAtG,KAAOC,iBAAiB,CAACyG,EAAe,KAEpC,GAAI1G,KAAK8E,MAAMtD,SAAWxB,KAAK8E,MAAMrD,UAAW,OAEhDzB,KAAK2G,SAASC,KAAeC,WAAYD,EAASC,WAAa7G,KAAKiC,MAAM3B,MAAQoG,KAElF,MAAMI,EAAW9G,KAAK8E,MAAM+B,YAAc7G,KAAKiC,MAAM8E,aAAe/G,KAAKiC,MAAM+E,kBAAoBhH,KAAK8E,MAAMxE,MAC9GN,KAAKK,WAAWyG,KAiBpBR,EAAAtG,KAAQkF,SAAU+B,IACdjH,KAAK2G,SAAS,CAAE5B,WAAYkC,EAAKlC,eAGrCuB,OAAQlB,WAAW,KACfpF,KAAK2G,SAAS,CAAEnF,SAAS,IACzBrB,aAAaH,KAAKI,WAClBJ,KAAKiC,MAAMiF,QAAQ,IAAIC,EAAmB,QAAS,sBAGvDb,EAAAtG,KAAQoH,aAAc7E,IAClBpC,aAAaH,KAAKI,WAClBJ,KAAK2G,SAAS,CAAElF,WAAW,EAAMC,SAAS,IAE1C,MAAMoD,EAAQ,CACVuC,KAAM,CACFC,QAAS,CAAEC,QAAShF,EAAON,MAAMsF,SACjCC,YAAaxH,KAAKiC,MAAMuF,cAIhCxH,KAAKiC,MAAMmF,WAAWtC,EAAO9E,QAGjCsG,EAAAtG,KAAQkH,UAAW3E,IAIf,GAHApC,aAAaH,KAAKI,WAClBJ,KAAK2G,SAAS,CAAEnF,SAAS,EAAME,SAAS,IAEpCa,EAAON,MAAMsF,QAAS,CACtB,MAAMzC,EAAQ,CACVuC,KAAM,CACFC,QAAS,CAAEC,QAAShF,EAAON,MAAMsF,SACjCC,YAAaxH,KAAKiC,MAAMuF,cAGhCxH,KAAKiC,MAAMmF,WAAWtC,EAAO9E,KACjC,CAEA,MAAMyH,EAAQ,IAAIN,EAAmB,QAAS,4CAC9C,OAAOnH,KAAKiC,MAAMiF,QAAQO,KAG9BnB,OAAQ1F,cAAc,KAClB,MAAM4G,YAAEA,EAAWrF,UAAEA,EAASP,eAAEA,EAAcoF,kBAAEA,GAAsBhH,KAAKiC,MAE3E,OAAOyF,EAAmBF,EAAarF,EAAWP,EAAgBoF,GAC7DW,KAAKC,GACLC,MAAMC,IAAAA,CAAexG,KAAM,gBAAiBW,MAAO6F,KACnDH,KAAMpF,IACH,OAAQA,EAAOjB,MACX,IAAK,UACDtB,KAAKoH,WAAW7E,GAChB,MACJ,IAAK,QACDvC,KAAKkH,QAAQ3E,GACb,MACJ,QACIvC,KAAK2G,SAAS,CAAEjF,SAAS,IAEjC,OAAOa,MAxHfvC,KAAK8E,MAAQ,CACTiD,aAAc,UACdtG,WAAW,EACXnB,MAAO2B,EAAM3B,MACbkB,SAAS,EACTE,SAAS,EACTqD,WAAY,IACZ8B,WAAY,EAEpB,EAEAP,EAjBEzG,EAiBYmI,eAAe,CACzB1H,MAAO,IACPe,cAAe,GACf6F,QAAS,OACTE,WAAY,OACZL,aAAc,IACdvD,mBAAoB,GACpBwD,kBAAmB,IACnBzC,aAAc,uBACdpB,UAAW,sBACXgB,YAAa"}
@@ -0,0 +1,2 @@
1
+ import{createContext as t,createElement as e}from"../../../external/preact/dist/preact.js";import{useState as o,useRef as r,useEffect as s,useMemo as i,useContext as n}from"../../../external/preact/hooks/dist/hooks.js";import{Tooltip as l}from"./Tooltip.js";import{TooltipController as a}from"./TooltipController.js";const c=t(null),u=({children:t})=>{const[n,u]=o(null),p=r(a.tooltipId),d=r(!1),[,m]=o(0);s(()=>{const t=()=>{a.canRegisterTooltipHandler()?(a.registerTooltipHandler(u),d.current=!0,m(t=>t+1)):(d.current=!1,m(t=>t+1))};t();const e=a.onPrimaryReset(()=>{t()});return()=>{e(),d.current&&a.reset()}},[]);const T=i(()=>({showTooltip:t=>a.showTooltip(t),hideTooltip:t=>a.hideTooltip(t),id:p.current}),[]);return e(c.Provider,{value:T},t,d.current&&e(l,{id:p.current,...n}))},p=()=>{const t=n(c);if(!t)throw new Error("useTooltip must be used within a TooltipProvider");return t};export{u as SingletonTooltipProvider,p as useTooltip};
2
+ //# sourceMappingURL=SingletonTooltipProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SingletonTooltipProvider.js","sources":["../../../../../src/components/internal/Tooltip/SingletonTooltipProvider.tsx"],"sourcesContent":["import { createContext, h, ComponentChildren } from 'preact';\nimport { useState, useEffect, useContext, useRef, useMemo } from 'preact/hooks';\nimport { Tooltip } from './Tooltip';\nimport { TooltipProps } from './types';\nimport { TooltipController } from './TooltipController';\n\ntype TooltipContextValue = {\n id: string;\n showTooltip: (state?: TooltipProps) => void;\n hideTooltip: () => void;\n};\n\nconst TooltipContext = createContext<TooltipContextValue | null>(null);\n\nconst SingletonTooltipProvider = ({ children }: { children?: ComponentChildren }) => {\n const [tooltipProps, setTooltipProps] = useState<TooltipProps | null>(null);\n const tooltipId = useRef(TooltipController.tooltipId);\n /**\n * We use `useRef` instead of `useState` to avoid triggering the `useEffect` again\n * (which would happen if `isPrimary` were a state value in the `useEffect` dependency list).\n * Because we need `TooltipController.onPrimaryReset` to add an event listener ONCE, we don't want\n * to re-run `useEffect` and register it again on every state update.\n *\n * However, we do need a way to re-render, hence added `forceUpdate`.\n */\n const isPrimaryInstanceRef = useRef(false);\n const [, forceUpdate] = useState(0);\n\n useEffect(() => {\n const tryRegister = () => {\n if (TooltipController.canRegisterTooltipHandler()) {\n TooltipController.registerTooltipHandler(setTooltipProps);\n isPrimaryInstanceRef.current = true;\n forceUpdate(r => r + 1);\n } else {\n isPrimaryInstanceRef.current = false;\n forceUpdate(r => r + 1);\n }\n };\n\n tryRegister();\n\n const unsubscribe = TooltipController.onPrimaryReset(() => {\n tryRegister();\n });\n\n return () => {\n // When the primary instance is unmounted, the only tooltip component is gone.\n // So we need to notify other instances, one of the instances should\n // become the primary instance to mount the tooltip component again.\n unsubscribe();\n if (isPrimaryInstanceRef.current) {\n TooltipController.reset();\n }\n };\n }, []);\n\n const contextValue = useMemo(\n () => ({\n showTooltip: (state?: TooltipProps) => TooltipController.showTooltip(state),\n hideTooltip: (state?: TooltipProps) => TooltipController.hideTooltip(state),\n id: tooltipId.current\n }),\n []\n );\n\n return (\n <TooltipContext.Provider value={contextValue}>\n {children}\n {isPrimaryInstanceRef.current && <Tooltip id={tooltipId.current} {...tooltipProps} />}\n </TooltipContext.Provider>\n );\n};\n\nconst useTooltip = () => {\n const ctx = useContext(TooltipContext);\n if (!ctx) {\n throw new Error('useTooltip must be used within a TooltipProvider');\n }\n return ctx;\n};\n\nexport { SingletonTooltipProvider, useTooltip };\n"],"names":["TooltipContext","createContext","SingletonTooltipProvider","children","tooltipProps","setTooltipProps","useState","tooltipId","useRef","TooltipController","isPrimaryInstanceRef","forceUpdate","useEffect","tryRegister","canRegisterTooltipHandler","registerTooltipHandler","current","r","unsubscribe","onPrimaryReset","reset","contextValue","useMemo","showTooltip","state","hideTooltip","id","h","Provider","value","Tooltip","useTooltip","ctx","useContext","Error"],"mappings":"6TAYA,MAAMA,EAAiBC,EAA0C,MAE3DC,EAA2B,EAAGC,eAChC,MAAOC,EAAcC,GAAmBC,EAA8B,MAChEC,EAAYC,EAAOC,EAAkBF,WASrCG,EAAuBF,GAAO,KAC3BG,GAAeL,EAAS,GAEjCM,EAAU,KACN,MAAMC,EAAc,KACZJ,EAAkBK,6BAClBL,EAAkBM,uBAAuBV,GACzCK,EAAqBM,SAAU,EAC/BL,EAAYM,GAAKA,EAAI,KAErBP,EAAqBM,SAAU,EAC/BL,EAAYM,GAAKA,EAAI,KAI7BJ,IAEA,MAAMK,EAAcT,EAAkBU,eAAe,KACjDN,MAGJ,MAAO,KAIHK,IACIR,EAAqBM,SACrBP,EAAkBW,UAG3B,IAEH,MAAMC,EAAeC,EACjB,KAAA,CACIC,YAAcC,GAAyBf,EAAkBc,YAAYC,GACrEC,YAAcD,GAAyBf,EAAkBgB,YAAYD,GACrEE,GAAInB,EAAUS,UAElB,IAGJ,OACIW,EAAC3B,EAAe4B,SAAQ,CAACC,MAAOR,GAC3BlB,EACAO,EAAqBM,SAAWW,EAACG,EAAAA,CAAQJ,GAAInB,EAAUS,WAAaZ,MAK3E2B,EAAa,KACf,MAAMC,EAAMC,EAAWjC,GACvB,IAAKgC,EACD,MAAM,IAAIE,MAAM,oDAEpB,OAAOF"}
@@ -0,0 +1,2 @@
1
+ import{createElement as e}from"../../../external/preact/dist/preact.js";import{useRef as t,useState as o,useLayoutEffect as r,useEffect as n}from"../../../external/preact/hooks/dist/hooks.js";import{createPortal as i}from"../../../external/preact/compat/dist/compat.js";import s from"../../../_virtual/index.js";function c(c){const a=t(null),[l,d]=o("top"),[f,p]=o(!0),[u,h]=o({});return r(()=>{if(!c?.visible||!c?.anchorRef?.current||!a.current)return;const e=()=>{const e=c.anchorRef.current,t=a.current,o=e.getBoundingClientRect(),r=o.top+window.scrollY,n=o.left+window.scrollX,i=o.top,s=window.innerHeight-o.bottom;let l;l=i>=t.offsetHeight+8?"top":s>=t.offsetHeight+8||s>i?"bottom":"top";const f={position:"absolute",left:n+o.width/2,transform:"translateX(-50%)",willChange:"transform"};f.top="top"===l?r-t.offsetHeight-8:r+o.height+8,h(f),d(l)};return window.addEventListener("scroll",e,{capture:!0}),window.addEventListener("resize",e),e(),()=>{window.removeEventListener("scroll",e,{capture:!0}),window.removeEventListener("resize",e)}},[c?.visible,c?.anchorRef]),n(()=>{const e=c?.anchorRef?.current;if(e&&"IntersectionObserver"in window){const t=new IntersectionObserver(([e])=>{p(e.isIntersecting)},{threshold:.1});return t.observe(e),()=>{t.disconnect()}}},[c?.anchorRef]),i(e("div",{id:c.id,role:"tooltip","aria-live":"polite",className:s({"adyen-checkout-tooltip":!0,"adyen-checkout-tooltip--hidden":!c.visible||!f,[`adyen-checkout-tooltip--${l}`]:!0}),ref:a,style:u},c.text,e("div",{className:`adyen-checkout-tooltip-arrow adyen-checkout-tooltip-arrow--${l}`})),document.body)}export{c as Tooltip};
2
+ //# sourceMappingURL=Tooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tooltip.js","sources":["../../../../../src/components/internal/Tooltip/Tooltip.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useRef, useEffect, useState, useLayoutEffect } from 'preact/hooks';\nimport { createPortal } from 'preact/compat';\nimport cx from 'classnames';\nimport './Tooltip.scss';\nimport { TooltipPosition, TooltipProps } from './types';\n\n// 8px space between the target and the tooltip\nconst OFFSET = 8;\n\nexport function Tooltip(props: TooltipProps) {\n const tooltipRef = useRef<HTMLDivElement>(null);\n const [position, setPosition] = useState<TooltipPosition>('top');\n const [isAnchorVisible, setIsAnchorVisible] = useState<boolean>(true);\n const [style, setStyle] = useState({});\n\n useLayoutEffect(() => {\n if (!props?.visible || !props?.anchorRef?.current || !tooltipRef.current) return;\n\n const updatePosition = () => {\n const anchorEl = props.anchorRef.current;\n const tooltipEl = tooltipRef.current;\n const anchorRect = anchorEl.getBoundingClientRect();\n\n const offsetTop = anchorRect.top + window.scrollY;\n const offsetLeft = anchorRect.left + window.scrollX;\n const spaceAbove = anchorRect.top;\n const spaceBelow = window.innerHeight - anchorRect.bottom;\n\n let newPosition: TooltipPosition;\n if (spaceAbove >= tooltipEl.offsetHeight + OFFSET) {\n newPosition = 'top';\n } else if (spaceBelow >= tooltipEl.offsetHeight + OFFSET) {\n newPosition = 'bottom';\n } else {\n newPosition = spaceBelow > spaceAbove ? 'bottom' : 'top';\n }\n\n const newStyle: any = {\n position: 'absolute',\n left: offsetLeft + anchorRect.width / 2,\n transform: 'translateX(-50%)',\n willChange: 'transform'\n };\n newStyle.top = newPosition === 'top' ? offsetTop - tooltipEl.offsetHeight - OFFSET : offsetTop + anchorRect.height + OFFSET;\n\n setStyle(newStyle);\n setPosition(newPosition);\n };\n\n // We need {capture: true}, if the tooltip is placed inside scrollable containers because:\n // Scroll does not bubble. So if an element inside your page scrolls (like a <div> with overflow: scroll),\n // and you attach a scroll listener on the window without capture: true, it won’t catch those inner scrolls.\n window.addEventListener('scroll', updatePosition, { capture: true });\n window.addEventListener('resize', updatePosition);\n\n updatePosition();\n\n return () => {\n window.removeEventListener('scroll', updatePosition, { capture: true });\n window.removeEventListener('resize', updatePosition);\n };\n }, [props?.visible, props?.anchorRef]);\n\n // Hide the tooltip if it's not in the viewport.\n useEffect(() => {\n const anchor = props?.anchorRef?.current;\n if (!anchor) return;\n\n if ('IntersectionObserver' in window) {\n const observer = new IntersectionObserver(\n ([entry]) => {\n setIsAnchorVisible(entry.isIntersecting);\n },\n { threshold: 0.1 }\n );\n observer.observe(anchor);\n\n return () => {\n observer.disconnect();\n };\n }\n }, [props?.anchorRef]);\n\n return createPortal(\n <div\n id={props.id}\n role=\"tooltip\"\n aria-live={'polite'}\n className={cx({\n 'adyen-checkout-tooltip': true,\n 'adyen-checkout-tooltip--hidden': !props.visible || !isAnchorVisible,\n [`adyen-checkout-tooltip--${position}`]: true\n })}\n ref={tooltipRef}\n style={style}\n >\n {props.text}\n <div className={`adyen-checkout-tooltip-arrow adyen-checkout-tooltip-arrow--${position}`} />\n </div>,\n document.body\n );\n}\n"],"names":["Tooltip","props","tooltipRef","useRef","position","setPosition","useState","isAnchorVisible","setIsAnchorVisible","style","setStyle","useLayoutEffect","visible","anchorRef","current","updatePosition","anchorEl","tooltipEl","anchorRect","getBoundingClientRect","offsetTop","top","window","scrollY","offsetLeft","left","scrollX","spaceAbove","spaceBelow","innerHeight","bottom","newPosition","offsetHeight","newStyle","width","transform","willChange","height","addEventListener","capture","removeEventListener","useEffect","anchor","observer","IntersectionObserver","entry","isIntersecting","threshold","observe","disconnect","createPortal","h","div","id","role","aria-live","className","cx","ref","text","document","body"],"mappings":"wTAUO,SAASA,EAAQC,GACpB,MAAMC,EAAaC,EAAuB,OACnCC,EAAUC,GAAeC,EAA0B,QACnDC,EAAiBC,GAAsBF,GAAkB,IACzDG,EAAOC,GAAYJ,EAAS,CAAA,GAsEnC,OApEAK,EAAgB,KACZ,IAAKV,GAAOW,UAAYX,GAAOY,WAAWC,UAAYZ,EAAWY,QAAS,OAE1E,MAAMC,EAAiB,KACnB,MAAMC,EAAWf,EAAMY,UAAUC,QAC3BG,EAAYf,EAAWY,QACvBI,EAAaF,EAASG,wBAEtBC,EAAYF,EAAWG,IAAMC,OAAOC,QACpCC,EAAaN,EAAWO,KAAOH,OAAOI,QACtCC,EAAaT,EAAWG,IACxBO,EAAaN,OAAOO,YAAcX,EAAWY,OAEnD,IAAIC,EAEAA,EADAJ,GAAcV,EAAUe,aAtBzB,EAuBe,MACPJ,GAAcX,EAAUe,aAxBhC,GA2BeJ,EAAaD,EAFb,SAEqC,MAGvD,MAAMM,EAAgB,CAClB7B,SAAU,WACVqB,KAAMD,EAAaN,EAAWgB,MAAQ,EACtCC,UAAW,mBACXC,WAAY,aAEhBH,EAASZ,IAAsB,QAAhBU,EAAwBX,EAAYH,EAAUe,aApC1D,EAoCkFZ,EAAYF,EAAWmB,OApCzG,EAsCH3B,EAASuB,GACT5B,EAAY0B,IAWhB,OALAT,OAAOgB,iBAAiB,SAAUvB,EAAgB,CAAEwB,SAAS,IAC7DjB,OAAOgB,iBAAiB,SAAUvB,GAElCA,IAEO,KACHO,OAAOkB,oBAAoB,SAAUzB,EAAgB,CAAEwB,SAAS,IAChEjB,OAAOkB,oBAAoB,SAAUzB,KAE1C,CAACd,GAAOW,QAASX,GAAOY,YAG3B4B,EAAU,KACN,MAAMC,EAASzC,GAAOY,WAAWC,QACjC,GAAK4B,GAED,yBAA0BpB,OAAQ,CAClC,MAAMqB,EAAW,IAAIC,qBACjB,EAAEC,MACErC,EAAmBqC,EAAMC,iBAE7B,CAAEC,UAAW,KAIjB,OAFAJ,EAASK,QAAQN,GAEV,KACHC,EAASM,aAEjB,GACD,CAAChD,GAAOY,YAEJqC,EACHC,EAACC,MAAAA,CACGC,GAAIpD,EAAMoD,GACVC,KAAK,UACLC,YAAW,SACXC,UAAWC,EAAG,CACV,0BAA0B,EAC1B,kCAAmCxD,EAAMW,UAAYL,EACrD,CAAC,2BAA2BH,MAAa,IAE7CsD,IAAKxD,EACLO,MAAOA,GAENR,EAAM0D,KACPR,EAACC,MAAAA,CAAII,UAAW,8DAA8DpD,OAElFwD,SAASC,KAEjB"}
@@ -0,0 +1,2 @@
1
+ import{getUniqueId as t}from"../../../utils/idGenerator.js";function e(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}class i{static registerTooltipHandler(t){this.updateGlobalTooltip=t,this.registered=!0}static canRegisterTooltipHandler(){return!this.registered}static showTooltip(t){clearTimeout(this.timeoutId),this.timeoutId=setTimeout(()=>this.updateGlobalTooltip({...t,visible:!0}),this.DEFAULT_TIMEOUT)}static hideTooltip(t){clearTimeout(this.timeoutId),this.timeoutId=setTimeout(()=>this.updateGlobalTooltip({...t,visible:!1}),this.DEFAULT_TIMEOUT)}static reset(){this.registered=!1,this.updateGlobalTooltip=()=>{},this.notifyPrimaryReset()}static notifyPrimaryReset(){this.eventTarget.dispatchEvent(new Event(i.PRIMARY_TOOLTIP_RESET_EVENT))}static onPrimaryReset(t){return this.eventTarget.addEventListener(i.PRIMARY_TOOLTIP_RESET_EVENT,t),()=>this.eventTarget.removeEventListener(i.PRIMARY_TOOLTIP_RESET_EVENT,t)}}e(i,"tooltipId",t("adyen-checkout-tooltip")),e(i,"DEFAULT_TIMEOUT",100),e(i,"PRIMARY_TOOLTIP_RESET_EVENT","primary-tooltip-reset"),e(i,"timeoutId",null),e(i,"registered",!1),e(i,"updateGlobalTooltip",()=>{}),e(i,"eventTarget",new EventTarget);export{i as TooltipController};
2
+ //# sourceMappingURL=TooltipController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TooltipController.js","sources":["../../../../../src/components/internal/Tooltip/TooltipController.ts"],"sourcesContent":["import { TooltipProps } from './types';\nimport { getUniqueId } from '../../../utils/idGenerator';\n\ntype setTooltipState = (state: TooltipProps | null) => void;\n\nexport class TooltipController {\n public static readonly tooltipId = getUniqueId('adyen-checkout-tooltip');\n private static readonly DEFAULT_TIMEOUT = 100;\n private static readonly PRIMARY_TOOLTIP_RESET_EVENT = 'primary-tooltip-reset';\n private static timeoutId: ReturnType<typeof setTimeout> | null = null;\n private static registered = false;\n private static updateGlobalTooltip: setTooltipState = () => {};\n private static eventTarget = new EventTarget();\n\n public static registerTooltipHandler(fn: setTooltipState): void {\n this.updateGlobalTooltip = fn;\n this.registered = true;\n }\n\n public static canRegisterTooltipHandler(): boolean {\n return !this.registered;\n }\n\n public static showTooltip(state?: TooltipProps) {\n clearTimeout(this.timeoutId);\n this.timeoutId = setTimeout(() => this.updateGlobalTooltip({ ...state, visible: true }), this.DEFAULT_TIMEOUT);\n }\n\n public static hideTooltip(state?: TooltipProps) {\n clearTimeout(this.timeoutId);\n this.timeoutId = setTimeout(() => this.updateGlobalTooltip({ ...state, visible: false }), this.DEFAULT_TIMEOUT);\n }\n\n public static reset() {\n this.registered = false;\n this.updateGlobalTooltip = () => {};\n this.notifyPrimaryReset();\n }\n\n private static notifyPrimaryReset() {\n this.eventTarget.dispatchEvent(new Event(TooltipController.PRIMARY_TOOLTIP_RESET_EVENT));\n }\n\n public static onPrimaryReset(callback: () => void) {\n this.eventTarget.addEventListener(TooltipController.PRIMARY_TOOLTIP_RESET_EVENT, callback);\n return () => this.eventTarget.removeEventListener(TooltipController.PRIMARY_TOOLTIP_RESET_EVENT, callback);\n }\n}\n"],"names":["TooltipController","registerTooltipHandler","fn","this","updateGlobalTooltip","registered","canRegisterTooltipHandler","showTooltip","state","clearTimeout","timeoutId","setTimeout","visible","DEFAULT_TIMEOUT","hideTooltip","reset","notifyPrimaryReset","eventTarget","dispatchEvent","Event","PRIMARY_TOOLTIP_RESET_EVENT","onPrimaryReset","callback","addEventListener","removeEventListener","_define_property","tooltipId","getUniqueId","EventTarget"],"mappings":"oLAKO,MAAMA,EAST,6BAAcC,CAAuBC,GACjCC,KAAKC,oBAAsBF,EAC3BC,KAAKE,YAAa,CACtB,CAEA,gCAAcC,GACV,OAAQH,KAAKE,UACjB,CAEA,kBAAcE,CAAYC,GACtBC,aAAaN,KAAKO,WAClBP,KAAKO,UAAYC,WAAW,IAAMR,KAAKC,oBAAoB,IAAKI,EAAOI,SAAS,IAAST,KAAKU,gBAClG,CAEA,kBAAcC,CAAYN,GACtBC,aAAaN,KAAKO,WAClBP,KAAKO,UAAYC,WAAW,IAAMR,KAAKC,oBAAoB,IAAKI,EAAOI,SAAS,IAAUT,KAAKU,gBACnG,CAEA,YAAcE,GACVZ,KAAKE,YAAa,EAClBF,KAAKC,oBAAsB,OAC3BD,KAAKa,oBACT,CAEA,yBAAeA,GACXb,KAAKc,YAAYC,cAAc,IAAIC,MAAMnB,EAAkBoB,6BAC/D,CAEA,qBAAcC,CAAeC,GAEzB,OADAnB,KAAKc,YAAYM,iBAAiBvB,EAAkBoB,4BAA6BE,GAC1E,IAAMnB,KAAKc,YAAYO,oBAAoBxB,EAAkBoB,4BAA6BE,EACrG,EAxCAG,EADSzB,EACc0B,YAAYC,EAAY,2BAC/CF,EAFSzB,EAEea,kBAAkB,KAC1CY,EAHSzB,EAGeoB,8BAA8B,yBACtDK,EAJSzB,EAIMU,YAAkD,MACjEe,EALSzB,EAKMK,cAAa,GAC5BoB,EANSzB,EAMMI,sBAAuC,QACtDqB,EAPSzB,EAOMiB,cAAc,IAAIW"}
@@ -1 +1 @@
1
- {"version":3,"file":"Voucher.js","sources":["../../../../../src/components/internal/Voucher/Voucher.tsx"],"sourcesContent":["import { h } from 'preact';\nimport classNames from 'classnames';\nimport Button from '../Button';\nimport { copyToClipboard } from '../../../utils/clipboard';\n\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport './Voucher.scss';\nimport { VoucherProps } from './types';\nimport useImage from '../../../core/Context/useImage';\nimport { PREFIX } from '../Icon/constants';\nimport DetailsTable from '../DetailsTable';\n\nexport default function Voucher({ voucherDetails = [], className = '', ...props }: VoucherProps) {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n\n props.onActionHandled?.({ componentType: props.paymentMethodType, actionDescription: 'voucher-presented' });\n\n return (\n <div className={classNames('adyen-checkout__voucher-result', `adyen-checkout__voucher-result--${props.paymentMethodType}`, className)}>\n <div className=\"adyen-checkout__voucher-result__top\">\n <div className=\"adyen-checkout__voucher-result__image\">\n {!!props.imageUrl && (\n <span className=\"adyen-checkout__voucher-result__image__wrapper\">\n <img alt={props.paymentMethodType} className=\"adyen-checkout__voucher-result__image__brand\" src={props.imageUrl} />\n </span>\n )}\n\n {!!props.issuerImageUrl && (\n <span className=\"adyen-checkout__voucher-result__image__wrapper\">\n <img alt={props.paymentMethodType} className=\"adyen-checkout__voucher-result__image__issuer\" src={props.issuerImageUrl} />\n </span>\n )}\n </div>\n\n <div className=\"adyen-checkout__voucher-result__introduction\">\n {props.introduction}{' '}\n {props.instructionsUrl && (\n <a\n className=\"adyen-checkout-link adyen-checkout-link--voucher-result-instructions\"\n href={props.instructionsUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {i18n.get('voucher.readInstructions')} ›\n </a>\n )}\n </div>\n\n {props.amount && (\n <div className=\"adyen-checkout__voucher-result__amount\">\n {props.amount}\n\n {props.surcharge && (\n <span className=\"adyen-checkout__voucher-result__surcharge\">\n ({i18n.get('voucher.surcharge').replace('%@', props.surcharge)})\n </span>\n )}\n </div>\n )}\n </div>\n\n {props.reference && (\n <div className=\"adyen-checkout__voucher-result__separator\">\n <div className=\"adyen-checkout__voucher-result__separator__inner\" />\n <div className=\"adyen-checkout__voucher-result__code__label\">\n <span className=\"adyen-checkout__voucher-result__code__label__text\">{i18n.get('voucher.paymentReferenceLabel')}</span>\n </div>\n </div>\n )}\n\n <div className=\"adyen-checkout__voucher-result__bottom\">\n {props.reference && (\n <div className=\"adyen-checkout__voucher-result__code\">\n {props.barcode && (\n <img\n alt={i18n.get('voucher.paymentReferenceLabel')}\n className=\"adyen-checkout__voucher-result__code__barcode\"\n src={props.barcode}\n />\n )}\n <span>{props.reference}</span>\n </div>\n )}\n\n {(!!props.downloadUrl || !!props.copyBtn) && (\n <ul className=\"adyen-checkout__voucher-result__actions\">\n {!!props.copyBtn && (\n <li className=\"adyen-checkout__voucher-result__actions__item\">\n <Button\n inline\n variant=\"action\"\n onClick={(e, { complete }) => {\n copyToClipboard(props.reference);\n complete();\n }}\n icon={getImage({ imageFolder: 'components/' })(`${PREFIX}copy`)}\n label={i18n.get('button.copy')}\n />\n </li>\n )}\n\n {!!props.downloadUrl && (\n <li className=\"adyen-checkout__voucher-result__actions__item\">\n <Button\n inline\n variant=\"action\"\n href={props.downloadUrl}\n icon={getImage({ imageFolder: 'components/' })(`${PREFIX}download`)}\n label={props.downloadButtonText || i18n.get('button.download')}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n />\n </li>\n )}\n </ul>\n )}\n\n <DetailsTable tableFields={voucherDetails} />\n </div>\n </div>\n );\n}\n"],"names":["Voucher","voucherDetails","className","props","i18n","useCoreContext","getImage","useImage","onActionHandled","componentType","paymentMethodType","actionDescription","h","div","classNames","imageUrl","span","img","alt","src","issuerImageUrl","introduction","instructionsUrl","a","href","target","rel","get","amount","surcharge","replace","reference","barcode","downloadUrl","copyBtn","ul","li","Button","inline","variant","onClick","e","complete","copyToClipboard","icon","imageFolder","PREFIX","label","downloadButtonText","DetailsTable","tableFields"],"mappings":"waAYe,SAASA,GAAQC,eAAEA,EAAiB,GAAEC,UAAEA,EAAY,MAAOC,IACtE,MAAMC,KAAEA,GAASC,IACXC,EAAWC,IAIjB,OAFAJ,EAAMK,kBAAkB,CAAEC,cAAeN,EAAMO,kBAAmBC,kBAAmB,sBAGjFC,EAACC,MAAAA,CAAIX,UAAWY,EAAW,iCAAkC,mCAAmCX,EAAMO,oBAAqBR,IACvHU,EAACC,MAAAA,CAAIX,UAAU,uCACXU,EAACC,MAAAA,CAAIX,UAAU,2CACRC,EAAMY,UACLH,EAACI,OAAAA,CAAKd,UAAU,kDACZU,EAACK,MAAAA,CAAIC,IAAKf,EAAMO,kBAAmBR,UAAU,+CAA+CiB,IAAKhB,EAAMY,cAI5GZ,EAAMiB,gBACLR,EAACI,OAAAA,CAAKd,UAAU,kDACZU,EAACK,MAAAA,CAAIC,IAAKf,EAAMO,kBAAmBR,UAAU,gDAAgDiB,IAAKhB,EAAMiB,mBAKpHR,EAACC,MAAAA,CAAIX,UAAU,gDACVC,EAAMkB,aAAc,IACpBlB,EAAMmB,iBACHV,EAACW,IAAAA,CACGrB,UAAU,uEACVsB,KAAMrB,EAAMmB,gBACZG,OAAO,SACPC,IAAI,uBAEHtB,EAAKuB,IAAI,4BAA4B,OAKjDxB,EAAMyB,QACHhB,EAACC,MAAAA,CAAIX,UAAU,0CACVC,EAAMyB,OAENzB,EAAM0B,WACHjB,EAACI,OAAAA,CAAKd,UAAU,6CAA4C,IACtDE,EAAKuB,IAAI,qBAAqBG,QAAQ,KAAM3B,EAAM0B,WAAW,OAOlF1B,EAAM4B,WACHnB,EAACC,MAAAA,CAAIX,UAAU,6CACXU,EAACC,MAAAA,CAAIX,UAAU,qDACfU,EAACC,MAAAA,CAAIX,UAAU,+CACXU,EAACI,OAAAA,CAAKd,UAAU,qDAAqDE,EAAKuB,IAAI,oCAK1Ff,EAACC,MAAAA,CAAIX,UAAU,0CACVC,EAAM4B,WACHnB,EAACC,MAAAA,CAAIX,UAAU,wCACVC,EAAM6B,SACHpB,EAACK,MAAAA,CACGC,IAAKd,EAAKuB,IAAI,iCACdzB,UAAU,gDACViB,IAAKhB,EAAM6B,UAGnBpB,EAACI,YAAMb,EAAM4B,eAIjB5B,EAAM8B,eAAiB9B,EAAM+B,UAC7BtB,EAACuB,KAAAA,CAAGjC,UAAU,6CACPC,EAAM+B,SACLtB,EAACwB,KAAAA,CAAGlC,UAAU,iDACVU,EAACyB,EAAAA,CACGC,QAAAA,EACAC,QAAQ,SACRC,QAAS,CAACC,GAAKC,eACXC,EAAgBxC,EAAM4B,WACtBW,KAEJE,KAAMtC,EAAS,CAAEuC,YAAa,eAAxBvC,CAAyC,GAAGwC,SAClDC,MAAO3C,EAAKuB,IAAI,oBAKzBxB,EAAM8B,aACLrB,EAACwB,KAAAA,CAAGlC,UAAU,iDACVU,EAACyB,EAAAA,CACGC,QAAAA,EACAC,QAAQ,SACRf,KAAMrB,EAAM8B,YACZW,KAAMtC,EAAS,CAAEuC,YAAa,eAAxBvC,CAAyC,GAAGwC,aAClDC,MAAO5C,EAAM6C,oBAAsB5C,EAAKuB,IAAI,mBAC5CF,OAAO,SACPC,IAAI,0BAOxBd,EAACqC,EAAAA,CAAaC,YAAajD,KAI3C"}
1
+ {"version":3,"file":"Voucher.js","sources":["../../../../../src/components/internal/Voucher/Voucher.tsx"],"sourcesContent":["import { h } from 'preact';\nimport classNames from 'classnames';\nimport Button from '../Button';\nimport { copyToClipboard } from '../../../utils/clipboard';\n\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport './Voucher.scss';\nimport { VoucherProps } from './types';\nimport useImage from '../../../core/Context/useImage';\nimport { PREFIX } from '../Icon/constants';\nimport DetailsTable from '../DetailsTable';\n\nexport default function Voucher({ voucherDetails = [], className = '', ...props }: VoucherProps) {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n\n props.onActionHandled?.({ componentType: props.paymentMethodType, actionDescription: 'voucher-presented' });\n\n return (\n <div className={classNames('adyen-checkout__voucher-result', `adyen-checkout__voucher-result--${props.paymentMethodType}`, className)}>\n <div className=\"adyen-checkout__voucher-result__top\">\n <div className=\"adyen-checkout__voucher-result__image\">\n {!!props.imageUrl && (\n <span className=\"adyen-checkout__voucher-result__image__wrapper\">\n <img alt={props.paymentMethodType} className=\"adyen-checkout__voucher-result__image__brand\" src={props.imageUrl} />\n </span>\n )}\n\n {!!props.issuerImageUrl && (\n <span className=\"adyen-checkout__voucher-result__image__wrapper\">\n <img alt={props.paymentMethodType} className=\"adyen-checkout__voucher-result__image__issuer\" src={props.issuerImageUrl} />\n </span>\n )}\n </div>\n\n <div className=\"adyen-checkout__voucher-result__introduction\">\n {props.introduction}{' '}\n {props.instructionsUrl && (\n <a\n className=\"adyen-checkout-link adyen-checkout-link--voucher-result-instructions\"\n href={props.instructionsUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {i18n.get('voucher.readInstructions')} ›\n </a>\n )}\n </div>\n\n {props.amount && (\n <div className=\"adyen-checkout__voucher-result__amount\">\n {props.amount}\n\n {props.surcharge && (\n <span className=\"adyen-checkout__voucher-result__surcharge\">\n ({i18n.get('voucher.surcharge').replace('%@', props.surcharge)})\n </span>\n )}\n </div>\n )}\n </div>\n\n {props.reference && (\n <div className=\"adyen-checkout__voucher-result__separator\">\n <div className=\"adyen-checkout__voucher-result__separator__inner\" />\n <div className=\"adyen-checkout__voucher-result__code__label\">\n <span className=\"adyen-checkout__voucher-result__code__label__text\">{i18n.get('voucher.paymentReferenceLabel')}</span>\n </div>\n </div>\n )}\n\n <div className=\"adyen-checkout__voucher-result__bottom\">\n {props.reference && (\n <div className=\"adyen-checkout__voucher-result__code\">\n {props.barcode && (\n <img\n alt={i18n.get('voucher.paymentReferenceLabel')}\n className=\"adyen-checkout__voucher-result__code__barcode\"\n src={props.barcode}\n />\n )}\n <span>{props.reference}</span>\n </div>\n )}\n\n {(!!props.downloadUrl || !!props.copyBtn) && (\n <ul className=\"adyen-checkout__voucher-result__actions\">\n {!!props.copyBtn && (\n <li className=\"adyen-checkout__voucher-result__actions__item\">\n <Button\n inline\n variant=\"action\"\n onClick={(e, { complete }) => {\n void copyToClipboard(props.reference);\n complete();\n }}\n icon={getImage({ imageFolder: 'components/' })(`${PREFIX}copy`)}\n label={i18n.get('button.copy')}\n />\n </li>\n )}\n\n {!!props.downloadUrl && (\n <li className=\"adyen-checkout__voucher-result__actions__item\">\n <Button\n inline\n variant=\"action\"\n href={props.downloadUrl}\n icon={getImage({ imageFolder: 'components/' })(`${PREFIX}download`)}\n label={props.downloadButtonText || i18n.get('button.download')}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n />\n </li>\n )}\n </ul>\n )}\n\n <DetailsTable tableFields={voucherDetails} />\n </div>\n </div>\n );\n}\n"],"names":["Voucher","voucherDetails","className","props","i18n","useCoreContext","getImage","useImage","onActionHandled","componentType","paymentMethodType","actionDescription","h","div","classNames","imageUrl","span","img","alt","src","issuerImageUrl","introduction","instructionsUrl","a","href","target","rel","get","amount","surcharge","replace","reference","barcode","downloadUrl","copyBtn","ul","li","Button","inline","variant","onClick","e","complete","copyToClipboard","icon","imageFolder","PREFIX","label","downloadButtonText","DetailsTable","tableFields"],"mappings":"waAYe,SAASA,GAAQC,eAAEA,EAAiB,GAAEC,UAAEA,EAAY,MAAOC,IACtE,MAAMC,KAAEA,GAASC,IACXC,EAAWC,IAIjB,OAFAJ,EAAMK,kBAAkB,CAAEC,cAAeN,EAAMO,kBAAmBC,kBAAmB,sBAGjFC,EAACC,MAAAA,CAAIX,UAAWY,EAAW,iCAAkC,mCAAmCX,EAAMO,oBAAqBR,IACvHU,EAACC,MAAAA,CAAIX,UAAU,uCACXU,EAACC,MAAAA,CAAIX,UAAU,2CACRC,EAAMY,UACLH,EAACI,OAAAA,CAAKd,UAAU,kDACZU,EAACK,MAAAA,CAAIC,IAAKf,EAAMO,kBAAmBR,UAAU,+CAA+CiB,IAAKhB,EAAMY,cAI5GZ,EAAMiB,gBACLR,EAACI,OAAAA,CAAKd,UAAU,kDACZU,EAACK,MAAAA,CAAIC,IAAKf,EAAMO,kBAAmBR,UAAU,gDAAgDiB,IAAKhB,EAAMiB,mBAKpHR,EAACC,MAAAA,CAAIX,UAAU,gDACVC,EAAMkB,aAAc,IACpBlB,EAAMmB,iBACHV,EAACW,IAAAA,CACGrB,UAAU,uEACVsB,KAAMrB,EAAMmB,gBACZG,OAAO,SACPC,IAAI,uBAEHtB,EAAKuB,IAAI,4BAA4B,OAKjDxB,EAAMyB,QACHhB,EAACC,MAAAA,CAAIX,UAAU,0CACVC,EAAMyB,OAENzB,EAAM0B,WACHjB,EAACI,OAAAA,CAAKd,UAAU,6CAA4C,IACtDE,EAAKuB,IAAI,qBAAqBG,QAAQ,KAAM3B,EAAM0B,WAAW,OAOlF1B,EAAM4B,WACHnB,EAACC,MAAAA,CAAIX,UAAU,6CACXU,EAACC,MAAAA,CAAIX,UAAU,qDACfU,EAACC,MAAAA,CAAIX,UAAU,+CACXU,EAACI,OAAAA,CAAKd,UAAU,qDAAqDE,EAAKuB,IAAI,oCAK1Ff,EAACC,MAAAA,CAAIX,UAAU,0CACVC,EAAM4B,WACHnB,EAACC,MAAAA,CAAIX,UAAU,wCACVC,EAAM6B,SACHpB,EAACK,MAAAA,CACGC,IAAKd,EAAKuB,IAAI,iCACdzB,UAAU,gDACViB,IAAKhB,EAAM6B,UAGnBpB,EAACI,YAAMb,EAAM4B,eAIjB5B,EAAM8B,eAAiB9B,EAAM+B,UAC7BtB,EAACuB,KAAAA,CAAGjC,UAAU,6CACPC,EAAM+B,SACLtB,EAACwB,KAAAA,CAAGlC,UAAU,iDACVU,EAACyB,EAAAA,CACGC,QAAAA,EACAC,QAAQ,SACRC,QAAS,CAACC,GAAKC,eACNC,EAAgBxC,EAAM4B,WAC3BW,KAEJE,KAAMtC,EAAS,CAAEuC,YAAa,eAAxBvC,CAAyC,GAAGwC,SAClDC,MAAO3C,EAAKuB,IAAI,oBAKzBxB,EAAM8B,aACLrB,EAACwB,KAAAA,CAAGlC,UAAU,iDACVU,EAACyB,EAAAA,CACGC,QAAAA,EACAC,QAAQ,SACRf,KAAMrB,EAAM8B,YACZW,KAAMtC,EAAS,CAAEuC,YAAa,eAAxBvC,CAAyC,GAAGwC,aAClDC,MAAO5C,EAAM6C,oBAAsB5C,EAAKuB,IAAI,mBAC5CF,OAAO,SACPC,IAAI,0BAOxBd,EAACqC,EAAAA,CAAaC,YAAajD,KAI3C"}
@@ -1,2 +1,2 @@
1
- import{httpPost as e}from"../http.js";import t from"../../../utils/Storage.js";const o='WARNING: Failed to retrieve "checkoutAttemptId". Consequently, analytics will not be available for this payment. The payment process, however, will not be affected.';const n=({analyticsContext:n,clientKey:r,locale:i,analyticsPath:c,bundleType:a})=>{let l;const s={errorLevel:"fatal",loadingContext:n,path:`${c}?clientKey=${r}`};return n=>{const c={version:"6.18.1",channel:"Web",platform:"Web",buildType:a,locale:i,referrer:window.location.href,screenWidth:window.screen.width,...n};if(l)return l;if(!r)return Promise.reject("no-client-key");const m=new t("checkout-attempt-id","sessionStorage"),d=m.get();return function(e){if(!e?.id)return!1;const t=Date.now()-9e5;return e.timestamp>t}(d)?Promise.resolve(d.id):(l=e(s,c).then(e=>{if(e?.checkoutAttemptId)return m.set({id:e.checkoutAttemptId,timestamp:Date.now()}),e.checkoutAttemptId}).catch(()=>Promise.reject(o)),l)}};export{o as FAILURE_MSG,n as default};
1
+ import{httpPost as e}from"../http.js";import t from"../../../utils/Storage.js";const o='WARNING: Failed to retrieve "checkoutAttemptId". Consequently, analytics will not be available for this payment. The payment process, however, will not be affected.';const n=({analyticsContext:n,clientKey:r,locale:i,analyticsPath:c,bundleType:a})=>{let l;const s={errorLevel:"fatal",loadingContext:n,path:`${c}?clientKey=${r}`};return n=>{const c={version:"6.19.0",channel:"Web",platform:"Web",buildType:a,locale:i,referrer:window.location.href,screenWidth:window.screen.width,...n};if(l)return l;if(!r)return Promise.reject("no-client-key");const m=new t("checkout-attempt-id","sessionStorage"),d=m.get();return function(e){if(!e?.id)return!1;const t=Date.now()-9e5;return e.timestamp>t}(d)?Promise.resolve(d.id):(l=e(s,c).then(e=>{if(e?.checkoutAttemptId)return m.set({id:e.checkoutAttemptId,timestamp:Date.now()}),e.checkoutAttemptId}).catch(()=>Promise.reject(o)),l)}};export{o as FAILURE_MSG,n as default};
2
2
  //# sourceMappingURL=collect-id.js.map
@@ -1,2 +1,2 @@
1
- import{Language as t}from"../language/Language.js";import o from"./RiskModule/RiskModule.js";import s from"./ProcessResponse/PaymentMethods/PaymentMethods.js";import{getComponentForAction as e}from"./ProcessResponse/PaymentAction/PaymentAction.js";import i from"./Analytics/Analytics.js";import{processGlobalOptions as n,assertConfigurationPropertiesAreValid as a}from"./utils.js";import r from"./CheckoutSession/CheckoutSession.js";import{hasOwnProperty as h}from"../utils/hasOwnProperty.js";import{Resources as l}from"./Context/Resources.js";import{SRPanel as c}from"./Errors/SRPanel.js";import p from"./core.registry.js";import{sanitizeResponse as d,verifyPaymentDidNotFail as m,cleanupFinalResult as u}from"../components/internal/UIElement/utils.js";import y,{IMPLEMENTATION_ERROR as f}from"./Errors/AdyenCheckoutError.js";import{ANALYTICS_ACTION_STR as g}from"./Analytics/constants.js";import{THREEDS2_FULL as C}from"../components/ThreeDS2/constants.js";import{DEFAULT_LOCALE as w}from"../language/constants.js";import v from"./Services/get-translations.js";import{defaultProps as A}from"./core.defaultProps.js";import{formatLocale as j,formatCustomTranslations as E}from"../language/utils.js";import{resolveEnvironments as b}from"./Environment/Environment.js";import{AnalyticsLogEvent as P}from"./Analytics/AnalyticsLogEvent.js";import M from"./Errors/CancelError.js";function T(t,o,s){return o in t?Object.defineProperty(t,o,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[o]=s,t}class x{static setBundleType(t){x.metadata.bundleType=t}static register(...t){p.add(...t)}register(...t){p.add(...t)}getComponent(t){return p.getComponent(t)}async initialize(){return await this.initializeCore(),this.validateCoreConfiguration(),await this.createCoreModules(),this}async initializeCore(){return this.session?this.session.setupSession(this.options).then(t=>{const{amount:o,shopperLocale:s,countryCode:e,paymentMethods:i,...n}=t;return this.setOptions({...n,amount:this.options.order?this.options.order.remainingAmount:o,locale:this.options.locale||s,countryCode:this.options.countryCode||e}),this.createPaymentMethodsList(i),this}).catch(t=>(this.options.onError&&this.options.onError(t),Promise.reject(t))):(this.createPaymentMethodsList(),Promise.resolve(this))}async fetchLocaleTranslations(){try{return await v(this.cdnTranslationsUrl,x.metadata.version,this.options.locale)}catch(t){t instanceof y?this.options.onError?.(t):this.options.onError?.(new y("ERROR","Failed to fetch translation",{cause:t}))}}validateCoreConfiguration(){if(this.options.paymentMethodsConfiguration&&console.warn('WARNING: "paymentMethodsConfiguration" is supported only by Drop-in.'),!this.options.countryCode)throw new y(f,"You must specify a countryCode when initializing checkout.");this.options.locale||this.setOptions({locale:w}),this.options.locale=j(this.options.locale),this.options.translations=E(this.options.translations)}submitDetails(t){let o=null;this.options.onAdditionalDetails&&(o=new Promise((o,s)=>{this.options.onAdditionalDetails({data:t},void 0,{resolve:o,reject:s})})),this.session&&(o=this.session.submitDetails(t).catch(t=>(this.options.onError?.(t),Promise.reject(t)))),o?o.then(d).then(m).then(this.afterAdditionalDetails).then(t=>{u(t),this.options.onPaymentCompleted?.(t)}).catch(t=>{t instanceof M||(u(t),this.options.onPaymentFailed?.(t))}):this.options.onError?.(new y("IMPLEMENTATION_ERROR",'It can not submit the details. The callback "onAdditionalDetails" or the Session is not setup correctly.'))}createFromAction(t,o={}){if(!t||!t.type){if(h(t,"action")&&h(t,"resultCode"))throw new Error('createFromAction::Invalid Action - the passed action object itself has an "action" property and a "resultCode": have you passed in the whole response object by mistake?');throw new Error('createFromAction::Invalid Action - the passed action object does not have a "type" property')}if(t.type){const s=t.type===C?`${t.type}${t.subtype}`:t.paymentMethodType,i=new P({type:g,subType:t.type,message:`${s} action was handled by the SDK`,component:s});this.modules.analytics.sendAnalytics(i);const n={...this.getCorePropsForComponent(),...o};return e(this,p,t,n)}return this.handleCreateError()}getCorePropsForComponent(){return{...n(this.options),core:this,i18n:this.modules.i18n,modules:this.modules,session:this.session,loadingContext:this.loadingContext,cdnContext:this.cdnImagesUrl,createFromAction:this.createFromAction}}storeElementReference(t){t&&this.components.push(t)}handleCreateError(t){const o=t?`${t?.name??"The passed payment method"} is not a valid Checkout Component. What was passed as a txVariant was: ${JSON.stringify(t)}. Check if this payment method is configured in the Backoffice or if the txVariant is a valid one`:"No Payment Method component was passed";throw new Error(o)}createPaymentMethodsList(t){this.paymentMethodsResponse=new s(this.options.paymentMethodsResponse||t,this.options)}async createCoreModules(){if(this.modules)return;const s=await this.fetchLocaleTranslations();this.modules=Object.freeze({risk:new o(this,{...this.options,loadingContext:this.loadingContext}),analytics:i({loadingContext:this.loadingContext,analyticsContext:this.analyticsContext,clientKey:this.options.clientKey,locale:this.options.locale,analytics:this.options.analytics,amount:this.options.amount,bundleType:x.metadata.bundleType}),resources:new l(this.cdnImagesUrl),i18n:new t({locale:this.options.locale,translations:s,customTranslations:this.options.translations}),srPanel:new c(this,{...this.options.srConfig})})}constructor(t){T(this,"session",void 0),T(this,"paymentMethodsResponse",void 0),T(this,"modules",void 0),T(this,"options",void 0),T(this,"analyticsContext",void 0),T(this,"loadingContext",void 0),T(this,"cdnImagesUrl",void 0),T(this,"cdnTranslationsUrl",void 0),T(this,"components",[]),T(this,"afterAdditionalDetails",t=>{if(this.options.afterAdditionalDetails&&t?.action){const o=this.createFromAction(t.action);return this.options.afterAdditionalDetails(o),Promise.reject(new M("Handled by afterAdditionalDetails"))}return Promise.resolve(t)}),T(this,"update",(t={})=>(this.setOptions(t),this.initialize().then(()=>(this.components.forEach(o=>{const s={...t,...this.session&&{session:this.session}};o.update(s)}),this)))),T(this,"remove",t=>(this.components=this.components.filter(o=>o._id!==t._id),t.unmount(),this)),T(this,"setOptions",t=>{this.options={...this.options,...t,locale:t?.locale||this.options?.locale}}),a(t),this.createFromAction=this.createFromAction.bind(this),this.setOptions({...A,...t});const{apiUrl:o,analyticsUrl:s,cdnImagesUrl:e,cdnTranslationsUrl:i}=b(this.options.environment,this.options._environmentUrls);this.loadingContext=o,this.analyticsContext=s,this.cdnImagesUrl=e,this.cdnTranslationsUrl=i,this.session=this.options.session&&new r(this.options.session,this.options.clientKey,this.loadingContext);const n=this.options.clientKey?.substring(0,4);if(("test"===n||"live"===n)&&!this.loadingContext.includes(n))throw new y("IMPLEMENTATION_ERROR",`Error: you are using a ${n} clientKey against the ${this.options._environmentUrls?.api||this.options.environment} environment`);"pub."===n&&console.debug(`The value you are passing as your "clientKey" looks like an originKey (${this.options.clientKey?.substring(0,12)}..). Although this is supported it is not the recommended way to integrate. To generate a clientKey, see the documentation (https://docs.adyen.com/development-resources/client-side-authentication/migrate-from-origin-key-to-client-key/) for more details.`),this.options.exposeLibraryMetadata&&(window.AdyenWebMetadata=x.metadata)}}T(x,"metadata",{version:"6.18.1",bundleType:"esm"}),T(x,"registry",p);export{x as default};
1
+ import{Language as t}from"../language/Language.js";import o from"./RiskModule/RiskModule.js";import s from"./ProcessResponse/PaymentMethods/PaymentMethods.js";import{getComponentForAction as e}from"./ProcessResponse/PaymentAction/PaymentAction.js";import i from"./Analytics/Analytics.js";import{processGlobalOptions as n,assertConfigurationPropertiesAreValid as a}from"./utils.js";import r from"./CheckoutSession/CheckoutSession.js";import{hasOwnProperty as h}from"../utils/hasOwnProperty.js";import{Resources as l}from"./Context/Resources.js";import{SRPanel as c}from"./Errors/SRPanel.js";import p from"./core.registry.js";import{sanitizeResponse as d,verifyPaymentDidNotFail as m,cleanupFinalResult as u}from"../components/internal/UIElement/utils.js";import y,{IMPLEMENTATION_ERROR as f}from"./Errors/AdyenCheckoutError.js";import{ANALYTICS_ACTION_STR as g}from"./Analytics/constants.js";import{THREEDS2_FULL as C}from"../components/ThreeDS2/constants.js";import{DEFAULT_LOCALE as w}from"../language/constants.js";import v from"./Services/get-translations.js";import{defaultProps as A}from"./core.defaultProps.js";import{formatLocale as j,formatCustomTranslations as E}from"../language/utils.js";import{resolveEnvironments as b}from"./Environment/Environment.js";import{AnalyticsLogEvent as P}from"./Analytics/AnalyticsLogEvent.js";import M from"./Errors/CancelError.js";function T(t,o,s){return o in t?Object.defineProperty(t,o,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[o]=s,t}class x{static setBundleType(t){x.metadata.bundleType=t}static register(...t){p.add(...t)}register(...t){p.add(...t)}getComponent(t){return p.getComponent(t)}async initialize(){return await this.initializeCore(),this.validateCoreConfiguration(),await this.createCoreModules(),this}async initializeCore(){return this.session?this.session.setupSession(this.options).then(t=>{const{amount:o,shopperLocale:s,countryCode:e,paymentMethods:i,...n}=t;return this.setOptions({...n,amount:this.options.order?this.options.order.remainingAmount:o,locale:this.options.locale||s,countryCode:this.options.countryCode||e}),this.createPaymentMethodsList(i),this}).catch(t=>(this.options.onError&&this.options.onError(t),Promise.reject(t))):(this.createPaymentMethodsList(),Promise.resolve(this))}async fetchLocaleTranslations(){try{return await v(this.cdnTranslationsUrl,x.metadata.version,this.options.locale)}catch(t){t instanceof y?this.options.onError?.(t):this.options.onError?.(new y("ERROR","Failed to fetch translation",{cause:t}))}}validateCoreConfiguration(){if(this.options.paymentMethodsConfiguration&&console.warn('WARNING: "paymentMethodsConfiguration" is supported only by Drop-in.'),!this.options.countryCode)throw new y(f,"You must specify a countryCode when initializing checkout.");this.options.locale||this.setOptions({locale:w}),this.options.locale=j(this.options.locale),this.options.translations=E(this.options.translations)}submitDetails(t){let o=null;this.options.onAdditionalDetails&&(o=new Promise((o,s)=>{this.options.onAdditionalDetails({data:t},void 0,{resolve:o,reject:s})})),this.session&&(o=this.session.submitDetails(t).catch(t=>(this.options.onError?.(t),Promise.reject(t)))),o?o.then(d).then(m).then(this.afterAdditionalDetails).then(t=>{u(t),this.options.onPaymentCompleted?.(t)}).catch(t=>{t instanceof M||(u(t),this.options.onPaymentFailed?.(t))}):this.options.onError?.(new y("IMPLEMENTATION_ERROR",'It can not submit the details. The callback "onAdditionalDetails" or the Session is not setup correctly.'))}createFromAction(t,o={}){if(!t||!t.type){if(h(t,"action")&&h(t,"resultCode"))throw new Error('createFromAction::Invalid Action - the passed action object itself has an "action" property and a "resultCode": have you passed in the whole response object by mistake?');throw new Error('createFromAction::Invalid Action - the passed action object does not have a "type" property')}if(t.type){const s=t.type===C?`${t.type}${t.subtype}`:t.paymentMethodType,i=new P({type:g,subType:t.type,message:`${s} action was handled by the SDK`,component:s});this.modules.analytics.sendAnalytics(i);const n={...this.getCorePropsForComponent(),...o};return e(this,p,t,n)}return this.handleCreateError()}getCorePropsForComponent(){return{...n(this.options),core:this,i18n:this.modules.i18n,modules:this.modules,session:this.session,loadingContext:this.loadingContext,cdnContext:this.cdnImagesUrl,createFromAction:this.createFromAction}}storeElementReference(t){t&&this.components.push(t)}handleCreateError(t){const o=t?`${t?.name??"The passed payment method"} is not a valid Checkout Component. What was passed as a txVariant was: ${JSON.stringify(t)}. Check if this payment method is configured in the Backoffice or if the txVariant is a valid one`:"No Payment Method component was passed";throw new Error(o)}createPaymentMethodsList(t){this.paymentMethodsResponse=new s(this.options.paymentMethodsResponse||t,this.options)}async createCoreModules(){if(this.modules)return;const s=await this.fetchLocaleTranslations();this.modules=Object.freeze({risk:new o(this,{...this.options,loadingContext:this.loadingContext}),analytics:i({loadingContext:this.loadingContext,analyticsContext:this.analyticsContext,clientKey:this.options.clientKey,locale:this.options.locale,analytics:this.options.analytics,amount:this.options.amount,bundleType:x.metadata.bundleType}),resources:new l(this.cdnImagesUrl),i18n:new t({locale:this.options.locale,translations:s,customTranslations:this.options.translations}),srPanel:new c(this,{...this.options.srConfig})})}constructor(t){T(this,"session",void 0),T(this,"paymentMethodsResponse",void 0),T(this,"modules",void 0),T(this,"options",void 0),T(this,"analyticsContext",void 0),T(this,"loadingContext",void 0),T(this,"cdnImagesUrl",void 0),T(this,"cdnTranslationsUrl",void 0),T(this,"components",[]),T(this,"afterAdditionalDetails",t=>{if(this.options.afterAdditionalDetails&&t?.action){const o=this.createFromAction(t.action);return this.options.afterAdditionalDetails(o),Promise.reject(new M("Handled by afterAdditionalDetails"))}return Promise.resolve(t)}),T(this,"update",(t={})=>(this.setOptions(t),this.initialize().then(()=>(this.components.forEach(o=>{const s={...t,...this.session&&{session:this.session}};o.update(s)}),this)))),T(this,"remove",t=>(this.components=this.components.filter(o=>o._id!==t._id),t.unmount(),this)),T(this,"setOptions",t=>{this.options={...this.options,...t,locale:t?.locale||this.options?.locale}}),a(t),this.createFromAction=this.createFromAction.bind(this),this.setOptions({...A,...t});const{apiUrl:o,analyticsUrl:s,cdnImagesUrl:e,cdnTranslationsUrl:i}=b(this.options.environment,this.options._environmentUrls);this.loadingContext=o,this.analyticsContext=s,this.cdnImagesUrl=e,this.cdnTranslationsUrl=i,this.session=this.options.session&&new r(this.options.session,this.options.clientKey,this.loadingContext);const n=this.options.clientKey?.substring(0,4);if(("test"===n||"live"===n)&&!this.loadingContext.includes(n))throw new y("IMPLEMENTATION_ERROR",`Error: you are using a ${n} clientKey against the ${this.options._environmentUrls?.api||this.options.environment} environment`);"pub."===n&&console.debug(`The value you are passing as your "clientKey" looks like an originKey (${this.options.clientKey?.substring(0,12)}..). Although this is supported it is not the recommended way to integrate. To generate a clientKey, see the documentation (https://docs.adyen.com/development-resources/client-side-authentication/migrate-from-origin-key-to-client-key/) for more details.`),this.options.exposeLibraryMetadata&&(window.AdyenWebMetadata=x.metadata)}}T(x,"metadata",{version:"6.19.0",bundleType:"esm"}),T(x,"registry",p);export{x as default};
2
2
  //# sourceMappingURL=core.js.map
@@ -0,0 +1,2 @@
1
+ import{Component as e,options as t,createElement as n,Fragment as o,toChildArray as r,render as i}from"../../dist/preact.js";export{createContext}from"../../dist/preact.js";export{useCallback,useContext,useEffect,useLayoutEffect,useMemo,useReducer,useRef,useState}from"../../hooks/dist/hooks.js";function _(e,t){for(var n in e)if("__source"!==n&&!(n in t))return!0;for(var o in t)if("__source"!==o&&e[o]!==t[o])return!0;return!1}function u(e,t){this.props=e,this.context=t}(u.prototype=new e).isPureReactComponent=!0,u.prototype.shouldComponentUpdate=function(e,t){return _(this.props,e)||_(this.state,t)};var l=t.__b;t.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),l&&l(e)};var a=t.__e;t.__e=function(e,t,n,o){if(e.then)for(var r,i=t;i=i.__;)if((r=i.__c)&&r.__c)return null==t.__e&&(t.__e=n.__e,t.__k=n.__k),r.__c(e,t);a(e,t,n,o)};var c=t.unmount;function s(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach(function(e){"function"==typeof e.__c&&e.__c()}),e.__c.__H=null),null!=(e=function(e,t){for(var n in t)e[n]=t[n];return e}({},e)).__c&&(e.__c.__P===n&&(e.__c.__P=t),e.__c=null),e.__k=e.__k&&e.__k.map(function(e){return s(e,t,n)})),e}function p(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map(function(e){return p(e,t,n)}),e.__c&&e.__c.__P===t&&(e.__e&&n.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=n)),e}function f(){this.__u=0,this.t=null,this.__b=null}function d(e){var t=e.__.__c;return t&&t.__a&&t.__a(e)}function v(){this.u=null,this.o=null}t.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),c&&c(e)},(f.prototype=new e).__c=function(e,t){var n=t.__c,o=this;null==o.t&&(o.t=[]),o.t.push(n);var r=d(o.__v),i=!1,_=function(){i||(i=!0,n.__R=null,r?r(u):u())};n.__R=_;var u=function(){if(! --o.__u){if(o.state.__a){var e=o.state.__a;o.__v.__k[0]=p(e,e.__c.__P,e.__c.__O)}var t;for(o.setState({__a:o.__b=null});t=o.t.pop();)t.forceUpdate()}};o.__u++||32&t.__u||o.setState({__a:o.__b=o.__v.__k[0]}),e.then(_,_)},f.prototype.componentWillUnmount=function(){this.t=[]},f.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var r=document.createElement("div"),i=this.__v.__k[0].__c;this.__v.__k[0]=s(this.__b,r,i.__O=i.__P)}this.__b=null}var _=t.__a&&n(o,null,e.fallback);return _&&(_.__u&=-33),[n(o,null,t.__a?null:e.children),_]};var h=function(e,t,n){if(++n[1]===n[0]&&e.o.delete(t),e.props.revealOrder&&("t"!==e.props.revealOrder[0]||!e.o.size))for(n=e.u;n;){for(;n.length>3;)n.pop()();if(n[1]<n[0])break;e.u=n=n[2]}};function m(e){return this.getChildContext=function(){return e.context},e.children}function y(e){var t=this,o=e.i;t.componentWillUnmount=function(){i(null,t.l),t.l=null,t.i=null},t.i&&t.i!==o&&t.componentWillUnmount(),t.l||(t.i=o,t.l={nodeType:1,parentNode:o,childNodes:[],contains:function(){return!0},appendChild:function(e){this.childNodes.push(e),t.i.appendChild(e)},insertBefore:function(e,n){this.childNodes.push(e),t.i.appendChild(e)},removeChild:function(e){this.childNodes.splice(this.childNodes.indexOf(e)>>>1,1),t.i.removeChild(e)}}),i(n(m,{context:t.context},e.__v),t.l)}function b(e,t){var o=n(y,{__v:e,i:t});return o.containerInfo=t,o}(v.prototype=new e).__a=function(e){var t=this,n=d(t.__v),o=t.o.get(e);return o[0]++,function(r){var i=function(){t.props.revealOrder?(o.push(r),h(t,e,o)):r()};n?n(i):i()}},v.prototype.render=function(e){this.u=null,this.o=new Map;var t=r(e.children);e.revealOrder&&"b"===e.revealOrder[0]&&t.reverse();for(var n=t.length;n--;)this.o.set(t[n],this.u=[1,0,this.u]);return e.children},v.prototype.componentDidUpdate=v.prototype.componentDidMount=function(){var e=this;this.o.forEach(function(t,n){h(e,n,t)})};var k="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,C=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,g=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,x=/[A-Z0-9]/g,P="undefined"!=typeof document,N=function(e){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/:/fil|che|ra/).test(e)};e.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(t){Object.defineProperty(e.prototype,t,{configurable:!0,get:function(){return this["UNSAFE_"+t]},set:function(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})});var O=t.event;function S(){}function E(){return this.cancelBubble}function w(){return this.defaultPrevented}t.event=function(e){return O&&(e=O(e)),e.persist=S,e.isPropagationStopped=E,e.isDefaultPrevented=w,e.nativeEvent=e};var R={enumerable:!1,configurable:!0,get:function(){return this.class}},U=t.vnode;t.vnode=function(e){"string"==typeof e.type&&function(e){var t=e.props,n=e.type,o={};for(var i in t){var _=t[i];if(!("value"===i&&"defaultValue"in t&&null==_||P&&"children"===i&&"noscript"===n||"class"===i||"className"===i)){var u=i.toLowerCase();"defaultValue"===i&&"value"in t&&null==t.value?i="value":"download"===i&&!0===_?_="":"translate"===u&&"no"===_?_=!1:"ondoubleclick"===u?i="ondblclick":"onchange"!==u||"input"!==n&&"textarea"!==n||N(t.type)?"onfocus"===u?i="onfocusin":"onblur"===u?i="onfocusout":g.test(i)?i=u:-1===n.indexOf("-")&&C.test(i)?i=i.replace(x,"-$&").toLowerCase():null===_&&(_=void 0):u=i="oninput","oninput"===u&&o[i=u]&&(i="oninputCapture"),o[i]=_}}"select"==n&&o.multiple&&Array.isArray(o.value)&&(o.value=r(t.children).forEach(function(e){e.props.selected=-1!=o.value.indexOf(e.props.value)})),"select"==n&&null!=o.defaultValue&&(o.value=r(t.children).forEach(function(e){e.props.selected=o.multiple?-1!=o.defaultValue.indexOf(e.props.value):o.defaultValue==e.props.value})),t.class&&!t.className?(o.class=t.class,Object.defineProperty(o,"className",R)):(t.className&&!t.class||t.class&&t.className)&&(o.class=o.className=t.className),e.props=o}(e),e.$$typeof=k,U&&U(e)};var A=t.__r;t.__r=function(e){A&&A(e),e.__c};var W=t.diffed;t.diffed=function(e){W&&W(e);var t=e.props,n=e.__e;null!=n&&"textarea"===e.type&&"value"in t&&t.value!==n.value&&(n.value=null==t.value?"":t.value)};export{e as Component,o as Fragment,u as PureComponent,f as Suspense,v as SuspenseList,n as createElement,b as createPortal};
2
+ //# sourceMappingURL=compat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compat.js","sources":["../../../../../../../../node_modules/preact/compat/dist/compat.mjs"],"sourcesContent":["import{Component as n,createElement as t,options as e,toChildArray as r,Fragment as u,render as o,hydrate as i,createContext as c,createRef as l,cloneElement as f}from\"preact\";export{Component,Fragment,createContext,createElement,createRef}from\"preact\";import{useCallback as a,useContext as s,useDebugValue as h,useEffect as v,useId as d,useImperativeHandle as p,useLayoutEffect as m,useMemo as y,useReducer as _,useRef as b,useState as S}from\"preact/hooks\";export*from\"preact/hooks\";function g(n,t){for(var e in t)n[e]=t[e];return n}function E(n,t){for(var e in n)if(\"__source\"!==e&&!(e in t))return!0;for(var r in t)if(\"__source\"!==r&&n[r]!==t[r])return!0;return!1}function C(n,t){this.props=n,this.context=t}function x(n,e){function r(n){var t=this.props.ref,r=t==n.ref;return!r&&t&&(t.call?t(null):t.current=null),e?!e(this.props,n)||!r:E(this.props,n)}function u(e){return this.shouldComponentUpdate=r,t(n,e)}return u.displayName=\"Memo(\"+(n.displayName||n.name)+\")\",u.prototype.isReactComponent=!0,u.__f=!0,u}(C.prototype=new n).isPureReactComponent=!0,C.prototype.shouldComponentUpdate=function(n,t){return E(this.props,n)||E(this.state,t)};var R=e.__b;e.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),R&&R(n)};var w=\"undefined\"!=typeof Symbol&&Symbol.for&&Symbol.for(\"react.forward_ref\")||3911;function k(n){function t(t){var e=g({},t);return delete e.ref,n(e,t.ref||null)}return t.$$typeof=w,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName=\"ForwardRef(\"+(n.displayName||n.name)+\")\",t}var I=function(n,t){return null==n?null:r(r(n).map(t))},N={map:I,forEach:I,count:function(n){return n?r(n).length:0},only:function(n){var t=r(n);if(1!==t.length)throw\"Children.only\";return t[0]},toArray:r},M=e.__e;e.__e=function(n,t,e,r){if(n.then)for(var u,o=t;o=o.__;)if((u=o.__c)&&u.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),u.__c(n,t);M(n,t,e,r)};var T=e.unmount;function A(n,t,e){return n&&(n.__c&&n.__c.__H&&(n.__c.__H.__.forEach(function(n){\"function\"==typeof n.__c&&n.__c()}),n.__c.__H=null),null!=(n=g({},n)).__c&&(n.__c.__P===e&&(n.__c.__P=t),n.__c=null),n.__k=n.__k&&n.__k.map(function(n){return A(n,t,e)})),n}function D(n,t,e){return n&&e&&(n.__v=null,n.__k=n.__k&&n.__k.map(function(n){return D(n,t,e)}),n.__c&&n.__c.__P===t&&(n.__e&&e.appendChild(n.__e),n.__c.__e=!0,n.__c.__P=e)),n}function L(){this.__u=0,this.t=null,this.__b=null}function O(n){var t=n.__.__c;return t&&t.__a&&t.__a(n)}function F(n){var e,r,u;function o(o){if(e||(e=n()).then(function(n){r=n.default||n},function(n){u=n}),u)throw u;if(!r)throw e;return t(r,o)}return o.displayName=\"Lazy\",o.__f=!0,o}function U(){this.u=null,this.o=null}e.unmount=function(n){var t=n.__c;t&&t.__R&&t.__R(),t&&32&n.__u&&(n.type=null),T&&T(n)},(L.prototype=new n).__c=function(n,t){var e=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(e);var u=O(r.__v),o=!1,i=function(){o||(o=!0,e.__R=null,u?u(c):c())};e.__R=i;var c=function(){if(!--r.__u){if(r.state.__a){var n=r.state.__a;r.__v.__k[0]=D(n,n.__c.__P,n.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.t.pop();)t.forceUpdate()}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),n.then(i,i)},L.prototype.componentWillUnmount=function(){this.t=[]},L.prototype.render=function(n,e){if(this.__b){if(this.__v.__k){var r=document.createElement(\"div\"),o=this.__v.__k[0].__c;this.__v.__k[0]=A(this.__b,r,o.__O=o.__P)}this.__b=null}var i=e.__a&&t(u,null,n.fallback);return i&&(i.__u&=-33),[t(u,null,e.__a?null:n.children),i]};var V=function(n,t,e){if(++e[1]===e[0]&&n.o.delete(t),n.props.revealOrder&&(\"t\"!==n.props.revealOrder[0]||!n.o.size))for(e=n.u;e;){for(;e.length>3;)e.pop()();if(e[1]<e[0])break;n.u=e=e[2]}};function W(n){return this.getChildContext=function(){return n.context},n.children}function P(n){var e=this,r=n.i;e.componentWillUnmount=function(){o(null,e.l),e.l=null,e.i=null},e.i&&e.i!==r&&e.componentWillUnmount(),e.l||(e.i=r,e.l={nodeType:1,parentNode:r,childNodes:[],contains:function(){return!0},appendChild:function(n){this.childNodes.push(n),e.i.appendChild(n)},insertBefore:function(n,t){this.childNodes.push(n),e.i.appendChild(n)},removeChild:function(n){this.childNodes.splice(this.childNodes.indexOf(n)>>>1,1),e.i.removeChild(n)}}),o(t(W,{context:e.context},n.__v),e.l)}function j(n,e){var r=t(P,{__v:n,i:e});return r.containerInfo=e,r}(U.prototype=new n).__a=function(n){var t=this,e=O(t.__v),r=t.o.get(n);return r[0]++,function(u){var o=function(){t.props.revealOrder?(r.push(u),V(t,n,r)):u()};e?e(o):o()}},U.prototype.render=function(n){this.u=null,this.o=new Map;var t=r(n.children);n.revealOrder&&\"b\"===n.revealOrder[0]&&t.reverse();for(var e=t.length;e--;)this.o.set(t[e],this.u=[1,0,this.u]);return n.children},U.prototype.componentDidUpdate=U.prototype.componentDidMount=function(){var n=this;this.o.forEach(function(t,e){V(n,e,t)})};var z=\"undefined\"!=typeof Symbol&&Symbol.for&&Symbol.for(\"react.element\")||60103,B=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,H=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,Z=/[A-Z0-9]/g,Y=\"undefined\"!=typeof document,$=function(n){return(\"undefined\"!=typeof Symbol&&\"symbol\"==typeof Symbol()?/fil|che|rad/:/fil|che|ra/).test(n)};function q(n,t,e){return null==t.__k&&(t.textContent=\"\"),o(n,t),\"function\"==typeof e&&e(),n?n.__c:null}function G(n,t,e){return i(n,t),\"function\"==typeof e&&e(),n?n.__c:null}n.prototype.isReactComponent={},[\"componentWillMount\",\"componentWillReceiveProps\",\"componentWillUpdate\"].forEach(function(t){Object.defineProperty(n.prototype,t,{configurable:!0,get:function(){return this[\"UNSAFE_\"+t]},set:function(n){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:n})}})});var J=e.event;function K(){}function Q(){return this.cancelBubble}function X(){return this.defaultPrevented}e.event=function(n){return J&&(n=J(n)),n.persist=K,n.isPropagationStopped=Q,n.isDefaultPrevented=X,n.nativeEvent=n};var nn,tn={enumerable:!1,configurable:!0,get:function(){return this.class}},en=e.vnode;e.vnode=function(n){\"string\"==typeof n.type&&function(n){var t=n.props,e=n.type,u={};for(var o in t){var i=t[o];if(!(\"value\"===o&&\"defaultValue\"in t&&null==i||Y&&\"children\"===o&&\"noscript\"===e||\"class\"===o||\"className\"===o)){var c=o.toLowerCase();\"defaultValue\"===o&&\"value\"in t&&null==t.value?o=\"value\":\"download\"===o&&!0===i?i=\"\":\"translate\"===c&&\"no\"===i?i=!1:\"ondoubleclick\"===c?o=\"ondblclick\":\"onchange\"!==c||\"input\"!==e&&\"textarea\"!==e||$(t.type)?\"onfocus\"===c?o=\"onfocusin\":\"onblur\"===c?o=\"onfocusout\":H.test(o)?o=c:-1===e.indexOf(\"-\")&&B.test(o)?o=o.replace(Z,\"-$&\").toLowerCase():null===i&&(i=void 0):c=o=\"oninput\",\"oninput\"===c&&u[o=c]&&(o=\"oninputCapture\"),u[o]=i}}\"select\"==e&&u.multiple&&Array.isArray(u.value)&&(u.value=r(t.children).forEach(function(n){n.props.selected=-1!=u.value.indexOf(n.props.value)})),\"select\"==e&&null!=u.defaultValue&&(u.value=r(t.children).forEach(function(n){n.props.selected=u.multiple?-1!=u.defaultValue.indexOf(n.props.value):u.defaultValue==n.props.value})),t.class&&!t.className?(u.class=t.class,Object.defineProperty(u,\"className\",tn)):(t.className&&!t.class||t.class&&t.className)&&(u.class=u.className=t.className),n.props=u}(n),n.$$typeof=z,en&&en(n)};var rn=e.__r;e.__r=function(n){rn&&rn(n),nn=n.__c};var un=e.diffed;e.diffed=function(n){un&&un(n);var t=n.props,e=n.__e;null!=e&&\"textarea\"===n.type&&\"value\"in t&&t.value!==e.value&&(e.value=null==t.value?\"\":t.value),nn=null};var on={ReactCurrentDispatcher:{current:{readContext:function(n){return nn.__n[n.__c].props.value},useCallback:a,useContext:s,useDebugValue:h,useDeferredValue:bn,useEffect:v,useId:d,useImperativeHandle:p,useInsertionEffect:gn,useLayoutEffect:m,useMemo:y,useReducer:_,useRef:b,useState:S,useSyncExternalStore:Cn,useTransition:Sn}}},cn=\"17.0.2\";function ln(n){return t.bind(null,n)}function fn(n){return!!n&&n.$$typeof===z}function an(n){return fn(n)&&n.type===u}function sn(n){return!!n&&!!n.displayName&&(\"string\"==typeof n.displayName||n.displayName instanceof String)&&n.displayName.startsWith(\"Memo(\")}function hn(n){return fn(n)?f.apply(null,arguments):n}function vn(n){return!!n.__k&&(o(null,n),!0)}function dn(n){return n&&(n.base||1===n.nodeType&&n)||null}var pn=function(n,t){return n(t)},mn=function(n,t){return n(t)},yn=u;function _n(n){n()}function bn(n){return n}function Sn(){return[!1,_n]}var gn=m,En=fn;function Cn(n,t){var e=t(),r=S({h:{__:e,v:t}}),u=r[0].h,o=r[1];return m(function(){u.__=e,u.v=t,xn(u)&&o({h:u})},[n,e,t]),v(function(){return xn(u)&&o({h:u}),n(function(){xn(u)&&o({h:u})})},[n]),e}function xn(n){var t,e,r=n.v,u=n.__;try{var o=r();return!((t=u)===(e=o)&&(0!==t||1/t==1/e)||t!=t&&e!=e)}catch(n){return!0}}var Rn={useState:S,useId:d,useReducer:_,useEffect:v,useLayoutEffect:m,useInsertionEffect:gn,useTransition:Sn,useDeferredValue:bn,useSyncExternalStore:Cn,startTransition:_n,useRef:b,useImperativeHandle:p,useMemo:y,useCallback:a,useContext:s,useDebugValue:h,version:\"17.0.2\",Children:N,render:q,hydrate:G,unmountComponentAtNode:vn,createPortal:j,createElement:t,createContext:c,createFactory:ln,cloneElement:hn,createRef:l,Fragment:u,isValidElement:fn,isElement:En,isFragment:an,isMemo:sn,findDOMNode:dn,Component:n,PureComponent:C,memo:x,forwardRef:k,flushSync:mn,unstable_batchedUpdates:pn,StrictMode:yn,Suspense:L,SuspenseList:U,lazy:F,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:on};export{N as Children,C as PureComponent,yn as StrictMode,L as Suspense,U as SuspenseList,on as __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,hn as cloneElement,ln as createFactory,j as createPortal,Rn as default,dn as findDOMNode,mn as flushSync,k as forwardRef,G as hydrate,En as isElement,an as isFragment,sn as isMemo,fn as isValidElement,F as lazy,x as memo,q as render,_n as startTransition,vn as unmountComponentAtNode,pn as unstable_batchedUpdates,bn as useDeferredValue,gn as useInsertionEffect,Cn as useSyncExternalStore,Sn as useTransition,cn as version};\n//# sourceMappingURL=compat.module.js.map\n"],"names":["E","n","t","e","r","C","this","props","context","prototype","isPureReactComponent","shouldComponentUpdate","state","R","__b","type","__f","ref","M","__e","then","u","o","__","__c","__k","T","unmount","A","__H","forEach","g","__P","map","D","__v","appendChild","L","__u","O","__a","U","__R","push","i","c","__O","setState","pop","forceUpdate","componentWillUnmount","render","document","createElement","fallback","children","V","delete","revealOrder","size","length","W","getChildContext","P","l","nodeType","parentNode","childNodes","contains","insertBefore","removeChild","splice","indexOf","j","containerInfo","get","Map","reverse","set","componentDidUpdate","componentDidMount","z","Symbol","for","B","H","Z","Y","$","test","isReactComponent","Object","defineProperty","configurable","writable","value","J","event","K","Q","cancelBubble","X","defaultPrevented","persist","isPropagationStopped","isDefaultPrevented","nativeEvent","tn","enumerable","class","en","vnode","toLowerCase","replace","multiple","Array","isArray","selected","defaultValue","className","$$typeof","rn","__r","un","diffed"],"mappings":"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","x_google_ignoreList":[0]}
@@ -643,7 +643,7 @@ interface IBaseElement {
643
643
  activate(): void;
644
644
  }
645
645
 
646
- type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'action' | 'link';
646
+ type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'action' | 'link' | 'iconOnly';
647
647
  interface ButtonProps {
648
648
  status?: string;
649
649
  /**
@@ -654,6 +654,7 @@ interface ButtonProps {
654
654
  disabled?: boolean;
655
655
  label?: string | h.JSX.Element;
656
656
  ariaLabel?: string;
657
+ ariaDescribedBy?: string;
657
658
  secondaryLabel?: string;
658
659
  icon?: string;
659
660
  inline?: boolean;
@@ -662,7 +663,12 @@ interface ButtonProps {
662
663
  rel?: string;
663
664
  onClick?: (e: any, callbacks: any) => void;
664
665
  onKeyDown?: (event: KeyboardEvent) => void;
666
+ onKeyPress?: (event: KeyboardEvent) => void;
665
667
  buttonRef?: Ref<HTMLButtonElement>;
668
+ onMouseEnter?: (event: MouseEvent) => void;
669
+ onMouseLeave?: (event: MouseEvent) => void;
670
+ onFocus?: (event: FocusEvent) => void;
671
+ onBlur?: (event: FocusEvent) => void;
666
672
  }
667
673
 
668
674
  interface PayButtonProps extends ButtonProps {
@@ -2163,7 +2169,6 @@ interface AchPlaceholders {
2163
2169
  }
2164
2170
 
2165
2171
  interface BankTransferResultProps {
2166
- ref?: (ref: any) => void;
2167
2172
  paymentMethodType?: string;
2168
2173
  reference?: string;
2169
2174
  totalAmount?: {
@@ -2173,6 +2178,9 @@ interface BankTransferResultProps {
2173
2178
  beneficiary?: string;
2174
2179
  iban?: string;
2175
2180
  bic?: string;
2181
+ accountNumber?: string;
2182
+ sortCode?: string;
2183
+ routingNumber?: string;
2176
2184
  onActionHandled?: (actionHandledObj: ActionHandledReturnObject) => void;
2177
2185
  }
2178
2186
 
@@ -4682,6 +4690,10 @@ declare class BankTransferElement extends UIElement<BankTransferConfiguration> {
4682
4690
  static txVariants: TxVariants[];
4683
4691
  static defaultProps: {
4684
4692
  showEmailAddress: boolean;
4693
+ showContextualElement: boolean;
4694
+ data: {
4695
+ shopperEmail: string;
4696
+ };
4685
4697
  };
4686
4698
  state: BankTransferState;
4687
4699
  get isValid(): boolean;
@@ -4698,7 +4710,6 @@ declare class BankTransferElement extends UIElement<BankTransferConfiguration> {
4698
4710
  type: string;
4699
4711
  };
4700
4712
  };
4701
- private handleRef;
4702
4713
  render(): h.JSX.Element;
4703
4714
  }
4704
4715
 
@@ -1,2 +1,2 @@
1
- function e(e){const t=function(e){const t=document.createElement("textArea");return t.readOnly=!0,t.value=e,document.body.appendChild(t),t}(e);t.select(),document.execCommand("copy"),document.body.removeChild(t)}export{e as copyToClipboard,e as default};
1
+ async function e(e){if(navigator?.clipboard?.writeText)try{return void await navigator.clipboard.writeText(e)}catch(e){}let t;try{t=function(e){const t=document.createElement("textArea");return t.readOnly=!0,t.value=e,document.body.appendChild(t),t}(e),t.select();document.execCommand("copy")||console.warn("Fallback: Copy command was unsuccessful")}catch(e){console.error("Fallback: Unable to copy",e)}finally{document.body.removeChild(t)}}export{e as copyToClipboard,e as default};
2
2
  //# sourceMappingURL=clipboard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clipboard.js","sources":["../../../src/utils/clipboard.ts"],"sourcesContent":["export function copyToClipboard(value) {\n function createInput(text): HTMLInputElement {\n const textArea = document.createElement('textArea');\n (textArea as HTMLInputElement).readOnly = true;\n (textArea as HTMLInputElement).value = text;\n document.body.appendChild(textArea);\n return textArea as HTMLInputElement;\n }\n\n const copyInput = createInput(value);\n\n copyInput.select();\n\n document.execCommand('copy');\n\n document.body.removeChild(copyInput);\n}\n\nexport default copyToClipboard;\n"],"names":["copyToClipboard","value","copyInput","text","textArea","document","createElement","readOnly","body","appendChild","createInput","select","execCommand","removeChild"],"mappings":"AAAO,SAASA,EAAgBC,GAS5B,MAAMC,EARN,SAAqBC,GACjB,MAAMC,EAAWC,SAASC,cAAc,YAIxC,OAHCF,EAA8BG,UAAW,EACzCH,EAA8BH,MAAQE,EACvCE,SAASG,KAAKC,YAAYL,GACnBA,CACX,CAEkBM,CAAYT,GAE9BC,EAAUS,SAEVN,SAASO,YAAY,QAErBP,SAASG,KAAKK,YAAYX,EAC9B"}
1
+ {"version":3,"file":"clipboard.js","sources":["../../../src/utils/clipboard.ts"],"sourcesContent":["function createInput(text): HTMLInputElement {\n const textArea = document.createElement('textArea');\n (textArea as HTMLInputElement).readOnly = true;\n (textArea as HTMLInputElement).value = text;\n document.body.appendChild(textArea);\n return textArea as HTMLInputElement;\n}\n\nexport async function copyToClipboard(value) {\n if (navigator?.clipboard?.writeText) {\n try {\n await navigator.clipboard.writeText(value);\n return;\n } catch (err) {\n // swallow it, continue to fallback\n }\n }\n\n let copyInput: HTMLInputElement;\n try {\n copyInput = createInput(value);\n copyInput.select();\n const successful = document.execCommand('copy');\n if (!successful) {\n console.warn('Fallback: Copy command was unsuccessful');\n }\n } catch (err) {\n console.error('Fallback: Unable to copy', err);\n } finally {\n document.body.removeChild(copyInput);\n }\n}\n\nexport default copyToClipboard;\n"],"names":["async","copyToClipboard","value","navigator","clipboard","writeText","err","copyInput","text","textArea","document","createElement","readOnly","body","appendChild","createInput","select","execCommand","console","warn","error","removeChild"],"mappings":"AAQOA,eAAeC,EAAgBC,GAClC,GAAIC,WAAWC,WAAWC,UACtB,IAEI,kBADMF,UAAUC,UAAUC,UAAUH,EAExC,CAAE,MAAOI,GAET,CAGJ,IAAIC,EACJ,IACIA,EApBR,SAAqBC,GACjB,MAAMC,EAAWC,SAASC,cAAc,YAIxC,OAHCF,EAA8BG,UAAW,EACzCH,EAA8BP,MAAQM,EACvCE,SAASG,KAAKC,YAAYL,GACnBA,CACX,CAcoBM,CAAYb,GACxBK,EAAUS,SACSN,SAASO,YAAY,SAEpCC,QAAQC,KAAK,0CAErB,CAAE,MAAOb,GACLY,QAAQE,MAAM,2BAA4Bd,GAC9C,QACII,SAASG,KAAKQ,YAAYd,EAC9B,CACJ"}
@@ -21,7 +21,7 @@
21
21
  .adyen-checkout-form-instruction{color:var(--adyen-sdk-color-label-primary,#00112c);font-size:var(--adyen-sdk-text-caption-font-size,.75rem);font-weight:var(--adyen-sdk-text-body-font-weight,400);line-height:var(--adyen-sdk-text-caption-line-height,18px);margin-bottom:var(--adyen-sdk-spacer-070,16px);margin-top:0}[dir=rtl] .adyen-checkout-form-instruction{padding-right:0}
22
22
  .adyen-checkout-toggle{color:inherit;cursor:pointer;display:flex;width:auto}.adyen-checkout-toggle,.adyen-checkout-toggle *,.adyen-checkout-toggle :after,.adyen-checkout-toggle :before,.adyen-checkout-toggle:after,.adyen-checkout-toggle:before{box-sizing:border-box}.adyen-checkout-toggle--disabled{cursor:not-allowed;display:flex}.adyen-checkout-toggle--readonly{pointer-events:none}.adyen-checkout-toggle--label-first{align-items:flex-start;flex-direction:row-reverse;justify-content:flex-end}.adyen-checkout-toggle__input{cursor:inherit;opacity:0;position:absolute}.adyen-checkout-toggle__track{align-items:center;background-color:var(--adyen-sdk-toggle-track-background-color,#ffffff);border:var(--adyen-sdk-toggle-track-border,1px solid #8d95a3);border-radius:var(--adyen-sdk-toggle-track-border-radius,12px);display:flex;height:var(--adyen-sdk-toggle-track-height,20px);min-width:var(--adyen-sdk-toggle-track-width,36px);padding:var(--adyen-sdk-toggle-track-padding,2px 4px);position:relative}.adyen-checkout-toggle__input:focus-visible+.adyen-checkout-toggle__track{box-shadow:0 0 0 1px #fff,0 0 0 3px var(--adyen-sdk-focus-ring-color,rgba(0,112,245,.8));transition:.1s cubic-bezier(.785,.135,.15,.86)}.adyen-checkout-toggle__input:hover:enabled+.adyen-checkout-toggle__track{background-color:var(--adyen-sdk-toggle-track-hover-background-color,#f7f7f8);border-color:var(--adyen-sdk-toggle-track-hover-border-color,#6d7789)}.adyen-checkout-toggle__input:active:enabled+.adyen-checkout-toggle__track{background-color:var(--adyen-sdk-toggle-track-active-background-color,#eeeff1);border-color:var(--adyen-sdk-toggle-track-active-border-color,#00112c)}.adyen-checkout-toggle__input:disabled+.adyen-checkout-toggle__track{background-color:var(--adyen-sdk-toggle-track-disabled-background-color,#f7f7f8);border-color:var(--adyen-sdk-toggle-track-disabled-border-color,#dbdee2);cursor:not-allowed}.adyen-checkout-toggle__input:disabled+.adyen-checkout-toggle__track path{fill:#8d95a3}.adyen-checkout-toggle--readonly .adyen-checkout-toggle__input+.adyen-checkout-toggle__track{background-color:var(--adyen-sdk-toggle-track-readonly-background-color,#f7f7f8);border-color:var(--adyen-sdk-toggle-track-readonly-border-color,#dbdee2)}.adyen-checkout-toggle__input:checked+.adyen-checkout-toggle__track{background-color:var(--adyen-sdk-toggle-track-toggled-background-color,#00112c);border:var(--adyen-sdk-toggle-track-toggled-border,0);padding:var(--adyen-sdk-toggle-track-toggled-padding,2px)}.adyen-checkout-toggle__input:checked:hover:enabled+.adyen-checkout-toggle__track{background-color:var(--adyen-sdk-toggle-track-toggled-hover-background-color,#5c687c)}.adyen-checkout-toggle__input:checked:active:enabled+.adyen-checkout-toggle__track{background-color:var(--adyen-sdk-toggle-track-toggled-active-background-color,#8d95a3)}.adyen-checkout-toggle__input:checked:disabled+.adyen-checkout-toggle__track{background-color:var(--adyen-sdk-toggle-track-toggled-disabled-background-color,#c0c5cc)}.adyen-checkout-toggle--readonly .adyen-checkout-toggle__input:checked+.adyen-checkout-toggle__track{background-color:var(--adyen-sdk-toggle-track-toggled-readonly-background-color,#c0c5cc)}.adyen-checkout-toggle__handle{align-content:center;background-color:var(--adyen-sdk-toggle-handle-background-color,#00112c);border-radius:var(--adyen-sdk-toggle-handle-border-radius,12px);color:var(--adyen-sdk-toggle-handle-toggled-color,#00112c);display:inline-flex;height:var(--adyen-sdk-toggle-handle-height,12px);justify-content:center;transition:var(--adyen-sdk-toggle-handle-transition,transform .15s cubic-bezier(.2,0,.4,.9));width:var(--adyen-sdk-toggle-handle-width,12px)}.adyen-checkout-toggle__input:disabled+* .adyen-checkout-toggle__handle{background-color:var(--adyen-sdk-toggle-handle-disabled-background-color,#8d95a3);cursor:not-allowed}.adyen-checkout-toggle__input:checked+* .adyen-checkout-toggle__handle{background-color:var(--adyen-sdk-toggle-handle-toggled-background-color,#ffffff);height:var(--adyen-sdk-toggle-handle-toggled-height,16px);transform:translateX(100%);width:var(--adyen-sdk-toggle-handle-toggled-width,16px)}.adyen-checkout-toggle__input:checked:disabled+* .adyen-checkout-toggle__handle{background-color:var(--adyen-sdk-toggle-handle-toggled-disabled-background-color,#eeeff1);color:var(--adyen-sdk-toggle-handle-toggled-disabled-color,#8d95a3);cursor:not-allowed}.adyen-checkout-toggle--readonly .adyen-checkout-toggle__input:checked+* .adyen-checkout-toggle__handle{background-color:var(--adyen-sdk-toggle-handle-toggled-readonly-background-color,#eeeff1)}.adyen-checkout-toggle__label-container{display:flex;flex-direction:column;font-size:var(--adyen-sdk-text-body-font-size,.875rem);font-weight:var(--adyen-sdk-text-body-font-weight,400);line-height:var(--adyen-sdk-text-body-line-height,20px);padding-left:var(--adyen-sdk-toggle-label-padding,16px)}.adyen-checkout-toggle--label-first>.adyen-checkout-toggle__label-container{padding-left:0;padding-right:var(--adyen-sdk-toggle-label-padding,16px)}.adyen-checkout-toggle__label{vertical-align:baseline}.adyen-checkout-toggle__description,.adyen-checkout-toggle__label{font-size:var(--adyen-sdk-text-body-font-size,.875rem);font-weight:var(--adyen-sdk-text-body-font-weight,400);line-height:var(--adyen-sdk-text-body-line-height,20px)}.adyen-checkout-toggle__description{color:var(--adyen-sdk-toggle-description-color,#5c687c);padding-top:var(--adyen-sdk-toggle-description-padding,4px)}
23
23
  .adyen-checkout__modal-wrapper{align-items:center;display:flex;height:100%;left:0;overflow-y:auto;overscroll-behavior-y:contain;padding:var(--adyen-sdk-spacer-090,24px);position:fixed;top:0;visibility:hidden;width:100%;z-index:10}.adyen-checkout__modal-wrapper:before{background:rgba(0,17,44,.5);content:"";height:100%;left:0;opacity:0;position:fixed;top:0;transition:opacity .3s linear;width:100%;z-index:10}.adyen-checkout__modal-wrapper--open{visibility:visible}.adyen-checkout__modal-wrapper--open .adyen-checkout__modal,.adyen-checkout__modal-wrapper--open:before{opacity:1}.adyen-checkout__modal{background-color:var(--adyen-sdk-color-background-primary,#ffffff);border-radius:var(--adyen-sdk-border-radius-m,8px);box-shadow:0 var(--adyen-sdk-spacer-040,8px) var(--adyen-sdk-spacer-090,24px) rgba(0,17,44,.15);margin:auto;opacity:0;padding:var(--adyen-sdk-spacer-070,16px);position:relative;transition:opacity .2s ease,visibility .2s ease;z-index:11}
24
- .adyen-checkout__button{background:var(--adyen-sdk-color-background-always-dark,#00112c);border:0;border-radius:var(--adyen-sdk-border-radius-m,8px);color:var(--adyen-sdk-color-label-on-color,#ffffff);cursor:pointer;font-size:var(--adyen-sdk-text-title-font-size,1rem);font-weight:var(--adyen-sdk-text-body-stronger-font-weight,500);height:var(--adyen-sdk-spacer-120,48px);margin:0;padding:var(--adyen-sdk-spacer-060,12px) var(--adyen-sdk-spacer-000,0);text-decoration:none;transition:background .3s ease-out,box-shadow .3s ease-out;width:100%}.adyen-checkout__button:focus{box-shadow:0 0 0 1px var(--adyen-sdk-color-outline-tertiary,#8d95a3);outline:0}.adyen-checkout__button:hover{background:var(--adyen-sdk-color-background-inverse-primary-hover,#5c687c);box-shadow:0 0,0 var(--adyen-sdk-spacer-010,2px) var(--adyen-sdk-spacer-020,4px) -1px rgba(0,0,0,.2),0 var(--adyen-sdk-spacer-020,4px) 5px 0 rgba(0,0,0,.14)}.adyen-checkout__button:active{background:var(--adyen-sdk-color-background-always-dark-active,#8d95a3)}.adyen-checkout__button:hover:focus{box-shadow:0 0 0 var(--adyen-sdk-spacer-010,2px) var(--adyen-sdk-color-outline-tertiary,#8d95a3),0 3px var(--adyen-sdk-spacer-020,4px) rgba(0,15,45,.2)}.adyen-checkout__button:disabled,.adyen-checkout__button:disabled:hover{box-shadow:none;cursor:not-allowed;opacity:.4;-webkit-user-select:all;-moz-user-select:all;user-select:all}.adyen-checkout__button.adyen-checkout__button--loading{background:var(--adyen-sdk-color-label-disabled,#8d95a3);box-shadow:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.adyen-checkout__button.adyen-checkout__button--pay{display:flex;justify-content:center;margin-top:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout__button.adyen-checkout__button--pay:disabled{opacity:.4}.adyen-checkout__button.adyen-checkout__button--standalone{margin-top:0}.adyen-checkout__button.adyen-checkout__button--inline{display:block;font-size:.81em;height:auto;padding:var(--adyen-sdk-spacer-050,10px) var(--adyen-sdk-spacer-040,8px);width:auto}.adyen-checkout__button.adyen-checkout__button--ghost{background:none;border:0;color:var(--adyen-sdk-color-label-primary,#00112c)}.adyen-checkout__button.adyen-checkout__button--ghost .adyen-checkout__spinner:before{border-color:var(--adyen-sdk-color-background-inverse-primary,#00112c);border-top-color:transparent;opacity:.1}.adyen-checkout__button.adyen-checkout__button--ghost .adyen-checkout__spinner:after{border-color:transparent;border-top-color:var(--adyen-sdk-color-outline-primary-active,#00112c)}.adyen-checkout__button.adyen-checkout__button--ghost:hover{background:var(--adyen-sdk-color-background-secondary-hover,#eeeff1);box-shadow:none}.adyen-checkout__button.adyen-checkout__button--ghost:active{background:var(--adyen-sdk-color-background-secondary-active,#e3e5e9);box-shadow:none}.adyen-checkout__button.adyen-checkout__button--secondary{background:var(--adyen-sdk-color-background-primary,#ffffff);border:var(--adyen-sdk-border-width-s,1px) solid var(--adyen-sdk-color-label-primary,#00112c);color:var(--adyen-sdk-color-label-primary,#00112c);padding:var(--adyen-sdk-spacer-050,10px) var(--adyen-sdk-spacer-060,12px)}.adyen-checkout__button.adyen-checkout__button--secondary .adyen-checkout__spinner:before{border-color:var(--adyen-sdk-color-background-inverse-primary,#00112c);border-top-color:transparent;opacity:.1}.adyen-checkout__button.adyen-checkout__button--secondary .adyen-checkout__spinner:after{border-color:transparent;border-top-color:var(--adyen-sdk-color-outline-primary-active,#00112c)}.adyen-checkout__button.adyen-checkout__button--secondary:hover{background:var(--adyen-sdk-color-background-secondary,#f7f7f8);box-shadow:0 var(--adyen-sdk-spacer-010,2px) var(--adyen-sdk-spacer-020,4px) rgba(27,42,60,.2),0 var(--adyen-sdk-spacer-020,4px) 5px rgba(27,42,60,.14)}.adyen-checkout__button.adyen-checkout__button--secondary:active,.adyen-checkout__button.adyen-checkout__button--secondary:active:hover{background:var(--adyen-sdk-color-background-secondary,#f7f7f8);box-shadow:none}.adyen-checkout__button.adyen-checkout__button--secondary:focus{box-shadow:0 0 0 .5px var(--adyen-sdk-color-outline-tertiary,#8d95a3);outline:0}.adyen-checkout__button.adyen-checkout__button--secondary:disabled,.adyen-checkout__button.adyen-checkout__button--secondary:disabled:hover{background-color:var(--adyen-sdk-color-background-secondary,#f7f7f8);border-color:var(--adyen-sdk-color-outline-disabled,#dbdee2);box-shadow:none;cursor:not-allowed;opacity:.5;-webkit-user-select:all;-moz-user-select:all;user-select:all}.adyen-checkout__button.adyen-checkout__button--action{background:var(--adyen-sdk-color-background-always-dark,#00112c);border:var(--adyen-sdk-border-width-s,1px) solid transparent;color:var(--adyen-sdk-color-label-on-color,#ffffff);padding:var(--adyen-sdk-spacer-050,10px) var(--adyen-sdk-spacer-060,12px)}.adyen-checkout__button.adyen-checkout__button--action:hover{background:var(--adyen-sdk-color-background-inverse-primary-hover,#5c687c);box-shadow:none}.adyen-checkout__button.adyen-checkout__button--action:active,.adyen-checkout__button.adyen-checkout__button--action:active:hover{background:var(--adyen-sdk-color-background-always-dark-active,#8d95a3);box-shadow:none}.adyen-checkout__button.adyen-checkout__button--link{background:transparent;border:var(--adyen-sdk-border-width-s,1px) solid transparent;border-radius:var(--adyen-sdk-border-radius-s,4px);color:var(--adyen-sdk-color-label-highlight,#0070f5);font-weight:var(--adyen-sdk-text-body-font-weight,400);padding:var(--adyen-sdk-spacer-010,2px);text-decoration:none}.adyen-checkout__button.adyen-checkout__button--link:hover{background:transparent;box-shadow:none;text-decoration:underline}.adyen-checkout__button.adyen-checkout__button--completed,.adyen-checkout__button.adyen-checkout__button--completed:active,.adyen-checkout__button.adyen-checkout__button--completed:active:hover,.adyen-checkout__button.adyen-checkout__button--completed:hover{background:var(--adyen-sdk-color-label-success,#07893c);color:var(--adyen-sdk-color-label-on-color,#ffffff)}.adyen-checkout__button.adyen-checkout__button--completed .adyen-checkout__button__icon{filter:brightness(0) invert(1)}.adyen-checkout__button__content{align-items:center;display:flex;height:100%;justify-content:center}.adyen-checkout__button__icon{margin-right:var(--adyen-sdk-spacer-040,8px)}[dir=rtl] .adyen-checkout__button__icon{margin-left:var(--adyen-sdk-spacer-040,8px);margin-right:0}.adyen-checkout__button__text{display:block;justify-content:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adyen-checkout__button__text--sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.adyen-checkout__button .adyen-checkout__spinner:before{border-color:var(--adyen-sdk-color-label-on-color,#ffffff);border-top-color:transparent;opacity:.1}.adyen-checkout__button .adyen-checkout__spinner:after{border-color:transparent;border-top-color:var(--adyen-sdk-color-label-on-color,#ffffff)}
24
+ .adyen-checkout__button{background:var(--adyen-sdk-color-background-always-dark,#00112c);border:0;border-radius:var(--adyen-sdk-border-radius-m,8px);color:var(--adyen-sdk-color-label-on-color,#ffffff);cursor:pointer;font-size:var(--adyen-sdk-text-title-font-size,1rem);font-weight:var(--adyen-sdk-text-body-stronger-font-weight,500);height:var(--adyen-sdk-spacer-120,48px);margin:0;padding:var(--adyen-sdk-spacer-060,12px) var(--adyen-sdk-spacer-000,0);text-decoration:none;transition:background .3s ease-out,box-shadow .3s ease-out;width:100%}.adyen-checkout__button:focus{box-shadow:0 0 0 1px var(--adyen-sdk-color-outline-tertiary,#8d95a3);outline:0}.adyen-checkout__button:hover{background:var(--adyen-sdk-color-background-inverse-primary-hover,#5c687c);box-shadow:0 0,0 var(--adyen-sdk-spacer-010,2px) var(--adyen-sdk-spacer-020,4px) -1px rgba(0,0,0,.2),0 var(--adyen-sdk-spacer-020,4px) 5px 0 rgba(0,0,0,.14)}.adyen-checkout__button:active{background:var(--adyen-sdk-color-background-always-dark-active,#8d95a3)}.adyen-checkout__button:hover:focus{box-shadow:0 0 0 var(--adyen-sdk-spacer-010,2px) var(--adyen-sdk-color-outline-tertiary,#8d95a3),0 3px var(--adyen-sdk-spacer-020,4px) rgba(0,15,45,.2)}.adyen-checkout__button:disabled,.adyen-checkout__button:disabled:hover{box-shadow:none;cursor:not-allowed;opacity:.4;-webkit-user-select:all;-moz-user-select:all;user-select:all}.adyen-checkout__button.adyen-checkout__button--loading{background:var(--adyen-sdk-color-label-disabled,#8d95a3);box-shadow:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.adyen-checkout__button.adyen-checkout__button--pay{display:flex;justify-content:center;margin-top:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout__button.adyen-checkout__button--pay:disabled{opacity:.4}.adyen-checkout__button.adyen-checkout__button--standalone{margin-top:0}.adyen-checkout__button.adyen-checkout__button--inline{display:block;font-size:.81em;height:auto;padding:var(--adyen-sdk-spacer-050,10px) var(--adyen-sdk-spacer-040,8px);width:auto}.adyen-checkout__button.adyen-checkout__button--ghost{background:none;border:0;color:var(--adyen-sdk-color-label-primary,#00112c)}.adyen-checkout__button.adyen-checkout__button--ghost .adyen-checkout__spinner:before{border-color:var(--adyen-sdk-color-background-inverse-primary,#00112c);border-top-color:transparent;opacity:.1}.adyen-checkout__button.adyen-checkout__button--ghost .adyen-checkout__spinner:after{border-color:transparent;border-top-color:var(--adyen-sdk-color-outline-primary-active,#00112c)}.adyen-checkout__button.adyen-checkout__button--ghost:hover{background:var(--adyen-sdk-color-background-secondary-hover,#eeeff1);box-shadow:none}.adyen-checkout__button.adyen-checkout__button--ghost:active{background:var(--adyen-sdk-color-background-secondary-active,#e3e5e9);box-shadow:none}.adyen-checkout__button.adyen-checkout__button--secondary{background:var(--adyen-sdk-color-background-primary,#ffffff);border:var(--adyen-sdk-border-width-s,1px) solid var(--adyen-sdk-color-label-primary,#00112c);color:var(--adyen-sdk-color-label-primary,#00112c);padding:var(--adyen-sdk-spacer-050,10px) var(--adyen-sdk-spacer-060,12px)}.adyen-checkout__button.adyen-checkout__button--secondary .adyen-checkout__spinner:before{border-color:var(--adyen-sdk-color-background-inverse-primary,#00112c);border-top-color:transparent;opacity:.1}.adyen-checkout__button.adyen-checkout__button--secondary .adyen-checkout__spinner:after{border-color:transparent;border-top-color:var(--adyen-sdk-color-outline-primary-active,#00112c)}.adyen-checkout__button.adyen-checkout__button--secondary:hover{background:var(--adyen-sdk-color-background-secondary,#f7f7f8);box-shadow:0 var(--adyen-sdk-spacer-010,2px) var(--adyen-sdk-spacer-020,4px) rgba(27,42,60,.2),0 var(--adyen-sdk-spacer-020,4px) 5px rgba(27,42,60,.14)}.adyen-checkout__button.adyen-checkout__button--secondary:active,.adyen-checkout__button.adyen-checkout__button--secondary:active:hover{background:var(--adyen-sdk-color-background-secondary,#f7f7f8);box-shadow:none}.adyen-checkout__button.adyen-checkout__button--secondary:focus{box-shadow:0 0 0 .5px var(--adyen-sdk-color-outline-tertiary,#8d95a3);outline:0}.adyen-checkout__button.adyen-checkout__button--secondary:disabled,.adyen-checkout__button.adyen-checkout__button--secondary:disabled:hover{background-color:var(--adyen-sdk-color-background-secondary,#f7f7f8);border-color:var(--adyen-sdk-color-outline-disabled,#dbdee2);box-shadow:none;cursor:not-allowed;opacity:.5;-webkit-user-select:all;-moz-user-select:all;user-select:all}.adyen-checkout__button.adyen-checkout__button--action{background:var(--adyen-sdk-color-background-always-dark,#00112c);border:var(--adyen-sdk-border-width-s,1px) solid transparent;color:var(--adyen-sdk-color-label-on-color,#ffffff);padding:var(--adyen-sdk-spacer-050,10px) var(--adyen-sdk-spacer-060,12px)}.adyen-checkout__button.adyen-checkout__button--action:hover{background:var(--adyen-sdk-color-background-inverse-primary-hover,#5c687c);box-shadow:none}.adyen-checkout__button.adyen-checkout__button--action:active,.adyen-checkout__button.adyen-checkout__button--action:active:hover{background:var(--adyen-sdk-color-background-always-dark-active,#8d95a3);box-shadow:none}.adyen-checkout__button.adyen-checkout__button--link{background:transparent;border:var(--adyen-sdk-border-width-s,1px) solid transparent;border-radius:var(--adyen-sdk-border-radius-s,4px);color:var(--adyen-sdk-color-label-highlight,#0070f5);font-weight:var(--adyen-sdk-text-body-font-weight,400);padding:var(--adyen-sdk-spacer-010,2px);text-decoration:none}.adyen-checkout__button.adyen-checkout__button--link:hover{background:transparent;box-shadow:none;text-decoration:underline}.adyen-checkout__button.adyen-checkout__button--completed,.adyen-checkout__button.adyen-checkout__button--completed:active,.adyen-checkout__button.adyen-checkout__button--completed:active:hover,.adyen-checkout__button.adyen-checkout__button--completed:hover{background:var(--adyen-sdk-color-label-success,#07893c);color:var(--adyen-sdk-color-label-on-color,#ffffff)}.adyen-checkout__button.adyen-checkout__button--completed .adyen-checkout__button__icon{filter:brightness(0) invert(1)}.adyen-checkout__button__content{align-items:center;display:flex;height:100%;justify-content:center}.adyen-checkout__button__icon{margin-right:var(--adyen-sdk-spacer-040,8px)}[dir=rtl] .adyen-checkout__button__icon{margin-left:var(--adyen-sdk-spacer-040,8px);margin-right:0}.adyen-checkout__button__text{display:block;justify-content:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adyen-checkout__button__text--sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.adyen-checkout__button .adyen-checkout__spinner:before{border-color:var(--adyen-sdk-color-label-on-color,#ffffff);border-top-color:transparent;opacity:.1}.adyen-checkout__button .adyen-checkout__spinner:after{border-color:transparent;border-top-color:var(--adyen-sdk-color-label-on-color,#ffffff)}.adyen-checkout__button.adyen-checkout__button--iconOnly{align-items:center;background:transparent;border-radius:var(--adyen-sdk-border-radius-xs,2px);box-shadow:var(--adyen-sdk-button-tertiary-box-shadow,inset 0 0 0 1px rgba(0,0,0,0));color:var(--adyen-sdk-button-tertiary-color,#00112c);display:flex;height:auto;padding:0;width:auto}.adyen-checkout__button.adyen-checkout__button--iconOnly:hover{background:var(--adyen-sdk-button-tertiary-hover-background-color,rgba(0,0,0,0));color:var(--adyen-sdk-button-tertiary-hover-color,#5c687c)}.adyen-checkout__button.adyen-checkout__button--iconOnly:active{background-color:var(--adyen-sdk-button-tertiary-active-background-color,rgba(0,0,0,0));color:var(--adyen-sdk-button-tertiary-active-color,#8d95a3)}.adyen-checkout__button.adyen-checkout__button--iconOnly:focus{box-shadow:none}.adyen-checkout__button.adyen-checkout__button--iconOnly:focus-visible{box-shadow:0 0 0 var(--adyen-sdk-focus-ring-spacer,1px) var(--adyen-sdk-color-background-primary,#ffffff),0 0 0 var(--adyen-sdk-focus-ring-outline,3px) var(--adyen-sdk-focus-ring-color,rgba(0,112,245,.8));outline:0}.adyen-checkout__button.adyen-checkout__button--iconOnly:disabled,.adyen-checkout__button.adyen-checkout__button--iconOnly:disabled:hover{box-shadow:none;cursor:not-allowed;opacity:.4;-webkit-user-select:all;-moz-user-select:all;user-select:all}
25
25
  .adyen-checkout-card-fastlane__modal{margin-bottom:var(--adyen-sdk-spacer-070,16px);max-width:372px}.adyen-checkout-card-fastlane__modal-section{-moz-column-gap:var(--adyen-sdk-spacer-070,16px);column-gap:var(--adyen-sdk-spacer-070,16px);display:grid;grid-template-areas:"image header" ". text";grid-template-columns:auto 1fr;grid-template-rows:auto;margin-bottom:var(--adyen-sdk-spacer-060,12px);place-items:start}.adyen-checkout-card-fastlane__modal-section-image{grid-area:image;place-self:center}.adyen-checkout-card-fastlane__modal-section-header{color:var(--adyen-sdk-color-background-inverse-primary,#00112c);font-size:var(--adyen-sdk-text-title-m-font-size,1.25rem);font-weight:var(--adyen-sdk-text-title-m-font-weight,600);grid-area:header;line-height:var(--adyen-sdk-text-title-m-line-height,30px);margin:0}.adyen-checkout-card-fastlane__modal-section-text{color:var(--adyen-sdk-color-background-inverse-primary,#00112c);font-size:var(--adyen-sdk-text-body-font-size,.875rem);font-weight:var(--adyen-sdk-text-body-font-weight,400);grid-area:text;line-height:var(--adyen-sdk-text-body-line-height,20px)}.adyen-checkout-card-fastlane__modal-brand{height:23px;margin-top:var(--adyen-sdk-spacer-040,8px);width:168px}.adyen-checkout-card-fastlane__modal-button-container{display:flex;flex-direction:row-reverse;margin-bottom:var(--adyen-sdk-spacer-060,12px)}.adyen-checkout-card-fastlane__modal-button-container>button{line-height:0}
26
26
  .adyen-checkout-card__fastlane{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);margin-top:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout-card__fastlane,[dir=rtl] .adyen-checkout-card__fastlane{padding:var(--adyen-sdk-spacer-060,12px) var(--adyen-sdk-spacer-070,16px)}.adyen-checkout-card__fastlane-consent-toggle{display:flex}.adyen-checkout-card__fastlane-consent-text,.adyen-checkout-card__fastlane-consent-toggle--active{margin-bottom:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout-card__fastlane-consent-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)}.adyen-checkout-card__fastlane-brand{height:23px;width:168px}.adyen-checkout__button.adyen-checkout__button--fastlane-info-modal{height:20px;line-height:0;margin-left:var(--adyen-sdk-spacer-020,4px);padding:0;vertical-align:bottom;width:20px}
27
27
  .adyen-checkout-ctp__otp-resend-code-wrapper{line-height:var(--adyen-sdk-text-body-line-height,20px);margin-left:auto;position:absolute;right:0;top:0}.adyen-checkout-ctp__otp-resend-code--confirmation,.adyen-checkout-ctp__otp-resend-code--disabled{color:var(--adyen-sdk-color-label-tertiary,#5c687c);cursor:default;font-size:var(--adyen-sdk-text-body-font-size,.875rem);font-weight:var(--adyen-sdk-text-body-font-weight,400);margin-left:auto;pointer-events:none}.adyen-checkout-ctp__otp-resend-code--confirmation{align-items:center;display:flex}.adyen-checkout-ctp__otp-resend-code--confirmation>img{margin-left:var(--adyen-sdk-spacer-020,4px)}.adyen-checkout-ctp__otp-resend-code-counter{color:var(--adyen-sdk-color-label-primary,#00112c);cursor:default;display:inline-block;font-size:var(--adyen-sdk-text-body-font-size,.875rem);font-weight:var(--adyen-sdk-text-body-font-weight,400);margin-left:auto;text-align:right}.adyen-checkout-ctp__section>.adyen-checkout__field.adyen-checkout__field--otp{margin-bottom:var(--adyen-sdk-spacer-060,12px)}.adyen-checkout-ctp__otp-field-wrapper{position:relative}
@@ -44,8 +44,10 @@
44
44
  .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}
45
45
  .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}
46
46
  .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}
47
- .adyen-checkout__voucher-result{border-radius:var(--adyen-sdk-border-radius-m,8px);position:relative;text-align:center}.adyen-checkout__voucher-result__bottom,.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)}.adyen-checkout__voucher-result__top{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-110,40px) 0 var(--adyen-sdk-spacer-090,24px)}.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}.adyen-checkout__voucher-result__separator{align-items:center;background:var(--adyen-sdk-color-background-primary,#ffffff);display:flex;margin:0 auto;position:relative}.adyen-checkout__voucher-result__separator__inner{border-top:1px solid var(--adyen-sdk-color-separator-primary,#dbdee2);width:100%}.adyen-checkout__voucher-result__image{align-items:center;display:flex;justify-content:center;margin-bottom:var(--adyen-sdk-spacer-110,40px);width:100%}.adyen-checkout-link--voucher-result-instructions{display:inline-block}.adyen-checkout__voucher-result__image__wrapper{display:block;height:var(--adyen-sdk-spacer-120,48px);margin:0 var(--adyen-sdk-spacer-090,24px);position:relative}.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__image__wrapper:nth-child(2){margin-left:0}.adyen-checkout__voucher-result__image__brand,.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__introduction{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 auto;max-width:400px;text-align:center}.adyen-checkout__voucher-result__amount{color:var(--adyen-sdk-color-label-primary,#00112c);font-size:var(--adyen-sdk-text-subtitle-font-size,1rem);font-weight:700;margin:var(--adyen-sdk-spacer-090,24px) auto 0;text-align:center}.adyen-checkout__voucher-result__surcharge{color:var(--adyen-sdk-color-label-secondary,#5c687c);font-size:var(--adyen-sdk-text-body-font-size,.875rem);text-align:center}.adyen-checkout__voucher-result__code__label,.adyen-checkout__voucher-result__surcharge{display:block;font-weight:400;line-height:var(--adyen-sdk-text-caption-line-height,18px)}.adyen-checkout__voucher-result__code__label{left:0;margin:0 auto;position:absolute;right:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:auto}.adyen-checkout__voucher-result__code__label:before{content:"";position:absolute}.adyen-checkout__voucher-result__code__label__text{background:var(--adyen-sdk-color-background-primary,#ffffff);color:var(--adyen-sdk-color-label-primary,#00112c);font-size:var(--adyen-sdk-text-body-font-size,.875rem);letter-spacing:normal;line-height:1;padding:0 var(--adyen-sdk-spacer-040,8px)}.adyen-checkout__voucher-result__code__barcode{display:block;height:var(--adyen-sdk-spacer-130,56px);margin:0 auto var(--adyen-sdk-spacer-040,8px);max-width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none}.adyen-checkout__voucher-result__code{border-width:1px 0;color:var(--adyen-sdk-color-label-primary,#00112c);display:inline-block;font-size:var(--adyen-sdk-text-title-l-font-size,1.5rem);font-weight:700;letter-spacing:1px;line-height:1.2;margin:0 auto;padding:var(--adyen-sdk-spacer-070,16px) var(--adyen-sdk-spacer-120,48px);position:relative;text-align:center;-webkit-user-select:all;-moz-user-select:all;user-select:all;width:100%;word-break:break-word}.adyen-checkout__voucher-result__actions{align-items:center;display:flex;justify-content:center;list-style:none;margin:0 auto var(--adyen-sdk-spacer-100,32px);max-width:100%;min-width:200px;padding:0;width:300px}.adyen-checkout__voucher-result__actions__item{margin:0 var(--adyen-sdk-spacer-020,4px)}
48
- .adyen-checkout__details-table{list-style:none;margin:-1px auto 0;padding:0}.adyen-checkout__details-table__item{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{max-width:50%;text-align:left}.adyen-checkout__details-table__value{font-weight:700;max-width:50%;text-align:right}
47
+ .adyen-checkout__voucher-result{border-radius:var(--adyen-sdk-border-radius-m,8px);position:relative;text-align:center}.adyen-checkout__voucher-result__bottom,.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)}.adyen-checkout__voucher-result__bottom .adyen-checkout__details-table,.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 var(--adyen-sdk-spacer-090,24px) var(--adyen-sdk-spacer-100,32px)}.adyen-checkout__voucher-result__bottom .adyen-checkout__details-table__item:first-child,.adyen-checkout__voucher-result__top .adyen-checkout__details-table__item:first-child{border-top:none}.adyen-checkout__voucher-result__top{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-110,40px) 0 var(--adyen-sdk-spacer-090,24px)}.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}.adyen-checkout__voucher-result__separator{align-items:center;background:var(--adyen-sdk-color-background-primary,#ffffff);display:flex;margin:0 auto;position:relative}.adyen-checkout__voucher-result__separator__inner{border-top:1px solid var(--adyen-sdk-color-separator-primary,#dbdee2);width:100%}.adyen-checkout__voucher-result__image{align-items:center;display:flex;justify-content:center;margin-bottom:var(--adyen-sdk-spacer-110,40px);width:100%}.adyen-checkout-link--voucher-result-instructions{display:inline-block}.adyen-checkout__voucher-result__image__wrapper{display:block;height:var(--adyen-sdk-spacer-120,48px);margin:0 var(--adyen-sdk-spacer-090,24px);position:relative}.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__image__wrapper:nth-child(2){margin-left:0}.adyen-checkout__voucher-result__image__brand,.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__introduction{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 auto;max-width:400px;text-align:center}.adyen-checkout__voucher-result__amount{color:var(--adyen-sdk-color-label-primary,#00112c);font-size:var(--adyen-sdk-text-subtitle-font-size,1rem);font-weight:700;margin:var(--adyen-sdk-spacer-090,24px) auto 0;text-align:center}.adyen-checkout__voucher-result__surcharge{color:var(--adyen-sdk-color-label-secondary,#5c687c);font-size:var(--adyen-sdk-text-body-font-size,.875rem);text-align:center}.adyen-checkout__voucher-result__code__label,.adyen-checkout__voucher-result__surcharge{display:block;font-weight:400;line-height:var(--adyen-sdk-text-caption-line-height,18px)}.adyen-checkout__voucher-result__code__label{left:0;margin:0 auto;position:absolute;right:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:auto}.adyen-checkout__voucher-result__code__label:before{content:"";position:absolute}.adyen-checkout__voucher-result__code__label__text{background:var(--adyen-sdk-color-background-primary,#ffffff);color:var(--adyen-sdk-color-label-primary,#00112c);font-size:var(--adyen-sdk-text-body-font-size,.875rem);letter-spacing:normal;line-height:1;padding:0 var(--adyen-sdk-spacer-040,8px)}.adyen-checkout__voucher-result__code__barcode{display:block;height:var(--adyen-sdk-spacer-130,56px);margin:0 auto var(--adyen-sdk-spacer-040,8px);max-width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none}.adyen-checkout__voucher-result__code{border-width:1px 0;color:var(--adyen-sdk-color-label-primary,#00112c);display:inline-block;font-size:var(--adyen-sdk-text-title-l-font-size,1.5rem);font-weight:700;letter-spacing:1px;line-height:1.2;margin:0 auto;padding:var(--adyen-sdk-spacer-070,16px) var(--adyen-sdk-spacer-120,48px);position:relative;text-align:center;-webkit-user-select:all;-moz-user-select:all;user-select:all;width:100%;word-break:break-word}.adyen-checkout__voucher-result__actions{align-items:center;display:flex;justify-content:center;list-style:none;margin:0 auto var(--adyen-sdk-spacer-100,32px);max-width:100%;min-width:200px;padding:0;width:300px}.adyen-checkout__voucher-result__actions__item{margin:0 var(--adyen-sdk-spacer-020,4px)}
48
+ .adyen-checkout__details-table{list-style:none;margin:-1px auto 0;padding:0}.adyen-checkout__details-table__item{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}
49
+ .adyen-checkout-tooltip{background:var(--adyen-sdk-tooltip-background-color,#00112c);border-radius:var(--adyen-sdk-tooltip-border-radius,4px);color:var(--adyen-sdk-tooltip-color,#ffffff);display:inline-block;font-size:var(--adyen-sdk-text-body-font-size,.875rem);padding:var(--adyen-sdk-tooltip-padding,4px 8px);pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;z-index:var(--adyen-sdk-tooltip-z-index,5)}.adyen-checkout-tooltip--hidden{height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;clip:rect(0 0 0 0);border:0;clip-path:inset(50%);white-space:nowrap}.adyen-checkout-tooltip-arrow{border-style:solid;height:0;position:absolute;width:0}.adyen-checkout-tooltip-arrow.adyen-checkout-tooltip-arrow--top{border-color:var(--adyen-sdk-tooltip-background-color,#00112c) transparent transparent;border-width:6px 6px 0;bottom:-4px;left:50%;transform:translateX(-50%)}.adyen-checkout-tooltip-arrow.adyen-checkout-tooltip-arrow--bottom{border-color:transparent transparent var(--adyen-sdk-tooltip-background-color,#00112c);border-width:0 6px 6px;left:50%;top:-4px;transform:translateX(-50%)}
50
+ .adyen-checkout__button--iconOnly__icon{fill:currentcolor;transition:fill .3s ease}
49
51
  .adyen-checkout__voucher-result__introduction{font-size:var(--adyen-sdk-text-title-font-size,1rem);max-width:420px}
50
52
  .adyen-checkout__eftpad-canada-info{align-items:center;background-color:#f2f8ff;border:1px solid var(--adyen-sdk-color-outline-primary,#dbdee2);border-radius:var(--adyen-sdk-border-radius-m,8px);display:flex;font-size:var(--adyen-sdk-text-body-font-size,.875rem);font-weight:var(--adyen-sdk-text-body-font-weight,400);gap:var(--adyen-sdk-spacer-070,16px);line-height:var(--adyen-sdk-text-body-line-height,20px);margin-bottom:var(--adyen-sdk-spacer-070,16px);padding:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout_eftpad-canada-store-details{margin-bottom:var(--adyen-sdk-spacer-070,16px);margin-top:0}
51
53
  .adyen-checkout__fieldset--personalDetails .adyen-checkout__field--gender .adyen-checkout__radio_group{display:flex}.adyen-checkout__fieldset--personalDetails .adyen-checkout__radio_group{display:flex;margin:var(--adyen-sdk-spacer-040,8px) 0}.adyen-checkout__fieldset--personalDetails .adyen-checkout__radio_group__input-wrapper{margin-right:var(--adyen-sdk-spacer-080,20px)}.adyen-checkout__fieldset--personalDetails .adyen-checkout__radio_group__input-wrapper:last-child{margin:0}.adyen-checkout__field--gender .adyen-checkout__input-wrapper{background-color:transparent;border:none;box-shadow:none}.adyen-checkout__field--gender .adyen-checkout__input-wrapper:active,.adyen-checkout__field--gender .adyen-checkout__input-wrapper:active:hover,.adyen-checkout__field--gender .adyen-checkout__input-wrapper:focus-within,.adyen-checkout__field--gender .adyen-checkout__input-wrapper:focus-within:hover{box-shadow:none}
@@ -92,6 +94,7 @@ apple-pay-button{--apple-pay-button-width:100%;--apple-pay-button-height:48px;--
92
94
  .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}
93
95
  .adyen-checkout__alert-message{border-radius:var(--adyen-sdk-border-radius-m,8px);display:flex;font-size:var(--adyen-sdk-text-caption-font-size,.75rem);margin:0 0 var(--adyen-sdk-spacer-070,16px);padding:var(--adyen-sdk-spacer-060,12px);text-align:left}.adyen-checkout__alert-message--error{background:var(--adyen-sdk-color-background-critical-strong,#e22d2d)}.adyen-checkout__alert-message--info{background:var(--adyen-sdk-color-background-secondary,#f7f7f8)}.adyen-checkout__alert-message__icon{height:14px;margin-right:var(--adyen-sdk-spacer-040,8px);width:14px}
94
96
  .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}
97
+ .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)}
95
98
  .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)}
96
99
  .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}
97
100
  .adyen-checkout__button-group{background:transparent;display:flex;justify-content:space-between}.adyen-checkout__button-group .adyen-checkout__button{background:transparent;border:0;box-shadow:inset 0 0 0 1px var(--adyen-sdk-color-outline-primary,#dbdee2);color:var(--adyen-sdk-color-label-primary,#00112c);font-size:var(--adyen-sdk-text-body-font-size,.875rem);font-weight:400;height:var(--adyen-sdk-spacer-110,40px);line-height:var(--adyen-sdk-spacer-110,40px);margin-right:var(--adyen-sdk-spacer-040,8px);padding:0;text-align:center}.adyen-checkout__button-group .adyen-checkout__button:last-child{margin-right:0}.adyen-checkout__button-group .adyen-checkout__button:hover{background:transparent;box-shadow:inset 0 0 0 var(--adyen-sdk-spacer-010,2px) var(--adyen-sdk-color-outline-primary-hover,#c9cdd3)}.adyen-checkout__button-group .adyen-checkout__button:active{background:var(--adyen-sdk-color-background-secondary,#f7f7f8);box-shadow:inset 0 0 0 var(--adyen-sdk-spacer-010,2px) var(--adyen-sdk-color-outline-tertiary,#8d95a3)}.adyen-checkout__button-group .adyen-checkout__button--disabled,.adyen-checkout__button-group .adyen-checkout__button--disabled:hover{cursor:not-allowed;opacity:.4;-webkit-user-select:none;-moz-user-select:none;user-select:none}.adyen-checkout__button-group .adyen-checkout__button--selected,.adyen-checkout__button-group .adyen-checkout__button--selected:active,.adyen-checkout__button-group .adyen-checkout__button--selected:active:hover,.adyen-checkout__button-group .adyen-checkout__button--selected:hover{background:var(--adyen-sdk-color-background-secondary,#f7f7f8);box-shadow:inset 0 0 0 1px var(--adyen-sdk-color-label-primary,#00112c);color:var(--adyen-sdk-color-label-primary,#00112c);font-weight:var(--adyen-sdk-text-body-stronger-font-weight,500);height:var(--adyen-sdk-spacer-110,40px);transition:none}.adyen-checkout__button-group .adyen-checkout__button .adyen-checkout__button-group__input{opacity:0;pointer-events:none;position:absolute}