{"version":3,"file":"js/8574.chunk.js","mappings":"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","sources":["webpack:///./assets/common/src/components/checkout/CheckoutPrivacyFlags.tsx","webpack:///./assets/common/src/ui/loading/Loading.tsx","webpack:///./assets/common/src/utils/paymentutils.ts"],"sourcesContent":["/* eslint-disable jsx-a11y/label-has-associated-control */\nimport { appPostStructuredMessage } from '@utils/appUtils';\nimport classNames from 'classnames';\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nconst CheckoutPrivacyFlags = (props) => {\n const { t } = useTranslation();\n const [flagGuest, setFlagGuest] = useState(false);\n const [flagCommon, setFlagCommon] = useState(false);\n const [flagMbm, setFlagMbm] = useState(false);\n const [errors, setErrors] = useState([]);\n const hasErrors = useMemo(() => props.forceValidation && props.showValidationErrors, [props.forceValidation, props.showValidationErrors]);\n const showError = useCallback((index) => hasErrors && errors[index], [hasErrors, errors]);\n useEffect(() => {\n props.forceValidation && setErrors([!flagCommon, !(flagGuest || !props.guest), !((props === null || props === void 0 ? void 0 : props.containsMbm) ? flagMbm : true)]);\n props.onSelect(flagCommon && (flagGuest || !props.guest) && ((props === null || props === void 0 ? void 0 : props.containsMbm) ? flagMbm : true));\n }, [flagGuest, flagCommon, props.guest, flagMbm, props === null || props === void 0 ? void 0 : props.containsMbm]);\n return (React.createElement(\"div\", { className: props.disabled ? 'checkout-privacyflags disabled-input' : 'checkout-privacyflags' },\n !props.hidedataprocessing && !window.isClothing && React.createElement(\"p\", { className: \"primary-xxs mb-12\", dangerouslySetInnerHTML: { __html: t('checkout.review.dataprocessing') } }),\n props.guest && (React.createElement(React.Fragment, null,\n React.createElement(\"div\", { className: \"checkbox \" },\n React.createElement(\"div\", { className: \"checkbox__field\" },\n React.createElement(\"input\", { type: \"checkbox\", \"aria-required\": \"true\", id: 'privacy' + ((props === null || props === void 0 ? void 0 : props.fromModal) ? '_modal' : ''), checked: flagGuest, onChange: (e) => setFlagGuest(e.target.checked), className: classNames({\n 'is-invalid': showError(1),\n }), \"aria-describedby\": (showError(1) && 'privacy' + ((props === null || props === void 0 ? void 0 : props.fromModal) ? '_modal' : '') + '_invalid') || null }),\n !window.appmode ? (React.createElement(\"label\", { htmlFor: 'privacy' + ((props === null || props === void 0 ? void 0 : props.fromModal) ? '_modal' : ''), dangerouslySetInnerHTML: { __html: t('checkout.review.privacy', { 0: props.privacypolicy }) } })) : (React.createElement(\"label\", { htmlFor: 'privacy' + ((props === null || props === void 0 ? void 0 : props.fromModal) ? '_modal' : '') },\n React.createElement(React.Fragment, null,\n t('app.checkout.review.privacy'),\n ' ',\n React.createElement(\"button\", { type: \"button\", className: \"app-link\", onClick: () => appPostStructuredMessage('privacy_policy', {}) }, t('app.legal.privacypolicy')))))),\n showError(1) && (React.createElement(\"span\", { id: 'privacy' + ((props === null || props === void 0 ? void 0 : props.fromModal) ? '_modal' : '') + '_invalid', className: \"invalid-feedback\", \"aria-hidden\": \"true\" }, t('label.requiredfield')))))),\n React.createElement(\"div\", { className: \"checkbox \" },\n React.createElement(\"div\", { className: \"checkbox__field\" },\n React.createElement(\"input\", { type: \"checkbox\", \"aria-required\": \"true\", id: 'termsandconditions' + ((props === null || props === void 0 ? void 0 : props.fromModal) ? '_modal' : ''), checked: flagCommon, onChange: (e) => setFlagCommon(e.target.checked), className: classNames({\n 'is-invalid': showError(0),\n }), \"aria-describedby\": (showError(0) && 'termsandconditions' + ((props === null || props === void 0 ? void 0 : props.fromModal) ? '_modal' : '') + '_invalid') || null }),\n !window.appmode ? (React.createElement(\"label\", { htmlFor: 'termsandconditions' + ((props === null || props === void 0 ? void 0 : props.fromModal) ? '_modal' : ''), dangerouslySetInnerHTML: {\n __html: t(!props.knowAge || !props.guest ? 'checkout.review.termsandconditions' : 'checkout.review.termsandconditionsguest', { 0: props.termsandconditions }),\n } })) : (React.createElement(\"label\", { htmlFor: 'termsandconditions' + ((props === null || props === void 0 ? void 0 : props.fromModal) ? '_modal' : '') },\n React.createElement(React.Fragment, null,\n t(!props.knowAge || !props.guest ? 'app.checkout.review.termsandconditions' : 'app.checkout.review.termsandconditionsguest'),\n ' ',\n React.createElement(\"button\", { type: \"button\", className: \"app-link\", onClick: () => appPostStructuredMessage('terms_condition', {}) }, t('app.me.dashboard.termsAndCondition')))))),\n showError(0) && (React.createElement(\"span\", { id: 'termsandconditions' + ((props === null || props === void 0 ? void 0 : props.fromModal) ? '_modal' : '') + '_invalid', className: \"invalid-feedback\", \"aria-hidden\": \"true\" }, t('label.requiredfield')))),\n (props === null || props === void 0 ? void 0 : props.containsMbm) && (React.createElement(\"div\", { className: \"checkbox mbm-checkbox\" },\n React.createElement(\"div\", { className: \"checkbox__field\" },\n React.createElement(\"input\", { type: \"checkbox\", \"aria-readonly\": true, id: 'mbm' + ((props === null || props === void 0 ? void 0 : props.fromModal) ? '_modal' : ''), checked: flagMbm, onChange: (e) => setFlagMbm(e.target.checked), className: classNames({\n 'is-invalid': showError(2),\n }), \"aria-describedby\": (showError(2) && 'mbm' + ((props === null || props === void 0 ? void 0 : props.fromModal) ? '_modal' : '') + '_invalid') || null }),\n !window.appmode ? (React.createElement(\"label\", { htmlFor: 'mbm' + ((props === null || props === void 0 ? void 0 : props.fromModal) ? '_modal' : ''), className: \"text-disclaimer\", dangerouslySetInnerHTML: { __html: t('mbm.bagdisclaimer', { 0: props === null || props === void 0 ? void 0 : props.mbmurllegalareareturn }) } })) : (React.createElement(\"label\", { htmlFor: 'mbm' + ((props === null || props === void 0 ? void 0 : props.fromModal) ? '_modal' : ''), className: \"text-disclaimer\" },\n t('app.mbm.bagdisclaimer'),\n ' ',\n React.createElement(\"button\", { type: \"button\", className: \"app-link\", onClick: () => appPostStructuredMessage('mbm', {}) }, t('app.mbm.bagdisclaimerlink'))))),\n showError(2) && (React.createElement(\"span\", { id: 'mbm' + ((props === null || props === void 0 ? void 0 : props.fromModal) ? '_modal' : '') + '_invalid', className: \"invalid-feedback\", \"aria-hidden\": \"true\" }, t('label.requiredfield')))))));\n};\nexport default CheckoutPrivacyFlags;\n","import classNames from 'classnames';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nconst Loading = (props) => {\n const { t } = useTranslation();\n return (React.createElement(React.Fragment, null,\n React.createElement(\"div\", { className: classNames('loader', { full: !props.inline }, 'visible') }, window.appmode ? (React.createElement(React.Fragment, null,\n React.createElement(\"div\", { className: \"ldio-hn0fflew9qp\" },\n React.createElement(\"div\", null),\n React.createElement(\"div\", null),\n React.createElement(\"div\", null),\n React.createElement(\"div\", null),\n React.createElement(\"div\", null),\n React.createElement(\"div\", null),\n React.createElement(\"div\", null),\n React.createElement(\"div\", null)),\n React.createElement(\"div\", { className: \"loadingmessage\" }, t('app.checkout.loading')))) : (React.createElement(React.Fragment, null,\n React.createElement(\"span\", { className: \"loader__dot\" }),\n React.createElement(\"span\", { className: \"loader__dot\" }),\n React.createElement(\"span\", { className: \"loader__dot\" }))))));\n};\nexport default Loading;\n","import AdyenCheckout from '@adyen/adyen-web';\nimport api from '@utils/api';\nimport analyticsMoncler from './analytics';\nimport analyticsStone from '@stone/utils/analytics';\nimport { getId } from './brandDiffsUtils';\nconst cardremap = {\n visa: 'Visa',\n mc: 'Mastercard',\n amex: 'Amex',\n maestro: 'Maestro',\n};\nconst paymentutils = {\n supportedpayments: [\n 'scheme',\n 'paypal',\n 'alipay',\n 'amazonpay',\n 'wechatpayQR',\n 'klarna_account',\n 'klarna',\n 'klarna_paynow',\n 'ideal',\n 'paywithgoogle',\n 'directEbanking',\n 'applepay',\n 'eps',\n 'Adyen_Pay_By_Link',\n 'Adyen_Pay_In_Store',\n 'kcp_creditcard',\n 'econtext_online',\n 'kcp_banktransfer',\n 'kcp_payco',\n 'kcp_naverpay',\n 'cashondelivery',\n 'plafond',\n 'kakaopay',\n ],\n filteredpayments: ['cup', 'wechatpayMiniProgram', 'wechatpayWeb', 'amazonpay', 'wechatpaySDK', 'samsungpay', 'paynow'],\n filteredmbm: ['cashondelivery', 'kcp_banktransfer', 'econtext_online'],\n appallowed: [\n 'scheme',\n 'paypal',\n 'applepay',\n // 'alipay',\n 'klarna_account',\n 'klarna',\n 'klarna_paynow',\n 'ideal',\n // 'directEbanking',\n 'eps',\n // 'bankTransfer_IBAN',\n 'kcp_creditcard',\n 'kcp_banktransfer',\n 'kcp_payco',\n 'kcp_naverpay',\n ],\n redirectpayments: [\n 'alipay',\n 'applepay',\n 'wechatpayWeb',\n 'klarna',\n 'klarna_account',\n 'klarna_paynow',\n 'directEbanking',\n 'bankTransfer_IBAN',\n 'kcp_creditcard',\n 'kcp_banktransfer',\n 'kcp_payco',\n 'kcp_naverpay',\n 'wechatpayQR',\n 'kakaopay',\n ],\n remapBrand: function (brand) {\n return cardremap[brand] || brand;\n },\n paymentFromComponent: async function (statedata, component) {\n console.log('paymentFromComponent');\n await api\n .adyenPaymentFromComponent(statedata, statedata.paymentMethod.type)\n .then((data) => {\n console.info('log adyenPaymentFromComponent response:', data);\n if (data.orderNo) {\n document.querySelector('#merchantReference').value = data.orderNo;\n }\n if (data.fullResponse && data.fullResponse.action) {\n console.info('component.handleAction');\n component.handleAction(data.fullResponse.action);\n }\n else if (data.decision == 'REFUSED') {\n if (component) {\n component.setStatus('ready');\n }\n document.querySelector('#showConfirmationForm').submit();\n }\n })\n .catch((e) => {\n console.error(e);\n // setErrors([e]);\n });\n },\n getAdyenCheckout: async function (adyenConfig, order, adyenPaymentMethods, express, setValue, setValid) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n let amount = order.totals.totalAmount * 100;\n let adyenCheckout;\n let googlepayoptions = {\n environment: adyenConfig.environment,\n onAuthorized: (data) => {\n // console.log('google onAuthorized ' + JSON.stringify(data, null, 2));\n },\n onClick: (resolve, reject) => {\n // console.log('google onClick');\n if (!express) {\n if (getId() === 'MO') {\n analyticsMoncler.paymentInfo('googlepay', order.items, order.totals.totalAmount);\n }\n else if (getId() === 'ST') {\n analyticsStone.checkout(order, 'payment', 'googlepay');\n }\n }\n resolve();\n },\n onSubmit: async (e, component) => {\n console.log('googlepay onsubmit ' + JSON.stringify(e, null, 2));\n setValid && setValid(e.isValid);\n console.log('submitpayment');\n document.getElementById('form-submitpayment').dispatchEvent(new Event('submit', { cancelable: true, bubbles: true }));\n console.log('submitpayment done');\n },\n // For version 3.13.0 and later\n // You no longer need to specify values for required fields like gatewayMerchantId and merchantId. The Component takes the values from the /paymentMethods response. However, if you specify the optional field merchantName, then you must also specify merchantId and gatewayMerchantId.\n // configuration: {\n // gatewayMerchantId: adyenConfig.merchantAccount,\n // merchantId: adyenConfig.googleMerchantID,\n // merchantName: 'Moncler',\n // },\n showPayButton: true,\n buttonType: 'plain',\n buttonColor: 'black',\n };\n if (express) {\n googlepayoptions.transactionInfo = {\n currencyCode: order.currencyCode,\n countryCode: window.country,\n totalPrice: order.totals.totalAmount.toString(),\n totalPriceStatus: 'ESTIMATED',\n };\n googlepayoptions.totalPriceStatus = 'ESTIMATED';\n googlepayoptions.shippingAddressRequired = true;\n googlepayoptions.emailRequired = true;\n googlepayoptions.billingAddressRequired = true;\n googlepayoptions.shippingAddressParameters = {\n phoneNumberRequired: true,\n allowedCountryCodes: [window.country],\n };\n googlepayoptions.shippingOptionParameters = {\n defaultSelectedOptionId: (_c = (_b = (_a = order === null || order === void 0 ? void 0 : order.shipping) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.selectedShippingMethod) === null || _c === void 0 ? void 0 : _c.ID,\n shippingOptions: (_e = (_d = order === null || order === void 0 ? void 0 : order.shipping) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.applicableShippingMethods.filter((m) => !m.storePickupEnabled).map((m) => {\n return {\n id: m.ID,\n label: `${m.displayName} ${m.shippingCost}`,\n description: m.description || '-',\n };\n }),\n };\n googlepayoptions.callbackIntents = ['SHIPPING_ADDRESS', 'PAYMENT_AUTHORIZATION', 'SHIPPING_OPTION']; //\n googlepayoptions.shippingOptionRequired = true;\n googlepayoptions.paymentDataCallbacks = {\n onPaymentDataChanged: (intermediatePaymentData) => {\n console.info('google onPaymentDataChanged ', intermediatePaymentData);\n return api.expressGooglepayDataChange(intermediatePaymentData);\n },\n onPaymentAuthorized: (data) => {\n console.info('google onPaymentAuthorized ', data);\n return api.expressGooglepayAuthorize(data);\n },\n };\n }\n // console.info('googlepayoptions: ' + JSON.stringify(googlepayoptions, null, 2));\n const applepayoptions = {\n configuration: {\n merchantName: 'Adyen Test merchant', // Required for Component versions earlier than 3.17.1. Name to be displayed on the form.\n },\n buttonType: 'plain',\n buttonColor: 'black',\n onValidateMerchant: (resolve, reject, validationURL) => {\n console.log('applepay onValidateMerchant');\n // not used, replaced by sfcc support\n },\n onChange: (state, component) => {\n console.log('applepay onChange');\n // not used, replaced by sfcc support\n },\n };\n const paypaloptions = {\n environment: adyenConfig.environment,\n style: {\n layout: 'vertical',\n color: order.orderDetail ? 'black' : 'white',\n shape: 'rect',\n label: 'paypal',\n height: 36,\n },\n intent: 'authorize',\n showPayButton: true,\n blockPayPalPayLaterButton: !adyenConfig.showPaypalPayLaterButton,\n onSubmit: (state, component) => {\n console.log('paypal onsubmit');\n paymentutils.paymentFromComponent(state.data, component);\n },\n onCancel: (data, component) => {\n // data example: {\"orderID\":\"EC-4FM95720TR8777224\"} -> paypal order number\n console.log('paypal onCancel ' + document.querySelector('#merchantReference').value + ' ' + JSON.stringify(data));\n paymentutils.paymentFromComponent({ paymentMethod: { type: 'paypal' }, cancelTransaction: true }, component);\n },\n onError: (error, component) => {\n console.log('paypal onError');\n if (component) {\n component.setStatus('ready');\n }\n document.querySelector('#showConfirmationForm').submit();\n },\n onAdditionalDetails: (state) => {\n console.log('paypal onAdditionalDetails');\n document.querySelector('#additionalDetailsHidden').value = JSON.stringify(state.data);\n document.querySelector('#showConfirmationForm').submit();\n return false;\n },\n onClick: () => {\n console.log('paypal onClick');\n if (!express) {\n if (getId() === 'MO') {\n analyticsMoncler.paymentInfo('paypal', order.items, order.totals.totalAmount);\n }\n else if (getId() === 'ST') {\n analyticsStone.checkout(order, 'payment', 'paypal');\n }\n }\n // (formref.current as any).dispatchEvent(new Event('submit'));\n },\n };\n const cardoptions = {\n enableStoreDetails: adyenConfig.showStoreDetails,\n hasHolderName: true,\n holderNameRequired: true,\n minimumExpiryDate: new Date(),\n onBrand: function onBrand(brandObject) {\n setValue('cardType', brandObject.brand);\n },\n onFieldValid: function onFieldValid(data) {\n if (data.endDigits) {\n setValue('cardNumber', '************' + data.endDigits);\n }\n },\n };\n let amazonpayconfig = adyenPaymentMethods.paymentMethods.find((p) => p.type == 'amazonpay');\n let amazonpayoptions;\n if (amazonpayconfig) {\n let restrictions = {};\n restrictions[window.country] = {};\n amazonpayoptions = {\n buttonColor: 'LightGray',\n configuration: {\n merchantId: (_f = amazonpayconfig === null || amazonpayconfig === void 0 ? void 0 : amazonpayconfig.configuration) === null || _f === void 0 ? void 0 : _f.merchantId,\n storeId: (_g = amazonpayconfig === null || amazonpayconfig === void 0 ? void 0 : amazonpayconfig.configuration) === null || _g === void 0 ? void 0 : _g.storeId,\n publicKeyId: (_h = amazonpayconfig === null || amazonpayconfig === void 0 ? void 0 : amazonpayconfig.configuration) === null || _h === void 0 ? void 0 : _h.publicKeyId,\n },\n deliverySpecifications: {\n addressRestrictions: {\n type: 'Allowed',\n restrictions: restrictions,\n },\n },\n // @ts-ignore\n currency: order.currencyCode,\n environment: adyenConfig.environment,\n // onSubmit: (state: any, component: AmazonPayElement) => {\n // console.log('amazonpay onsubmit default');\n // },\n };\n }\n // locale: undefined, // Supported values: en_GB, de_DE, fr_FR, it_IT, es_ES\n // storeId: undefined, //\tRetrieve this value from Amazon Pay Integration Central.\n const configuration = {\n locale: window.locale,\n environment: adyenConfig.environment,\n clientKey: adyenConfig.clientKey,\n paymentMethodsResponse: adyenPaymentMethods,\n onChange: (state, component) => {\n state.isValid; // True or false. Specifies if all the information that the shopper provided is valid.\n state.data; // Provides the data that you need to pass in the `/payments` call.\n // console.info('handleonchange state=', state, '\\n', 'component ' + component);\n setValid && setValid(state.isValid);\n },\n onAdditionalDetails: (state, component) => {\n state.data; // Provides the data that you need to pass in the `/payments/details` call.\n console.info('handleOnAdditionalDetails state: ', state, '\\n', 'component: ', component);\n api.adyenPaymentDetails(state.data).then((data) => {\n console.info('paymentDetails result: ', data);\n if (data.action) {\n console.info('Calling handleAction after payment details with ', data.action);\n // component.handleAction(data.action);\n const threeDSConfiguration = {\n size: '05',\n // Set to any of the following:\n // '02': ['390px', '400px'] - The default window size\n // '01': ['250px', '400px']\n // '03': ['500px', '600px']\n // '04': ['600px', '400px']\n // '05': ['100%', '100%']\n };\n adyenCheckout.createFromAction(data.action, threeDSConfiguration).mount('#threedscontainer');\n }\n else {\n console.info('paymentDetails submit');\n document.querySelector('#showConfirmationForm').submit();\n // \"data\": {\n // \"additionalData\": {\n // \"recurringProcessingModel\": \"CardOnFile\"\n // },\n // \"pspReference\": \"863620072379033F\",\n // \"resultCode\": \"Authorised\",\n // \"refusalReasonCode\": \"0\",\n // \"merchantReference\": \"dev15-00017511\"\n // }\n }\n });\n },\n onSubmit: (e) => {\n console.info('default onsubmit', e);\n setValid && setValid(e.isValid);\n },\n amount: {\n value: amount,\n currency: order.currencyCode,\n },\n paymentMethodsConfiguration: {\n card: cardoptions,\n paywithgoogle: googlepayoptions,\n applepay: applepayoptions,\n paypal: paypaloptions,\n amazonpay: amazonpayoptions,\n },\n };\n if (adyenConfig && adyenConfig.translations) {\n configuration.translations = adyenConfig.translations;\n }\n return await AdyenCheckout(configuration);\n },\n};\nexport default paymentutils;\n"],"names":["props","t","flagGuest","setFlagGuest","useState","flagCommon","setFlagCommon","flagMbm","setFlagMbm","errors","setErrors","hasErrors","useMemo","forceValidation","showValidationErrors","showError","useCallback","index","useEffect","guest","containsMbm","onSelect","className","disabled","hidedataprocessing","window","isClothing","dangerouslySetInnerHTML","__html","type","id","fromModal","checked","onChange","e","target","appmode","htmlFor","onClick","privacypolicy","knowAge","termsandconditions","mbmurllegalareareturn","full","inline","cardremap","visa","mc","amex","maestro","paymentutils","supportedpayments","filteredpayments","filteredmbm","appallowed","redirectpayments","remapBrand","brand","paymentFromComponent","async","statedata","component","console","log","paymentMethod","then","data","info","orderNo","document","querySelector","value","fullResponse","action","handleAction","decision","setStatus","submit","catch","error","getAdyenCheckout","adyenConfig","order","adyenPaymentMethods","express","setValue","setValid","_a","_b","_c","_d","_e","_f","_g","_h","amount","totals","totalAmount","googlepayoptions","environment","onAuthorized","resolve","reject","items","onSubmit","JSON","stringify","isValid","getElementById","dispatchEvent","Event","cancelable","bubbles","showPayButton","buttonType","buttonColor","transactionInfo","currencyCode","countryCode","country","totalPrice","toString","totalPriceStatus","shippingAddressRequired","emailRequired","billingAddressRequired","shippingAddressParameters","phoneNumberRequired","allowedCountryCodes","shippingOptionParameters","defaultSelectedOptionId","shipping","selectedShippingMethod","ID","shippingOptions","applicableShippingMethods","filter","m","storePickupEnabled","map","label","displayName","shippingCost","description","callbackIntents","shippingOptionRequired","paymentDataCallbacks","onPaymentDataChanged","intermediatePaymentData","onPaymentAuthorized","applepayoptions","configuration","merchantName","onValidateMerchant","validationURL","state","paypaloptions","style","layout","color","orderDetail","shape","height","intent","blockPayPalPayLaterButton","showPaypalPayLaterButton","onCancel","cancelTransaction","onError","onAdditionalDetails","cardoptions","enableStoreDetails","showStoreDetails","hasHolderName","holderNameRequired","minimumExpiryDate","Date","onBrand","brandObject","onFieldValid","endDigits","amazonpayoptions","amazonpayconfig","paymentMethods","find","p","restrictions","merchantId","storeId","publicKeyId","deliverySpecifications","addressRestrictions","currency","locale","clientKey","paymentMethodsResponse","threeDSConfiguration","size","adyenCheckout","createFromAction","mount","paymentMethodsConfiguration","card","paywithgoogle","applepay","paypal","amazonpay","translations"],"sourceRoot":""}