@adyen/adyen-web 6.40.1 → 6.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs +2 -2
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.cts +54 -61
- package/dist/es/components/ANCV/ANCV.js +1 -1
- package/dist/es/components/ANCV/ANCV.js.map +1 -1
- package/dist/es/components/ANCV/components/ANCVInput.js +1 -1
- package/dist/es/components/ANCV/components/ANCVInput.js.map +1 -1
- package/dist/es/components/Blik/Blik.js +1 -1
- package/dist/es/components/Blik/Blik.js.map +1 -1
- package/dist/es/components/Card/Card.js +1 -1
- package/dist/es/components/Card/Card.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/types.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/utils.js +1 -1
- package/dist/es/components/Card/components/CardInput/utils.js.map +1 -1
- package/dist/es/components/CustomCard/CustomCard.js +1 -1
- package/dist/es/components/CustomCard/CustomCard.js.map +1 -1
- package/dist/es/components/CustomCard/CustomCardInput/CustomCardInput.js +1 -1
- package/dist/es/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
- package/dist/es/components/Dropin/Dropin.js +1 -1
- package/dist/es/components/Dropin/Dropin.js.map +1 -1
- package/dist/es/components/Dropin/components/DropinComponent.js +1 -1
- package/dist/es/components/Dropin/components/DropinComponent.js.map +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/DisableOneClickConfirmation.js +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/DisableOneClickConfirmation.js.map +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/OrderPaymentMethods.js +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/OrderPaymentMethods.js.map +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodList.js.map +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js.map +1 -1
- package/dist/es/components/Giftcard/Giftcard.js +1 -1
- package/dist/es/components/Giftcard/Giftcard.js.map +1 -1
- package/dist/es/components/Giftcard/components/GiftcardComponent.js.map +1 -1
- package/dist/es/components/Giftcard/components/GiftcardPinField.js +1 -1
- package/dist/es/components/Giftcard/components/GiftcardPinField.js.map +1 -1
- package/dist/es/components/Iris/Iris.js +1 -1
- package/dist/es/components/Iris/Iris.js.map +1 -1
- package/dist/es/components/MBWay/MBWay.js +1 -1
- package/dist/es/components/MBWay/MBWay.js.map +1 -1
- package/dist/es/components/MealVoucherFR/components/MealVoucherExpiryField.js +1 -1
- package/dist/es/components/MealVoucherFR/components/MealVoucherExpiryField.js.map +1 -1
- package/dist/es/components/PayTo/PayTo.js +1 -1
- package/dist/es/components/PayTo/PayTo.js.map +1 -1
- package/dist/es/components/PayTo/components/BSBInput.js +1 -1
- package/dist/es/components/PayTo/components/BSBInput.js.map +1 -1
- package/dist/es/components/PayTo/components/IdentifierSelector.js +1 -1
- package/dist/es/components/PayTo/components/IdentifierSelector.js.map +1 -1
- package/dist/es/components/PayTo/components/PayIDInput.js +1 -1
- package/dist/es/components/PayTo/components/PayIDInput.js.map +1 -1
- package/dist/es/components/PayTo/components/validate.js +1 -1
- package/dist/es/components/PayTo/components/validate.js.map +1 -1
- package/dist/es/components/ThreeDS2/ThreeDS2Challenge.js.map +1 -1
- package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
- package/dist/es/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js.map +1 -1
- package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
- package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
- package/dist/es/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js.map +1 -1
- package/dist/es/components/UPI/UPI.js +1 -1
- package/dist/es/components/UPI/UPI.js.map +1 -1
- package/dist/es/components/internal/Await/Await.js +1 -1
- package/dist/es/components/internal/Await/Await.js.map +1 -1
- package/dist/es/components/internal/BaseElement/BaseElement.js +1 -1
- package/dist/es/components/internal/BaseElement/BaseElement.js.map +1 -1
- package/dist/es/components/internal/Button/Button.js +1 -1
- package/dist/es/components/internal/Button/Button.js.map +1 -1
- package/dist/es/components/internal/Button/CopyButton.js +1 -1
- package/dist/es/components/internal/Button/CopyButton.js.map +1 -1
- package/dist/es/components/internal/Button/CopyIconButton.js +1 -1
- package/dist/es/components/internal/Button/CopyIconButton.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/ClickToPayComponent.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPLogin/CtPLoginInput.js +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPLogin/CtPLoginInput.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPSection/CtPSection.js +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPSection/CtPSection.js.map +1 -1
- package/dist/es/components/internal/FormFields/Fieldset/Fieldset.js +1 -1
- package/dist/es/components/internal/FormFields/Fieldset/Fieldset.js.map +1 -1
- package/dist/es/components/internal/FormFields/InputBase.js +1 -1
- package/dist/es/components/internal/FormFields/InputBase.js.map +1 -1
- package/dist/es/components/internal/FormFields/Select/Select.js +1 -1
- package/dist/es/components/internal/FormFields/Select/Select.js.map +1 -1
- package/dist/es/components/internal/FormFields/Select/components/SelectButton.js +1 -1
- package/dist/es/components/internal/FormFields/Select/components/SelectButton.js.map +1 -1
- package/dist/es/components/internal/Modal/Modal.js +1 -1
- package/dist/es/components/internal/Modal/Modal.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
- package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js +1 -1
- package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/SFP/defaultProps.js +1 -1
- package/dist/es/components/internal/SecuredFields/SFP/defaultProps.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/binLookup/triggerBinLookUp.js +1 -1
- package/dist/es/components/internal/SecuredFields/binLookup/triggerBinLookUp.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/configureCallbacks.js +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/configureCallbacks.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js +1 -1
- package/dist/es/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js +1 -1
- package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
- package/dist/es/components/internal/SegmentedControl/SegmentedControl.js +1 -1
- package/dist/es/components/internal/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/es/components/internal/UIElement/UIElement.js +1 -1
- package/dist/es/components/internal/UIElement/UIElement.js.map +1 -1
- package/dist/es/core/Analytics/events/AnalyticsErrorEvent.js +1 -1
- package/dist/es/core/Analytics/events/AnalyticsErrorEvent.js.map +1 -1
- package/dist/es/core/config.js +1 -1
- package/dist/es/index.d.ts +54 -61
- package/dist/es/language/utils.js +1 -1
- package/dist/es/language/utils.js.map +1 -1
- package/dist/es/packages/server/translations/en-US.json.js +1 -1
- package/dist/es/utils/commonUtils.js +1 -1
- package/dist/es/utils/commonUtils.js.map +1 -1
- package/dist/es/utils/get-process-message-handler.js +1 -1
- package/dist/es/utils/get-process-message-handler.js.map +1 -1
- package/dist/es/utils/promiseTimeout.js.map +1 -1
- package/dist/es-legacy/components/ANCV/ANCV.js +1 -1
- package/dist/es-legacy/components/ANCV/ANCV.js.map +1 -1
- package/dist/es-legacy/components/ANCV/components/ANCVInput.js +1 -1
- package/dist/es-legacy/components/ANCV/components/ANCVInput.js.map +1 -1
- package/dist/es-legacy/components/Blik/Blik.js +1 -1
- package/dist/es-legacy/components/Blik/Blik.js.map +1 -1
- package/dist/es-legacy/components/Card/Card.js +1 -1
- package/dist/es-legacy/components/Card/Card.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/types.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/utils.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/utils.js.map +1 -1
- package/dist/es-legacy/components/CustomCard/CustomCard.js +1 -1
- package/dist/es-legacy/components/CustomCard/CustomCard.js.map +1 -1
- package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js +1 -1
- package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
- package/dist/es-legacy/components/Dropin/Dropin.js +1 -1
- package/dist/es-legacy/components/Dropin/Dropin.js.map +1 -1
- package/dist/es-legacy/components/Dropin/components/DropinComponent.js +1 -1
- package/dist/es-legacy/components/Dropin/components/DropinComponent.js.map +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/DisableOneClickConfirmation.js +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/DisableOneClickConfirmation.js.map +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/OrderPaymentMethods.js +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/OrderPaymentMethods.js.map +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodList.js.map +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js.map +1 -1
- package/dist/es-legacy/components/Giftcard/Giftcard.js +1 -1
- package/dist/es-legacy/components/Giftcard/Giftcard.js.map +1 -1
- package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js.map +1 -1
- package/dist/es-legacy/components/Giftcard/components/GiftcardPinField.js +1 -1
- package/dist/es-legacy/components/Giftcard/components/GiftcardPinField.js.map +1 -1
- package/dist/es-legacy/components/Iris/Iris.js +1 -1
- package/dist/es-legacy/components/Iris/Iris.js.map +1 -1
- package/dist/es-legacy/components/MBWay/MBWay.js +1 -1
- package/dist/es-legacy/components/MBWay/MBWay.js.map +1 -1
- package/dist/es-legacy/components/MealVoucherFR/components/MealVoucherExpiryField.js +1 -1
- package/dist/es-legacy/components/MealVoucherFR/components/MealVoucherExpiryField.js.map +1 -1
- package/dist/es-legacy/components/PayTo/PayTo.js +1 -1
- package/dist/es-legacy/components/PayTo/PayTo.js.map +1 -1
- package/dist/es-legacy/components/PayTo/components/BSBInput.js +1 -1
- package/dist/es-legacy/components/PayTo/components/BSBInput.js.map +1 -1
- package/dist/es-legacy/components/PayTo/components/IdentifierSelector.js +1 -1
- package/dist/es-legacy/components/PayTo/components/IdentifierSelector.js.map +1 -1
- package/dist/es-legacy/components/PayTo/components/PayIDInput.js +1 -1
- package/dist/es-legacy/components/PayTo/components/PayIDInput.js.map +1 -1
- package/dist/es-legacy/components/PayTo/components/validate.js +1 -1
- package/dist/es-legacy/components/PayTo/components/validate.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/ThreeDS2Challenge.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js.map +1 -1
- package/dist/es-legacy/components/UPI/UPI.js +1 -1
- package/dist/es-legacy/components/UPI/UPI.js.map +1 -1
- package/dist/es-legacy/components/internal/Await/Await.js +1 -1
- package/dist/es-legacy/components/internal/Await/Await.js.map +1 -1
- package/dist/es-legacy/components/internal/BaseElement/BaseElement.js +1 -1
- package/dist/es-legacy/components/internal/BaseElement/BaseElement.js.map +1 -1
- package/dist/es-legacy/components/internal/Button/Button.js +1 -1
- package/dist/es-legacy/components/internal/Button/Button.js.map +1 -1
- package/dist/es-legacy/components/internal/Button/CopyButton.js +1 -1
- package/dist/es-legacy/components/internal/Button/CopyButton.js.map +1 -1
- package/dist/es-legacy/components/internal/Button/CopyIconButton.js +1 -1
- package/dist/es-legacy/components/internal/Button/CopyIconButton.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/ClickToPayComponent.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPLogin/CtPLoginInput.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPLogin/CtPLoginInput.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPOneTimePasswordInput.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPSection/CtPSection.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPSection/CtPSection.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/Fieldset/Fieldset.js +1 -1
- package/dist/es-legacy/components/internal/FormFields/Fieldset/Fieldset.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/InputBase.js +1 -1
- package/dist/es-legacy/components/internal/FormFields/InputBase.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/Select/Select.js +1 -1
- package/dist/es-legacy/components/internal/FormFields/Select/Select.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/Select/components/SelectButton.js +1 -1
- package/dist/es-legacy/components/internal/FormFields/Select/components/SelectButton.js.map +1 -1
- package/dist/es-legacy/components/internal/Modal/Modal.js +1 -1
- package/dist/es-legacy/components/internal/Modal/Modal.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/SFP/defaultProps.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/SFP/defaultProps.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/binLookup/triggerBinLookUp.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/binLookup/triggerBinLookUp.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/configureCallbacks.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/configureCallbacks.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/SecuredField.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
- package/dist/es-legacy/components/internal/SegmentedControl/SegmentedControl.js +1 -1
- package/dist/es-legacy/components/internal/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/es-legacy/components/internal/UIElement/UIElement.js +1 -1
- package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
- package/dist/es-legacy/core/Analytics/events/AnalyticsErrorEvent.js +1 -1
- package/dist/es-legacy/core/Analytics/events/AnalyticsErrorEvent.js.map +1 -1
- package/dist/es-legacy/core/config.js +1 -1
- package/dist/es-legacy/language/utils.js +1 -1
- package/dist/es-legacy/language/utils.js.map +1 -1
- package/dist/es-legacy/packages/server/translations/en-US.json.js +1 -1
- package/dist/es-legacy/utils/commonUtils.js +1 -1
- package/dist/es-legacy/utils/commonUtils.js.map +1 -1
- package/dist/es-legacy/utils/get-process-message-handler.js +1 -1
- package/dist/es-legacy/utils/get-process-message-handler.js.map +1 -1
- package/dist/es-legacy/utils/promiseTimeout.js.map +1 -1
- package/package.json +19 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentMethodItem.js","sources":["../../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport classNames from 'classnames';\n\nimport { PaymentMethodDetails } from '../PaymentMethodDetails';\nimport PaymentMethodIcon from '../PaymentMethodIcon';\nimport DisableOneClickConfirmation from '../DisableOneClickConfirmation';\nimport UIElement from '../../../../internal/UIElement/UIElement';\nimport PaymentMethodBrands from '../PaymentMethodBrands/PaymentMethodBrands';\nimport { BRAND_ICON_UI_EXCLUSION_LIST } from '../../../../internal/SecuredFields/lib/constants';\nimport PaymentMethodName from '../PaymentMethodName';\nimport { useCoreContext } from '../../../../../core/Context/CoreProvider';\nimport ExpandButton from '../../../../internal/ExpandButton';\nimport { getFullBrandName } from '../../../../Card/components/CardInput/utils';\nimport { stopPropagationForActionKeys } from '../../../../internal/Button/stopPropagationForActionKeys';\nimport './PaymentMethodItem.scss';\nimport Button from '../../../../internal/Button';\n\nexport interface PaymentMethodItemProps {\n paymentMethod: UIElement;\n isSelected?: boolean;\n isLoading?: boolean;\n isDisablingPaymentMethod: boolean;\n showRemovePaymentMethodButton: boolean;\n onDisableStoredPaymentMethod: (paymentMethod) => void;\n onSelect: (paymentMethod: UIElement) => void;\n standalone: boolean;\n className?: string;\n showRadioButton?: boolean;\n}\n\nclass PaymentMethodItem extends Component<Readonly<PaymentMethodItemProps>> {\n public static readonly defaultProps = {\n paymentMethod: null,\n isSelected: false,\n isLoaded: false,\n isLoading: false,\n showDisableStoredPaymentMethodConfirmation: false,\n showRadioButton: false\n };\n\n public state = {\n showDisableStoredPaymentMethodConfirmation: false\n };\n\n public toggleDisableConfirmation = () => {\n this.setState({ showDisableStoredPaymentMethodConfirmation: !this.state.showDisableStoredPaymentMethodConfirmation });\n };\n\n public onDisableStoredPaymentMethod = () => {\n this.props.onDisableStoredPaymentMethod(this.props.paymentMethod);\n this.toggleDisableConfirmation();\n };\n\n private readonly handleOnListItemClick = (): void => {\n const { onSelect, paymentMethod } = this.props;\n onSelect(paymentMethod);\n };\n\n // @ts-ignore need to refine the type for paymentMethod\n render({ paymentMethod, isSelected, isDisablingPaymentMethod, isLoading, standalone, showRadioButton }) {\n const { i18n } = useCoreContext();\n\n if (!paymentMethod) {\n return null;\n }\n\n const isCard = paymentMethod.props.type === 'card' || paymentMethod.props.type === 'scheme';\n\n const paymentMethodClassnames = classNames({\n 'adyen-checkout__payment-method': true,\n [`adyen-checkout__payment-method--${paymentMethod.props.type}`]: true,\n ...(isCard && { [`adyen-checkout__payment-method--${paymentMethod.props.fundingSource ?? 'credit'}`]: true }),\n 'adyen-checkout__payment-method--selected': isSelected,\n 'adyen-checkout__payment-method--loading': isLoading,\n 'adyen-checkout__payment-method--disabling': isDisablingPaymentMethod,\n 'adyen-checkout__payment-method--confirming': this.state.showDisableStoredPaymentMethodConfirmation,\n 'adyen-checkout__payment-method--standalone': standalone,\n [paymentMethod._id]: true,\n [this.props.className]: true\n });\n\n const showRemovePaymentMethodButton = this.props.showRemovePaymentMethodButton && paymentMethod.props.oneClick && isSelected;\n const disableConfirmationId = `remove-${paymentMethod._id}`;\n const containerId = `container-${paymentMethod._id}`;\n const buttonId = `button-${paymentMethod._id}`;\n\n const showBrands = !paymentMethod.props.oneClick && paymentMethod.brands && paymentMethod.brands.length > 0;\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions\n <div key={paymentMethod._id} className={paymentMethodClassnames} onClick={this.handleOnListItemClick}>\n <div className=\"adyen-checkout__payment-method__header\">\n <ExpandButton\n className=\"adyen-checkout__payment-method__header__content\"\n buttonId={buttonId}\n showRadioButton={showRadioButton}\n isSelected={isSelected}\n expandContentId={containerId}\n standalone={standalone}\n >\n <PaymentMethodIcon\n // Only add alt attribute to storedPaymentMethods (to avoid SR reading the PM name twice)\n {...(paymentMethod.props.oneClick && { alt: getFullBrandName(paymentMethod.props.brand) })}\n type={paymentMethod.type}\n src={paymentMethod.icon}\n />\n\n <div className=\"adyen-checkout__payment-method__header__details\">\n <PaymentMethodName\n displayName={paymentMethod.displayName}\n isSelected={isSelected}\n additionalInfo={paymentMethod.additionalInfo}\n />\n {showBrands && (\n <PaymentMethodBrands\n showOtherInsteadOfNumber={paymentMethod.props.showOtherInsteadOfNumber}\n keepBrandsVisible={paymentMethod.props.keepBrandsVisible}\n brands={paymentMethod.brands}\n excludedUIBrands={BRAND_ICON_UI_EXCLUSION_LIST}\n isPaymentMethodSelected={isSelected}\n />\n )}\n </div>\n </ExpandButton>\n\n {showRemovePaymentMethodButton && (\n <Button\n inline\n variant=\"link\"\n onClick={this.toggleDisableConfirmation}\n onKeyPress={stopPropagationForActionKeys}\n onKeyDown={stopPropagationForActionKeys}\n ariaExpanded={this.state.showDisableStoredPaymentMethodConfirmation}\n ariaControls={disableConfirmationId}\n >\n {i18n.get('storedPaymentMethod.disable.button')}\n </Button>\n )}\n </div>\n\n <div className=\"adyen-checkout-pm-details-wrapper\" aria-hidden={!isSelected}>\n <div className=\"adyen-checkout__payment-method__details\" id={containerId} inert={isSelected ? undefined : true}>\n {showRemovePaymentMethodButton && (\n <DisableOneClickConfirmation\n id={disableConfirmationId}\n open={this.state.showDisableStoredPaymentMethodConfirmation}\n onDisable={this.onDisableStoredPaymentMethod}\n onCancel={this.toggleDisableConfirmation}\n />\n )}\n\n <PaymentMethodDetails paymentMethodComponent={paymentMethod} isSelected={isSelected} />\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default PaymentMethodItem;\n"],"names":["PaymentMethodItem","Component","render","paymentMethod","isSelected","isDisablingPaymentMethod","isLoading","standalone","showRadioButton","i18n","useCoreContext","isCard","props","type","paymentMethodClassnames","classNames","_object_spread_props","_object_spread","fundingSource","this","state","showDisableStoredPaymentMethodConfirmation","_id","className","showRemovePaymentMethodButton","oneClick","disableConfirmationId","containerId","buttonId","showBrands","brands","length","h","div","key","onClick","handleOnListItemClick","ExpandButton","expandContentId","PaymentMethodIcon","alt","getFullBrandName","brand","src","icon","PaymentMethodName","displayName","additionalInfo","PaymentMethodBrands","showOtherInsteadOfNumber","keepBrandsVisible","excludedUIBrands","BRAND_ICON_UI_EXCLUSION_LIST","isPaymentMethodSelected","Button","inline","variant","toggleDisableConfirmation","onKeyPress","stopPropagationForActionKeys","onKeyDown","ariaExpanded","ariaControls","get","aria-hidden","id","inert","undefined","DisableOneClickConfirmation","open","onDisable","onDisableStoredPaymentMethod","onCancel","PaymentMethodDetails","paymentMethodComponent","super","args","_define_property","setState","onSelect","defaultProps","isLoaded"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PaymentMethodItem.js","sources":["../../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport classNames from 'classnames';\n\nimport { PaymentMethodDetails } from '../PaymentMethodDetails';\nimport PaymentMethodIcon from '../PaymentMethodIcon';\nimport DisableOneClickConfirmation from '../DisableOneClickConfirmation';\nimport UIElement from '../../../../internal/UIElement/UIElement';\nimport PaymentMethodBrands from '../PaymentMethodBrands/PaymentMethodBrands';\nimport { BRAND_ICON_UI_EXCLUSION_LIST } from '../../../../internal/SecuredFields/lib/constants';\nimport PaymentMethodName from '../PaymentMethodName';\nimport { useCoreContext } from '../../../../../core/Context/CoreProvider';\nimport ExpandButton from '../../../../internal/ExpandButton';\nimport { getFullBrandName } from '../../../../Card/components/CardInput/utils';\nimport { stopPropagationForActionKeys } from '../../../../internal/Button/stopPropagationForActionKeys';\nimport './PaymentMethodItem.scss';\nimport Button from '../../../../internal/Button';\n\nexport interface PaymentMethodItemProps {\n paymentMethod: UIElement;\n isSelected?: boolean;\n isLoading?: boolean;\n isDisablingPaymentMethod: boolean;\n showRemovePaymentMethodButton: boolean;\n onDisableStoredPaymentMethod: (paymentMethod) => void;\n onSelect: (paymentMethod: UIElement) => void;\n standalone: boolean;\n className?: string;\n showRadioButton?: boolean;\n}\n\nclass PaymentMethodItem extends Component<Readonly<PaymentMethodItemProps>> {\n public static readonly defaultProps = {\n paymentMethod: null,\n isSelected: false,\n isLoaded: false,\n isLoading: false,\n showDisableStoredPaymentMethodConfirmation: false,\n showRadioButton: false\n };\n\n public state = {\n showDisableStoredPaymentMethodConfirmation: false\n };\n\n public toggleDisableConfirmation = () => {\n this.setState({ showDisableStoredPaymentMethodConfirmation: !this.state.showDisableStoredPaymentMethodConfirmation });\n };\n\n public onDisableStoredPaymentMethod = () => {\n this.props.onDisableStoredPaymentMethod(this.props.paymentMethod);\n this.toggleDisableConfirmation();\n };\n\n private readonly handleOnListItemClick = (): void => {\n const { onSelect, paymentMethod } = this.props;\n onSelect(paymentMethod);\n };\n\n // @ts-ignore need to refine the type for paymentMethod\n render({ paymentMethod, isSelected, isDisablingPaymentMethod, isLoading, standalone, showRadioButton }) {\n const { i18n } = useCoreContext();\n\n if (!paymentMethod) {\n return null;\n }\n\n const isCard = paymentMethod.props.type === 'card' || paymentMethod.props.type === 'scheme';\n\n const paymentMethodClassnames = classNames({\n 'adyen-checkout__payment-method': true,\n [`adyen-checkout__payment-method--${paymentMethod.props.type}`]: true,\n ...(isCard && { [`adyen-checkout__payment-method--${paymentMethod.props.fundingSource ?? 'credit'}`]: true }),\n 'adyen-checkout__payment-method--selected': isSelected,\n 'adyen-checkout__payment-method--loading': isLoading,\n 'adyen-checkout__payment-method--disabling': isDisablingPaymentMethod,\n 'adyen-checkout__payment-method--confirming': this.state.showDisableStoredPaymentMethodConfirmation,\n 'adyen-checkout__payment-method--standalone': standalone,\n [paymentMethod._id]: true,\n [this.props.className]: true\n });\n\n const showRemovePaymentMethodButton = this.props.showRemovePaymentMethodButton && paymentMethod.props.oneClick && isSelected;\n const disableConfirmationId = `remove-${paymentMethod._id}`;\n const containerId = `container-${paymentMethod._id}`;\n const buttonId = `button-${paymentMethod._id}`;\n\n const showBrands = !paymentMethod.props.oneClick && paymentMethod.brands && paymentMethod.brands.length > 0;\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions\n <div key={paymentMethod._id} className={paymentMethodClassnames} onClick={this.handleOnListItemClick}>\n <div className=\"adyen-checkout__payment-method__header\">\n <ExpandButton\n className=\"adyen-checkout__payment-method__header__content\"\n buttonId={buttonId}\n showRadioButton={showRadioButton}\n isSelected={isSelected}\n expandContentId={containerId}\n standalone={standalone}\n >\n <PaymentMethodIcon\n // Only add alt attribute to storedPaymentMethods (to avoid SR reading the PM name twice)\n {...(paymentMethod.props.oneClick && { alt: getFullBrandName(paymentMethod.props.brand) })}\n type={paymentMethod.type}\n src={paymentMethod.icon}\n />\n\n <div className=\"adyen-checkout__payment-method__header__details\">\n <PaymentMethodName\n displayName={paymentMethod.displayName}\n isSelected={isSelected}\n additionalInfo={paymentMethod.additionalInfo}\n />\n {showBrands && (\n <PaymentMethodBrands\n showOtherInsteadOfNumber={paymentMethod.props.showOtherInsteadOfNumber}\n keepBrandsVisible={paymentMethod.props.keepBrandsVisible}\n brands={paymentMethod.brands}\n excludedUIBrands={BRAND_ICON_UI_EXCLUSION_LIST}\n isPaymentMethodSelected={isSelected}\n />\n )}\n </div>\n </ExpandButton>\n\n {showRemovePaymentMethodButton && (\n <Button\n inline\n variant=\"link\"\n onClick={this.toggleDisableConfirmation}\n onKeyDown={stopPropagationForActionKeys}\n ariaExpanded={this.state.showDisableStoredPaymentMethodConfirmation}\n ariaControls={disableConfirmationId}\n >\n {i18n.get('storedPaymentMethod.disable.button')}\n </Button>\n )}\n </div>\n\n <div className=\"adyen-checkout-pm-details-wrapper\" aria-hidden={!isSelected}>\n <div className=\"adyen-checkout__payment-method__details\" id={containerId} inert={isSelected ? undefined : true}>\n {showRemovePaymentMethodButton && (\n <DisableOneClickConfirmation\n id={disableConfirmationId}\n open={this.state.showDisableStoredPaymentMethodConfirmation}\n onDisable={this.onDisableStoredPaymentMethod}\n onCancel={this.toggleDisableConfirmation}\n />\n )}\n\n <PaymentMethodDetails paymentMethodComponent={paymentMethod} isSelected={isSelected} />\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default PaymentMethodItem;\n"],"names":["PaymentMethodItem","Component","render","paymentMethod","isSelected","isDisablingPaymentMethod","isLoading","standalone","showRadioButton","i18n","useCoreContext","isCard","props","type","paymentMethodClassnames","classNames","_object_spread_props","_object_spread","fundingSource","this","state","showDisableStoredPaymentMethodConfirmation","_id","className","showRemovePaymentMethodButton","oneClick","disableConfirmationId","containerId","buttonId","showBrands","brands","length","h","div","key","onClick","handleOnListItemClick","ExpandButton","expandContentId","PaymentMethodIcon","alt","getFullBrandName","brand","src","icon","PaymentMethodName","displayName","additionalInfo","PaymentMethodBrands","showOtherInsteadOfNumber","keepBrandsVisible","excludedUIBrands","BRAND_ICON_UI_EXCLUSION_LIST","isPaymentMethodSelected","Button","inline","variant","toggleDisableConfirmation","onKeyDown","stopPropagationForActionKeys","ariaExpanded","ariaControls","get","aria-hidden","id","inert","undefined","DisableOneClickConfirmation","open","onDisable","onDisableStoredPaymentMethod","onCancel","PaymentMethodDetails","paymentMethodComponent","super","args","_define_property","setState","onSelect","defaultProps","isLoaded"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentMethodList.js","sources":["../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodList.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport UIElement from '../../../internal/UIElement/UIElement';\nimport { Order, OrderStatus } from '../../../../types/global-types';\nimport OrderPaymentMethods from './OrderPaymentMethods';\nimport { InstantPaymentMethods } from './InstantPaymentMethods';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { useBrandLogoConfiguration } from './useBrandLogoConfiguration';\nimport PaymentMethodsContainer, { PaymentMethodsContainerProps } from './PaymentMethodsContainer';\nimport { useEffect } from 'preact/hooks';\n\ninterface PaymentMethodListProps extends Omit<PaymentMethodsContainerProps, 'label' | 'classNameModifiers'> {\n instantPaymentMethods?: UIElement[];\n storedPaymentMethods?: UIElement[];\n openFirstStoredPaymentMethod?: boolean;\n openFirstPaymentMethod?: boolean;\n openPaymentMethod?: {\n type: string;\n };\n order?: Order;\n orderStatus?: OrderStatus;\n onOrderCancel?:
|
|
1
|
+
{"version":3,"file":"PaymentMethodList.js","sources":["../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodList.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport UIElement from '../../../internal/UIElement/UIElement';\nimport { Order, OrderStatus } from '../../../../types/global-types';\nimport OrderPaymentMethods from './OrderPaymentMethods';\nimport { InstantPaymentMethods } from './InstantPaymentMethods';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { useBrandLogoConfiguration } from './useBrandLogoConfiguration';\nimport PaymentMethodsContainer, { PaymentMethodsContainerProps } from './PaymentMethodsContainer';\nimport { useEffect } from 'preact/hooks';\nimport { onOrderCancelInternalCallback } from '../../types';\n\ninterface PaymentMethodListProps extends Omit<PaymentMethodsContainerProps, 'label' | 'classNameModifiers'> {\n instantPaymentMethods?: UIElement[];\n storedPaymentMethods?: UIElement[];\n openFirstStoredPaymentMethod?: boolean;\n openFirstPaymentMethod?: boolean;\n openPaymentMethod?: {\n type: string;\n };\n order?: Order;\n orderStatus?: OrderStatus;\n onOrderCancel?: onOrderCancelInternalCallback;\n}\n\nconst PaymentMethodList = ({\n paymentMethods,\n instantPaymentMethods,\n storedPaymentMethods,\n openFirstStoredPaymentMethod,\n openFirstPaymentMethod,\n openPaymentMethod,\n order,\n orderStatus = null,\n onOrderCancel,\n onSelect = () => {},\n ...rest\n}: Readonly<PaymentMethodListProps>) => {\n const { i18n } = useCoreContext();\n const brandLogoConfiguration = useBrandLogoConfiguration(paymentMethods);\n const hasInstantPaymentMethods = instantPaymentMethods?.length > 0;\n const hasStoredPaymentMethods = storedPaymentMethods?.length > 0;\n const pmListLabel = hasInstantPaymentMethods || hasStoredPaymentMethods ? i18n.get('paymentMethodsList.otherPayments.label') : '';\n\n useEffect(() => {\n if (openPaymentMethod?.type) {\n const paymentMethod = paymentMethods?.find(paymentMethod => paymentMethod.type === openPaymentMethod?.type);\n if (!paymentMethod) {\n console.warn(`Drop-in: payment method type \"${openPaymentMethod?.type}\" not found`);\n } else {\n onSelect(paymentMethod);\n return;\n }\n }\n\n // Open first PaymentMethodItem\n const firstStoredPayment = storedPaymentMethods?.[0];\n const firstNonStoredPayment = paymentMethods?.[0];\n\n if (firstStoredPayment || firstNonStoredPayment) {\n const shouldOpenFirstStored = openFirstStoredPaymentMethod && firstStoredPayment?.props?.oneClick === true;\n if (shouldOpenFirstStored) {\n onSelect(firstStoredPayment);\n return;\n }\n\n if (openFirstPaymentMethod) {\n onSelect(firstNonStoredPayment);\n }\n }\n }, [storedPaymentMethods, paymentMethods, openFirstStoredPaymentMethod, openFirstPaymentMethod, openPaymentMethod]);\n\n return (\n <Fragment>\n {orderStatus && (\n <OrderPaymentMethods\n order={order}\n orderStatus={orderStatus}\n onOrderCancel={onOrderCancel}\n brandLogoConfiguration={brandLogoConfiguration}\n />\n )}\n\n {hasInstantPaymentMethods && <InstantPaymentMethods paymentMethods={instantPaymentMethods} onSelect={onSelect} />}\n\n {hasStoredPaymentMethods && (\n <PaymentMethodsContainer\n {...rest}\n label={i18n.get('paymentMethodsList.storedPayments.label')}\n classNameModifiers={['storedPayments']}\n paymentMethods={storedPaymentMethods}\n onSelect={onSelect}\n ></PaymentMethodsContainer>\n )}\n\n {!!paymentMethods.length && (\n <PaymentMethodsContainer\n {...rest}\n label={pmListLabel}\n classNameModifiers={['otherPayments']}\n paymentMethods={paymentMethods}\n onSelect={onSelect}\n ></PaymentMethodsContainer>\n )}\n </Fragment>\n );\n};\n\nexport default PaymentMethodList;\n"],"names":["PaymentMethodList","_0","paymentMethods","instantPaymentMethods","storedPaymentMethods","openFirstStoredPaymentMethod","openFirstPaymentMethod","openPaymentMethod","order","orderStatus","onOrderCancel","onSelect","rest","i18n","useCoreContext","brandLogoConfiguration","useBrandLogoConfiguration","hasInstantPaymentMethods","length","hasStoredPaymentMethods","pmListLabel","get","useEffect","type","paymentMethod","find","console","warn","firstStoredPayment","firstNonStoredPayment","props","oneClick","h","Fragment","OrderPaymentMethods","InstantPaymentMethods","PaymentMethodsContainer","label","classNameModifiers"],"mappings":"04DAwBA,MAAMA,EAAoBC,QAACC,eACvBA,EAAcC,sBACdA,EAAqBC,qBACrBA,EAAoBC,6BACpBA,EAA4BC,uBAC5BA,EAAsBC,kBACtBA,EAAiBC,MACjBA,EAAKC,YACLA,EAAc,KAAIC,cAClBA,EAAaC,SACbA,EAAW,QAEoBV,EAD5BW,EAAAA,EAAAA,EAAAA,gMAEH,MAAMC,KAAEA,GAASC,IACXC,EAAyBC,EAA0Bd,GACnDe,GAA2Bd,aAAAA,EAAAA,EAAuBe,QAAS,EAC3DC,GAA0Bf,aAAAA,EAAAA,EAAsBc,QAAS,EACzDE,EAAcH,GAA4BE,EAA0BN,EAAKQ,IAAI,0CAA4C,GA8B/H,OA5BAC,EAAU,KACN,GAAIf,aAAAA,EAAAA,EAAmBgB,KAAM,CACzB,MAAMC,EAAgBtB,aAAAA,EAAAA,EAAgBuB,KAAKD,GAAiBA,EAAcD,QAAShB,aAAAA,EAAAA,EAAmBgB,OACtG,GAAKC,EAID,YADAb,EAASa,GAFTE,QAAQC,KAAK,iCAAiCpB,aAAAA,EAAAA,EAAmBgB,kBAKzE,CAGA,MAAMK,EAAqBxB,aAAAA,EAAAA,EAAuB,GAC5CyB,EAAwB3B,aAAAA,EAAAA,EAAiB,GAE/C,GAAI0B,GAAsBC,EAAuB,CACiBD,IAAAA,EAC9D,GAD8BvB,IAAwE,KAAxCuB,SAAyB,QAAzBA,EAAAA,EAAoBE,aAApBF,IAAAA,SAAAA,EAA2BG,UAGrF,YADApB,EAASiB,GAITtB,GACAK,EAASkB,EAEjB,GACD,CAACzB,EAAsBF,EAAgBG,EAA8BC,EAAwBC,IAG5FyB,EAACC,EAAAA,KACIxB,GACGuB,EAACE,EAAAA,CACG1B,MAAOA,EACPC,YAAaA,EACbC,cAAeA,EACfK,uBAAwBA,IAI/BE,GAA4Be,EAACG,EAAAA,CAAsBjC,eAAgBC,EAAuBQ,SAAUA,IAEpGQ,GACGa,EAACI,EAAAA,EAAAA,EAAAA,CAAAA,EACOxB,GAAAA,CACJyB,MAAOxB,EAAKQ,IAAI,2CAChBiB,mBAAoB,CAAC,kBACrBpC,eAAgBE,EAChBO,SAAUA,OAIfT,EAAegB,QACdc,EAACI,EAAAA,EAAAA,EAAAA,CAAAA,EACOxB,GAAAA,CACJyB,MAAOjB,EACPkB,mBAAoB,CAAC,iBACrBpC,eAAgBA,EAChBS,SAAUA"}
|
package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../../../external/preact/dist/preact.js";import t from"./PaymentMethodItem/PaymentMethodItem.js";import{useCoreContext as o}from"../../../../core/Context/CoreProvider.js";import{useMemo as a}from"../../../../external/preact/hooks/dist/hooks.js";import n from"../../../../utils/uuid.js";import s from"../../../../_virtual/index.js";function i({label:i,classNameModifiers:d=[],paymentMethods:m=[],activePaymentMethod:l=null,isLoading:r=!1,isDisablingPaymentMethod:c=!1,showRemovePaymentMethodButton:h,onDisableStoredPaymentMethod:y=()=>{},onSelect:p,showRadioButton:u}){const{i18n:M}=o(),_=a(()=>`select-${n()}`,[]),
|
|
1
|
+
import{createElement as e}from"../../../../external/preact/dist/preact.js";import t from"./PaymentMethodItem/PaymentMethodItem.js";import{useCoreContext as o}from"../../../../core/Context/CoreProvider.js";import{useMemo as a}from"../../../../external/preact/hooks/dist/hooks.js";import n from"../../../../utils/uuid.js";import s from"../../../../_virtual/index.js";function i({label:i,classNameModifiers:d=[],paymentMethods:m=[],activePaymentMethod:l=null,isLoading:r=!1,isDisablingPaymentMethod:c=!1,showRemovePaymentMethodButton:h,onDisableStoredPaymentMethod:y=()=>{},onSelect:p,showRadioButton:u}){const{i18n:M}=o(),_=a(()=>`select-${n()}`,[]),v=s(["adyen-checkout__payment-methods-list",{"adyen-checkout__payment-methods-list--loading":r},...d.map(e=>`adyen-checkout__payment-methods-list--${e}`)]),P=1===m.length;return e("div",{className:"adyen-checkout-payment-methods-container"},!!i&&e("label",{htmlFor:_,className:"adyen-checkout-payment-methods-list-label"},i),e("div",{id:_,className:v,role:P?void 0:"radiogroup","aria-label":P?void 0:M.get("paymentMethodsList.aria.label")},m.map((o,a,n)=>{const i=(null==l?void 0:l._id)===o._id,d=l&&n[a+1]&&l._id===n[a+1]._id;return e(t,{className:s({"adyen-checkout__payment-method--next-selected":d}),standalone:P,paymentMethod:o,isSelected:i,isDisablingPaymentMethod:i&&c,isLoading:r,onSelect:p,key:o._id,showRemovePaymentMethodButton:h,showRadioButton:u,onDisableStoredPaymentMethod:y})})))}export{i as default};
|
|
2
2
|
//# sourceMappingURL=PaymentMethodsContainer.js.map
|
package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentMethodsContainer.js","sources":["../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.tsx"],"sourcesContent":["import { h } from 'preact';\nimport PaymentMethodItem from './PaymentMethodItem/PaymentMethodItem';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { useMemo } from 'preact/hooks';\nimport uuid from '../../../../utils/uuid';\nimport classNames from 'classnames';\nimport UIElement from '../../../internal/UIElement';\n\nexport interface PaymentMethodsContainerProps {\n label?: string;\n classNameModifiers?: string[];\n paymentMethods: UIElement[];\n activePaymentMethod?: UIElement;\n showRemovePaymentMethodButton?: boolean;\n onSelect?: (paymentMethod: UIElement) => void;\n onDisableStoredPaymentMethod?: (storedPaymentMethod) => void;\n isDisablingPaymentMethod?: boolean;\n isLoading: boolean;\n showRadioButton?: boolean;\n}\n\nfunction PaymentMethodsContainer({\n label,\n classNameModifiers = [],\n paymentMethods = [],\n activePaymentMethod = null,\n isLoading = false,\n isDisablingPaymentMethod = false,\n showRemovePaymentMethodButton,\n onDisableStoredPaymentMethod = () => {},\n onSelect,\n showRadioButton\n}: Readonly<PaymentMethodsContainerProps>) {\n const { i18n } = useCoreContext();\n const selectListId: string = useMemo(() => `select-${uuid()}`, []);\n const paymentMethodListClassnames = classNames([\n 'adyen-checkout__payment-methods-list',\n { 'adyen-checkout__payment-methods-list--loading': isLoading },\n ...classNameModifiers.map(m => `adyen-checkout__payment-methods-list--${m}`)\n ]);\n\n const standalone = paymentMethods.length === 1;\n\n return (\n <div className=\"adyen-checkout-payment-methods-container\">\n {!!label && (\n <label htmlFor={selectListId} className=\"adyen-checkout-payment-methods-list-label\">\n {label}\n </label>\n )}\n <div\n id={selectListId}\n className={paymentMethodListClassnames}\n role={standalone ? undefined : 'radiogroup'}\n aria-label={standalone ? undefined : i18n.get('paymentMethodsList.aria.label')}\n >\n {paymentMethods.map((paymentMethod, index, paymentMethodsCollection) => {\n const isSelected = activePaymentMethod
|
|
1
|
+
{"version":3,"file":"PaymentMethodsContainer.js","sources":["../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.tsx"],"sourcesContent":["import { h } from 'preact';\nimport PaymentMethodItem from './PaymentMethodItem/PaymentMethodItem';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { useMemo } from 'preact/hooks';\nimport uuid from '../../../../utils/uuid';\nimport classNames from 'classnames';\nimport UIElement from '../../../internal/UIElement';\n\nexport interface PaymentMethodsContainerProps {\n label?: string;\n classNameModifiers?: string[];\n paymentMethods: UIElement[];\n activePaymentMethod?: UIElement;\n showRemovePaymentMethodButton?: boolean;\n onSelect?: (paymentMethod: UIElement) => void;\n onDisableStoredPaymentMethod?: (storedPaymentMethod) => void;\n isDisablingPaymentMethod?: boolean;\n isLoading: boolean;\n showRadioButton?: boolean;\n}\n\nfunction PaymentMethodsContainer({\n label,\n classNameModifiers = [],\n paymentMethods = [],\n activePaymentMethod = null,\n isLoading = false,\n isDisablingPaymentMethod = false,\n showRemovePaymentMethodButton,\n onDisableStoredPaymentMethod = () => {},\n onSelect,\n showRadioButton\n}: Readonly<PaymentMethodsContainerProps>) {\n const { i18n } = useCoreContext();\n const selectListId: string = useMemo(() => `select-${uuid()}`, []);\n const paymentMethodListClassnames = classNames([\n 'adyen-checkout__payment-methods-list',\n { 'adyen-checkout__payment-methods-list--loading': isLoading },\n ...classNameModifiers.map(m => `adyen-checkout__payment-methods-list--${m}`)\n ]);\n\n const standalone = paymentMethods.length === 1;\n\n return (\n <div className=\"adyen-checkout-payment-methods-container\">\n {!!label && (\n <label htmlFor={selectListId} className=\"adyen-checkout-payment-methods-list-label\">\n {label}\n </label>\n )}\n <div\n id={selectListId}\n className={paymentMethodListClassnames}\n role={standalone ? undefined : 'radiogroup'}\n aria-label={standalone ? undefined : i18n.get('paymentMethodsList.aria.label')}\n >\n {paymentMethods.map((paymentMethod, index, paymentMethodsCollection) => {\n const isSelected: boolean = activePaymentMethod?._id === paymentMethod._id;\n const isNextOneSelected =\n activePaymentMethod &&\n paymentMethodsCollection[index + 1] &&\n activePaymentMethod._id === paymentMethodsCollection[index + 1]._id;\n\n return (\n <PaymentMethodItem\n className={classNames({ 'adyen-checkout__payment-method--next-selected': isNextOneSelected })}\n standalone={standalone}\n paymentMethod={paymentMethod}\n isSelected={isSelected}\n isDisablingPaymentMethod={isSelected && isDisablingPaymentMethod}\n isLoading={isLoading}\n onSelect={onSelect}\n key={paymentMethod._id}\n showRemovePaymentMethodButton={showRemovePaymentMethodButton}\n showRadioButton={showRadioButton}\n onDisableStoredPaymentMethod={onDisableStoredPaymentMethod}\n />\n );\n })}\n </div>\n </div>\n );\n}\n\nexport default PaymentMethodsContainer;\n"],"names":["PaymentMethodsContainer","label","classNameModifiers","paymentMethods","activePaymentMethod","isLoading","isDisablingPaymentMethod","showRemovePaymentMethodButton","onDisableStoredPaymentMethod","onSelect","showRadioButton","i18n","useCoreContext","selectListId","useMemo","uuid","paymentMethodListClassnames","classNames","map","m","standalone","length","h","div","className","htmlFor","id","role","undefined","aria-label","get","paymentMethod","index","paymentMethodsCollection","isSelected","_id","isNextOneSelected","PaymentMethodItem","key"],"mappings":"6WAqBA,SAASA,GAAwBC,MAC7BA,EAAKC,mBACLA,EAAqB,GAAEC,eACvBA,EAAiB,GAAEC,oBACnBA,EAAsB,KAAIC,UAC1BA,GAAY,EAAKC,yBACjBA,GAA2B,EAAKC,8BAChCA,EAA6BC,6BAC7BA,EAA+B,OAAQC,SACvCA,EAAQC,gBACRA,IAEA,MAAMC,KAAEA,GAASC,IACXC,EAAuBC,EAAQ,IAAM,UAAUC,MAAU,IACzDC,EAA8BC,EAAW,CAC3C,uCACA,CAAE,gDAAiDZ,MAChDH,EAAmBgB,IAAIC,GAAK,yCAAyCA,OAGtEC,EAAuC,IAA1BjB,EAAekB,OAElC,OACIC,EAACC,MAAAA,CAAIC,UAAU,8CACRvB,GACCqB,EAACrB,QAAAA,CAAMwB,QAASZ,EAAcW,UAAU,6CACnCvB,GAGTqB,EAACC,MAAAA,CACGG,GAAIb,EACJW,UAAWR,EACXW,KAAMP,OAAaQ,EAAY,aAC/BC,aAAYT,OAAaQ,EAAYjB,EAAKmB,IAAI,kCAE7C3B,EAAee,IAAI,CAACa,EAAeC,EAAOC,KACvC,MAAMC,GAAsB9B,aAAAA,EAAAA,EAAqB+B,OAAQJ,EAAcI,IACjEC,EACFhC,GACA6B,EAAyBD,EAAQ,IACjC5B,EAAoB+B,MAAQF,EAAyBD,EAAQ,GAAGG,IAEpE,OACIb,EAACe,EAAAA,CACGb,UAAWP,EAAW,CAAE,gDAAiDmB,IACzEhB,WAAYA,EACZW,cAAeA,EACfG,WAAYA,EACZ5B,yBAA0B4B,GAAc5B,EACxCD,UAAWA,EACXI,SAAUA,EACV6B,IAAKP,EAAcI,IACnB5B,8BAA+BA,EAC/BG,gBAAiBA,EACjBF,6BAA8BA,OAO1D"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as
|
|
1
|
+
import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import r from"./components/GiftcardComponent.js";import n from"../internal/PayButton/PayButton.js";import o from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as i}from"../tx-variants.js";function s(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),n.forEach(function(e){s(t,e,r[e])})}return t}function c(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e.push.apply(e,r)}return e}(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))}),t}class p extends e{formatProps(t){return a({},null==t?void 0:t.configuration,t)}formatData(){var t,e;return{paymentMethod:{type:this.constructor.type,brand:this.props.brand,encryptedCardNumber:null===(t=this.state.data)||void 0===t?void 0:t.encryptedCardNumber,encryptedSecurityCode:null===(e=this.state.data)||void 0===e?void 0:e.encryptedSecurityCode}}}get isValid(){return!!this.state.isValid}get icon(){var t;return(null===(t=this.props.brandsConfiguration[this.props.brand])||void 0===t?void 0:t.icon)||this.props.icon||this.resources.getImage()(this.props.brand)}get displayName(){var t;return(null===(t=this.props.brandsConfiguration[this.props.brand])||void 0===t?void 0:t.name)||this.props.name}setBalanceCheckError(t){var e,r;null===(r=this.componentRef)||void 0===r||null===(e=r.setBalanceCheckErrors)||void 0===e||e.call(r,t)}balanceCheck(){return this.onBalanceCheck()}submit(){this.balanceCheck()}makeSubmitCall(){super.submit()}componentToRender(){return t(r,c(a({ref:t=>{this.componentRef=t}},this.props),{handleKeyDown:this.handleKeyDown,showPayButton:this.props.showPayButton,onChange:this.setState,makeBalanceCheck:()=>this.onBalanceCheck(),makePayment:()=>this.makeSubmitCall(),payButton:this.payButton,onSubmitAnalytics:this.submitAnalytics}))}constructor(...e){super(...e),s(this,"componentRef",void 0),s(this,"handleBalanceCheck",t=>this.props.onBalanceCheck?new Promise((e,r)=>{this.props.onBalanceCheck(e,r,t)}):this.props.session?this.props.session.checkBalance(t):void 0),s(this,"onOrderRequest",t=>this.props.onOrderRequest?new Promise((e,r)=>{this.props.onOrderRequest(e,r,t)}):this.props.session?this.props.session.createOrder():void 0),s(this,"onBalanceCheck",()=>{if(!this.isValid)return void this.showValidation();if(!(this.props.session||this.props.onBalanceCheck))return super.submit();this.setStatus("loading"),this.handleBalanceCheck(this.formatData()).then(({balance:t,transactionLimit:e={}})=>{var r;if(this.setBalanceCheckError(null),!t)throw new Error("card-error");if((null==t?void 0:t.currency)!==(null===(r=this.props.amount)||void 0===r?void 0:r.currency))throw new Error("currency-error");if((null==t?void 0:t.value)<=0)throw new Error("no-balance");return this.props.amount.value>t.value||this.props.amount.value>e.value?this.props.order?this.makeSubmitCall():this.onOrderRequest(this.data).then(t=>(this.setState({order:{orderData:t.orderData,pspReference:t.pspReference}}),this.makeSubmitCall())):this.handleOnRequiringConfirmation(t,e)}).catch(t=>{this.setBalanceCheckError(null==t?void 0:t.message),t instanceof o?this.handleError(t):this.handleError(new o("ERROR",t))})}),s(this,"handleOnRequiringConfirmation",(t,e)=>{if(this.componentRef.setBalance({balance:t,transactionLimit:e}),this.setStatus("ready"),!this.props.showPayButton){if(!this.props.onRequiringConfirmation)throw new o("IMPLEMENTATION_ERROR","onRequiringConfirmation must be provided");return new Promise((t,e)=>{this.props.onRequiringConfirmation(t,e)}).then(()=>this.makeSubmitCall()).catch(()=>{})}}),s(this,"payButton",e=>t(n,e))}}s(p,"type",i.giftcard),s(p,"defaultProps",{brandsConfiguration:{}});export{p as GiftcardElement,p as default};
|
|
2
2
|
//# sourceMappingURL=Giftcard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Giftcard.js","sources":["../../../../src/components/Giftcard/Giftcard.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GiftcardComponent from './components/GiftcardComponent';\nimport PayButton from '../internal/PayButton';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { PaymentAmount } from '../../types/global-types';\nimport { GiftCardElementData, GiftCardConfiguration, balanceCheckResponseType, GiftCardBalanceCheckErrorType } from './types';\nimport { TxVariants } from '../tx-variants';\nimport { PayButtonProps } from '../internal/PayButton/PayButton';\n\nexport class GiftcardElement extends UIElement<GiftCardConfiguration> {\n public static readonly type: TxVariants = TxVariants.giftcard;\n\n protected componentRef: GiftcardComponent | undefined;\n\n protected static readonly defaultProps = {\n brandsConfiguration: {}\n };\n\n formatProps(props) {\n return {\n ...props?.configuration,\n ...props\n };\n }\n\n formatData(): GiftCardElementData {\n return {\n paymentMethod: {\n type: this.constructor['type'],\n brand: this.props.brand,\n encryptedCardNumber: this.state.data?.encryptedCardNumber,\n encryptedSecurityCode: this.state.data?.encryptedSecurityCode\n }\n };\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get icon() {\n return this.props.brandsConfiguration[this.props.brand]?.icon || this.props.icon || this.resources.getImage()(this.props.brand);\n }\n\n get displayName() {\n return this.props.brandsConfiguration[this.props.brand]?.name || this.props.name;\n }\n\n private setBalanceCheckError(errorMessage: GiftCardBalanceCheckErrorType | null): void {\n this.componentRef?.setBalanceCheckErrors?.(errorMessage);\n }\n\n private handleBalanceCheck = (data: GiftCardElementData): Promise<balanceCheckResponseType> => {\n if (this.props.onBalanceCheck) {\n return new Promise((resolve, reject) => {\n void this.props.onBalanceCheck(resolve, reject, data);\n });\n }\n\n if (this.props.session) {\n return this.props.session.checkBalance(data);\n }\n };\n\n private onOrderRequest = data => {\n if (this.props.onOrderRequest)\n return new Promise((resolve, reject) => {\n void this.props.onOrderRequest(resolve, reject, data);\n });\n if (this.props.session) {\n return this.props.session.createOrder();\n }\n };\n\n public balanceCheck() {\n return this.onBalanceCheck();\n }\n\n private onBalanceCheck = (): void => {\n if (!this.isValid) {\n this.showValidation();\n return;\n }\n\n // skip balance check if no onBalanceCheck event has been defined\n const hasBalanceCheck = this.props.session || this.props.onBalanceCheck;\n if (!hasBalanceCheck) return super.submit();\n\n this.setStatus('loading');\n\n this.handleBalanceCheck(this.formatData())\n .then(({ balance, transactionLimit = {} as PaymentAmount }) => {\n // Clear any previous balance check errors on success\n this.setBalanceCheckError(null);\n\n // We still need to throw these errors, otherwise it would be a breaking changing\n if (!balance) throw new Error('card-error'); // card doesn't exist\n if (balance?.currency !== this.props.amount?.currency) throw new Error('currency-error');\n if (balance?.value <= 0) throw new Error('no-balance');\n\n if (this.props.amount.value > balance.value || this.props.amount.value > transactionLimit.value) {\n if (this.props.order) {\n return this.makeSubmitCall();\n }\n\n return this.onOrderRequest(this.data).then((order: { orderData: string; pspReference: string }) => {\n this.setState({ order: { orderData: order.orderData, pspReference: order.pspReference } });\n return this.makeSubmitCall();\n });\n } else {\n return this.handleOnRequiringConfirmation(balance, transactionLimit);\n }\n })\n .catch(error => {\n // Simply pass the raw error message to setBalanceCheckError\n this.setBalanceCheckError(error?.message);\n\n // Still call handleError for other side effects (analytics, onError callback)\n if (error instanceof AdyenCheckoutError) {\n this.handleError(error);\n } else {\n this.handleError(new AdyenCheckoutError('ERROR', error));\n }\n });\n };\n\n /**\n * Check if it should call onRequiringConfirmation\n */\n private handleOnRequiringConfirmation = (balance, transactionLimit): Promise<any> => {\n this.componentRef.setBalance({ balance, transactionLimit });\n this.setStatus('ready');\n\n // 1. if we show pay button we don't need to ask for confirmation\n if (this.props.showPayButton) {\n return;\n }\n // 2. there's no callback, we throw error\n if (!this.props.onRequiringConfirmation) {\n throw new AdyenCheckoutError('IMPLEMENTATION_ERROR', 'onRequiringConfirmation must be provided');\n }\n // 3. success case if in case of custom pay button\n return (\n new Promise<void>((resolve, reject) => {\n void this.props.onRequiringConfirmation(resolve, reject);\n })\n //when this resolve passed to onRequiringConfirmation gets resolved make payments call\n .then(() => this.makeSubmitCall())\n //when it gets rejected handle cancellation\n .catch(() => {})\n );\n };\n\n public submit() {\n // for simplicity of the merchant we always only expose .submit()\n // however to make the actual payment call we call makeSubmitCall\n this.balanceCheck();\n }\n\n // this makes the payment, as .submit is used by the merchant to trigger the payButton action\n private makeSubmitCall() {\n super.submit();\n }\n\n // Giftcards override the regular payButton flow\n protected override payButton = (props: PayButtonProps) => {\n return <PayButton {...props} />;\n };\n\n protected override componentToRender(): h.JSX.Element {\n return (\n <GiftcardComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n handleKeyPress={this.handleKeyPress}\n showPayButton={this.props.showPayButton}\n onChange={this.setState}\n makeBalanceCheck={() => this.onBalanceCheck()}\n makePayment={() => this.makeSubmitCall()}\n payButton={this.payButton}\n onSubmitAnalytics={this.submitAnalytics}\n />\n );\n }\n}\n\nexport default GiftcardElement;\n"],"names":["GiftcardElement","UIElement","formatProps","props","_object_spread","configuration","formatData","_this_state_data","_this_state_data1","paymentMethod","type","this","constructor","brand","encryptedCardNumber","state","data","encryptedSecurityCode","isValid","icon","_this_props_brandsConfiguration_this_props_brand","brandsConfiguration","resources","getImage","displayName","name","setBalanceCheckError","errorMessage","_this_componentRef_setBalanceCheckErrors","_this_componentRef","componentRef","setBalanceCheckErrors","call","balanceCheck","onBalanceCheck","submit","makeSubmitCall","super","componentToRender","h","GiftcardComponent","ref","handleKeyPress","showPayButton","onChange","setState","makeBalanceCheck","makePayment","payButton","onSubmitAnalytics","submitAnalytics","args","_define_property","handleBalanceCheck","Promise","resolve","reject","session","checkBalance","onOrderRequest","createOrder","showValidation","setStatus","then","balance","transactionLimit","_this_props_amount","Error","currency","amount","value","order","orderData","pspReference","handleOnRequiringConfirmation","catch","error","message","AdyenCheckoutError","handleError","setBalance","onRequiringConfirmation","PayButton","TxVariants","giftcard","defaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Giftcard.js","sources":["../../../../src/components/Giftcard/Giftcard.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GiftcardComponent from './components/GiftcardComponent';\nimport PayButton from '../internal/PayButton';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { PaymentAmount } from '../../types/global-types';\nimport { GiftCardElementData, GiftCardConfiguration, balanceCheckResponseType, GiftCardBalanceCheckErrorType } from './types';\nimport { TxVariants } from '../tx-variants';\nimport { PayButtonProps } from '../internal/PayButton/PayButton';\n\nexport class GiftcardElement extends UIElement<GiftCardConfiguration> {\n public static readonly type: TxVariants = TxVariants.giftcard;\n\n protected componentRef: GiftcardComponent | undefined;\n\n protected static readonly defaultProps = {\n brandsConfiguration: {}\n };\n\n formatProps(props) {\n return {\n ...props?.configuration,\n ...props\n };\n }\n\n formatData(): GiftCardElementData {\n return {\n paymentMethod: {\n type: this.constructor['type'],\n brand: this.props.brand,\n encryptedCardNumber: this.state.data?.encryptedCardNumber,\n encryptedSecurityCode: this.state.data?.encryptedSecurityCode\n }\n };\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get icon() {\n return this.props.brandsConfiguration[this.props.brand]?.icon || this.props.icon || this.resources.getImage()(this.props.brand);\n }\n\n get displayName() {\n return this.props.brandsConfiguration[this.props.brand]?.name || this.props.name;\n }\n\n private setBalanceCheckError(errorMessage: GiftCardBalanceCheckErrorType | null): void {\n this.componentRef?.setBalanceCheckErrors?.(errorMessage);\n }\n\n private handleBalanceCheck = (data: GiftCardElementData): Promise<balanceCheckResponseType> => {\n if (this.props.onBalanceCheck) {\n return new Promise((resolve, reject) => {\n void this.props.onBalanceCheck(resolve, reject, data);\n });\n }\n\n if (this.props.session) {\n return this.props.session.checkBalance(data);\n }\n };\n\n private onOrderRequest = data => {\n if (this.props.onOrderRequest)\n return new Promise((resolve, reject) => {\n void this.props.onOrderRequest(resolve, reject, data);\n });\n if (this.props.session) {\n return this.props.session.createOrder();\n }\n };\n\n public balanceCheck() {\n return this.onBalanceCheck();\n }\n\n private onBalanceCheck = (): void => {\n if (!this.isValid) {\n this.showValidation();\n return;\n }\n\n // skip balance check if no onBalanceCheck event has been defined\n const hasBalanceCheck = this.props.session || this.props.onBalanceCheck;\n if (!hasBalanceCheck) return super.submit();\n\n this.setStatus('loading');\n\n this.handleBalanceCheck(this.formatData())\n .then(({ balance, transactionLimit = {} as PaymentAmount }) => {\n // Clear any previous balance check errors on success\n this.setBalanceCheckError(null);\n\n // We still need to throw these errors, otherwise it would be a breaking changing\n if (!balance) throw new Error('card-error'); // card doesn't exist\n if (balance?.currency !== this.props.amount?.currency) throw new Error('currency-error');\n if (balance?.value <= 0) throw new Error('no-balance');\n\n if (this.props.amount.value > balance.value || this.props.amount.value > transactionLimit.value) {\n if (this.props.order) {\n return this.makeSubmitCall();\n }\n\n return this.onOrderRequest(this.data).then((order: { orderData: string; pspReference: string }) => {\n this.setState({ order: { orderData: order.orderData, pspReference: order.pspReference } });\n return this.makeSubmitCall();\n });\n } else {\n return this.handleOnRequiringConfirmation(balance, transactionLimit);\n }\n })\n .catch(error => {\n // Simply pass the raw error message to setBalanceCheckError\n this.setBalanceCheckError(error?.message);\n\n // Still call handleError for other side effects (analytics, onError callback)\n if (error instanceof AdyenCheckoutError) {\n this.handleError(error);\n } else {\n this.handleError(new AdyenCheckoutError('ERROR', error));\n }\n });\n };\n\n /**\n * Check if it should call onRequiringConfirmation\n */\n private handleOnRequiringConfirmation = (balance: PaymentAmount, transactionLimit: PaymentAmount): Promise<void> | void => {\n this.componentRef.setBalance({ balance, transactionLimit });\n this.setStatus('ready');\n\n // 1. if we show pay button we don't need to ask for confirmation\n if (this.props.showPayButton) {\n return;\n }\n // 2. there's no callback, we throw error\n if (!this.props.onRequiringConfirmation) {\n throw new AdyenCheckoutError('IMPLEMENTATION_ERROR', 'onRequiringConfirmation must be provided');\n }\n // 3. success case if in case of custom pay button\n return (\n new Promise<void>((resolve, reject) => {\n void this.props.onRequiringConfirmation(resolve, reject);\n })\n //when this resolve passed to onRequiringConfirmation gets resolved make payments call\n .then(() => this.makeSubmitCall())\n //when it gets rejected handle cancellation\n .catch(() => {})\n );\n };\n\n public submit() {\n // for simplicity of the merchant we always only expose .submit()\n // however to make the actual payment call we call makeSubmitCall\n this.balanceCheck();\n }\n\n // this makes the payment, as .submit is used by the merchant to trigger the payButton action\n private makeSubmitCall() {\n super.submit();\n }\n\n // Giftcards override the regular payButton flow\n protected override payButton = (props: PayButtonProps) => {\n return <PayButton {...props} />;\n };\n\n protected override componentToRender(): h.JSX.Element {\n return (\n <GiftcardComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n handleKeyDown={this.handleKeyDown}\n showPayButton={this.props.showPayButton}\n onChange={this.setState}\n makeBalanceCheck={() => this.onBalanceCheck()}\n makePayment={() => this.makeSubmitCall()}\n payButton={this.payButton}\n onSubmitAnalytics={this.submitAnalytics}\n />\n );\n }\n}\n\nexport default GiftcardElement;\n"],"names":["GiftcardElement","UIElement","formatProps","props","_object_spread","configuration","formatData","_this_state_data","_this_state_data1","paymentMethod","type","this","constructor","brand","encryptedCardNumber","state","data","encryptedSecurityCode","isValid","icon","_this_props_brandsConfiguration_this_props_brand","brandsConfiguration","resources","getImage","displayName","name","setBalanceCheckError","errorMessage","_this_componentRef_setBalanceCheckErrors","_this_componentRef","componentRef","setBalanceCheckErrors","call","balanceCheck","onBalanceCheck","submit","makeSubmitCall","super","componentToRender","h","GiftcardComponent","ref","handleKeyDown","showPayButton","onChange","setState","makeBalanceCheck","makePayment","payButton","onSubmitAnalytics","submitAnalytics","args","_define_property","handleBalanceCheck","Promise","resolve","reject","session","checkBalance","onOrderRequest","createOrder","showValidation","setStatus","then","balance","transactionLimit","_this_props_amount","Error","currency","amount","value","order","orderData","pspReference","handleOnRequiringConfirmation","catch","error","message","AdyenCheckoutError","handleError","setBalance","onRequiringConfirmation","PayButton","TxVariants","giftcard","defaultProps"],"mappings":"snCAUO,MAAMA,UAAwBC,EASjCC,WAAAA,CAAYC,GACR,OAAOC,EAAA,CAAA,EACAD,eAAAA,EAAOE,cACPF,EAEX,CAEAG,UAAAA,OAKiCC,EACEC,EAL/B,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKC,YAAY,KACvBC,MAAOF,KAAKR,MAAMU,MAClBC,oBAAoC,QAAfP,EAAAI,KAAKI,MAAMC,YAAX,IAAAT,OAAA,EAAAA,EAAiBO,oBACtCG,sBAAsC,QAAfT,EAAAG,KAAKI,MAAMC,YAAX,IAAAR,OAAA,EAAAA,EAAiBS,uBAGpD,CAEA,WAAIC,GACA,QAASP,KAAKI,MAAMG,OACxB,CAEA,QAAIC,GACO,IAAAC,EAAP,eAAOA,EAAAT,KAAKR,MAAMkB,oBAAoBV,KAAKR,MAAMU,cAA1C,IAAAO,SAAAA,EAAkDD,OAAQR,KAAKR,MAAMgB,MAAQR,KAAKW,UAAUC,UAAfZ,CAA0BA,KAAKR,MAAMU,MAC7H,CAEA,eAAIW,GACO,IAAAJ,EAAP,OAAuD,QAAhDA,EAAAT,KAAKR,MAAMkB,oBAAoBV,KAAKR,MAAMU,cAA1C,IAAAO,OAAA,EAAAA,EAAkDK,OAAQd,KAAKR,MAAMsB,IAChF,CAEQC,oBAAAA,CAAqBC,OACzBC,EAAAC,EAAiB,QAAjBA,EAAAlB,KAAKmB,oBAAL,IAAAD,GAAwC,QAAxCD,EAAAC,EAAmBE,6BAAnB,IAAAH,GAAAA,EAAAI,KAAAH,EAA2CF,EAC/C,CAwBOM,YAAAA,GACH,OAAOtB,KAAKuB,gBAChB,CA6EOC,MAAAA,GAGHxB,KAAKsB,cACT,CAGQG,cAAAA,GACJC,MAAMF,QACV,CAOmBG,iBAAAA,GACf,OACIC,EAACC,EAAAA,EAAAA,EAAAA,CACGC,IAAKA,IACD9B,KAAKmB,aAAeW,IAEpB9B,KAAKR,OAAK,CACduC,cAAe/B,KAAK+B,cACpBC,cAAehC,KAAKR,MAAMwC,cAC1BC,SAAUjC,KAAKkC,SACfC,iBAAkB,IAAMnC,KAAKuB,iBAC7Ba,YAAa,IAAMpC,KAAKyB,iBACxBY,UAAWrC,KAAKqC,UAChBC,kBAAmBtC,KAAKuC,kBAGpC,mBAhLGb,SAAAc,GAGHC,OAAUtB,oBAAV,GAwCAsB,EAAAzC,KAAQ0C,qBAAsBrC,GACtBL,KAAKR,MAAM+B,eACJ,IAAIoB,QAAQ,CAACC,EAASC,KACpB7C,KAAKR,MAAM+B,eAAeqB,EAASC,EAAQxC,KAIpDL,KAAKR,MAAMsD,QACJ9C,KAAKR,MAAMsD,QAAQC,aAAa1C,QAD3C,GAKJoC,EAAAzC,KAAQgD,iBAAiB3C,GACjBL,KAAKR,MAAMwD,eACJ,IAAIL,QAAQ,CAACC,EAASC,KACpB7C,KAAKR,MAAMwD,eAAeJ,EAASC,EAAQxC,KAEpDL,KAAKR,MAAMsD,QACJ9C,KAAKR,MAAMsD,QAAQG,mBAD9B,GASJR,OAAQlB,iBAAiB,KACrB,IAAKvB,KAAKO,QAEN,YADAP,KAAKkD,iBAMT,KADwBlD,KAAKR,MAAMsD,SAAW9C,KAAKR,MAAM+B,gBACnC,OAAOG,MAAMF,SAEnCxB,KAAKmD,UAAU,WAEfnD,KAAK0C,mBAAmB1C,KAAKL,cACxByD,KAAK,EAAGC,UAASC,mBAAmB,CAAA,MAMP,IAAAC,EAD1B,GAHAvD,KAAKe,qBAAqB,OAGrBsC,EAAS,MAAM,IAAIG,MAAM,cAC9B,IAAIH,aAAAA,EAAAA,EAASI,qBAAaF,EAAAvD,KAAKR,MAAMkE,cAAX,IAAAH,OAAA,EAAAA,EAAmBE,UAAU,MAAM,IAAID,MAAM,kBACvE,IAAIH,aAAAA,EAAAA,EAASM,QAAS,EAAG,MAAM,IAAIH,MAAM,cAEzC,OAAIxD,KAAKR,MAAMkE,OAAOC,MAAQN,EAAQM,OAAS3D,KAAKR,MAAMkE,OAAOC,MAAQL,EAAiBK,MAClF3D,KAAKR,MAAMoE,MACJ5D,KAAKyB,iBAGTzB,KAAKgD,eAAehD,KAAKK,MAAM+C,KAAMQ,IACxC5D,KAAKkC,SAAS,CAAE0B,MAAO,CAAEC,UAAWD,EAAMC,UAAWC,aAAcF,EAAME,gBAClE9D,KAAKyB,mBAGTzB,KAAK+D,8BAA8BV,EAASC,KAG1DU,MAAMC,IAEHjE,KAAKe,qBAAqBkD,aAAAA,EAAAA,EAAOC,SAG7BD,aAAiBE,EACjBnE,KAAKoE,YAAYH,GAEjBjE,KAAKoE,YAAY,IAAID,EAAmB,QAASF,QAQjExB,EAAAzC,KAAQ+D,gCAAgC,CAACV,EAAwBC,KAK7D,GAJAtD,KAAKmB,aAAakD,WAAW,CAAEhB,UAASC,qBACxCtD,KAAKmD,UAAU,UAGXnD,KAAKR,MAAMwC,cAAf,CAIA,IAAKhC,KAAKR,MAAM8E,wBACZ,MAAM,IAAIH,EAAmB,uBAAwB,4CAGzD,OACI,IAAIxB,QAAc,CAACC,EAASC,KACnB7C,KAAKR,MAAM8E,wBAAwB1B,EAASC,KAGhDO,KAAK,IAAMpD,KAAKyB,kBAEhBuC,MAAM,OAbf,IA6BJvB,EAAAzC,KAAmBqC,YAAa7C,GACrBoC,EAAC2C,EAAc/E,KA5J1BiD,EADSpD,EACcU,OAAmByE,EAAWC,UAIrDhC,EALSpD,EAKiBqF,eAAe,CACrChE,oBAAqB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GiftcardComponent.js","sources":["../../../../../src/components/Giftcard/components/GiftcardComponent.tsx"],"sourcesContent":["import { Component, FunctionComponent, h } from 'preact';\nimport SecuredFieldsProvider from '../../internal/SecuredFields/SFP/SecuredFieldsProvider';\nimport Alert from '../../internal/Alert';\nimport GiftcardResult from './GiftcardResult';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport { GIFT_CARD } from '../../internal/SecuredFields/lib/constants';\nimport { GiftCardFields } from './GiftcardFields';\nimport { GiftcardFieldsProps, Placeholders } from './types';\nimport { useSRPanelForGiftcardErrors } from './useSRPanelForGiftcardErrors';\nimport { GiftCardBalanceCheckErrorType } from '../types';\nimport { PayButtonProps } from '../../internal/PayButton/PayButton';\nimport { useAmount } from '../../../core/Context/AmountProvider';\nimport type { AbstractAnalyticsEvent } from '../../../core/Analytics/events/AbstractAnalyticsEvent';\nimport type { SFPProps } from '../../internal/SecuredFields/SFP/types';\n\ninterface GiftcardComponentProps extends Partial<Pick<SFPProps, 'clientKey' | 'loadingContext'>> {\n onChange: (state) => void;\n onFocus: (event) => void;\n onBlur: (event) => void;\n makeBalanceCheck: (event) => void;\n makePayment: (event) => void;\n showPayButton: boolean;\n payButton: (props: PayButtonProps) => h.JSX.Element;\n pinRequired: boolean;\n expiryDateRequired?: boolean;\n fieldsLayoutComponent: FunctionComponent<GiftcardFieldsProps>;\n placeholders?: Placeholders;\n handleKeyPress?: (o: KeyboardEvent) => void;\n onSubmitAnalytics?: (event: AbstractAnalyticsEvent) => void;\n}\n\nclass Giftcard extends Component<Readonly<GiftcardComponentProps>> {\n public state = {\n status: 'ready',\n data: {},\n balance: null,\n transactionLimit: null,\n focusedElement: false,\n isValid: false,\n sfpState: {},\n isValidating: false,\n transformedErrors: {}\n };\n\n public static readonly defaultProps = {\n pinRequired: true,\n expiryDateRequired: false,\n onChange: () => {},\n onFocus: () => {},\n onBlur: () => {},\n fieldsLayoutComponent: GiftCardFields\n };\n\n public sfp: SecuredFieldsProvider;\n\n /**\n * Maps string error codes from SecuredFields to validation rule objects\n */\n public mapErrorsToValidationObjects = () => {\n // Use the sfp reference to call mapErrorsToValidationRuleResult\n if (!this.sfp) return {};\n return this.sfp.mapErrorsToValidationRuleResult();\n };\n\n private updateTransformedErrors = (balanceCheckErrors?: Record<string, any>) => {\n const transformedErrors = this.mapErrorsToValidationObjects();\n\n const mergedErrors = { ...transformedErrors, ...balanceCheckErrors };\n\n this.setState({ transformedErrors: mergedErrors });\n };\n\n public onChange = sfpState => {\n this.setState({ sfpState }, () => this.updateTransformedErrors());\n\n this.props.onChange({\n data: sfpState.data,\n isValid: sfpState.isSfpValid\n });\n };\n\n public handleFocus = e => {\n this.setState({ focusedElement: e.currentFocusObject });\n\n const isFocused = e.focus === true;\n if (isFocused) {\n this.props.onFocus(e);\n } else {\n this.props.onBlur(e);\n }\n };\n\n public setBalance = ({ balance, transactionLimit }) => {\n this.setState({ balance, transactionLimit });\n };\n\n /**\n * Generates balance check errors in the same format as SFP errors\n * Compatible with the transformedErrors structure\n */\n private generateBalanceCheckErrors(errorType?: GiftCardBalanceCheckErrorType | null): Record<string, any> {\n const balanceCheckErrors: Record<string, any> = {};\n\n // This is the field that the error is associated with, only used for SR logic\n const fieldToAnnounce = 'encryptedCardNumber';\n\n // If errorType is null, clear errors\n if (errorType === null) {\n return balanceCheckErrors;\n }\n\n // Create error in the same format as SFP errors for consistency\n balanceCheckErrors[fieldToAnnounce] = {\n isValid: false,\n errorMessage: `error.giftcard.${errorType}`,\n error: errorType\n };\n\n return balanceCheckErrors;\n }\n\n /**\n * Checks if a status represents a balance check error\n */\n private isBalanceCheckError(status: string): boolean {\n return ['no-balance', 'card-error', 'currency-error'].includes(status);\n }\n\n /**\n * Method called by GiftcardElement to set balance check errors only\n */\n public setBalanceCheckErrors = (errorType: GiftCardBalanceCheckErrorType | null): void => {\n // Check if the errors should be displayed\n if (this.isBalanceCheckError(errorType)) {\n // Generate balance check errors in the style of useForm\n // This is usefull because then we can use the same logic for SF and balance check errors\n // Also we can use the same logic for SRPanel errors\n const balanceCheckErrors = this.generateBalanceCheckErrors(errorType);\n this.updateTransformedErrors(balanceCheckErrors);\n }\n };\n\n public showValidation = () => {\n this.setState({ isValidating: true });\n\n // Validate SecuredFields\n this.sfp?.showValidation();\n };\n\n public setIsValidating = (val: boolean) => {\n this.setState({ isValidating: val });\n };\n\n render(props, { focusedElement, balance, transactionLimit, isValidating, transformedErrors }) {\n const { i18n } = useCoreContext();\n const { amount } = useAmount();\n\n // Handle SRPanel errors in render with transformed error objects\n useSRPanelForGiftcardErrors({\n errors: transformedErrors,\n isValidating,\n setIsValidating: this.setIsValidating,\n sfp: this.sfp\n });\n\n const transactionAmount = transactionLimit?.value < balance?.value ? transactionLimit : balance;\n const hasEnoughBalance = transactionAmount?.value >= amount?.value;\n\n if (transactionAmount && hasEnoughBalance) {\n return (\n <GiftcardResult\n balance={balance}\n transactionLimit={transactionLimit}\n makePayment={props.makePayment}\n status={this.state.status}\n makeBalanceCheck={props.makeBalanceCheck}\n showPayButton={this.props.showPayButton}\n payButton={this.props.payButton}\n />\n );\n }\n\n const getCardErrorMessage = sfpState => {\n if (sfpState.errors.encryptedCardNumber) return i18n.get(sfpState.errors.encryptedCardNumber);\n\n // This logic is a bit of a hack, but it's the only way to get the error message for balance check errors\n // In the future we should move this logic to useForm\n if (transformedErrors.encryptedCardNumber) {\n return i18n.get(transformedErrors.encryptedCardNumber.errorMessage);\n }\n\n return null;\n };\n\n return (\n <div className=\"adyen-checkout__giftcard\">\n {this.state.status === 'error' && <Alert icon={'cross'}>{i18n.get('error.message.unknown')}</Alert>}\n\n <SecuredFieldsProvider\n {...this.props}\n clientKey={this.props.clientKey}\n loadingContext={this.props.loadingContext}\n ref={ref => {\n this.sfp = ref;\n }}\n onChange={this.onChange}\n onFocus={this.handleFocus}\n onSubmitAnalytics={props.onSubmitAnalytics}\n type={GIFT_CARD}\n componentType={props.type}\n render={({ setRootNode, setFocusOn }, sfpState) =>\n this.props.fieldsLayoutComponent({\n i18n: i18n,\n pinRequired: this.props.pinRequired,\n focusedElement: focusedElement,\n getCardErrorMessage: getCardErrorMessage,\n setRootNode: setRootNode,\n setFocusOn: setFocusOn,\n sfpState: sfpState\n })\n }\n />\n\n {this.props.showPayButton &&\n this.props.payButton({\n status: this.state.status,\n onClick: this.props.makeBalanceCheck,\n label: i18n.get('applyGiftcard')\n })}\n </div>\n );\n }\n}\n\nexport default Giftcard;\n"],"names":["Giftcard","Component","generateBalanceCheckErrors","errorType","balanceCheckErrors","isValid","errorMessage","error","isBalanceCheckError","status","includes","render","props","focusedElement","balance","transactionLimit","isValidating","transformedErrors","i18n","useCoreContext","amount","useAmount","useSRPanelForGiftcardErrors","errors","setIsValidating","this","sfp","transactionAmount","value","hasEnoughBalance","h","GiftcardResult","makePayment","state","makeBalanceCheck","showPayButton","payButton","getCardErrorMessage","sfpState","encryptedCardNumber","get","div","className","Alert","icon","SecuredFieldsProvider","clientKey","loadingContext","ref","onChange","onFocus","handleFocus","onSubmitAnalytics","type","GIFT_CARD","componentType","setRootNode","setFocusOn","fieldsLayoutComponent","pinRequired","onClick","label","super","args","_define_property","data","mapErrorsToValidationObjects","mapErrorsToValidationRuleResult","updateTransformedErrors","mergedErrors","_object_spread","setState","isSfpValid","e","currentFocusObject","focus","onBlur","setBalance","setBalanceCheckErrors","showValidation","_this_sfp","val","defaultProps","expiryDateRequired","GiftCardFields"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GiftcardComponent.js","sources":["../../../../../src/components/Giftcard/components/GiftcardComponent.tsx"],"sourcesContent":["import { Component, FunctionComponent, h } from 'preact';\nimport SecuredFieldsProvider from '../../internal/SecuredFields/SFP/SecuredFieldsProvider';\nimport Alert from '../../internal/Alert';\nimport GiftcardResult from './GiftcardResult';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport { GIFT_CARD } from '../../internal/SecuredFields/lib/constants';\nimport { GiftCardFields } from './GiftcardFields';\nimport { GiftcardFieldsProps, Placeholders } from './types';\nimport { useSRPanelForGiftcardErrors } from './useSRPanelForGiftcardErrors';\nimport { GiftCardBalanceCheckErrorType, GiftCardValidationError } from '../types';\nimport { PayButtonProps } from '../../internal/PayButton/PayButton';\nimport { useAmount } from '../../../core/Context/AmountProvider';\nimport type { AbstractAnalyticsEvent } from '../../../core/Analytics/events/AbstractAnalyticsEvent';\nimport type { SFPProps } from '../../internal/SecuredFields/SFP/types';\n\ninterface GiftcardComponentProps extends Partial<Pick<SFPProps, 'clientKey' | 'loadingContext'>> {\n onChange: (state) => void;\n onFocus: (event) => void;\n onBlur: (event) => void;\n makeBalanceCheck: (event) => void;\n makePayment: (event) => void;\n showPayButton: boolean;\n payButton: (props: PayButtonProps) => h.JSX.Element;\n pinRequired: boolean;\n expiryDateRequired?: boolean;\n fieldsLayoutComponent: FunctionComponent<GiftcardFieldsProps>;\n placeholders?: Placeholders;\n handleKeyDown?: (event: KeyboardEvent) => void;\n onSubmitAnalytics?: (event: AbstractAnalyticsEvent) => void;\n}\n\nclass Giftcard extends Component<Readonly<GiftcardComponentProps>> {\n public state = {\n status: 'ready',\n data: {},\n balance: null,\n transactionLimit: null,\n focusedElement: false,\n isValid: false,\n sfpState: {},\n isValidating: false,\n transformedErrors: {}\n };\n\n public static readonly defaultProps = {\n pinRequired: true,\n expiryDateRequired: false,\n onChange: () => {},\n onFocus: () => {},\n onBlur: () => {},\n fieldsLayoutComponent: GiftCardFields\n };\n\n public sfp: SecuredFieldsProvider;\n\n /**\n * Maps string error codes from SecuredFields to validation rule objects\n */\n public mapErrorsToValidationObjects = () => {\n // Use the sfp reference to call mapErrorsToValidationRuleResult\n if (!this.sfp) return {};\n return this.sfp.mapErrorsToValidationRuleResult();\n };\n\n private updateTransformedErrors = (balanceCheckErrors?: Record<string, GiftCardValidationError>) => {\n const transformedErrors = this.mapErrorsToValidationObjects();\n\n const mergedErrors = { ...transformedErrors, ...balanceCheckErrors };\n\n this.setState({ transformedErrors: mergedErrors });\n };\n\n public onChange = sfpState => {\n this.setState({ sfpState }, () => this.updateTransformedErrors());\n\n this.props.onChange({\n data: sfpState.data,\n isValid: sfpState.isSfpValid\n });\n };\n\n public handleFocus = e => {\n this.setState({ focusedElement: e.currentFocusObject });\n\n const isFocused = e.focus === true;\n if (isFocused) {\n this.props.onFocus(e);\n } else {\n this.props.onBlur(e);\n }\n };\n\n public setBalance = ({ balance, transactionLimit }) => {\n this.setState({ balance, transactionLimit });\n };\n\n /**\n * Generates balance check errors in the same format as SFP errors\n * Compatible with the transformedErrors structure\n */\n private generateBalanceCheckErrors(errorType?: GiftCardBalanceCheckErrorType | null): Record<string, GiftCardValidationError> {\n const balanceCheckErrors: Record<string, GiftCardValidationError> = {};\n\n // This is the field that the error is associated with, only used for SR logic\n const fieldToAnnounce = 'encryptedCardNumber';\n\n // If errorType is null, clear errors\n if (errorType === null) {\n return balanceCheckErrors;\n }\n\n // Create error in the same format as SFP errors for consistency\n balanceCheckErrors[fieldToAnnounce] = {\n isValid: false,\n errorMessage: `error.giftcard.${errorType}`,\n error: errorType\n };\n\n return balanceCheckErrors;\n }\n\n /**\n * Checks if a status represents a balance check error\n */\n private isBalanceCheckError(status: string): boolean {\n return ['no-balance', 'card-error', 'currency-error'].includes(status);\n }\n\n /**\n * Method called by GiftcardElement to set balance check errors only\n */\n public setBalanceCheckErrors = (errorType: GiftCardBalanceCheckErrorType | null): void => {\n // Check if the errors should be displayed\n if (this.isBalanceCheckError(errorType)) {\n // Generate balance check errors in the style of useForm\n // This is usefull because then we can use the same logic for SF and balance check errors\n // Also we can use the same logic for SRPanel errors\n const balanceCheckErrors = this.generateBalanceCheckErrors(errorType);\n this.updateTransformedErrors(balanceCheckErrors);\n }\n };\n\n public showValidation = () => {\n this.setState({ isValidating: true });\n\n // Validate SecuredFields\n this.sfp?.showValidation();\n };\n\n public setIsValidating = (val: boolean) => {\n this.setState({ isValidating: val });\n };\n\n render(props, { focusedElement, balance, transactionLimit, isValidating, transformedErrors }) {\n const { i18n } = useCoreContext();\n const { amount } = useAmount();\n\n // Handle SRPanel errors in render with transformed error objects\n useSRPanelForGiftcardErrors({\n errors: transformedErrors,\n isValidating,\n setIsValidating: this.setIsValidating,\n sfp: this.sfp\n });\n\n const transactionAmount = transactionLimit?.value < balance?.value ? transactionLimit : balance;\n const hasEnoughBalance = transactionAmount?.value >= amount?.value;\n\n if (transactionAmount && hasEnoughBalance) {\n return (\n <GiftcardResult\n balance={balance}\n transactionLimit={transactionLimit}\n makePayment={props.makePayment}\n status={this.state.status}\n makeBalanceCheck={props.makeBalanceCheck}\n showPayButton={this.props.showPayButton}\n payButton={this.props.payButton}\n />\n );\n }\n\n const getCardErrorMessage = sfpState => {\n if (sfpState.errors.encryptedCardNumber) return i18n.get(sfpState.errors.encryptedCardNumber);\n\n // This logic is a bit of a hack, but it's the only way to get the error message for balance check errors\n // In the future we should move this logic to useForm\n if (transformedErrors.encryptedCardNumber) {\n return i18n.get(transformedErrors.encryptedCardNumber.errorMessage);\n }\n\n return null;\n };\n\n return (\n <div className=\"adyen-checkout__giftcard\">\n {this.state.status === 'error' && <Alert icon={'cross'}>{i18n.get('error.message.unknown')}</Alert>}\n\n <SecuredFieldsProvider\n {...this.props}\n clientKey={this.props.clientKey}\n loadingContext={this.props.loadingContext}\n ref={ref => {\n this.sfp = ref;\n }}\n onChange={this.onChange}\n onFocus={this.handleFocus}\n onSubmitAnalytics={props.onSubmitAnalytics}\n type={GIFT_CARD}\n componentType={props.type}\n render={({ setRootNode, setFocusOn }, sfpState) =>\n this.props.fieldsLayoutComponent({\n i18n: i18n,\n pinRequired: this.props.pinRequired,\n focusedElement: focusedElement,\n getCardErrorMessage: getCardErrorMessage,\n setRootNode: setRootNode,\n setFocusOn: setFocusOn,\n sfpState: sfpState\n })\n }\n />\n\n {this.props.showPayButton &&\n this.props.payButton({\n status: this.state.status,\n onClick: this.props.makeBalanceCheck,\n label: i18n.get('applyGiftcard')\n })}\n </div>\n );\n }\n}\n\nexport default Giftcard;\n"],"names":["Giftcard","Component","generateBalanceCheckErrors","errorType","balanceCheckErrors","isValid","errorMessage","error","isBalanceCheckError","status","includes","render","props","focusedElement","balance","transactionLimit","isValidating","transformedErrors","i18n","useCoreContext","amount","useAmount","useSRPanelForGiftcardErrors","errors","setIsValidating","this","sfp","transactionAmount","value","hasEnoughBalance","h","GiftcardResult","makePayment","state","makeBalanceCheck","showPayButton","payButton","getCardErrorMessage","sfpState","encryptedCardNumber","get","div","className","Alert","icon","SecuredFieldsProvider","clientKey","loadingContext","ref","onChange","onFocus","handleFocus","onSubmitAnalytics","type","GIFT_CARD","componentType","setRootNode","setFocusOn","fieldsLayoutComponent","pinRequired","onClick","label","super","args","_define_property","data","mapErrorsToValidationObjects","mapErrorsToValidationRuleResult","updateTransformedErrors","mergedErrors","_object_spread","setState","isSfpValid","e","currentFocusObject","focus","onBlur","setBalance","setBalanceCheckErrors","showValidation","_this_sfp","val","defaultProps","expiryDateRequired","GiftCardFields"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"../../Card/components/CardInput/components/DataSfSpan.js";import r from"../../../_virtual/index.js";import t from"../../internal/FormFields/Field/Field.js";import{createElement as n}from"../../../external/preact/dist/preact.js";import{alternativeLabelContent as o}from"../../Card/components/CardInput/components/FieldLabelAlternative.js";const c=({i18n:c,classNameModifiers:d,sfpState:
|
|
1
|
+
import e from"../../Card/components/CardInput/components/DataSfSpan.js";import r from"../../../_virtual/index.js";import t from"../../internal/FormFields/Field/Field.js";import{createElement as n}from"../../../external/preact/dist/preact.js";import{alternativeLabelContent as o}from"../../Card/components/CardInput/components/FieldLabelAlternative.js";const c=({i18n:c,classNameModifiers:d,sfpState:i,focusedElement:a,setFocusOn:s,label:l=c.get("creditCard.pin.label")})=>{var p,u;return n(t,{label:l,classNameModifiers:["pin",...d],errorMessage:(null===(p=i.errors)||void 0===p?void 0:p.encryptedSecurityCode)&&c.get(i.errors.encryptedSecurityCode),focused:"encryptedSecurityCode"===a,onFocusField:()=>s("encryptedSecurityCode"),dir:"ltr",name:"encryptedSecurityCode",contextVisibleToScreenReader:!1,useLabelElement:!1,renderAlternativeToLabel:o},n(e,{encryptedFieldType:"encryptedSecurityCode","data-info":'{"length":"3-10", "maskInterval": 0}',className:r({"adyen-checkout__input":!0,"adyen-checkout__input--large":!0,"adyen-checkout__card__cvc__input":!0,"adyen-checkout__input--error":null===(u=i.errors)||void 0===u?void 0:u.encryptedSecurityCode,"adyen-checkout__input--focus":"encryptedSecurityCode"===a})}))};export{c as GiftcardPinField};
|
|
2
2
|
//# sourceMappingURL=GiftcardPinField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GiftcardPinField.js","sources":["../../../../../src/components/Giftcard/components/GiftcardPinField.tsx"],"sourcesContent":["import DataSfSpan from '../../Card/components/CardInput/components/DataSfSpan';\nimport classNames from 'classnames';\nimport Field from '../../internal/FormFields/Field';\nimport { h } from 'preact';\nimport { GiftcardFieldProps } from './types';\nimport { alternativeLabelContent } from '../../Card/components/CardInput/components/FieldLabelAlternative';\n\nexport const GiftcardPinField = ({\n i18n,\n classNameModifiers,\n sfpState,\n focusedElement,\n setFocusOn,\n label = i18n.get('creditCard.pin.label')\n}: Readonly<GiftcardFieldProps>) => {\n return (\n <Field\n label={label}\n classNameModifiers={['pin', ...classNameModifiers]}\n errorMessage={sfpState.errors
|
|
1
|
+
{"version":3,"file":"GiftcardPinField.js","sources":["../../../../../src/components/Giftcard/components/GiftcardPinField.tsx"],"sourcesContent":["import DataSfSpan from '../../Card/components/CardInput/components/DataSfSpan';\nimport classNames from 'classnames';\nimport Field from '../../internal/FormFields/Field';\nimport { h } from 'preact';\nimport { GiftcardFieldProps } from './types';\nimport { alternativeLabelContent } from '../../Card/components/CardInput/components/FieldLabelAlternative';\n\nexport const GiftcardPinField = ({\n i18n,\n classNameModifiers,\n sfpState,\n focusedElement,\n setFocusOn,\n label = i18n.get('creditCard.pin.label')\n}: Readonly<GiftcardFieldProps>) => {\n return (\n <Field\n label={label}\n classNameModifiers={['pin', ...classNameModifiers]}\n errorMessage={sfpState.errors?.encryptedSecurityCode && i18n.get(sfpState.errors.encryptedSecurityCode)}\n focused={focusedElement === 'encryptedSecurityCode'}\n onFocusField={() => setFocusOn('encryptedSecurityCode')}\n dir={'ltr'}\n name={'encryptedSecurityCode'}\n contextVisibleToScreenReader={false}\n useLabelElement={false}\n renderAlternativeToLabel={alternativeLabelContent}\n >\n <DataSfSpan\n encryptedFieldType=\"encryptedSecurityCode\"\n data-info='{\"length\":\"3-10\", \"maskInterval\": 0}'\n className={classNames({\n 'adyen-checkout__input': true,\n 'adyen-checkout__input--large': true,\n 'adyen-checkout__card__cvc__input': true,\n 'adyen-checkout__input--error': sfpState.errors?.encryptedSecurityCode,\n 'adyen-checkout__input--focus': focusedElement === 'encryptedSecurityCode'\n })}\n />\n </Field>\n );\n};\n"],"names":["GiftcardPinField","i18n","classNameModifiers","sfpState","focusedElement","setFocusOn","label","get","h","Field","errorMessage","errors","encryptedSecurityCode","focused","onFocusField","dir","name","contextVisibleToScreenReader","useLabelElement","renderAlternativeToLabel","alternativeLabelContent","DataSfSpan","encryptedFieldType","data-info","className","classNames"],"mappings":"sWAOaA,EAAmB,EAC5BC,OACAC,qBACAC,WACAC,iBACAC,aACAC,QAAQL,EAAKM,IAAI,gCAMKJ,EAgB0BA,EApBhD,OACIK,EAACC,EAAAA,CACGH,MAAOA,EACPJ,mBAAoB,CAAC,SAAUA,GAC/BQ,sBAAcP,EAAAA,EAASQ,cAATR,IAAAA,OAAAA,EAAAA,EAAiBS,wBAAyBX,EAAKM,IAAIJ,EAASQ,OAAOC,uBACjFC,QAA4B,0BAAnBT,EACTU,aAAc,IAAMT,EAAW,yBAC/BU,IAAK,MACLC,KAAM,wBACNC,8BAA8B,EAC9BC,iBAAiB,EACjBC,yBAA0BC,GAE1BZ,EAACa,EAAAA,CACGC,mBAAmB,wBACnBC,YAAU,uCACVC,UAAWC,EAAW,CAClB,yBAAyB,EACzB,gCAAgC,EAChC,oCAAoC,EACpC,+BAA+C,QAAftB,EAAAA,EAASQ,cAATR,IAAAA,SAAAA,EAAiBS,sBACjD,+BAAmD,0BAAnBR"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as t}from"../../external/preact/dist/preact.js";import e from"../../utils/isMobile.js";import o from"../helpers/IssuerListContainer/IssuerListContainer.js";import{QRLoader as r}from"../internal/QRLoader/QRLoader.js";import"../../core/Context/CoreProvider.js";import"../../external/preact/hooks/dist/hooks.js";import"../../core/Errors/SRPanelContext.js";import"../internal/Button/Button.js";import"../internal/QRLoader/QRLoaderDetailsProvider.js";import{TxVariants as s}from"../tx-variants.js";import n from"./components/IrisComponent.js";import{IrisQrCodeInstructions as i}from"./components/IrisQrCodeInstructions.js";import{IrisMode as p}from"./types.js";import{DEFAULT_IRIS_COUNTDOWN_TIME as a}from"./constants.js";function d(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function u(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e.push.apply(e,o)}return e}(Object(e)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(e,o))}),t}class c extends o{renderIssuerList(){return super.componentToRender()}formatData(){var t,e;return this.state.mode===p.BANK_LIST?{paymentMethod:{type:this.type,issuer:null===(e=this.state)||void 0===e||null===(t=e.data)||void 0===t?void 0:t.issuer}}:{paymentMethod:{type:this.type}}}formatProps(t){var e;return u(function(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter(function(t){return Object.getOwnPropertyDescriptor(o,t).enumerable}))),r.forEach(function(e){d(t,e,o[e])})}return t}({},super.formatProps(t)),{countdownTime:null!==(e=t.countdownTime)&&void 0!==e?e:a})}get isValid(){return this.state.mode!==p.BANK_LIST||super.isValid}componentToRender(){return"qrCode"===this.props.type?t(r,{type:s.iris,brandLogo:this.icon,clientKey:this.props.clientKey,qrCodeData:this.props.qrCodeData?encodeURIComponent(this.props.qrCodeData):void 0,countdownTime:this.props.countdownTime,paymentData:this.props.paymentData,delay:this.props.delay,onActionHandled:this.onActionHandled,onError:this.props.onError,onComplete:this.onComplete,introduction:i,showAmount:!0,copyBtn:!1}):t(n,{setComponentRef:this.setComponentRef,defaultMode:this.defaultMode,onUpdateMode:t=>{this.setState({mode:t})},issuerListUI:this.renderIssuerList(),showPayButton:this.props.showPayButton,payButton:this.payButton,issuers:this.props.issuers||[]})}constructor(...t){super(...t),d(this,"defaultMode",e()?p.BANK_LIST:p.QR_CODE),d(this,"state",{isValid:this.defaultMode===p.QR_CODE,mode:this.defaultMode,data:{}})}}d(c,"type",s.iris);export{c as Iris,c as default};
|
|
1
|
+
import{createElement as t}from"../../external/preact/dist/preact.js";import e from"../../utils/isMobile.js";import o from"../helpers/IssuerListContainer/IssuerListContainer.js";import{QRLoader as r}from"../internal/QRLoader/QRLoader.js";import"../../core/Context/CoreProvider.js";import"../../external/preact/hooks/dist/hooks.js";import"../../core/Errors/SRPanelContext.js";import"../internal/Button/Button.js";import"../internal/QRLoader/QRLoaderDetailsProvider.js";import{TxVariants as s}from"../tx-variants.js";import n from"./components/IrisComponent.js";import{IrisQrCodeInstructions as i}from"./components/IrisQrCodeInstructions.js";import{IrisMode as p}from"./types.js";import{DEFAULT_IRIS_COUNTDOWN_TIME as a}from"./constants.js";function d(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function u(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e.push.apply(e,o)}return e}(Object(e)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(e,o))}),t}class c extends o{renderIssuerList(){return super.componentToRender()}formatData(){var t,e;return this.state.mode===p.BANK_LIST?{paymentMethod:{type:this.type,issuer:null===(e=this.state)||void 0===e||null===(t=e.data)||void 0===t?void 0:t.issuer}}:{paymentMethod:{type:this.type}}}formatProps(t){var e;return u(function(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter(function(t){return Object.getOwnPropertyDescriptor(o,t).enumerable}))),r.forEach(function(e){d(t,e,o[e])})}return t}({},super.formatProps(t)),{countdownTime:null!==(e=t.countdownTime)&&void 0!==e?e:a})}get isValid(){return this.state.mode!==p.BANK_LIST||super.isValid}componentToRender(){return"qrCode"===this.props.type?t(r,{type:s.iris,brandLogo:this.icon,brandName:this.displayName,clientKey:this.props.clientKey,qrCodeData:this.props.qrCodeData?encodeURIComponent(this.props.qrCodeData):void 0,countdownTime:this.props.countdownTime,paymentData:this.props.paymentData,delay:this.props.delay,onActionHandled:this.onActionHandled,onError:this.props.onError,onComplete:this.onComplete,introduction:i,showAmount:!0,copyBtn:!1}):t(n,{setComponentRef:this.setComponentRef,defaultMode:this.defaultMode,onUpdateMode:t=>{this.setState({mode:t})},issuerListUI:this.renderIssuerList(),showPayButton:this.props.showPayButton,payButton:this.payButton,issuers:this.props.issuers||[]})}constructor(...t){super(...t),d(this,"defaultMode",e()?p.BANK_LIST:p.QR_CODE),d(this,"state",{isValid:this.defaultMode===p.QR_CODE,mode:this.defaultMode,data:{}})}}d(c,"type",s.iris);export{c as Iris,c as default};
|
|
2
2
|
//# sourceMappingURL=Iris.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Iris.js","sources":["../../../../src/components/Iris/Iris.tsx"],"sourcesContent":["import { h } from 'preact';\nimport isMobile from '../../utils/isMobile';\nimport IssuerListContainer from '../helpers/IssuerListContainer/IssuerListContainer';\nimport { QRLoader } from '../internal/QRLoader';\nimport { TxVariants } from '../tx-variants';\nimport IrisComponent from './components/IrisComponent';\nimport { IrisQrCodeInstructions } from './components/IrisQrCodeInstructions';\nimport { IrisConfiguration, IrisData, IrisMode, IrisState } from './types';\nimport { DEFAULT_IRIS_COUNTDOWN_TIME } from './constants';\n\nexport class Iris extends IssuerListContainer<IrisConfiguration, IrisData> {\n public static readonly type = TxVariants.iris;\n\n private readonly defaultMode = isMobile() ? IrisMode.BANK_LIST : IrisMode.QR_CODE;\n\n public state: IrisState = {\n isValid: this.defaultMode === IrisMode.QR_CODE,\n mode: this.defaultMode,\n data: {}\n };\n\n private renderIssuerList(): h.JSX.Element {\n return super.componentToRender();\n }\n\n formatData(): IrisData {\n if (this.state.mode === IrisMode.BANK_LIST) {\n return {\n paymentMethod: {\n type: this.type,\n issuer: this.state?.data?.issuer\n }\n };\n }\n\n return {\n paymentMethod: {\n type: this.type\n }\n };\n }\n\n formatProps(props: IrisConfiguration): IrisConfiguration {\n return {\n ...super.formatProps(props),\n countdownTime: props.countdownTime ?? DEFAULT_IRIS_COUNTDOWN_TIME\n };\n }\n\n get isValid() {\n if (this.state.mode === IrisMode.BANK_LIST) {\n return super.isValid;\n }\n\n return true;\n }\n\n protected override componentToRender(): h.JSX.Element {\n if (this.props.type === 'qrCode') {\n return (\n <QRLoader\n type={TxVariants.iris}\n brandLogo={this.icon}\n clientKey={this.props.clientKey}\n qrCodeData={this.props.qrCodeData ? encodeURIComponent(this.props.qrCodeData) : undefined}\n countdownTime={this.props.countdownTime}\n paymentData={this.props.paymentData}\n delay={this.props.delay}\n onActionHandled={this.onActionHandled}\n onError={this.props.onError}\n onComplete={this.onComplete}\n introduction={IrisQrCodeInstructions}\n showAmount\n copyBtn={false}\n />\n );\n }\n\n return (\n <IrisComponent\n setComponentRef={this.setComponentRef}\n defaultMode={this.defaultMode}\n onUpdateMode={mode => {\n this.setState({ mode });\n }}\n issuerListUI={this.renderIssuerList()}\n showPayButton={this.props.showPayButton}\n payButton={this.payButton}\n issuers={this.props.issuers || []}\n />\n );\n }\n}\n\nexport default Iris;\n"],"names":["Iris","IssuerListContainer","renderIssuerList","super","componentToRender","formatData","_this_state_data","_this_state","this","state","mode","IrisMode","BANK_LIST","paymentMethod","type","issuer","data","formatProps","props","_object_spread_props","_object_spread","countdownTime","DEFAULT_IRIS_COUNTDOWN_TIME","isValid","h","QRLoader","TxVariants","iris","brandLogo","icon","clientKey","qrCodeData","encodeURIComponent","undefined","paymentData","delay","onActionHandled","onError","onComplete","introduction","IrisQrCodeInstructions","showAmount","copyBtn","IrisComponent","setComponentRef","defaultMode","onUpdateMode","setState","issuerListUI","showPayButton","payButton","issuers","args","_define_property","isMobile","QR_CODE"],"mappings":"usCAUO,MAAMA,UAAaC,EAWdC,gBAAAA,GACJ,OAAOC,MAAMC,mBACjB,CAEAC,UAAAA,OAKwBC,EAAAC,EAJpB,OAAIC,KAAKC,MAAMC,OAASC,EAASC,UACtB,CACHC,cAAe,CACXC,KAAMN,KAAKM,KACXC,OAAkB,QAAVR,EAAAC,KAAKC,iBAALF,GAAgB,QAAhBD,EAAAC,EAAYS,YAAZ,IAAAV,OAAA,EAAAA,EAAkBS,SAK/B,CACHF,cAAe,CACXC,KAAMN,KAAKM,MAGvB,CAEAG,WAAAA,CAAYC,GAGWA,IAAAA,EAFnB,OAAOC,oUAAAC,CAAA,CAAA,EACAjB,MAAMc,YAAYC,IAAAA,CACrBG,cAAkC,QAAnBH,EAAAA,EAAMG,yBAANH,EAAAA,EAAuBI,GAE9C,CAEA,WAAIC,GACA,OAAIf,KAAKC,MAAMC,OAASC,EAASC,WACtBT,MAAMoB,OAIrB,CAEmBnB,iBAAAA,GACf,MAAwB,WAApBI,KAAKU,MAAMJ,KAEPU,EAACC,EAAAA,CACGX,KAAMY,EAAWC,KACjBC,UAAWpB,KAAKqB,KAChBC,UAAWtB,KAAKU,
|
|
1
|
+
{"version":3,"file":"Iris.js","sources":["../../../../src/components/Iris/Iris.tsx"],"sourcesContent":["import { h } from 'preact';\nimport isMobile from '../../utils/isMobile';\nimport IssuerListContainer from '../helpers/IssuerListContainer/IssuerListContainer';\nimport { QRLoader } from '../internal/QRLoader';\nimport { TxVariants } from '../tx-variants';\nimport IrisComponent from './components/IrisComponent';\nimport { IrisQrCodeInstructions } from './components/IrisQrCodeInstructions';\nimport { IrisConfiguration, IrisData, IrisMode, IrisState } from './types';\nimport { DEFAULT_IRIS_COUNTDOWN_TIME } from './constants';\n\nexport class Iris extends IssuerListContainer<IrisConfiguration, IrisData> {\n public static readonly type = TxVariants.iris;\n\n private readonly defaultMode = isMobile() ? IrisMode.BANK_LIST : IrisMode.QR_CODE;\n\n public state: IrisState = {\n isValid: this.defaultMode === IrisMode.QR_CODE,\n mode: this.defaultMode,\n data: {}\n };\n\n private renderIssuerList(): h.JSX.Element {\n return super.componentToRender();\n }\n\n formatData(): IrisData {\n if (this.state.mode === IrisMode.BANK_LIST) {\n return {\n paymentMethod: {\n type: this.type,\n issuer: this.state?.data?.issuer\n }\n };\n }\n\n return {\n paymentMethod: {\n type: this.type\n }\n };\n }\n\n formatProps(props: IrisConfiguration): IrisConfiguration {\n return {\n ...super.formatProps(props),\n countdownTime: props.countdownTime ?? DEFAULT_IRIS_COUNTDOWN_TIME\n };\n }\n\n get isValid() {\n if (this.state.mode === IrisMode.BANK_LIST) {\n return super.isValid;\n }\n\n return true;\n }\n\n protected override componentToRender(): h.JSX.Element {\n if (this.props.type === 'qrCode') {\n return (\n <QRLoader\n type={TxVariants.iris}\n brandLogo={this.icon}\n brandName={this.displayName}\n clientKey={this.props.clientKey}\n qrCodeData={this.props.qrCodeData ? encodeURIComponent(this.props.qrCodeData) : undefined}\n countdownTime={this.props.countdownTime}\n paymentData={this.props.paymentData}\n delay={this.props.delay}\n onActionHandled={this.onActionHandled}\n onError={this.props.onError}\n onComplete={this.onComplete}\n introduction={IrisQrCodeInstructions}\n showAmount\n copyBtn={false}\n />\n );\n }\n\n return (\n <IrisComponent\n setComponentRef={this.setComponentRef}\n defaultMode={this.defaultMode}\n onUpdateMode={mode => {\n this.setState({ mode });\n }}\n issuerListUI={this.renderIssuerList()}\n showPayButton={this.props.showPayButton}\n payButton={this.payButton}\n issuers={this.props.issuers || []}\n />\n );\n }\n}\n\nexport default Iris;\n"],"names":["Iris","IssuerListContainer","renderIssuerList","super","componentToRender","formatData","_this_state_data","_this_state","this","state","mode","IrisMode","BANK_LIST","paymentMethod","type","issuer","data","formatProps","props","_object_spread_props","_object_spread","countdownTime","DEFAULT_IRIS_COUNTDOWN_TIME","isValid","h","QRLoader","TxVariants","iris","brandLogo","icon","brandName","displayName","clientKey","qrCodeData","encodeURIComponent","undefined","paymentData","delay","onActionHandled","onError","onComplete","introduction","IrisQrCodeInstructions","showAmount","copyBtn","IrisComponent","setComponentRef","defaultMode","onUpdateMode","setState","issuerListUI","showPayButton","payButton","issuers","args","_define_property","isMobile","QR_CODE"],"mappings":"usCAUO,MAAMA,UAAaC,EAWdC,gBAAAA,GACJ,OAAOC,MAAMC,mBACjB,CAEAC,UAAAA,OAKwBC,EAAAC,EAJpB,OAAIC,KAAKC,MAAMC,OAASC,EAASC,UACtB,CACHC,cAAe,CACXC,KAAMN,KAAKM,KACXC,OAAkB,QAAVR,EAAAC,KAAKC,iBAALF,GAAgB,QAAhBD,EAAAC,EAAYS,YAAZ,IAAAV,OAAA,EAAAA,EAAkBS,SAK/B,CACHF,cAAe,CACXC,KAAMN,KAAKM,MAGvB,CAEAG,WAAAA,CAAYC,GAGWA,IAAAA,EAFnB,OAAOC,oUAAAC,CAAA,CAAA,EACAjB,MAAMc,YAAYC,IAAAA,CACrBG,cAAkC,QAAnBH,EAAAA,EAAMG,yBAANH,EAAAA,EAAuBI,GAE9C,CAEA,WAAIC,GACA,OAAIf,KAAKC,MAAMC,OAASC,EAASC,WACtBT,MAAMoB,OAIrB,CAEmBnB,iBAAAA,GACf,MAAwB,WAApBI,KAAKU,MAAMJ,KAEPU,EAACC,EAAAA,CACGX,KAAMY,EAAWC,KACjBC,UAAWpB,KAAKqB,KAChBC,UAAWtB,KAAKuB,YAChBC,UAAWxB,KAAKU,MAAMc,UACtBC,WAAYzB,KAAKU,MAAMe,WAAaC,mBAAmB1B,KAAKU,MAAMe,iBAAcE,EAChFd,cAAeb,KAAKU,MAAMG,cAC1Be,YAAa5B,KAAKU,MAAMkB,YACxBC,MAAO7B,KAAKU,MAAMmB,MAClBC,gBAAiB9B,KAAK8B,gBACtBC,QAAS/B,KAAKU,MAAMqB,QACpBC,WAAYhC,KAAKgC,WACjBC,aAAcC,EACdC,YAAAA,EACAC,SAAS,IAMjBpB,EAACqB,EAAAA,CACGC,gBAAiBtC,KAAKsC,gBACtBC,YAAavC,KAAKuC,YAClBC,aAActC,IACVF,KAAKyC,SAAS,CAAEvC,UAEpBwC,aAAc1C,KAAKN,mBACnBiD,cAAe3C,KAAKU,MAAMiC,cAC1BC,UAAW5C,KAAK4C,UAChBC,QAAS7C,KAAKU,MAAMmC,SAAW,IAG3C,mBAlFGlD,SAAAmD,GAGHC,EAAA/C,KAAiBuC,cAAcS,IAAa7C,EAASC,UAAYD,EAAS8C,SAE1EF,EAAA/C,KAAOC,QAAmB,CACtBc,QAASf,KAAKuC,cAAgBpC,EAAS8C,QACvC/C,KAAMF,KAAKuC,YACX/B,KAAM,CAAA,KAPVuC,EADSvD,EACcc,OAAOY,EAAWC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import r from"./components/MBWayInput/MBWayInput.js";import n from"./components/MBWayAwait/config.js";import{Await as o}from"../internal/Await/Await.js";import{TxVariants as a}from"../tx-variants.js";function
|
|
1
|
+
import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import r from"./components/MBWayInput/MBWayInput.js";import n from"./components/MBWayAwait/config.js";import{Await as o}from"../internal/Await/Await.js";import{TxVariants as a}from"../tx-variants.js";function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function p(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){i(e,t,r[t])})}return e}function s(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}class m extends t{formatProps(e){const{data:t={},placeholders:r={}}=e;return s(p({},e),{data:{phoneNumber:t.telephoneNumber||t.phoneNumber,phonePrefix:t.phonePrefix||"+351"},placeholders:{phoneNumber:r.telephoneNumber||r.phoneNumber}})}formatData(){var e;return{paymentMethod:p({type:m.type},(null===(e=this.state.data)||void 0===e?void 0:e.phoneNumber)&&{telephoneNumber:this.state.data.phonePrefix+this.state.data.phoneNumber})}}get isValid(){return!!this.state.isValid}get displayName(){return this.props.name}componentToRender(){return this.props.paymentData?e(o,{clientKey:this.props.clientKey,paymentData:this.props.paymentData,onError:this.props.onError,onComplete:this.onComplete,brandLogo:this.icon,brandName:this.displayName,type:n.type,messageText:this.props.i18n.get(n.messageTextId),awaitText:this.props.i18n.get(n.awaitTextId),showCountdownTimer:n.showCountdownTimer,delay:n.STATUS_INTERVAL,countdownTime:n.COUNTDOWN_MINUTES,throttleTime:n.THROTTLE_TIME,throttleInterval:n.THROTTLE_INTERVAL,onActionHandled:this.onActionHandled}):e(r,s(p({ref:e=>{this.componentRef=e}},this.props),{setComponentRef:this.setComponentRef,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton}))}}i(m,"type",a.mbway);export{m as MBWayElement,m as default};
|
|
2
2
|
//# sourceMappingURL=MBWay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MBWay.js","sources":["../../../../src/components/MBWay/MBWay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MBWayInput from './components/MBWayInput';\nimport config from './components/MBWayAwait/config';\nimport { Await } from '../../components/internal/Await';\nimport { TxVariants } from '../tx-variants';\nimport { AwaitConfiguration } from '../internal/Await/types';\n\nexport class MBWayElement extends UIElement<AwaitConfiguration> {\n public static readonly type = TxVariants.mbway;\n\n formatProps(props) {\n const { data = {}, placeholders = {} } = props;\n\n return {\n ...props,\n data: {\n phoneNumber: data.telephoneNumber || data.phoneNumber,\n phonePrefix: data.phonePrefix || '+351' // if not specified default to Portuguese country code\n },\n placeholders: {\n phoneNumber: placeholders.telephoneNumber || placeholders.phoneNumber\n }\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): object {\n return {\n paymentMethod: {\n type: MBWayElement.type,\n ...(this.state.data?.phoneNumber && { telephoneNumber: this.state.data.phonePrefix + this.state.data.phoneNumber })\n }\n };\n }\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n get displayName(): string {\n return this.props.name;\n }\n\n protected override componentToRender(): h.JSX.Element {\n if (this.props.paymentData) {\n return (\n <Await\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.props.onError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n type={config.type}\n messageText={this.props.i18n.get(config.messageTextId)}\n awaitText={this.props.i18n.get(config.awaitTextId)}\n showCountdownTimer={config.showCountdownTimer}\n delay={config.STATUS_INTERVAL}\n countdownTime={config.COUNTDOWN_MINUTES}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.onActionHandled}\n />\n );\n }\n\n return (\n <MBWayInput\n /* @ts-ignore ref handled internally by Component */\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n setComponentRef={this.setComponentRef}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n );\n }\n}\n\nexport default MBWayElement;\n"],"names":["MBWayElement","UIElement","formatProps","props","data","placeholders","_object_spread_props","_object_spread","phoneNumber","telephoneNumber","phonePrefix","formatData","_this_state_data","paymentMethod","type","this","state","isValid","displayName","name","componentToRender","paymentData","h","Await","clientKey","onError","onComplete","brandLogo","icon","config","messageText","i18n","get","messageTextId","awaitText","awaitTextId","showCountdownTimer","delay","STATUS_INTERVAL","countdownTime","COUNTDOWN_MINUTES","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","MBWayInput","ref","componentRef","setComponentRef","onChange","setState","onSubmit","submit","payButton","_define_property","TxVariants","mbway"],"mappings":"qnCAQO,MAAMA,UAAqBC,EAG9BC,WAAAA,CAAYC,GACR,MAAMC,KAAEA,EAAO,CAAA,EAAEC,aAAEA,EAAe,CAAA,GAAOF,EAEzC,OAAOG,EAAAC,EAAA,CAAA,EACAJ,GAAAA,CACHC,KAAM,CACFI,YAAaJ,EAAKK,iBAAmBL,EAAKI,YAC1CE,YAAaN,EAAKM,aAAe,QAErCL,aAAc,CACVG,YAAaH,EAAaI,iBAAmBJ,EAAaG,cAGtE,CAKAG,UAAAA,GAIgB,IAAAC,EAHZ,MAAO,CACHC,cAAeN,EAAA,CACXO,KAAMd,EAAac,OACA,QAAfF,EAAAG,KAAKC,MAAMZ,YAAX,IAAAQ,SAAAA,EAAiBJ,cAAe,CAAEC,gBAAiBM,KAAKC,MAAMZ,KAAKM,YAAcK,KAAKC,MAAMZ,KAAKI,cAGjH,CAEA,WAAIS,GACA,QAASF,KAAKC,MAAMC,OACxB,CAEA,eAAIC,GACA,OAAOH,KAAKZ,MAAMgB,IACtB,CAEmBC,iBAAAA,GACf,OAAIL,KAAKZ,MAAMkB,YAEPC,EAACC,EAAAA,CACGC,UAAWT,KAAKZ,MAAMqB,UACtBH,YAAaN,KAAKZ,MAAMkB,YACxBI,QAASV,KAAKZ,MAAMsB,QACpBC,WAAYX,KAAKW,WACjBC,UAAWZ,KAAKa,
|
|
1
|
+
{"version":3,"file":"MBWay.js","sources":["../../../../src/components/MBWay/MBWay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MBWayInput from './components/MBWayInput';\nimport config from './components/MBWayAwait/config';\nimport { Await } from '../../components/internal/Await';\nimport { TxVariants } from '../tx-variants';\nimport { AwaitConfiguration } from '../internal/Await/types';\n\nexport class MBWayElement extends UIElement<AwaitConfiguration> {\n public static readonly type = TxVariants.mbway;\n\n formatProps(props) {\n const { data = {}, placeholders = {} } = props;\n\n return {\n ...props,\n data: {\n phoneNumber: data.telephoneNumber || data.phoneNumber,\n phonePrefix: data.phonePrefix || '+351' // if not specified default to Portuguese country code\n },\n placeholders: {\n phoneNumber: placeholders.telephoneNumber || placeholders.phoneNumber\n }\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): object {\n return {\n paymentMethod: {\n type: MBWayElement.type,\n ...(this.state.data?.phoneNumber && { telephoneNumber: this.state.data.phonePrefix + this.state.data.phoneNumber })\n }\n };\n }\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n get displayName(): string {\n return this.props.name;\n }\n\n protected override componentToRender(): h.JSX.Element {\n if (this.props.paymentData) {\n return (\n <Await\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.props.onError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n brandName={this.displayName}\n type={config.type}\n messageText={this.props.i18n.get(config.messageTextId)}\n awaitText={this.props.i18n.get(config.awaitTextId)}\n showCountdownTimer={config.showCountdownTimer}\n delay={config.STATUS_INTERVAL}\n countdownTime={config.COUNTDOWN_MINUTES}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.onActionHandled}\n />\n );\n }\n\n return (\n <MBWayInput\n /* @ts-ignore ref handled internally by Component */\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n setComponentRef={this.setComponentRef}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n );\n }\n}\n\nexport default MBWayElement;\n"],"names":["MBWayElement","UIElement","formatProps","props","data","placeholders","_object_spread_props","_object_spread","phoneNumber","telephoneNumber","phonePrefix","formatData","_this_state_data","paymentMethod","type","this","state","isValid","displayName","name","componentToRender","paymentData","h","Await","clientKey","onError","onComplete","brandLogo","icon","brandName","config","messageText","i18n","get","messageTextId","awaitText","awaitTextId","showCountdownTimer","delay","STATUS_INTERVAL","countdownTime","COUNTDOWN_MINUTES","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","MBWayInput","ref","componentRef","setComponentRef","onChange","setState","onSubmit","submit","payButton","_define_property","TxVariants","mbway"],"mappings":"qnCAQO,MAAMA,UAAqBC,EAG9BC,WAAAA,CAAYC,GACR,MAAMC,KAAEA,EAAO,CAAA,EAAEC,aAAEA,EAAe,CAAA,GAAOF,EAEzC,OAAOG,EAAAC,EAAA,CAAA,EACAJ,GAAAA,CACHC,KAAM,CACFI,YAAaJ,EAAKK,iBAAmBL,EAAKI,YAC1CE,YAAaN,EAAKM,aAAe,QAErCL,aAAc,CACVG,YAAaH,EAAaI,iBAAmBJ,EAAaG,cAGtE,CAKAG,UAAAA,GAIgB,IAAAC,EAHZ,MAAO,CACHC,cAAeN,EAAA,CACXO,KAAMd,EAAac,OACA,QAAfF,EAAAG,KAAKC,MAAMZ,YAAX,IAAAQ,SAAAA,EAAiBJ,cAAe,CAAEC,gBAAiBM,KAAKC,MAAMZ,KAAKM,YAAcK,KAAKC,MAAMZ,KAAKI,cAGjH,CAEA,WAAIS,GACA,QAASF,KAAKC,MAAMC,OACxB,CAEA,eAAIC,GACA,OAAOH,KAAKZ,MAAMgB,IACtB,CAEmBC,iBAAAA,GACf,OAAIL,KAAKZ,MAAMkB,YAEPC,EAACC,EAAAA,CACGC,UAAWT,KAAKZ,MAAMqB,UACtBH,YAAaN,KAAKZ,MAAMkB,YACxBI,QAASV,KAAKZ,MAAMsB,QACpBC,WAAYX,KAAKW,WACjBC,UAAWZ,KAAKa,KAChBC,UAAWd,KAAKG,YAChBJ,KAAMgB,EAAOhB,KACbiB,YAAahB,KAAKZ,MAAM6B,KAAKC,IAAIH,EAAOI,eACxCC,UAAWpB,KAAKZ,MAAM6B,KAAKC,IAAIH,EAAOM,aACtCC,mBAAoBP,EAAOO,mBAC3BC,MAAOR,EAAOS,gBACdC,cAAeV,EAAOW,kBACtBC,aAAcZ,EAAOa,cACrBC,iBAAkBd,EAAOe,kBACzBC,gBAAiB/B,KAAK+B,kBAM9BxB,EAACyB,EAAAA,EAAAA,EAAAA,CAEGC,IAAKA,IACDjC,KAAKkC,aAAeD,IAEpBjC,KAAKZ,OAAK,CACd+C,gBAAiBnC,KAAKmC,gBACtBC,SAAUpC,KAAKqC,SACfC,SAAUtC,KAAKuC,OACfC,UAAWxC,KAAKwC,YAG5B,EAzEAC,EADSxD,EACcc,OAAO2C,EAAWC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"../../Card/components/CardInput/components/DataSfSpan.js";import r from"../../../_virtual/index.js";import t from"../../internal/FormFields/Field/Field.js";import{createElement as
|
|
1
|
+
import e from"../../Card/components/CardInput/components/DataSfSpan.js";import r from"../../../_virtual/index.js";import t from"../../internal/FormFields/Field/Field.js";import{createElement as n}from"../../../external/preact/dist/preact.js";import{alternativeLabelContent as a}from"../../Card/components/CardInput/components/FieldLabelAlternative.js";const i=({i18n:i,sfpState:o,focusedElement:p,setFocusOn:d})=>{var c,l;return n(t,{label:i.get("giftcard.expiryDate.label"),classNameModifiers:["expireDate","50"],errorMessage:(null===(c=o.errors)||void 0===c?void 0:c.encryptedExpiryDate)&&i.get(o.errors.encryptedExpiryDate),focused:"encryptedExpiryDate"===p,onFocusField:()=>d("encryptedExpiryDate"),dir:"ltr",name:"encryptedExpiryDate",contextVisibleToScreenReader:!1,useLabelElement:!1,renderAlternativeToLabel:a},n(e,{encryptedFieldType:"encryptedExpiryDate",className:r("adyen-checkout__input","adyen-checkout__input--small","adyen-checkout__card__exp-date__input",{"adyen-checkout__input--error":null===(l=o.errors)||void 0===l?void 0:l.encryptedExpiryDate,"adyen-checkout__input--focus":"encryptedExpiryDate"===p,"adyen-checkout__input--valid":!!o.valid.encryptedExpiryMonth&&!!o.valid.encryptedExpiryYear})}))};export{i as MealVoucherExpiryField};
|
|
2
2
|
//# sourceMappingURL=MealVoucherExpiryField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MealVoucherExpiryField.js","sources":["../../../../../src/components/MealVoucherFR/components/MealVoucherExpiryField.tsx"],"sourcesContent":["import DataSfSpan from '../../Card/components/CardInput/components/DataSfSpan';\nimport classNames from 'classnames';\nimport Field from '../../internal/FormFields/Field';\nimport { h } from 'preact';\nimport { GiftcardFieldProps } from '../../Giftcard/components/types';\nimport { alternativeLabelContent } from '../../Card/components/CardInput/components/FieldLabelAlternative';\n\nexport const MealVoucherExpiryField = ({ i18n, sfpState, focusedElement, setFocusOn }: Readonly<GiftcardFieldProps>) => {\n return (\n <Field\n label={i18n.get('giftcard.expiryDate.label')}\n classNameModifiers={['expireDate', '50']}\n errorMessage={sfpState.errors
|
|
1
|
+
{"version":3,"file":"MealVoucherExpiryField.js","sources":["../../../../../src/components/MealVoucherFR/components/MealVoucherExpiryField.tsx"],"sourcesContent":["import DataSfSpan from '../../Card/components/CardInput/components/DataSfSpan';\nimport classNames from 'classnames';\nimport Field from '../../internal/FormFields/Field';\nimport { h } from 'preact';\nimport { GiftcardFieldProps } from '../../Giftcard/components/types';\nimport { alternativeLabelContent } from '../../Card/components/CardInput/components/FieldLabelAlternative';\n\nexport const MealVoucherExpiryField = ({ i18n, sfpState, focusedElement, setFocusOn }: Readonly<GiftcardFieldProps>) => {\n return (\n <Field\n label={i18n.get('giftcard.expiryDate.label')}\n classNameModifiers={['expireDate', '50']}\n errorMessage={sfpState.errors?.encryptedExpiryDate && i18n.get(sfpState.errors.encryptedExpiryDate)}\n focused={focusedElement === 'encryptedExpiryDate'}\n onFocusField={() => setFocusOn('encryptedExpiryDate')}\n dir={'ltr'}\n name={'encryptedExpiryDate'}\n contextVisibleToScreenReader={false}\n useLabelElement={false}\n renderAlternativeToLabel={alternativeLabelContent}\n >\n <DataSfSpan\n encryptedFieldType={'encryptedExpiryDate'}\n className={classNames('adyen-checkout__input', 'adyen-checkout__input--small', 'adyen-checkout__card__exp-date__input', {\n 'adyen-checkout__input--error': sfpState.errors?.encryptedExpiryDate,\n 'adyen-checkout__input--focus': focusedElement === 'encryptedExpiryDate',\n 'adyen-checkout__input--valid': !!sfpState.valid.encryptedExpiryMonth && !!sfpState.valid.encryptedExpiryYear\n })}\n />\n </Field>\n );\n};\n"],"names":["MealVoucherExpiryField","i18n","sfpState","focusedElement","setFocusOn","h","Field","label","get","classNameModifiers","errorMessage","errors","encryptedExpiryDate","focused","onFocusField","dir","name","contextVisibleToScreenReader","useLabelElement","renderAlternativeToLabel","alternativeLabelContent","DataSfSpan","encryptedFieldType","className","classNames","valid","encryptedExpiryMonth","encryptedExpiryYear"],"mappings":"gWAOO,MAAMA,EAAyB,EAAGC,OAAMC,WAAUC,iBAAgBC,qBAK/CF,EAY0BA,EAhBhD,OACIG,EAACC,EAAAA,CACGC,MAAON,EAAKO,IAAI,6BAChBC,mBAAoB,CAAC,aAAc,MACnCC,sBAAcR,EAAAA,EAASS,cAATT,IAAAA,OAAAA,EAAAA,EAAiBU,sBAAuBX,EAAKO,IAAIN,EAASS,OAAOC,qBAC/EC,QAA4B,wBAAnBV,EACTW,aAAc,IAAMV,EAAW,uBAC/BW,IAAK,MACLC,KAAM,sBACNC,8BAA8B,EAC9BC,iBAAiB,EACjBC,yBAA0BC,GAE1Bf,EAACgB,EAAAA,CACGC,mBAAoB,sBACpBC,UAAWC,EAAW,wBAAyB,+BAAgC,wCAAyC,CACpH,+BAA+C,QAAftB,EAAAA,EAASS,cAATT,IAAAA,SAAAA,EAAiBU,oBACjD,+BAAmD,wBAAnBT,EAChC,iCAAkCD,EAASuB,MAAMC,wBAA0BxB,EAASuB,MAAME"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as t,Fragment as e}from"../../external/preact/dist/preact.js";import{UIElement as o}from"../internal/UIElement/UIElement.js";import{Await as r}from"../internal/Await/Await.js";import{TxVariants as n}from"../tx-variants.js";import{PayToIdentifierEnum as s}from"./components/IdentifierSelector.js";import a from"./components/PayToComponent.js";import{PayToInstructions as p}from"./components/PayToInstructions.js";import i from"./components/MandateSummary.js";import m from"../internal/PayButton/PayButton.js";import{payAmountLabel as c}from"../internal/PayButton/utils.js";function
|
|
1
|
+
import{createElement as t,Fragment as e}from"../../external/preact/dist/preact.js";import{UIElement as o}from"../internal/UIElement/UIElement.js";import{Await as r}from"../internal/Await/Await.js";import{TxVariants as n}from"../tx-variants.js";import{PayToIdentifierEnum as s}from"./components/IdentifierSelector.js";import a from"./components/PayToComponent.js";import{PayToInstructions as p}from"./components/PayToInstructions.js";import i from"./components/MandateSummary.js";import m from"../internal/PayButton/PayButton.js";import{payAmountLabel as c}from"../internal/PayButton/utils.js";function d(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function h(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter(function(t){return Object.getOwnPropertyDescriptor(o,t).enumerable}))),r.forEach(function(e){d(t,e,o[e])})}return t}function l(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e.push.apply(e,o)}return e}(Object(e)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(e,o))}),t}const y=6e4,u=1e4,f=!1,b=t=>{if("bsb-option"===t.selectedInput)return`${t.bsb}-${t.bankAccountNumber}`;if("payid-option"===t.selectedInput)switch(t.selectedIdentifier){case s.email:return t.email;case s.abn:return t.abn;case s.orgid:return t.orgid;case s.phone:return`${t.phonePrefix}-${t.phoneNumber}`}};class P extends o{formatProps(t){return l(h({},t),{data:l(h({},t.data),{phonePrefix:"+61"})})}formatData(){return this.props.storedPaymentMethodId?{paymentMethod:{type:P.type,storedPaymentMethodId:this.props.storedPaymentMethodId}}:{paymentMethod:{type:P.type,shopperAccountIdentifier:b(this.state.data)},shopperName:{firstName:this.state.data.firstName,lastName:this.state.data.lastName}}}get isValid(){return!!this.props.storedPaymentMethodId||!!this.state.isValid}get displayName(){return this.props.storedPaymentMethodId&&this.props.label?this.props.label:this.props.name}get additionalInfo(){return this.props.storedPaymentMethodId?this.props.name:""}componentToRender(){return this.props.storedPaymentMethodId?t(e,null,this.props.showPayButton&&t(m,l(h({},this.props),{classNameModifiers:["standalone"],label:c(this.props.i18n,this.props.amount),onClick:this.submit}))):this.props.paymentData?t(r,{showAmount:!0,instructions:p,clientKey:this.props.clientKey,paymentData:this.props.paymentData,onError:this.props.onError,onComplete:this.onComplete,brandLogo:this.icon,brandName:this.displayName,type:this.constructor.type,messageText:this.props.i18n.get("payto.confirmPayment"),awaitText:this.props.i18n.get("payto.await.waitForConfirmation"),showCountdownTimer:f,throttleTime:y,throttleInterval:u,onActionHandled:this.onActionHandled,endSlot:()=>!!this.props.mandate&&t(i,{mandate:this.props.mandate,payee:this.props.payee,currencyCode:this.props.amount.currency})}):t(a,{data:this.props.data,placeholders:this.props.placeholders,setComponentRef:this.setComponentRef,onChange:this.setState,payButton:this.payButton,showPayButton:this.props.showPayButton})}}d(P,"type",n.payto),d(P,"defaultProps",{placeholders:{}});export{P as PayToElement,P as default};
|
|
2
2
|
//# sourceMappingURL=PayTo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PayTo.js","sources":["../../../../src/components/PayTo/PayTo.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { Await } from '../../components/internal/Await';\nimport { TxVariants } from '../tx-variants';\nimport { PayToIdentifierEnum } from './components/IdentifierSelector';\nimport PayToComponent from './components/PayToComponent';\nimport { PayToInstructions } from './components/PayToInstructions';\nimport MandateSummary from './components/MandateSummary';\nimport { PayToConfiguration, PayToData } from './types';\nimport PayButton from '../internal/PayButton';\nimport { payAmountLabel } from '../internal/PayButton/utils';\n\n/*\nAwait Config (previously in its own file)\n */\nconst COUNTDOWN_MINUTES = 15; // min\nconst THROTTLE_TIME = 60000; // ms\nconst THROTTLE_INTERVAL = 10000; // ms\n\nconst config = {\n COUNTDOWN_MINUTES,\n THROTTLE_TIME,\n THROTTLE_INTERVAL,\n showCountdownTimer: false\n};\n\nconst getAccountIdentifier = (state: PayToData) => {\n // if it's BSB Input type merge bankAccount with BSB\n if (state.selectedInput === 'bsb-option') {\n return `${state.bsb}-${state.bankAccountNumber}`;\n } else if (state.selectedInput === 'payid-option') {\n // otherwise use the option in the dropdown\n switch (state.selectedIdentifier) {\n case PayToIdentifierEnum.email:\n return state.email;\n case PayToIdentifierEnum.abn:\n return state.abn;\n case PayToIdentifierEnum.orgid:\n return state.orgid;\n case PayToIdentifierEnum.phone:\n // merge the phone prefix and number - see comment in ticket\n return `${state.phonePrefix}-${state.phoneNumber}`;\n }\n }\n};\n/**\n *\n */\nexport class PayToElement extends UIElement<PayToConfiguration> {\n public static readonly type = TxVariants.payto;\n\n protected static readonly defaultProps = {\n placeholders: {}\n };\n\n formatProps(props: PayToConfiguration) {\n return {\n ...props,\n data: {\n ...props.data,\n phonePrefix: '+61' // hardcode +61\n }\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n if (this.props.storedPaymentMethodId) {\n return {\n paymentMethod: {\n type: PayToElement.type,\n storedPaymentMethodId: this.props.storedPaymentMethodId\n }\n };\n }\n\n return {\n paymentMethod: {\n type: PayToElement.type,\n shopperAccountIdentifier: getAccountIdentifier(this.state.data)\n },\n shopperName: {\n firstName: this.state.data.firstName,\n lastName: this.state.data.lastName\n }\n };\n }\n\n get isValid(): boolean {\n if (this.props.storedPaymentMethodId) {\n return true;\n }\n\n return !!this.state.isValid;\n }\n\n get displayName() {\n if (this.props.storedPaymentMethodId && this.props.label) {\n return this.props.label;\n }\n return this.props.name;\n }\n\n get additionalInfo() {\n return this.props.storedPaymentMethodId ? this.props.name : '';\n }\n\n protected override componentToRender(): h.JSX.Element {\n // Stored\n if (this.props.storedPaymentMethodId) {\n return (\n <Fragment>\n {this.props.showPayButton && (\n <PayButton\n {...this.props}\n classNameModifiers={['standalone']}\n label={payAmountLabel(this.props.i18n, this.props.amount)}\n onClick={this.submit}\n />\n )}\n </Fragment>\n );\n }\n // Await\n if (this.props.paymentData) {\n return (\n <Await\n showAmount={true}\n instructions={PayToInstructions}\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.props.onError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n type={this.constructor['type']}\n messageText={this.props.i18n.get('payto.confirmPayment')}\n awaitText={this.props.i18n.get('payto.await.waitForConfirmation')}\n showCountdownTimer={config.showCountdownTimer}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.onActionHandled}\n endSlot={() =>\n !!this.props.mandate && (\n <MandateSummary mandate={this.props.mandate} payee={this.props.payee} currencyCode={this.props.amount.currency} />\n )\n }\n />\n );\n }\n // Input\n return (\n <PayToComponent\n data={this.props.data}\n placeholders={this.props.placeholders}\n setComponentRef={this.setComponentRef}\n onChange={this.setState}\n payButton={this.payButton}\n showPayButton={this.props.showPayButton}\n />\n );\n }\n}\n\nexport default PayToElement;\n"],"names":["config","getAccountIdentifier","state","selectedInput","bsb","bankAccountNumber","selectedIdentifier","PayToIdentifierEnum","email","abn","orgid","phone","phonePrefix","phoneNumber","PayToElement","UIElement","formatProps","props","_object_spread_props","_object_spread","data","formatData","this","storedPaymentMethodId","paymentMethod","type","shopperAccountIdentifier","shopperName","firstName","lastName","isValid","displayName","label","name","additionalInfo","componentToRender","h","Fragment","showPayButton","PayButton","classNameModifiers","payAmountLabel","i18n","amount","onClick","submit","paymentData","Await","showAmount","instructions","PayToInstructions","clientKey","onError","onComplete","brandLogo","icon","constructor","messageText","get","awaitText","showCountdownTimer","throttleTime","throttleInterval","onActionHandled","endSlot","mandate","MandateSummary","payee","currencyCode","currency","PayToComponent","placeholders","setComponentRef","onChange","setState","payButton","_define_property","TxVariants","payto","defaultProps"],"mappings":"03CAgBA,MAGMA,EAHgB,IAGhBA,EAFoB,IAEpBA,GAIkB,EAGlBC,EAAwBC,IAE1B,GAA4B,eAAxBA,EAAMC,cACN,MAAO,GAAGD,EAAME,OAAOF,EAAMG,oBAC1B,GAA4B,iBAAxBH,EAAMC,cAEb,OAAQD,EAAMI,oBACV,KAAKC,EAAoBC,MACrB,OAAON,EAAMM,MACjB,KAAKD,EAAoBE,IACrB,OAAOP,EAAMO,IACjB,KAAKF,EAAoBG,MACrB,OAAOR,EAAMQ,MACjB,KAAKH,EAAoBI,MAErB,MAAO,GAAGT,EAAMU,eAAeV,EAAMW,gBAO9C,MAAMC,UAAqBC,EAO9BC,WAAAA,CAAYC,GACR,OAAOC,EAAAC,EAAA,CAAA,EACAF,GAAAA,CACHG,KAAMF,EAAAC,EAAA,CAAA,EACCF,EAAMG,MAAI,CACbR,YAAa,SAGzB,CAKAS,UAAAA,GACI,OAAIC,KAAKL,MAAMM,sBACJ,CACHC,cAAe,CACXC,KAAMX,EAAaW,KACnBF,sBAAuBD,KAAKL,MAAMM,wBAKvC,CACHC,cAAe,CACXC,KAAMX,EAAaW,KACnBC,yBAA0BzB,EAAqBqB,KAAKpB,MAAMkB,OAE9DO,YAAa,CACTC,UAAWN,KAAKpB,MAAMkB,KAAKQ,UAC3BC,SAAUP,KAAKpB,MAAMkB,KAAKS,UAGtC,CAEA,WAAIC,GACA,QAAIR,KAAKL,MAAMM,yBAIND,KAAKpB,MAAM4B,OACxB,CAEA,eAAIC,GACA,OAAIT,KAAKL,MAAMM,uBAAyBD,KAAKL,MAAMe,MACxCV,KAAKL,MAAMe,MAEfV,KAAKL,MAAMgB,IACtB,CAEA,kBAAIC,GACA,OAAOZ,KAAKL,MAAMM,sBAAwBD,KAAKL,MAAMgB,KAAO,EAChE,CAEmBE,iBAAAA,GAEf,OAAIb,KAAKL,MAAMM,sBAEPa,EAACC,EAAAA,KACIf,KAAKL,MAAMqB,eACRF,EAACG,EAAAA,EAAAA,EAAAA,CAAAA,EACOjB,KAAKL,OAAK,CACduB,mBAAoB,CAAC,cACrBR,MAAOS,EAAenB,KAAKL,MAAMyB,KAAMpB,KAAKL,MAAM0B,QAClDC,QAAStB,KAAKuB,WAO9BvB,KAAKL,MAAM6B,YAEPV,EAACW,EAAAA,CACGC,YAAY,EACZC,aAAcC,EACdC,UAAW7B,KAAKL,MAAMkC,UACtBL,YAAaxB,KAAKL,MAAM6B,YACxBM,QAAS9B,KAAKL,MAAMmC,QACpBC,WAAY/B,KAAK+B,WACjBC,UAAWhC,KAAKiC,
|
|
1
|
+
{"version":3,"file":"PayTo.js","sources":["../../../../src/components/PayTo/PayTo.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { Await } from '../../components/internal/Await';\nimport { TxVariants } from '../tx-variants';\nimport { PayToIdentifierEnum } from './components/IdentifierSelector';\nimport PayToComponent from './components/PayToComponent';\nimport { PayToInstructions } from './components/PayToInstructions';\nimport MandateSummary from './components/MandateSummary';\nimport { PayToConfiguration, PayToData } from './types';\nimport PayButton from '../internal/PayButton';\nimport { payAmountLabel } from '../internal/PayButton/utils';\n\n/*\nAwait Config (previously in its own file)\n */\nconst COUNTDOWN_MINUTES = 15; // min\nconst THROTTLE_TIME = 60000; // ms\nconst THROTTLE_INTERVAL = 10000; // ms\n\nconst config = {\n COUNTDOWN_MINUTES,\n THROTTLE_TIME,\n THROTTLE_INTERVAL,\n showCountdownTimer: false\n};\n\nconst getAccountIdentifier = (state: PayToData) => {\n // if it's BSB Input type merge bankAccount with BSB\n if (state.selectedInput === 'bsb-option') {\n return `${state.bsb}-${state.bankAccountNumber}`;\n } else if (state.selectedInput === 'payid-option') {\n // otherwise use the option in the dropdown\n switch (state.selectedIdentifier) {\n case PayToIdentifierEnum.email:\n return state.email;\n case PayToIdentifierEnum.abn:\n return state.abn;\n case PayToIdentifierEnum.orgid:\n return state.orgid;\n case PayToIdentifierEnum.phone:\n // merge the phone prefix and number - see comment in ticket\n return `${state.phonePrefix}-${state.phoneNumber}`;\n }\n }\n};\n/**\n *\n */\nexport class PayToElement extends UIElement<PayToConfiguration> {\n public static readonly type = TxVariants.payto;\n\n protected static readonly defaultProps = {\n placeholders: {}\n };\n\n formatProps(props: PayToConfiguration) {\n return {\n ...props,\n data: {\n ...props.data,\n phonePrefix: '+61' // hardcode +61\n }\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n if (this.props.storedPaymentMethodId) {\n return {\n paymentMethod: {\n type: PayToElement.type,\n storedPaymentMethodId: this.props.storedPaymentMethodId\n }\n };\n }\n\n return {\n paymentMethod: {\n type: PayToElement.type,\n shopperAccountIdentifier: getAccountIdentifier(this.state.data)\n },\n shopperName: {\n firstName: this.state.data.firstName,\n lastName: this.state.data.lastName\n }\n };\n }\n\n get isValid(): boolean {\n if (this.props.storedPaymentMethodId) {\n return true;\n }\n\n return !!this.state.isValid;\n }\n\n get displayName() {\n if (this.props.storedPaymentMethodId && this.props.label) {\n return this.props.label;\n }\n return this.props.name;\n }\n\n get additionalInfo() {\n return this.props.storedPaymentMethodId ? this.props.name : '';\n }\n\n protected override componentToRender(): h.JSX.Element {\n // Stored\n if (this.props.storedPaymentMethodId) {\n return (\n <Fragment>\n {this.props.showPayButton && (\n <PayButton\n {...this.props}\n classNameModifiers={['standalone']}\n label={payAmountLabel(this.props.i18n, this.props.amount)}\n onClick={this.submit}\n />\n )}\n </Fragment>\n );\n }\n // Await\n if (this.props.paymentData) {\n return (\n <Await\n showAmount={true}\n instructions={PayToInstructions}\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.props.onError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n brandName={this.displayName}\n type={this.constructor['type']}\n messageText={this.props.i18n.get('payto.confirmPayment')}\n awaitText={this.props.i18n.get('payto.await.waitForConfirmation')}\n showCountdownTimer={config.showCountdownTimer}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.onActionHandled}\n endSlot={() =>\n !!this.props.mandate && (\n <MandateSummary mandate={this.props.mandate} payee={this.props.payee} currencyCode={this.props.amount.currency} />\n )\n }\n />\n );\n }\n // Input\n return (\n <PayToComponent\n data={this.props.data}\n placeholders={this.props.placeholders}\n setComponentRef={this.setComponentRef}\n onChange={this.setState}\n payButton={this.payButton}\n showPayButton={this.props.showPayButton}\n />\n );\n }\n}\n\nexport default PayToElement;\n"],"names":["config","getAccountIdentifier","state","selectedInput","bsb","bankAccountNumber","selectedIdentifier","PayToIdentifierEnum","email","abn","orgid","phone","phonePrefix","phoneNumber","PayToElement","UIElement","formatProps","props","_object_spread_props","_object_spread","data","formatData","this","storedPaymentMethodId","paymentMethod","type","shopperAccountIdentifier","shopperName","firstName","lastName","isValid","displayName","label","name","additionalInfo","componentToRender","h","Fragment","showPayButton","PayButton","classNameModifiers","payAmountLabel","i18n","amount","onClick","submit","paymentData","Await","showAmount","instructions","PayToInstructions","clientKey","onError","onComplete","brandLogo","icon","brandName","constructor","messageText","get","awaitText","showCountdownTimer","throttleTime","throttleInterval","onActionHandled","endSlot","mandate","MandateSummary","payee","currencyCode","currency","PayToComponent","placeholders","setComponentRef","onChange","setState","payButton","_define_property","TxVariants","payto","defaultProps"],"mappings":"03CAgBA,MAGMA,EAHgB,IAGhBA,EAFoB,IAEpBA,GAIkB,EAGlBC,EAAwBC,IAE1B,GAA4B,eAAxBA,EAAMC,cACN,MAAO,GAAGD,EAAME,OAAOF,EAAMG,oBAC1B,GAA4B,iBAAxBH,EAAMC,cAEb,OAAQD,EAAMI,oBACV,KAAKC,EAAoBC,MACrB,OAAON,EAAMM,MACjB,KAAKD,EAAoBE,IACrB,OAAOP,EAAMO,IACjB,KAAKF,EAAoBG,MACrB,OAAOR,EAAMQ,MACjB,KAAKH,EAAoBI,MAErB,MAAO,GAAGT,EAAMU,eAAeV,EAAMW,gBAO9C,MAAMC,UAAqBC,EAO9BC,WAAAA,CAAYC,GACR,OAAOC,EAAAC,EAAA,CAAA,EACAF,GAAAA,CACHG,KAAMF,EAAAC,EAAA,CAAA,EACCF,EAAMG,MAAI,CACbR,YAAa,SAGzB,CAKAS,UAAAA,GACI,OAAIC,KAAKL,MAAMM,sBACJ,CACHC,cAAe,CACXC,KAAMX,EAAaW,KACnBF,sBAAuBD,KAAKL,MAAMM,wBAKvC,CACHC,cAAe,CACXC,KAAMX,EAAaW,KACnBC,yBAA0BzB,EAAqBqB,KAAKpB,MAAMkB,OAE9DO,YAAa,CACTC,UAAWN,KAAKpB,MAAMkB,KAAKQ,UAC3BC,SAAUP,KAAKpB,MAAMkB,KAAKS,UAGtC,CAEA,WAAIC,GACA,QAAIR,KAAKL,MAAMM,yBAIND,KAAKpB,MAAM4B,OACxB,CAEA,eAAIC,GACA,OAAIT,KAAKL,MAAMM,uBAAyBD,KAAKL,MAAMe,MACxCV,KAAKL,MAAMe,MAEfV,KAAKL,MAAMgB,IACtB,CAEA,kBAAIC,GACA,OAAOZ,KAAKL,MAAMM,sBAAwBD,KAAKL,MAAMgB,KAAO,EAChE,CAEmBE,iBAAAA,GAEf,OAAIb,KAAKL,MAAMM,sBAEPa,EAACC,EAAAA,KACIf,KAAKL,MAAMqB,eACRF,EAACG,EAAAA,EAAAA,EAAAA,CAAAA,EACOjB,KAAKL,OAAK,CACduB,mBAAoB,CAAC,cACrBR,MAAOS,EAAenB,KAAKL,MAAMyB,KAAMpB,KAAKL,MAAM0B,QAClDC,QAAStB,KAAKuB,WAO9BvB,KAAKL,MAAM6B,YAEPV,EAACW,EAAAA,CACGC,YAAY,EACZC,aAAcC,EACdC,UAAW7B,KAAKL,MAAMkC,UACtBL,YAAaxB,KAAKL,MAAM6B,YACxBM,QAAS9B,KAAKL,MAAMmC,QACpBC,WAAY/B,KAAK+B,WACjBC,UAAWhC,KAAKiC,KAChBC,UAAWlC,KAAKS,YAChBN,KAAMH,KAAKmC,YAAY,KACvBC,YAAapC,KAAKL,MAAMyB,KAAKiB,IAAI,wBACjCC,UAAWtC,KAAKL,MAAMyB,KAAKiB,IAAI,mCAC/BE,mBAAoB7D,EACpB8D,aAAc9D,EACd+D,iBAAkB/D,EAClBgE,gBAAiB1C,KAAK0C,gBACtBC,QAAS,MACH3C,KAAKL,MAAMiD,SACT9B,EAAC+B,EAAAA,CAAeD,QAAS5C,KAAKL,MAAMiD,QAASE,MAAO9C,KAAKL,MAAMmD,MAAOC,aAAc/C,KAAKL,MAAM0B,OAAO2B,aAQtHlC,EAACmC,EAAAA,CACGnD,KAAME,KAAKL,MAAMG,KACjBoD,aAAclD,KAAKL,MAAMuD,aACzBC,gBAAiBnD,KAAKmD,gBACtBC,SAAUpD,KAAKqD,SACfC,UAAWtD,KAAKsD,UAChBtC,cAAehB,KAAKL,MAAMqB,eAGtC,EAlHAuC,EADS/D,EACcW,OAAOqD,EAAWC,OAEzCF,EAHS/D,EAGiBkE,eAAe,CACrCR,aAAc,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../../external/preact/dist/preact.js";import r from"../../internal/FormFields/Fieldset/Fieldset.js";import{
|
|
1
|
+
import{createElement as e}from"../../../external/preact/dist/preact.js";import r from"../../internal/FormFields/Fieldset/Fieldset.js";import{useMemo as t,useEffect as a,useRef as o}from"../../../external/preact/hooks/dist/hooks.js";import{useCoreContext as s}from"../../../core/Context/CoreProvider.js";import i from"../../../utils/useForm/useFormWithA11y.js";import"../../internal/SecuredFields/lib/CSF/utils/userAgent.js";import{getErrorMessage as n}from"../../../utils/getErrorMessage.js";import l from"../../internal/FormFields/Field/Field.js";import u from"../../internal/FormFields/InputText.js";import{bsbValidationRules as m}from"./validate.js";import{phoneFormatters as b}from"../../internal/PhoneInput/validate.js";import c from"./PayToNameFields.js";import{getUniqueId as d}from"../../../utils/idGenerator.js";const p=["bankAccountNumber","bsb","firstName","lastName"];function f({setComponentRef:f,defaultData:h,placeholders:F,onChange:N,setStatus:k,id:g}){const{i18n:j}=s(),v=t(()=>d("payid-instruction"),[]),A=i({schema:p,defaultData:h,rules:m,formatters:b,formHolder:`#${g}`}),{handleChangeFor:y,triggerValidation:B,data:C,errors:M,valid:S,isValid:x}=A;a(()=>{N({data:C,valid:S,errors:M,isValid:x})},[C,S,M,x]);const I=o({setStatus:k,showValidation:B});return a(()=>{f(I.current)},[f]),e(r,{id:g,classNameModifiers:["payto__bsb_input"],label:"BSB",description:"payto.bsb.description",descriptionId:v},e(l,{label:j.get("payto.bsb.label.bankAccountNumber"),classNameModifiers:["col-60","bankAccountNumber"],errorMessage:n(j,M.bankAccountNumber,j.get("payto.bsb.label.bankAccountNumber")),name:"bankAccountNumber",i18n:j,errorLive:!0},e(u,{name:"bankAccountNumber",value:C.bankAccountNumber,onInput:y("bankAccountNumber","input"),onBlur:y("bankAccountNumber","blur"),placeholder:null==F?void 0:F.bankAccountNumber,"aria-describedby":v,required:!0,autocomplete:void 0})),e(l,{label:j.get("Bank State Branch"),classNameModifiers:["col-40","bsb"],errorMessage:n(j,M.bsb,j.get("Bank State Branch")),name:"bsb",i18n:j,errorLive:!0},e(u,{name:"bsb",value:C.bsb,onInput:y("bsb","input"),onBlur:y("bsb","blur"),placeholder:null==F?void 0:F.bsb,required:!0,autocomplete:void 0})),e(c,{i18n:j,data:C,handleChangeFor:y,errors:M,placeholders:F}))}export{f as default};
|
|
2
2
|
//# sourceMappingURL=BSBInput.js.map
|