@bigcommerce/checkout-sdk 1.960.0 → 1.960.1
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/checkout-button.js +1 -1
- package/dist/cjs/checkout-sdk-essential.js +1 -1
- package/dist/cjs/checkout-sdk.js +1 -1
- package/dist/cjs/hosted-form-v2-iframe-host.js +1 -1
- package/dist/cjs/integrations/amazon-pay.js +1 -1
- package/dist/cjs/integrations/bigcommerce-payments.js +1 -1
- package/dist/cjs/integrations/braintree.js +1 -1
- package/dist/cjs/integrations/google-pay.js +1 -1
- package/dist/cjs/integrations/klarna.js +1 -1
- package/dist/cjs/integrations/paypal-commerce.js +1 -1
- package/dist/cjs/integrations/paypal-express.js +1 -1
- package/dist/cjs/integrations/zip.js +1 -1
- package/dist/esm/checkout-button.js +1 -1
- package/dist/esm/checkout-sdk-essential.js +1 -1
- package/dist/esm/checkout-sdk.js +1 -1
- package/dist/esm/hosted-form-v2-iframe-host.js +1 -1
- package/dist/esm/integrations/amazon-pay.js +1 -1
- package/dist/esm/integrations/bigcommerce-payments.js +1 -1
- package/dist/esm/integrations/braintree.js +1 -1
- package/dist/esm/integrations/google-pay.js +1 -1
- package/dist/esm/integrations/klarna.js +1 -1
- package/dist/esm/integrations/paypal-commerce.js +1 -1
- package/dist/esm/integrations/paypal-express.js +1 -1
- package/dist/esm/integrations/zip.js +1 -1
- package/dist/types/checkout-sdk.d.ts +3 -1
- package/dist/types/internal-mappers.d.ts +3 -1
- package/docs/README.md +1 -0
- package/docs/interfaces/CustomerAddress.md +1 -1
- package/docs/type-aliases/CustomerAddressType.md +9 -0
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createRequestSender as e,createTimeout as t}from"@bigcommerce/request-sender";import{createFormPoster as n}from"@bigcommerce/form-poster";import{combineReducers as i,composeReducers as r,createAction as o,createDataStore as a,createErrorAction as s,deepFreeze as d}from"@bigcommerce/data-store";import{difference as c,filter as u,find as l,findIndex as h,flatMap as p,identity as g,includes as m,isArray as y,isEmpty as f,isEqual as _,isMatch as S,isNil as v,isObject as C,isPlainObject as I,keyBy as w,keys as b,last as E,map as P,max as O,memoize as A,noop as T,omit as k,omitBy as R,pick as D,pickBy as M,reduce as N,round as L,some as z,transform as B,union as F,uniq as U,uniqueId as x,values as q,without as j}from"lodash";import{Observable as G,Subject as V,concat as H,defer as W,empty as Y,from as K,fromEvent as $,merge as Z,of as J,throwError as Q}from"rxjs";import{catchError as X,delay as ee,filter as te,map as ne,retryWhen as ie,shareReplay as re,switchMap as oe,take as ae}from"rxjs/operators";import{memoize as se,memoizeOne as de}from"@bigcommerce/memoize";import{createSelector as ce}from"reselect";import{ScriptLoader as ue,createScriptLoader as le,getScriptLoader as he}from"@bigcommerce/script-loader";import{stringifyUrl as pe}from"query-string";import{supportsPopups as ge}from"@braintree/browser-detection";import{createClient as me}from"@bigcommerce/bigpay-client";import{creditCardType as ye,number as fe}from"card-validator";import{default as _e}from"shallowequal";var Se={d:(e,t)=>{for(var n in t)Se.o(t,n)&&!Se.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},ve={};Se.r(ve),Se.d(ve,{createAmazonPayV2ButtonStrategy:()=>qr,createApplePayButtonStrategy:()=>vo,createBigCommercePaymentsButtonStrategy:()=>Fo,createBigCommercePaymentsPayLaterButtonStrategy:()=>qo,createBigCommercePaymentsVenmoButtonStrategy:()=>Vo,createBoltButtonStrategy:()=>Qo,createBraintreePaypalButtonStrategy:()=>ya,createBraintreePaypalCreditButtonStrategy:()=>Sa,createBraintreeVenmoButtonStrategy:()=>Aa,createBraintreeVisaCheckoutButtonStrategy:()=>Ia,createGooglePayAdyenV2ButtonStrategy:()=>_s,createGooglePayAdyenV3ButtonStrategy:()=>Ss,createGooglePayAuthorizeDotNetButtonStrategy:()=>Cs,createGooglePayBigCommercePaymentsButtonStrategy:()=>fs,createGooglePayBraintreeButtonStrategy:()=>rs,createGooglePayCheckoutComButtonStrategy:()=>Ps,createGooglePayCybersourceButtonStrategy:()=>As,createGooglePayOrbitalButtonStrategy:()=>ks,createGooglePayPayPalCommerceButtonStrategy:()=>hs,createGooglePayStripeButtonStrategy:()=>$s,createGooglePayTdOnlineMartButtonStrategy:()=>td,createGooglePayWorldpayAccessButtonStrategy:()=>Js,createLinkV2ButtonStrategy:()=>dc,createPayPalCommerceButtonStrategy:()=>Id,createPayPalCommerceCreditButtonStrategy:()=>Ed,createPayPalCommerceVenmoButtonStrategy:()=>qd,createPaypalExpressButtonStrategy:()=>Jd});class Ce extends Error{constructor(e){var t;super(e||"An unexpected error has occurred."),this.name="StandardError",this.type="standard",t=new.target.prototype,Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,new.target):this.stack=new Error(this.message).stack}}const Ie={body:{},headers:{},status:0};class we extends Ce{constructor(e,{message:t,errors:n}={}){const{body:i,headers:r,status:o}=e||Ie;super(t||"An unexpected error has occurred."),this.name="RequestError",this.type="request",this.body=i,this.headers=r,this.status=o,this.errors=n||[]}}class be extends we{constructor(e){super(e,{message:"There is a problem processing your payment. Please try again later."}),this.name="PaymentMethodInvalidError",this.type="payment_method_invalid"}}class Ee extends Error{constructor(e){var t;super(e||"An unexpected error has occurred."),this.name="StandardError",this.type="standard",t=new.target.prototype,Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,new.target):this.stack=new Error(this.message).stack}}const Pe={body:{},headers:{},status:0};class Oe extends Ee{constructor(e,{message:t,errors:n}={}){const{body:i,headers:r,status:o}=e||Pe;super(t||"An unexpected error has occurred."),this.name="RequestError",this.type="request",this.body=i,this.headers=r,this.status=o,this.errors=n||[]}}class Ae extends Oe{constructor(e,t){super(e,{message:t||"An unexpected error has occurred. The checkout process cannot continue as a result."}),this.name="UnrecoverableError",this.type="unrecoverable"}}function Te(e){return e.reduce((e,t)=>t?[...e,t]:e,[]).join(" ")}function ke(e,t){const{body:n}=e,{errors:i=[]}=n;return new Oe(e,{message:Re(i)||t,errors:i})}function Re(e){if(Array.isArray(e))return e.reduce((e,t)=>t&&t.message?[...e,t.message]:e,[]).join(" ")}class De extends Oe{constructor(e){super(e,{message:"The request has timed out or aborted."}),this.name="TimeoutError",this.type="timeout"}}class Me{constructor(){this._factoryMethods={},this.register("default",(e,t)=>new Oe(e,{message:t})),this.register("internal",(e,t)=>function(e,t){const{body:n}=e,{errors:i=[]}=n;return new Oe(e,{message:Te(i)||n.detail||n.title||t,errors:i.length?i.map(e=>({code:n.type,message:e})):[{code:n.type,message:n.detail||n.title}]})}(e,t)),this.register("storefront",(e,t)=>function(e,t){const{body:n}=e;return new Oe(e,{message:t||n.detail||n.title,errors:[{code:n.code||n.type,message:n.detail||n.title}]})}(e,t)),this.register("payment",(e,t)=>ke(e,t)),this.register("timeout",e=>new De(e))}register(e,t){this._factoryMethods[e]=t}createError(e,t){return(this._factoryMethods[this._getType(e)]||this._factoryMethods.default)(e,t)}_getType(e){if(0===e.status)return"timeout";if(this._isStorefrontErrorResponseBody(e.body))return"storefront";if(this._isInternalErrorResponseBody(e.body)){const t=E(e.body.type.split("/"));return t&&this._factoryMethods[t]?t:"internal"}const t=E(e.body&&e.body.errors);return t&&t.code&&this._factoryMethods[t.code]?t.code:"payment"}_isStorefrontErrorResponseBody(e){const t=e;return!this._isInternalErrorResponseBody(e)&&"string"==typeof t.title&&"string"==typeof t.type&&"number"==typeof t.status&&"string"==typeof t.detail}_isInternalErrorResponseBody(e){const t=e;return"object"==typeof t.errors&&"string"==typeof t.title&&"string"==typeof t.type&&"number"==typeof t.status}}function Ne(e,t){return Array.isArray(e)?e.map(e=>Ne(e,t)):I(e)?B(R(e,t),(e,n,i)=>{e[i]=Ne(n,t)},{}):e}var Le,ze;function Be(e,t){return function(e){return e.type===Le.ClearError}(t)?Ne(e,e=>e===t.payload):e}function Fe(e,t,n){return e===t||(e&&t&&"object"==typeof e&&"object"==typeof t?Array.isArray(e)&&Array.isArray(t)?function(e,t,n){if(e.length!==t.length)return!1;for(let i=0,r=e.length;i<r;i++)if(!Fe(e[i],t[i],n))return!1;return!0}(e,t,n):!Array.isArray(e)&&!Array.isArray(t)&&(e instanceof Date&&t instanceof Date?function(e,t){return e.getTime()===t.getTime()}(e,t):!(e instanceof Date||t instanceof Date)&&(e instanceof RegExp&&t instanceof RegExp?function(e,t){return e.toString()===t.toString()}(e,t):!(e instanceof RegExp||t instanceof RegExp)&&function(e,t,n){const i=n&&n.keyFilter,r=i?Object.keys(e).filter(i):Object.keys(e),o=i?Object.keys(t).filter(i):Object.keys(t);if(r.length!==o.length)return!1;for(let i=0,o=r.length;i<o;i++){const o=r[i];if(!Object.prototype.hasOwnProperty.call(t,o))return!1;if(!Fe(e[o],t[o],n))return!1}return!0}(e,t,n))):e===t)}function Ue(e,t,n){return e&&Object.prototype.hasOwnProperty.call(e,t)&&Fe(e[t],n)?e:Object.assign(Object.assign({},e),{[t]:n})}!function(e){e.ClearError="CLEAR_ERROR"}(Le||(Le={})),function(e){e.LoadB2BTokenRequested="LOAD_B2B_TOKEN_REQUESTED",e.LoadB2BTokenSucceeded="LOAD_B2B_TOKEN_SUCCEEDED",e.LoadB2BTokenFailed="LOAD_B2B_TOKEN_FAILED"}(ze||(ze={}));const xe={errors:{},statuses:{}};function qe(e=xe,t){return i({data:je,errors:r(Ge,Be),statuses:Ve})(e,t)}function je(e,t){return t.type===ze.LoadB2BTokenSucceeded?t.payload:e}function Ge(e=xe.errors,t){switch(t.type){case ze.LoadB2BTokenRequested:case ze.LoadB2BTokenSucceeded:return Ue(e,"loadError",void 0);case ze.LoadB2BTokenFailed:return Ue(e,"loadError",t.payload);default:return e}}function Ve(e=xe.statuses,t){switch(t.type){case ze.LoadB2BTokenRequested:return Ue(e,"isLoading",!0);case ze.LoadB2BTokenFailed:case ze.LoadB2BTokenSucceeded:return Ue(e,"isLoading",!1);default:return e}}var He,We,Ye,Ke;function $e(e,t){return void 0===t||Fe(e,t)?e:t}!function(e){e.LoadCheckoutRequested="LOAD_CHECKOUT_REQUESTED",e.LoadCheckoutSucceeded="LOAD_CHECKOUT_SUCCEEDED",e.LoadCheckoutFailed="LOAD_CHECKOUT_FAILED",e.UpdateCheckoutRequested="UPDATE_CHECKOUT_REQUESTED",e.UpdateCheckoutSucceeded="UPDATE_CHECKOUT_SUCCEEDED",e.UpdateCheckoutFailed="UPDATE_CHECKOUT_FAILED",e.DeleteCheckoutRequested="DELETE_CHECKOUT_REQUESTED",e.DeleteCheckoutSucceeded="DELETE_CHECKOUT_SUCCEEDED",e.DeleteCheckoutFailed="DELETE_CHECKOUT_FAILED"}(He||(He={})),function(e){e.HydrateInitialState="HYDRATE_INITIAL_STATE"}(We||(We={})),function(e){e.UpdateSubscriptionsRequested="UPDATE_SUBSCRIPTIONS_REQUESTED",e.UpdateSubscriptionsSucceeded="UPDATE_SUBSCRIPTIONS_SUCCEEDED",e.UpdateSubscriptionsFailed="UPDATE_SUBSCRIPTIONS_FAILED"}(Ye||(Ye={})),function(e){e.UpdateBillingAddressRequested="UPDATE_BILLING_ADDRESS_REQUESTED",e.UpdateBillingAddressSucceeded="UPDATE_BILLING_ADDRESS_SUCCEEDED",e.UpdateBillingAddressFailed="UPDATE_BILLING_ADDRESS_FAILED",e.ContinueAsGuestRequested="CONTINUE_AS_GUEST_REQUESTED",e.ContinueAsGuestSucceeded="CONTINUE_AS_GUEST_SUCCEEDED",e.ContinueAsGuestFailed="CONTINUE_AS_GUEST_FAILED"}(Ke||(Ke={}));const Ze={errors:{},statuses:{}};function Je(e=Ze,t){return i({data:Qe,errors:r(Xe,Be),statuses:et})(e,t)}function Qe(e,t){var n,i;switch(t.type){case Ke.UpdateBillingAddressSucceeded:case Ke.ContinueAsGuestSucceeded:case He.LoadCheckoutSucceeded:return $e(e,t.payload&&t.payload.billingAddress);case We.HydrateInitialState:return $e(e,null===(i=null===(n=t.payload)||void 0===n?void 0:n.checkout)||void 0===i?void 0:i.billingAddress);default:return e}}function Xe(e=Ze.errors,t){switch(t.type){case He.LoadCheckoutRequested:case He.LoadCheckoutSucceeded:return Ue(e,"loadError",void 0);case He.LoadCheckoutFailed:return Ue(e,"loadError",t.payload);case Ke.UpdateBillingAddressRequested:case Ke.UpdateBillingAddressSucceeded:return Ue(e,"updateError",void 0);case Ke.UpdateBillingAddressFailed:return Ue(e,"updateError",t.payload);case Ye.UpdateSubscriptionsRequested:case Ye.UpdateSubscriptionsSucceeded:case Ke.ContinueAsGuestRequested:case Ke.ContinueAsGuestSucceeded:return Ue(e,"continueAsGuestError",void 0);case Ye.UpdateSubscriptionsFailed:case Ke.ContinueAsGuestFailed:return Ue(e,"continueAsGuestError",t.payload);default:return e}}function et(e=Ze.statuses,t){switch(t.type){case He.LoadCheckoutRequested:return Ue(e,"isLoading",!0);case He.LoadCheckoutSucceeded:case He.LoadCheckoutFailed:return Ue(e,"isLoading",!1);case Ke.UpdateBillingAddressRequested:return Ue(e,"isUpdating",!0);case Ke.UpdateBillingAddressFailed:case Ke.UpdateBillingAddressSucceeded:return Ue(e,"isUpdating",!1);case Ke.ContinueAsGuestRequested:case Ye.UpdateSubscriptionsRequested:return Ue(e,"isContinuingAsGuest",!0);case Ye.UpdateSubscriptionsSucceeded:case Ye.UpdateSubscriptionsFailed:case Ke.ContinueAsGuestFailed:case Ke.ContinueAsGuestSucceeded:return Ue(e,"isContinuingAsGuest",!1);default:return e}}function tt(e){return I(e)}const nt=function e(t,n,i){const{matchObject:r=(e,t)=>void 0!==e.id&&e.id===t.id}=i||{};if(!t)return n;if(!n||t===n)return t;let o=0,a=0;const s=(e,t,n)=>(o+=e===t?1:0,a+=e===n?1:0,e),d=n.map((n,i)=>{const o=t&&t[i];return tt(o)&&tt(n)?r(o,n)?s(it(o,n),o,n):s($e(o,n),o,n):y(o)&&y(n)?s(e(o,n),o,n):s($e(o,n),o,n)});return o===n.length&&t&&t.length===n.length?t:a===n.length?n:d},it=function e(t,n){return t?n&&t!==n?Object.keys(n).reduce((t,i)=>{const r=t[i],o=n[i];return tt(r)&&tt(o)?Ue(t,i,e(r,o)):y(r)&&y(o)?Ue(t,i,nt(r,o)):Ue(t,i,o)},t):t:n};var rt,ot,at;!function(e){e.ApplyCouponRequested="APPLY_COUPON_REQUESTED",e.ApplyCouponSucceeded="APPLY_COUPON_SUCCEEDED",e.ApplyCouponFailed="APPLY_COUPON_FAILED",e.RemoveCouponRequested="REMOVE_COUPON_REQUESTED",e.RemoveCouponSucceeded="REMOVE_COUPON_SUCCEEDED",e.RemoveCouponFailed="REMOVE_COUPON_FAILED"}(rt||(rt={})),function(e){e.ApplyGiftCertificateRequested="APPLY_GIFT_CERTIFICATE_REQUESTED",e.ApplyGiftCertificateSucceeded="APPLY_GIFT_CERTIFICATE_SUCCEEDED",e.ApplyGiftCertificateFailed="APPLY_GIFT_CERTIFICATE_FAILED",e.RemoveGiftCertificateRequested="REMOVE_GIFT_CERTIFICATE_REQUESTED",e.RemoveGiftCertificateSucceeded="REMOVE_GIFT_CERTIFICATE_SUCCEEDED",e.RemoveGiftCertificateFailed="REMOVE_GIFT_CERTIFICATE_FAILED"}(ot||(ot={})),function(e){e.CreateConsignmentsRequested="CREATE_CONSIGNMENTS_REQUESTED",e.CreateConsignmentsSucceeded="CREATE_CONSIGNMENTS_SUCCEEDED",e.CreateConsignmentsFailed="CREATE_CONSIGNMENTS_FAILED",e.UpdateConsignmentRequested="UPDATE_CONSIGNMENT_REQUESTED",e.UpdateConsignmentSucceeded="UPDATE_CONSIGNMENT_SUCCEEDED",e.UpdateConsignmentFailed="UPDATE_CONSIGNMENT_FAILED",e.DeleteConsignmentRequested="DELETE_CONSIGNMENT_REQUESTED",e.DeleteConsignmentSucceeded="DELETE_CONSIGNMENT_SUCCEEDED",e.DeleteConsignmentFailed="DELETE_CONSIGNMENT_FAILED",e.UpdateShippingOptionRequested="UPDATE_SHIPPING_OPTION_REQUESTED",e.UpdateShippingOptionSucceeded="UPDATE_SHIPPING_OPTION_SUCCEEDED",e.UpdateShippingOptionFailed="UPDATE_SHIPPING_OPTION_FAILED",e.LoadShippingOptionsRequested="LOAD_SHIPPING_OPTIONS_REQUESTED",e.LoadShippingOptionsSucceeded="LOAD_SHIPPING_OPTIONS_SUCCEEDED",e.LoadShippingOptionsFailed="LOAD_SHIPPING_OPTIONS_FAILED"}(at||(at={}));const st={errors:{},statuses:{}};function dt(e=st,t){return i({data:ct,errors:r(lt,Be),statuses:ut})(e,t)}function ct(e,t){var n,i;switch(t.type){case Ke.UpdateBillingAddressSucceeded:case He.LoadCheckoutSucceeded:case at.CreateConsignmentsSucceeded:case at.DeleteConsignmentSucceeded:case at.UpdateConsignmentSucceeded:case at.UpdateShippingOptionSucceeded:case at.LoadShippingOptionsSucceeded:case rt.ApplyCouponSucceeded:case rt.RemoveCouponSucceeded:case ot.ApplyGiftCertificateSucceeded:case ot.RemoveGiftCertificateSucceeded:return it(e,t.payload&&t.payload.cart);case We.HydrateInitialState:return it(e,null===(i=null===(n=t.payload)||void 0===n?void 0:n.checkout)||void 0===i?void 0:i.cart);case He.DeleteCheckoutSucceeded:return;default:return e}}function ut(e=st.statuses,t){switch(t.type){case He.LoadCheckoutRequested:return Ue(e,"isLoading",!0);case He.LoadCheckoutFailed:case He.LoadCheckoutSucceeded:return Ue(e,"isLoading",!1);default:return e}}function lt(e=st.errors,t){switch(t.type){case He.LoadCheckoutRequested:case He.LoadCheckoutSucceeded:return Ue(e,"loadError",void 0);case He.LoadCheckoutFailed:return Ue(e,"loadError",t.payload);default:return e}}var ht;!function(e){e.InitializeButtonFailed="INITIALIZE_BUTTON_FAILED",e.InitializeButtonRequested="INITIALIZE_BUTTON_REQUESTED",e.InitializeButtonSucceeded="INITIALIZE_BUTTON_SUCCEEDED",e.DeinitializeButtonFailed="DEINITIALIZE_BUTTON_FAILED",e.DeinitializeButtonRequested="DEINITIALIZE_BUTTON_REQUESTED",e.DeinitializeButtonSucceeded="DEINITIALIZE_BUTTON_SUCCEEDED"}(ht||(ht={}));const pt={data:{},errors:{},statuses:{}},gt={initializedContainers:{}},mt={},yt={};function ft(e=pt,t){return t.meta&&t.meta.methodId?i({data:i({[t.meta.methodId]:_t}),errors:i({[t.meta.methodId]:St}),statuses:i({[t.meta.methodId]:vt})})(e,t):e}function _t(e=gt,t){switch(t.type){case ht.InitializeButtonSucceeded:return t.meta&&t.meta.containerId?it(e,{initializedContainers:{[t.meta.containerId]:!0}}):e;case ht.DeinitializeButtonSucceeded:return Ue(e,"initializedContainers",{})}return e}function St(e=mt,t){switch(t.type){case ht.InitializeButtonRequested:case ht.InitializeButtonSucceeded:return Ue(e,"initializeError",void 0);case ht.InitializeButtonFailed:return Ue(e,"initializeError",t.payload);case ht.DeinitializeButtonRequested:case ht.DeinitializeButtonSucceeded:return Ue(e,"deinitializeError",void 0);case ht.DeinitializeButtonFailed:return Ue(e,"deinitializeError",t.payload);default:return e}}function vt(e=yt,t){switch(t.type){case ht.InitializeButtonRequested:return Ue(e,"isInitializing",!0);case ht.InitializeButtonFailed:case ht.InitializeButtonSucceeded:return Ue(e,"isInitializing",!1);case ht.DeinitializeButtonRequested:return Ue(e,"isDeinitializing",!0);case ht.DeinitializeButtonFailed:case ht.DeinitializeButtonSucceeded:return Ue(e,"isDeinitializing",!1);default:return e}}var Ct;!function(e){e.LoadConfigRequested="LOAD_CONFIG_REQUESTED",e.LoadConfigSucceeded="LOAD_CONFIG_SUCCEEDED",e.LoadConfigFailed="LOAD_CONFIG_FAILED"}(Ct||(Ct={}));const It={meta:{},errors:{},statuses:{}};function wt(e=It,t){return i({data:bt,errors:r(Et,Be),statuses:Pt})(e,t)}function bt(e,t){var n,i;switch(t.type){case Ct.LoadConfigSucceeded:return it(e,t.payload);case We.HydrateInitialState:{const r=it(e,null===(n=t.payload)||void 0===n?void 0:n.config);return r&&(null===(i=t.payload)||void 0===i?void 0:i.b2bApiSettings)?Object.assign(Object.assign({},r),{storeConfig:Object.assign(Object.assign({},r.storeConfig),{b2bApiSettings:t.payload.b2bApiSettings})}):r}default:return e}}function Et(e=It.errors,t){switch(t.type){case Ct.LoadConfigSucceeded:return Ue(e,"loadError",void 0);case Ct.LoadConfigFailed:return Ue(e,"loadError",t.payload);default:return e}}function Pt(e=It.statuses,t){switch(t.type){case Ct.LoadConfigRequested:return Ue(e,"isLoading",!0);case Ct.LoadConfigSucceeded:case Ct.LoadConfigFailed:return Ue(e,"isLoading",!1);default:return e}}var Ot;!function(e){e.LoadOrderRequested="LOAD_ORDER_REQUESTED",e.LoadOrderSucceeded="LOAD_ORDER_SUCCEEDED",e.LoadOrderFailed="LOAD_ORDER_FAILED",e.LoadOrderPaymentsRequested="LOAD_ORDER_PAYMENTS_REQUESTED",e.LoadOrderPaymentsSucceeded="LOAD_ORDER_PAYMENTS_SUCCEEDED",e.LoadOrderPaymentsFailed="LOAD_ORDER_PAYMENTS_FAILED",e.SubmitOrderRequested="SUBMIT_ORDER_REQUESTED",e.SubmitOrderSucceeded="SUBMIT_ORDER_SUCCEEDED",e.SubmitOrderFailed="SUBMIT_ORDER_FAILED",e.FinalizeOrderRequested="FINALIZE_ORDER_REQUESTED",e.FinalizeOrderSucceeded="FINALIZE_ORDER_SUCCEEDED",e.FinalizeOrderFailed="FINALIZE_ORDER_FAILED"}(Ot||(Ot={}));const At={errors:{},statuses:{}};function Tt(e=At,t){return i({data:kt,errors:r(Rt,Be),statuses:Dt})(e,t)}function kt(e,t){var n,i;switch(t.type){case He.LoadCheckoutSucceeded:case rt.ApplyCouponSucceeded:case at.UpdateShippingOptionSucceeded:case rt.RemoveCouponSucceeded:case Ot.LoadOrderSucceeded:return nt(e,t.payload&&t.payload.coupons);case We.HydrateInitialState:return nt(e,null===(i=null===(n=t.payload)||void 0===n?void 0:n.checkout)||void 0===i?void 0:i.coupons);default:return e}}function Rt(e={},t){switch(t.type){case rt.ApplyCouponRequested:case rt.ApplyCouponSucceeded:return Ue(e,"applyCouponError",void 0);case rt.ApplyCouponFailed:return Ue(e,"applyCouponError",t.payload);case rt.RemoveCouponRequested:case rt.RemoveCouponSucceeded:return Ue(e,"removeCouponError",void 0);case rt.RemoveCouponFailed:return Ue(e,"removeCouponError",t.payload);default:return e}}function Dt(e={},t){switch(t.type){case rt.ApplyCouponRequested:return Ue(e,"isApplyingCoupon",!0);case rt.ApplyCouponSucceeded:case rt.ApplyCouponFailed:return Ue(e,"isApplyingCoupon",!1);case rt.RemoveCouponRequested:return Ue(e,"isRemovingCoupon",!0);case rt.RemoveCouponSucceeded:case rt.RemoveCouponFailed:return Ue(e,"isRemovingCoupon",!1);default:return e}}const Mt={errors:{},statuses:{}};function Nt(e=Mt,t){return i({data:Lt,errors:r(zt,Be),statuses:Bt})(e,t)}function Lt(e,t){var n,i;switch(t.type){case He.LoadCheckoutSucceeded:case at.CreateConsignmentsSucceeded:case at.UpdateConsignmentSucceeded:case at.DeleteConsignmentSucceeded:case at.UpdateShippingOptionSucceeded:case rt.ApplyCouponSucceeded:case rt.RemoveCouponSucceeded:case ot.ApplyGiftCertificateSucceeded:case ot.RemoveGiftCertificateSucceeded:return nt(e,t.payload&&t.payload.giftCertificates);case We.HydrateInitialState:return nt(e,null===(i=null===(n=t.payload)||void 0===n?void 0:n.checkout)||void 0===i?void 0:i.giftCertificates);default:return e}}function zt(e=Mt.errors,t){switch(t.type){case ot.ApplyGiftCertificateRequested:case ot.ApplyGiftCertificateSucceeded:return Ue(e,"applyGiftCertificateError",void 0);case ot.ApplyGiftCertificateFailed:return Ue(e,"applyGiftCertificateError",t.payload);case ot.RemoveGiftCertificateRequested:case ot.RemoveGiftCertificateSucceeded:return Ue(e,"removeGiftCertificateError",void 0);case ot.RemoveGiftCertificateFailed:return Ue(e,"removeGiftCertificateError",t.payload);default:return e}}function Bt(e=Mt.statuses,t){switch(t.type){case ot.ApplyGiftCertificateRequested:return Ue(e,"isApplyingGiftCertificate",!0);case ot.ApplyGiftCertificateSucceeded:case ot.ApplyGiftCertificateFailed:return Ue(e,"isApplyingGiftCertificate",!1);case ot.RemoveGiftCertificateRequested:return Ue(e,"isRemovingGiftCertificate",!0);case ot.RemoveGiftCertificateSucceeded:case ot.RemoveGiftCertificateFailed:return Ue(e,"isRemovingGiftCertificate",!1);default:return e}}var Ft;!function(e){e.SignInCustomerRequested="SIGN_IN_CUSTOMER_REQUESTED",e.SignInCustomerSucceeded="SIGN_IN_CUSTOMER_SUCCEEDED",e.SignInCustomerFailed="SIGN_IN_CUSTOMER_FAILED",e.SignOutCustomerRequested="SIGN_OUT_CUSTOMER_REQUESTED",e.SignOutCustomerSucceeded="SIGN_OUT_CUSTOMER_SUCCEEDED",e.SignOutCustomerFailed="SIGN_OUT_CUSTOMER_FAILED",e.CreateCustomerRequested="CREATE_CUSTOMER_REQUESTED",e.CreateCustomerSucceeded="CREATE_CUSTOMER_SUCCEEDED",e.CreateCustomerFailed="CREATE_CUSTOMER_FAILED",e.CreateCustomerAddressRequested="CREATE_CUSTOMER_ADDRESS_REQUESTED",e.CreateCustomerAddressSucceeded="CREATE_CUSTOMER_ADDRESS_SUCCEEDED",e.CreateCustomerAddressFailed="CREATE_CUSTOMER_ADDRESS_FAILED",e.StripeLinkAuthenticated="STRIPE_LINK_AUTHENTICATED"}(Ft||(Ft={}));const Ut={errors:{},statuses:{}};function xt(e=Ut,t){return i({data:qt,errors:r(jt,Be),statuses:Gt})(e,t)}function qt(e,t){var n,i;switch(t.type){case Ke.ContinueAsGuestSucceeded:case He.LoadCheckoutSucceeded:return it(e,t.payload&&t.payload.customer);case Ft.CreateCustomerAddressSucceeded:return it(e,t.payload);case We.HydrateInitialState:return it(e,null===(i=null===(n=t.payload)||void 0===n?void 0:n.checkout)||void 0===i?void 0:i.customer);default:return e}}function jt(e=Ut.errors,t){switch(t.type){case Ft.CreateCustomerRequested:case Ft.CreateCustomerSucceeded:return Ue(e,"createError",void 0);case Ft.CreateCustomerFailed:return Ue(e,"createError",t.payload);case Ft.CreateCustomerAddressRequested:case Ft.CreateCustomerAddressSucceeded:return Ue(e,"createAddressError",void 0);case Ft.CreateCustomerAddressFailed:return Ue(e,"createAddressError",t.payload);default:return e}}function Gt(e=Ut.statuses,t){switch(t.type){case Ft.CreateCustomerRequested:return Ue(e,"isCreating",!0);case Ft.CreateCustomerFailed:case Ft.CreateCustomerSucceeded:return Ue(e,"isCreating",!1);case Ft.CreateCustomerAddressRequested:return Ue(e,"isCreatingAddress",!0);case Ft.CreateCustomerAddressFailed:case Ft.CreateCustomerAddressSucceeded:return Ue(e,"isCreatingAddress",!1);default:return e}}var Vt;!function(e){e.SignInFailed="CUSTOMER_STRATEGY_SIGN_IN_FAILED",e.SignInRequested="CUSTOMER_STRATEGY_SIGN_IN_REQUESTED",e.SignInSucceeded="CUSTOMER_STRATEGY_SIGN_IN_SUCCEEDED",e.SignOutFailed="CUSTOMER_STRATEGY_SIGN_OUT_FAILED",e.SignOutRequested="CUSTOMER_STRATEGY_SIGN_OUT_REQUESTED",e.SignOutSucceeded="CUSTOMER_STRATEGY_SIGN_OUT_SUCCEEDED",e.ExecutePaymentMethodCheckoutFailed="CUSTOMER_STRATEGY_EXECUTE_PAYMENT_METHOD_CHECKOUT_FAILED",e.ExecutePaymentMethodCheckoutRequested="CUSTOMER_STRATEGY_EXECUTE_PAYMENT_METHOD_CHECKOUT_REQUESTED",e.ExecutePaymentMethodCheckoutSucceeded="CUSTOMER_STRATEGY_EXECUTE_PAYMENT_METHOD_CHECKOUT_SUCCEEDED",e.InitializeFailed="CUSTOMER_STRATEGY_INITIALIZE_FAILED",e.InitializeRequested="CUSTOMER_STRATEGY_INITIALIZE_REQUESTED",e.InitializeSucceeded="CUSTOMER_STRATEGY_INITIALIZE_SUCCEEDED",e.DeinitializeFailed="CUSTOMER_STRATEGY_DEINITIALIZE_FAILED",e.DeinitializeRequested="CUSTOMER_STRATEGY_DEINITIALIZE_REQUESTED",e.DeinitializeSucceeded="CUSTOMER_STRATEGY_DEINITIALIZE_SUCCEEDED",e.WidgetInteractionStarted="CUSTOMER_STRATEGY_WIDGET_INTERACTION_STARTED",e.WidgetInteractionFinished="CUSTOMER_STRATEGY_WIDGET_INTERACTION_FINISHED",e.WidgetInteractionFailed="CUSTOMER_STRATEGY_WIDGET_INTERACTION_FAILED"}(Vt||(Vt={}));const Ht={data:{},errors:{},statuses:{}};function Wt(e=Ht,t){return i({data:Yt,errors:r(Kt,Be),statuses:$t})(e,t)}function Yt(e=Ht.data,t){switch(t.type){case Vt.InitializeSucceeded:return it(e,{[t.meta&&t.meta.methodId]:{isInitialized:!0}});case Vt.DeinitializeSucceeded:return it(e,{[t.meta&&t.meta.methodId]:{isInitialized:!1}})}return e}function Kt(e=Ht.errors,t){switch(t.type){case Vt.InitializeRequested:case Vt.InitializeSucceeded:return it(e,{initializeErrors:Object.assign({},e.initializeErrors),initializeMethodId:e.initializeMethodId?e.initializeMethodId:void 0});case Vt.InitializeFailed:return it(e,{initializeErrors:Object.assign(Object.assign({},e.initializeErrors),{[t.meta&&t.meta.methodId]:t.payload}),initializeMethodId:t.meta&&t.meta.methodId});case Vt.DeinitializeRequested:case Vt.DeinitializeSucceeded:return it(e,{deinitializeError:void 0,deinitializeMethodId:void 0});case Vt.DeinitializeFailed:return it(e,{deinitializeError:t.payload,deinitializeMethodId:t.meta&&t.meta.methodId});case Vt.SignInRequested:case Vt.SignInSucceeded:return it(e,{signInError:void 0,signInMethodId:void 0});case Vt.SignInFailed:return it(e,{signInError:t.payload,signInMethodId:t.meta&&t.meta.methodId});case Vt.SignOutRequested:case Vt.SignOutSucceeded:return it(e,{signOutError:void 0,signOutMethodId:void 0});case Vt.SignOutFailed:return it(e,{signOutError:t.payload,signOutMethodId:t.meta&&t.meta.methodId});case Vt.ExecutePaymentMethodCheckoutRequested:case Vt.ExecutePaymentMethodCheckoutSucceeded:return it(e,{executePaymentMethodCheckoutError:void 0,executePaymentMethodCheckoutMethodId:void 0});case Vt.ExecutePaymentMethodCheckoutFailed:return it(e,{executePaymentMethodCheckoutError:t.payload,executePaymentMethodCheckoutMethodId:t.meta&&t.meta.methodId});case Vt.WidgetInteractionStarted:case Vt.WidgetInteractionFinished:return it(e,{widgetInteractionError:void 0,widgetInteractionMethodId:void 0});case Vt.WidgetInteractionFailed:return it(e,{widgetInteractionError:t.payload,widgetInteractionMethodId:t.meta.methodId});default:return e}}function $t(e=Ht.statuses,t){switch(t.type){case Vt.InitializeRequested:return it(e,{isInitializing:!0,initializeMethodId:t.meta&&t.meta.methodId});case Vt.InitializeFailed:case Vt.InitializeSucceeded:return it(e,{isInitializing:!1,initializeMethodId:void 0});case Vt.DeinitializeRequested:return it(e,{isDeinitializing:!0,deinitializeMethodId:t.meta&&t.meta.methodId});case Vt.DeinitializeFailed:case Vt.DeinitializeSucceeded:return it(e,{isDeinitializing:!1,deinitializeMethodId:void 0});case Vt.SignInRequested:return it(e,{isSigningIn:!0,signInMethodId:t.meta&&t.meta.methodId});case Vt.SignInFailed:case Vt.SignInSucceeded:return it(e,{isSigningIn:!1,signInMethodId:void 0});case Vt.SignOutRequested:return it(e,{isSigningOut:!0,signOutMethodId:t.meta&&t.meta.methodId});case Vt.SignOutFailed:case Vt.SignOutSucceeded:return it(e,{isSigningOut:!1,signOutMethodId:void 0});case Vt.ExecutePaymentMethodCheckoutRequested:return it(e,{isExecutingPaymentMethodCheckout:!0,executePaymentMethodCheckoutMethodId:t.meta&&t.meta.methodId});case Vt.ExecutePaymentMethodCheckoutFailed:case Vt.ExecutePaymentMethodCheckoutSucceeded:return it(e,{isExecutingPaymentMethodCheckout:!1,executePaymentMethodCheckoutMethodId:void 0});case Vt.WidgetInteractionStarted:return it(e,{isWidgetInteracting:!0,widgetInteractionMethodId:t.meta.methodId});case Vt.WidgetInteractionFinished:case Vt.WidgetInteractionFailed:return it(e,{isWidgetInteracting:!1,widgetInteractionMethodId:void 0});default:return e}}var Zt;!function(e){e.LoadExtensionsRequested="LOAD_EXTENSIONS_REQUESTED",e.LoadExtensionsSucceeded="LOAD_EXTENSIONS_SUCCEEDED",e.LoadExtensionsFailed="LOAD_EXTENSIONS_FAILED",e.RenderExtensionRequested="RENDER_EXTENSION_REQUESTED",e.RenderExtensionSucceeded="RENDER_EXTENSION_SUCCEEDED",e.RenderExtensionFailed="RENDER_EXTENSION_FAILED"}(Zt||(Zt={}));const Jt={errors:{},statuses:{}};function Qt(e=Jt,t){return i({data:Xt,errors:r(en,Be),statuses:tn})(e,t)}function Xt(e,t){var n;return t.type===Zt.LoadExtensionsSucceeded?nt(e,t.payload):t.type===We.HydrateInitialState?nt(e,null===(n=t.payload)||void 0===n?void 0:n.extensions):e}function en(e=Jt.errors,t){switch(t.type){case Zt.LoadExtensionsRequested:case Zt.LoadExtensionsSucceeded:return Ue(e,"loadError",void 0);case Zt.RenderExtensionRequested:case Zt.RenderExtensionSucceeded:return Ue(e,"renderError",void 0);case Zt.LoadExtensionsFailed:return Ue(e,"loadError",t.payload);case Zt.RenderExtensionFailed:return Ue(e,"renderError",t.payload);default:return e}}function tn(e=Jt.statuses,t){switch(t.type){case Zt.LoadExtensionsRequested:return Ue(e,"isLoading",!0);case Zt.LoadExtensionsSucceeded:case Zt.LoadExtensionsFailed:return Ue(e,"isLoading",!1);default:return e}}var nn;!function(e){e.LoadFormFieldsRequested="LOAD_FORM_FIELDS_REQUESTED",e.LoadFormFieldsSucceeded="LOAD_FORM_FIELDS_SUCCEEDED",e.LoadFormFieldsFailed="LOAD_FORM_FIELDS_FAILED"}(nn||(nn={}));const rn={errors:{},statuses:{}};function on(e=rn,t){return i({data:an,extraFields:sn,errors:r(dn,Be),statuses:cn})(e,t)}function an(e,t){var n;switch(t.type){case nn.LoadFormFieldsSucceeded:return it(e,t.payload);case We.HydrateInitialState:return it(e,null===(n=t.payload)||void 0===n?void 0:n.formFields);default:return e}}function sn(e,t){var n,i;return t.type===We.HydrateInitialState&&null!==(i=null===(n=t.payload)||void 0===n?void 0:n.extraFields)&&void 0!==i?i:e}function dn(e=rn.errors,t){switch(t.type){case nn.LoadFormFieldsSucceeded:return Ue(e,"loadError",void 0);case nn.LoadFormFieldsFailed:return Ue(e,"loadError",t.payload);default:return e}}function cn(e=rn.statuses,t){switch(t.type){case nn.LoadFormFieldsRequested:return Ue(e,"isLoading",!0);case nn.LoadFormFieldsSucceeded:case nn.LoadFormFieldsFailed:return Ue(e,"isLoading",!1);default:return e}}var un;!function(e){e.LoadCountriesRequested="LOAD_COUNTRIES_REQUESTED",e.LoadCountriesSucceeded="LOAD_COUNTRIES_SUCCEEDED",e.LoadCountriesFailed="LOAD_COUNTRIES_FAILED"}(un||(un={}));const ln={errors:{},statuses:{}};function hn(e=ln,t){return i({data:pn,errors:r(gn,Be),statuses:mn})(e,t)}function pn(e,t){return t.type===un.LoadCountriesSucceeded?nt(e,t.payload):e}function gn(e=ln.errors,t){switch(t.type){case un.LoadCountriesRequested:case un.LoadCountriesSucceeded:return Ue(e,"loadError",void 0);case un.LoadCountriesFailed:return Ue(e,"loadError",t.payload);default:return e}}function mn(e=ln.statuses,t){switch(t.type){case un.LoadCountriesRequested:return Ue(e,"isLoading",!0);case un.LoadCountriesSucceeded:case un.LoadCountriesFailed:return Ue(e,"isLoading",!1);default:return e}}const yn={errors:{},meta:{},statuses:{}};function fn(e=yn,t){return i({data:_n,errors:r(vn,Be),meta:Sn,statuses:Cn})(e,t)}function _n(e,t){switch(t.type){case Ot.LoadOrderSucceeded:case Ot.LoadOrderPaymentsSucceeded:return it(e,k(t.payload,["billingAddress","coupons"]));default:return e}}function Sn(e,t){var n;switch(t.type){case Ot.FinalizeOrderSucceeded:case Ot.SubmitOrderSucceeded:return Ue(it(e,Object.assign(Object.assign({},t.meta),{callbackUrl:t.payload&&t.payload.order.callbackUrl,orderToken:t.payload&&t.payload.order.token,payment:t.payload&&t.payload.order&&t.payload.order.payment})),"b2bContext",function(e){if(!(null==e?void 0:e.b2bMetadata))return;const{billingAddressId:t,shippingAddressId:n}=e.b2bMetadata;return{billingAddressId:null!=t?t:void 0,shippingAddressId:null!=n?n:void 0}}(null===(n=t.payload)||void 0===n?void 0:n.order));default:return e}}function vn(e=yn.errors,t){switch(t.type){case Ot.LoadOrderRequested:case Ot.LoadOrderSucceeded:case Ot.LoadOrderPaymentsSucceeded:case Ot.LoadOrderPaymentsRequested:return Ue(e,"loadError",void 0);case Ot.LoadOrderFailed:case Ot.LoadOrderPaymentsFailed:return Ue(e,"loadError",t.payload);default:return e}}function Cn(e=yn.statuses,t){switch(t.type){case Ot.LoadOrderRequested:case Ot.LoadOrderPaymentsRequested:return Ue(e,"isLoading",!0);case Ot.LoadOrderSucceeded:case Ot.LoadOrderFailed:case Ot.LoadOrderPaymentsSucceeded:case Ot.LoadOrderPaymentsFailed:return Ue(e,"isLoading",!1);default:return e}}const In={};function wn(e=In,t){return i({data:bn})(e,t)}function bn(e,t){switch(t.type){case Ot.LoadOrderPaymentsSucceeded:case Ot.LoadOrderSucceeded:return $e(e,t.payload&&t.payload.billingAddress);default:return e}}var En;!function(e){e.PersistB2BMetadataRequested="PERSIST_B2B_METADATA_REQUESTED",e.PersistB2BMetadataSucceeded="PERSIST_B2B_METADATA_SUCCEEDED",e.PersistB2BMetadataFailed="PERSIST_B2B_METADATA_FAILED"}(En||(En={}));const Pn={errors:{},statuses:{}};function On(e=Pn,t){return i({data:An,errors:r(Tn,Be),statuses:kn})(e,t)}function An(e,t){return t.type===En.PersistB2BMetadataSucceeded?t.payload:e}function Tn(e=Pn.errors,t){switch(t.type){case En.PersistB2BMetadataRequested:case En.PersistB2BMetadataSucceeded:return Ue(e,"persistB2bMetadataError",void 0);case En.PersistB2BMetadataFailed:return Ue(e,"persistB2bMetadataError",t.payload);default:return e}}function kn(e=Pn.statuses,t){switch(t.type){case En.PersistB2BMetadataRequested:return Ue(e,"isPersisting",!0);case En.PersistB2BMetadataFailed:case En.PersistB2BMetadataSucceeded:return Ue(e,"isPersisting",!1);default:return e}}var Rn,Dn;function Mn(e={},t){return i({data:Nn})(e,t)}function Nn(e,t){return t.type===Rn.SubmitPaymentSucceeded?t.payload:e}!function(e){e.SubmitPaymentRequested="SUBMIT_PAYMENT_REQUESTED",e.SubmitPaymentSucceeded="SUBMIT_PAYMENT_SUCCEEDED",e.SubmitPaymentFailed="SUBMIT_PAYMENT_FAILED",e.InitializeOffsitePaymentRequested="INITIALIZE_OFFSITE_PAYMENT_REQUESTED",e.InitializeOffsitePaymentSucceeded="INITIALIZE_OFFSITE_PAYMENT_SUCCEEDED",e.InitializeOffsitePaymentFailed="INITIALIZE_OFFSITE_PAYMENT_FAILED"}(Rn||(Rn={})),function(e){e.LoadPaymentMethodRequested="LOAD_PAYMENT_METHOD_REQUESTED",e.LoadPaymentMethodSucceeded="LOAD_PAYMENT_METHOD_SUCCEEDED",e.LoadPaymentMethodFailed="LOAD_PAYMENT_METHOD_FAILED",e.LoadPaymentMethodsRequested="LOAD_PAYMENT_METHODS_REQUESTED",e.LoadPaymentMethodsSucceeded="LOAD_PAYMENT_METHODS_SUCCEEDED",e.LoadPaymentMethodsFailed="LOAD_PAYMENT_METHODS_FAILED"}(Dn||(Dn={}));const Ln={errors:{},statuses:{}};function zn(e=Ln,t){return i({data:Bn,errors:r(Un,Be),meta:Fn,statuses:xn})(e,t)}function Bn(e,t){switch(t.type){case Dn.LoadPaymentMethodSucceeded:return function(e,t,n){if(!t)return e;const i=D(t,"id"),r="object"==typeof n?M(n):n||i,o=h(e,r),a=[...e];if(-1===o)a.push(t);else{const n=e[o];a[o]=tt(n)&&tt(t)?it(n,t):t}return a}(e||[],t.payload,t.payload&&{id:t.payload.id,gateway:t.payload.gateway});case Dn.LoadPaymentMethodsSucceeded:return nt(e,t.payload,{matchObject:(e,t)=>e.id===t.id&&e.gateway===t.gateway});default:return e}}function Fn(e,t){return t.type===Dn.LoadPaymentMethodsSucceeded?it(e,t.meta):e}function Un(e=Ln.errors,t){switch(t.type){case Dn.LoadPaymentMethodsRequested:case Dn.LoadPaymentMethodsSucceeded:return Ue(e,"loadError",void 0);case Dn.LoadPaymentMethodsFailed:return Ue(e,"loadError",t.payload);case Dn.LoadPaymentMethodRequested:case Dn.LoadPaymentMethodSucceeded:return it(e,{loadMethodId:void 0,loadMethodError:void 0});case Dn.LoadPaymentMethodFailed:return it(e,{loadMethodId:t.meta.methodId,loadMethodError:t.payload});default:return e}}function xn(e=Ln.statuses,t){switch(t.type){case Dn.LoadPaymentMethodsRequested:return Ue(e,"isLoading",!0);case Dn.LoadPaymentMethodsSucceeded:case Dn.LoadPaymentMethodsFailed:return Ue(e,"isLoading",!1);case Dn.LoadPaymentMethodRequested:return it(e,{isLoadingMethod:!0,loadMethodId:t.meta.methodId});case Dn.LoadPaymentMethodSucceeded:case Dn.LoadPaymentMethodFailed:return it(e,{isLoadingMethod:!1,loadMethodId:void 0});default:return e}}var qn;!function(e){e.ExecuteFailed="PAYMENT_STRATEGY_EXECUTE_FAILED",e.ExecuteRequested="PAYMENT_STRATEGY_EXECUTE_REQUESTED",e.ExecuteSucceeded="PAYMENT_STRATEGY_EXECUTE_SUCCEEDED",e.FinalizeFailed="PAYMENT_STRATEGY_FINALIZE_FAILED",e.FinalizeRequested="PAYMENT_STRATEGY_FINALIZE_REQUESTED",e.FinalizeSucceeded="PAYMENT_STRATEGY_FINALIZE_SUCCEEDED",e.InitializeFailed="PAYMENT_STRATEGY_INITIALIZE_FAILED",e.InitializeRequested="PAYMENT_STRATEGY_INITIALIZE_REQUESTED",e.InitializeSucceeded="PAYMENT_STRATEGY_INITIALIZE_SUCCEEDED",e.DeinitializeFailed="PAYMENT_STRATEGY_DEINITIALIZE_FAILED",e.DeinitializeRequested="PAYMENT_STRATEGY_DEINITIALIZE_REQUESTED",e.DeinitializeSucceeded="PAYMENT_STRATEGY_DEINITIALIZE_SUCCEEDED",e.WidgetInteractionStarted="PAYMENT_STRATEGY_WIDGET_INTERACTION_STARTED",e.WidgetInteractionFinished="PAYMENT_STRATEGY_WIDGET_INTERACTION_FINISHED",e.WidgetInteractionFailed="PAYMENT_STRATEGY_WIDGET_INTERACTION_FAILED"}(qn||(qn={}));const jn={data:{},errors:{},statuses:{}};function Gn(e=jn,t){return i({data:Vn,errors:r(Hn,Be),statuses:Wn})(e,t)}function Vn(e=jn.data,t){switch(t.type){case qn.InitializeSucceeded:if(t.meta){const{methodId:n,gatewayId:i}=t.meta,r=i?`${n}.${i}`:n;return it(e,{[r]:{isInitialized:!0}})}break;case qn.DeinitializeSucceeded:if(t.meta){const{methodId:n,gatewayId:i}=t.meta,r=i?`${n}.${i}`:n;return it(e,{[r]:{isInitialized:!1}})}}return e}function Hn(e=jn.errors,t){switch(t.type){case qn.InitializeRequested:case qn.InitializeSucceeded:return it(e,{initializeError:void 0,initializeMethodId:void 0});case qn.InitializeFailed:{let n=t.meta&&t.meta.methodId;if(t.meta){const{methodId:e,gatewayId:i}=t.meta;n=i?`${e}.${i}`:e}return it(e,{initializeError:t.payload,initializeMethodId:n})}case qn.DeinitializeRequested:case qn.DeinitializeSucceeded:return it(e,{deinitializeError:void 0,deinitializeMethodId:void 0});case qn.DeinitializeFailed:{let n=t.meta&&t.meta.methodId;if(t.meta){const{methodId:e,gatewayId:i}=t.meta;n=i?`${e}.${i}`:e}return it(e,{deinitializeError:t.payload,deinitializeMethodId:n})}case qn.ExecuteRequested:case qn.ExecuteSucceeded:return it(e,{executeError:void 0,executeMethodId:void 0});case qn.ExecuteFailed:return it(e,{executeError:t.payload,executeMethodId:t.meta&&t.meta.methodId});case qn.FinalizeRequested:case qn.FinalizeSucceeded:return it(e,{finalizeError:void 0,finalizeMethodId:void 0});case qn.FinalizeFailed:return it(e,{finalizeError:t.payload,finalizeMethodId:t.meta&&t.meta.methodId});case qn.WidgetInteractionStarted:case qn.WidgetInteractionFinished:return it(e,{widgetInteractionError:void 0,widgetInteractionMethodId:void 0});case qn.WidgetInteractionFailed:return it(e,{widgetInteractionError:t.payload,widgetInteractionMethodId:t.meta.methodId});default:return e}}function Wn(e=jn.statuses,t){switch(t.type){case qn.InitializeRequested:{let n=t.meta&&t.meta.methodId;if(t.meta){const{methodId:e,gatewayId:i}=t.meta;n=i?`${e}.${i}`:e}return it(e,{isInitializing:!0,initializeMethodId:n})}case qn.InitializeFailed:case qn.InitializeSucceeded:return it(e,{isInitializing:!1,initializeMethodId:void 0});case qn.DeinitializeRequested:{let n=t.meta&&t.meta.methodId;if(t.meta){const{methodId:e,gatewayId:i}=t.meta;n=i?`${e}.${i}`:e}return it(e,{isDeinitializing:!0,deinitializeMethodId:n})}case qn.DeinitializeFailed:case qn.DeinitializeSucceeded:return it(e,{isDeinitializing:!1,deinitializeMethodId:void 0});case qn.ExecuteRequested:return it(e,{isExecuting:!0,executeMethodId:t.meta&&t.meta.methodId});case qn.ExecuteFailed:case qn.ExecuteSucceeded:return it(e,{isExecuting:!1,executeMethodId:void 0});case qn.FinalizeRequested:return it(e,{isFinalizing:!0,finalizeMethodId:t.meta&&t.meta.methodId});case qn.FinalizeFailed:case qn.FinalizeSucceeded:return it(e,{isFinalizing:!1,finalizeMethodId:void 0});case qn.WidgetInteractionStarted:return it(e,{isWidgetInteracting:!0,widgetInteractionMethodId:t.meta.methodId});case qn.WidgetInteractionFinished:case qn.WidgetInteractionFailed:return it(e,{isWidgetInteracting:!1,widgetInteractionMethodId:void 0});default:return e}}var Yn;!function(e){e.LoadInstrumentsRequested="LOAD_INSTRUMENTS_REQUESTED",e.LoadInstrumentsSucceeded="LOAD_INSTRUMENTS_SUCCEEDED",e.LoadInstrumentsFailed="LOAD_INSTRUMENTS_FAILED",e.DeleteInstrumentRequested="DELETE_INSTRUMENT_REQUESTED",e.DeleteInstrumentSucceeded="DELETE_INSTRUMENT_SUCCEEDED",e.DeleteInstrumentFailed="DELETE_INSTRUMENT_FAILED"}(Yn||(Yn={}));const Kn={data:[],errors:{},statuses:{}};function $n(e=Kn,t){return i({data:Zn,errors:r(Qn,Be),meta:Jn,statuses:Xn})(e,t)}function Zn(e=Kn.data,t){return t.type===Yn.LoadInstrumentsSucceeded?nt(e,t.payload&&t.payload.vaultedInstruments||[]):e}function Jn(e,t){switch(t.type){case Yn.LoadInstrumentsSucceeded:case Yn.DeleteInstrumentSucceeded:return it(e,t.meta);default:return e}}function Qn(e=Kn.errors,t){switch(t.type){case Yn.LoadInstrumentsRequested:case Yn.LoadInstrumentsSucceeded:return Ue(e,"loadError",void 0);case Yn.DeleteInstrumentRequested:case Yn.DeleteInstrumentSucceeded:return it(e,{deleteError:void 0,failedInstrument:void 0});case Yn.LoadInstrumentsFailed:return Ue(e,"loadError",t.payload);case Yn.DeleteInstrumentFailed:return it(e,{deleteError:t.payload,failedInstrument:t.meta.instrumentId});default:return e}}function Xn(e=Kn.statuses,t){switch(t.type){case Yn.LoadInstrumentsRequested:return Ue(e,"isLoading",!0);case Yn.DeleteInstrumentRequested:return it(e,{isDeleting:!0,deletingInstrument:t.meta.instrumentId});case Yn.LoadInstrumentsSucceeded:case Yn.LoadInstrumentsFailed:return Ue(e,"isLoading",!1);case Yn.DeleteInstrumentSucceeded:case Yn.DeleteInstrumentFailed:return it(e,{isDeleting:!1,deletingInstrument:void 0});default:return e}}var ei;!function(e){e.UpdatePaymentProviderCustomer="UPDATE_PAYMENT_PROVIDER_CUSTOMER"}(ei||(ei={}));const ti={data:{}};function ni(e=ti,t){return i({data:ii})(e,t)}function ii(e=ti.data,t){return t.type===ei.UpdatePaymentProviderCustomer?it(e,t.payload):e}var ri;!function(e){e.ForgetCheckoutRemoteCustomerRequested="FORGET_CHECKOUT_REMOTE_CUSTOMER_REQUESTED",e.ForgetCheckoutRemoteCustomerSucceeded="FORGET_CHECKOUT_REMOTE_CUSTOMER_SUCCEEDED",e.ForgetCheckoutRemoteCustomerFailed="FORGET_CHECKOUT_REMOTE_CUSTOMER_FAILED",e.InitializeRemoteBillingRequested="INITIALIZE_REMOTE_BILLING_REQUESTED",e.InitializeRemoteBillingSucceeded="INITIALIZE_REMOTE_BILLING_SUCCEEDED",e.InitializeRemoteBillingFailed="INITIALIZE_REMOTE_BILLING_FAILED",e.InitializeRemoteShippingRequested="INITIALIZE_REMOTE_SHIPPING_REQUESTED",e.InitializeRemoteShippingSucceeded="INITIALIZE_REMOTE_SHIPPING_SUCCEEDED",e.InitializeRemoteShippingFailed="INITIALIZE_REMOTE_SHIPPING_FAILED",e.InitializeRemotePaymentRequested="INITIALIZE_REMOTE_PAYMENT_REQUESTED",e.InitializeRemotePaymentSucceeded="INITIALIZE_REMOTE_PAYMENT_SUCCEEDED",e.InitializeRemotePaymentFailed="INITIALIZE_REMOTE_PAYMENT_FAILED",e.LoadRemoteSettingsRequested="LOAD_REMOTE_SETTINGS_REQUESTED",e.LoadRemoteSettingsSucceeded="LOAD_REMOTE_SETTINGS_SUCCEEDED",e.LoadRemoteSettingsFailed="LOAD_REMOTE_SETTINGS_FAILED",e.SignOutRemoteCustomerRequested="SIGN_OUT_REMOTE_CUSTOMER_REQUESTED",e.SignOutRemoteCustomerSucceeded="SIGN_OUT_REMOTE_CUSTOMER_SUCCEEDED",e.SignOutRemoteCustomerFailed="SIGN_OUT_REMOTE_CUSTOMER_FAILED",e.UpdateRemoteCheckout="UPDATE_REMOTE_CHECKOUT"}(ri||(ri={}));const oi={data:{}};function ai(e=oi,t){return t.meta&&t.meta.methodId?i({data:i({[t.meta.methodId]:si})})(e,t):e}function si(e,t){switch(t.type){case ri.InitializeRemoteBillingSucceeded:return Ue(e,"billing",t.payload&&t.payload.billing);case ri.InitializeRemoteShippingSucceeded:return Ue(e,"shipping",t.payload&&t.payload.shipping);case ri.LoadRemoteSettingsSucceeded:return Ue(e,"settings",t.payload);case ri.UpdateRemoteCheckout:return it(e,t.payload);default:return e}}const di={errors:{updateShippingOptionError:{},updateError:{},deleteError:{}},statuses:{isUpdating:{},isUpdatingShippingOption:{},isDeleting:{}}};function ci(e=di,t){return i({data:ui,errors:r(li,Be),statuses:hi})(e,t)}function ui(e,t){var n,i;switch(t.type){case He.LoadCheckoutSucceeded:case at.LoadShippingOptionsSucceeded:case at.CreateConsignmentsSucceeded:case at.UpdateConsignmentSucceeded:case at.DeleteConsignmentSucceeded:case at.UpdateShippingOptionSucceeded:case rt.ApplyCouponSucceeded:case rt.RemoveCouponSucceeded:return nt(e,t.payload&&t.payload.consignments);case Ft.SignOutCustomerSucceeded:return nt(e,[]);case We.HydrateInitialState:return nt(e,null===(i=null===(n=t.payload)||void 0===n?void 0:n.checkout)||void 0===i?void 0:i.consignments);default:return e}}function li(e=di.errors,t){switch(t.type){case He.LoadCheckoutRequested:case He.LoadCheckoutSucceeded:case at.LoadShippingOptionsSucceeded:case at.LoadShippingOptionsRequested:return Ue(e,"loadError",void 0);case He.LoadCheckoutFailed:case at.LoadShippingOptionsFailed:return Ue(e,"loadError",t.payload);case at.CreateConsignmentsRequested:case at.CreateConsignmentsSucceeded:return Ue(e,"createError",void 0);case at.CreateConsignmentsFailed:return Ue(e,"createError",t.payload);case at.UpdateConsignmentSucceeded:case at.UpdateConsignmentRequested:return t.meta?it(e,{updateError:{[t.meta.id]:void 0}}):e;case at.UpdateConsignmentFailed:return t.meta?it(e,{updateError:{[t.meta.id]:t.payload}}):e;case at.DeleteConsignmentSucceeded:case at.DeleteConsignmentRequested:return t.meta?it(e,{deleteError:{[t.meta.id]:void 0}}):e;case at.DeleteConsignmentFailed:return t.meta?it(e,{deleteError:{[t.meta.id]:t.payload}}):e;case at.UpdateShippingOptionRequested:case at.UpdateShippingOptionSucceeded:return t.meta?it(e,{updateShippingOptionError:{[t.meta.id]:void 0}}):e;case at.UpdateShippingOptionFailed:return t.meta?it(e,{updateShippingOptionError:{[t.meta.id]:t.payload}}):e;default:return e}}function hi(e=di.statuses,t){switch(t.type){case He.LoadCheckoutRequested:return Ue(e,"isLoading",!0);case at.LoadShippingOptionsRequested:return Ue(e,"isLoadingShippingOptions",!0);case He.LoadCheckoutSucceeded:case He.LoadCheckoutFailed:return Ue(e,"isLoading",!1);case at.LoadShippingOptionsSucceeded:case at.LoadShippingOptionsFailed:return Ue(e,"isLoadingShippingOptions",!1);case at.CreateConsignmentsRequested:return Ue(e,"isCreating",!0);case at.CreateConsignmentsSucceeded:case at.CreateConsignmentsFailed:return Ue(e,"isCreating",!1);case at.UpdateConsignmentRequested:return t.meta?it(e,{isUpdating:{[t.meta.id]:!0}}):e;case at.UpdateConsignmentSucceeded:case at.UpdateConsignmentFailed:return t.meta?it(e,{isUpdating:{[t.meta.id]:!1}}):e;case at.DeleteConsignmentRequested:return t.meta?it(e,{isDeleting:{[t.meta.id]:!0}}):e;case at.DeleteConsignmentSucceeded:case at.DeleteConsignmentFailed:return t.meta?it(e,{isDeleting:{[t.meta.id]:!1}}):e;case at.UpdateShippingOptionRequested:return t.meta?it(e,{isUpdatingShippingOption:{[t.meta.id]:!0}}):e;case at.UpdateShippingOptionSucceeded:case at.UpdateShippingOptionFailed:return t.meta?it(e,{isUpdatingShippingOption:{[t.meta.id]:!1}}):e;default:return e}}function pi(e,t){const n={};return Object.keys(e).forEach(i=>{const r=e[i],o=t?`${t}.${i}`:i;"object"==typeof r?Object.assign(n,pi(r,o)):n[o]=r}),n}function gi(e){return Object.keys(e).sort().reduce((t,n)=>Object.assign(Object.assign({},t),{[n]:e[n]}),{})}var mi;!function(e){e.LoadPickupOptionsRequested="LOAD_PICKUP_OPTIONS_REQUESTED",e.LoadPickupOptionsSucceeded="LOAD_PICKUP_OPTIONS_SUCCEEDED",e.LoadPickupOptionsFailed="LOAD_PICKUP_OPTIONS_FAILED"}(mi||(mi={}));const yi={errors:{},statuses:{}};function fi(e=yi,t){return i({data:_i,errors:r(Si,Be),statuses:vi})(e,t)}function _i(e,t){if(t.type!==mi.LoadPickupOptionsSucceeded)return e;if(t.meta){const n=gi(pi({consignmentId:t.meta.consignmentId,searchArea:t.meta.searchArea}));return Ue(e,btoa(`${JSON.stringify(n)}`),t.payload)}}function Si(e=yi.errors,t){switch(t.type){case mi.LoadPickupOptionsRequested:case mi.LoadPickupOptionsSucceeded:return Ue(e,"loadError",void 0);case mi.LoadPickupOptionsFailed:return Ue(e,"loadError",t.payload);default:return e}}function vi(e=yi.statuses,t){switch(t.type){case mi.LoadPickupOptionsRequested:return Ue(e,"isLoading",!0);case mi.LoadPickupOptionsSucceeded:case mi.LoadPickupOptionsFailed:return Ue(e,"isLoading",!1);default:return e}}var Ci;!function(e){e.LoadShippingCountriesRequested="LOAD_SHIPPING_COUNTRIES_REQUESTED",e.LoadShippingCountriesSucceeded="LOAD_SHIPPING_COUNTRIES_SUCCEEDED",e.LoadShippingCountriesFailed="LOAD_SHIPPING_COUNTRIES_FAILED"}(Ci||(Ci={}));const Ii={errors:{},statuses:{}};function wi(e=Ii,t){return i({data:bi,errors:r(Ei,Be),statuses:Pi})(e,t)}function bi(e,t){return t.type===Ci.LoadShippingCountriesSucceeded?nt(e,t.payload):e}function Ei(e=Ii.errors,t){switch(t.type){case Ci.LoadShippingCountriesRequested:case Ci.LoadShippingCountriesSucceeded:return Ue(e,"loadError",void 0);case Ci.LoadShippingCountriesFailed:return Ue(e,"loadError",t.payload);default:return e}}function Pi(e=Ii.statuses,t){switch(t.type){case Ci.LoadShippingCountriesRequested:return Ue(e,"isLoading",!0);case Ci.LoadShippingCountriesSucceeded:case Ci.LoadShippingCountriesFailed:return Ue(e,"isLoading",!1);default:return e}}var Oi;!function(e){e.UpdateAddressFailed="SHIPPING_STRATEGY_UPDATE_ADDRESS_FAILED",e.UpdateAddressRequested="SHIPPING_STRATEGY_UPDATE_ADDRESS_REQUESTED",e.UpdateAddressSucceeded="SHIPPING_STRATEGY_UPDATE_ADDRESS_SUCCEEDED",e.SelectOptionFailed="SHIPPING_STRATEGY_SELECT_OPTION_FAILED",e.SelectOptionRequested="SHIPPING_STRATEGY_SELECT_OPTION_REQUESTED",e.SelectOptionSucceeded="SHIPPING_STRATEGY_SELECT_OPTION_SUCCEEDED",e.InitializeFailed="SHIPPING_STRATEGY_INITIALIZE_FAILED",e.InitializeRequested="SHIPPING_STRATEGY_INITIALIZE_REQUESTED",e.InitializeSucceeded="SHIPPING_STRATEGY_INITIALIZE_SUCCEEDED",e.DeinitializeFailed="SHIPPING_STRATEGY_DEINITIALIZE_FAILED",e.DeinitializeRequested="SHIPPING_STRATEGY_DEINITIALIZE_REQUESTED",e.DeinitializeSucceeded="SHIPPING_STRATEGY_DEINITIALIZE_SUCCEEDED",e.WidgetInteractionStarted="SHIPPING_STRATEGY_WIDGET_INTERACTION_STARTED",e.WidgetInteractionFinished="SHIPPING_STRATEGY_WIDGET_INTERACTION_FINISHED",e.WidgetInteractionFailed="SHIPPING_STRATEGY_WIDGET_INTERACTION_FAILED"}(Oi||(Oi={}));const Ai={data:{},errors:{},statuses:{}};function Ti(e=Ai,t){return i({data:ki,errors:r(Ri,Be),statuses:Di})(e,t)}function ki(e=Ai.data,t){switch(t.type){case Oi.InitializeSucceeded:return it(e,{[t.meta&&t.meta.methodId]:{isInitialized:!0}});case Oi.DeinitializeSucceeded:return it(e,{[t.meta&&t.meta.methodId]:{isInitialized:!1}})}return e}function Ri(e=Ai.errors,t){switch(t.type){case Oi.InitializeRequested:case Oi.InitializeSucceeded:return it(e,{initializeError:void 0,initializeMethodId:void 0});case Oi.InitializeFailed:return it(e,{initializeError:t.payload,initializeMethodId:t.meta&&t.meta.methodId});case Oi.DeinitializeRequested:case Oi.DeinitializeSucceeded:return it(e,{deinitializeError:void 0,deinitializeMethodId:void 0});case Oi.DeinitializeFailed:return it(e,{deinitializeError:t.payload,deinitializeMethodId:t.meta&&t.meta.methodId});case Oi.UpdateAddressRequested:case Oi.UpdateAddressSucceeded:return it(e,{updateAddressError:void 0,updateAddressMethodId:void 0});case Oi.UpdateAddressFailed:return it(e,{updateAddressError:t.payload,updateAddressMethodId:t.meta&&t.meta.methodId});case Oi.SelectOptionRequested:case Oi.SelectOptionSucceeded:return it(e,{selectOptionError:void 0,selectOptionMethodId:void 0});case Oi.SelectOptionFailed:return it(e,{selectOptionError:t.payload,selectOptionMethodId:t.meta&&t.meta.methodId});case Oi.WidgetInteractionStarted:case Oi.WidgetInteractionFinished:return it(e,{widgetInteractionError:void 0,widgetInteractionMethodId:void 0});case Oi.WidgetInteractionFailed:return it(e,{widgetInteractionError:t.payload,widgetInteractionMethodId:t.meta&&t.meta.methodId});default:return e}}function Di(e=Ai.statuses,t){switch(t.type){case Oi.InitializeRequested:return it(e,{isInitializing:!0,initializeMethodId:t.meta&&t.meta.methodId});case Oi.InitializeFailed:case Oi.InitializeSucceeded:return it(e,{isInitializing:!1,initializeMethodId:void 0});case Oi.DeinitializeRequested:return it(e,{isDeinitializing:!0,deinitializeMethodId:t.meta&&t.meta.methodId});case Oi.DeinitializeFailed:case Oi.DeinitializeSucceeded:return it(e,{isDeinitializing:!1,deinitializeMethodId:void 0});case Oi.UpdateAddressRequested:return it(e,{isUpdatingAddress:!0,updateAddressMethodId:t.meta&&t.meta.methodId});case Oi.UpdateAddressFailed:case Oi.UpdateAddressSucceeded:return it(e,{isUpdatingAddress:!1,updateAddressMethodId:void 0});case Oi.SelectOptionRequested:return it(e,{isSelectingOption:!0,selectOptionMethodId:t.meta&&t.meta.methodId});case Oi.SelectOptionFailed:case Oi.SelectOptionSucceeded:return it(e,{isSelectingOption:!1,selectOptionMethodId:void 0});case Oi.WidgetInteractionStarted:return it(e,{isWidgetInteracting:!0,widgetInteractionMethodId:t.meta&&t.meta.methodId});case Oi.WidgetInteractionFinished:case Oi.WidgetInteractionFailed:return it(e,{isWidgetInteracting:!1,widgetInteractionMethodId:void 0});default:return e}}var Mi;!function(e){e.SendSignInEmailRequested="SEND_SIGNIN_EMAIL_REQUESTED",e.SendSignInEmailSucceeded="SEND_SIGNIN_EMAIL_SUCCEEDED",e.SendSignInEmailFailed="SEND_SIGNIN_EMAIL_FAILED"}(Mi||(Mi={}));const Ni={errors:{},statuses:{}};function Li(e=Ni,t){return i({data:zi,errors:r(Bi,Be),statuses:Fi})(e,t)}function zi(e,t){return t.type===Mi.SendSignInEmailSucceeded?it(e,t.payload):e}function Bi(e=Ni.errors,t){switch(t.type){case Mi.SendSignInEmailRequested:case Mi.SendSignInEmailSucceeded:return Ue(e,"sendError",void 0);case Mi.SendSignInEmailFailed:return Ue(e,"sendError",t.payload);default:return e}}function Fi(e=Ni.statuses,t){switch(t.type){case Mi.SendSignInEmailRequested:return Ue(e,"isSending",!0);case Mi.SendSignInEmailFailed:case Mi.SendSignInEmailSucceeded:return Ue(e,"isSending",!1);default:return e}}var Ui;!function(e){e.ApplyStoreCreditRequested="APPLY_STORE_CREDIT_REQUESTED",e.ApplyStoreCreditSucceeded="APPLY_STORE_CREDIT_SUCCEEDED",e.ApplyStoreCreditFailed="APPLY_STORE_CREDIT_FAILED"}(Ui||(Ui={}));const xi={errors:{},statuses:{}};function qi(e=xi,t){return i({errors:r(ji,Be),statuses:Gi})(e,t)}function ji(e=xi.errors,t){switch(t.type){case Ui.ApplyStoreCreditRequested:case Ui.ApplyStoreCreditSucceeded:return Ue(e,"applyError",void 0);case Ui.ApplyStoreCreditFailed:return Ue(e,"applyError",t.payload);default:return e}}function Gi(e=xi.statuses,t){switch(t.type){case Ui.ApplyStoreCreditRequested:return Ue(e,"isApplying",!0);case Ui.ApplyStoreCreditSucceeded:case Ui.ApplyStoreCreditFailed:return Ue(e,"isApplying",!1);default:return e}}const Vi={errors:{},statuses:{}};function Hi(e=Vi,t){return i({errors:r(Wi,Be),statuses:Yi})(e,t)}function Wi(e=Vi.errors,t){switch(t.type){case Ye.UpdateSubscriptionsRequested:case Ye.UpdateSubscriptionsSucceeded:return Ue(e,"updateError",void 0);case Ye.UpdateSubscriptionsFailed:return Ue(e,"updateError",t.payload);default:return e}}function Yi(e=Vi.statuses,t){switch(t.type){case Ye.UpdateSubscriptionsRequested:return Ue(e,"isUpdating",!0);case Ye.UpdateSubscriptionsFailed:case Ye.UpdateSubscriptionsSucceeded:return Ue(e,"isUpdating",!1);default:return e}}var Ki;!function(e){e.InitializeFailed="SPAM_PROTECTION_INITIALIZE_FAILED",e.InitializeSucceeded="SPAM_PROTECTION_INITIALIZE_SUCCEEDED",e.InitializeRequested="SPAM_PROTECTION_INITIALIZE_REQUESTED",e.VerifyCheckoutRequested="SPAM_PROTECTION_CHECKOUT_VERIFY_REQUESTED",e.VerifyCheckoutSucceeded="SPAM_PROTECTION_CHECKOUT_VERIFY_SUCCEEDED",e.VerifyCheckoutFailed="SPAM_PROTECTION_CHECKOUT_VERIFY_FAILED",e.ExecuteRequested="SPAM_PROTECTION_EXECUTE_REQUESTED",e.ExecuteSucceeded="SPAM_PROTECTION_EXECUTE_SUCCEEDED",e.ExecuteFailed="SPAM_PROTECTION_EXECUTE_FAILED"}(Ki||(Ki={}));const $i={errors:{},statuses:{}};function Zi(e=$i,t){return i({data:Ji,errors:r(Qi,Be),statuses:Xi})(e,t)}function Ji(e,t){var n;switch(t.type){case He.LoadCheckoutSucceeded:case He.UpdateCheckoutSucceeded:case Ui.ApplyStoreCreditSucceeded:case Ke.UpdateBillingAddressSucceeded:case rt.ApplyCouponSucceeded:case rt.RemoveCouponSucceeded:case at.CreateConsignmentsSucceeded:case at.UpdateConsignmentSucceeded:case at.DeleteConsignmentSucceeded:case at.UpdateShippingOptionSucceeded:case at.LoadShippingOptionsSucceeded:case ot.ApplyGiftCertificateSucceeded:case ot.RemoveGiftCertificateSucceeded:case Ki.VerifyCheckoutSucceeded:return it(e,k(t.payload,["billingAddress","cart","consignments","customer","coupons","giftCertificates"]));case He.DeleteCheckoutSucceeded:return;case Ot.SubmitOrderSucceeded:return Ue(e,"orderId",t.payload&&t.payload.order.orderId);case We.HydrateInitialState:return it(e,k(null===(n=t.payload)||void 0===n?void 0:n.checkout,["billingAddress","cart","consignments","customer","coupons","giftCertificates"]));default:return e}}function Qi(e=$i.errors,t){switch(t.type){case He.LoadCheckoutRequested:case He.LoadCheckoutSucceeded:return Ue(e,"loadError",void 0);case He.LoadCheckoutFailed:return Ue(e,"loadError",t.payload);case He.UpdateCheckoutRequested:case He.UpdateCheckoutSucceeded:return Ue(e,"updateError",void 0);case He.UpdateCheckoutFailed:return Ue(e,"updateError",t.payload);case He.DeleteCheckoutRequested:case He.DeleteCheckoutSucceeded:return Ue(e,"deleteError",void 0);case He.DeleteCheckoutFailed:return Ue(e,"deleteError",t.payload);default:return e}}function Xi(e=$i.statuses,t){switch(t.type){case He.LoadCheckoutRequested:return Ue(e,"isLoading",!0);case He.LoadCheckoutFailed:case He.LoadCheckoutSucceeded:return Ue(e,"isLoading",!1);case He.UpdateCheckoutRequested:return Ue(e,"isUpdating",!0);case He.UpdateCheckoutFailed:case He.UpdateCheckoutSucceeded:return Ue(e,"isUpdating",!1);case He.DeleteCheckoutRequested:return Ue(e,"isDeleting",!0);case He.DeleteCheckoutFailed:case He.DeleteCheckoutSucceeded:return Ue(e,"isDeleting",!1);case Ki.ExecuteRequested:return Ue(e,"isExecutingSpamCheck",!0);case Ki.ExecuteFailed:case Ki.ExecuteSucceeded:return Ue(e,"isExecutingSpamCheck",!1);default:return e}}const er=(tr=ce,(...e)=>{const t=e.pop();return tr(...e,(...e)=>{const n=t(...e);return"function"==typeof n?se(n):n})});var tr,nr;!function(e){e[e.MissingB2BConfig=0]="MissingB2BConfig",e[e.MissingBillingAddress=1]="MissingBillingAddress",e[e.MissingCart=2]="MissingCart",e[e.MissingCheckout=3]="MissingCheckout",e[e.MissingConsignments=4]="MissingConsignments",e[e.MissingCustomer=5]="MissingCustomer",e[e.MissingCheckoutConfig=6]="MissingCheckoutConfig",e[e.MissingOrder=7]="MissingOrder",e[e.MissingOrderConfig=8]="MissingOrderConfig",e[e.MissingOrderId=9]="MissingOrderId",e[e.MissingPayment=10]="MissingPayment",e[e.MissingPaymentId=11]="MissingPaymentId",e[e.MissingPaymentInstrument=12]="MissingPaymentInstrument",e[e.MissingPaymentMethod=13]="MissingPaymentMethod",e[e.MissingPaymentProviderCustomer=14]="MissingPaymentProviderCustomer",e[e.MissingPaymentRedirectUrl=15]="MissingPaymentRedirectUrl",e[e.MissingPaymentStatus=16]="MissingPaymentStatus",e[e.MissingPaymentToken=17]="MissingPaymentToken",e[e.MissingShippingAddress=18]="MissingShippingAddress",e[e.MissingB2BToken=19]="MissingB2BToken",e[e.MissingB2BStorefrontToken=20]="MissingB2BStorefrontToken"}(nr||(nr={}));class ir extends Ee{constructor(e){super(function(e){switch(e){case nr.MissingB2BConfig:return"Unable to proceed because B2B configuration is unavailable.";case nr.MissingBillingAddress:return"Unable to proceed because billing address data is unavailable.";case nr.MissingCart:return"Unable to proceed because cart data is unavailable.";case nr.MissingConsignments:return"Unable to proceed because consignments data is unavailable.";case nr.MissingCheckout:return"Unable to proceed because checkout data is unavailable.";case nr.MissingCustomer:return"Unable to proceed because customer data is unavailable.";case nr.MissingCheckoutConfig:case nr.MissingOrderConfig:return"Unable to proceed because configuration data is unavailable.";case nr.MissingOrder:return"Unable to proceed because order data is unavailable.";case nr.MissingOrderId:return"Unable to proceed because order ID is unavailable or not generated yet.";case nr.MissingPayment:return"Unable to proceed because payment data is unavailable.";case nr.MissingPaymentToken:return"Unable to proceed because the token required to submit a payment is missing.";case nr.MissingPaymentMethod:return"Unable to proceed because payment method data is unavailable or not properly configured.";case nr.MissingPaymentProviderCustomer:return"Unable to proceed because payment provider customer is unavailable.";case nr.MissingShippingAddress:return"Unable to proceed because shipping address data is unavailable.";case nr.MissingB2BToken:return"Unable to proceed because the B2B token is unavailable. `getB2BToken` must be called first.";case nr.MissingB2BStorefrontToken:return"Unable to proceed because the B2B Edition API did not return a storefront token.";default:return"Unable to proceed because the required data is unavailable."}}(e)),this.subtype=e,this.name="MissingDataError",this.type="missing_data"}}function rr(e,t){if(null==e)throw t?t():new Error("An unexpected error has occurred.");return e}function or(e){return function(e){const t=Object.create(e);return function(e,t){let n=Object.getPrototypeOf(e);for(;n;)t(n),n=Object.getPrototypeOf(n)}(e,n=>{Object.getOwnPropertyNames(n).forEach(n=>{"constructor"!==n&&"function"==typeof t[n]&&"_"!==n.charAt(0)&&(t[n]=((e,t)=>(...n)=>d(e[t].call(e,...n)))(e,n))})}),t}(e)}const ar="b2bExtraField_";function sr(e){var t;const{fieldType:n,type:i}=function(e){switch(e){case"multiline_text":return{fieldType:"multiline",type:"string"};case"number":return{fieldType:"text",type:"integer"};case"dropdown":return{fieldType:"dropdown",type:"array"};default:return{fieldType:"text",type:"string"}}}(e.type);let r;return e.config.numberOfRows&&(r={rows:e.config.numberOfRows}),(null===(t=e.config.options)||void 0===t?void 0:t.length)&&(r=Object.assign(Object.assign({},r),{items:e.config.options.map(e=>({value:e,label:e}))})),{id:`${ar}${e.id}`,name:`${ar}${e.id}`,custom:!1,label:e.name,hidden:!e.visibleToStorefront,required:e.isRequired,default:null!=e.config.defaultValue?String(e.config.defaultValue):void 0,fieldType:n,type:i,maxLength:e.config.maxLength,max:e.config.maxValue,options:r}}const dr={"mollie.credit_card":{provider:"mollie",method:"credit_card"},"adyenv2.scheme":{provider:"adyenv2",method:"scheme"},"adyenv3.scheme":{provider:"adyenv3",method:"scheme"},"adyenv2.bcmc":{provider:"adyenv2",method:"bcmc"},"adyenv2.ideal":{provider:"adyenv2",method:"ideal"},"adyenv2.sepadirectdebit":{provider:"adyenv2",method:"sepadirectdebit"},"adyenv2.directEbanking":{provider:"adyenv2",method:"directEbanking"},"adyenv2.giropay":{provider:"adyenv2",method:"giropay"},braintree:{provider:"braintree",method:"credit_card"},braintreepaypal:{provider:"braintree",method:"paypal"},braintreeach:{provider:"braintree",method:"ach"},authorizenet:{provider:"authorizenet",method:"credit_card"},elavon:{provider:"elavon",method:"credit_card"},checkoutcom:{provider:"checkoutcom",method:"credit_card"},"checkoutcom.credit_card":{provider:"checkoutcom",method:"credit_card"},"checkoutcom.card":{provider:"checkoutcom",method:"card"},sagepay:{provider:"sagepay",method:"credit_card"},stripe:{provider:"stripe",method:"credit_card"},"stripev3.card":{provider:"stripev3",method:"card"},"stripeupe.card":{provider:"stripeupe",method:"card"},cybersource:{provider:"cybersource",method:"credit_card"},cybersourcev2:{provider:"cybersourcev2",method:"credit_card"},bnz:{provider:"bnz",method:"credit_card"},converge:{provider:"converge",method:"credit_card"},bluesnapv2:{provider:"bluesnapv2",method:"credit_card"},"bluesnapdirect.credit_card":{provider:"bluesnapdirect",method:"credit_card"},"bluesnapdirect.ecp":{provider:"bluesnapdirect",method:"ecp"},"bluesnapdirect.sepa_direct_debit":{provider:"bluesnapdirect",method:"sepa_direct_debit"},orbital:{provider:"orbital",method:"credit_card"},paymetric:{provider:"paymetric",method:"credit_card"},bolt:{provider:"bolt",method:"credit_card"},moneris:{provider:"moneris",method:"credit_card"},cba_mpgs:{provider:"cba_mpgs",method:"credit_card"},worldpayaccess:{provider:"worldpayaccess",method:"credit_card"},"worldpayaccess.credit_card":{provider:"worldpayaccess",method:"credit_card"},squarev2:{provider:"squarev2",method:"credit_card"},paypalcommercecreditcards:{provider:"paypalcommerce",method:"credit_card"},paypalcommerce:{provider:"paypalcommerce",method:"paypal"},bigcommerce_payments_creditcards:{provider:"bigcommerce_payments",method:"credit_card"},bigcommerce_payments:{provider:"bigcommerce_payments",method:"paypal"},tdonlinemart:{provider:"tdonlinemart",method:"credit_card"}};function cr(e){return M({firstName:e.firstName,lastName:e.lastName,company:e.company,address1:e.address1,address2:e.address2,city:e.city,stateOrProvince:e.stateOrProvince,countryCode:e.countryCode,postalCode:e.postalCode,phone:e.phone,customFields:e.customFields},g)}const ur={errors:{},statuses:{}};function lr(){const e=function(){const e=er(e=>{var t;return null===(t=e.data)||void 0===t?void 0:t.receiptId},e=>()=>e),t=er(e=>e.errors.persistB2bMetadataError,e=>()=>e),n=er(e=>!!e.statuses.isPersisting,e=>()=>e);return de((i=Pn)=>({getReceiptId:e(i),getPersistError:t(i),isPersisting:n(i)}))}(),t=function(){const e=er(e=>{var t;return null===(t=e.data)||void 0===t?void 0:t.token},e=>()=>e),t=er(e=>e.errors.loadError,e=>()=>e),n=er(e=>!!e.statuses.isLoading,e=>()=>e);return de((i=xe)=>({getToken:e(i),getLoadError:t(i),isLoading:n(i)}))}(),n=function(){const e=er(e=>e.data,e=>()=>e),t=er(e,e=>()=>rr(e(),()=>new ir(nr.MissingBillingAddress))),n=er(e=>e.errors.updateError,e=>()=>e),i=er(e=>e.errors.continueAsGuestError,e=>()=>e),r=er(e=>e.errors.loadError,e=>()=>e),o=er(e=>!!e.statuses.isUpdating,e=>()=>e),a=er(e=>!!e.statuses.isContinuingAsGuest,e=>()=>e),s=er(e=>!!e.statuses.isLoading,e=>()=>e);return de((d=Ze)=>({getBillingAddress:e(d),getBillingAddressOrThrow:t(d),getUpdateError:n(d),getContinueAsGuestError:i(d),getLoadError:r(d),isUpdating:o(d),isContinuingAsGuest:a(d),isLoading:s(d)}))}(),i=function(){const e=er(e=>e.data,e=>()=>e),t=er(e,e=>()=>rr(e(),()=>new ir(nr.MissingCart))),n=er(e=>e.errors.loadError,e=>()=>e),i=er(e=>!!e.statuses.isLoading,e=>()=>e),r=er(e=>{var t;return null===(t=e.data)||void 0===t?void 0:t.locale},e=>()=>e);return de((o=st)=>({getCart:e(o),getCartOrThrow:t(o),getLoadError:n(o),isLoading:i(o),getLocale:r(o)}))}(),r=function(){const e=er(e=>e,e=>()=>e),t=er(e=>e.statuses,e=>se(t=>{if(t){const n=e[t];return!0===(n&&n.isInitializing)}return z(e,{isInitializing:!0})})),n=er(e=>e.data,e=>se((t,n)=>{const i=e[t];return!!i&&(n?!0===i.initializedContainers[n]:z(i.initializedContainers,e=>!0===e))})),i=er(e=>e.statuses,e=>se(t=>{if(t){const n=e[t];return!0===(n&&n.isDeinitializing)}return z(e,{isDeinitializing:!0})})),r=er(e=>e.errors,e=>se(t=>{const n=t?e[t]:l(q(e),e=>!(!e||!e.initializeError));return n&&n.initializeError})),o=er(e=>e.errors,e=>se(t=>{const n=t?e[t]:l(q(e),e=>!(!e||!e.deinitializeError));return n&&n.deinitializeError}));return de((a=pt)=>({getState:e(a),isInitializing:t(a),isInitialized:n(a),isDeinitializing:i(a),getInitializeError:r(a),getDeinitializeError:o(a)}))}(),o=function(){const e=er(e=>e.data,e=>()=>e),t=er(e=>e.data,e=>t=>{if(!e)return;const{flashMessages:n}=e.context;return n?void 0!==t?n.filter(({type:e})=>t===e):n:void 0}),n=er(e=>e.data,(e,{formState:t})=>t&&t.data,(e,t={customerAccount:[],shippingAddress:[],billingAddress:[]})=>()=>e?Object.assign(Object.assign({},e.storeConfig),{formFields:t}):void 0),i=er(n,e=>()=>rr(e(),()=>new ir(nr.MissingCheckoutConfig))),r=er(e=>e.data&&e.data.context,e=>()=>e),o=er(e=>e.meta&&e.meta.externalSource,e=>()=>e),a=er(e=>{var t;return null===(t=e.meta)||void 0===t?void 0:t.host},e=>()=>e),s=er(e=>{var t;return null===(t=e.meta)||void 0===t?void 0:t.locale},e=>()=>e),d=er(e=>e.meta&&e.meta.variantIdentificationToken,e=>()=>e),c=er(e=>e.errors.loadError,e=>()=>e),u=er(e=>!!e.statuses.isLoading,e=>()=>e);return de((l=It,h)=>({getConfig:e(l),getFlashMessages:t(l),getStoreConfig:n(l,{formState:h}),getStoreConfigOrThrow:i(l,{formState:h}),getContextConfig:r(l),getExternalSource:o(l),getHost:a(l),getLocale:s(l),getVariantIdentificationToken:d(l),getLoadError:c(l),isLoading:u(l)}))}(),a=function(){const e=er(e=>e.data,e=>()=>e),t=er(e=>e.errors.loadError,e=>()=>e),n=er(e=>!!e.statuses.isLoading,e=>()=>e);return de((i=ln)=>({getCountries:e(i),getLoadError:t(i),isLoading:n(i)}))}(),s=function(){const e=er(e=>e.data,e=>()=>e),t=er(e=>e.errors.removeCouponError,e=>()=>e),n=er(e=>e.errors.applyCouponError,e=>()=>e),i=er(e=>!!e.statuses.isApplyingCoupon,e=>()=>e),r=er(e=>!!e.statuses.isRemovingCoupon,e=>()=>e);return de((o=At)=>({getCoupons:e(o),getRemoveError:t(o),getApplyError:n(o),isApplying:i(o),isRemoving:r(o)}))}(),d=function(){const e=er(e=>e.data,e=>()=>e),t=er(e,e=>()=>rr(e(),()=>new ir(nr.MissingCustomer))),n=er(e=>e.errors.createError,e=>()=>e),i=er(e=>!!e.statuses.isCreating,e=>()=>e),r=er(e=>e.errors.createAddressError,e=>()=>e),o=er(e=>!!e.statuses.isCreatingAddress,e=>()=>e);return de((a=Ut)=>({getCustomer:e(a),getCustomerOrThrow:t(a),getCreateAccountError:n(a),isCreatingCustomerAccount:i(a),getCreateAddressError:r(a),isCreatingCustomerAddress:o(a)}))}(),c=function(){const e=er(e=>e.errors.signInMethodId,e=>e.errors.signInError,(e,t)=>n=>{if(!n||e===n)return t}),t=er(e=>e.errors.signOutMethodId,e=>e.errors.signOutError,(e,t)=>n=>{if(!n||e===n)return t}),n=er(e=>e.errors.executePaymentMethodCheckoutMethodId,e=>e.errors.executePaymentMethodCheckoutError,(e,t)=>n=>{if(!n||e===n)return t}),i=er(e=>e.errors.initializeMethodId,e=>e.errors.initializeErrors,(e,t)=>n=>{if(e&&t)return n?t[n]:t[e]}),r=er(e=>e.errors.widgetInteractionMethodId,e=>e.errors.widgetInteractionError,(e,t)=>n=>{if(!n||e===n)return t}),o=er(e=>e.statuses.signInMethodId,e=>e.statuses.isSigningIn,(e,t)=>n=>!(n&&e!==n||!t)),a=er(e=>e.statuses.signOutMethodId,e=>e.statuses.isSigningOut,(e,t)=>n=>!(n&&e!==n||!t)),s=er(e=>e.statuses.executePaymentMethodCheckoutMethodId,e=>e.statuses.isExecutingPaymentMethodCheckout,(e,t)=>n=>!(n&&e!==n||!t)),d=er(e=>e.statuses.initializeMethodId,e=>e.statuses.isInitializing,(e,t)=>n=>!(n&&e!==n||!t)),c=er(e=>e.data,e=>t=>!(!e[t]||!e[t].isInitialized)),u=er(e=>e.statuses.widgetInteractionMethodId,e=>e.statuses.isWidgetInteracting,(e,t)=>n=>!(n&&e!==n||!t));return de((l=Ht)=>({getSignInError:e(l),getSignOutError:t(l),getExecutePaymentMethodCheckoutError:n(l),getInitializeError:i(l),getWidgetInteractionError:r(l),isSigningIn:o(l),isSigningOut:a(l),isExecutingPaymentMethodCheckout:s(l),isInitializing:d(l),isInitialized:c(l),isWidgetInteracting:u(l)}))}(),h=function(){const e=er(e=>e.data,e=>()=>e),t=er(e=>e.errors.removeGiftCertificateError,e=>()=>e),n=er(e=>e.errors.applyGiftCertificateError,e=>()=>e),i=er(e=>!!e.statuses.isApplyingGiftCertificate,e=>()=>e),r=er(e=>!!e.statuses.isRemovingGiftCertificate,e=>()=>e);return de((o=Mt)=>({getGiftCertificates:e(o),getRemoveError:t(o),getApplyError:n(o),isApplying:i(o),isRemoving:r(o)}))}(),g=function(){const e=er(e=>e.data,e=>t=>{if(!e)return;const n=t.gateway?`${t.gateway}.${t.id}`:t.id,i=dr[n];return i?u(e,i):[]}),t=er(e=>e.data,(e=[])=>t=>{const n=q(dr);return e.find(e=>e.bigpayToken===t&&"card"===e.type&&n.some(t=>S(e,t)))}),n=er(t,e=>t=>rr(e(t),()=>new ir(nr.MissingPaymentInstrument))),i=er(e=>e.data,e=>()=>{if(e)return p(dr,t=>u(e,e=>S(e,t)))}),r=er(e=>e.meta,e=>()=>e),o=er(e=>e.errors.loadError,e=>()=>e),a=er(e=>e.errors.failedInstrument,e=>e.errors.deleteError,(e,t)=>n=>{if(!n||e===n)return t}),s=er(e=>e.statuses.isLoading,e=>()=>!!e),d=er(e=>e.statuses.deletingInstrument,e=>e.statuses.isDeleting,(e,t)=>n=>!(n&&e!==n||!t));return de((c=Kn)=>({getCardInstrument:t(c),getCardInstrumentOrThrow:n(c),getInstruments:i(c),getInstrumentsByPaymentMethod:e(c),getInstrumentsMeta:r(c),getLoadError:o(c),getDeleteError:a(c),isLoading:s(c),isDeleting:d(c)}))}(),m=function(){const e=er(e=>e.data,e=>(t=[],n)=>{const i=l(t,{code:n});return(e?e.shippingAddress:[]).map(e=>s(e,t,i))}),t=er(e=>e.data,e=>(t=[],n)=>{const i=l(t,{code:n});return(e?e.billingAddress:[]).map(e=>s(e,t,i))}),n=er(e=>e.data,e=>()=>e?e.customerAccount:[]),i=er(e=>e.extraFields,e=>()=>e&&e.address.length?e.address.map(sr):[]),r=er(e=>e.extraFields,e=>()=>e&&e.order.length?e.order.map(sr):[]),o=er(e=>e.errors.loadError,e=>()=>e),a=er(e=>!!e.statuses.isLoading,e=>()=>e);function s(e,t,n){return"countryCode"===e.name?function(e,t=[],n){if(!t.length)return e;const{code:i=""}=n||{},r=t.map(({code:e,name:t})=>({value:e,label:t}));return Object.assign(Object.assign({},e),{options:{items:r},default:i,type:"array",fieldType:"dropdown",itemtype:"string"})}(e,t,n):"stateOrProvince"===e.name?function(e,t){const{subdivisions:n=[],requiresState:i}=t||{};if(!n.length)return Object.assign(Object.assign({},e),{required:null!=i&&i});const r=n.map(({code:e,name:t})=>({value:e,label:t}));return Object.assign(Object.assign({},e),{name:"stateOrProvinceCode",options:{items:r},required:null==i||i,type:"array",fieldType:"dropdown",itemtype:"string"})}(e,n):"postalCode"===e.name?function(e,t){const{hasPostalCodes:n=[]}=t||{};return void 0===n?e:Object.assign(Object.assign({},e),{required:Boolean(n)})}(e,n):e}return de((s=rn)=>({getShippingAddressFields:e(s),getBillingAddressFields:t(s),getCustomerAccountFields:n(s),getAddressExtraFields:i(s),getOrderExtraFields:r(s),getLoadError:o(s),isLoading:a(s)}))}(),y=function(){const e=er(e=>e.data,e=>()=>e),t=er(e=>e.meta,e=>()=>e),n=er(e=>e.data,e=>(t,n)=>l(e,n?{id:t,gateway:n}:{id:t})),i=er(n,e=>(t,n)=>rr(e(t,n),()=>new ir(nr.MissingPaymentMethod))),r=er(e=>e.errors.loadError,e=>()=>e),o=er(e=>e.errors.loadMethodId,e=>e.errors.loadMethodError,(e,t)=>n=>{if(!n||e===n)return t}),a=er(e=>e.statuses.isLoading,e=>()=>!!e),s=er(e=>e.statuses.loadMethodId,e=>e.statuses.isLoadingMethod,(e,t)=>n=>!(n&&e!==n||!t));return de((d=Ln)=>({getPaymentMethods:e(d),getPaymentMethodsMeta:t(d),getPaymentMethod:n(d),getPaymentMethodOrThrow:i(d),getLoadError:r(d),getLoadMethodError:o(d),isLoading:a(d),isLoadingMethod:s(d)}))}(),f=function(){const e=er(e=>e.errors.initializeMethodId,e=>e.errors.initializeError,(e,t)=>n=>{if(!n||e===n)return t}),t=er(e=>e.errors.executeMethodId,e=>e.errors.executeError,(e,t)=>n=>{if(!n||e===n)return t}),n=er(e=>e.errors.finalizeMethodId,e=>e.errors.finalizeError,(e,t)=>n=>{if(!n||e===n)return t}),i=er(e=>e.errors.widgetInteractionMethodId,e=>e.errors.widgetInteractionError,(e,t)=>n=>{if(!n||e===n)return t}),r=er(e=>e.statuses.initializeMethodId,e=>e.statuses.isInitializing,(e,t)=>n=>!(n&&e!==n||!t)),o=er(e=>e.data,e=>t=>{const n=t.gatewayId?`${t.methodId}.${t.gatewayId}`:t.methodId;return!(!e[n]||!e[n].isInitialized)}),a=er(e=>e.statuses.executeMethodId,e=>e.statuses.isExecuting,(e,t)=>n=>!(n&&e!==n||!t)),s=er(e=>e.statuses.finalizeMethodId,e=>e.statuses.isFinalizing,(e,t)=>n=>!(n&&e!==n||!t)),d=er(e=>e.statuses.widgetInteractionMethodId,e=>e.statuses.isWidgetInteracting,(e,t)=>n=>!(n&&e!==n||!t));return de((c=jn)=>({getInitializeError:e(c),getExecuteError:t(c),getFinalizeError:n(c),getWidgetInteractingError:i(c),isInitializing:r(c),isInitialized:o(c),isExecuting:a(c),isFinalizing:s(c),isWidgetInteracting:d(c)}))}(),v=function(){const e=er(e=>e.data,e=>(t,n)=>{if(!e)return;const i=gi(pi({consignmentId:t,searchArea:n})),r=btoa(`${JSON.stringify(i)}`);return e[r]}),t=er(e=>e.errors.loadError,e=>()=>e),n=er(e=>!!e.statuses.isLoading,e=>()=>e);return de((i=yi)=>({getPickupOptions:e(i),getLoadError:t(i),isLoading:n(i)}))}(),C=function(){const e=er(e=>e.data,e=>()=>e),t=er(e,e=>()=>rr(e(),()=>new ir(nr.MissingPaymentProviderCustomer)));return de((n=ti)=>({getPaymentProviderCustomer:e(n),getPaymentProviderCustomerOrThrow:t(n)}))}(),I=function(){const e=er(e=>e.data,e=>t=>e[t]);return de((t=oi)=>({getCheckout:e(t)}))}(),w=function(){const e=er(e=>e.data,e=>()=>{const t=null==e?void 0:e.find(e=>!e.selectedPickupOption);return null==t?void 0:t.shippingAddress}),t=er(e,e=>()=>rr(e(),()=>new ir(nr.MissingShippingAddress))),n=er(e=>e.data,e=>()=>{const t=null==e?void 0:e.filter(e=>!e.selectedPickupOption);return t?t.map(e=>e.shippingAddress):[]}),i=er(n,e=>()=>rr(e(),()=>new ir(nr.MissingShippingAddress)));return de((r=di)=>({getShippingAddress:e(r),getShippingAddressOrThrow:t(r),getShippingAddresses:n(r),getShippingAddressesOrThrow:i(r)}))}(),b=function(){const e=er(e=>e.data,e=>()=>e),t=er(e=>e.errors.loadError,e=>()=>e),n=er(e=>e.statuses.isLoading,e=>()=>!!e);return de((i=Ii)=>({getShippingCountries:e(i),getLoadError:t(i),isLoading:n(i)}))}(),E=function(){const e=er(e=>e.errors.updateAddressMethodId,e=>e.errors.updateAddressError,(e,t)=>n=>{if(!n||e===n)return t}),t=er(e=>e.errors.selectOptionMethodId,e=>e.errors.selectOptionError,(e,t)=>n=>{if(!n||e===n)return t}),n=er(e=>e.errors.initializeMethodId,e=>e.errors.initializeError,(e,t)=>n=>{if(!n||e===n)return t}),i=er(e=>e.errors.widgetInteractionMethodId,e=>e.errors.widgetInteractionError,(e,t)=>n=>{if(!n||e===n)return t}),r=er(e=>e.statuses.updateAddressMethodId,e=>e.statuses.isUpdatingAddress,(e,t)=>n=>!(n&&e!==n||!t)),o=er(e=>e.statuses.selectOptionMethodId,e=>e.statuses.isSelectingOption,(e,t)=>n=>!(n&&e!==n||!t)),a=er(e=>e.statuses.initializeMethodId,e=>e.statuses.isInitializing,(e,t)=>n=>!(n&&e!==n||!t)),s=er(e=>e.data,e=>t=>!(!e[t]||!e[t].isInitialized)),d=er(e=>e.statuses.widgetInteractionMethodId,e=>e.statuses.isWidgetInteracting,(e,t)=>n=>!(n&&e!==n||!t));return de((c=Ai)=>({getUpdateAddressError:e(c),getSelectOptionError:t(c),getInitializeError:n(c),getWidgetInteractionError:i(c),isUpdatingAddress:r(c),isSelectingOption:o(c),isInitializing:a(c),isInitialized:s(c),isWidgetInteracting:d(c)}))}(),P=function(){const e=er(e=>e.data,e=>()=>e),t=er(e,e=>()=>rr(e(),()=>new ir(nr.MissingConsignments))),n=er(e=>e.data,e=>t=>{if(e&&e.length)return l(e,{id:t})}),i=er(e=>e.data,e=>t=>{if(e&&e.length)return l(e,e=>{return n=e.shippingAddress,i=t,_(cr(n),cr(i));var n,i})}),r=er(e=>e.data,e=>()=>{if(e&&e.length)return e[0].selectedShippingOption}),o=er(e=>e.errors.loadError,e=>()=>e),a=er(e=>e.errors.createError,e=>()=>e),s=er(e=>e.errors.loadShippingOptionsError,e=>()=>e),d=er(e,(e,{cart:t})=>t.getCart,(e,t)=>()=>{const n=t();if(!n)return[];const i=(e()||[]).reduce((e,t)=>e.concat(t.lineItemIds),[]);return(n.lineItems.physicalItems||[]).filter(e=>i.indexOf(e.id)<0)}),c=er(e=>e.errors.updateError,e=>t=>t?e[t]:l(e)),u=er(e=>e.errors.deleteError,e=>t=>t?e[t]:l(e)),h=er(i,c,a,(e,t,n)=>i=>{const r=e(i);return r?t(r.id):n()}),p=er(e=>e.errors.updateShippingOptionError,e=>t=>t?e[t]:l(e)),g=er(e=>e.statuses.isLoading,e=>()=>!0===e),m=er(e=>e.statuses.isLoadingShippingOptions,e=>()=>!0===e),y=er(e=>e.statuses.isCreating,e=>()=>!0===e),f=er(e=>e.statuses.isUpdating,e=>t=>t?!0===e[t]:!0===l(e)),S=er(e=>e.statuses.isDeleting,e=>t=>t?!0===e[t]:!0===l(e)),v=er(i,f,y,(e,t,n)=>i=>{const r=e(i);return r?t(r.id):n()}),C=er(e=>e.statuses.isUpdatingShippingOption,e=>t=>t?!0===e[t]:!0===l(e));return de((l=di,_)=>({getConsignments:e(l),getConsignmentsOrThrow:t(l),getConsignmentById:n(l),getConsignmentByAddress:i(l),getShippingOption:r(l),getLoadError:o(l),getCreateError:a(l),getLoadShippingOptionsError:s(l),getUnassignedItems:d(l,{cart:_}),getUpdateError:c(l),getDeleteError:u(l),getItemAssignmentError:h(l),getUpdateShippingOptionError:p(l),isLoading:g(l),isLoadingShippingOptions:m(l),isCreating:y(l),isUpdating:f(l),isDeleting:S(l),isAssigningItems:v(l),isUpdatingShippingOption:C(l)}))}(),O=function(){const e=er(e=>e.data,(e,{billingAddress:t})=>t.getBillingAddress,(e,{cart:t})=>t.getCart,(e,{customer:t})=>t.getCustomer,(e,{consignments:t})=>t.getConsignments,(e,{coupons:t})=>t.getCoupons,(e,{giftCertificates:t})=>t.getGiftCertificates,(e,t,n,i,r,o,a)=>()=>{const s=t(),d=n(),c=i(),u=r()||[],l=o()||[],h=a()||[];if(e&&d&&c)return Object.assign(Object.assign({},e),{billingAddress:s,cart:d,customer:c,consignments:u,coupons:l,giftCertificates:h})}),t=er(e,e=>()=>rr(e(),()=>new ir(nr.MissingCheckout))),n=er(e,e=>t=>{const n=e();if(!n)return;const i=n.grandTotal||0,r=n.customer.storeCredit||0;return t?Math.max(i-r,0):n.outstandingBalance}),i=er(e=>e.errors.loadError,e=>()=>e),r=er(e=>e.errors.updateError,e=>()=>e),o=er(e=>e.errors.deleteError,e=>()=>e),a=er(e=>e.statuses.isExecutingSpamCheck,e=>()=>!0===e),s=er(e=>e.statuses.isLoading,e=>()=>!0===e),d=er(e=>e.statuses.isUpdating,e=>()=>!0===e),c=er(e=>e.statuses.isDeleting,e=>()=>!0===e);return de((u=$i,l,h,p,g,m,y)=>({getCheckout:e(u,{billingAddress:l,cart:h,consignments:p,coupons:g,customer:m,giftCertificates:y}),getCheckoutOrThrow:t(u,{billingAddress:l,cart:h,consignments:p,coupons:g,customer:m,giftCertificates:y}),getOutstandingBalance:n(u,{billingAddress:l,cart:h,consignments:p,coupons:g,customer:m,giftCertificates:y}),getLoadError:i(u),getUpdateError:r(u),getDeleteError:o(u),isExecutingSpamCheck:a(u),isLoading:s(u),isUpdating:d(u),isDeleting:c(u)}))}(),A=function(){const e=er(e=>e.data,(e,{billingAddress:t})=>t.getOrderBillingAddress(),(e,{coupons:t})=>t.getCoupons(),(e,t,n=[])=>()=>{if(e&&t)return Object.assign(Object.assign({},e),{billingAddress:t,coupons:n})}),t=er(e,e=>()=>rr(e(),()=>new ir(nr.MissingOrder))),n=er(e=>e.meta,e=>()=>e),i=er(e=>{var t;return null===(t=e.meta)||void 0===t?void 0:t.b2bContext},e=>()=>e),r=er(e=>e.errors.loadError,e=>()=>e),o=er(e=>{var t;return null===(t=e.data)||void 0===t?void 0:t.payments},(e=[])=>t=>{const n=e.find(({providerId:e})=>e===t);return null==n?void 0:n.paymentId}),a=er(e=>!!e.statuses.isLoading,e=>()=>e);return de((s=yn,d,c)=>({getOrder:e(s,{billingAddress:d,coupons:c}),getOrderOrThrow:t(s,{billingAddress:d,coupons:c}),getOrderMeta:n(s),getB2BContext:i(s),getLoadError:r(s),getPaymentId:o(s),isLoading:a(s)}))}(),T=function(){const e=er(e=>e.data,e=>()=>e);return de((t=In)=>({getOrderBillingAddress:e(t)}))}(),k=function(){const e=er(({order:e})=>e.getOrderMeta,e=>()=>{const t=e();return t&&t.payment}),t=er(({order:e})=>e.getOrder,e=>()=>{const t=e();return l(t&&t.payments,({providerId:e})=>"giftcertificate"!==e&&"storecredit"!==e)}),n=er(({checkout:e})=>e.getCheckout,e=>()=>{const t=e();return l(t&&t.payments,({providerType:e})=>"PAYMENT_TYPE_HOSTED"===e)}),i=er(e,n,t,(e,t,n)=>()=>{const i=e();if(i&&i.id)return{providerId:i.id,gatewayId:i.gateway};const r=t()||n();return r&&r.providerId?{providerId:r.providerId,gatewayId:r.gatewayId}:void 0}),r=er(i,e=>()=>rr(e(),()=>new ir(nr.MissingPaymentId))),o=er(e,n,t,(e,t,n)=>()=>{const i=e();if(i&&i.status)return i.status.replace("PAYMENT_STATUS_","");const r=t()||n();return r?r.detail.step:void 0}),a=er(o,e=>()=>rr(e(),()=>new ir(nr.MissingPaymentStatus))),s=er(({order:e})=>e.getOrderMeta,e=>()=>{const t=e();return t&&t.token}),d=er(s,e=>()=>rr(e(),()=>new ir(nr.MissingPaymentToken))),c=er(e,e=>()=>{const t=e();return t&&t.redirectUrl}),u=er(c,e=>()=>rr(e(),()=>new ir(nr.MissingPaymentRedirectUrl))),h=er(({checkout:e})=>e.getOutstandingBalance,e=>(t=!1)=>{const n=e(t);return!!n&&n>0}),p=er(o,e=>t=>!(!t||!t.nonce)||"ACKNOWLEDGE"===e()||"FINALIZE"===e());return de((e,t)=>({getPaymentId:i({checkout:e,order:t}),getPaymentIdOrThrow:r({checkout:e,order:t}),getPaymentStatus:o({checkout:e,order:t}),getPaymentStatusOrThrow:a({checkout:e,order:t}),getPaymentToken:s({checkout:e,order:t}),getPaymentTokenOrThrow:d({checkout:e,order:t}),getPaymentRedirectUrl:c({checkout:e,order:t}),getPaymentRedirectUrlOrThrow:u({checkout:e,order:t}),isPaymentDataRequired:h({checkout:e,order:t}),isPaymentDataSubmitted:p({checkout:e,order:t})}))}(),R=function(){const e=er(e=>e.errors.applyError,e=>()=>e),t=er(e=>!!e.statuses.isApplying,e=>()=>e);return de((n=ur)=>({getApplyError:e(n),isApplying:t(n)}))}(),D=function(){const e=er(e=>e.errors.updateError,e=>()=>e),t=er(e=>!!e.statuses.isUpdating,e=>()=>e);return de((n=Vi)=>({getUpdateError:e(n),isUpdating:t(n)}))}(),M=function(){const e=er(e=>e.data,e=>()=>e),t=er(e=>e.errors.sendError,e=>()=>e),n=er(e=>!!e.statuses.isSending,e=>()=>e);return de((i=Ni)=>({getEmail:e(i),getSendError:t(i),isSending:n(i)}))}(),N=function(){const e=er(e=>e.data,e=>()=>e),t=er(e=>e.data,e=>t=>null==e?void 0:e.find(e=>e.region===t)),n=er(e=>e.errors.loadError,e=>()=>e),i=er(e=>e.statuses.isLoading,e=>()=>!!e);return de((r=Jt)=>({getExtensions:e(r),getExtensionByRegion:t(r),getLoadError:n(r),isLoading:i(r)}))}();return(u,l={})=>{const p=e(u.b2bPostOrder),_=t(u.b2bToken),S=n(u.billingAddress),L=i(u.cart),z=r(u.checkoutButton),B=a(u.countries),F=s(u.coupons),U=d(u.customer),x=c(u.customerStrategies),q=N(u.extensions),j=m(u.formFields),G=h(u.giftCertificates),V=g(u.instruments),H=T(u.orderBillingAddress),W=y(u.paymentMethods),Y=C(u.paymentProviderCustomer),K=f(u.paymentStrategies),$=v(u.pickupOptions),Z=I(u.remoteCheckout),J=w(u.consignments),Q=b(u.shippingCountries),X=E(u.shippingStrategies),ee=D(u.subscriptions),te=R(u.storeCredit),ne=M(u.signInEmail),ie=P(u.consignments,L),re=O(u.checkout,S,L,ie,F,U,G),oe=A(u.order,H,F),ae=k(re,oe),se={b2bPostOrder:p,b2bToken:_,billingAddress:S,cart:L,checkout:re,checkoutButton:z,config:o(u.config,u.formFields),consignments:ie,countries:B,coupons:F,customer:U,customerStrategies:x,extensions:q,form:j,giftCertificates:G,instruments:V,order:oe,orderBillingAddress:H,payment:ae,paymentMethods:W,paymentProviderCustomer:Y,paymentStrategies:K,pickupOptions:$,remoteCheckout:Z,shippingAddress:J,shippingCountries:Q,shippingStrategies:X,signInEmail:ne,subscriptions:ee,storeCredit:te};return l.shouldWarnMutation?(de=se,Object.keys(de).reduce((e,t)=>(e[t]=or(de[t]),e),{})):se;var de}}function hr(e={},t){const n=(s=function(){const e=new Me;return["catalog_only","empty_cart","invalid_order_id","invalid_order_token","missing_order_token","missing_provider_token","missing_shipping_method","order_completion_error","order_could_not_be_finalized_error","order_create_failed","provider_fatal_error","provider_setup_error","stock_too_low"].forEach(t=>{e.register(t,(e,t)=>new Ae(e,t))}),e.register("invalid_payment_provider",e=>new be(e)),e.register("payment_config_not_found",e=>new be(e)),e}(),e=>K(e).pipe(X(e=>{if(e instanceof Error||e.payload instanceof Error)throw e;if((t=e.payload)&&"object"==typeof t&&["body","headers","status","statusText"].every(e=>Object.prototype.hasOwnProperty.call(t,e))){const t=e.payload.body&&e.payload.body.detail;throw Object.assign(Object.assign({},e),{payload:s.createError(e.payload,t)})}var t;throw e}))),r=lr(),o=i({b2bPostOrder:On,b2bToken:qe,billingAddress:Je,cart:dt,checkout:Zi,checkoutButton:ft,config:wt,consignments:ci,countries:hn,coupons:Tt,customer:xt,customerStrategies:Wt,extensions:Qt,formFields:on,giftCertificates:Nt,instruments:$n,orderBillingAddress:wn,order:fn,payment:Mn,paymentMethods:zn,paymentStrategies:Gn,pickupOptions:fi,paymentProviderCustomer:ni,remoteCheckout:ai,shippingCountries:wi,shippingStrategies:Ti,signInEmail:Li,subscriptions:Hi,storeCredit:qi});var s;return a(o,e,Object.assign({actionTransformer:n,stateTransformer:e=>r(e)},t))}var pr,gr;!function(e){e[e.MissingBillingAddress=0]="MissingBillingAddress",e[e.MissingCart=1]="MissingCart",e[e.MissingCheckout=2]="MissingCheckout",e[e.MissingConsignments=3]="MissingConsignments",e[e.MissingCustomer=4]="MissingCustomer",e[e.MissingCheckoutConfig=5]="MissingCheckoutConfig",e[e.MissingOrder=6]="MissingOrder",e[e.MissingOrderConfig=7]="MissingOrderConfig",e[e.MissingOrderId=8]="MissingOrderId",e[e.MissingPayment=9]="MissingPayment",e[e.MissingPaymentId=10]="MissingPaymentId",e[e.MissingPaymentInstrument=11]="MissingPaymentInstrument",e[e.MissingPaymentMethod=12]="MissingPaymentMethod",e[e.MissingPaymentRedirectUrl=13]="MissingPaymentRedirectUrl",e[e.MissingPaymentStatus=14]="MissingPaymentStatus",e[e.MissingPaymentToken=15]="MissingPaymentToken",e[e.MissingShippingAddress=16]="MissingShippingAddress"}(pr||(pr={}));class mr extends Ce{constructor(e){super(function(e){switch(e){case pr.MissingBillingAddress:return"Unable to proceed because billing address data is unavailable.";case pr.MissingCart:return"Unable to proceed because cart data is unavailable.";case pr.MissingConsignments:return"Unable to proceed because consignments data is unavailable.";case pr.MissingCheckout:return"Unable to proceed because checkout data is unavailable.";case pr.MissingCustomer:return"Unable to proceed because customer data is unavailable.";case pr.MissingCheckoutConfig:case pr.MissingOrderConfig:return"Unable to proceed because configuration data is unavailable.";case pr.MissingOrder:return"Unable to proceed because order data is unavailable.";case pr.MissingOrderId:return"Unable to proceed because order ID is unavailable or not generated yet.";case pr.MissingPayment:return"Unable to proceed because payment data is unavailable.";case pr.MissingPaymentToken:return"Unable to proceed because the token required to submit a payment is missing.";case pr.MissingPaymentMethod:return"Unable to proceed because payment method data is unavailable or not properly configured.";case pr.MissingShippingAddress:return"Unable to proceed because shipping address data is unavailable.";default:return"Unable to proceed because the required data is unavailable."}}(e)),this.subtype=e,this.name="MissingDataError",this.type="missing_data"}}function yr(e){return t=e.lineItems.physicalItems.filter(e=>!e.addedByPromotion),N(t,(e,t)=>e+t.quantity,0);var t}function fr(e,t){if(null==e)throw t?t():new Error("An unexpected error has occurred.");return e}!function(e){e[e.CheckoutButtonNotInitialized=0]="CheckoutButtonNotInitialized",e[e.CustomerNotInitialized=1]="CustomerNotInitialized",e[e.PaymentNotInitialized=2]="PaymentNotInitialized",e[e.ShippingNotInitialized=3]="ShippingNotInitialized",e[e.SpamProtectionNotInitialized=4]="SpamProtectionNotInitialized"}(gr||(gr={}));class _r extends Ce{constructor(e){super(function(e){switch(e){case gr.CustomerNotInitialized:return"Unable to proceed because the customer step of checkout has not been initialized.";case gr.PaymentNotInitialized:return"Unable to proceed because the payment step of checkout has not been initialized.";case gr.ShippingNotInitialized:return"Unable to proceed because the shipping step of checkout has not been initialized.";case gr.SpamProtectionNotInitialized:return"Unable to proceed because the checkout spam protection has not been initialized.";default:return"Unable to proceed because the required component has not been initialized."}}(e)),this.subtype=e,this.name="NotInitializedError",this.type="not_initialized"}}const Sr={de:"eu",jp:"fe",uk:"eu",us:"na"};var vr,Cr,Ir,wr,br;!function(e){e.en_US="en_US",e.en_GB="en_GB",e.de_DE="de_DE",e.fr_FR="fr_FR",e.it_IT="it_IT",e.es_ES="es_ES",e.ja_JP="ja_JP"}(vr||(vr={})),function(e){e.Home="Home",e.Product="Product",e.Cart="Cart",e.Checkout="Checkout",e.Other="Other"}(Cr||(Cr={})),function(e){e.USD="USD",e.EUR="EUR",e.GBP="GBP",e.JPY="JPY"}(Ir||(Ir={})),function(e){e.PayAndShip="PayAndShip",e.PayOnly="PayOnly"}(wr||(wr={})),function(e){e.Gold="Gold",e.LightGray="LightGray",e.DarkGray="DarkGray"}(br||(br={}));var Er=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Pr{constructor(e){this.amazonPayV2ScriptLoader=e}initialize(e){return Er(this,void 0,void 0,function*(){this.amazonPayV2SDK=yield this.amazonPayV2ScriptLoader.load(e),this.buttonParentContainer=this.buttonParentContainer||this.createAmazonPayButtonParentContainer()})}deinitialize(){var e;return this.amazonPayV2Button=void 0,null===(e=this.buttonParentContainer)||void 0===e||e.remove(),this.buttonParentContainer=void 0,this.amazonPayV2SDK=void 0,Promise.resolve()}bindButton(e,t,n){this.getAmazonPayV2SDK().Pay.bindChangeAction(`#${e}`,{amazonCheckoutSessionId:t,changeAction:n})}createButton(e,t){this.amazonPayV2Button=this.getAmazonPayV2SDK().Pay.renderButton(`#${e}`,t)}prepareCheckout(e){const t=this.prepareRequestConfig(e);this.getAmazonPayV2Button().onClick(()=>{this.getAmazonPayV2Button().initCheckout(t)})}prepareCheckoutWithCreationRequestConfig(e){this.getAmazonPayV2Button().onClick(()=>Er(this,void 0,void 0,function*(){const t=yield e();if(t){const e=this.prepareRequestConfig(t.createCheckoutSessionConfig,t.estimatedOrderAmount,t.productType);this.getAmazonPayV2Button().initCheckout(e)}}))}signout(){return Er(this,void 0,void 0,function*(){return this.amazonPayV2SDK&&this.amazonPayV2SDK.Pay.signout(),Promise.resolve()})}renderAmazonPayButton({buttonColor:e,checkoutState:t,containerId:n,decoupleCheckoutInitiation:i=!1,methodId:r,options:o,placement:a}){const s=document.querySelector(`#${n}`);if(!s)return;const{id:d}=s.appendChild(this.getButtonParentContainer()),c=null!=o?o:this.getAmazonPayV2ButtonOptions(t,r,a,i,e);return this.createButton(d,c),this.getButtonParentContainer()}updateBuyNowFlowFlag(e){this.isBuyNowFlow=Boolean(e)}isPh4Enabled(e,t){const n=!!e["PROJECT-3483.amazon_pay_ph4"],i=!!e["INT-6885.amazon_pay_ph4_us_only"];return n&&i?"US"===t:n}prepareRequestConfig(e,t,n){const{publicKeyId:i}=e,r=function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]])}return n}(e,["publicKeyId"]);return Object.assign(Object.assign({createCheckoutSessionConfig:this.isEnvironmentSpecific(i)?r:e},t&&{estimatedOrderAmount:t}),n&&{productType:n})}createAmazonPayButtonParentContainer(){const e=Math.random().toString(16).substr(-4),t=document.createElement("div");return t.id=`amazonpay_button_parent_container_${e}`,t}getAmazonPayV2ButtonOptions(e,t,n,i=!1,r=br.Gold){var o;const{getCart:a,getCheckout:s,getStoreConfigOrThrow:d,getPaymentMethodOrThrow:c}=this.getCheckoutState(e),{config:{merchantId:u,testMode:l},initializationData:h}=c(t);if(!h)throw new mr(pr.MissingPaymentMethod);const{checkoutLanguage:p,checkoutSessionMethod:g,createCheckoutSessionConfig:m,extractAmazonCheckoutSessionId:y,ledgerCurrency:f,publicKeyId:_=""}=h;if(!u||!f)throw new mr(pr.MissingPaymentMethod);const S={merchantId:u,ledgerCurrency:f,checkoutLanguage:p,placement:n,buttonColor:r};if(this.isBuyNowFlow)return Object.assign(Object.assign({},S),{sandbox:!!l});const v=a();S.productType=v&&0===yr(v)?wr.PayOnly:wr.PayAndShip;const{checkoutSettings:{features:C},storeProfile:{shopPath:I,storeCountryCode:w}}=d();if(this.isPh4Enabled(C,w)){if(!m)throw new mr(pr.MissingPaymentMethod);const e=null===(o=s())||void 0===o?void 0:o.outstandingBalance.toString(),t=null==v?void 0:v.currency.code,n=Object.assign({},S);let r;return this.isEnvironmentSpecific(_)?(n.publicKeyId=_,r=m):(n.sandbox=!!l,r=Object.assign(Object.assign({},m),{publicKeyId:_})),i||(n.createCheckoutSessionConfig=r),e&&t&&(n.estimatedOrderAmount={amount:e,currencyCode:t}),n}const b={method:g,url:`${I}/remote-checkout/${t}/payment-session`,extractAmazonCheckoutSessionId:y};return Object.assign(Object.assign({},S),{createCheckoutSession:b,sandbox:!!l})}isEnvironmentSpecific(e){return/^(SANDBOX|LIVE)/.test(e)}getAmazonPayV2SDK(){return this.getOrThrow(this.amazonPayV2SDK)}getButtonParentContainer(){return this.getOrThrow(this.buttonParentContainer)}getAmazonPayV2Button(){return this.getOrThrow(this.amazonPayV2Button)}getOrThrow(e){return fr(e,()=>new _r(gr.PaymentNotInitialized))}getCheckoutState(e){return"object"==typeof(t=e)&&null!==t&&"cart"in t&&"checkout"in t&&"config"in t&&"paymentMethods"in t?{getCart:e.cart.getCart,getCheckout:e.checkout.getCheckout,getStoreConfigOrThrow:e.config.getStoreConfigOrThrow,getPaymentMethodOrThrow:t=>e.paymentMethods.getPaymentMethodOrThrow(t)}:e;var t}}class Or extends Ce{constructor(e){super(e||"Unable to proceed because the client library of a payment method is not loaded or ready to be used."),this.name="PaymentMethodClientUnavailableError",this.type="payment_method_client_unavailable"}}class Ar{constructor(e,t=window){this.scriptLoader=e,this.windowWithAmazonPay=t}load(e){return t=this,n=void 0,r=function*(){const{initializationData:t}=e,n=(null==t?void 0:t.region)||"us",i=Sr[n];if(yield this.scriptLoader.loadScript(`https://static-${i}.payments-amazon.com/checkout.js`),!this.windowWithAmazonPay.amazon)throw new Or;return this.windowWithAmazonPay.amazon},new((i=void 0)||(i=Promise))(function(e,o){function a(e){try{d(r.next(e))}catch(e){o(e)}}function s(e){try{d(r.throw(e))}catch(e){o(e)}}function d(t){var n;t.done?e(t.value):(n=t.value,n instanceof i?n:new i(function(e){e(n)})).then(a,s)}d((r=r.apply(t,n||[])).next())});var t,n,i,r}}function Tr(e,t){return Object.assign(e,{resolveIds:t})}class kr extends Ce{constructor(e){super(e||"Invalid arguments have been provided."),this.name="InvalidArgumentError",this.type="invalid_argument"}}class Rr extends Ce{constructor(e){super(e||"An unexpected error has occurred during buy now cart creation process. Please try again later."),this.name="BuyNowCartCreationError",this.type="buy_now_cart_creation_error"}}class Dr extends Ce{constructor(e){super(e||"An unexpected error has occurred during config creation process. Please try again later."),this.name="AmazonPayV2ConfigCreationError",this.type="amazon_pay_v2_config_creation_error"}}function Mr(e){return e instanceof Object&&"buyNowInitializeOptions"in e}var Nr=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Lr{constructor(e,t,n){this.paymentIntegrationService=e,this.amazonPayV2PaymentProcessor=t,this.amazonPayV2ConfigRequestSender=n}initialize(e){return Nr(this,void 0,void 0,function*(){var t;const{methodId:n,containerId:i,amazonpay:r}=e,{buttonColor:o}=r||{};if(!n||!i)throw new kr('Unable to proceed because "methodId" or "containerId" argument is not provided.');const{getPaymentMethodOrThrow:a}=this.paymentIntegrationService.getState(),s=a(n);yield this.amazonPayV2PaymentProcessor.initialize(s),r||(yield this.paymentIntegrationService.loadDefaultCheckout());const d=Mr(r)?void 0:r;Mr(r)&&"function"==typeof(null===(t=r.buyNowInitializeOptions)||void 0===t?void 0:t.getBuyNowCartRequestBody)&&(this._buyNowInitializeOptions=r.buyNowInitializeOptions,this.amazonPayV2PaymentProcessor.updateBuyNowFlowFlag(!0)),this.amazonPayV2PaymentProcessor.renderAmazonPayButton({checkoutState:this.paymentIntegrationService.getState(),containerId:i,methodId:n,options:d,placement:Cr.Cart,buttonColor:o}),this._buyNowInitializeOptions&&this.amazonPayV2PaymentProcessor.prepareCheckoutWithCreationRequestConfig(this._getCheckoutCreationRequestConfig.bind(this))})}deinitialize(){return this.amazonPayV2PaymentProcessor.deinitialize()}_createBuyNowCartOrThrow(){return Nr(this,void 0,void 0,function*(){var e,t;const n=null===(t=null===(e=this._buyNowInitializeOptions)||void 0===e?void 0:e.getBuyNowCartRequestBody)||void 0===t?void 0:t.call(e);if(!n)throw new mr(pr.MissingCart);try{return yield this.paymentIntegrationService.createBuyNowCart(n)}catch(e){throw new Rr}})}_createCheckoutConfig(e){return Nr(this,void 0,void 0,function*(){try{const t=(yield this.amazonPayV2ConfigRequestSender.createCheckoutConfig(e)).body,{payload:n,public_key:i}=t,r=function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]])}return n}(t,["payload","public_key"]);return Object.assign({payloadJSON:n,publicKeyId:i},r)}catch(e){throw new Dr}})}_getCheckoutCreationRequestConfig(){return Nr(this,void 0,void 0,function*(){const e=yield this._createBuyNowCartOrThrow(),t={amount:String(e.baseAmount),currencyCode:e.currency.code};return{createCheckoutSessionConfig:yield this._createCheckoutConfig(e.id),estimatedOrderAmount:t,productType:0===yr(e)?wr.PayOnly:wr.PayAndShip}})}}const zr="This API endpoint is for internal use only and may change in the future";var Br;!function(e){e.Json="application/json",e.JsonV1="application/vnd.bc.v1+json"}(Br||(Br={}));const Fr=Br,Ur={"X-Checkout-SDK-Version":"1.960.0"};class xr{constructor(e){this._requestSender=e}createCheckoutConfig(e){const t={cartId:e},n=Object.assign({"X-API-INTERNAL":zr,"Content-Type":Fr.Json},Ur);return this._requestSender.post("/api/storefront/payment/amazonpay",{headers:n,body:t})}}const qr=Tr(t=>{const n=e(),i=new xr(n),r=new Pr(new Ar(he()));return new Lr(t,r,i)},[{id:"amazonpay"}]);function jr(e,t,n=!0){var i;return null!==(i=e[t])&&void 0!==i?i:n}const Gr="3.128.0",Vr="3.123.2",Hr="3.106.0";class Wr{constructor(e){this.paymentIntegrationService=e,this.braintreeWindow=window}getSDKVersion(){const e=this.paymentIntegrationService.getState().getStoreConfig(),t=(null==e?void 0:e.checkoutSettings.features)||{};return this.getPreloadedSDKVersion()||(jr(t,"PAYPAL-5809.braintree_hosted_fields_fix_version")?Gr:jr(t,"PAYPAL-5636.update_braintree_sdk_version")?Vr:Hr)}getPreloadedSDKVersion(){const e=this.braintreeWindow.braintree;if(e){const t=l(Object.values(e),e=>!!e.VERSION);return null==t?void 0:t.VERSION}}}class Yr extends Ce{constructor(e){super(e||"Unsupported browser error"),this.name="UnsupportedBrowserError",this.type="unsupported_browser"}}var Kr,$r,Zr,Jr,Qr,Xr,eo;function to(e){return Boolean("object"==typeof e&&null!==e&&("type"in e||"message"in e||"code"in e))}!function(e){e.ESTIMATED="ESTIMATED",e.FINAL="FINAL",e.NOT_CURRENTLY_KNOWN="NOT_CURRENTLY_KNOWN"}(Kr||(Kr={})),function(e){e.Completed="COMPLETED",e.Pending="PENDING",e.Failed="FAILED"}($r||($r={})),function(e){e.TRUSTLY="trustly"}(Zr||(Zr={})),function(e){e.SUCCEEDED="succeeded",e.FAILED="failed",e.CANCELED="cancelled",e.UNRECOGNIZED="unrecognized"}(Jr||(Jr={})),function(e){e.Customer="CUSTOMER",e.Merchant="MERCHANT",e.Network="NETWORK",e.Internal="INTERNAL",e.Unknown="UNKNOWN"}(Qr||(Qr={})),function(e){e.KountNotEnabled="DATA_COLLECTOR_KOUNT_NOT_ENABLED"}(Xr||(Xr={})),function(e){e.Visa="visa",e.Mastercard="mastercard",e.AmericanExpress="american-express",e.DinersClub="diners-club",e.Discover="discover",e.Jcb="jcb",e.UnionPay="union-pay",e.Maestro="maestro",e.Elo="elo",e.Mir="mir",e.Hiper="hiper",e.Hipercard="hipercard"}(eo||(eo={}));var no,io,ro,oo=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class ao{constructor(e){this.braintreeScriptLoader=e}initialize(e){this.setClientToken(e)}deinitialize(){return oo(this,void 0,void 0,function*(){yield this.teardownModule(this.dataCollector),this.dataCollector=void 0})}getClient(){return oo(this,void 0,void 0,function*(){if(!this.client){const e=this.getClientTokenOrThrow(),t=yield this.braintreeScriptLoader.loadClient();this.client=yield t.create({authorization:e})}return this.client})}getDataCollectorOrThrow(e){return oo(this,void 0,void 0,function*(){const t={deviceData:void 0,teardown:()=>Promise.resolve()};if(!this.dataCollector)try{const t=yield this.getClient(),n=yield this.braintreeScriptLoader.loadDataCollector(),i=Object.assign({client:t,kount:!0},e);this.dataCollector=yield n.create(i)}catch(e){if(to(e)&&e.code===Xr.KountNotEnabled)return t;throw e}return this.dataCollector})}getBraintreeGooglePayment(){return oo(this,void 0,void 0,function*(){if(!this.googlePayment){const[e,t]=yield Promise.all([this.getClient(),this.braintreeScriptLoader.loadGooglePayment()]);this.googlePayment=yield t.create({client:e})}return this.googlePayment})}getBraintreeThreeDS(){return oo(this,void 0,void 0,function*(){if(!this.threeDS){const[e,t]=yield Promise.all([this.getClient(),this.braintreeScriptLoader.load3DS()]);this.threeDS=yield t.create({client:e,version:2})}return this.threeDS})}getBraintreeLocalPayment(e){return oo(this,void 0,void 0,function*(){if(!this.braintreeLocalPayment){const[t,n]=yield Promise.all([this.getClient(),this.braintreeScriptLoader.loadLocalPayment()]);this.braintreeLocalPayment=yield new Promise((i,r)=>{n.create({client:t,merchantAccountId:e},(e,t)=>{e&&r(e),i(t)})})}return this.braintreeLocalPayment})}getUsBankAccount(){return oo(this,void 0,void 0,function*(){if(!this.usBankAccount){const e=yield this.getClient(),t=yield this.braintreeScriptLoader.loadUsBankAccount();this.usBankAccount=yield t.create({client:e})}return this.usBankAccount})}getBraintreeVisaCheckout(){return this.visaCheckout||(this.visaCheckout=Promise.all([this.getClient(),this.braintreeScriptLoader.loadVisaCheckout()]).then(([e,t])=>t.create({client:e}))),this.visaCheckout}getVisaCheckoutSdk(e){return oo(this,void 0,void 0,function*(){return this.visaCheckoutSDK||(this.visaCheckoutSDK=yield this.braintreeScriptLoader.loadVisaCheckoutSdk(e)),this.visaCheckoutSDK})}getVenmoCheckoutOrThrow(){return oo(this,void 0,void 0,function*(){if(!this.braintreeVenmo){const e=yield this.getClient(),t=yield this.braintreeScriptLoader.loadVenmoCheckout(),n={client:e,allowDesktop:!0,paymentMethodUsage:"multi_use"},i=yield t.create(n);if(!i.isBrowserSupported())throw new Yr;this.braintreeVenmo=i}return this.braintreeVenmo})}setClientToken(e){this.clientToken=e}getClientTokenOrThrow(){if(!this.clientToken)throw new _r(gr.PaymentNotInitialized);return this.clientToken}teardownModule(e){return e?e.teardown():Promise.resolve()}}!function(e){e.Sandbox="sandbox",e.Production="production"}(no||(no={})),function(e){e.Client="client",e.DataCollector="dataCollector",e.Fastlane="fastlane",e.GooglePayment="googlePayment",e.HostedFields="hostedFields",e.LocalPayment="localPayment",e.Paypal="paypal",e.PaypalCheckout="paypalCheckout",e.ThreeDSecure="threeDSecure",e.UsBankAccount="usBankAccount",e.Venmo="venmo",e.VisaCheckout="visaCheckout"}(io||(io={})),function(e){e.CardCode="cardCode",e.CardCodeVerification="cardCodeVerification",e.CardExpiry="cardExpiry",e.CardName="cardName",e.CardNumber="cardNumber",e.CardNumberVerification="cardNumberVerification"}(ro||(ro={}));const so={[Hr]:{[io.Client]:"sha384-26BXDNnJI23JYRyFBj4xe4sVNrUSSiSSu11kxVXNM/vEPONm4LuL00w6ZaTgQewt",[io.PaypalCheckout]:"sha384-B+vzbZwnQtzWBthpkT4TXKUibO65tyeK7eCxSvpblgprTep2+IAXB2Cxxjrn710O",[io.Paypal]:"sha384-uyAGL1/3+XJAHnGoNy4eCoXdzJ4f7Ilzp+6w9PNnEjs6DCCz9WMyJjMN1gzc78U+",[io.LocalPayment]:"sha384-LIvOEMkIVEwVuYBdVOQc1AC5YbGGlwyfUheS0ACK218D2STuVYQlZ4FyEPowAEfT",[io.DataCollector]:"sha384-1bo9JDz+Kscthc085cCKWur8CLwUoBpoNyxsDi7932mCl0zFq3A5mv+FQLw9GHpV",[io.UsBankAccount]:"sha384-xmHBVaU+w74V+OebD3AaPONFxHUGMf+QRs8G/JxVPXNNP7MDa2jL0ICWHIe2tTfJ",[io.GooglePayment]:"sha384-WKDJl8mqoP82qZpMGH6AbZxnvXnSW8ILV4M64CyMLiugGMwu7LyP89wjCkHqsiBe",[io.ThreeDSecure]:"sha384-VQUlpGHzsGvs5XeiGFip7EXRsvoHWEXDVmgCacfbyieZI9mdBOqq3NSoyo28OCOB",[io.VisaCheckout]:"sha384-yx7mADfzTN0T43Q6rlH49LIg1EJ0iUZgBp/EczX9LXsUGkySgxrD+nWHQRBkyfoT",[io.Venmo]:"sha384-QX4rPjoj1ZDhuG0aSyKs56lEKDqTMTcjYxUHY1SzO5VZDsqIE2NTkqot7KNSCyov",[io.HostedFields]:"sha384-VvYBACfSu0Cr/J32uKmxG7AXcNOJE1AzIIL3kbikyS7YKp5fz5Is+NzNP/lyauNy",[io.Fastlane]:"sha384-9oGsZMRZwpGtDEDYa/dFt76dECqj1xAni9gIKgc3KfMIiRnR73nEeeUDLiBzxhFa"},[Vr]:{[io.Client]:"sha384-o+nbQGcwNNxIBeXeu3+XmbSq+Cg8R3EN3N0l5hXCgMMU2RGY0t1z0LroSEIAbfAO",[io.PaypalCheckout]:"sha384-WrfbWPBS4mH86GAoycPSgiH8hQ8KH7A67C93Hjhunv/xhNk2YpBn3wbFA4Fhg9U/",[io.Paypal]:"sha384-VF389nvvrRUgDsTXMxTYORDtVegB9IQa3Cxr//DyJnLYnz8/X8VCzEvck2c+Megt",[io.LocalPayment]:"sha384-tZKx2rEQbfmZpoPSY5VPmJEhaq4X75dLvwHMs3VE9U+C8lPyw+hWTIL1+GPvWCIH",[io.DataCollector]:"sha384-E6k3wOpP7syCDDwaRDLF06942Y00NkbwJvWi2OQXwwKzGwG5fd3E7RFUvCCecfvO",[io.UsBankAccount]:"sha384-258FON8LZGG0W9Qaz4Jij83pZHu30YnKjJA7gNulLBh6CclkucgF+tHDQuYFRYfW",[io.GooglePayment]:"sha384-taJ2p/0+n0VH328POAoBiuEbL3tnHUTE9S42hK1V+Txs3X+QYjZOyKW35JgHRFfO",[io.ThreeDSecure]:"sha384-+NSZH4Zj3sO5bdWvPKhU5N16QDxeueTVTnUVeleeESkhLSaz4Ob1hh/5myecc9Ym",[io.VisaCheckout]:"sha384-66DiBjghxk1OmBj8aksN8gbQ+CwoQcx1vPfiXUN08g1iQVM+BwewF0p7toM3i7SS",[io.Venmo]:"sha384-B5UwY42kE4RoLoWbQ7YpqosUlUad2/DlGWiw0HhoZbSPk30CQAaSA10ohyLDTkDU",[io.HostedFields]:"sha384-Aw9EesSaUeWxe36PqEHiOyOyOq8M6CIb1gw7/yHNVPRzGtFXXcd2OQ8qXrIlOj2P",[io.Fastlane]:"sha384-rhBL1hpZ71JqG+2TsT0Dih47mbjx8cjJCpeZjk9tw3df1gFMKfCTmMyZunhr7H4Y"},[Gr]:{[io.Client]:"sha384-0WNxksIpRP+fYZiIdr12g6DBUQfLDzYCQJZtR/C8KkcwSGhPHfcFp3tTaGcMyFTq",[io.PaypalCheckout]:"sha384-lWM1jk4BOxoDNV6Kop7tVNvQgINlmEVz0c/OwM+HNHK3QC8xqwd54Ovrt2QRDTjh",[io.Paypal]:"sha384-fXUmVxC2EMZBDXZ7eTHSTL/LFBrHej/MSXT/vTBXvra4lzgLNGvREAp+x0GYObuH",[io.LocalPayment]:"sha384-pha1xGuGSkmZH5x9aqHvRaO4xLea7rmQ/79PFj9zxNzxuFcOWZg7gOP7FibygOEC",[io.DataCollector]:"sha384-Q6PI2F9eekWbAxhroybl+aEcvqhdowN/EQlGwBUyJOzPFn9982u9xl6SU6XfGKzc",[io.UsBankAccount]:"sha384-W3RLQSKJL1tQ3+Y7mP6tmkamtZ8bV4Yw/XxL9Jj5JtXHraD8loMF8hAIG5m2zK7F",[io.GooglePayment]:"sha384-TITQMsFWA3elDNGP2mWz2oKBo4qjt+TlqzovcaPoeBiAh/wPBi6nae50ADdgU1/i",[io.ThreeDSecure]:"sha384-YiycYN89ZlL/Evcaq4y1ajW1mhd7JYfZBDuOwHtIn4/Jnm20GL+/XCM+zYAwWD8D",[io.VisaCheckout]:"sha384-/OdaTv9qrkKzjObtUe6yzfDhHozFW/+uXlrSl736sOZRJpjGQETvpYXqMFFg69xv",[io.Venmo]:"sha384-dA+ojdW9vbJS4JavcXyOs9d5uZHJg5dNtYupoPSH2zsXIiYDVS5amLb/u8qmQ6oz",[io.HostedFields]:"sha384-31ZkS58+iaWsW06ftW52zzVZFp43WPd7pNYRiddYynSNg6Oh7WGbSFGorAUH6T1z",[io.Fastlane]:"sha384-jlbrwNvL3HvLAUCtLSmrnQ2GH1udCUrRS/bVmReAS5fuIVvcW8Pko/Gkg82tlgtr"}};var co,uo=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class lo{constructor(e,t,n){this.scriptLoader=e,this.braintreeHostWindow=t,this.braintreeSDKVersionManager=n}loadClient(){return uo(this,void 0,void 0,function*(){return this.loadBraintreeModuleOrThrow(io.Client,"client.min.js")})}loadFastlane(){return uo(this,void 0,void 0,function*(){return this.loadBraintreeModuleOrThrow(io.Fastlane,"fastlane.min.js")})}loadPaypalCheckout(){return uo(this,void 0,void 0,function*(){return this.loadBraintreeModuleOrThrow(io.PaypalCheckout,"paypal-checkout.min.js")})}loadPaypal(){return uo(this,void 0,void 0,function*(){return this.loadBraintreeModuleOrThrow(io.Paypal,"paypal.min.js")})}loadLocalPayment(){return uo(this,void 0,void 0,function*(){return this.loadBraintreeModuleOrThrow(io.LocalPayment,"local-payment.min.js")})}loadDataCollector(){return uo(this,void 0,void 0,function*(){return this.loadBraintreeModuleOrThrow(io.DataCollector,"data-collector.min.js")})}loadUsBankAccount(){return uo(this,void 0,void 0,function*(){return this.loadBraintreeModuleOrThrow(io.UsBankAccount,"us-bank-account.min.js")})}loadGooglePayment(){return uo(this,void 0,void 0,function*(){return this.loadBraintreeModuleOrThrow(io.GooglePayment,"google-payment.min.js")})}load3DS(){return uo(this,void 0,void 0,function*(){return this.loadBraintreeModuleOrThrow(io.ThreeDSecure,"three-d-secure.min.js")})}loadVisaCheckout(){return this.loadBraintreeModuleOrThrow(io.VisaCheckout,"visa-checkout.min.js")}loadVenmoCheckout(){return this.loadBraintreeModuleOrThrow(io.Venmo,"venmo.min.js")}loadHostedFields(){return uo(this,void 0,void 0,function*(){return this.loadBraintreeModuleOrThrow(io.HostedFields,"hosted-fields.min.js")})}loadVisaCheckoutSdk(e){return uo(this,void 0,void 0,function*(){if(this.braintreeHostWindow.V)return this.braintreeHostWindow.V;const t=e?"sha384-0eu1s1GtqzXlL9DtLgmwzC5WWlEH/ADRM0n38cVQkvtT+W/gey96rcb1LwuUOPDm":"sha384-1f1csvP3ZFxg4dILH1GaY4LHlZ0oX7Rk83rxmLlwbnIi4TM0NYzXoev1VoEiVDS6";return this.scriptLoader.loadScript(`//${e?"sandbox-":""}assets.secure.checkout.visa.com/checkout-widget/resources/js/integration/v1/sdk.js`,{async:!0,attributes:{integrity:t,crossorigin:"anonymous"}}).then(()=>{if(!this.braintreeHostWindow.V)throw new Or;return this.braintreeHostWindow.V})})}loadBraintreeModuleOrThrow(e,t){return uo(this,void 0,void 0,function*(){let n=this.getBraintreeModule(e);if(n)return n;const i=this.braintreeSDKVersionManager.getSDKVersion(),r=`//js.braintreegateway.com/web/${i}/js/${t}`,o=i in so?this.getIntegrityValuesByModuleName(e,i):void 0;if(yield this.scriptLoader.loadScript(r,o?{async:!0,attributes:{integrity:o,crossorigin:"anonymous"}}:void 0),n=this.getBraintreeModule(e),!n)throw new Or;return n})}getBraintreeModule(e){var t;return null===(t=this.braintreeHostWindow.braintree)||void 0===t?void 0:t[e]}getIntegrityValuesByModuleName(e,t){const n=so[t][e];if(!n)throw new Error("Unexpected fileName value");return n}}class ho extends Ce{constructor(e){super(e||"Payment process was cancelled."),this.name="PaymentMethodCancelledError",this.type="payment_cancelled"}}!function(e){e.BRAINTREE="braintree",e.BRAINTREE_FASTLANE="braintreeacceleratedcheckout"}(co||(co={}));var po,go,mo=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};!function(e){e.Subtotal="Subtotal",e.Shipping="Shipping"}(po||(po={})),function(e){e.Black="black",e.White="white",e.WhiteBorder="white-border"}(go||(go={}));class yo{constructor(e,t,n,i,r){this._requestSender=e,this._paymentIntegrationService=t,this._sessionFactory=n,this._braintreeSdk=i,this._applePayScriptLoader=r,this._onAuthorizeCallback=T,this._subTotalLabel=po.Subtotal,this._shippingLabel=po.Shipping}initialize(e){return mo(this,void 0,void 0,function*(){var t,n;const{methodId:i,containerId:r,applepay:o}=e;if(!i||!o)throw new mr(pr.MissingPaymentMethod);yield this._applePayScriptLoader.loadSdk();const{onPaymentAuthorize:a,buyNowInitializeOptions:s,requiresShipping:d}=o;this._requiresShipping=d,this._buyNowInitializeOptions=s,this._onAuthorizeCallback=a,s||(yield this._paymentIntegrationService.loadDefaultCheckout());const c=this._paymentIntegrationService.getState();return this._paymentMethod=c.getPaymentMethodOrThrow(i),c.getCart()&&(yield this._paymentIntegrationService.verifyCheckoutSpamProtection()),(null===(t=this._paymentMethod.initializationData)||void 0===t?void 0:t.gateway)===co.BRAINTREE&&this._paymentMethod.clientToken&&this._braintreeSdk.initialize(this._paymentMethod.clientToken),this._applePayButton=this._createButton(r,null===(n=this._paymentMethod.initializationData)||void 0===n?void 0:n.styleOption),this._applePayButton.addEventListener("click",this._handleWalletButtonClick.bind(this)),Promise.resolve()})}deinitialize(){return Promise.resolve()}_createButton(e,t){const n=document.getElementById(e);if(!n)throw new kr("Unable to create wallet button without valid container ID.");const i=this._createApplePayButtonElement(t);return n.appendChild(i),i}_createApplePayButtonElement(e){const t=document.createElement("apple-pay-button");return t.setAttribute("buttonstyle",(e=>{switch(e){case go.White:return"white";case go.WhiteBorder:return"white-outline";case go.Black:default:return"black"}})(e)),t.setAttribute("type","plain"),t.setAttribute("style","--apple-pay-button-width: 100%; --apple-pay-button-height: 40px; --apple-pay-button-border-radius: 4px;"),t}_handleWalletButtonClick(e){return mo(this,void 0,void 0,function*(){var t;if(e.preventDefault(),!this._paymentMethod||!this._paymentMethod.initializationData)throw new mr(pr.MissingPaymentMethod);if(this._buyNowInitializeOptions&&"function"==typeof this._buyNowInitializeOptions.getBuyNowCartRequestBody){const{countryCode:e,currencyCode:n,merchantCapabilities:i,supportedNetworks:r,storeName:o}=this._paymentMethod.initializationData,a=this._getRequestWithEmptyTotal(e,n,r,i);this._requiresShipping&&(null===(t=a.requiredShippingContactFields)||void 0===t||t.push("postalAddress"));const s=this._sessionFactory.create(a);this._handleApplePayEvents(s,this._paymentMethod,o),s.begin()}else{const e=this._paymentIntegrationService.getState(),t=e.getCartOrThrow(),n=e.getStoreConfigOrThrow(),i=e.getCheckoutOrThrow(),r=this._getBaseRequest(t,i,n,this._paymentMethod),o=this._sessionFactory.create(r);this._handleApplePayEvents(o,this._paymentMethod,n.storeProfile.storeName),o.begin()}})}_getRequestWithEmptyTotal(e,t,n,i){return{countryCode:e,currencyCode:t,supportedNetworks:n,merchantCapabilities:i,total:{label:"",amount:"0",type:"pending"},requiredBillingContactFields:["postalAddress"],requiredShippingContactFields:["email","phone"]}}_getBaseRequest(e,t,n,i){var r;const{storeProfile:{storeCountryCode:o,storeName:a}}=n,{currency:{code:s,decimalPlaces:d}}=e,{initializationData:{merchantCapabilities:c,supportedNetworks:u}}=i,l=e.lineItems.physicalItems.length>0,h={requiredBillingContactFields:["postalAddress"],requiredShippingContactFields:["email","phone"],countryCode:o,currencyCode:s,merchantCapabilities:c,supportedNetworks:u,lineItems:[],total:l?{label:a,amount:`${t.grandTotal.toFixed(d)}`,type:"pending"}:{label:a,amount:`${t.grandTotal.toFixed(d)}`,type:"final"}};if(l)null===(r=h.requiredShippingContactFields)||void 0===r||r.push("postalAddress");else{const e=[{label:this._subTotalLabel,amount:`${t.subtotal.toFixed(d)}`}];t.taxes.forEach(t=>e.push({label:t.name,amount:`${t.amount.toFixed(d)}`})),h.lineItems=e}return h}_handleApplePayEvents(e,t,n){e.onvalidatemerchant=n=>mo(this,void 0,void 0,function*(){try{const{body:i}=yield this._onValidateMerchant(t,n);e.completeMerchantValidation(i)}catch(e){throw new Error("Merchant validation failed")}}),this._buyNowInitializeOptions&&!this._requiresShipping&&(e.onpaymentmethodselected=()=>mo(this,void 0,void 0,function*(){yield this._createBuyNowCart(),this._handlePaymentMethodSelected(e)})),e.onshippingcontactselected=t=>mo(this,void 0,void 0,function*(){this._buyNowInitializeOptions&&this._requiresShipping&&(yield this._createBuyNowCart()),yield this._handleShippingContactSelected(e,n,t)}),e.onshippingmethodselected=t=>mo(this,void 0,void 0,function*(){yield this._handleShippingMethodSelected(e,n,t)}),e.oncancel=()=>mo(this,void 0,void 0,function*(){try{const e=`/remote-checkout/${t.id}/signout`;return yield this._requestSender.get(e),yield this._paymentIntegrationService.loadCheckout()}catch(e){throw new ho}}),e.onpaymentauthorized=n=>mo(this,void 0,void 0,function*(){return this._onPaymentAuthorized(n,e,t)})}_createBuyNowCart(){return mo(this,void 0,void 0,function*(){var e,t;try{const n=null===(t=null===(e=this._buyNowInitializeOptions)||void 0===e?void 0:e.getBuyNowCartRequestBody)||void 0===t?void 0:t.call(e);if(!n)throw new mr(pr.MissingCart);const i=yield this._paymentIntegrationService.createBuyNowCart(n);yield this._paymentIntegrationService.loadCheckout(i.id);const r=this._paymentIntegrationService.getState(),{shouldExecuteSpamCheck:o}=r.getCheckoutOrThrow();o&&(yield this._paymentIntegrationService.verifyCheckoutSpamProtection())}catch(e){throw new Rr}})}_handlePaymentMethodSelected(e){const t=this._paymentIntegrationService.getState(),n=t.getCartOrThrow(),i=t.getStoreConfigOrThrow(),r=t.getCheckoutOrThrow();if(!this._paymentMethod||!this._paymentMethod.initializationData)throw new mr(pr.MissingPaymentMethod);const o=this._getBaseRequest(n,r,i,this._paymentMethod);delete o.total.type,e.completePaymentMethodSelection({newTotal:o.total,newLineItems:o.lineItems})}_handleShippingContactSelected(e,t,n){return mo(this,void 0,void 0,function*(){var i;const r=this._transformContactToAddress(n.shippingContact);try{yield this._paymentIntegrationService.updateShippingAddress(r)}catch(t){throw e.abort(),new Error("Shipping address update failed")}let o=this._paymentIntegrationService.getState();const{currency:{decimalPlaces:a}}=o.getCartOrThrow();let s=o.getCheckoutOrThrow();const d=null===(i=s.consignments[0].selectedShippingOption)||void 0===i?void 0:i.id,c=s.consignments[0].availableShippingOptions,u=null==c?void 0:c.find(({id:e})=>e===d),l=null==c?void 0:c.filter(e=>e.id!==d),h=u?[{label:u.description,amount:`${u.cost.toFixed(a)}`,detail:u.additionalDescription,identifier:u.id}]:[];if(l&&[...l.filter(e=>e.isRecommended),...l.filter(e=>!e.isRecommended)].forEach(e=>h.push({label:e.description,amount:`${e.cost.toFixed(a)}`,detail:e.additionalDescription,identifier:e.id})),!(c instanceof Array))throw new Error("Shipping options not available.");if(0===c.length)return void e.completeShippingContactSelection(ApplePaySession.STATUS_INVALID_SHIPPING_POSTAL_ADDRESS,[],{type:"pending",label:t,amount:`${s.grandTotal.toFixed(a)}`},[]);const p=c.find(e=>e.isRecommended),g=p?p.id:c[0].id,m=u?u.id:g;try{yield this._updateShippingOption(m)}catch(e){throw new Error("Shipping options update failed")}o=this._paymentIntegrationService.getState(),s=o.getCheckoutOrThrow(),e.completeShippingContactSelection({newShippingMethods:h,newTotal:{type:"final",label:t,amount:`${s.grandTotal.toFixed(a)}`},newLineItems:this._getUpdatedLineItems(s,a)})})}_handleShippingMethodSelected(e,t,n){return mo(this,void 0,void 0,function*(){const{shippingMethod:{identifier:i}}=n;try{yield this._updateShippingOption(i)}catch(t){throw e.abort(),new Error("Shipping option selection update failed.")}const r=this._paymentIntegrationService.getState(),{currency:{decimalPlaces:o}}=r.getCartOrThrow(),a=r.getCheckoutOrThrow();e.completeShippingMethodSelection({newTotal:{type:"final",label:t,amount:`${a.grandTotal.toFixed(o)}`},newLineItems:this._getUpdatedLineItems(a,o)})})}_getUpdatedLineItems(e,t){const n=[{label:this._subTotalLabel,amount:`${e.subtotal.toFixed(t)}`}];return e.taxes.forEach(e=>n.push({label:e.name,amount:`${e.amount.toFixed(t)}`})),n.push({label:this._shippingLabel,amount:`${e.shippingCostTotal.toFixed(t)}`}),n}_updateShippingOption(e){return mo(this,void 0,void 0,function*(){return this._paymentIntegrationService.selectShippingOption(e)})}_onValidateMerchant(e,t){return mo(this,void 0,void 0,function*(){const n=[`validationUrl=${t.validationURL}`,`merchantIdentifier=${e.initializationData.merchantId}`,`displayName=${e.initializationData.storeName}`,`domainName=${window.location.hostname}`].join("&");return this._requestSender.post(`${e.initializationData.paymentsUrl}/api/public/v1/payments/applepay/validate_merchant`,{credentials:!1,headers:{Accept:"application/json","Content-Type":"application/x-www-form-urlencoded","X-XSRF-TOKEN":null},body:n})})}_onPaymentAuthorized(e,t,n){return mo(this,void 0,void 0,function*(){var i;const{token:r,billingContact:o,shippingContact:a}=e.payment,s=this._paymentIntegrationService.getState().getCartOrThrow().lineItems.physicalItems.length>0;let d;(null===(i=n.initializationData)||void 0===i?void 0:i.gateway)===co.BRAINTREE&&(d=yield this._getBraintreeDeviceData());const c={methodId:n.id,paymentData:{deviceSessionId:d,formattedPayload:{apple_pay_token:{payment_data:r.paymentData,payment_method:r.paymentMethod,transaction_id:r.transactionIdentifier}}}},u=this._transformContactToAddress(o),l=this._transformContactToAddress(a),h=null==a?void 0:a.emailAddress,p=(null==a?void 0:a.phoneNumber)||"";try{return yield this._paymentIntegrationService.updateBillingAddress(Object.assign(Object.assign({},u),{email:h,phone:p})),s&&(yield this._paymentIntegrationService.updateShippingAddress(l)),yield this._paymentIntegrationService.submitOrder({useStoreCredit:!1}),yield this._paymentIntegrationService.submitPayment(c),t.completePayment(ApplePaySession.STATUS_SUCCESS),this._onAuthorizeCallback()}catch(e){throw t.completePayment(ApplePaySession.STATUS_FAILURE),new Error("Payment cannot complete")}})}_transformContactToAddress(e){return{firstName:(null==e?void 0:e.givenName)||"",lastName:(null==e?void 0:e.familyName)||"",city:(null==e?void 0:e.locality)||"",company:"",address1:(null==e?void 0:e.addressLines)&&e.addressLines[0]||"",address2:(null==e?void 0:e.addressLines)&&e.addressLines[1]||"",postalCode:(null==e?void 0:e.postalCode)||"",countryCode:(null==e?void 0:e.countryCode)||"",phone:(null==e?void 0:e.phoneNumber)||"",stateOrProvince:(null==e?void 0:e.administrativeArea)||"",stateOrProvinceCode:(null==e?void 0:e.administrativeArea)||"",customFields:[]}}_getBraintreeDeviceData(){return mo(this,void 0,void 0,function*(){try{const{deviceData:e}=yield this._braintreeSdk.getDataCollectorOrThrow();return e}catch(e){}})}}function fo(e){if(!function(e){return"ApplePaySession"in e}(e))throw new Error("Apple pay is not supported")}class _o{create(e){return fo(window),new ApplePaySession(1,e)}}class So{constructor(e){this.scriptLoader=e,this.sdkVersion="1.latest"}loadSdk(){return e=this,t=void 0,i=function*(){(function(e){return"ApplePaySDK"in e})(window)||(yield this.scriptLoader.loadScript(`https://applepay.cdn-apple.com/jsapi/${this.sdkVersion}/apple-pay-sdk.js`),fo(window))},new((n=void 0)||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())});var e,t,n,i}}const vo=Tr(t=>{const{getHost:n}=t.getState(),i=new Wr(t);return new yo(e({host:n()}),t,new _o,new ao(new lo(he(),window,i)),new So(new ue))},[{id:"applepay"}]);var Co,Io,wo,bo,Eo,Po,Oo,Ao;!function(e){e.BuyNow="BUY_NOW",e.INVOICE="B2B_INVOICE"}(Co||(Co={})),function(e){e.Possible="POSSIBLE",e.No="NO",e.Unknown="UNKNOWN",e.Yes="YES"}(Io||(Io={})),function(e){e.AUTHORIZE="authorize",e.CAPTURE="capture"}(wo||(wo={})),function(e){e.paypal="paypal",e.checkout="checkout",e.buynow="buynow",e.pay="pay",e.installment="installment"}(bo||(bo={})),function(e){e.gold="gold",e.blue="blue",e.silver="silver",e.black="black",e.white="white"}(Eo||(Eo={})),function(e){e.pill="pill",e.rect="rect"}(Po||(Po={})),function(e){e.OXXO="oxxo"}(Oo||(Oo={})),function(e){e.Approved="APPROVED",e.Created="CREATED",e.PayerActionRequired="PAYER_ACTION_REQUIRED",e.PollingStop="POLLING_STOP",e.PollingError="POLLING_ERROR"}(Ao||(Ao={}));var To=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class ko{constructor(e,t,n,i){this.formPoster=e,this.paymentIntegrationService=t,this.bigCommercePaymentsRequestSender=n,this.bigCommercePaymentsScriptLoader=i}loadPayPalSdk(e,t,n,i){return To(this,void 0,void 0,function*(){const r=this.paymentIntegrationService.getState(),o=t||r.getCartOrThrow().currency.code,a=r.getPaymentMethodOrThrow(e);return this.paypalSdk=yield this.bigCommercePaymentsScriptLoader.getPayPalSDK(a,o,n,i),this.paypalSdk})}getPayPalSdkOrThrow(){if(!this.paypalSdk)throw new Or;return this.paypalSdk}createBuyNowCartOrThrow(e){return To(this,void 0,void 0,function*(){const t=e.getBuyNowCartRequestBody();if(!t)throw new mr(pr.MissingCart);try{return yield this.paymentIntegrationService.createBuyNowCart(t)}catch(e){throw new Rr}})}createOrder(e,t){return To(this,void 0,void 0,function*(){const n=this.paymentIntegrationService.getState().getCartOrThrow().id,{orderId:i}=yield this.bigCommercePaymentsRequestSender.createOrder(e,Object.assign({cartId:n},t));return i})}createOrderCardFields(e,t){return To(this,void 0,void 0,function*(){const n=this.paymentIntegrationService.getState().getCartOrThrow().id,{orderId:i,setupToken:r}=yield this.bigCommercePaymentsRequestSender.createOrder(e,Object.assign({cartId:n},t));return Object.assign({orderId:i},r?{setupToken:r}:{})})}updateOrder(e){return To(this,void 0,void 0,function*(){const t=this.paymentIntegrationService.getState(),n=t.getCartOrThrow();let i;e||(i=t.getConsignmentsOrThrow()[0]);try{yield this.bigCommercePaymentsRequestSender.updateOrder({availableShippingOptions:e?[]:null==i?void 0:i.availableShippingOptions,cartId:n.id,selectedShippingOption:e?null:null==i?void 0:i.selectedShippingOption})}catch(e){throw new we}})}getOrderStatus(e,t){return To(this,void 0,void 0,function*(){try{const{status:n}=yield this.bigCommercePaymentsRequestSender.getOrderStatus(e,t);return n}catch(e){throw new we}})}tokenizePayment(e,t){const n=this.paymentIntegrationService.getState().getCartOrThrow();if(!t)throw new mr(pr.MissingOrderId);return this.formPoster.postForm("/checkout.php",Object.assign({payment_type:"paypal",action:"set_external_checkout",provider:e,order_id:t},n.source===Co.BuyNow&&{cart_id:n.id}))}submitPayment(e,t,n){return To(this,void 0,void 0,function*(){const i={formattedPayload:{vault_payment_instrument:null,set_as_default_stored_instrument:null,device_info:null,method_id:e,paypal_account:{order_id:t}}};yield this.paymentIntegrationService.submitPayment(Object.assign({methodId:e,paymentData:i},n?{gatewayId:n}:{}))})}getShippingOptionOrThrow(e){const t=this.paymentIntegrationService.getState().getConsignmentsOrThrow()[0],n=t.availableShippingOptions||[],i=n.find(e=>e.isRecommended),r=(e?n.find(t=>t.id===e):n.find(e=>{var n;return e.id===(null===(n=t.selectedShippingOption)||void 0===n?void 0:n.id)}))||i||n[0];if(!r)throw new Error("Your order can't be shipped to this address");return r}getAddress(e){return{firstName:(null==e?void 0:e.firstName)||"",lastName:(null==e?void 0:e.lastName)||"",email:(null==e?void 0:e.email)||"",phone:(null==e?void 0:e.phone)||"",company:"",address1:(null==e?void 0:e.address1)||"",address2:(null==e?void 0:e.address2)||"",city:(null==e?void 0:e.city)||"",countryCode:(null==e?void 0:e.countryCode)||"",postalCode:(null==e?void 0:e.postalCode)||"",stateOrProvince:"",stateOrProvinceCode:(null==e?void 0:e.stateOrProvinceCode)||"",customFields:[]}}getBillingAddressFromOrderDetails({payer:e}){var t,n;return this.getAddress({firstName:e.name.given_name,lastName:e.name.surname,email:e.email_address,address1:e.address.address_line_1,address2:e.address.address_line_2,city:e.address.admin_area_2,countryCode:e.address.country_code,postalCode:e.address.postal_code,stateOrProvinceCode:e.address.admin_area_1,phone:null===(n=null===(t=e.phone)||void 0===t?void 0:t.phone_number)||void 0===n?void 0:n.national_number})}getShippingAddressFromOrderDetails(e){const{payer:t,purchase_units:n}=e,{address:i,name:{full_name:r}}=n[0].shipping,[o,...a]=r.split(" ");return this.getAddress({firstName:o,lastName:a.join(" "),email:t.email_address,address1:i.address_line_1,address2:i.address_line_2,city:i.admin_area_2,countryCode:i.country_code,postalCode:i.postal_code,stateOrProvinceCode:i.admin_area_1})}getValidButtonStyle(e){const{color:t,height:n,label:i,shape:r}=e||{},o={color:t&&Eo[t]?t:void 0,height:this.getValidHeight(n),label:i&&bo[i]?i:void 0,shape:r&&Po[r]?r:void 0};return R(o,v)}getValidHeight(e){return e&&"number"==typeof e?e>55?55:e<25?25:e:40}removeElement(e){const t=e&&document.getElementById(e);t&&(t.style.display="none")}}var Ro=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Do{constructor(e){this.requestSender=e}createOrder(e,t){return Ro(this,void 0,void 0,function*(){const n=`/api/storefront/payment/${e}`,i=t,r=Object.assign({"X-API-INTERNAL":zr,"Content-Type":Fr.Json},Ur);return(yield this.requestSender.post(n,{headers:r,body:i})).body})}updateOrder(e){return Ro(this,void 0,void 0,function*(){const t=e,n=Object.assign({"X-API-INTERNAL":zr,"Content-Type":Fr.Json},Ur);return(yield this.requestSender.put("/api/storefront/initialization/bigcommerce_payments",{headers:n,body:t})).body})}getOrderStatus(){return Ro(this,arguments,void 0,function*(e="bigcommerce_payments",t){const n=`/api/storefront/initialization/${e}`,i=Object.assign({"X-API-INTERNAL":zr,"Content-Type":Fr.Json},Ur);return(yield this.requestSender.get(n,Object.assign({headers:i},t))).body})}}var Mo=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class No{constructor(e){this.scriptLoader=e,this.window=window}getPayPalSDK(e,t,n,i){return Mo(this,void 0,void 0,function*(){const r=this.getPayPalSdkScriptConfigOrThrow(e,t,n);return this.loadPayPalSDK(r,i)})}loadPayPalSDK(e){return Mo(this,arguments,void 0,function*(e,t=!1){if(!this.window.bigCommercePaymentsPayPalSDK||t){const t=this.transformConfig(e.options),n=this.transformConfig(e.attributes),i=`https://www.paypal.com/sdk/js?${new URLSearchParams(t).toString()}`;yield this.scriptLoader.loadScript(i,{async:!0,attributes:n})}if(!this.window.bigCommercePaymentsPayPalSDK)throw new Or;return this.window.bigCommercePaymentsPayPalSDK})}getPayPalSdkScriptConfigOrThrow(e,t,n=!0){const{id:i,clientToken:r,initializationData:o}=e;if(!(null==o?void 0:o.clientId))throw new mr(pr.MissingPaymentMethod);const{intent:a,clientId:s,merchantId:d,buyerCountry:c,attributionId:u,isVenmoEnabled:l,isHostedCheckoutEnabled:h,isPayPalCreditAvailable:p,isDeveloperModeApplicable:g,availableAlternativePaymentMethods:m=[],enabledAlternativePaymentMethods:y=[],isGooglePayEnabled:f}=o,_=h||n,S="bigcommerce_payments_creditcards"===i,v=S?["card"]:[],C=S?[]:["card"],I=p?["credit","paylater"]:[],w=p?[]:["credit","paylater"],b=l?["venmo"]:[],E=l?[]:["venmo"],P=m.filter(e=>!y.includes(e)),O=f?["googlepay"]:[],A=n?["card-fields"]:[],T=this.filterFundingOptions([...C,...w,...E,...P]),k=this.filterFundingOptions([...v,...I,...b,...y]);return{options:Object.assign({"client-id":s,"merchant-id":d,"enable-funding":k.length>0?k:void 0,"disable-funding":T.length>0?T:void 0,commit:_,components:["buttons","hosted-fields","payment-fields","legal",...O,...A],currency:t,intent:a},g&&{"buyer-country":c}),attributes:{"data-partner-attribution-id":u,"data-client-token":r,"data-namespace":"bigCommercePaymentsPayPalSDK"}}}filterFundingOptions(e){const t=["klarna","afterpay"];return e?e.filter(e=>!t.includes(e)):[]}transformConfig(e){let t={};return Object.keys(e).forEach(n=>{const i=e[n];null==i||""===i||Array.isArray(i)&&0===i.length||(t=Object.assign(Object.assign({},t),{[n]:Array.isArray(i)?i.join(","):i}))}),t}}const Lo=t=>{const{getHost:i}=t.getState();return new ko(n(),t,new Do(e({host:i()})),new No(he()))};var zo=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Bo{constructor(e,t){this.paymentIntegrationService=e,this.bigCommercePaymentsIntegrationService=t}initialize(e){return zo(this,void 0,void 0,function*(){var t;const{bigcommerce_payments:n,containerId:i,methodId:r}=e,o=Boolean(null==n?void 0:n.buyNowInitializeOptions);if(!r)throw new kr('Unable to initialize payment because "options.methodId" argument is not provided.');if(!i)throw new kr('Unable to initialize payment because "options.containerId" argument is not provided.');if(!n)throw new kr('Unable to initialize payment because "options.bigcommerce_payments" argument is not provided.');if(o&&!n.currencyCode)throw new kr('Unable to initialize payment because "options.bigcommerce_payments.currencyCode" argument is not provided.');if(o&&"function"!=typeof(null===(t=n.buyNowInitializeOptions)||void 0===t?void 0:t.getBuyNowCartRequestBody))throw new kr('Unable to initialize payment because "options.bigcommerce_payments.buyNowInitializeOptions.getBuyNowCartRequestBody" argument is not provided or it is not a function.');o||(yield this.paymentIntegrationService.loadDefaultCheckout());const a=o?n.currencyCode:this.paymentIntegrationService.getState().getCartOrThrow().currency.code;yield this.bigCommercePaymentsIntegrationService.loadPayPalSdk(r,a,!1),this.renderButton(i,r,n)})}deinitialize(){return Promise.resolve()}renderButton(e,t,n){const{buyNowInitializeOptions:i,style:r,onComplete:o,onEligibilityFailure:a}=n,s=this.bigCommercePaymentsIntegrationService.getPayPalSdkOrThrow(),d=this.paymentIntegrationService.getState().getPaymentMethodOrThrow(t),{isHostedCheckoutEnabled:c,isServerSideShippingCallbacksEnabled:u}=d.initializationData||{},l={createOrder:()=>this.bigCommercePaymentsIntegrationService.createOrder("bigcommerce_payments"),onApprove:({orderID:e})=>this.bigCommercePaymentsIntegrationService.tokenizePayment(t,e)},h={onClick:()=>this.handleClick(i),onCancel:()=>this.paymentIntegrationService.loadDefaultCheckout()},p=Object.assign(Object.assign({},!u&&{onShippingAddressChange:e=>this.onShippingAddressChange(e),onShippingOptionsChange:e=>this.onShippingOptionsChange(e)}),{onApprove:(e,n)=>this.onHostedCheckoutApprove(e,n,t,o,u)}),g=Object.assign(Object.assign(Object.assign({fundingSource:s.FUNDING.PAYPAL,style:this.bigCommercePaymentsIntegrationService.getValidButtonStyle(r)},l),i&&h),c&&p),m=s.Buttons(g);m.isEligible()?m.render(`#${e}`):a&&"function"==typeof a?a():this.bigCommercePaymentsIntegrationService.removeElement(e)}handleClick(e){return zo(this,void 0,void 0,function*(){if(e){const t=yield this.bigCommercePaymentsIntegrationService.createBuyNowCartOrThrow(e);yield this.paymentIntegrationService.loadCheckout(t.id)}})}onHostedCheckoutApprove(e,t,n,i,r){return zo(this,void 0,void 0,function*(){if(!e.orderID)throw new mr(pr.MissingOrderId);const o=this.paymentIntegrationService.getState().getCartOrThrow();try{const a=o.lineItems.physicalItems.length>0;if(!r){const e=yield t.order.get(),n=this.bigCommercePaymentsIntegrationService.getBillingAddressFromOrderDetails(e);if(yield this.paymentIntegrationService.updateBillingAddress(n),a){const t=this.bigCommercePaymentsIntegrationService.getShippingAddressFromOrderDetails(e);yield this.paymentIntegrationService.updateShippingAddress(t)}}return a&&(yield this.bigCommercePaymentsIntegrationService.updateOrder(r)),r&&(yield this.paymentIntegrationService.loadCheckout()),yield this.paymentIntegrationService.submitOrder({},{params:{methodId:n}}),yield this.bigCommercePaymentsIntegrationService.submitPayment(n,e.orderID),i&&"function"==typeof i&&i(),!0}catch(e){if("string"==typeof e)throw new Error(e);throw e}})}onShippingAddressChange(e){return zo(this,void 0,void 0,function*(){const t=this.bigCommercePaymentsIntegrationService.getAddress({city:e.shippingAddress.city,countryCode:e.shippingAddress.countryCode,postalCode:e.shippingAddress.postalCode,stateOrProvinceCode:e.shippingAddress.state});try{yield this.paymentIntegrationService.updateBillingAddress(t),yield this.paymentIntegrationService.updateShippingAddress(t);const e=this.bigCommercePaymentsIntegrationService.getShippingOptionOrThrow();yield this.paymentIntegrationService.selectShippingOption(e.id),yield this.bigCommercePaymentsIntegrationService.updateOrder()}catch(e){if("string"==typeof e)throw new Error(e);throw e}})}onShippingOptionsChange(e){return zo(this,void 0,void 0,function*(){const t=this.bigCommercePaymentsIntegrationService.getShippingOptionOrThrow(e.selectedShippingOption.id);try{yield this.paymentIntegrationService.selectShippingOption(t.id),yield this.bigCommercePaymentsIntegrationService.updateOrder()}catch(e){if("string"==typeof e)throw new Error(e);throw e}})}}const Fo=Tr(e=>new Bo(e,Lo(e)),[{id:"bigcommerce_payments"}]);var Uo=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class xo{constructor(e,t){this.paymentIntegrationService=e,this.bigCommercePaymentsIntegrationService=t}initialize(e){return Uo(this,void 0,void 0,function*(){const{bigcommerce_payments_paylater:t,containerId:n,methodId:i}=e,{buyNowInitializeOptions:r,currencyCode:o}=t||{},a=!!r;if(!i)throw new kr('Unable to initialize payment because "options.methodId" argument is not provided.');if(!n)throw new kr('Unable to initialize payment because "options.containerId" argument is not provided.');if(!t)throw new kr('Unable to initialize payment because "options.bigcommerce_payments_paylater" argument is not provided.');if(a&&!o)throw new kr('Unable to initialize payment because "options.bigcommerce_payments_paylater.currencyCode" argument is not provided.');if(a&&"function"!=typeof(null==r?void 0:r.getBuyNowCartRequestBody))throw new kr('Unable to initialize payment because "options.bigcommerce_payments_paylater.buyNowInitializeOptions.getBuyNowCartRequestBody" argument is not provided or it is not a function.');a||(yield this.paymentIntegrationService.loadDefaultCheckout());const s=this.paymentIntegrationService.getState(),d=a?o:s.getCartOrThrow().currency.code;yield this.bigCommercePaymentsIntegrationService.loadPayPalSdk(i,d,!1),this.renderButton(n,i,t)})}deinitialize(){return Promise.resolve()}renderButton(e,t,n){const{buyNowInitializeOptions:i,style:r,onComplete:o,onEligibilityFailure:a}=n,s=this.bigCommercePaymentsIntegrationService.getPayPalSdkOrThrow(),d=this.paymentIntegrationService.getState().getPaymentMethodOrThrow(t),{isHostedCheckoutEnabled:c}=d.initializationData||{},u={createOrder:()=>this.bigCommercePaymentsIntegrationService.createOrder("bigcommerce_payments_paylater"),onApprove:({orderID:e})=>this.bigCommercePaymentsIntegrationService.tokenizePayment(t,e)},l={onClick:()=>this.handleClick(i),onCancel:()=>this.paymentIntegrationService.loadDefaultCheckout()},h={onShippingAddressChange:e=>this.onShippingAddressChange(e),onShippingOptionsChange:e=>this.onShippingOptionsChange(e),onApprove:(e,n)=>this.onHostedCheckoutApprove(e,n,t,o)},p=[s.FUNDING.PAYLATER,s.FUNDING.CREDIT];let g=!1;p.forEach(t=>{if(!g){const n=Object.assign(Object.assign(Object.assign({fundingSource:t,style:this.bigCommercePaymentsIntegrationService.getValidButtonStyle(r)},u),i&&l),c&&h),o=s.Buttons(n);o.isEligible()?(o.render(`#${e}`),g=!0):a&&"function"==typeof a&&a()}}),g||this.bigCommercePaymentsIntegrationService.removeElement(e)}handleClick(e){return Uo(this,void 0,void 0,function*(){if(e){const t=yield this.bigCommercePaymentsIntegrationService.createBuyNowCartOrThrow(e);yield this.paymentIntegrationService.loadCheckout(t.id)}})}onHostedCheckoutApprove(e,t,n,i){return Uo(this,void 0,void 0,function*(){if(!e.orderID)throw new mr(pr.MissingOrderId);const r=this.paymentIntegrationService.getState().getCartOrThrow(),o=yield t.order.get();try{const t=this.bigCommercePaymentsIntegrationService.getBillingAddressFromOrderDetails(o);if(yield this.paymentIntegrationService.updateBillingAddress(t),r.lineItems.physicalItems.length>0){const e=this.bigCommercePaymentsIntegrationService.getShippingAddressFromOrderDetails(o);yield this.paymentIntegrationService.updateShippingAddress(e),yield this.bigCommercePaymentsIntegrationService.updateOrder()}return yield this.paymentIntegrationService.submitOrder({},{params:{methodId:n}}),yield this.bigCommercePaymentsIntegrationService.submitPayment(n,e.orderID),i&&"function"==typeof i&&i(),!0}catch(e){if("string"==typeof e)throw new Error(e);throw e}})}onShippingAddressChange(e){return Uo(this,void 0,void 0,function*(){const t=this.bigCommercePaymentsIntegrationService.getAddress({city:e.shippingAddress.city,countryCode:e.shippingAddress.countryCode,postalCode:e.shippingAddress.postalCode,stateOrProvinceCode:e.shippingAddress.state});try{yield this.paymentIntegrationService.updateBillingAddress(t),yield this.paymentIntegrationService.updateShippingAddress(t);const e=this.bigCommercePaymentsIntegrationService.getShippingOptionOrThrow();yield this.paymentIntegrationService.selectShippingOption(e.id),yield this.bigCommercePaymentsIntegrationService.updateOrder()}catch(e){if("string"==typeof e)throw new Error(e);throw e}})}onShippingOptionsChange(e){return Uo(this,void 0,void 0,function*(){const t=this.bigCommercePaymentsIntegrationService.getShippingOptionOrThrow(e.selectedShippingOption.id);try{yield this.paymentIntegrationService.selectShippingOption(t.id),yield this.bigCommercePaymentsIntegrationService.updateOrder()}catch(e){if("string"==typeof e)throw new Error(e);throw e}})}}const qo=Tr(e=>new xo(e,Lo(e)),[{id:"bigcommerce_payments_paylater"}]);var jo=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Go{constructor(e,t){this.paymentIntegrationService=e,this.bigCommercePaymentsIntegrationService=t}initialize(e){return jo(this,void 0,void 0,function*(){const{bigcommerce_payments_venmo:t,containerId:n,methodId:i}=e,{buyNowInitializeOptions:r,currencyCode:o}=t||{},a=!!r;if(!i)throw new kr('Unable to initialize payment because "options.methodId" argument is not provided.');if(!n)throw new kr('Unable to initialize payment because "options.containerId" argument is not provided.');if(!t)throw new kr('Unable to initialize payment because "options.bigcommerce_payments_venmo" argument is not provided.');if(a&&!o)throw new kr('Unable to initialize payment because "options.bigcommerce_payments_venmo.currencyCode" argument is not provided.');if(a&&"function"!=typeof(null==r?void 0:r.getBuyNowCartRequestBody))throw new kr('Unable to initialize payment because "options.bigcommerce_payments_venmo.buyNowInitializeOptions.getBuyNowCartRequestBody" argument is not provided or it is not a function.');a||(yield this.paymentIntegrationService.loadDefaultCheckout());const s=a?o:this.paymentIntegrationService.getState().getCartOrThrow().currency.code;yield this.bigCommercePaymentsIntegrationService.loadPayPalSdk(i,s,!1),this.renderButton(n,i,t)})}deinitialize(){return Promise.resolve()}renderButton(e,t,n){const{buyNowInitializeOptions:i,style:r,onEligibilityFailure:o}=n,a=this.bigCommercePaymentsIntegrationService.getPayPalSdkOrThrow(),s=a.FUNDING.VENMO,d={createOrder:()=>this.bigCommercePaymentsIntegrationService.createOrder("bigcommerce_payments_venmo"),onApprove:({orderID:e})=>this.bigCommercePaymentsIntegrationService.tokenizePayment(t,e)},c={onClick:()=>this.handleClick(i),onCancel:()=>this.paymentIntegrationService.loadDefaultCheckout()},u=Object.assign(Object.assign({fundingSource:s,style:this.getValidVenmoButtonStyles(r)},d),i&&c),l=a.Buttons(u);l.isEligible()?l.render(`#${e}`):o&&"function"==typeof o?o():this.bigCommercePaymentsIntegrationService.removeElement(e)}getValidVenmoButtonStyles(e){const t=this.bigCommercePaymentsIntegrationService.getValidButtonStyle(e);return t.color===Eo.gold?Object.assign(Object.assign({},t),{color:void 0}):t}handleClick(e){return jo(this,void 0,void 0,function*(){if(e){const t=yield this.bigCommercePaymentsIntegrationService.createBuyNowCartOrThrow(e);yield this.paymentIntegrationService.loadCheckout(t.id)}})}}const Vo=Tr(e=>new Go(e,Lo(e)),[{id:"bigcommerce_payments_venmo"}]);class Ho extends Ce{constructor(e){super(e||"Not implemented."),this.name="NotImplementedError",this.type="not_implemented"}}var Wo,Yo,Ko;!function(e){e.SandboxMode="bolt_sandbox",e.StagingMode="bolt_staging",e.DevelopmentMode="bolt_development"}(Wo||(Wo={})),function(e){e.Small="small",e.Medium="medium",e.Large="large"}(Yo||(Yo={})),function(e){e.Pill="pill",e.Rect="rect"}(Ko||(Ko={}));class $o{constructor(e,t,n=window){this.paymentIntegrationService=e,this.boltScriptLoader=t,this.boltHostWindow=n}initialize(e){return t=this,n=void 0,r=function*(){const{bolt:t,containerId:n,methodId:i}=e,{buyNowInitializeOptions:r,style:o}=t||{};if(!i)throw new kr('Unable to initialize payment because "options.methodId" argument is not provided.');if(!n)throw new kr('Unable to initialize payment because "options.containerId" argument is not provided.');if(!t)throw new kr('Unable to initialize payment because "options.bolt" argument is not provided.');if(!Boolean(r))throw new Ho("Only buy now flow is implemented for Bolt button");if(!(null==r?void 0:r.storefrontApiToken)||"string"!=typeof r.storefrontApiToken)throw new kr('Unable to initialize payment because "options.storefrontApiToken" argument is not provided.');const a=this.paymentIntegrationService.getState().getPaymentMethodOrThrow(i),{initializationData:s,config:d}=a,{publishableKey:c,developerConfig:u}=s||{};yield this.boltScriptLoader.loadBoltClient(c,d.testMode,u,"BigCommerce",r.storefrontApiToken),this.renderButton(n,a,o)},new((i=void 0)||(i=Promise))(function(e,o){function a(e){try{d(r.next(e))}catch(e){o(e)}}function s(e){try{d(r.throw(e))}catch(e){o(e)}}function d(t){var n;t.done?e(t.value):(n=t.value,n instanceof i?n:new i(function(e){e(n)})).then(a,s)}d((r=r.apply(t,n||[])).next())});var t,n,i,r}deinitialize(){return Promise.resolve()}renderButton(e,t,n){var i;"function"==typeof(null===(i=this.boltHostWindow.BoltConnect)||void 0===i?void 0:i.setupProductPageCheckout)&&(this.addButtonContainer(e,t,n),this.boltHostWindow.BoltConnect.setupProductPageCheckout())}addButtonContainer(e,t,n){const i=document.getElementById(e);if(!i)return;const r=document.createElement("div"),o=document.createElement("object");r.setAttribute("id","product-page-checkout-wrapper"),r.setAttribute("class","bolt-button-wrapper"),r.setAttribute("style","display:none"),r.setAttribute("data-tid","product-page-checkout-wrapper"),o.setAttribute("data",this.getBoltObjectData(t,n)),o.setAttribute("class","bolt-product-checkout-button"),r.append(o),i.innerHTML="",i.append(r)}getBoltObjectData(e,t){const{initializationData:n,config:i}=e,{publishableKey:r,developerConfig:o}=n||{},a=this.boltScriptLoader.getDomainURL(!!i.testMode,o),s=this.getButtonHeight(null==t?void 0:t.size),d=this.getButtonBorderRadius(null==t?void 0:t.shape,s);return pe({url:`https://${a}/v1/checkout_button`,query:{publishable_key:r,variant:"ppc",height:s,border_radius:d}})}getButtonHeight(e){if(e)switch(e){case Yo.Small:return 25;case Yo.Large:return 45;case Yo.Medium:default:return 40}}getButtonBorderRadius(e,t){if(e)switch(e){case Ko.Pill:return t?Math.round(t/2):void 0;case Ko.Rect:default:return 4}}}var Zo=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Jo{constructor(e,t=window){this.scriptLoader=e,this.boltHostWindow=t}loadBoltClient(e,t,n,i,r){return Zo(this,void 0,void 0,function*(){if(this.boltHostWindow.BoltCheckout)return this.boltHostWindow.BoltCheckout;if(!e)throw new kr('Unable to initialize payment because "publishableKey" argument is not provided.');if(yield this.scriptLoader.loadScript(`//${this.getDomainURL(!!t,n)}/connect-bigcommerce.js`,this.getScriptOptions("bolt-connect",e,i,r)),yield this.scriptLoader.loadScript(`//${this.getDomainURL(!!t,n)}/track.js`,this.getScriptOptions("bolt-track",e)),!this.boltHostWindow.BoltCheckout)throw new Or;return this.boltHostWindow.BoltCheckout})}loadBoltEmbedded(e,t,n){return Zo(this,void 0,void 0,function*(){if(yield this.scriptLoader.loadScript(`//${this.getDomainURL(!!t,n)}/embed.js`,{async:!0,attributes:{id:"bolt-embedded"}}),!this.boltHostWindow.Bolt)throw new Or;return this.boltHostWindow.Bolt(e)})}getDomainURL(e,t){if(!e)return"connect.bolt.com";if(t)switch(t.developerMode){case Wo.StagingMode:return"connect-staging.bolt.com";case Wo.DevelopmentMode:return`connect.${t.developerDomain}`}return"connect-sandbox.bolt.com"}getScriptOptions(e,t,n,i){return{async:!0,attributes:Object.assign(Object.assign({id:e,"data-publishable-key":t},n&&{"data-shopping-cart-id":n}),i&&{"data-storefront-api-token":i})}}}const Qo=Tr(e=>new $o(e,new Jo(he())),[{id:"bolt"}]);class Xo extends kr{constructor(e){let t="Unable to submit payment for the order because the payload is invalid.";e&&(t=`${t} Make sure the following fields are provided correctly: ${e.join(", ")}.`),super(t),this.name="PaymentArgumentInvalidError"}}class ea extends Ce{constructor(e,t){super(t||"Unable to proceed because the payment form contains invalid data."),this.details=e,this.name="PaymentInvalidFormError",this.type="payment_invalid_form"}}let ta=null;const na=["buttons","messages"];var ia,ra,oa,aa,sa,da;!function(e){e.HORIZONTAL="horizontal",e.VERTICAL="vertical"}(ia||(ia={})),function(e){e.SMALL="small",e.MEDIUM="medium",e.LARGE="large",e.RESPONSIVE="responsive"}(ra||(ra={})),function(e){e.GOLD="gold",e.BLUE="blue",e.SIlVER="silver",e.BLACK="black",e.WHITE="white"}(oa||(oa={})),function(e){e.CHECKOUT="checkout",e.PAY="pay",e.BUYNOW="buynow",e.PAYPAL="paypal",e.CREDIT="credit"}(aa||(aa={})),function(e){e.PILL="pill",e.RECT="rect"}(sa||(sa={})),function(e){e.CART="cart",e.HOME="homepage",e.PAYMENT="payment",e.PRODUCT="product"}(da||(da={}));var ca=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class ua{constructor(e,t,n){this.braintreeScriptLoader=e,this.braintreeHostWindow=t,this.overlay=n,this.dataCollectors={}}initialize(e,t){this.clientToken=e,this.threeDSecureOptions=t}getBraintreeFastlane(e,t,n){return ca(this,void 0,void 0,function*(){if(t&&(window.localStorage.setItem("axoEnv","sandbox"),window.localStorage.setItem("fastlaneEnv","sandbox")),!this.braintreeHostWindow.braintreeFastlane){const t=this.getClientTokenOrThrow(),i=yield this.getClient(),r=yield this.getSessionId(e),o=yield this.braintreeScriptLoader.loadFastlane(),a={root:{backgroundColorPrimary:"transparent"}};this.braintreeHostWindow.braintreeFastlane=yield o.create({authorization:t,client:i,deviceData:r,styles:n||a})}return this.braintreeHostWindow.braintreeFastlane})}getClient(){return ca(this,void 0,void 0,function*(){if(!this.client){const e=this.getClientTokenOrThrow(),t=yield this.braintreeScriptLoader.loadClient();this.client=t.create({authorization:e})}return this.client})}getPaypal(){return this.braintreePaypal||(this.braintreePaypal=Promise.all([this.getClient(),this.braintreeScriptLoader.loadPaypal()]).then(([e,t])=>t.create({client:e}))),this.braintreePaypal}paypal(e){var{shouldSaveInstrument:t}=e,n=function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]])}return n}(e,["shouldSaveInstrument"]);const i=ge();return this.getPaypal().then(e=>{var r;return i&&(null===(r=this.overlay)||void 0===r||r.show({onClick:()=>e.focusWindow()})),e.tokenize(Object.assign({enableShippingAddress:!0,flow:t?"vault":"checkout",useraction:"commit"},n))}).then(e=>{var t;return null===(t=this.overlay)||void 0===t||t.remove(),e}).catch(e=>{var t;throw null===(t=this.overlay)||void 0===t||t.remove(),e})}getPaypalCheckout(e,t,n){return ca(this,void 0,void 0,function*(){const i=yield this.getClient(),r=yield this.braintreeScriptLoader.loadPaypalCheckout(),o={client:i};return this.paypalCheckout=yield r.create(o,(i,r)=>{var o;if(i)return n(i);const a=Object.assign(Object.assign({currency:e.currency},e.isCreditEnabled&&{"enable-funding":"paylater"}),{components:na.toString(),intent:e.intent,commit:null===(o=e.commit)||void 0===o||o});this.braintreeHostWindow.paypal?t(r):function(e,t){return ta||(ta=new Promise((n,i)=>{e.loadPayPalSDK(t,t=>{t?(ta=null,i(t)):n(e)})})),ta}(r,a).then(()=>t(r))}),this.paypalCheckout})}getDataCollector(e){return ca(this,void 0,void 0,function*(){const t=(null==e?void 0:e.paypal)?"paypal":"default";let n=this.dataCollectors[t];if(!n){try{const t=yield this.getClient(),i=yield this.braintreeScriptLoader.loadDataCollector(),r=Object.assign({client:t,kount:!0},e);n=yield i.create(r)}catch(e){if(!to(e)||"DATA_COLLECTOR_KOUNT_NOT_ENABLED"!==e.code)throw e;n={deviceData:void 0,teardown:()=>Promise.resolve()}}this.dataCollectors[t]=n}return n})}getBraintreeEnv(e=!1){return e?no.Sandbox:no.Production}mapToBraintreeShippingAddressOverride(e){return{recipientName:`${e.firstName} ${e.lastName}`,line1:e.address1,line2:e.address2,city:e.city,state:e.stateOrProvinceCode,postalCode:e.postalCode,countryCode:e.countryCode,phone:e.phone}}mapToLegacyShippingAddress(e){const{email:t,phone:n,shippingAddress:i}=e,r=(null==i?void 0:i.recipientName)||"",[o,a]=r.split(" ");return{email:t,first_name:o||"",last_name:a||"",phone_number:n,address_line_1:null==i?void 0:i.line1,address_line_2:null==i?void 0:i.line2,city:null==i?void 0:i.city,state:null==i?void 0:i.state,country_code:null==i?void 0:i.countryCode,postal_code:null==i?void 0:i.postalCode}}mapToLegacyBillingAddress(e){const{billingAddress:t,email:n,firstName:i,lastName:r,phone:o,shippingAddress:a}=e,s=t||a;return{email:n,first_name:i,last_name:r,phone_number:o,address_line_1:null==s?void 0:s.line1,address_line_2:null==s?void 0:s.line2,city:null==s?void 0:s.city,state:null==s?void 0:s.state,country_code:null==s?void 0:s.countryCode,postal_code:null==s?void 0:s.postalCode}}removeElement(e){const t=e&&document.getElementById(e);t&&t.remove()}getSessionId(e){return ca(this,void 0,void 0,function*(){const{deviceData:t}=yield this.getDataCollector({riskCorrelationId:e});return t})}teardown(){return ca(this,void 0,void 0,function*(){yield this.teardownModule(this.dataCollectors.default),yield this.teardownModule(this.dataCollectors.paypal),this.dataCollectors={},yield this.teardownModule(this.paypalCheckout),this.paypalCheckout=void 0})}get3DS(){return ca(this,void 0,void 0,function*(){return this.threeDS||(this.threeDS=Promise.all([this.getClient(),this.braintreeScriptLoader.load3DS()]).then(([e,t])=>t.create({client:e,version:2}))),this.threeDS})}getVenmoCheckout(e){return ca(this,void 0,void 0,function*(){if(!this.venmoCheckout){const t=yield this.getClient(),n=yield this.braintreeScriptLoader.loadVenmoCheckout(),i=Object.assign({client:t,allowDesktop:!0,paymentMethodUsage:"multi_use"},e||{});this.venmoCheckout=yield new Promise((e,t)=>{n.create(i,(n,i)=>n?t(n):i.isBrowserSupported()?void e(i):t(new Yr))})}return this.venmoCheckout})}verifyCard(e,t,n){return ca(this,void 0,void 0,function*(){const i=yield this.tokenizeCard(e,t);return this.challenge3DSVerification(i,n)})}tokenizeCard(e,t){return ca(this,void 0,void 0,function*(){const{paymentData:n}=e;if(!function(e){if("object"!=typeof e||null===e)return!1;const t=e;return"object"==typeof t.ccExpiry&&null!==t.ccExpiry&&"string"==typeof t.ccNumber&&"string"==typeof t.ccName}(n))throw new Xo(["payment.paymentData"]);const i=this.getErrorsRequiredFields(n);if(!f(i))throw new ea(i);const r=this.mapToCreditCard(n,t),o=yield this.getClient(),{creditCards:a}=yield o.request(r);return{nonce:a[0].nonce,bin:a[0].details.bin}})}challenge3DSVerification(e,t){return ca(this,void 0,void 0,function*(){const n=yield this.get3DS();return this.present3DSChallenge(n,t,e)})}teardownModule(e){return e?e.teardown():Promise.resolve()}getClientTokenOrThrow(){if(!this.clientToken)throw new _r(gr.PaymentNotInitialized);return this.clientToken}getErrorsRequiredFields(e){const{ccNumber:t,ccExpiry:n}=e,i={};return t||(i.ccNumber=[{message:"Credit card number is required",type:"required"}]),n||(i.ccExpiry=[{message:"Expiration date is required",type:"required"}]),i}mapToCreditCard(e,t){return{data:{creditCard:{cardholderName:e.ccName,number:e.ccNumber,cvv:e.ccCvv,expirationDate:`${e.ccExpiry.month}/${e.ccExpiry.year}`,options:{validate:!1},billingAddress:t&&{countryCodeAlpha2:t.countryCode,locality:t.city,countryName:t.country,postalCode:t.postalCode,streetAddress:t.address2?`${t.address1} ${t.address2}`:t.address1}}},endpoint:"payment_methods/credit_cards",method:"post"}}present3DSChallenge(e,t,n){const{nonce:i,bin:r}=n;if(!i)throw new _r(gr.PaymentNotInitialized);const{challengeRequested:o=!0,additionalInformation:a}=this.threeDSecureOptions||{},s=t.toFixed(2);return e.verifyCard({amount:Number(s),bin:r,challengeRequested:o,nonce:i,onLookupComplete:(e,t)=>{t()},collectDeviceData:!0,additionalInformation:a})}}function la(e){const{color:t,fundingicons:n,height:i=40,layout:r,shape:o,size:a,tagline:s}=e||{},d={color:t,fundingicons:n,height:ha(i),layout:r,shape:o||"rect",size:a,tagline:s};return R(d,v)}function ha(e){const t=Number(e);return!t||Number.isNaN(t)?40:t>55?55:t<25?25:t}function pa(e){return{recipientName:`${e.firstName} ${e.lastName}`,line1:e.address1,line2:e.address2,city:e.city,state:e.stateOrProvinceCode,postalCode:e.postalCode,countryCode:e.countryCode,phone:e.phone}}var ga=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class ma{constructor(e,t,n,i){this.paymentIntegrationService=e,this.formPoster=t,this.braintreeIntegrationService=n,this.braintreeHostWindow=i}initialize(e){return ga(this,void 0,void 0,function*(){const{braintreepaypal:t,containerId:n,methodId:i}=e;if(!i)throw new kr('Unable to initialize payment because "options.methodId" argument is not provided.');if(!n)throw new kr('Unable to initialize payment because "options.containerId" argument is not provided.');if(!t)throw new kr('Unable to initialize payment because "options.braintreepaypal" argument is not provided.');let r,o=this.paymentIntegrationService.getState();if(t.buyNowInitializeOptions){if(!t.currencyCode)throw new kr('Unable to initialize payment because "options.braintreepaypalcredit.currencyCode" argument is not provided.');r=t.currencyCode}else yield this.paymentIntegrationService.loadDefaultCheckout(),o=this.paymentIntegrationService.getState(),r=o.getCartOrThrow().currency.code;const a=o.getPaymentMethodOrThrow(i),{clientToken:s,config:d,initializationData:c}=a;if(!s||!c)throw new mr(pr.MissingPaymentMethod);const u={currency:r,intent:c.intent,isCreditEnabled:c.isCreditEnabled,commit:!1};this.braintreeIntegrationService.initialize(s),yield this.braintreeIntegrationService.getPaypalCheckout(u,e=>{this.renderPayPalButton(e,t,n,i,!!d.testMode)},e=>this.handleError(e,n,t.onError))})}deinitialize(){return ga(this,void 0,void 0,function*(){yield this.braintreeIntegrationService.teardown()})}renderPayPalButton(e,t,n,i,r){const{style:o,shouldProcessPayment:a,onAuthorizeError:s,onEligibilityFailure:d}=t,{paypal:c}=this.braintreeHostWindow;if(c){const u=c.Buttons({env:r?"sandbox":"production",fundingSource:c.FUNDING.PAYPAL,style:la(o),createOrder:()=>this.setupPayment(e,t,i),onApprove:t=>this.tokenizePayment(t,e,i,a,s)});u.isEligible()?u.render(`#${n}`):d&&"function"==typeof d&&d()}else this.braintreeIntegrationService.removeElement(n)}setupPayment(e,t,n){return ga(this,void 0,void 0,function*(){var i;const{onPaymentError:r,shippingAddress:o,buyNowInitializeOptions:a}=t;try{const r="function"==typeof(null==a?void 0:a.getBuyNowCartRequestBody)?yield this.createBuyNowCart(a.getBuyNowCartRequestBody()):void 0;this.buyNowCartId=null==r?void 0:r.id;const s=this.paymentIntegrationService.getState(),d=s.getCustomer(),c=s.getPaymentMethodOrThrow(n),u=r?r.cartAmount:s.getCartOrThrow().cartAmount,l=r?t.currencyCode:s.getCartOrThrow().currency.code,h=o||(null==d?void 0:d.addresses[0]),p=h?pa(h):void 0;return yield e.createPayment({flow:"checkout",enableShippingAddress:!0,shippingAddressEditable:!1,shippingAddressOverride:p,amount:u,currency:l,offerCredit:!1,intent:null===(i=c.initializationData)||void 0===i?void 0:i.intent})}catch(e){throw r&&(to(e)||e instanceof Ce)&&r(e),e}})}tokenizePayment(e,t,n,i,r){return ga(this,void 0,void 0,function*(){try{const{deviceData:r}=yield this.braintreeIntegrationService.getDataCollector({paypal:!0}),o=yield t.tokenizePayment(e),{details:a,nonce:s}=o,d=this.braintreeIntegrationService.mapToLegacyBillingAddress(a),c=this.braintreeIntegrationService.mapToLegacyShippingAddress(a);return this.formPoster.postForm("/checkout.php",Object.assign({payment_type:"paypal",provider:n,action:i?"process_payment":"set_external_checkout",nonce:s,device_data:r,billing_address:JSON.stringify(d),shipping_address:JSON.stringify(c)},this.buyNowCartId&&{cart_id:this.buyNowCartId})),o}catch(e){throw r&&(to(e)||e instanceof Ce)&&r(e),e}})}createBuyNowCart(e){return ga(this,void 0,void 0,function*(){if(!e)throw new mr(pr.MissingCart);try{return yield this.paymentIntegrationService.createBuyNowCart(e)}catch(e){throw new Rr}})}handleError(e,t,n){if(this.braintreeIntegrationService.removeElement(t),!n||!to(e))throw e;n(e)}}const ya=Tr(e=>{const t=window,i=new Wr(e),r=new ua(new lo(he(),t,i),t);return new ma(e,n(),r,t)},[{id:"braintreepaypal"}]);var fa=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class _a{constructor(e,t,n,i){this.paymentIntegrationService=e,this.formPoster=t,this.braintreeIntegrationService=n,this.braintreeHostWindow=i}initialize(e){return fa(this,void 0,void 0,function*(){const{braintreepaypalcredit:t,containerId:n,methodId:i}=e;if(!i)throw new kr('Unable to initialize payment because "options.methodId" argument is not provided.');if(!n)throw new kr('Unable to initialize payment because "options.containerId" argument is not provided.');if(!t)throw new kr('Unable to initialize payment because "options.braintreepaypalcredit" argument is not provided.');let r,o=this.paymentIntegrationService.getState();if(t.buyNowInitializeOptions){if(!t.currencyCode)throw new kr('Unable to initialize payment because "options.braintreepaypalcredit.currencyCode" argument is not provided.');r=t.currencyCode}else yield this.paymentIntegrationService.loadDefaultCheckout(),o=this.paymentIntegrationService.getState(),r=o.getCartOrThrow().currency.code;const a=o.getPaymentMethodOrThrow(i),{clientToken:s,config:d,initializationData:c}=a;if(!s||!c)throw new mr(pr.MissingPaymentMethod);const u={currency:r,intent:c.intent,isCreditEnabled:c.isCreditEnabled,commit:!1};this.braintreeIntegrationService.initialize(s),yield this.braintreeIntegrationService.getPaypalCheckout(u,e=>{this.renderPayPalButton(e,t,n,i,!!d.testMode)},e=>this.handleError(e,n,t.onError))})}deinitialize(){return fa(this,void 0,void 0,function*(){yield this.braintreeIntegrationService.teardown()})}renderPayPalButton(e,t,n,i,r){const{style:o,shouldProcessPayment:a,onAuthorizeError:s,onEligibilityFailure:d}=t,{paypal:c}=this.braintreeHostWindow;let u=!1;c&&[c.FUNDING.PAYLATER,c.FUNDING.CREDIT].forEach(l=>{const h=l===c.FUNDING.CREDIT?Object.assign({label:aa.CREDIT},la(o)):la(o);if(!u){const o=c.Buttons({env:r?"sandbox":"production",fundingSource:l,style:h,createOrder:()=>this.setupPayment(e,t,i),onApprove:t=>this.tokenizePayment(t,e,i,a,s)});o.isEligible()?(o.render(`#${n}`),u=!0):c.FUNDING.CREDIT&&d&&"function"==typeof d&&d()}}),c&&u||this.braintreeIntegrationService.removeElement(n)}setupPayment(e,t,n){return fa(this,void 0,void 0,function*(){var i;const{onPaymentError:r,shippingAddress:o,buyNowInitializeOptions:a}=t;try{const r="function"==typeof(null==a?void 0:a.getBuyNowCartRequestBody)?yield this.createBuyNowCart(a.getBuyNowCartRequestBody()):void 0;this.buyNowCartId=null==r?void 0:r.id;const s=this.paymentIntegrationService.getState(),d=s.getCustomer(),c=s.getPaymentMethodOrThrow(n),u=r?r.cartAmount:s.getCartOrThrow().cartAmount,l=r?t.currencyCode:s.getCartOrThrow().currency.code,h=o||(null==d?void 0:d.addresses[0]),p=h?pa(h):void 0;return yield e.createPayment({flow:"checkout",enableShippingAddress:!0,shippingAddressEditable:!1,shippingAddressOverride:p,amount:u,currency:l,offerCredit:!0,intent:null===(i=c.initializationData)||void 0===i?void 0:i.intent})}catch(e){throw r&&(to(e)||e instanceof Ce)&&r(e),e}})}tokenizePayment(e,t,n,i,r){return fa(this,void 0,void 0,function*(){try{const{deviceData:r}=yield this.braintreeIntegrationService.getDataCollector({paypal:!0}),o=yield t.tokenizePayment(e),{details:a,nonce:s}=o,d=this.braintreeIntegrationService.mapToLegacyBillingAddress(a),c=this.braintreeIntegrationService.mapToLegacyShippingAddress(a);return this.formPoster.postForm("/checkout.php",Object.assign({payment_type:"paypal",provider:n,action:i?"process_payment":"set_external_checkout",nonce:s,device_data:r,billing_address:JSON.stringify(d),shipping_address:JSON.stringify(c)},this.buyNowCartId&&{cart_id:this.buyNowCartId})),o}catch(e){throw r&&(to(e)||e instanceof Ce)&&r(e),e}})}createBuyNowCart(e){return fa(this,void 0,void 0,function*(){if(!e)throw new mr(pr.MissingCart);try{return yield this.paymentIntegrationService.createBuyNowCart(e)}catch(e){throw new Rr}})}handleError(e,t,n){if(this.braintreeIntegrationService.removeElement(t),!n||!to(e))throw e;n(e)}}const Sa=Tr(e=>{const t=window,i=new Wr(e),r=new ua(new lo(he(),t,i),t);return new _a(e,n(),r,t)},[{id:"braintreepaypalcredit"}]);var va=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Ca{constructor(e,t,n){this.paymentIntegrationService=e,this.formPoster=t,this.braintreeSdk=n}initialize(e){return va(this,void 0,void 0,function*(){const{containerId:t,methodId:n}=e;if(!n)throw new kr('Unable to initialize payment because "options.methodId" argument is not provided.');if(!t)throw new kr('Unable to initialize payment because "options.containerId" argument is not provided.');yield this.paymentIntegrationService.loadPaymentMethod(n);const i=this.paymentIntegrationService.getState(),{clientToken:r,initializationData:o,config:a}=i.getPaymentMethodOrThrow(n);if(!r||!o)throw new mr(pr.MissingPaymentMethod);this.braintreeSdk.initialize(r);const s=yield this.braintreeSdk.getBraintreeVisaCheckout(),{currency:{code:d},cartAmount:c}=i.getCartOrThrow(),u=yield this.braintreeSdk.getVisaCheckoutSdk(a.testMode),l=s.createInitOptions({paymentRequest:{currencyCode:d,subtotal:String(c)},settings:{shipping:{collectShipping:!0}}});this.createSignInButton(t),yield u.init(l),u.on("payment.success",e=>va(this,void 0,void 0,function*(){yield this.paymentSuccess(s,e)}))})}deinitialize(){return Promise.resolve()}paymentSuccess(e,t){return va(this,void 0,void 0,function*(){return Promise.all([e.tokenize(t),this.braintreeSdk.getDataCollectorOrThrow()]).then(([e,t])=>{const n=this.paymentIntegrationService.getState(),i=n.getShippingAddress(),r=n.getBillingAddress(),{shippingAddress:o=this.toVisaCheckoutAddress(i),billingAddress:a=this.toVisaCheckoutAddress(r)}=e;return this.postForm(Object.assign(Object.assign({},e),{shippingAddress:o,billingAddress:a}),t)})})}postForm(e,t){const{userData:n,billingAddress:i,shippingAddress:r,details:o}=e,{userEmail:a}=n,{deviceData:s}=t;return this.formPoster.postForm("/checkout.php",{payment_type:e.type,nonce:e.nonce,provider:"braintreevisacheckout",action:"set_external_checkout",device_data:s,card_information:JSON.stringify({type:o.cardType,number:o.lastTwo}),billing_address:JSON.stringify(this.getAddress(a,i)),shipping_address:JSON.stringify(this.getAddress(a,r))})}toVisaCheckoutAddress(e){return e?{firstName:e.firstName,lastName:e.lastName,phoneNumber:e.phone,streetAddress:e.address1,extendedAddress:e.address2,locality:e.city,region:e.stateOrProvinceCode,countryCode:e.countryCode,postalCode:e.postalCode}:{}}getAddress(e,t={}){return{email:e,first_name:t.firstName,last_name:t.lastName,phone_number:t.phoneNumber,address_line_1:t.streetAddress,address_line_2:t.extendedAddress,city:t.locality,state:t.region,country_code:t.countryCode,postal_code:t.postalCode}}createSignInButton(e){const t=document.querySelector(`#${e}`);if(!t)throw new Error("Need a container to place the button");return this.insertVisaCheckoutButton(t)}insertVisaCheckoutButton(e){const t=document.createElement("div");return t.style.display="flex",t.style.flexDirection="column",t.style.alignItems="flex-end",t.innerHTML='\n <img\n alt="Visa Checkout"\n class="v-button"\n role="button"\n src="https://secure.checkout.visa.com/wallet-services-web/xo/button.png?acceptCanadianVisaDebit=false&cobrand=true&height=34&width=178"\n />\n <a class="v-learn v-learn-default" style="text-align: right; display: block; font-size: 10px; color: #003366;" href="#" data-locale="en_US">Tell Me More</a>',e.appendChild(t),t}}const Ia=Tr(e=>{const t=window,i=new Wr(e),r=new ao(new lo(he(),t,i));return new Ca(e,n(),r)},[{id:"braintreevisacheckout"}]);function wa(e){const{billingAddress:t,email:n,firstName:i,lastName:r,phone:o,shippingAddress:a}=e,s=t||a;return{email:n,first_name:i,last_name:r,phone_number:o,address_line_1:null==s?void 0:s.line1,address_line_2:null==s?void 0:s.line2,city:null==s?void 0:s.city,state:null==s?void 0:s.state,country_code:null==s?void 0:s.countryCode,postal_code:null==s?void 0:s.postalCode}}function ba(e){const{email:t,phone:n,shippingAddress:i}=e,r=(null==i?void 0:i.recipientName)||"",[o,a]=r.split(" ");return{email:t,first_name:o||"",last_name:a||"",phone_number:n,address_line_1:null==i?void 0:i.line1,address_line_2:null==i?void 0:i.line2,city:null==i?void 0:i.city,state:null==i?void 0:i.state,country_code:null==i?void 0:i.countryCode,postal_code:null==i?void 0:i.postalCode}}var Ea=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};const Pa=e=>{const{color:t,height:n}=e;return{backgroundColor:(i=t||"",i===oa.WHITE?"#FFFFFF":"#3D95CE"),backgroundPosition:"50% 50%",backgroundSize:"80px auto",backgroundImage:`url("/app/assets/img/payment-providers/venmo-logo-${t===oa.WHITE?oa.BLUE:oa.WHITE}.svg")`,backgroundRepeat:"no-repeat",borderRadius:"4px",cursor:"pointer",transition:"0.2s ease",minHeight:`${n||40}px`,minWidth:"150px",height:"100%",width:"100%",border:t===oa.WHITE?"1px solid black":"none"};var i};class Oa{constructor(e,t,n){this.paymentIntegrationService=e,this.formPoster=t,this.braintreeSdk=n,this.onError=T}initialize(e){return Ea(this,void 0,void 0,function*(){const{braintreevenmo:t,containerId:n,methodId:i}=e;if(!i)throw new kr('Unable to initialize payment because "options.methodId" argument is not provided.');const r=this.paymentIntegrationService.getState().getPaymentMethodOrThrow(i),{clientToken:o,initializationData:a}=r,{paymentButtonStyles:s}=a,{cartButtonStyles:d}=s||{},c=(null==t?void 0:t.style)||d;if(!o||!a)throw new mr(pr.MissingPaymentMethod);if(!n)throw new kr('Unable to initialize payment because "options.containerId" argument is not provided.');yield this.paymentIntegrationService.loadDefaultCheckout(),this.onError=(null==t?void 0:t.onError)||this.handleError,this.braintreeSdk.initialize(o);try{const e=yield this.braintreeSdk.getVenmoCheckoutOrThrow();this.renderVenmoButton(e,n,null==t?void 0:t.buyNowInitializeOptions,c)}catch(e){(function(e){return"object"==typeof e&&null!==e&&"name"in e&&"BraintreeError"===e.name}(e)||function(e){return e instanceof Yr}(e))&&this.handleInitializationVenmoError(e,n)}})}deinitialize(){return Ea(this,void 0,void 0,function*(){return yield this.braintreeSdk.deinitialize(),Promise.resolve()})}handleError(e){throw new Error(e.message)}createBuyNowCart(e){return Ea(this,void 0,void 0,function*(){if("function"==typeof(null==e?void 0:e.getBuyNowCartRequestBody)){const t=null==e?void 0:e.getBuyNowCartRequestBody();if(!t)throw new mr(pr.MissingCart);try{return yield this.paymentIntegrationService.createBuyNowCart(t)}catch(e){throw new Rr}}})}handleInitializationVenmoError(e,t){return this.removeVenmoContainer(t),this.onError(e)}removeVenmoContainer(e){const t=document.getElementById(e);t&&t.remove()}renderVenmoButton(e,t,n,i){const r=document.getElementById(t),{color:o}=i||{};if(!r)throw new kr("Unable to create wallet button without valid container ID.");r.setAttribute("aria-label","Venmo"),Object.assign(r.style,Pa(i||{})),r.addEventListener("click",()=>Ea(this,void 0,void 0,function*(){r.setAttribute("disabled","true");const t=yield this.createBuyNowCart(n);e.tokenize&&e.tokenize((e,n)=>Ea(this,void 0,void 0,function*(){r.removeAttribute("disabled"),e&&this.onError(e),yield this.handlePostForm(n,null==t?void 0:t.id)}))})),o===oa.BLUE&&(r.addEventListener("mouseenter",()=>{r.style.backgroundColor="#0a7fc2"}),r.addEventListener("mouseleave",()=>{r.style.backgroundColor=Pa(i||{}).backgroundColor}))}handlePostForm(e,t){return Ea(this,void 0,void 0,function*(){const{deviceData:n}=yield this.braintreeSdk.getDataCollectorOrThrow(),{nonce:i,details:r}=e;this.formPoster.postForm("/checkout.php",Object.assign({nonce:i,provider:"braintreevenmo",payment_type:"paypal",device_data:n,action:"set_external_checkout",billing_address:JSON.stringify(wa(r)),shipping_address:JSON.stringify(ba(r))},t&&{cart_id:t}))})}}const Aa=Tr(e=>{const t=window,i=he(),r=new Wr(e),o=new lo(i,t,r),a=new ao(o);return new Oa(e,n(),a)},[{id:"braintreevenmo"}]);class Ta{constructor(e){const t=new Promise((e,t)=>{this.cancel=t});this.promise=Promise.race([e,t])}}var ka;!function(e){e.ADYEN_V2="googlepayadyenv2",e.ADYEN_V3="googlepayadyenv3",e.AUTHORIZE_NET="googlepayauthorizenet",e.BNZ="googlepaybnz",e.BRAINTREE="googlepaybraintree",e.PAYPAL_COMMERCE="googlepaypaypalcommerce",e.BIGCOMMERCE_PAYMENTS="googlepay_bigcommerce_payments",e.CHECKOUT_COM="googlepaycheckoutcom",e.CYBERSOURCE_V2="googlepaycybersourcev2",e.ORBITAL="googlepayorbital",e.STRIPE="googlepaystripe",e.STRIPE_UPE="googlepaystripeupe",e.STRIPE_OCS="googlepaystripeocs",e.WORLDPAY_ACCESS="googlepayworldpayaccess",e.TD_ONLINE_MART="googlepaytdonlinemart"}(ka||(ka={}));const Ra=function(e,t,n){return t&&n?Da(0,t,n):function(e){const t=class extends e{};return Object.getOwnPropertyNames(e.prototype).forEach(n=>{const i=Object.getOwnPropertyDescriptor(e.prototype,n);i&&"constructor"!==n&&Object.defineProperty(t.prototype,n,Da(e.prototype,n,i))}),t}(e)};function Da(e,t,n){if("function"!=typeof n.value)return n;let i=n.value;return{get(){const e=i.bind(this);return Object.defineProperty(this,t,Object.assign(Object.assign({},n),{value:e})),e},set(e){i=e}}}class Ma{constructor(e){if(!e)throw new Error("Currency settings missing");const{decimalPlaces:t,symbolLocation:n,symbol:i,thousandsSeparator:r,decimalSeparator:o}=e;if("string"!=typeof n||"string"!=typeof i||"string"!=typeof r||"string"!=typeof o||"string"!=typeof t)throw new kr("Invalid currency settings provided");this._decimalPlaces=parseInt(t,10),this._symbolLocation=n,this._symbol=i,this._thousandsSeparator=r,this._decimalSeparator=o}format(e){if("number"!=typeof e)throw new kr("Invalid amount provided");const t=this._formatNumber(e),n=this._formatCurrency(t);return e<0?`-${n}`:n}_formatNumber(e){const t=Math.abs(e),[n,i=""]=this._toFixed(t,this._decimalPlaces).split("."),r=n.replace(/\B(?=(\d{3})+(?!\d))/g,this._thousandsSeparator);return this._decimalPlaces<1?r:[r,i].join(this._decimalSeparator)}_formatCurrency(e){return"left"===this._symbolLocation.toLowerCase()?`${this._symbol}${e}`:`${e}${this._symbol}`}_toFixed(e,t){return(+`${Math.round(+`${e}e${t}`)}e${-t}`).toFixed(t)}}let Na=class{constructor(e){this._storeConfig=e,this._customerFormatter=new Ma(this._storeConfig.shopperCurrency),this._storeFormatter=new Ma(this._storeConfig.currency)}toCustomerCurrency(e){const t=this._storeConfig.shopperCurrency.exchangeRate;return this._customerFormatter.format(e*t)}toStoreCurrency(e){return this._storeFormatter.format(e)}};Na=function(e,t,n,i){var r,o=arguments.length,a=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(a=(o<3?r(a):o>3?r(t,n,a):r(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a}([Ra],Na);const La=Na;function za(){if("undefined"==typeof window)return!1;if(function(e){return"ReactNativeWebView"in e}(window))return!0;const e=navigator.userAgent||navigator.vendor||(function(e){return"opera"in e}(window)?window.opera:""),t=/android.+; wv/i.test(e),n=/iPhone|iPod|iPad/i.test(e)&&/AppleWebKit/i.test(e)&&!/Safari/i.test(e);return t||n}var Ba,Fa,Ua,xa,qa,ja,Ga,Va,Ha;function Wa(e){return e in ja}!function(e){e.AUTHORIZE="authorize",e.CAPTURE="capture"}(Ba||(Ba={})),function(e){e.paypal="paypal",e.checkout="checkout",e.buynow="buynow",e.pay="pay",e.installment="installment"}(Fa||(Fa={})),function(e){e.gold="gold",e.blue="blue",e.silver="silver",e.black="black",e.white="white"}(Ua||(Ua={})),function(e){e.pill="pill",e.rect="rect"}(xa||(xa={})),function(e){e.ESTIMATED="ESTIMATED",e.FINAL="FINAL",e.NOT_CURRENTLY_KNOWN="NOT_CURRENTLY_KNOWN"}(qa||(qa={})),function(e){e.AMEX="AMEX",e.DISCOVER="DISCOVER",e.INTERAC="INTERAC",e.JCB="JCB",e.MC="MASTERCARD",e.VISA="VISA"}(ja||(ja={})),function(e){e.OFFER="OFFER",e.PAYMENT_AUTHORIZATION="PAYMENT_AUTHORIZATION",e.SHIPPING_ADDRESS="SHIPPING_ADDRESS",e.SHIPPING_OPTION="SHIPPING_OPTION"}(Ga||(Ga={})),function(e){e.OFFER_INVALID="OFFER_INVALID",e.PAYMENT_DATA_INVALID="PAYMENT_DATA_INVALID",e.SHIPPING_ADDRESS_INVALID="SHIPPING_ADDRESS_INVALID",e.SHIPPING_ADDRESS_UNSERVICEABLE="SHIPPING_ADDRESS_UNSERVICEABLE",e.SHIPPING_OPTION_INVALID="SHIPPING_OPTION_INVALID",e.OTHER_ERROR="OTHER_ERROR"}(Va||(Va={})),function(e){e.INITIALIZE="INITIALIZE",e.SHIPPING_OPTION="SHIPPING_OPTION",e.SHIPPING_ADDRESS="SHIPPING_ADDRESS",e.OFFER="OFFER"}(Ha||(Ha={}));var Ya=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Ka{constructor(e,t){this._gatewayIdentifier=e,this._paymentIntegrationService=t,this._isBuyNowFlow=!1,this._shouldRequestShipping=!0,this._isWebViewExperimentOn=null}mapToShippingAddressRequestBody({shippingAddress:e}){if(!e)return;const{company:t="",phone:n=""}=this._paymentIntegrationService.getState().getShippingAddress()||{};return this._mapToAddressRequestBody(e,t,n)}mapToBillingAddressRequestBody(e){const{billingAddress:t}=e.paymentMethodData.info;if(!t)return;const{company:n="",phone:i="",email:r,customFields:o=[]}=this._paymentIntegrationService.getState().getBillingAddress()||{};return Object.assign(Object.assign({},this._mapToAddressRequestBody(t,n,i,o)),{email:r||e.email})}mapToExternalCheckoutData(e){var t;const{paymentMethodData:{tokenizationData:{token:n},info:{cardNetwork:i,cardDetails:r}}}=e;if(!n)throw new mr(pr.MissingPaymentToken);return Promise.resolve(Object.assign({nonce:n,card_information:{type:i,number:r}},this._isBuyNowFlow&&{cart_id:null===(t=this._paymentIntegrationService.getState().getCart())||void 0===t?void 0:t.id}))}getRequiredData(){return Ya(this,void 0,void 0,function*(){var e;const t={emailRequired:!0};if(!this._isShippingAddressRequired())return t;const n=null===(e=(yield this._paymentIntegrationService.loadShippingCountries()).getShippingCountries())||void 0===e?void 0:e.map(e=>e.code);return Object.assign(Object.assign({},t),{shippingAddressRequired:!0,shippingAddressParameters:Object.assign({phoneNumberRequired:!0},n&&{allowedCountryCodes:n}),shippingOptionRequired:!0})})}getCallbackIntents(){return this._isShippingAddressRequired()?[Ga.OFFER,Ga.SHIPPING_ADDRESS,Ga.SHIPPING_OPTION]:[Ga.OFFER]}getCallbackTriggers(){return{availableTriggers:[Ha.INITIALIZE,Ha.SHIPPING_ADDRESS,Ha.SHIPPING_OPTION,Ha.OFFER],initializationTrigger:[Ha.INITIALIZE],addressChangeTriggers:[Ha.INITIALIZE,Ha.SHIPPING_ADDRESS],shippingOptionsChangeTriggers:[Ha.SHIPPING_OPTION],offerChangeTriggers:[Ha.OFFER]}}getNonce(e){var t;const n=null===(t=this._paymentIntegrationService.getState().getPaymentMethodOrThrow(e).initializationData)||void 0===t?void 0:t.nonce;if(!n)throw new mr(pr.MissingPaymentToken);return Promise.resolve(n)}extraPaymentData(){return Promise.resolve(void 0)}getMerchantInfo(){const{googleMerchantName:e,googleMerchantId:t,platformToken:n}=this.getGooglePayInitializationData();return{merchantName:e,merchantId:t,authJwt:n}}getTransactionInfo(){let e;const{getCartOrThrow:t}=this._paymentIntegrationService.getState();e=this._isBuyNowFlow?this._getCurrencyCodeOrThrow():t().currency.code;const n=this.getGooglePayInitializationData().storeCountry;if(this.isWebViewWithRestrictions()){const t=this.getTotalPrice();return Object.assign(Object.assign({},n&&{countryCode:n}),{currencyCode:e,totalPrice:t,totalPriceStatus:qa.ESTIMATED})}return Object.assign(Object.assign({},n&&{countryCode:n}),{currencyCode:e,totalPriceStatus:qa.ESTIMATED,totalPrice:"0"})}isWebViewWithRestrictions(){return null!==this._isWebViewExperimentOn?this._isWebViewExperimentOn&&za():za()}setIsWebViewExperimentOn(e){this._isWebViewExperimentOn=e}getPaymentGatewayParameters(){const e=this.getGooglePayInitializationData().gatewayMerchantId;if(!e)throw new kr("Unable to proceed, gatewayMerchantId is missing.");return{gateway:this._gatewayIdentifier,gatewayMerchantId:e}}getCardParameters(){return{allowedAuthMethods:["PAN_ONLY","CRYPTOGRAM_3DS"],allowedCardNetworks:this.getPaymentMethod().supportedCards.filter(Wa).map(e=>ja[e]),billingAddressRequired:!0,billingAddressParameters:{format:"FULL",phoneNumberRequired:!0}}}initialize(e,t,n){return this._getPaymentMethodFn=e,this._isBuyNowFlow=Boolean(t),this._currencyCode=n,this._isBuyNowFlow&&this._getCurrencyCodeOrThrow(),Promise.resolve()}handleShippingAddressChange(e){return Ya(this,void 0,void 0,function*(){var t,n,i,r;e&&(e.name=e.name||"",e.address1=e.address1||"");const o=this.mapToShippingAddressRequestBody({shippingAddress:e});o&&(yield this._paymentIntegrationService.updateShippingAddress(o));const a=this._paymentIntegrationService.getState(),s=a.getConsignments();if(!(null==s?void 0:s[0]))return;const d=s[0],c=a.getStoreConfigOrThrow();this._currencyService||(this._currencyService=new La(c));const u=(d.availableShippingOptions||[]).map(this._getGooglePayShippingOption.bind(this)),l=null===(t=d.availableShippingOptions)||void 0===t?void 0:t.find(e=>e.isRecommended);if(u.length){const e=(null===(n=d.selectedShippingOption)||void 0===n?void 0:n.id)||(null==l?void 0:l.id)||(null===(i=u[0])||void 0===i?void 0:i.id);return!(null===(r=d.selectedShippingOption)||void 0===r?void 0:r.id)&&u[0]&&(yield this.handleShippingOptionChange((null==l?void 0:l.id)||u[0].id)),{defaultSelectedOptionId:e,shippingOptions:u}}})}handleShippingOptionChange(e){return Ya(this,void 0,void 0,function*(){if("shipping_option_unselected"!==e)return this._paymentIntegrationService.selectShippingOption(e)})}getTotalPrice(){const{getCheckoutOrThrow:e,getCartOrThrow:t,getStoreConfigOrThrow:n}=this._paymentIntegrationService.getState(),{decimalPlaces:i}=t().currency,r=jr(n().checkoutSettings.features,"PI-5075.google_pay_round_total_price_to_max_2_decimal_places")?Math.min(i,2):i;return L(e().outstandingBalance,r).toFixed(r)}handleCoupons(e){return Ya(this,void 0,void 0,function*(){const{redemptionCodes:t=[]}=e,{offers:n}=this.getAppliedCoupons()||{};let i;return yield t.reduce((e,t)=>Ya(this,void 0,void 0,function*(){if(yield e,(n||[]).some(({redemptionCode:e})=>e===t))return;const r=yield this.applyCoupon(t);r&&(i=r)}),Promise.resolve()),yield(n||[]).reduce((e,n)=>Ya(this,void 0,void 0,function*(){yield e,t.includes(n.redemptionCode)||(yield this._paymentIntegrationService.removeCoupon(n.redemptionCode))}),Promise.resolve()),{newOfferInfo:this.getAppliedCoupons(),error:i}})}getAppliedCoupons(){const e=this._paymentIntegrationService.getState(),{coupons:t}=e.getCheckout()||{};return{offers:(t||[]).map(e=>{const{displayName:t,code:n}=e;return{redemptionCode:n,description:t}})}}applyCoupon(e){return Ya(this,void 0,void 0,function*(){let t;try{yield this._paymentIntegrationService.applyCoupon(e)}catch(e){return e instanceof Error&&(t={reason:Va.OFFER_INVALID,message:e.message,intent:Ha.OFFER}),t}})}setShouldRequestShipping(e){this._shouldRequestShipping=e}getGooglePayInitializationData(){return fr(this.getPaymentMethod().initializationData,()=>new kr("Missing initialization data."))}getPaymentMethod(){return fr(this._getPaymentMethodFn,()=>new _r(gr.PaymentNotInitialized))()}getGatewayIdentifier(){return this._gatewayIdentifier}setGatewayIdentifier(e){this._gatewayIdentifier=e||this.getGatewayIdentifier()}_isShippingAddressRequired(){const{getCartOrThrow:e,getStoreConfigOrThrow:t,getShippingAddress:n}=this._paymentIntegrationService.getState(),i=t();let r;return r=jr(i.checkoutSettings.features,"PI-4290.google_pay_require_shipping_address")?this._shouldRequestShipping:void 0===n(),r&&(o=e(),a=i,!!o&&(!!o.lineItems.physicalItems.some(e=>e.isShippingRequired)||!(!a||!o.lineItems.customItems)&&o.lineItems.customItems.length>0));var o,a}_mapToAddressRequestBody(e,t,n,i){const{name:r,address1:o,address2:a,address3:s,locality:d,administrativeArea:c,countryCode:u,postalCode:l,phoneNumber:h}=e,[p,g]=this._getFirstAndLastName(r);return{firstName:p,lastName:g,company:t,address1:o,address2:`${a} ${s}`.trim(),city:d||c,stateOrProvince:c,stateOrProvinceCode:c,countryCode:u,postalCode:l,phone:h||n,customFields:i||[]}}_getFirstAndLastName(e){const t=e.split(" ");return 1===t.length?[e,""]:[t.slice(0,-1).join(" "),t[t.length-1]]}_getCurrencyCodeOrThrow(){return fr(this._currencyCode,()=>new kr('Unable to initialize payment because "options.currencyCode" argument is not provided.'))}_getGooglePayShippingOption({id:e,cost:t,description:n,additionalDescription:i}){var r;return{id:e,label:`${(null===(r=this._currencyService)||void 0===r?void 0:r.toCustomerCurrency(t))||t} ${n}`,description:i}}}var $a=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Za extends Ka{constructor(e,t){super("braintree",e),this._braintreeSdk=t,this._methodId=ka.BRAINTREE,this._verificationsInProgress=0,this._service=e}initialize(e,t,n){const i=Object.create(null,{initialize:{get:()=>super.initialize},getPaymentMethod:{get:()=>super.getPaymentMethod}});return $a(this,void 0,void 0,function*(){yield i.initialize.call(this,e,t,n);let r=i.getPaymentMethod.call(this);if(r.clientToken||(r=(yield this._service.loadPaymentMethod(this._methodId)).getPaymentMethodOrThrow(this._methodId)),!r.clientToken||!r.initializationData)throw new mr(pr.MissingPaymentMethod);return this._braintreeSdk.initialize(r.clientToken),this._braintreeGooglePayment=yield this._braintreeSdk.getBraintreeGooglePayment(),Promise.resolve()})}getNonce(e){const t=Object.create(null,{getNonce:{get:()=>super.getNonce},getPaymentMethod:{get:()=>super.getPaymentMethod}});return $a(this,void 0,void 0,function*(){var n;const i=yield t.getNonce.call(this,e),{clientToken:r,initializationData:o}=t.getPaymentMethod.call(this);if(!r||!o||!(null===(n=o.card_information)||void 0===n?void 0:n.bin))throw new mr(pr.MissingPaymentMethod);const{isThreeDSecureEnabled:a,card_information:{bin:s,isNetworkTokenized:d}}=o;if(a&&!d){const e=yield this._braintreeSdk.getBraintreeThreeDS(),{orderAmount:t}=this._service.getState().getOrderOrThrow();return(yield this._braintreePresent3DSChallenge(e,t,i,s)).nonce}return i})}extraPaymentData(){return $a(this,void 0,void 0,function*(){return{deviceSessionId:yield this._getBraintreeDeviceData()}})}mapToExternalCheckoutData(e){const t=Object.create(null,{mapToExternalCheckoutData:{get:()=>super.mapToExternalCheckoutData}});return $a(this,void 0,void 0,function*(){const n=yield t.mapToExternalCheckoutData.call(this,e);let i;try{i=JSON.parse(n.nonce)}catch(e){throw new kr("Unable to parse response from Google Pay.")}return function(e){if(!function(e){return"object"==typeof e&&null!==e&&"androidPayCards"in e}(e))throw new mr(pr.MissingPaymentToken)}(i),n.nonce=i.androidPayCards[0].nonce,n.card_information.bin=i.androidPayCards[0].details.bin,n.card_information.isNetworkTokenized=i.androidPayCards[0].details.isNetworkTokenized,n})}getCardParameters(){return super.getCardParameters()}getPaymentGatewayParameters(){const e=Object.create(null,{getMerchantInfo:{get:()=>super.getMerchantInfo},getTransactionInfo:{get:()=>super.getTransactionInfo},getRequiredData:{get:()=>super.getRequiredData}});return $a(this,void 0,void 0,function*(){return this.getBraintreeGooglePayment().createPaymentDataRequest(Object.assign({merchantInfo:e.getMerchantInfo.call(this),transactionInfo:e.getTransactionInfo.call(this),cardRequirements:{billingAddressRequired:!0,billingAddressFormat:"FULL"}},yield e.getRequiredData.call(this))).paymentMethodTokenizationParameters.parameters})}getBraintreeGooglePayment(){if(!this._braintreeGooglePayment)throw new mr(pr.MissingPaymentMethod);return this._braintreeGooglePayment}_getBraintreeDeviceData(){return $a(this,void 0,void 0,function*(){const{deviceData:e}=yield this._braintreeSdk.getDataCollectorOrThrow();return e})}_braintreePresent3DSChallenge(e,t,n,i){return $a(this,void 0,void 0,function*(){this._verificationsInProgress>0&&(yield this._cancelBraintree3DSVerification(e)),this._verificationsInProgress+=1;const r=new Ta(e.verifyCard({amount:t,bin:i,nonce:n,onLookupComplete:(e,t)=>{t()}}));try{return yield r.promise}finally{this._verificationsInProgress-=1}})}_cancelBraintree3DSVerification(e){return $a(this,void 0,void 0,function*(){try{yield e.cancelVerifyCard()}catch(e){}})}}class Ja extends Ce{constructor(e){super(e||"Unable to proceed because the client library of a payment method has thrown an unexpected error."),this.name="PaymentMethodFailedError",this.type="payment_method_client_invalid"}}var Qa=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Xa{constructor(e,t){this._paymentIntegrationService=e,this._googlePayPaymentProcessor=t}initialize(e){return Qa(this,void 0,void 0,function*(){var t,n,i,r;if(!e.methodId||(r=e.methodId,!Object.values(ka).includes(r)))throw new kr('Unable to proceed because "methodId" is not a valid key.');if(this._methodId=e.methodId,!e.containerId)throw new kr('Unable to proceed because "containerId" is not a valid key.');const o=e[this._getMethodOrThrow()];if(!o)throw new kr("Unable to proceed without valid options.");const{buyNowInitializeOptions:a,currencyCode:s,buttonColor:d,buttonType:c,onError:u}=o;let l,h=this._paymentIntegrationService.getState();try{l=h.getPaymentMethodOrThrow(this._getMethodOrThrow())}catch(e){h=yield this._paymentIntegrationService.loadPaymentMethod(this._getMethodOrThrow()),l=h.getPaymentMethodOrThrow(this._getMethodOrThrow())}if(this._countryCode=null===(t=l.initializationData)||void 0===t?void 0:t.storeCountry,this._googlePayPaymentProcessor.setIsWebViewExperimentOn(!!(null===(n=l.initializationData)||void 0===n?void 0:n.isWebViewExperimentOn)),a){if(!s)throw new kr('Unable to initialize payment because "options.currencyCode" argument is not provided.');this._currencyCode=s,this._buyNowInitializeOptions=a,yield this._googlePayPaymentProcessor.initialize(()=>l,this._getGooglePayClientOptions(),!!a,s)}else yield this._paymentIntegrationService.loadDefaultCheckout(),yield this._googlePayPaymentProcessor.initialize(()=>l,this._getGooglePayClientOptions());this._paymentButton=null!==(i=this._paymentButton)&&void 0!==i?i:this._googlePayPaymentProcessor.addPaymentButton(e.containerId,{buttonColor:null!=d?d:"default",buttonType:null!=c?c:"plain",onClick:this._handleClick(u)})})}deinitialize(){var e;return null===(e=this._paymentButton)||void 0===e||e.remove(),this._paymentButton=void 0,this._methodId=void 0,Promise.resolve()}_handleClick(e){return t=>Qa(this,void 0,void 0,function*(){t.preventDefault();try{this._buyNowInitializeOptions?yield this._createBuyNowCartOrThrow(this._buyNowInitializeOptions):yield this._paymentIntegrationService.loadDefaultCheckout(),yield this._googlePayPaymentProcessor.initializeWidget(),yield this._interactWithPaymentSheet()}catch(t){let n=t;if(function(e){return"object"==typeof e&&null!==e&&"statusCode"in e}(t)){if("CANCELED"===t.statusCode)throw new ho;n=new Ja(JSON.stringify(t))}throw null==e||e(new Ja("An error occurred while requesting your Google Pay payment details.")),n}})}_interactWithPaymentSheet(){return Qa(this,void 0,void 0,function*(){var e;const t=yield this._googlePayPaymentProcessor.showPaymentSheet(),n=this._googlePayPaymentProcessor.mapToBillingAddressRequestBody(t),i=this._googlePayPaymentProcessor.mapToShippingAddressRequestBody(t),r="/embedded-checkout"===window.location.pathname?this._paymentIntegrationService.getState().getStoreConfigOrThrow().links.siteLink:void 0;n&&(yield this._paymentIntegrationService.updateBillingAddress(n)),i&&!(null===(e=this._buyNowCart)||void 0===e?void 0:e.lineItems.digitalItems.length)&&(yield this._paymentIntegrationService.updateShippingAddress(i)),yield this._googlePayPaymentProcessor.setExternalCheckoutForm(this._getMethodOrThrow(),t,r)})}_getGooglePayClientOptions(){return this._googlePayPaymentProcessor.isWebViewWithRestrictions()?{}:{paymentDataCallbacks:{onPaymentDataChanged:e=>Qa(this,[e],void 0,function*({callbackTrigger:e,shippingAddress:t,shippingOptionData:n,offerData:i}){const{availableTriggers:r,addressChangeTriggers:o,shippingOptionsChangeTriggers:a,offerChangeTriggers:s}=this._googlePayPaymentProcessor.getCallbackTriggers();if(!r.includes(e))return;const d=o.includes(e)?yield this._googlePayPaymentProcessor.handleShippingAddressChange(t):void 0;a.includes(e)&&(yield this._googlePayPaymentProcessor.handleShippingOptionChange(n.id));const{newOfferInfo:c,error:u}=s.includes(e)?yield this._googlePayPaymentProcessor.handleCoupons(i):{},l=u;return this._buyNowInitializeOptions?this._getBuyNowTransactionInfo(d,c,l):this._getTransactionInfo(d,c,l)})}}}_createBuyNowCartOrThrow(e){return Qa(this,void 0,void 0,function*(){if("function"==typeof(null==e?void 0:e.getBuyNowCartRequestBody)){const t=e.getBuyNowCartRequestBody();try{this._buyNowCart=yield this._paymentIntegrationService.createBuyNowCart(t),yield this._paymentIntegrationService.loadCheckout(this._buyNowCart.id)}catch(e){if("string"==typeof e)throw new Rr(e);throw e}}})}_getBuyNowTransactionInfo(e,t,n){if(!this._buyNowCart)return;const{cartAmount:i}=this._buyNowCart,r=this._googlePayPaymentProcessor.getTotalPrice();return Object.assign(Object.assign(Object.assign({newTransactionInfo:Object.assign(Object.assign({},this._countryCode&&{countryCode:this._countryCode}),{currencyCode:this._getCurrencyCodeOrThrow(),totalPrice:r||String(i),totalPriceStatus:qa.FINAL})},e&&{newShippingOptionParameters:e}),t&&{newOfferInfo:t}),n&&{error:n})}_getTransactionInfo(e,t,n){return Qa(this,void 0,void 0,function*(){yield this._paymentIntegrationService.loadCheckout();const i=this._googlePayPaymentProcessor.getTotalPrice(),{code:r}=this._paymentIntegrationService.getState().getCartOrThrow().currency;return Object.assign(Object.assign(Object.assign({newTransactionInfo:Object.assign(Object.assign({},this._countryCode&&{countryCode:this._countryCode}),{currencyCode:r,totalPriceStatus:qa.FINAL,totalPrice:i})},e&&{newShippingOptionParameters:e}),t&&{newOfferInfo:t}),n&&{error:n})})}_getMethodOrThrow(){return fr(this._methodId,()=>new _r(gr.PaymentNotInitialized))}_getCurrencyCodeOrThrow(){return fr(this._currencyCode,()=>new kr('Unable to initialize payment because "options.currencyCode" argument is not provided.'))}}var es=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class ts{constructor(e,t,n,i){this._scriptLoader=e,this._gateway=t,this._requestSender=n,this._formPoster=i,this._baseRequest={apiVersion:2,apiVersionMinor:0}}initialize(e,t,n,i){return es(this,void 0,void 0,function*(){this._paymentsClient=yield this._scriptLoader.getGooglePaymentsClient(e().config.testMode,t),yield this._gateway.initialize(e,n,i),this._buildButtonPayloads()})}initializeWidget(){return es(this,void 0,void 0,function*(){yield this._buildWidgetPayloads(),yield this._determineReadinessToPay(),this._prefetchGooglePaymentData()})}getNonce(e){return this._gateway.getNonce(e)}extraPaymentData(){return es(this,void 0,void 0,function*(){return this._gateway.extraPaymentData()})}addPaymentButton(e,t){const n=document.querySelector(`#${e}`);if(!n)return;const i=this._getPaymentsClient().createButton(Object.assign(Object.assign({},t),{allowedPaymentMethods:[this._getBaseCardPaymentMethod()]}));return n.appendChild(i)}showPaymentSheet(){return es(this,void 0,void 0,function*(){const e=this._getPaymentDataRequest();return this._getPaymentsClient().loadPaymentData(e)})}setExternalCheckoutXhr(e,t){return es(this,void 0,void 0,function*(){return this._setExternalCheckout(e,t)})}setExternalCheckoutForm(e,t,n){return es(this,void 0,void 0,function*(){return this._setExternalCheckout(e,t,!0,n)})}mapToBillingAddressRequestBody(e){return this._gateway.mapToBillingAddressRequestBody(e)}mapToShippingAddressRequestBody(e){return this._gateway.mapToShippingAddressRequestBody(e)}processAdditionalAction(e,t){return"processAdditionalAction"in this._gateway?this._gateway.processAdditionalAction(e,t):Promise.reject(e)}signOut(e){return es(this,void 0,void 0,function*(){yield this._requestSender.get(`/remote-checkout/${e}/signout`)})}getCallbackTriggers(){return this._gateway.getCallbackTriggers()}setShouldRequestShipping(e){return this._gateway.setShouldRequestShipping(e)}handleShippingAddressChange(e){return es(this,void 0,void 0,function*(){return this._gateway.handleShippingAddressChange(e)})}handleShippingOptionChange(e){return es(this,void 0,void 0,function*(){yield this._gateway.handleShippingOptionChange(e)})}handleCoupons(e){return es(this,void 0,void 0,function*(){return this._gateway.handleCoupons(e)})}getTotalPrice(){return this._gateway.getTotalPrice()}_setExternalCheckout(e,t){return es(this,arguments,void 0,function*(e,t,n=!1,i){const r="/checkout.php",o=Object.assign({action:"set_external_checkout",provider:e},yield this._gateway.mapToExternalCheckoutData(t));if(n)return new Promise(e=>{this._formPoster.postForm(i?`${i}/checkout`:r,Object.assign(Object.assign({},o),{card_information:JSON.stringify(o.card_information)}),e)});yield this._requestSender.post(r,{headers:Object.assign({Accept:"text/html","Content-Type":"application/x-www-form-urlencoded"},Ur),body:o})})}isWebViewWithRestrictions(){return this._gateway.isWebViewWithRestrictions()}setIsWebViewExperimentOn(e){return this._gateway.setIsWebViewExperimentOn(e)}_prefetchGooglePaymentData(){const e=this._getPaymentDataRequest();e.transactionInfo=this._gateway.getTransactionInfo(),this._getPaymentsClient().prefetchPaymentData(e)}_determineReadinessToPay(){return es(this,void 0,void 0,function*(){try{const{result:e}=yield this._getPaymentsClient().isReadyToPay(this._getIsReadyToPayRequest());if(!1===e)throw new Ja("Google Pay is not supported by the current device and browser, please try another payment method.")}catch(e){if(e instanceof Ja)throw e;throw new Ja}})}_buildButtonPayloads(){this._baseCardPaymentMethod={type:"CARD",parameters:this._gateway.getCardParameters()}}_buildWidgetPayloads(){return es(this,void 0,void 0,function*(){const e=this._getBaseCardPaymentMethod();this._cardPaymentMethod=Object.assign(Object.assign({},e),{tokenizationSpecification:{type:"PAYMENT_GATEWAY",parameters:yield this._gateway.getPaymentGatewayParameters()}});const t=this._gateway.isWebViewWithRestrictions()?{shippingOptionRequired:!1}:{callbackIntents:this._gateway.getCallbackIntents(),offerInfo:this._gateway.getAppliedCoupons()};this._paymentDataRequest=Object.assign(Object.assign(Object.assign(Object.assign({},this._baseRequest),{allowedPaymentMethods:[this._cardPaymentMethod],transactionInfo:this._gateway.getTransactionInfo(),merchantInfo:this._gateway.getMerchantInfo()}),yield this._gateway.getRequiredData()),t),this._isReadyToPayRequest=Object.assign(Object.assign({},this._baseRequest),{allowedPaymentMethods:[e]})})}_getBaseCardPaymentMethod(){return this._getOrThrow(this._baseCardPaymentMethod)}_getPaymentDataRequest(){return this._getOrThrow(this._paymentDataRequest)}_getIsReadyToPayRequest(){return this._getOrThrow(this._isReadyToPayRequest)}_getPaymentsClient(){return this._getOrThrow(this._paymentsClient)}_getOrThrow(e){return fr(e,()=>new _r(gr.PaymentNotInitialized))}}class ns{constructor(e){this._scriptLoader=e,this._window=window}getGooglePaymentsClient(){return e=this,t=arguments,i=function*(e=!1,t){if(yield this._scriptLoader.loadScript("https://pay.google.com/gp/p/js/pay.js"),!this._window.google)throw new Or;return void 0===this._paymentsClient&&(this._paymentsClient=new this._window.google.payments.api.PaymentsClient(Object.assign({environment:e?"TEST":"PRODUCTION"},null!=t?t:{}))),this._paymentsClient},new((n=void 0)||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())});var e,t,n,i}}function is(){return new ns(he())}const rs=Tr(t=>{const i=e(),r=window,o=new Wr(t),a=new ao(new lo(he(),r,o));return new Xa(t,new ts(is(),new Za(t,a),i,n()))},[{id:"googlepaybraintree"}]),os=["ar_BH","ar_DZ","ar_EG","ar_JO","ar_KW","ar_MA","ar_OM","ar_QA","ar_SA","ar_TN","ar_YE","ar_AE","bg_BG","cs_CZ","da_DK","da_FO","da_GL","de_AT","de_CH","de_DE","de_LU","el_GR","en_AD","en_AE","en_AG","en_AI","en_AL","en_AM","en_AN","en_AO","en_AT","en_AU","en_AW","en_AZ","en_BB","en_BE","en_BH","en_BJ","en_BM","en_BN","en_BS","en_BT","en_BW","en_BY","en_BZ","en_C2","en_CA","en_CD","en_CG","en_CH","en_CI","en_CK","en_CL","en_CM","en_CN","en_CO","en_CR","en_CV","en_CY","en_CZ","en_DE","en_DJ","en_DK","en_DM","en_DO","en_DZ","en_EC","en_EE","en_EG","en_ER","en_ES","en_ET","en_FI","en_FJ","en_FK","en_FM","en_FO","en_FR","en_GA","en_GB","en_GD","en_GE","en_GF","en_GI","en_GL","en_GM","en_GN","en_GP","en_GR","en_GT","en_GW","en_GY","en_HK","en_HN","en_HR","en_HU","en_ID","en_IE","en_IL","en_IN","en_IS","en_IT","en_JM","en_JO","en_JP","en_KE","en_KG","en_KH","en_KI","en_KM","en_KN","en_KR","en_KW","en_KY","en_KZ","en_LA","en_LC","en_LI","en_LK","en_LS","en_LT","en_LU","en_LV","en_MA","en_MC","en_MD","en_ME","en_MG","en_MH","en_MK","en_ML","en_MN","en_MQ","en_MR","en_MS","en_MT","en_MU","en_MV","en_MW","en_MY","en_MZ","en_NA","en_NC","en_NE","en_NF","en_NG","en_NI","en_NL","en_NO","en_NP","en_NR","en_NU","en_NZ","en_OM","en_PA","en_PE","en_PF","en_PG","en_PH","en_PL","en_PM","en_PN","en_PT","en_PW","en_PY","en_QA","en_RE","en_RO","en_RS","en_RU","en_RW","en_SA","en_SB","en_SC","en_SE","en_SG","en_SH","en_SI","en_SJ","en_SK","en_SL","en_SM","en_SN","en_SO","en_SR","en_ST","en_SV","en_SZ","en_TC","en_TD","en_TG","en_TH","en_TJ","en_TM","en_TN","en_TO","en_TR","en_TT","en_TV","en_TW","en_TZ","en_UA","en_UG","en_US","en_UY","en_VA","en_VC","en_VE","en_VG","en_VN","en_VU","en_WF","en_WS","en_YE","en_YT","en_ZA","en_ZM","en_ZW","es_AD","es_AI","es_AO","es_AR","es_AW","es_BB","es_BJ","es_BM","es_BO","es_BS","es_BZ","es_CD","es_CG","es_CK","es_CL","es_CO","es_CR","es_CV","es_DJ","es_DM","es_DO","es_DZ","es_EC","es_EG","es_ER","es_ES","es_ET","es_FJ","es_FK","es_FO","es_GA","es_GD","es_GE","es_GI","es_GL","es_GM","es_GN","es_GT","es_GW","es_GY","es_HN","es_IE","es_JM","es_JO","es_KE","es_KG","es_KI","es_KM","es_KN","es_KW","es_KY","es_KZ","es_LC","es_LI","es_LS","es_LU","es_MA","es_MG","es_MH","es_ML","es_MR","es_MS","es_MU","es_MW","es_MX","es_MZ","es_NA","es_NC","es_NE","es_NF","es_NI","es_NR","es_NU","es_NZ","es_OM","es_PA","es_PE","es_PF","es_PG","es_PM","es_PN","es_PW","es_PY","es_QA","es_RS","es_RW","es_SA","es_SB","es_SC","es_SH","es_SJ","es_SL","es_SM","es_SN","es_SO","es_SR","es_ST","es_SV","es_SZ","es_TC","es_TD","es_TG","es_TJ","es_TM","es_TN","es_TT","es_TV","es_UA","es_UG","es_US","es_UY","es_VA","es_VC","es_VE","es_VG","es_VU","es_WF","es_YE","es_ZM","et_EE","fi_FI","fr_AD","fr_AE","fr_AI","fr_AM","fr_AO","fr_AW","fr_AZ","fr_BB","fr_BE","fr_BF","fr_BI","fr_BJ","fr_BM","fr_BS","fr_BZ","fr_CA","fr_CD","fr_CG","fr_CH","fr_CI","fr_CK","fr_CM","fr_CV","fr_DJ","fr_DM","fr_DO","fr_DZ","fr_EC","fr_ER","fr_ET","fr_FJ","fr_FK","fr_FO","fr_FR","fr_GA","fr_GD","fr_GE","fr_GF","fr_GI","fr_GL","fr_GM","fr_GN","fr_GP","fr_GT","fr_GW","fr_GY","fr_HN","fr_IE","fr_JM","fr_JO","fr_KE","fr_KG","fr_KI","fr_KM","fr_KN","fr_KW","fr_KY","fr_KZ","fr_LC","fr_LI","fr_LS","fr_LU","fr_MA","fr_MC","fr_MG","fr_MH","fr_ML","fr_MQ","fr_MR","fr_MS","fr_MU","fr_MW","fr_MZ","fr_NA","fr_NC","fr_NE","fr_NF","fr_NI","fr_NR","fr_NU","fr_NZ","fr_OM","fr_PA","fr_PE","fr_PF","fr_PG","fr_PM","fr_PN","fr_PW","fr_QA","fr_RE","fr_RS","fr_RW","fr_SA","fr_SB","fr_SC","fr_SH","fr_SJ","fr_SL","fr_SM","fr_SN","fr_SO","fr_SR","fr_ST","fr_SV","fr_SZ","fr_TC","fr_TD","fr_TG","fr_TJ","fr_TM","fr_TN","fr_TT","fr_TV","fr_UA","fr_UG","fr_US","fr_UY","fr_VA","fr_VC","fr_VE","fr_VG","fr_VU","fr_WF","fr_YE","fr_YT","fr_ZA","fr_ZM","he_IL","hu_HU","id_ID","it_IT","ja_JP","ko_KR","lv_LV","lt_LT","ms_BN","ms_MY","nl_BE","nl_NL","pl_PL","pt_BR","pt_PT","ro_RO","ru_EE","ru_LT","ru_LV","ru_RU","ru_UA","si_LK","sk_SK","sl_SI","sq_AL","sv_SE","tl_PH","th_TH","tr_TR","vi_VN","zh_C2","zh_CN","zh_HK","zh_TW","zh_AD","zh_AE","zh_AI","zh_AO","zh_AW","zh_BB","zh_BH","zh_BJ","zh_BM","zh_BS","zh_BZ","zh_CD","zh_CG","zh_CK","zh_CL","zh_CO","zh_CV","zh_DJ","zh_DM","zh_DO","zh_DZ","zh_EC","zh_EG","zh_ER","zh_ET","zh_FJ","zh_FK","zh_FO","zh_GA","zh_GD","zh_GE","zh_GI","zh_GL","zh_GM","zh_GN","zh_GT","zh_GW","zh_GY","zh_HN","zh_IE","zh_JM","zh_JO","zh_KE","zh_KG","zh_KI","zh_KM","zh_KN","zh_KW","zh_KY","zh_KZ","zh_LC","zh_LI","zh_LS","zh_LT","zh_LU","zh_MA","zh_MG","zh_MH","zh_ML","zh_MR","zh_MS","zh_MU","zh_MW","zh_MZ","zh_NA","zh_NC","zh_NE","zh_NF","zh_NI","zh_NR","zh_NU","zh_NZ","zh_OM","zh_PA","zh_PE","zh_PF","zh_PG","zh_PM","zh_PN","zh_PW","zh_QA","zh_RS","zh_RW","zh_SA","zh_SB","zh_SC","zh_SH","zh_SJ","zh_SL","zh_SM","zh_SN","zh_SO","zh_SR","zh_ST","zh_SV","zh_SZ","zh_TC","zh_TD","zh_TG","zh_TJ","zh_TM","zh_TN","zh_TT","zh_TV","zh_UA","zh_UG","zh_US","zh_UY","zh_VA","zh_VC","zh_VE","zh_VG","zh_VU","zh_WF","zh_YE","zh_ZA","zh_ZM"];function as(e){if(!e)return;let t;if(e.includes("-")){const[n,i]=e.split("-");t=`${n}_${i.toUpperCase()}`}else t=`${e}_${e.toUpperCase()}`;return os.includes(t)?t:void 0}var ss=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class ds{constructor(e){this.scriptLoader=e,this.window=window}getPayPalFastlaneSdk(e,t,n,i){return ss(this,void 0,void 0,function*(){if(!this.window.paypalFastlaneSdk){const r=this.getPayPalFastlaneSdkConfiguration(e,t,n,i);if(yield this.loadPayPalSdk(r),!this.window.paypalFastlaneSdk)throw new Or}return this.window.paypalFastlaneSdk})}getPayPalGooglePaySdk(e,t,n,i,r){return ss(this,void 0,void 0,function*(){if(!this.window.paypalGooglePay||r){const r=this.getPayPalGooglePaySdkScriptConfigOrThrow(e,t,n,i);yield this.loadPayPalSdk(r)}if(!this.window.paypalGooglePay)throw new Or;return this.window.paypalGooglePay})}getPayPalApmsSdk(e,t,n){return ss(this,void 0,void 0,function*(){if(!this.window.paypalApms){const i=this.getPayPalApmSdkConfiguration(e,t,n);if(yield this.loadPayPalSdk(i),!this.window.paypalApms)throw new Or}return this.window.paypalApms})}getPayPalMessages(e,t,n){return ss(this,void 0,void 0,function*(){if(!this.window.paypalMessages){const i=this.getPayPalSdkMessagesConfiguration(e,t,n);yield this.loadPayPalSdk(i)}if(!this.window.paypalMessages)throw new Or;return this.window.paypalMessages})}loadPayPalSdk(e){return ss(this,arguments,void 0,function*({options:e,attributes:t}){const n=this.transformConfig(e),i=this.transformConfig(t),r=`https://www.paypal.com/sdk/js?${new URLSearchParams(n).toString()}`;yield this.scriptLoader.loadScript(r,{async:!0,attributes:i})})}getPayPalFastlaneSdkConfiguration(e,t,n,i){const{clientToken:r,initializationData:o}=e;if(!o||!o.clientId)throw new mr(pr.MissingPaymentMethod);const{intent:a,clientId:s,merchantId:d,attributionId:c}=o,u=as(i);return{options:Object.assign({"client-id":s,"merchant-id":d,commit:!0,components:["fastlane","buttons","payment-fields","hosted-fields","three-domain-secure"],currency:t,intent:a},u&&{locale:u}),attributes:{"data-client-metadata-id":n.replace(/-/g,""),"data-namespace":"paypalFastlaneSdk","data-partner-attribution-id":c,"data-sdk-client-token":r}}}getPayPalGooglePaySdkScriptConfigOrThrow(e,t,n,i=!0){const{clientToken:r,initializationData:o}=e;if(!o||!o.clientId)throw new mr(pr.MissingPaymentMethod);const{intent:a,clientId:s,merchantId:d,buyerCountry:c,attributionId:u,isHostedCheckoutEnabled:l,isDeveloperModeApplicable:h}=o,p=l||i,g=as(n);return{options:Object.assign(Object.assign({"client-id":s,"merchant-id":d,commit:p,components:["googlepay"],currency:t,intent:a},h&&{"buyer-country":c}),g&&{locale:g}),attributes:{"data-partner-attribution-id":u,"data-client-token":r,"data-namespace":"paypalGooglePay"}}}getPayPalApmSdkConfiguration(e,t,n){const{initializationData:i}=e;if(!i||!i.clientId)throw new mr(pr.MissingPaymentMethod);const{intent:r,clientId:o,merchantId:a,buyerCountry:s,attributionId:d,isDeveloperModeApplicable:c,availableAlternativePaymentMethods:u=[],enabledAlternativePaymentMethods:l=[]}=i,h=l,p=u.filter(e=>!l.includes(e)),g=as(n);return{options:Object.assign(Object.assign({"client-id":o,"merchant-id":a,"enable-funding":h.length>0?h:void 0,"disable-funding":p.length>0?p:void 0,commit:!0,components:["buttons","payment-fields"],currency:t,intent:r},c&&{"buyer-country":s}),g&&{locale:g}),attributes:{"data-partner-attribution-id":d,"data-namespace":"paypalApms"}}}getPayPalSdkMessagesConfiguration(e,t,n){const{initializationData:i}=e;if(!i||!i.clientId)throw new mr(pr.MissingPaymentMethod);const{clientId:r,merchantId:o,attributionId:a,isDeveloperModeApplicable:s,buyerCountry:d}=i,c=as(n);return{options:Object.assign(Object.assign({"client-id":r,"merchant-id":o,components:["messages"],currency:t},s&&{"buyer-country":d}),c&&{locale:c}),attributes:{"data-namespace":"paypalMessages","data-partner-attribution-id":a}}}transformConfig(e){let t={};return Object.keys(e).forEach(n=>{const i=e[n];null==i||""===i||Array.isArray(i)&&0===i.length||(t=Object.assign(Object.assign({},t),{[n]:Array.isArray(i)?i.join(","):i}))}),t}}function cs(e){if(!function(e){return!!e.initializationData&&"attributionId"in e.initializationData&&"isVenmoEnabled"in e.initializationData&&"isGooglePayEnabled"in e.initializationData&&"isPayPalCreditAvailable"in e.initializationData}(e))throw new mr(pr.MissingPaymentMethod)}var us=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class ls extends Ka{constructor(e,t){super("paypalsb",e),this.payPalCommerceSdk=t,this.service=e}initialize(e,t,n){const i=Object.create(null,{initialize:{get:()=>super.initialize},getPaymentMethod:{get:()=>super.getPaymentMethod}});return us(this,void 0,void 0,function*(){var r,o,a,s,d;const c=this.service.getState(),u=null!==(o=null===(r=c.getStoreConfig())||void 0===r?void 0:r.currency.code)&&void 0!==o?o:n;if(!u)throw new mr(pr.MissingPaymentMethod);yield i.initialize.call(this,e,t,u);const l=i.getPaymentMethod.call(this);if(!l.initializationData)throw new mr(pr.MissingPaymentMethod);cs(l);const h=yield this.payPalCommerceSdk.getPayPalGooglePaySdk(l,u,c.getLocale());this.googlepayConfig=yield h.Googlepay().config();const{allowedPaymentMethods:p}=this.googlepayConfig;this.setGatewayIdentifier(null===(d=null===(s=null===(a=p[0])||void 0===a?void 0:a.tokenizationSpecification)||void 0===s?void 0:s.parameters)||void 0===d?void 0:d.gateway)})}getPaymentGatewayParameters(){if(this.googlepayConfig){const{allowedPaymentMethods:e}=this.googlepayConfig,{gatewayMerchantId:t}=e[0].tokenizationSpecification.parameters;return{gateway:this.getGatewayIdentifier(),gatewayMerchantId:t}}return{gateway:this.getGatewayIdentifier()}}mapToExternalCheckoutData(e){const t=Object.create(null,{mapToExternalCheckoutData:{get:()=>super.mapToExternalCheckoutData}});return us(this,void 0,void 0,function*(){const n=yield t.mapToExternalCheckoutData.call(this,e);return n.nonce=btoa(n.nonce),n})}}const hs=Tr(t=>new Xa(t,new ts(is(),new ls(t,new ds(he())),e(),n())),[{id:"googlepaypaypalcommerce"}]);var ps=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class gs{constructor(e){this.scriptLoader=e,this.window=window}getPayPalFastlaneSdk(e,t,n){return ps(this,void 0,void 0,function*(){if(!this.window.bigCommercePaymentsFastlaneSdk){const i=this.getPayPalFastlaneSdkConfiguration(e,t,n);if(yield this.loadPayPalSdk(i),!this.window.bigCommercePaymentsFastlaneSdk)throw new Or}return this.window.bigCommercePaymentsFastlaneSdk})}getPayPalGooglePaySdk(e,t,n,i){return ps(this,void 0,void 0,function*(){if(!this.window.bigCommercePaymentsGooglePay||i){const i=this.getPayPalGooglePaySdkScriptConfigOrThrow(e,t,n);yield this.loadPayPalSdk(i)}if(!this.window.bigCommercePaymentsGooglePay)throw new Or;return this.window.bigCommercePaymentsGooglePay})}getPayPalApmsSdk(e,t){return ps(this,void 0,void 0,function*(){if(!this.window.bigCommercePaymentsApms){const n=this.getPayPalApmSdkConfiguration(e,t);if(yield this.loadPayPalSdk(n),!this.window.bigCommercePaymentsApms)throw new Or}return this.window.bigCommercePaymentsApms})}getPayPalMessages(e,t){return ps(this,void 0,void 0,function*(){if(!this.window.bigCommercePaymentsMessages){const n=this.getPayPalSdkMessagesConfiguration(e,t);yield this.loadPayPalSdk(n)}if(!this.window.bigCommercePaymentsMessages)throw new Or;return this.window.bigCommercePaymentsMessages})}loadPayPalSdk(e){return ps(this,arguments,void 0,function*({options:e,attributes:t}){const n=this.transformConfig(e),i=this.transformConfig(t),r=`https://www.paypal.com/sdk/js?${new URLSearchParams(n).toString()}`;yield this.scriptLoader.loadScript(r,{async:!0,attributes:i})})}getPayPalFastlaneSdkConfiguration(e,t,n){const{clientToken:i,initializationData:r}=e;if(!r||!r.clientId)throw new mr(pr.MissingPaymentMethod);const{intent:o,clientId:a,merchantId:s,attributionId:d}=r;return{options:{"client-id":a,"merchant-id":s,commit:!0,components:["fastlane","three-domain-secure"],currency:t,intent:o},attributes:{"data-client-metadata-id":n.replace(/-/g,""),"data-namespace":"bigCommercePaymentsFastlaneSdk","data-partner-attribution-id":d,"data-sdk-client-token":i}}}getPayPalGooglePaySdkScriptConfigOrThrow(e,t,n=!0){const{clientToken:i,initializationData:r}=e;if(!r||!r.clientId)throw new mr(pr.MissingPaymentMethod);const{intent:o,clientId:a,merchantId:s,buyerCountry:d,attributionId:c,isHostedCheckoutEnabled:u,isDeveloperModeApplicable:l}=r,h=u||n;return{options:Object.assign({"client-id":a,"merchant-id":s,commit:h,components:["googlepay"],currency:t,intent:o},l&&{"buyer-country":d}),attributes:{"data-partner-attribution-id":c,"data-client-token":i,"data-namespace":"bigCommercePaymentsGooglePay"}}}getPayPalApmSdkConfiguration(e,t){const{initializationData:n}=e;if(!n||!n.clientId)throw new mr(pr.MissingPaymentMethod);const{intent:i,clientId:r,merchantId:o,buyerCountry:a,attributionId:s,isDeveloperModeApplicable:d,availableAlternativePaymentMethods:c=[],enabledAlternativePaymentMethods:u=[]}=n,l=this.filterFundingOptions(u),h=this.filterFundingOptions(c.filter(e=>!u.includes(e)));return{options:Object.assign({"client-id":r,"merchant-id":o,"enable-funding":l.length>0?l:void 0,"disable-funding":h.length>0?h:void 0,commit:!0,components:["buttons","payment-fields"],currency:t,intent:i},d&&{"buyer-country":a}),attributes:{"data-partner-attribution-id":s,"data-namespace":"bigCommercePaymentsApms"}}}getPayPalSdkMessagesConfiguration(e,t){const{initializationData:n}=e;if(!n||!n.clientId)throw new mr(pr.MissingPaymentMethod);const{clientId:i,merchantId:r,attributionId:o,isDeveloperModeApplicable:a,buyerCountry:s}=n;return{options:Object.assign({"client-id":i,"merchant-id":r,components:["messages"],currency:t},a&&{"buyer-country":s}),attributes:{"data-namespace":"bigCommercePaymentsMessages","data-partner-attribution-id":o}}}filterFundingOptions(e){const t=["klarna","afterpay"];return e?e.filter(e=>!t.includes(e)):[]}transformConfig(e){let t={};return Object.keys(e).forEach(n=>{const i=e[n];null==i||""===i||Array.isArray(i)&&0===i.length||(t=Object.assign(Object.assign({},t),{[n]:Array.isArray(i)?i.join(","):i}))}),t}}var ms=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class ys extends Ka{constructor(e,t){super("googlepay_bigcommerce_payments",e),this.payPalSdkHelper=t,this.service=e}initialize(e,t,n){const i=Object.create(null,{initialize:{get:()=>super.initialize},getPaymentMethod:{get:()=>super.getPaymentMethod}});return ms(this,void 0,void 0,function*(){var r,o,a,s,d;const c=null!==(o=null===(r=this.service.getState().getStoreConfig())||void 0===r?void 0:r.currency.code)&&void 0!==o?o:n;if(!c)throw new mr(pr.MissingPaymentMethod);yield i.initialize.call(this,e,t,c);const u=i.getPaymentMethod.call(this);if(!u.initializationData)throw new mr(pr.MissingPaymentMethod);cs(u);const l=yield this.payPalSdkHelper.getPayPalGooglePaySdk(u,c);this.googlepayConfig=yield l.Googlepay().config();const{allowedPaymentMethods:h}=this.googlepayConfig;this.setGatewayIdentifier(null===(d=null===(s=null===(a=h[0])||void 0===a?void 0:a.tokenizationSpecification)||void 0===s?void 0:s.parameters)||void 0===d?void 0:d.gateway)})}getPaymentGatewayParameters(){if(this.googlepayConfig){const{allowedPaymentMethods:e}=this.googlepayConfig,{gatewayMerchantId:t}=e[0].tokenizationSpecification.parameters;return{gateway:this.getGatewayIdentifier(),gatewayMerchantId:t}}return{gateway:this.getGatewayIdentifier()}}mapToExternalCheckoutData(e){const t=Object.create(null,{mapToExternalCheckoutData:{get:()=>super.mapToExternalCheckoutData}});return ms(this,void 0,void 0,function*(){const n=yield t.mapToExternalCheckoutData.call(this,e);return n.nonce=btoa(n.nonce),n})}}const fs=Tr(t=>new Xa(t,new ts(is(),new ys(t,new gs(he())),e(),n())),[{id:"googlepay_bigcommerce_payments"}]),_s=Tr(t=>{const i=e();return new Xa(t,new ts(is(),new Ka("adyen",t),i,n()))},[{id:"googlepayadyenv2"}]),Ss=Tr(t=>{const i=e();return new Xa(t,new ts(is(),new Ka("adyen",t),i,n()))},[{id:"googlepayadyenv3"}]);class vs extends Ka{constructor(e){super("authorizenet",e)}mapToExternalCheckoutData(e){const t=Object.create(null,{mapToExternalCheckoutData:{get:()=>super.mapToExternalCheckoutData}});return n=this,i=void 0,o=function*(){const n=yield t.mapToExternalCheckoutData.call(this,e);return n.nonce=btoa(n.nonce),n},new((r=void 0)||(r=Promise))(function(e,t){function a(e){try{d(o.next(e))}catch(e){t(e)}}function s(e){try{d(o.throw(e))}catch(e){t(e)}}function d(t){var n;t.done?e(t.value):(n=t.value,n instanceof r?n:new r(function(e){e(n)})).then(a,s)}d((o=o.apply(n,i||[])).next())});var n,i,r,o}getPaymentGatewayParameters(){const e=this.getGooglePayInitializationData();return function(e){if(!function(e){return"paymentGatewayId"in e}(e))throw new mr(pr.MissingPaymentMethod)}(e),{gateway:this.getGatewayIdentifier(),gatewayMerchantId:e.paymentGatewayId}}}const Cs=Tr(t=>new Xa(t,new ts(is(),new vs(t),e(),n())),[{id:"googlepayauthorizenet"}]),Is=e=>"object"==typeof e&&null!==e&&"body"in e;function ws(e){if(!function(e){return"checkoutcomkey"in e}(e))throw new mr(pr.MissingPaymentMethod)}var bs=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Es extends Ka{constructor(e,t){super("checkoutltd",e),this._requestSender=t}processAdditionalAction(e){return new Promise((t,n)=>{if(Is(e)&&function(e){var t;if("object"!=typeof e||null===e)return!1;const n=e;return"string"==typeof(null===(t=n.three_ds_result)||void 0===t?void 0:t.acs_url)&&"string"==typeof n.three_ds_result.code}(e.body)&&"three_d_secure_required"===e.body.three_ds_result.code)return window.location.assign(e.body.three_ds_result.acs_url);n(e)})}mapToExternalCheckoutData(e){const t=Object.create(null,{mapToExternalCheckoutData:{get:()=>super.mapToExternalCheckoutData}});return bs(this,void 0,void 0,function*(){const n=yield t.mapToExternalCheckoutData.call(this,e);let i;try{i=JSON.parse(n.nonce)}catch(e){throw new kr("Unable to parse response from Google Pay.")}return function(e){if(!function(e){return"object"==typeof e&&null!==e&&"protocolVersion"in e&&"signature"in e&&"signedMessage"in e}(e))throw new mr(pr.MissingPaymentToken)}(i),n.nonce=yield this._tokenize(i),n})}getPaymentGatewayParameters(){const e=this.getGooglePayInitializationData();return ws(e),{gateway:this.getGatewayIdentifier(),gatewayMerchantId:e.checkoutcomkey}}_tokenize(e){return bs(this,void 0,void 0,function*(){const t=this.getPaymentMethod().config.testMode?"https://api.sandbox.checkout.com/tokens":"https://api.checkout.com/tokens",n=this.getGooglePayInitializationData();ws(n);const{body:i}=yield this._requestSender.post(t,{credentials:!1,body:{type:"googlepay",token_data:e},headers:{Authorization:n.checkoutcomkey,"Content-Type":Fr.Json,"X-XSRF-TOKEN":null}});return i.token})}}const Ps=Tr(t=>{const i=e();return new Xa(t,new ts(is(),new Es(t,i),i,n()))},[{id:"googlepaycheckoutcom"}]);class Os extends Ka{constructor(e){super("cybersource",e)}mapToExternalCheckoutData(e){const t=Object.create(null,{mapToExternalCheckoutData:{get:()=>super.mapToExternalCheckoutData}});return n=this,i=void 0,o=function*(){const n=yield t.mapToExternalCheckoutData.call(this,e);return n.nonce=btoa(n.nonce),n},new((r=void 0)||(r=Promise))(function(e,t){function a(e){try{d(o.next(e))}catch(e){t(e)}}function s(e){try{d(o.throw(e))}catch(e){t(e)}}function d(t){var n;t.done?e(t.value):(n=t.value,n instanceof r?n:new r(function(e){e(n)})).then(a,s)}d((o=o.apply(n,i||[])).next())});var n,i,r,o}}const As=Tr(t=>new Xa(t,new ts(is(),new Os(t),e(),n())),[{id:"googlepaycybersourcev2"},{id:"googlepaybnz"}]);class Ts extends Ka{constructor(e){super("chase",e)}mapToExternalCheckoutData(e){const t=Object.create(null,{mapToExternalCheckoutData:{get:()=>super.mapToExternalCheckoutData}});return n=this,i=void 0,o=function*(){const n=yield t.mapToExternalCheckoutData.call(this,e);return n.nonce=btoa(n.nonce),n},new((r=void 0)||(r=Promise))(function(e,t){function a(e){try{d(o.next(e))}catch(e){t(e)}}function s(e){try{d(o.throw(e))}catch(e){t(e)}}function d(t){var n;t.done?e(t.value):(n=t.value,n instanceof r?n:new r(function(e){e(n)})).then(a,s)}d((o=o.apply(n,i||[])).next())});var n,i,r,o}}const ks=Tr(t=>new Xa(t,new ts(is(),new Ts(t),e(),n())),[{id:"googlepayorbital"}]);var Rs,Ds,Ms,Ns,Ls,zs,Bs,Fs,Us,xs,qs,js;!function(e){e.SHIPPING="shipping",e.BILLING="billing"}(Rs||(Rs={})),function(e){e.SPLIT="split",e.FULL="full",e.ORGANIZATION="organization"}(Ds||(Ds={})),function(e){e.Open="open",e.Expired="expired",e.Complete="complete"}(Ms||(Ms={})),function(e){e.Paid="paid",e.UnPaid="unpaid",e.NoPaymentRequired="no_payment_required"}(Ns||(Ns={})),function(e){e.SUCCESS="success",e.ERROR="error"}(Ls||(Ls={})),function(e){e.CreditCard="card",e.ACH="us_bank_account",e.Link="link",e.EPS="eps",e.GRABPAY="grabpay",e.BANCONTACT="bancontact",e.IDEAL="ideal",e.ALIPAY="alipay",e.KLARNA="klarna",e.OCS="optimized_checkout",e.CHECKOUT_SESSION="checkout_session"}(zs||(zs={})),function(e){e.NEVER="never",e.AUTO="auto",e.ALWAYS="always",e.PAYMENT="payment",e.IF_REQUIRED="if_required"}(Bs||(Bs={})),function(e){e.V3="v3",e.ACACIA="acacia",e.BASIL="basil",e.CLOVER="clover"}(Fs||(Fs={})),function(e){e.PAYMENT="payment",e.AUTHENTICATION="linkAuthentication",e.SHIPPING="address",e.EXPRESS_CHECKOUT="expressCheckout"}(Us||(Us={})),function(e){e.REQUIRES_PAYMENT_METHOD="requires_payment_method",e.REQUIRES_CONFIRMATION="requires_confirmation",e.REQUIRES_ACTION="requires_action",e.PROCESSING="processing",e.SUCCEEDED="succeeded",e.CANCELED="canceled"}(xs||(xs={})),function(e){e.CLICK="click",e.CHANGE="change",e.READY="ready",e.SHIPPING_ADDRESS_CHANGE="shippingaddresschange",e.SHIPPING_RATE_CHANGE="shippingratechange",e.CONFIRM="confirm",e.CANCEL="cancel",e.LOADER_START="loaderstart"}(qs||(qs={})),function(e){e.ON_SESSION="on_session",e.OFF_SESSION="off_session"}(js||(js={}));var Gs=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Vs{constructor(e,t=window){this.scriptLoader=e,this.stripeWindow=t}getStripeClient(e,t,n,i,r){return Gs(this,void 0,void 0,function*(){if(this.stripeWindow.bcStripeClient)return this.stripeWindow.bcStripeClient;const o=yield this.load(n),{stripePublishableKey:a,stripeConnectedAccount:s}=e,d=o(a,Object.assign(Object.assign(Object.assign(Object.assign({},s?{stripeAccount:s}:{}),t?{locale:t}:{}),i?{betas:i}:{}),r?{apiVersion:r}:{}));return Object.assign(this.stripeWindow,{bcStripeClient:d}),d})}getElements(e,t){return Gs(this,void 0,void 0,function*(){let n=this.stripeWindow.bcStripeElements;return n?yield this.updateStripeElements(t):(n=e.elements(t),Object.assign(this.stripeWindow,{bcStripeElements:n})),n})}updateStripeElements(e){return Gs(this,void 0,void 0,function*(){const t=this.stripeWindow.bcStripeElements;t&&(t.update(e),yield t.fetchUpdates())})}getStripeCheckout(e,t){return Gs(this,void 0,void 0,function*(){let n=yield this.getStoredStripeCheckout(t);return n||(n=yield e.initCheckout(t),Object.assign(this.stripeWindow,{bcStripeCheckout:n})),n})}load(e){return Gs(this,void 0,void 0,function*(){if(!this.stripeWindow.Stripe&&(yield this.scriptLoader.loadScript(this.getScriptUrl(e)),!this.stripeWindow.Stripe))throw new Or;return this.stripeWindow.Stripe})}getScriptUrl(e){return e&&e!==Fs.V3?`https://js.stripe.com/${e}/stripe.js`:"https://js.stripe.com/v3/"}getStoredStripeCheckout(e){return Gs(this,void 0,void 0,function*(){const t=this.stripeWindow.bcStripeCheckout;if(t)try{const{actions:n,error:i}=yield t.loadActions();if(i||!n)return void this.logErrorToConsole(i);const r=yield n.getSession(),o=e.clientSecret.split("_secret_")[0];if(r.id===o)return t}catch(e){return void this.logErrorToConsole(e)}})}logErrorToConsole(e){e?console.error(e):console.error("No stripe checkout actions available on loadActions().")}}const Hs=["payment_element_beta_2","alipay_pm_beta_1","link_default_integration_beta_1","shipping_address_element_beta_1","address_element_beta_1"];function Ws(e){if(!function(e){return"stripeConnectedAccount"in e&&"stripePublishableKey"in e&&"stripeVersion"in e}(e))throw new mr(pr.MissingPaymentMethod)}var Ys=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Ks extends Ka{constructor(e,t){super("stripe",e),this.paymentIntegrationService=e,this.scriptLoader=t}mapToExternalCheckoutData(e){const t=Object.create(null,{mapToExternalCheckoutData:{get:()=>super.mapToExternalCheckoutData}});return Ys(this,void 0,void 0,function*(){const n=yield t.mapToExternalCheckoutData.call(this,e);let i;try{i=JSON.parse(n.nonce)}catch(e){throw new kr("Unable to parse response from Google Pay.")}return function(e){if(!function(e){return"object"==typeof e&&null!==e&&"id"in e}(e))throw new mr(pr.MissingPaymentToken)}(i),n.nonce=i.id,n})}getPaymentGatewayParameters(){const e=this.getGooglePayInitializationData();Ws(e);const{stripeVersion:t,stripePublishableKey:n,stripeConnectedAccount:i}=e;return{gateway:this.getGatewayIdentifier(),"stripe:version":t,"stripe:publishableKey":`${n}/${i}`}}processAdditionalAction(e,t){return Ys(this,void 0,void 0,function*(){var n,i;if(!t)throw new Xo(["payment"]);if(!Is(e)||("object"!=typeof(i=e.body)||null===i||!("three_ds_result"in i)||!("errors"in i)))throw e;if(z(e.body.errors,{code:"three_d_secure_required"})){const i=this.getGooglePayInitializationData();Ws(i),this.stripeUPEClient=yield this.loadStripeJs(i,t);const r=e.body.three_ds_result.token;let o,a=!1;try{o=yield this.stripeUPEClient.confirmCardPayment(r)}catch(e){try{o=yield this.stripeUPEClient.retrievePaymentIntent(r)}catch(e){a=!0}}if(null==o?void 0:o.error){if(this._throwDisplayableStripeError(o.error),this._isCancellationError(o.error))throw new ho;throw new Ja}if(!(null==o?void 0:o.paymentIntent)&&!a)throw new we;return this.paymentIntegrationService.submitPayment({methodId:t,paymentData:{nonce:(null===(n=null==o?void 0:o.paymentIntent)||void 0===n?void 0:n.id)||r}})}throw e})}loadStripeJs(e,t){return Ys(this,void 0,void 0,function*(){if(this.stripeUPEClient)return this.stripeUPEClient;const n=this.paymentIntegrationService.getState().getCartLocale();return"googlepaystripeocs"===t?this.scriptLoader.getStripeClient(e,n,Fs.CLOVER):this.scriptLoader.getStripeClient(e,n,Fs.V3,Hs,"2020-03-02;alipay_beta=v1;link_beta=v1")})}_isCancellationError(e){var t,n;return e&&-1!==(null===(n=null===(t=e.payment_intent.last_payment_error)||void 0===t?void 0:t.message)||void 0===n?void 0:n.indexOf("canceled"))}_throwDisplayableStripeError(e){if(m(["card_error","invalid_request_error","validation_error"],e.type))throw new Error(e.message)}}const $s=Tr(t=>new Xa(t,new ts(is(),new Ks(t,new Vs(he())),e(),n())),[{id:"googlepaystripe"},{id:"googlepaystripeupe"},{id:"googlepaystripeocs"}]);class Zs extends Ka{constructor(e){super("worldpay",e)}mapToExternalCheckoutData(e){const t=Object.create(null,{mapToExternalCheckoutData:{get:()=>super.mapToExternalCheckoutData}});return n=this,i=void 0,o=function*(){const n=yield t.mapToExternalCheckoutData.call(this,e);return n.nonce=btoa(n.nonce),n},new((r=void 0)||(r=Promise))(function(e,t){function a(e){try{d(o.next(e))}catch(e){t(e)}}function s(e){try{d(o.throw(e))}catch(e){t(e)}}function d(t){var n;t.done?e(t.value):(n=t.value,n instanceof r?n:new r(function(e){e(n)})).then(a,s)}d((o=o.apply(n,i||[])).next())});var n,i,r,o}}const Js=Tr(t=>new Xa(t,new ts(is(),new Zs(t),e(),n())),[{id:"googlepayworldpayaccess"}]);function Qs(){const{navigator:e}=window;let t;return t=e.language?e.language:e.userLanguage,{color_depth:window.screen.colorDepth||24,java_enabled:"function"==typeof e.javaEnabled&&e.javaEnabled(),language:t,screen_height:window.screen.height,screen_width:window.screen.width,time_zone_offset:(new Date).getTimezoneOffset().toString()}}var Xs=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class ed extends Ka{constructor(e,t){super("worldlinena",e),this.formPoster=t}extraPaymentData(){return Xs(this,void 0,void 0,function*(){return Promise.resolve({browser_info:Qs()})})}processAdditionalAction(e){return Xs(this,void 0,void 0,function*(){if(!function(e){return Is(e)&&(t=e.body,C(t)&&"object"==typeof t&&"errors"in t&&"three_ds_result"in t&&y(t.errors)&&z(t.errors,{code:"three_d_secure_required"}));var t}(e))throw e;const{three_ds_result:t}=e.body,{acs_url:n,payer_auth_request:i,merchant_data:r}=t||{};if(!n||!i||!r)throw new Xo(["formUrl","threeDSSessionData","creq"]);return new Promise(e=>{this.formPoster.postForm(n,{threeDSSessionData:i,creq:r},e,"_top")})})}}const td=Tr(t=>new Xa(t,new ts(is(),new ed(t,n()),e(),n())),[{id:"googlepaytdonlinemart"}]);var nd,id,rd,od,ad,sd,dd,cd,ud,ld,hd=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class pd{constructor(e){this.scriptLoader=e,this.window=window}getPayPalSDK(e,t,n,i,r){return hd(this,void 0,void 0,function*(){if(!this.window.paypal||r){const r=this.getPayPalSdkScriptConfigOrThrow(e,t,n,i);if(yield this.loadPayPalSdk(r),!this.window.paypal)throw new Or}return this.window.paypal})}getPayPalFastlaneSdk(e,t,n,i){return hd(this,void 0,void 0,function*(){if(!this.window.paypalFastlaneSdk){const r=this.getPayPalFastlaneSdkConfiguration(e,t,n,i);if(yield this.loadPayPalSdk(r),!this.window.paypalFastlaneSdk)throw new Or}return this.window.paypalFastlaneSdk})}getPayPalGooglePaySdk(e,t,n,i,r){return hd(this,void 0,void 0,function*(){if(!this.window.paypalGooglePay||r){const r=this.getPayPalGooglePaySdkScriptConfigOrThrow(e,t,n,i);yield this.loadPayPalSdk(r)}if(!this.window.paypalGooglePay)throw new Or;return this.window.paypalGooglePay})}getPayPalApmsSdk(e,t,n){return hd(this,void 0,void 0,function*(){if(!this.window.paypalApms){const i=this.getPayPalApmSdkConfiguration(e,t,n);if(yield this.loadPayPalSdk(i),!this.window.paypalApms)throw new Or}return this.window.paypalApms})}getPayPalMessages(e,t,n){return hd(this,void 0,void 0,function*(){if(!this.window.paypalMessages){const i=this.getPayPalSdkMessagesConfiguration(e,t,n);yield this.loadPayPalSdk(i)}if(!this.window.paypalMessages)throw new Or;return this.window.paypalMessages})}loadPayPalSdk(e){return hd(this,arguments,void 0,function*({options:e,attributes:t}){const n=this.transformConfig(e),i=this.transformConfig(t),r=`https://www.paypal.com/sdk/js?${new URLSearchParams(n).toString()}`;yield this.scriptLoader.loadScript(r,{async:!0,attributes:i})})}getPayPalSdkScriptConfigOrThrow(e,t,n,i=!0){const{id:r,clientToken:o,initializationData:a}=e;if(!a||!a.clientId)throw new mr(pr.MissingPaymentMethod);const{intent:s,clientId:d,merchantId:c,buyerCountry:u,attributionId:l,isVenmoEnabled:h,isHostedCheckoutEnabled:p,isPayPalCreditAvailable:g,isDeveloperModeApplicable:m,availableAlternativePaymentMethods:y=[],enabledAlternativePaymentMethods:f=[],isGooglePayEnabled:_}=a,S=p||i,v="paypalcommercecreditcards"===r||"bigcommerce_payments_creditcards"===r,C=v?["card"]:[],I=v?[]:["card"],w=g?["credit","paylater"]:[],b=g?[]:["credit","paylater"],E=h?["venmo"]:[],P=h?[]:["venmo"],O=y.filter(e=>!f.includes(e)),A=_?["googlepay"]:[],T=i?["card-fields"]:[],k=this.filterFundingOptions([...I,...b,...P,...O]),R=this.filterFundingOptions([...C,...w,...E,...f]),D=as(n);return{options:Object.assign(Object.assign({"client-id":d,"merchant-id":c,"enable-funding":R.length>0?R:void 0,"disable-funding":k.length>0?k:void 0,commit:S,components:["buttons","hosted-fields","payment-fields","legal",...A,...T],currency:t,intent:s},m&&{"buyer-country":u}),D&&{locale:D}),attributes:{"data-partner-attribution-id":l,"data-client-token":o}}}getPayPalFastlaneSdkConfiguration(e,t,n,i){const{clientToken:r,initializationData:o}=e;if(!o||!o.clientId)throw new mr(pr.MissingPaymentMethod);const{intent:a,clientId:s,merchantId:d,attributionId:c}=o,u=as(i);return{options:Object.assign(Object.assign({"client-id":s,"merchant-id":d,commit:!0,components:["fastlane","buttons","payment-fields","hosted-fields","three-domain-secure"],currency:t},u&&{locale:u}),{intent:a}),attributes:{"data-client-metadata-id":n.replace(/-/g,""),"data-namespace":"paypalFastlaneSdk","data-partner-attribution-id":c,"data-sdk-client-token":r}}}getPayPalGooglePaySdkScriptConfigOrThrow(e,t,n,i=!0){const{clientToken:r,initializationData:o}=e;if(!o||!o.clientId)throw new mr(pr.MissingPaymentMethod);const{intent:a,clientId:s,merchantId:d,buyerCountry:c,attributionId:u,isHostedCheckoutEnabled:l,isDeveloperModeApplicable:h}=o,p=l||i,g=as(n);return{options:Object.assign(Object.assign({"client-id":s,"merchant-id":d,commit:p,components:["googlepay"],currency:t,intent:a},h&&{"buyer-country":c}),g&&{locale:g}),attributes:{"data-partner-attribution-id":u,"data-client-token":r,"data-namespace":"paypalGooglePay"}}}getPayPalApmSdkConfiguration(e,t,n){const{initializationData:i}=e;if(!i||!i.clientId)throw new mr(pr.MissingPaymentMethod);const{intent:r,clientId:o,merchantId:a,buyerCountry:s,attributionId:d,isDeveloperModeApplicable:c,availableAlternativePaymentMethods:u=[],enabledAlternativePaymentMethods:l=[]}=i,h=this.filterFundingOptions(l),p=this.filterFundingOptions(u.filter(e=>!l.includes(e))),g=as(n);return{options:Object.assign(Object.assign({"client-id":o,"merchant-id":a,"enable-funding":h.length>0?h:void 0,"disable-funding":p.length>0?p:void 0,commit:!0,components:["buttons","payment-fields"],currency:t,intent:r},c&&{"buyer-country":s}),g&&{locale:g}),attributes:{"data-partner-attribution-id":d,"data-namespace":"paypalApms"}}}getPayPalSdkMessagesConfiguration(e,t,n){const{initializationData:i}=e;if(!i||!i.clientId)throw new mr(pr.MissingPaymentMethod);const{clientId:r,merchantId:o,attributionId:a,isDeveloperModeApplicable:s,buyerCountry:d}=i,c=as(n);return{options:Object.assign(Object.assign({"client-id":r,"merchant-id":o,components:["messages"],currency:t},s&&{"buyer-country":d}),c&&{locale:c}),attributes:{"data-namespace":"paypalMessages","data-partner-attribution-id":a}}}filterFundingOptions(e){const t=["klarna","afterpay"];return e?e.filter(e=>!t.includes(e)):[]}transformConfig(e){let t={};return Object.keys(e).forEach(n=>{const i=e[n];null==i||""===i||Array.isArray(i)&&0===i.length||(t=Object.assign(Object.assign({},t),{[n]:Array.isArray(i)?i.join(","):i}))}),t}}!function(e){e.AUTHORIZE="authorize",e.CAPTURE="capture"}(nd||(nd={})),function(e){e.Always="SCA_ALWAYS"}(id||(id={})),function(e){e.Succeeded="succeeded",e.Cancelled="cancelled",e.Errored="errored"}(rd||(rd={})),function(e){e.Possible="POSSIBLE",e.No="NO",e.Unknown="UNKNOWN",e.Yes="YES"}(od||(od={})),function(e){e.paypal="paypal",e.checkout="checkout",e.buynow="buynow",e.pay="pay",e.installment="installment"}(ad||(ad={})),function(e){e.gold="gold",e.blue="blue",e.silver="silver",e.black="black",e.white="white"}(sd||(sd={})),function(e){e.pill="pill",e.rect="rect"}(dd||(dd={})),function(e){e.SUCCEEDED="succeeded",e.FAILED="failed",e.CANCELED="canceled",e.UNRECOGNIZED="unrecognized"}(cd||(cd={})),(ud||(ud={})).OXXO="oxxo",function(e){e.Approved="APPROVED",e.Created="CREATED",e.PayerActionRequired="PAYER_ACTION_REQUIRED",e.PollingStop="POLLING_STOP",e.PollingError="POLLING_ERROR"}(ld||(ld={}));var gd=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class md{constructor(e,t,n,i){this.formPoster=e,this.paymentIntegrationService=t,this.paypalRequestSender=n,this.paypalSdkLoader=i}loadPayPalSdk(e,t,n,i){return gd(this,void 0,void 0,function*(){const r=this.paymentIntegrationService.getState(),o=t||r.getCartOrThrow().currency.code,a=r.getPaymentMethodOrThrow(e),s=r.getLocale();return this.paypalSdk=yield this.paypalSdkLoader.getPayPalSDK(a,o,s,n,i),this.paypalSdk})}getPayPalSdkOrThrow(){if(!this.paypalSdk)throw new Or;return this.paypalSdk}createBuyNowCartOrThrow(e){return gd(this,void 0,void 0,function*(){const t=e.getBuyNowCartRequestBody();if(!t)throw new mr(pr.MissingCart);try{return yield this.paymentIntegrationService.createBuyNowCart(t)}catch(e){throw new Rr}})}createOrder(e,t){return gd(this,void 0,void 0,function*(){const n=this.paymentIntegrationService.getState().getCartOrThrow().id,{orderId:i}=yield this.paypalRequestSender.createOrder(e,Object.assign({cartId:n},t));return i})}createOrderCardFields(e,t){return gd(this,void 0,void 0,function*(){const n=this.paymentIntegrationService.getState().getCartOrThrow().id,{orderId:i,setupToken:r}=yield this.paypalRequestSender.createOrder(e,Object.assign({cartId:n},t));return Object.assign({orderId:i},r?{setupToken:r}:{})})}updateOrder(e,t,n,i){return gd(this,void 0,void 0,function*(){const r=this.paymentIntegrationService.getState(),o=r.getCartOrThrow();let a;i||(a=r.getConsignmentsOrThrow()[0]);try{yield this.paypalRequestSender.updateOrder(e,Object.assign(Object.assign({availableShippingOptions:i?[]:null==a?void 0:a.availableShippingOptions,cartId:o.id,selectedShippingOption:i?null:null==a?void 0:a.selectedShippingOption},t?{methodId:t}:{}),n?{orderId:n}:{}))}catch(e){throw new we}})}getOrderStatus(e,t){return gd(this,void 0,void 0,function*(){try{const{status:n}=yield this.paypalRequestSender.getOrderStatus(e,t);return n}catch(e){throw new we}})}tokenizePayment(e,t){const n=this.paymentIntegrationService.getState().getCartOrThrow();if(!t)throw new mr(pr.MissingOrderId);return this.formPoster.postForm("/checkout.php",Object.assign({payment_type:"paypal",action:"set_external_checkout",provider:e,order_id:t},n.source===Co.BuyNow&&{cart_id:n.id}))}submitPayment(e,t,n){return gd(this,void 0,void 0,function*(){const i={formattedPayload:{vault_payment_instrument:null,set_as_default_stored_instrument:null,device_info:null,method_id:e,paypal_account:{order_id:t}}};yield this.paymentIntegrationService.submitPayment(Object.assign({methodId:e,paymentData:i},n?{gatewayId:n}:{}))})}getShippingOptionOrThrow(e){const t=this.paymentIntegrationService.getState().getConsignmentsOrThrow()[0],n=t.availableShippingOptions||[],i=n.find(e=>e.isRecommended),r=(e?n.find(t=>t.id===e):n.find(e=>{if(t.selectedShippingOption){const n=t.selectedShippingOption.id;return e.id===n}return!1}))||i||n[0];if(!r)throw new Error("Your order can't be shipped to this address");return r}getAddress(e){return{firstName:(null==e?void 0:e.firstName)||"",lastName:(null==e?void 0:e.lastName)||"",email:(null==e?void 0:e.email)||"",phone:(null==e?void 0:e.phone)||"",company:"",address1:(null==e?void 0:e.address1)||"",address2:(null==e?void 0:e.address2)||"",city:(null==e?void 0:e.city)||"",countryCode:(null==e?void 0:e.countryCode)||"",postalCode:(null==e?void 0:e.postalCode)||"",stateOrProvince:"",stateOrProvinceCode:(null==e?void 0:e.stateOrProvinceCode)||"",customFields:[]}}getBillingAddressFromOrderDetails({payer:e}){var t,n;return this.getAddress({firstName:e.name.given_name,lastName:e.name.surname,email:e.email_address,address1:e.address.address_line_1,address2:e.address.address_line_2,city:e.address.admin_area_2,countryCode:e.address.country_code,postalCode:e.address.postal_code,stateOrProvinceCode:e.address.admin_area_1,phone:null===(n=null===(t=e.phone)||void 0===t?void 0:t.phone_number)||void 0===n?void 0:n.national_number})}getShippingAddressFromOrderDetails(e){const{payer:t,purchase_units:n}=e,{address:i,name:{full_name:r}}=n[0].shipping,[o,...a]=r.split(" ");return this.getAddress({firstName:o,lastName:a.join(" "),email:t.email_address,address1:i.address_line_1,address2:i.address_line_2,city:i.admin_area_2,countryCode:i.country_code,postalCode:i.postal_code,stateOrProvinceCode:i.admin_area_1})}getValidButtonStyle(e={}){const{color:t,height:n,label:i,shape:r}=e,o={color:t&&sd[t]?t:void 0,height:this.getValidHeight(n),label:i&&ad[i]?i:void 0,shape:r&&dd[r]?r:void 0};return R(o,v)}getValidHeight(e){return e&&"number"==typeof e?e>55?55:e<25?25:e:40}removeElement(e){const t=e&&document.getElementById(e);t&&(t.style.display="none")}}var yd=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class fd{constructor(e){this.requestSender=e}createOrder(e,t){return yd(this,void 0,void 0,function*(){const n=`/api/storefront/payment/${e}`,i=t,r=Object.assign({"X-API-INTERNAL":zr,"Content-Type":Fr.Json},Ur);return(yield this.requestSender.post(n,{headers:r,body:i})).body})}updateOrder(e,t){return yd(this,void 0,void 0,function*(){const n=`/api/storefront/initialization/${e}`,i=t,r=Object.assign({"X-API-INTERNAL":zr,"Content-Type":Fr.Json},Ur);return(yield this.requestSender.put(n,{headers:r,body:i})).body})}getOrderStatus(e,t){return yd(this,void 0,void 0,function*(){const n=`/api/storefront/initialization/${e}`,i=Object.assign({"X-API-INTERNAL":zr,"Content-Type":Fr.Json},Ur);return(yield this.requestSender.get(n,Object.assign({headers:i},t))).body})}}const _d=t=>{const{getHost:i}=t.getState();return new md(n(),t,new fd(e({host:i()})),new pd(he()))};var Sd=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};const vd=class{constructor(e,t){this.paymentIntegrationService=e,this.paypalIntegrationService=t}createPayPalButton(e,t,n,i){const{style:r,fundingSource:o,isHostedCheckoutEnabled:a,isServerSideShippingCallbacksEnabled:s,onClick:d,onCancel:c,onPaymentComplete:u,onError:l}=n;this.onError=l;const h=this.paypalIntegrationService.getPayPalSdkOrThrow();if(!Object.values(h.FUNDING).includes(o))throw new kr('Unable to initialize PayPal button because "fundingSource" argument is not valid funding source.');const p=Object.assign(Object.assign({},!s&&{onShippingAddressChange:t=>this.onShippingAddressChange(t,e),onShippingOptionsChange:t=>this.onShippingOptionsChange(t,e)}),{onApprove:(n,i)=>this.onHostedCheckoutApprove(n,i,t,e,u,s)});return h.Buttons(Object.assign(Object.assign(Object.assign({fundingSource:o,style:this.paypalIntegrationService.getValidButtonStyle(r),createOrder:()=>Sd(this,void 0,void 0,function*(){if(i){const e=yield this.paypalIntegrationService.createBuyNowCartOrThrow(i);yield this.paymentIntegrationService.loadCheckout(e.id)}return this.paypalIntegrationService.createOrder(e)}),onApprove:({orderID:e})=>this.paypalIntegrationService.tokenizePayment(t,e)},d?{onClick:d}:{}),c?{onCancel:c}:{}),a&&p))}onHostedCheckoutApprove(e,t,n,i,r,o){return Sd(this,void 0,void 0,function*(){if(!e.orderID)throw new mr(pr.MissingOrderId);const a=this.paymentIntegrationService.getState().getCartOrThrow();try{const s=a.lineItems.physicalItems.length>0;if(!o){const e=yield t.order.get(),n=this.paypalIntegrationService.getBillingAddressFromOrderDetails(e);if(yield this.paymentIntegrationService.updateBillingAddress(n),s){const t=this.paypalIntegrationService.getShippingAddressFromOrderDetails(e);yield this.paymentIntegrationService.updateShippingAddress(t)}}s&&(yield this.paypalIntegrationService.updateOrder(i,void 0,void 0,o)),o&&(yield this.paymentIntegrationService.loadCheckout()),yield this.paymentIntegrationService.submitOrder({},{params:{methodId:n}}),yield this.paypalIntegrationService.submitPayment(n,e.orderID),r&&"function"==typeof r&&r()}catch(e){this.handleError(e)}})}onShippingAddressChange(e,t){return Sd(this,void 0,void 0,function*(){const n=this.paypalIntegrationService.getAddress({city:e.shippingAddress.city,countryCode:e.shippingAddress.countryCode,postalCode:e.shippingAddress.postalCode,stateOrProvinceCode:e.shippingAddress.state});try{yield this.paymentIntegrationService.updateBillingAddress(n),yield this.paymentIntegrationService.updateShippingAddress(n);const e=this.paypalIntegrationService.getShippingOptionOrThrow();yield this.paymentIntegrationService.selectShippingOption(e.id),yield this.paypalIntegrationService.updateOrder(t)}catch(e){this.handleError(e)}})}onShippingOptionsChange(e,t){return Sd(this,void 0,void 0,function*(){const n=this.paypalIntegrationService.getShippingOptionOrThrow(e.selectedShippingOption.id);try{yield this.paymentIntegrationService.selectShippingOption(n.id),yield this.paypalIntegrationService.updateOrder(t)}catch(e){this.handleError(e)}})}handleError(e){if("function"!=typeof this.onError)throw e;this.onError(e)}};class Cd{constructor(e,t,n){this.paymentIntegrationService=e,this.paypalIntegrationService=t,this.paypalButtonCreationService=n}initialize(e){return t=this,n=void 0,r=function*(){var t;const{paypalcommerce:n,containerId:i,methodId:r}=e,o=Boolean(null==n?void 0:n.buyNowInitializeOptions);if(!r)throw new kr('Unable to initialize payment because "options.methodId" argument is not provided.');if(!i)throw new kr('Unable to initialize payment because "options.containerId" argument is not provided.');if(!n)throw new kr('Unable to initialize payment because "options.paypalcommerce" argument is not provided.');if(o&&!n.currencyCode)throw new kr('Unable to initialize payment because "options.paypalcommerce.currencyCode" argument is not provided.');if(o&&"function"!=typeof(null===(t=n.buyNowInitializeOptions)||void 0===t?void 0:t.getBuyNowCartRequestBody))throw new kr('Unable to initialize payment because "options.paypalcommerce.buyNowInitializeOptions.getBuyNowCartRequestBody" argument is not provided or it is not a function.');o||(yield this.paymentIntegrationService.loadDefaultCheckout(),this.paymentIntegrationService.getState().getCheckoutOrThrow().shouldExecuteSpamCheck&&(yield this.paymentIntegrationService.verifyCheckoutSpamProtection()));const a=o?n.currencyCode:this.paymentIntegrationService.getState().getCartOrThrow().currency.code;yield this.paypalIntegrationService.loadPayPalSdk(r,a,!1),this.renderButton(i,r,n)},new((i=void 0)||(i=Promise))(function(e,o){function a(e){try{d(r.next(e))}catch(e){o(e)}}function s(e){try{d(r.throw(e))}catch(e){o(e)}}function d(t){var n;t.done?e(t.value):(n=t.value,n instanceof i?n:new i(function(e){e(n)})).then(a,s)}d((r=r.apply(t,n||[])).next())});var t,n,i,r}deinitialize(){return Promise.resolve()}renderButton(e,t,n){const{buyNowInitializeOptions:i,style:r,onComplete:o,onEligibilityFailure:a}=n,s=this.paypalIntegrationService.getPayPalSdkOrThrow(),d=this.paymentIntegrationService.getState().getPaymentMethodOrThrow(t),{isHostedCheckoutEnabled:c,isServerSideShippingCallbacksEnabled:u}=d.initializationData||{},l={onCancel:()=>this.paymentIntegrationService.loadDefaultCheckout()},h=Object.assign(Object.assign({fundingSource:s.FUNDING.PAYPAL,style:this.paypalIntegrationService.getValidButtonStyle(r),isServerSideShippingCallbacksEnabled:u,isHostedCheckoutEnabled:c},i&&l),c&&o&&{onPaymentComplete:()=>o()}),p=this.paypalButtonCreationService.createPayPalButton("paypalcommerce",t,h,i);p.isEligible()?p.render(`#${e}`):a&&"function"==typeof a?a():this.paypalIntegrationService.removeElement(e)}}const Id=Tr(e=>{const t=_d(e),n=new vd(e,t);return new Cd(e,t,n)},[{id:"paypalcommerce"}]);var wd=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class bd{constructor(e,t){this.paymentIntegrationService=e,this.paypalIntegrationService=t}initialize(e){return wd(this,void 0,void 0,function*(){const{paypalcommercecredit:t,containerId:n,methodId:i}=e,{buyNowInitializeOptions:r,currencyCode:o}=t||{},a=!!r;if(!i)throw new kr('Unable to initialize payment because "options.methodId" argument is not provided.');if(!n)throw new kr('Unable to initialize payment because "options.containerId" argument is not provided.');if(!t)throw new kr('Unable to initialize payment because "options.paypalcommercecredit" argument is not provided.');if(a&&!o)throw new kr('Unable to initialize payment because "options.paypalcommercecredit.currencyCode" argument is not provided.');if(a&&"function"!=typeof(null==r?void 0:r.getBuyNowCartRequestBody))throw new kr('Unable to initialize payment because "options.paypalcommercecredit.buyNowInitializeOptions.getBuyNowCartRequestBody" argument is not provided or it is not a function.');a||(yield this.paymentIntegrationService.loadDefaultCheckout());const s=this.paymentIntegrationService.getState(),d=a?o:s.getCartOrThrow().currency.code;yield this.paypalIntegrationService.loadPayPalSdk(i,d,!1),this.renderButton(n,i,t)})}deinitialize(){return Promise.resolve()}renderButton(e,t,n){const{buyNowInitializeOptions:i,style:r,onComplete:o,onEligibilityFailure:a}=n,s=this.paypalIntegrationService.getPayPalSdkOrThrow(),d=this.paymentIntegrationService.getState().getPaymentMethodOrThrow(t),{isHostedCheckoutEnabled:c,isServerSideShippingCallbacksEnabled:u}=d.initializationData||{},l={createOrder:()=>this.paypalIntegrationService.createOrder("paypalcommercecredit"),onApprove:({orderID:e})=>this.paypalIntegrationService.tokenizePayment(t,e)},h={onClick:()=>this.handleClick(i),onCancel:()=>this.paymentIntegrationService.loadDefaultCheckout()},p=Object.assign(Object.assign({},!u&&{onShippingAddressChange:e=>this.onShippingAddressChange(e),onShippingOptionsChange:e=>this.onShippingOptionsChange(e)}),{onApprove:(e,n)=>this.onHostedCheckoutApprove(e,n,t,o,u)}),g=[s.FUNDING.PAYLATER,s.FUNDING.CREDIT];let m=!1;g.forEach(t=>{if(!m){const n=Object.assign(Object.assign(Object.assign({fundingSource:t,style:this.paypalIntegrationService.getValidButtonStyle(r)},l),i&&h),c&&p),o=s.Buttons(n);o.isEligible()?(o.render(`#${e}`),m=!0):a&&"function"==typeof a&&a()}}),m||this.paypalIntegrationService.removeElement(e)}handleClick(e){return wd(this,void 0,void 0,function*(){if(e){const t=yield this.paypalIntegrationService.createBuyNowCartOrThrow(e);yield this.paymentIntegrationService.loadCheckout(t.id)}})}onHostedCheckoutApprove(e,t,n,i,r){return wd(this,void 0,void 0,function*(){if(!e.orderID)throw new mr(pr.MissingOrderId);const o=this.paymentIntegrationService.getState().getCartOrThrow();try{const a=o.lineItems.physicalItems.length>0;if(!r){const e=yield t.order.get(),n=this.paypalIntegrationService.getBillingAddressFromOrderDetails(e);if(yield this.paymentIntegrationService.updateBillingAddress(n),a){const t=this.paypalIntegrationService.getShippingAddressFromOrderDetails(e);yield this.paymentIntegrationService.updateShippingAddress(t)}}return a&&(yield this.paypalIntegrationService.updateOrder("paypalcommerce",void 0,void 0,r)),r&&(yield this.paymentIntegrationService.loadCheckout()),yield this.paymentIntegrationService.submitOrder({},{params:{methodId:n}}),yield this.paypalIntegrationService.submitPayment(n,e.orderID),i&&"function"==typeof i&&i(),!0}catch(e){if("string"==typeof e)throw new Error(e);throw e}})}onShippingAddressChange(e){return wd(this,void 0,void 0,function*(){const t=this.paypalIntegrationService.getAddress({city:e.shippingAddress.city,countryCode:e.shippingAddress.countryCode,postalCode:e.shippingAddress.postalCode,stateOrProvinceCode:e.shippingAddress.state});try{yield this.paymentIntegrationService.updateBillingAddress(t),yield this.paymentIntegrationService.updateShippingAddress(t);const e=this.paypalIntegrationService.getShippingOptionOrThrow();yield this.paymentIntegrationService.selectShippingOption(e.id),yield this.paypalIntegrationService.updateOrder("paypalcommerce")}catch(e){if("string"==typeof e)throw new Error(e);throw e}})}onShippingOptionsChange(e){return wd(this,void 0,void 0,function*(){const t=this.paypalIntegrationService.getShippingOptionOrThrow(e.selectedShippingOption.id);try{yield this.paymentIntegrationService.selectShippingOption(t.id),yield this.paypalIntegrationService.updateOrder("paypalcommerce")}catch(e){if("string"==typeof e)throw new Error(e);throw e}})}}const Ed=Tr(e=>new bd(e,_d(e)),[{id:"paypalcommercecredit"}]);var Pd,Od,Ad,Td,kd,Rd,Dd;!function(e){e.Possible="POSSIBLE",e.No="NO",e.Unknown="UNKNOWN",e.Yes="YES"}(Pd||(Pd={})),function(e){e.AUTHORIZE="authorize",e.CAPTURE="capture"}(Od||(Od={})),function(e){e.paypal="paypal",e.checkout="checkout",e.buynow="buynow",e.pay="pay",e.installment="installment"}(Ad||(Ad={})),function(e){e.gold="gold",e.blue="blue",e.silver="silver",e.black="black",e.white="white"}(Td||(Td={})),function(e){e.pill="pill",e.rect="rect"}(kd||(kd={})),function(e){e.OXXO="oxxo",e.IDEAL="ideal"}(Rd||(Rd={})),function(e){e.Approved="APPROVED",e.Created="CREATED",e.PayerActionRequired="PAYER_ACTION_REQUIRED",e.PollingStop="POLLING_STOP",e.PollingError="POLLING_ERROR"}(Dd||(Dd={}));var Md=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Nd{constructor(e,t,n,i){this.formPoster=e,this.paymentIntegrationService=t,this.paypalCommerceRequestSender=n,this.paypalCommerceScriptLoader=i}loadPayPalSdk(e,t,n,i){return Md(this,void 0,void 0,function*(){const r=this.paymentIntegrationService.getState(),o=t||r.getCartOrThrow().currency.code,a=r.getPaymentMethodOrThrow(e);return this.paypalSdk=yield this.paypalCommerceScriptLoader.getPayPalSDK(a,o,r.getLocale(),n,i),this.paypalSdk})}getPayPalSdkOrThrow(){if(!this.paypalSdk)throw new Or;return this.paypalSdk}createBuyNowCartOrThrow(e){return Md(this,void 0,void 0,function*(){const t=e.getBuyNowCartRequestBody();if(!t)throw new mr(pr.MissingCart);try{return yield this.paymentIntegrationService.createBuyNowCart(t)}catch(e){throw new Rr}})}createOrder(e,t){return Md(this,void 0,void 0,function*(){const n=this.paymentIntegrationService.getState().getCartOrThrow().id,{orderId:i}=yield this.paypalCommerceRequestSender.createOrder(e,Object.assign({cartId:n},t));return i})}createOrderCardFields(e,t){return Md(this,void 0,void 0,function*(){const n=this.paymentIntegrationService.getState().getCartOrThrow().id,{orderId:i,setupToken:r}=yield this.paypalCommerceRequestSender.createOrder(e,Object.assign({cartId:n},t));return Object.assign({orderId:i},r?{setupToken:r}:{})})}updateOrder(e){return Md(this,void 0,void 0,function*(){const t=this.paymentIntegrationService.getState(),n=t.getCartOrThrow(),i=t.getConsignmentsOrThrow()[0];try{yield this.paypalCommerceRequestSender.updateOrder({availableShippingOptions:e?[]:i.availableShippingOptions,cartId:n.id,selectedShippingOption:e?null:i.selectedShippingOption})}catch(e){throw new we}})}getOrderStatus(e,t){return Md(this,void 0,void 0,function*(){try{const{status:n}=yield this.paypalCommerceRequestSender.getOrderStatus(e,t);return n}catch(e){throw new we}})}tokenizePayment(e,t){const n=this.paymentIntegrationService.getState().getCartOrThrow();if(!t)throw new mr(pr.MissingOrderId);return this.formPoster.postForm("/checkout.php",Object.assign({payment_type:"paypal",action:"set_external_checkout",provider:e,order_id:t},n.source===Co.BuyNow&&{cart_id:n.id}))}submitPayment(e,t,n){return Md(this,void 0,void 0,function*(){const i={formattedPayload:{vault_payment_instrument:null,set_as_default_stored_instrument:null,device_info:null,method_id:e,paypal_account:{order_id:t}}};yield this.paymentIntegrationService.submitPayment(Object.assign({methodId:e,paymentData:i},n?{gatewayId:n}:{}))})}getShippingOptionOrThrow(e){const t=this.paymentIntegrationService.getState().getConsignmentsOrThrow()[0],n=t.availableShippingOptions||[],i=n.find(e=>e.isRecommended),r=(e?n.find(t=>t.id===e):n.find(e=>{var n;return e.id===(null===(n=t.selectedShippingOption)||void 0===n?void 0:n.id)}))||i||n[0];if(!r)throw new Error("Your order can't be shipped to this address");return r}getAddress(e){return{firstName:(null==e?void 0:e.firstName)||"",lastName:(null==e?void 0:e.lastName)||"",email:(null==e?void 0:e.email)||"",phone:(null==e?void 0:e.phone)||"",company:"",address1:(null==e?void 0:e.address1)||"",address2:(null==e?void 0:e.address2)||"",city:(null==e?void 0:e.city)||"",countryCode:(null==e?void 0:e.countryCode)||"",postalCode:(null==e?void 0:e.postalCode)||"",stateOrProvince:"",stateOrProvinceCode:(null==e?void 0:e.stateOrProvinceCode)||"",customFields:[]}}getBillingAddressFromOrderDetails({payer:e}){var t,n;return this.getAddress({firstName:e.name.given_name,lastName:e.name.surname,email:e.email_address,address1:e.address.address_line_1,address2:e.address.address_line_2,city:e.address.admin_area_2,countryCode:e.address.country_code,postalCode:e.address.postal_code,stateOrProvinceCode:e.address.admin_area_1,phone:null===(n=null===(t=e.phone)||void 0===t?void 0:t.phone_number)||void 0===n?void 0:n.national_number})}getShippingAddressFromOrderDetails(e){const{payer:t,purchase_units:n}=e,{address:i,name:{full_name:r}}=n[0].shipping,[o,...a]=r.split(" ");return this.getAddress({firstName:o,lastName:a.join(" "),email:t.email_address,address1:i.address_line_1,address2:i.address_line_2,city:i.admin_area_2,countryCode:i.country_code,postalCode:i.postal_code,stateOrProvinceCode:i.admin_area_1})}getValidButtonStyle(e){const{color:t,height:n,label:i,shape:r}=e||{},o={color:t&&Td[t]?t:void 0,height:this.getValidHeight(n),label:i&&Ad[i]?i:void 0,shape:r&&kd[r]?r:void 0};return R(o,v)}getValidHeight(e){return e&&"number"==typeof e?e>55?55:e<25?25:e:40}removeElement(e){const t=e&&document.getElementById(e);t&&(t.style.display="none")}}var Ld=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class zd{constructor(e){this.requestSender=e}createOrder(e,t){return Ld(this,void 0,void 0,function*(){const n=`/api/storefront/payment/${e}`,i=t,r=Object.assign({"X-API-INTERNAL":zr,"Content-Type":Fr.Json},Ur);return(yield this.requestSender.post(n,{headers:r,body:i})).body})}updateOrder(e){return Ld(this,void 0,void 0,function*(){const t=e,n=Object.assign({"X-API-INTERNAL":zr,"Content-Type":Fr.Json},Ur);return(yield this.requestSender.put("/api/storefront/initialization/paypalcommerce",{headers:n,body:t})).body})}getOrderStatus(){return Ld(this,arguments,void 0,function*(e="paypalcommerce",t){const n=`/api/storefront/initialization/${e}`,i=Object.assign({"X-API-INTERNAL":zr,"Content-Type":Fr.Json},Ur);return(yield this.requestSender.get(n,Object.assign({headers:i},t))).body})}}var Bd=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Fd{constructor(e){this.scriptLoader=e,this.window=window}getPayPalSDK(e,t,n,i,r){return Bd(this,void 0,void 0,function*(){const o=this.getPayPalSdkScriptConfigOrThrow(e,t,n,i);return this.loadPayPalSDK(o,r)})}loadPayPalSDK(e){return Bd(this,arguments,void 0,function*(e,t=!1){if(!this.window.paypal||t){const t=this.transformConfig(e.options),n=this.transformConfig(e.attributes),i=`https://www.paypal.com/sdk/js?${new URLSearchParams(t).toString()}`;yield this.scriptLoader.loadScript(i,{async:!0,attributes:n})}if(!this.window.paypal)throw new Or;return this.window.paypal})}getPayPalSdkScriptConfigOrThrow(e,t,n,i=!0){const{id:r,clientToken:o,initializationData:a}=e;if(!(null==a?void 0:a.clientId))throw new mr(pr.MissingPaymentMethod);const{intent:s,clientId:d,merchantId:c,buyerCountry:u,attributionId:l,isVenmoEnabled:h,isHostedCheckoutEnabled:p,isPayPalCreditAvailable:g,isDeveloperModeApplicable:m,availableAlternativePaymentMethods:y=[],enabledAlternativePaymentMethods:f=[],isGooglePayEnabled:_}=a,S=p||i,v="paypalcommercecreditcards"===r,C=v?["card"]:[],I=g?["credit","paylater"]:[],w=h?["venmo"]:[],b=_?["googlepay"]:[],E=i?["card-fields"]:[],P=[...v?[]:["card"],...g?[]:["credit","paylater"],...h?[]:["venmo"],...y.filter(e=>!f.includes(e))],O=[...C,...I,...w,...f],A=as(n);return{options:Object.assign(Object.assign({"client-id":d,"merchant-id":c,"enable-funding":O.length>0?O:void 0,"disable-funding":P.length>0?P:void 0,commit:S,components:["buttons","hosted-fields","payment-fields","legal",...b,...E],currency:t,intent:s},m&&{"buyer-country":u}),A&&{locale:A}),attributes:{"data-partner-attribution-id":l,"data-client-token":o}}}transformConfig(e){let t={};return Object.keys(e).forEach(n=>{const i=e[n];null==i||""===i||Array.isArray(i)&&0===i.length||(t=Object.assign(Object.assign({},t),{[n]:Array.isArray(i)?i.join(","):i}))}),t}}var Ud=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class xd{constructor(e,t){this.paymentIntegrationService=e,this.paypalCommerceIntegrationService=t}initialize(e){return Ud(this,void 0,void 0,function*(){const{paypalcommercevenmo:t,containerId:n,methodId:i}=e,{buyNowInitializeOptions:r,currencyCode:o}=t||{},a=!!r;if(!i)throw new kr('Unable to initialize payment because "options.methodId" argument is not provided.');if(!n)throw new kr('Unable to initialize payment because "options.containerId" argument is not provided.');if(!t)throw new kr('Unable to initialize payment because "options.paypalcommercevenmo" argument is not provided.');if(a&&!o)throw new kr('Unable to initialize payment because "options.paypalcommercevenmo.currencyCode" argument is not provided.');if(a&&"function"!=typeof(null==r?void 0:r.getBuyNowCartRequestBody))throw new kr('Unable to initialize payment because "options.paypalcommercevenmo.buyNowInitializeOptions.getBuyNowCartRequestBody" argument is not provided or it is not a function.');a||(yield this.paymentIntegrationService.loadDefaultCheckout());const s=a?o:this.paymentIntegrationService.getState().getCartOrThrow().currency.code;yield this.paypalCommerceIntegrationService.loadPayPalSdk(i,s,!1),this.renderButton(n,i,t)})}deinitialize(){return Promise.resolve()}renderButton(e,t,n){const{buyNowInitializeOptions:i,style:r,onEligibilityFailure:o}=n,a=this.paypalCommerceIntegrationService.getPayPalSdkOrThrow(),s=a.FUNDING.VENMO,d={createOrder:()=>this.paypalCommerceIntegrationService.createOrder("paypalcommercevenmo"),onApprove:({orderID:e})=>this.paypalCommerceIntegrationService.tokenizePayment(t,e)},c={onClick:()=>this.handleClick(i),onCancel:()=>this.paymentIntegrationService.loadDefaultCheckout()},u=Object.assign(Object.assign({fundingSource:s,style:this.getValidVenmoButtonStyles(r)},d),i&&c),l=a.Buttons(u);l.isEligible()?l.render(`#${e}`):o&&"function"==typeof o?o():this.paypalCommerceIntegrationService.removeElement(e)}getValidVenmoButtonStyles(e){const t=this.paypalCommerceIntegrationService.getValidButtonStyle(e);return t.color===Td.gold?Object.assign(Object.assign({},t),{color:void 0}):t}handleClick(e){return Ud(this,void 0,void 0,function*(){if(e){const t=yield this.paypalCommerceIntegrationService.createBuyNowCartOrThrow(e);yield this.paymentIntegrationService.loadCheckout(t.id)}})}}const qd=Tr(t=>new xd(t,(t=>{const{getHost:i}=t.getState();return new Nd(n(),t,new zd(e({host:i()})),new Fd(he()))})(t)),[{id:"paypalcommercevenmo"}]);var jd,Gd,Vd,Hd,Wd,Yd;!function(e){e.HORIZONTAL="horizontal",e.VERTICAL="vertical"}(jd||(jd={})),function(e){e.SMALL="small",e.MEDIUM="medium",e.LARGE="large",e.RESPONSIVE="responsive"}(Gd||(Gd={})),function(e){e.GOLD="gold",e.BLUE="blue",e.SIlVER="silver",e.BLACK="black"}(Vd||(Vd={})),function(e){e.CHECKOUT="checkout",e.PAY="pay",e.BUYNOW="buynow",e.PAYPAL="paypal",e.CREDIT="credit"}(Hd||(Hd={})),function(e){e.PILL="pill",e.RECT="rect"}(Wd||(Wd={})),function(e){e.ACKNOWLEDGE="ACKNOWLEDGE",e.FINALIZE="FINALIZE",e.INITIALIZE="INITIALIZE"}(Yd||(Yd={}));var Kd=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class $d{constructor(e,t,n){this.paymentIntegrationService=e,this.paypalExpressScriptLoader=t,this.formPoster=n}initialize(e){return Kd(this,void 0,void 0,function*(){const t=this.paymentIntegrationService.getState().getPaymentMethodOrThrow(e.methodId);if(!e.paypal)throw new kr;if(!t.config.merchantId)throw new mr(pr.MissingPaymentMethod);const n=yield this.paypalExpressScriptLoader.loadPaypalSDK(t.config.merchantId);this.renderButton(e,n)})}deinitialize(){return Promise.resolve()}renderButton(e,t){const{containerId:n,methodId:i,paypal:r}=e,{allowCredit:o,clientId:a,onPaymentError:s,shouldProcessPayment:d,style:c}=r,u=this.paymentIntegrationService.getState().getPaymentMethodOrThrow(e.methodId);if(!u.config.merchantId)throw new mr(pr.MissingPaymentMethod);const l=u.config.merchantId,h=u.config.testMode?"sandbox":"production",p={[h]:a},g=t.FUNDING.CREDIT||"credit",m=o?[g]:[],y=o?[]:[g];return t.Button.render({env:h,client:p,commit:d,funding:{allowed:m,disallowed:y},style:this.getStyle(c),payment:(e,t)=>this.setupPayment(l,t,s),onAuthorize:(e,t)=>this.tokenizePayment(e,i,t,d)},n)}getStyle(e){const{color:t,fundingicons:n,label:i,layout:r,shape:o,size:a,tagline:s}=e||{};return{color:t,fundingicons:n,label:i,layout:r,shape:o||Wd.RECT,size:"small"===a?Gd.RESPONSIVE:a,tagline:s}}setupPayment(e,t,n){return Kd(this,void 0,void 0,function*(){if(!t)throw new _r(gr.CheckoutButtonNotInitialized);try{const n=yield this.paymentIntegrationService.loadDefaultCheckout(),{id:i}=n.getCartOrThrow(),r=n.getHost()||"";return(yield t.request.post(`${r}/api/storefront/payment/paypalexpress`,{merchantId:e,cartId:i},{headers:Object.assign({"X-API-INTERNAL":zr},Ur)})).id}catch(e){throw n&&e instanceof Ce&&n(e),e}})}tokenizePayment(e,t,n,i){return Kd(this,void 0,void 0,function*(){if(!n)throw new _r(gr.CheckoutButtonNotInitialized);if(!e.paymentID||!e.payerID)throw new mr(pr.MissingPayment);const r=this.paymentIntegrationService.getState().getPaymentMethodOrThrow(t),o=yield n.payment.get(e.paymentID);return this.formPoster.postForm("/checkout.php",{payment_type:"paypal",provider:r.id,action:i?"process_payment":"set_external_checkout",paymentId:e.paymentID,payerId:e.payerID,payerInfo:JSON.stringify(o.payer.payer_info)})})}}class Zd{constructor(e){this.scriptLoader=e,this.window=window}loadPaypalSDK(){return e=this,t=arguments,i=function*(e=""){const t=Object.assign({async:!0,attributes:{"data-merchant-id":e}},e&&{attributes:{"data-merchant-id":e}});if(yield this.scriptLoader.loadScript("//www.paypalobjects.com/api/checkout.min.js",t),!this.window.paypal)throw new Or;return this.window.paypal},new((n=void 0)||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())});var e,t,n,i}}const Jd=Tr(e=>new $d(e,new Zd(he()),n()),[{id:"paypalexpress"}]);var Qd=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Xd{constructor(e,t){this.paymentIntegrationService=e,this.scriptLoader=t}mountElement(e,t){document.getElementById(t)&&e.mount(`#${t}`)}mapAppearanceVariables(e){return{colorPrimary:e.fieldInnerShadow,colorBackground:e.fieldBackground,colorText:e.labelText,colorDanger:e.fieldErrorText,colorTextSecondary:e.labelText,colorTextPlaceholder:e.fieldPlaceholderText,colorIcon:e.fieldPlaceholderText}}mapInputAppearanceRules(e){return{borderColor:e.fieldBorder,color:e.fieldText,boxShadow:e.fieldInnerShadow}}throwStripeError(e){if("object"==typeof(t=e)&&null!==t&&"type"in t&&(this.throwDisplayableStripeError(e),this.isCancellationError(e)))throw new ho;var t;throw new Ja}throwDisplayableStripeError(e){if(m(["card_error","invalid_request_error","validation_error"],e.type))throw new Error(e.message)}isCancellationError(e){var t;const n=null===(t=null==e?void 0:e.payment_intent.last_payment_error)||void 0===t?void 0:t.message;return!!n&&-1!==n.indexOf("canceled")}throwPaymentConfirmationProceedMessage(){throw new Ja("We've received your order and are processing your payment. Once the payment is verified, your order will be completed. We will send you an email when it's completed. Please note, this process may take a few minutes depending on the processing times of your chosen method.")}isPaymentCompleted(e,t){return Qd(this,void 0,void 0,function*(){const n=this.paymentIntegrationService.getState(),i=n.getPaymentMethodOrThrow(e),{features:r}=n.getStoreConfigOrThrow().checkoutSettings;if(!i.clientToken||!t||!r["PI-626.Block_unnecessary_payment_confirmation_for_StripeUPE"])return!1;const{paymentIntent:o}=yield t.retrievePaymentIntent(i.clientToken);return(null==o?void 0:o.status)===xs.SUCCEEDED})}isPaymentCompletedByToken(e,t){return Qd(this,void 0,void 0,function*(){const n=this.paymentIntegrationService.getState(),{features:i}=n.getStoreConfigOrThrow().checkoutSettings;if(!e||!t||!i["PI-626.Block_unnecessary_payment_confirmation_for_StripeUPE"])return!1;const{paymentIntent:r}=yield t.retrievePaymentIntent(e);return(null==r?void 0:r.status)===xs.SUCCEEDED})}mapStripePaymentData(e,t,n=!1){const i=this.paymentIntegrationService.getState().getBillingAddress(),{firstName:r="",lastName:o="",email:a=""}=i||{},s=this.mapStripeAddress(i);if(!e)throw new _r(gr.PaymentNotInitialized);if(!(a&&s&&s.city&&s.country&&r&&o))throw new mr(pr.MissingBillingAddress);return{elements:e,redirect:Bs.IF_REQUIRED,confirmParams:Object.assign({payment_method_data:Object.assign(Object.assign({},n?{allow_redisplay:"always"}:{}),{billing_details:{email:a,address:s,name:this.getShopperFullName(i)}})},t&&{return_url:t})}}isAdditionalActionError(e){return z(e,{code:"additional_action_required"})}isSessionExpiredError(e){return z(e,{code:"authorization_expired"})}isRedirectAction(e){const{type:t,data:{redirect_url:n}}=e;return"redirect_to_url"===t&&!!n}isOnPageAdditionalAction(e){const{type:t,data:{token:n}}=e;return"additional_action_requires_payment_method"===t&&!!n}updateStripePaymentIntent(e,t){return Qd(this,void 0,void 0,function*(){const n=yield this.paymentIntegrationService.loadPaymentMethod(e,{params:{method:t}}),{clientToken:i}=n.getPaymentMethodOrThrow(t);i&&this.scriptLoader.updateStripeElements({clientSecret:i})})}mapStripeAddress(e){if(e){const{city:t,address1:n,address2:i,countryCode:r,postalCode:o,stateOrProvinceCode:a}=e;return Object.assign({city:t,country:r,postal_code:o,line1:n,line2:i},a?{state:a}:{})}throw new mr(pr.MissingBillingAddress)}getShopperFullName(e){const{firstName:t="",lastName:n=""}=e||{};return`${t} ${n}`.trim()}verifyCheckoutSpamProtection(){return Qd(this,void 0,void 0,function*(){const{shouldExecuteSpamCheck:e}=this.paymentIntegrationService.getState().getCheckoutOrThrow();e&&(yield this.paymentIntegrationService.verifyCheckoutSpamProtection())})}}const ec={size:70,color:"#d9d9d9",backgroundColor:"#ffffff"},tc={position:"fixed","background-color":"rgba(0, 0, 0, 0.4)","z-index":"1000"},nc="embedded-checkout-loading-indicator-rotation";class ic{constructor(e){this.styles=Object.assign(Object.assign({},ec),e&&e.styles),this.containerStyles=Object.assign({},e&&e.containerStyles),this.defineAnimation(),this.container=this.buildContainer(),this.indicator=this.buildIndicator(),this.container.appendChild(this.indicator)}show(e){if(e){const t=document.getElementById(e);if(!t)throw new Error("Unable to attach the loading indicator because the parent ID is not valid.");t.appendChild(this.container)}this.container.style.visibility="visible",this.container.style.opacity="1"}hide(){const e=()=>{this.container.style.visibility="hidden",this.container.removeEventListener("transitionend",e)};this.container.addEventListener("transitionend",e),this.container.style.opacity="0"}buildContainer(){const e=document.createElement("div");return e.style.display="block",e.style.bottom="0",e.style.left="0",e.style.height="100%",e.style.width="100%",e.style.position="absolute",e.style.right="0",e.style.top="0",e.style.transition="all 250ms ease-out",e.style.opacity="0",this.setStyleAttribute(e,this.containerStyles),e}buildIndicator(){const e=document.createElement("div");return e.style.display="block",e.style.width=`${this.styles.size}px`,e.style.height=`${this.styles.size}px`,e.style.borderRadius=`${this.styles.size}px`,e.style.border="solid 1px",e.style.borderColor=`${this.styles.backgroundColor} ${this.styles.backgroundColor} ${this.styles.color} ${this.styles.color}`,e.style.margin="0 auto",e.style.position="absolute",e.style.left="0",e.style.right="0",e.style.top="50%",e.style.transform="translateY(-50%) rotate(0deg)",e.style.transformStyle="preserve-3d",e.style.animation=`${nc} 500ms infinite cubic-bezier(0.69, 0.31, 0.56, 0.83)`,e}setStyleAttribute(e,t){Object.keys(t).forEach(n=>{e.style.setProperty(n,t[n])})}defineAnimation(){var e;if(document.getElementById(nc))return;const t=document.createElement("style");t.id=nc,null===(e=document.head)||void 0===e||e.appendChild(t),t.sheet instanceof CSSStyleSheet&&t.sheet.insertRule(`\n @keyframes ${nc} {\n 0% { transform: translateY(-50%) rotate(0deg); }\n 100% { transform: translateY(-50%) rotate(360deg); }\n }\n `,0)}}class rc{constructor(e){this._decimalPlaces=e}toInteger(e){return Math.round(e*Math.pow(10,this._decimalPlaces))}}const oc=["AC","AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CV","CW","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MK","ML","MM","MN","MO","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SZ","TA","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","US","UY","UZ","VA","VC","VE","VG","VN","VU","WF","WS","XK","YE","YT","ZA","ZM","ZW","ZZ"];var ac=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class sc{constructor(e,t,n,i){this.paymentIntegrationService=e,this.scriptLoader=t,this.stripeIntegrationService=n,this.loadingIndicator=i}initialize(e){return ac(this,void 0,void 0,function*(){const{stripeocs:t,containerId:n}=e||{};if(!t||!n)throw new _r(gr.PaymentNotInitialized);const{gatewayId:i}=t;if(!i)throw new mr(pr.MissingPaymentMethod);const r=yield this._getPaymentMethod(i),{loadingContainerId:o,buttonHeight:a,onComplete:s,filterAvailableShippingOptions:d}=t;if(this._loadingIndicatorContainer=o,this._onComplete=s,this._filterAvailableShippingOptions=d,!function(e){return"object"==typeof e&&null!==e&&"initializationData"in e&&void 0!==e.initializationData&&null!==e.initializationData&&"object"==typeof e.initializationData&&"stripePublishableKey"in e.initializationData&&"stripeConnectedAccount"in e.initializationData&&"shopperLanguage"in e.initializationData&&void 0!==e.initializationData.stripePublishableKey&&void 0!==e.initializationData.stripeConnectedAccount&&void 0!==e.initializationData.shopperLanguage}(r))throw new mr(pr.MissingPaymentMethod);const{initializationData:c,id:u}=r,{captureMethod:l}=c;this._captureMethod=l,this._stripeClient=yield this.scriptLoader.getStripeClient(c,this.paymentIntegrationService.getState().getCartLocale(),Fs.CLOVER),yield this.paymentIntegrationService.loadDefaultCheckout(),yield this._mountExpressCheckoutElement(n,this._stripeClient,a),this._initializeEvents(u)})}signIn(){return Promise.resolve()}signOut(){return Promise.resolve()}executePaymentMethodCheckout(){return Promise.resolve()}deinitialize(){return Promise.resolve()}_mountExpressCheckoutElement(e,t){return ac(this,arguments,void 0,function*(e,t,n=40){const i=this._shouldRequireShippingAddress(),r=Object.assign(Object.assign(Object.assign({shippingAddressRequired:i},i?{allowedShippingCountries:yield this._getAvailableCountries()}:{}),i?{shippingRates:[{id:"_",amount:0,displayName:"Pending rates"}]}:{}),{billingAddressRequired:!0,emailRequired:!0,phoneNumberRequired:!0,paymentMethods:{link:Bs.AUTO,applePay:Bs.NEVER,googlePay:Bs.NEVER,amazonPay:Bs.NEVER,paypal:Bs.NEVER,klarna:Bs.NEVER},buttonHeight:n}),{cartAmount:o=1}=this.paymentIntegrationService.getState().getCart()||{},a=Object.assign({mode:"payment",amount:this._toCents(o),currency:this._getCurrency()},this._captureMethod?{captureMethod:this._captureMethod}:{});this._stripeElements=t.elements(a),this._linkV2Element=this._stripeElements.create(Us.EXPRESS_CHECKOUT,r),this._linkV2Element.mount(`#${e}`)})}_initializeEvents(e){this._linkV2Element&&(this._shouldRequireShippingAddress()&&(this._linkV2Element.on(qs.SHIPPING_ADDRESS_CHANGE,e=>ac(this,void 0,void 0,function*(){return this._onShippingAddressChange(e)})),this._linkV2Element.on(qs.SHIPPING_RATE_CHANGE,e=>ac(this,void 0,void 0,function*(){return this._onShippingRateChange(e)}))),this._linkV2Element.on(qs.CONFIRM,t=>ac(this,void 0,void 0,function*(){return this._onConfirm(t,e)})),this._linkV2Element.on(qs.CANCEL,this._onCancel))}_onShippingAddressChange(e){return ac(this,void 0,void 0,function*(){if(!("address"in e))return;const t=e.address,n={firstName:"",lastName:"",phone:"",company:"",address1:"",address2:"",city:(null==t?void 0:t.city)||"",countryCode:(null==t?void 0:t.country)||"",postalCode:(null==t?void 0:t.postal_code)||"",stateOrProvince:(null==t?void 0:t.state)||"",stateOrProvinceCode:(null==t?void 0:t.state)||"",customFields:[]};yield this.paymentIntegrationService.updateShippingAddress(n);const i=yield this._getAvailableShippingOptions();yield this._updateDisplayedPrice(),(null==i?void 0:i.length)?e.resolve({shippingRates:i}):e.reject()})}_onCancel(){throw new ho}_onShippingRateChange(e){return ac(this,void 0,void 0,function*(){if("shippingRate"in e){const{shippingRate:t}=e;yield this._handleShippingOptionChange(null==t?void 0:t.id),yield this._updateDisplayedPrice(),e.resolve({})}})}_onConfirm(e,t){return ac(this,void 0,void 0,function*(){if("billingDetails"in e&&"shippingAddress"in e&&this._stripeClient&&this._stripeElements){yield this.stripeIntegrationService.verifyCheckoutSpamProtection(),yield this._updateShippingAndBillingAddress(e),yield this.paymentIntegrationService.submitOrder();const n=this._getPaymentPayload(t);try{yield this.paymentIntegrationService.submitPayment(n)}catch(e){yield this._processAdditionalAction(e,t)}}return Promise.resolve()})}_updateShippingAndBillingAddress(e){return ac(this,void 0,void 0,function*(){var t,n,i,r,o,a,s,d;const c=this._shouldRequireShippingAddress(),u=(null===(n=null===(t=e.shippingAddress)||void 0===t?void 0:t.name)||void 0===n?void 0:n.split(" ")[0])||(null===(r=null===(i=e.billingDetails)||void 0===i?void 0:i.name)||void 0===r?void 0:r.split(" ")[0])||"",l=(null===(a=null===(o=e.shippingAddress)||void 0===o?void 0:o.name)||void 0===a?void 0:a.split(" ")[1])||(null===(d=null===(s=e.billingDetails)||void 0===s?void 0:s.name)||void 0===d?void 0:d.split(" ")[1])||"";if(c){const t=this._mapShippingAddress(e.shippingAddress,e.billingDetails,u,l);yield this.paymentIntegrationService.updateShippingAddress(t)}const h=this._mapBillingAddress(e.shippingAddress,e.billingDetails,u,l);yield this.paymentIntegrationService.updateBillingAddress(h)})}_mapShippingAddress(e,t,n,i){var r,o,a,s,d,c,u;return{firstName:n,lastName:i,phone:(null==t?void 0:t.phone)||"",company:"",address1:(null===(r=null==e?void 0:e.address)||void 0===r?void 0:r.line1)||"",address2:(null===(o=null==e?void 0:e.address)||void 0===o?void 0:o.line2)||"",city:(null===(a=null==e?void 0:e.address)||void 0===a?void 0:a.city)||"",countryCode:(null===(s=null==e?void 0:e.address)||void 0===s?void 0:s.country)||"",postalCode:(null===(d=null==e?void 0:e.address)||void 0===d?void 0:d.postal_code)||"",stateOrProvince:(null===(c=null==e?void 0:e.address)||void 0===c?void 0:c.state)||"",stateOrProvinceCode:(null===(u=null==e?void 0:e.address)||void 0===u?void 0:u.state)||"",customFields:[]}}_mapBillingAddress(e,t,n,i){var r,o,a,s,d,c;return{email:(null==t?void 0:t.email)||"",firstName:n,lastName:i,phone:(null==t?void 0:t.phone)||"",company:"",address1:(null===(r=null==t?void 0:t.address)||void 0===r?void 0:r.line1)||"",address2:"",city:(null===(o=null==t?void 0:t.address)||void 0===o?void 0:o.city)||"",countryCode:(null===(a=null==t?void 0:t.address)||void 0===a?void 0:a.country)||"",postalCode:(null===(s=null==t?void 0:t.address)||void 0===s?void 0:s.postal_code)||"",stateOrProvince:(null===(d=null==t?void 0:t.address)||void 0===d?void 0:d.state)||"",stateOrProvinceCode:(null===(c=null==e?void 0:e.address)||void 0===c?void 0:c.state)||"",customFields:[]}}_processAdditionalAction(e,t){return ac(this,void 0,void 0,function*(){if(!Is(e)||!this.stripeIntegrationService.isAdditionalActionError(e.body.errors))throw e;if(!this._stripeClient||!this._stripeElements)throw new _r(gr.PaymentNotInitialized);const{data:n}=e.body.additional_action_required,{token:i}=n,{paymentIntent:r}=yield this._confirmStripePaymentOrThrow(n),o=this._getPaymentPayload(t,(null==r?void 0:r.id)||i);try{this._toggleLoadingIndicator(!0),yield this.paymentIntegrationService.submitPayment(o),yield this._completeCheckoutFlow()}catch(e){this.stripeIntegrationService.throwPaymentConfirmationProceedMessage()}finally{this._toggleLoadingIndicator(!1)}})}_confirmStripePaymentOrThrow(e){return ac(this,void 0,void 0,function*(){var t,n,i;const{token:r,redirect_url:o}=e,a=this.stripeIntegrationService.mapStripePaymentData(this._stripeElements,o);let s;try{const e=(yield this.stripeIntegrationService.isPaymentCompletedByToken(r,this._stripeClient))?yield null===(i=this._stripeClient)||void 0===i?void 0:i.retrievePaymentIntent(r||""):yield null===(t=this._stripeClient)||void 0===t?void 0:t.confirmPayment({elements:a.elements,clientSecret:r,redirect:Bs.IF_REQUIRED,confirmParams:{return_url:null===(n=a.confirmParams)||void 0===n?void 0:n.return_url}});if(s=null==e?void 0:e.error,s||!(null==e?void 0:e.paymentIntent))throw new Ja;return e}catch(e){return this.stripeIntegrationService.throwStripeError(s)}})}_completeCheckoutFlow(){return ac(this,void 0,void 0,function*(){return"function"==typeof this._onComplete?this._onComplete():(window.location.replace("/checkout/order-confirmation"),Promise.resolve())})}_getPaymentPayload(e,t){var n;const i=(null===(n=this.paymentIntegrationService.getState().getCart())||void 0===n?void 0:n.id)||"";return{methodId:e,paymentData:{formattedPayload:Object.assign(Object.assign({cart_id:i},t?{credit_card_token:{token:t}}:{}),{confirm:!1,method:zs.Link})}}}_shouldRequireShippingAddress(){const{getCart:e}=this.paymentIntegrationService.getState(),{lineItems:t}=e()||{};return!!(null==t?void 0:t.physicalItems.length)}_updateDisplayedPrice(){return ac(this,void 0,void 0,function*(){this._stripeElements&&this._stripeElements.update({currency:this._getCurrency(),mode:"payment",amount:yield this._getTotalPrice()})})}_getCurrency(){var e;if(!this._currencyCode){const t=null===(e=this.paymentIntegrationService.getState().getCart())||void 0===e?void 0:e.currency;t&&(this._currencyCode=t.code.toLowerCase())}return this._currencyCode}_getTotalPrice(){return ac(this,void 0,void 0,function*(){var e;yield this.paymentIntegrationService.loadCheckout();const{getCheckoutOrThrow:t,getCart:n}=this.paymentIntegrationService.getState(),{decimalPlaces:i}=(null===(e=n())||void 0===e?void 0:e.currency)||{},r=L(t().outstandingBalance,i).toFixed(i);return this._toCents(+r)})}_getAvailableCountries(){return ac(this,void 0,void 0,function*(){var e;return((null===(e=(yield this.paymentIntegrationService.loadShippingCountries()).getShippingCountries())||void 0===e?void 0:e.map(e=>e.code))||[]).filter(e=>oc.includes(e))})}_getAvailableShippingOptions(){return ac(this,void 0,void 0,function*(){var e;const t=this.paymentIntegrationService.getState().getConsignments();if(!(null==t?void 0:t[0]))return;let{availableShippingOptions:n=[]}=t[0];const{selectedShippingOption:i}=t[0];if("function"==typeof this._filterAvailableShippingOptions)try{n=yield this._filterAvailableShippingOptions(n)}catch(e){console.error("Failed to filter available shipping options:",e)}const r=n.map(this._getStripeShippingOption.bind(this)),o=null==n?void 0:n.find(e=>e.isRecommended),a=(null==n?void 0:n.some(e=>e.id===(null==i?void 0:i.id)))?null==i?void 0:i.id:void 0,s=null==o?void 0:o.id;return a?r.sort(e=>e.id===a?-1:0):s?(r.sort(e=>e.id===s?-1:0),yield this._handleShippingOptionChange(s)):yield this._handleShippingOptionChange(null===(e=r[0])||void 0===e?void 0:e.id),r.slice(0,9)})}_getStripeShippingOption({id:e,cost:t,description:n}){return{id:e,displayName:n,amount:this._toCents(t)}}_handleShippingOptionChange(e){return ac(this,void 0,void 0,function*(){if(e&&"shipping_option_unselected"!==e)return this.paymentIntegrationService.selectShippingOption(e)})}_getAmountTransformer(){if(this._amountTransformer)return this._amountTransformer;const{getCart:e}=this.paymentIntegrationService.getState(),{currency:t}=e()||{};return t?new rc(t.decimalPlaces):void 0}_toCents(e){const t=Math.round(100*e),n=this._getAmountTransformer();return n?n.toInteger(e):t}_toggleLoadingIndicator(e){e&&this._loadingIndicatorContainer?this.loadingIndicator.show(this._loadingIndicatorContainer):this.loadingIndicator.hide()}_getPaymentMethod(e){return ac(this,void 0,void 0,function*(){let t=this.paymentIntegrationService.getState();const n=t.getPaymentMethod(zs.CHECKOUT_SESSION,e)||t.getPaymentMethod(zs.OCS,e);if(n)return n;const{initializationData:i}=t.getPaymentMethodOrThrow(e),r=(null==i?void 0:i.checkoutSessionEnabled)?zs.CHECKOUT_SESSION:zs.OCS;return t=yield this.paymentIntegrationService.loadPaymentMethod(e,{params:{method:r}}),t.getPaymentMethodOrThrow(r,e)})}}const dc=Tr(e=>{const t=new Vs(he()),n=new ic({containerStyles:tc});return new sc(e,t,new Xd(e,t),n)},[{id:"stripeocs"}]);var cc;function uc(e,t,n){const i=new WeakMap;function r(e){return(...n)=>{const r=n[n.length-1],{useCache:o}=(a=r)&&"boolean"==typeof a.useCache?r:{useCache:!1};var a;if(!o)return e.call(this,...n);const s=i.get(this)||{};var d;return i.get(this)||i.set(this,s),s[t]||(s[t]=(d=e,se(function(...e){const t=d.call(this,...e);return t instanceof G?K(t).pipe(re()):"function"==typeof t?se(e=>K(t(e)).pipe(re()),{isEqual:_}):t},{isEqual:_}))),s[t].call(this,...n)}}return{get(){if("function"!=typeof n.value)throw new Error("Decorator should be used in functions");const e=r.call(this,n.value);return Object.defineProperty(this,t,Object.assign(Object.assign({},n),{value:e})),e}}}!function(e){e.Standard="standard",e.Invoice="invoice"}(cc||(cc={}));const lc={quickbooks:"qbmsv2",elavon:"myvirtualmerchant"};var hc=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};const pc=e=>!!e;class gc{constructor(e,t){this._requestSender=e,this._b2bCompanyPaymentMethodRequestSender=t}loadPaymentMethodsById(e,t){return n=>new G(i=>{var r;const a=null===(r=n.getState().cart.getCart())||void 0===r?void 0:r.id,s=a?Object.assign(Object.assign({},null==t?void 0:t.params),{cartId:a}):Object.assign({},null==t?void 0:t.params);i.next(o(Dn.LoadPaymentMethodsRequested)),Promise.all(e.map(e=>hc(this,void 0,void 0,function*(){try{return(yield this._requestSender.loadPaymentMethod(e,Object.assign(Object.assign({},t),{params:s}))).body}catch(e){return}}))).then(e=>{const t=e.filter(pc);i.next(o(Dn.LoadPaymentMethodsSucceeded,t)),i.complete()}).catch(e=>{i.next(o(Dn.LoadPaymentMethodsFailed,e)),i.complete()})})}loadPaymentMethods(e){return t=>G.create(n=>{const i=t.getState(),r=i.cart.getCartOrThrow();n.next(o(Dn.LoadPaymentMethodsRequested)),this._requestSender.loadPaymentMethods(Object.assign(Object.assign({},e),{params:Object.assign(Object.assign({},null==e?void 0:e.params),{cartId:r.id})})).then(t=>hc(this,void 0,void 0,function*(){const r={deviceSessionId:t.headers["x-device-session-id"],sessionHash:t.headers["x-session-hash"]};let a=t.body;this._shouldFilterForB2b(i)&&(a=yield this._applyB2bFilter(a,i,e)),n.next(o(Dn.LoadPaymentMethodsSucceeded,a,r)),n.complete()})).catch(e=>{n.error(s(Dn.LoadPaymentMethodsFailed,e))})})}loadPaymentMethod(e,t){return n=>G.create(i=>{var r;const a=null===(r=n.getState().cart.getCart())||void 0===r?void 0:r.id,d=a?Object.assign(Object.assign({},null==t?void 0:t.params),{cartId:a}):Object.assign({},null==t?void 0:t.params);i.next(o(Dn.LoadPaymentMethodRequested,void 0,{methodId:e})),this._requestSender.loadPaymentMethod(e,Object.assign(Object.assign({},t),{params:d})).then(t=>{i.next(o(Dn.LoadPaymentMethodSucceeded,t.body,{methodId:e})),i.complete()}).catch(t=>{i.error(s(Dn.LoadPaymentMethodFailed,t,{methodId:e}))})})}_shouldFilterForB2b(e){var t,n;return!!(null===(n=null===(t=e.config.getStoreConfigOrThrow().checkoutSettings)||void 0===t?void 0:t.capabilities)||void 0===n?void 0:n.payment.b2bPaymentMethodFilterType)}_applyB2bFilter(e,t,n){return hc(this,void 0,void 0,function*(){var i,r,o,a,s;const d=t.config.getStoreConfigOrThrow(),c=t.customer.getCustomerOrThrow(),u=t.cart.getCartOrThrow(),l=t.b2bToken.getToken(),h=(p=null!==(o=null===(r=null===(i=t.config.getStoreConfig())||void 0===i?void 0:i.b2bApiSettings)||void 0===r?void 0:r.baseUrl)&&void 0!==o?o:"",function(){if("undefined"==typeof window||!window.location)return!1;try{return!!new URLSearchParams(window.location.search).has("enableB2bDevMode")&&(console.log("B2B Dev Mode Enabled"),!0)}catch(e){return!1}}()?"https://api-b2b.bigcommerce.com":p);var p;return!c.isGuest&&h&&u.companyId&&l?(null===(s=null===(a=d.checkoutSettings)||void 0===a?void 0:a.capabilities)||void 0===s?void 0:s.payment.b2bPaymentMethodFilterType)===cc.Invoice?this._applyB2bInvoiceFilter(e,h,l,n):this._applyB2bCompanyFilter(e,u.companyId,l,h,n):e})}_applyB2bCompanyFilter(e,t,n,i,r){return hc(this,void 0,void 0,function*(){const{body:o}=yield this._b2bCompanyPaymentMethodRequestSender.getB2BCompanyPaymentMethods(t,n,i,r);return function(e,t){const n=new Set(t.data.filter(e=>"1"===e.isEnabled).map(e=>e.code));return e.filter(e=>{var t;return n.has(null!==(t=lc[e.id])&&void 0!==t?t:e.id)})}(e,o)})}_applyB2bInvoiceFilter(e,t,n,i){return hc(this,void 0,void 0,function*(){const{body:r}=yield this._b2bCompanyPaymentMethodRequestSender.getB2BInvoiceAllowedPaymentMethods(t,n,i);return e.filter(e=>new Set(r.data.allowedMethods).has(e.id))})}}var mc;(function(e,t,n,i){var r,o=arguments.length,a=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(a=(o<3?r(a):o>3?r(t,n,a):r(t,n))||a);o>3&&a&&Object.defineProperty(t,n,a)})([uc],gc.prototype,"loadPaymentMethod",null),function(e){e.Json="application/json",e.JsonV1="application/vnd.bc.v1+json"}(mc||(mc={}));const yc=mc,fc="This API endpoint is for internal use only and may change in the future",_c={"X-Checkout-SDK-Version":"1.960.0"};class Sc{constructor(e){this._requestSender=e}loadPaymentMethods({timeout:e,params:t}={}){return this._requestSender.get("/api/storefront/payments",{timeout:e,headers:Object.assign({Accept:yc.JsonV1,"X-API-INTERNAL":fc},_c),params:t})}loadPaymentMethod(e,{timeout:t,params:n}={}){const i=`/api/storefront/payments/${e}`;return this._requestSender.get(i,{timeout:t,headers:Object.assign({Accept:yc.JsonV1,"X-API-INTERNAL":fc},_c),params:n})}}var vc,Cc=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Ic{constructor(e){this._requestSender=e}getB2BCompanyPaymentMethods(e,t,n,i){return Cc(this,void 0,void 0,function*(){return this._requestSender.get(`${n}/api/v2/companies/${e}/payments`,{timeout:null==i?void 0:i.timeout,credentials:!1,headers:{authToken:t,Authorization:`Bearer ${t}`}})})}getB2BInvoiceAllowedPaymentMethods(e,t,n){return Cc(this,void 0,void 0,function*(){return this._requestSender.get(`${e}/api/v1/ip/storefront/payments/bigcommerce/allowed-methods`,{timeout:null==n?void 0:n.timeout,credentials:!1,headers:{authToken:t,Authorization:`Bearer ${t}`}})})}}!function(e){e.AvailableShippingOptions="consignments.availableShippingOptions",e.PhysicalItemsCategoryNames="cart.lineItems.physicalItems.categoryNames",e.DigitalItemsCategoryNames="cart.lineItems.digitalItems.categoryNames",e.BillingAddressExtraFields="billingAddress.extraFields",e.ConsignmentAddressExtraFields="consignments.address.extraFields",e.ConsignmentShippingAddressExtraFields="consignments.shippingAddress.extraFields",e.CustomerAddressesB2B="customer.addresses.b2b"}(vc||(vc={}));const wc=[vc.BillingAddressExtraFields,vc.ConsignmentAddressExtraFields,vc.ConsignmentShippingAddressExtraFields],bc=[vc.CustomerAddressesB2B];function Ec(e,t){var n,i;const r=function(e){const t=null==e?void 0:e.userJourney;return[...(null==t?void 0:t.hasAddressExtraFields)?wc:[],...(null==t?void 0:t.hasCompanyAddressBook)?bc:[]]}(null===(n=e.getState().config.getStoreConfig())||void 0===n?void 0:n.checkoutSettings.capabilities);return r.length?Object.assign(Object.assign({},t),{params:Object.assign(Object.assign({},null==t?void 0:t.params),{include:Pc(null===(i=null==t?void 0:t.params)||void 0===i?void 0:i.include,r)})}):t}function Pc(e,t){return e&&!Array.isArray(e)?Object.assign(Object.assign({},function(e){const t={};return e.forEach(e=>{t[e]=!0}),t}(t)),e):F(e,t)}function Oc(e,t,n){return(i=t)&&i.type&&i.error?H(J(t),Q(s(e,t.payload,n))):Q(s(e,t,n));var i}class Ac extends Ee{constructor(e){super(e||"Unable to continue as a guest because the customer is already signed in."),this.name="UnableToContinueAsGuestError",this.type="unable_to_continue_as_guest"}}class Tc{constructor(e,t){this._requestSender=e,this._subscriptionActionCreator=t}continueAsGuest(e,t){return n=>{const i=n.getState(),r=i.checkout.getCheckout();if(!r)throw new ir(nr.MissingCheckout);const a=i.customer.getCustomer();if(a&&!a.isGuest)throw new Ac;const s=i.billingAddress.getBillingAddress();let d;if(s){const{country:t}=s,n=function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]])}return n}(s,["country"]);d=Object.assign(Object.assign({},n),e)}else d=e;const c=!f(s);return Z(H(J(o(Ke.ContinueAsGuestRequested)),W(()=>{return e=this,i=void 0,s=function*(){const{body:e}=yield this._createOrUpdateBillingAddress(r.id,d,c,Ec(n,t));return o(Ke.ContinueAsGuestSucceeded,e)},new((a=void 0)||(a=Promise))(function(t,n){function r(e){try{d(s.next(e))}catch(e){n(e)}}function o(e){try{d(s.throw(e))}catch(e){n(e)}}function d(e){var n;e.done?t(e.value):(n=e.value,n instanceof a?n:new a(function(e){e(n)})).then(r,o)}d((s=s.apply(e,i||[])).next())});var e,i,a,s})).pipe(X(e=>Oc(Ke.ContinueAsGuestFailed,e))),this._updateCustomerConsent(e,t))}}updateAddress(e,t){return n=>G.create(i=>{const r=n.getState(),a=r.checkout.getCheckout();if(!a)throw new ir(nr.MissingCheckout);i.next(o(Ke.UpdateBillingAddressRequested));const d=r.billingAddress.getBillingAddress(),c=!f(d),u=Object.assign(Object.assign({},e),{email:void 0===e.email&&d?d.email:e.email});d&&d.id&&(u.id=d.id),this._createOrUpdateBillingAddress(a.id,u,c,Ec(n,t)).then(({body:e})=>{i.next(o(Ke.UpdateBillingAddressSucceeded,e)),i.complete()}).catch(e=>{i.error(s(Ke.UpdateBillingAddressFailed,e))})})}_updateCustomerConsent({email:e,acceptsAbandonedCartEmails:t,acceptsMarketingNewsletter:n},i){return null==t&&null==n?Y():this._subscriptionActionCreator.updateSubscriptions({email:e,acceptsMarketingNewsletter:n||!1,acceptsAbandonedCartEmails:t||!1},i)}_createOrUpdateBillingAddress(e,t,n,i){return n?this._requestSender.updateAddress(e,t,i):this._requestSender.createAddress(e,t,i)}}function kc(e){var t;const{isShipping:n,isBilling:i,isDefaultShipping:r,isDefaultBilling:o}=e,a=function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]])}return n}(e,["isShipping","isBilling","isDefaultShipping","isDefaultBilling"]);return Object.assign(Object.assign({},a),{shouldSaveAddress:null!==(t=a.shouldSaveAddress)&&void 0!==t&&t})}class Rc extends Ee{constructor(e){super(e||"Your checkout could not be processed because your cart is empty. Please add items to your cart and try again."),this.name="EmptyCartError",this.type="empty_cart"}}function Dc(e){return U(e).join(",")}function Mc(e,t=[]){return Array.isArray(t)?Dc([...e,...t]):function(e,t){const n=b(M(t,e=>!e)),i=b(M(t,e=>e));return Dc([...c(e,n),...i])}(e,t)}const Nc=["cart.lineItems.physicalItems.options","cart.lineItems.physicalItems.stockPosition","cart.lineItems.digitalItems.options","cart.lineItems.digitalItems.stockPosition","customer","promotions.banners"];class Lc{constructor(e){this._requestSender=e}createAddress(e,t,{timeout:n,params:{include:i}={}}={}){const r=`/api/storefront/checkouts/${e}/billing-address`,o=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.post(r,{body:kc(t),params:{include:Mc(Nc,i)},headers:o,timeout:n}).catch(e=>{if("empty_cart"===e.body.type)throw new Rc;throw e})}updateAddress(e,t,{timeout:n,params:{include:i}={}}={}){const{id:r}=t,o=function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]])}return n}(t,["id"]),a=`/api/storefront/checkouts/${e}/billing-address/${r}`,s=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.put(a,{params:{include:Mc(Nc,i)},body:kc(o),headers:s,timeout:n}).catch(e=>{if("empty_cart"===e.body.type)throw new Rc;throw e})}}class zc{constructor(e){this._requestSender=e}createBuyNowCart(e,{timeout:t}={}){const n=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.post("/api/storefront/carts",{body:e,headers:n,timeout:t})}}class Bc{constructor(e,t,n){this._checkoutRequestSender=e,this._configActionCreator=t,this._formFieldsActionCreator=n}loadCheckout(e,t){return n=>H(J(o(He.LoadCheckoutRequested)),Z(this._configActionCreator.loadConfig({useCache:!0,timeout:null==t?void 0:t.timeout,params:{checkoutId:e}}),this._formFieldsActionCreator.loadFormFields({useCache:!0,timeout:null==t?void 0:t.timeout})),W(()=>this._checkoutRequestSender.loadCheckout(e,Ec(n,t)).then(({body:e})=>o(He.LoadCheckoutSucceeded,this._transformCustomerAddresses(e))))).pipe(X(e=>Oc(He.LoadCheckoutFailed,e)))}loadDefaultCheckout(e){return t=>H(J(o(He.LoadCheckoutRequested)),Z(this._configActionCreator.loadConfig({useCache:!0,timeout:null==e?void 0:e.timeout}),this._formFieldsActionCreator.loadFormFields({useCache:!0,timeout:null==e?void 0:e.timeout})),W(()=>{return n=this,i=void 0,a=function*(){const n=t.getState().config.getContextConfig();if(!n||!n.checkoutId)throw new ir(nr.MissingCheckoutConfig);const{body:i}=yield this._checkoutRequestSender.loadCheckout(n.checkoutId,Ec(t,e));return o(He.LoadCheckoutSucceeded,this._transformCustomerAddresses(i))},new((r=void 0)||(r=Promise))(function(e,t){function o(e){try{d(a.next(e))}catch(e){t(e)}}function s(e){try{d(a.throw(e))}catch(e){t(e)}}function d(t){var n;t.done?e(t.value):(n=t.value,n instanceof r?n:new r(function(e){e(n)})).then(o,s)}d((a=a.apply(n,i||[])).next())});var n,i,r,a})).pipe(X(e=>Oc(He.LoadCheckoutFailed,e)))}updateCheckout(e,t){return n=>new G(i=>{const r=n.getState().checkout.getCheckout();if(!r)throw new ir(nr.MissingCheckout);i.next(o(He.UpdateCheckoutRequested)),this._checkoutRequestSender.updateCheckout(r.id,e,t).then(({body:e})=>{i.next(o(He.UpdateCheckoutSucceeded,e)),i.complete()}).catch(e=>{i.error(s(He.UpdateCheckoutFailed,e))})})}deleteCheckout(e){return t=>new G(n=>{const i=t.getState().checkout.getCheckout();if(!i)throw new ir(nr.MissingCheckout);n.next(o(He.DeleteCheckoutRequested)),this._checkoutRequestSender.deleteCheckout(i.id,e).then(()=>{n.next(o(He.DeleteCheckoutSucceeded)),n.complete()}).catch(e=>{n.error(s(He.DeleteCheckoutFailed,e))})})}loadCurrentCheckout(e){return t=>{const n=t.getState().checkout.getCheckout();if(!n)throw new ir(nr.MissingCheckout);return this.loadCheckout(n.id,e)(t)}}hydrateInitialState(e){return{type:We.HydrateInitialState,payload:e}}_transformCustomerAddresses(e){return Object.assign(Object.assign({},e),{customer:Object.assign(Object.assign({},e.customer),{addresses:e.customer.addresses.map(e=>Object.assign(Object.assign({},e),{shouldSaveAddress:!1}))})})}}const Fc=["cart.lineItems.physicalItems.options","cart.lineItems.physicalItems.stockPosition","cart.lineItems.digitalItems.options","cart.lineItems.digitalItems.stockPosition","customer","customer.customerGroup","payments","promotions.banners"];class Uc extends Oe{constructor(e){super(e,{message:e.body.title}),this.name="CheckoutNotAvailableError",this.type="checkout_not_available"}}class xc{constructor(e){this._requestSender=e}loadCheckout(e,{params:{include:t}={},timeout:n}={}){const i=`/api/storefront/checkout/${e}`,r=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.get(i,{params:{include:Mc(Fc,t)},headers:r,timeout:n}).catch(e=>{if(e.status>=400&&e.status<500)throw new Uc(e);throw e})}updateCheckout(e,t,{params:{include:n}={},timeout:i}={}){const r=`/api/storefront/checkout/${e}`,o=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.put(r,{params:{include:Mc(Fc,n)},body:t,headers:o,timeout:i}).catch(e=>{if("empty_cart"===e.body.type)throw new Rc;throw e})}deleteCheckout(e,{timeout:t}={}){const n=`/api/storefront/carts/${e}`,i=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.delete(n,{headers:i,timeout:t})}}class qc{isEqual(e,t){return _(this._normalize(e),this._normalize(t))}_normalize(e){return{cartAmount:e.cartAmount,currency:e.currency,id:e.id,lineItems:{digitalItems:e.lineItems.digitalItems.slice().sort((e,t)=>`${e.productId}${e.variantId}`.localeCompare(`${t.productId}${t.variantId}`)).map(e=>({extendedSalePrice:e.extendedSalePrice,productId:e.productId,quantity:e.quantity,variantId:e.variantId})),giftCertificates:e.lineItems.giftCertificates.slice().sort((e,t)=>`${e.id}`.localeCompare(`${t.id}`)).map(e=>({amount:e.amount,recipient:e.recipient})),physicalItems:e.lineItems.physicalItems.slice().sort((e,t)=>`${e.productId}${e.variantId}`.localeCompare(`${t.productId}${t.variantId}`)).map(e=>({extendedSalePrice:e.extendedSalePrice,productId:e.productId,quantity:e.quantity,variantId:e.variantId,giftWrapping:e.giftWrapping}))}}}}class jc extends Ee{constructor(e,t){super("An update to your shopping cart has been detected and your available shipping costs have been updated."),this.name="CartChangedError",this.type="cart_changed",this.data={previous:e,updated:t}}}class Gc{constructor(e){this._checkoutRequestSender=e}validate(e,t){if(!e)throw new ir(nr.MissingCheckout);return this._checkoutRequestSender.loadCheckout(e.id,t).then(t=>{const n=new qc;if(!(e.outstandingBalance===t.body.outstandingBalance&&this._compareCoupons(e.coupons,t.body.coupons)&&this._compareGiftCertificates(e.giftCertificates,t.body.giftCertificates)&&n.isEqual(e.cart,t.body.cart)))throw new jc(this._getComparableCheckout(e),this._getComparableCheckout(t.body))})}_compareCoupons(e,t){return _(P(e,"code"),P(t,"code"))}_compareGiftCertificates(e,t){return _(P(e,"code"),P(t,"code"))}_getComparableCheckout(e){const{cart:t,coupons:n,giftCertificates:i,outstandingBalance:r}=e;return{cart:{cartAmount:t.cartAmount,currency:t.currency,lineItems:t.lineItems},coupons:n,giftCertificates:i,outstandingBalance:r}}}class Vc{constructor(e){this._configRequestSender=e}loadConfig(e){return G.create(t=>{t.next(o(Ct.LoadConfigRequested)),this._configRequestSender.loadConfig(e).then(e=>{t.next(o(Ct.LoadConfigSucceeded,e.body)),t.complete()}).catch(e=>{t.error(s(Ct.LoadConfigFailed,e))})})}}!function(e,t,n,i){var r,o=arguments.length,a=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(a=(o<3?r(a):o>3?r(t,n,a):r(t,n))||a);o>3&&a&&Object.defineProperty(t,n,a)}([uc],Vc.prototype,"loadConfig",null);class Hc{constructor(e){this._requestSender=e}loadConfig({timeout:e,params:t}={}){return this._requestSender.get("/api/storefront/checkout-settings",{timeout:e,headers:Object.assign({Accept:yc.JsonV1,"X-API-INTERNAL":fc},_c),params:t}).catch(e=>{if(e.status>=400&&e.status<500)throw new Uc(e);throw e})}}class Wc{constructor(e){this._couponRequestSender=e}applyCoupon(e,t){return n=>G.create(i=>{const r=n.getState().checkout.getCheckout();if(!r)throw new ir(nr.MissingCheckout);i.next(o(rt.ApplyCouponRequested)),this._couponRequestSender.applyCoupon(r.id,e,Ec(n,t)).then(({body:e})=>{i.next(o(rt.ApplyCouponSucceeded,e)),i.complete()}).catch(e=>{i.error(s(rt.ApplyCouponFailed,e))})})}removeCoupon(e,t){return n=>G.create(i=>{const r=n.getState().checkout.getCheckout();if(!r)throw new ir(nr.MissingCheckout);i.next(o(rt.RemoveCouponRequested)),this._couponRequestSender.removeCoupon(r.id,e,Ec(n,t)).then(({body:e})=>{i.next(o(rt.RemoveCouponSucceeded,e)),i.complete()}).catch(e=>{i.error(s(rt.RemoveCouponFailed,e))})})}}class Yc{constructor(e){this._requestSender=e}applyCoupon(e,t,{timeout:n,params:{include:i}={}}={}){const r=`/api/storefront/checkouts/${e}/coupons`,o=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.post(r,{headers:o,timeout:n,params:{include:Mc([...Fc,vc.AvailableShippingOptions],i)},body:{couponCode:t}}).catch(e=>{if("empty_cart"===e.body.type)throw new Rc;throw e})}removeCoupon(e,t,{timeout:n,params:{include:i}={}}={}){const r=`/api/storefront/checkouts/${e}/coupons/${t}`,o=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.delete(r,{headers:o,timeout:n,params:{include:Mc([...Fc,vc.AvailableShippingOptions],i)}}).catch(e=>{if("empty_cart"===e.body.type)throw new Rc;throw e})}}function Kc(e){const t=e;return"object"==typeof t&&"object"==typeof t.payload&&"string"==typeof t.payload.token}class $c{constructor(e,t,n){this._customerRequestSender=e,this._checkoutActionCreator=t,this._spamProtectionActionCreator=n}createCustomer(e,t){return n=>{const i=n.getState().config.getStoreConfigOrThrow(),{isStorefrontSpamProtectionEnabled:r}=i.checkoutSettings,a=i=>K(this._customerRequestSender.createAccount(Object.assign(Object.assign({},e),{token:i}),t)).pipe(oe(()=>H(this._checkoutActionCreator.loadCurrentCheckout(t)(n),J(o(Ft.CreateCustomerSucceeded)))));return H(J(o(Ft.CreateCustomerRequested)),r?K(this._spamProtectionActionCreator.execute()(n)).pipe(oe(e=>{var t;return Kc(e)?H(J(e),a(null===(t=e.payload)||void 0===t?void 0:t.token)):J(e)})):a()).pipe(X(e=>Oc(Ft.CreateCustomerFailed,e)))}}createAddress(e,t){return H(J(o(Ft.CreateCustomerAddressRequested)),W(()=>{return n=this,i=void 0,a=function*(){const{body:n}=yield this._customerRequestSender.createAddress(e,t);return o(Ft.CreateCustomerAddressSucceeded,n)},new((r=void 0)||(r=Promise))(function(e,t){function o(e){try{d(a.next(e))}catch(e){t(e)}}function s(e){try{d(a.throw(e))}catch(e){t(e)}}function d(t){var n;t.done?e(t.value):(n=t.value,n instanceof r?n:new r(function(e){e(n)})).then(o,s)}d((a=a.apply(n,i||[])).next())});var n,i,r,a})).pipe(X(e=>Oc(Ft.CreateCustomerAddressFailed,e)))}signInCustomer(e,t){return n=>{const i=n.getState().checkout.getCheckoutOrThrow(),r=i.cart.source===Co.BuyNow?i.id:void 0;return H(J(o(Ft.SignInCustomerRequested)),K(this._customerRequestSender.signInCustomer(Object.assign(Object.assign({},e),{cartId:r}),t)).pipe(oe(({body:e})=>e.data.persistentCartRetrievalInformation?H(this._checkoutActionCreator.loadCheckout(e.data.persistentCartRetrievalInformation.id,t)(n),J(o(Ft.SignInCustomerSucceeded,e.data))):H(this._checkoutActionCreator.loadCurrentCheckout(t)(n),J(o(Ft.SignInCustomerSucceeded,e.data)))))).pipe(X(e=>Oc(Ft.SignInCustomerFailed,e)))}}signOutCustomer(e){return t=>{const n=t.getState().checkout.getCheckoutOrThrow(),i=n.cart.source===Co.BuyNow?n.id:void 0;return H(J(o(Ft.SignOutCustomerRequested)),K(this._customerRequestSender.signOutCustomer(e,i)).pipe(oe(({body:n})=>H(this._checkoutActionCreator.loadCurrentCheckout(e)(t),J(o(Ft.SignOutCustomerSucceeded,n.data)))))).pipe(X(e=>Oc(Ft.SignOutCustomerFailed,e)))}}}class Zc{constructor(e){this._requestSender=e}createAccount(e,{timeout:t}={}){return this._requestSender.post("/api/storefront/customer",{timeout:t,headers:_c,body:e})}createAddress(e,{timeout:t}={}){return this._requestSender.post("/api/storefront/customer-address",{timeout:t,headers:_c,body:e})}signInCustomer(e,{timeout:t}={}){return this._requestSender.post("/internalapi/v1/checkout/customer",{timeout:t,headers:_c,body:e})}signOutCustomer({timeout:e}={},t){return this._requestSender.delete("/internalapi/v1/checkout/customer",Object.assign({timeout:e,headers:_c},t&&{body:{cartId:t}}))}}class Jc{constructor(e){this._formFieldsRequestSender=e}loadFormFields(e){return H(J(o(nn.LoadFormFieldsRequested)),W(()=>{return t=this,n=void 0,r=function*(){const{body:t}=yield this._formFieldsRequestSender.loadFields(e);return o(nn.LoadFormFieldsSucceeded,t)},new((i=void 0)||(i=Promise))(function(e,o){function a(e){try{d(r.next(e))}catch(e){o(e)}}function s(e){try{d(r.throw(e))}catch(e){o(e)}}function d(t){var n;t.done?e(t.value):(n=t.value,n instanceof i?n:new i(function(e){e(n)})).then(a,s)}d((r=r.apply(t,n||[])).next())});var t,n,i,r})).pipe(X(e=>Oc(nn.LoadFormFieldsFailed,e)))}}!function(e,t,n,i){var r,o=arguments.length,a=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(a=(o<3?r(a):o>3?r(t,n,a):r(t,n))||a);o>3&&a&&Object.defineProperty(t,n,a)}([uc],Jc.prototype,"loadFormFields",null);class Qc{constructor(e){this._requestSender=e}loadFields({timeout:e}={}){return this._requestSender.get("/api/storefront/form-fields",{timeout:e,headers:Object.assign({Accept:yc.JsonV1,"X-API-INTERNAL":fc},_c)})}}class Xc{constructor(e,t){this._requestSender=e,this._config=t}loadCountries({timeout:e}={}){const t=Object.assign({"Accept-Language":this._config.locale},_c);return this._requestSender.get("/internalapi/v1/store/countries",{headers:t,timeout:e})}}class eu extends Ee{constructor(e){super(e||"Unable to proceed because the required element is unexpectedly detached from the page."),this.name="UnexpectedDetachmentError",this.type="unexpected_detachment"}}class tu{constructor(e){this._mutationObserver=e}ensurePresence(e,t){return n=this,i=void 0,o=function*(){const n=new Ta(t),i=this._mutationObserver.create(t=>{t.forEach(t=>{0!==Array.from(t.removedNodes).filter(t=>e.some(e=>t===e||t.contains(e))).length&&n.cancel(new eu)})});i.observe(document.body,{childList:!0,subtree:!0});try{const e=yield n.promise;return i.disconnect(),e}catch(e){throw i.disconnect(),e}},new((r=void 0)||(r=Promise))(function(e,t){function a(e){try{d(o.next(e))}catch(e){t(e)}}function s(e){try{d(o.throw(e))}catch(e){t(e)}}function d(t){var n;t.done?e(t.value):(n=t.value,n instanceof r?n:new r(function(e){e(n)})).then(a,s)}d((o=o.apply(n,i||[])).next())});var n,i,r,o}}class nu{constructor(e=window){this._window=e}create(e){return new this._window.MutationObserver(e)}}class iu extends Ee{constructor(e){super(e||"Invalid arguments have been provided."),this.name="InvalidArgumentError",this.type="invalid_argument"}}function ru(e){if(!/^(https?:)?\/\//.test(e))throw new iu("The provided URL must be absolute.");const t=document.createElement("a");t.href=e;const n=t.port&&-1!==e.indexOf(`${t.hostname}:${t.port}`)?t.port:"";return{hash:t.hash,hostname:t.hostname,href:t.href,origin:`${t.protocol}//${t.hostname}${n?`:${n}`:""}`,pathname:t.pathname,port:n,protocol:t.protocol,search:t.search}}function ou(e,t){return e.type===t}class au{constructor(e,t,n){this._targetWindow=t,this._context=n,this._targetOrigin="*"===e?"*":ru(e).origin}post(e,t){const n=this._targetWindow;if(window===n)return;if(!n)throw new Error("Unable to post message because target window is not set.");const i=t&&$(window,"message").pipe(te(e=>e.origin===this._targetOrigin&&ou(e.data,e.data.type)&&-1!==[t.successType,t.errorType].indexOf(e.data.type)),ne(e=>{if(t.errorType===e.data.type)throw e.data;return e.data}),ae(1)).toPromise();return n.postMessage(Object.assign(Object.assign({},e),{context:this._context}),this._targetOrigin),i}setTarget(e){this._targetWindow=e}setContext(e){this._context=e}}class su{constructor(e){var t;this._sourceOrigins=[ru(e).origin,(t=ru(e),ru(0===t.hostname.indexOf("www")?t.href:t.href.replace(t.hostname,`www.${t.hostname}`))).origin],this._isListening=!1,this._listeners={}}listen(){this._isListening||(this._isListening=!0,window.addEventListener("message",this._handleMessage))}stopListen(){this._isListening&&(this._isListening=!1,window.removeEventListener("message",this._handleMessage))}addListener(e,t){let n=this._listeners[e];n||(this._listeners[e]=n=[]),-1===n.indexOf(t)&&n.push(t)}removeListener(e,t){const n=this._listeners[e];if(!n)return;const i=n.indexOf(t);i>=0&&n.splice(i,1)}trigger(e,t){const n=this._listeners[e.type];n&&n.forEach(n=>t?n(e,t):n(e))}_handleMessage(e){if(-1===this._sourceOrigins.indexOf(e.origin)||!ou(e.data,e.data.type))return;const t=e.data,{context:n}=t,i=function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]])}return n}(t,["context"]);this.trigger(i,n)}}!function(e,t,n,i){var r,o=arguments.length,a=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(a=(o<3?r(a):o>3?r(t,n,a):r(t,n))||a);o>3&&a&&Object.defineProperty(t,n,a)}([Ra],su.prototype,"_handleMessage",null);class du extends Ee{constructor(){super("You haven't complete our spam protection challenge. Please try again."),this.name="SpamProtectionChallengeNotCompletedError",this.type="spam_protection_challenge_not_completed"}}class cu extends Ee{constructor(){super("Please complete our human verification challenge and try again."),this.name="CardingProtectionChallengeNotCompletedError",this.type="carding_protection_challenge_not_completed"}}class uu extends Ee{constructor(){super("We were not able to verify that you are not a robot. Please try again."),this.name="CardingProtectionFailedError",this.type="carding_protection_failed"}}var lu,hu,pu,gu=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class mu{constructor(e){this._googleRecaptcha=e}handle(e,t){return gu(this,void 0,void 0,function*(){return"string"==typeof e?this.handleWithRecaptchaSitekey(e,t):this.handleWithPaymentHumanVerificationRequestError(e)})}handleWithPaymentHumanVerificationRequestError(e){return gu(this,void 0,void 0,function*(){if(!this._isPaymentHumanVerificationRequest(e))throw e;return yield this._initialize(e.body.additional_action_required.data.key),this._performRecaptcha()})}handleWithRecaptchaSitekey(e,t){return gu(this,void 0,void 0,function*(){if("recaptcha_v2"!==e)throw Error("Human verification method is not supported.");if(!t)throw Error("Recaptcha site key is missing.");return yield this._initialize(t),this._performRecaptcha()})}_performRecaptcha(){return this._googleRecaptcha.execute().pipe(ae(1)).pipe(oe(e=>gu(this,[e],void 0,function*({error:e,token:t}){if(e instanceof du)throw new cu;if(e||!t)throw new uu;return{type:"recaptcha_v2_verification",data:{human_verification_token:t}}}))).toPromise()}_initialize(e){const t="cardingProtectionContainer";let n=document.getElementById(t);return n&&n.parentNode&&n.parentNode.removeChild(n),n=document.createElement("div"),n.setAttribute("id",t),document.body.appendChild(n),this._googleRecaptcha.load(t,e)}_isPaymentHumanVerificationRequest(e){const{additional_action_required:t,status:n}=e.body||{};return"additional_action_required"===n&&t&&"recaptcha_v2_verification"===t.type}}!function(e){e[e.CheckoutButtonNotInitialized=0]="CheckoutButtonNotInitialized",e[e.CustomerNotInitialized=1]="CustomerNotInitialized",e[e.PaymentNotInitialized=2]="PaymentNotInitialized",e[e.ShippingNotInitialized=3]="ShippingNotInitialized",e[e.SpamProtectionNotInitialized=4]="SpamProtectionNotInitialized"}(lu||(lu={}));class yu extends Ee{constructor(e){super(function(e){switch(e){case lu.CustomerNotInitialized:return"Unable to proceed because the customer step of checkout has not been initialized.";case lu.PaymentNotInitialized:return"Unable to proceed because the payment step of checkout has not been initialized.";case lu.ShippingNotInitialized:return"Unable to proceed because the shipping step of checkout has not been initialized.";case lu.SpamProtectionNotInitialized:return"Unable to proceed because the checkout spam protection has not been initialized.";default:return"Unable to proceed because the required component has not been initialized."}}(e)),this.subtype=e,this.name="NotInitializedError",this.type="not_initialized"}}class fu extends Ee{constructor(){super("We were not able to complete your spam protection verification. Please try again."),this.name="SpamProtectionFailedError",this.type="spam_protection_failed"}}class _u extends Ee{constructor(){super("Spam protection is not loaded. Please try again."),this.name="SpamProtectionNotLoadedError",this.type="spam_protection_failed"}}class Su{constructor(e,t){this.googleRecaptchaScriptLoader=e,this.mutationObserverFactory=t,this._memoized=se((e,t,n)=>{const i=new V;if(!n)throw new Error;return this._widgetId=e.render(n.id,{sitekey:t,size:"invisible",callback:()=>{i.next({token:e.getResponse(this._widgetId)}),e.reset(this._widgetId)},"error-callback":()=>{i.next({error:new fu})}}),i},{isEqual:(e,t)=>e===t})}load(e,t){return this.googleRecaptchaScriptLoader.load().then(n=>{n&&(this._event$=this._memoized(n,t,document.getElementById(e)),this._recaptcha=n)}).catch(e=>{throw e})}reset(e){var t;const n=document.getElementById(e);null==n||n.remove(),null===(t=this._recaptcha)||void 0===t||t.reset(this._widgetId)}execute(){return W(()=>{const e=this._event$,t=this._recaptcha;if(!e||!t)throw new yu(lu.SpamProtectionNotInitialized);return W(()=>{const e=document.querySelector('iframe[src*="bframe"]');return e?J(e):Q(new _u)}).pipe(ie(e=>e.pipe(ee(250),oe((e,t)=>t<28?J(e):Q(e)))),oe(n=>(this._watchRecaptchaChallengeWindow(e,n),t.execute(this._widgetId),e)),X(e=>J({error:e})))})}_watchRecaptchaChallengeWindow(e,t){const n=t.parentElement;if(!n)throw new _u;const i=n.parentElement;if(!i)throw new _u;this.mutationObserverFactory.create(()=>{"hidden"===i.style.visibility&&e.next({error:new du})}).observe(i,{attributes:!0,attributeFilter:["style"]})}}class vu{constructor(e,t=window){this._scriptLoader=e,this._window=t}load(){return this._loadPromise||(this._loadPromise=this._loadScript()),this._loadPromise}_loadScript(){const e="initRecaptcha",t=[`onload=${e}`,"render=explicit"].join("&");return new Promise((n,i)=>{this._window[e]=()=>n(this._window.grecaptcha),this._scriptLoader.loadScript(`//www.google.com/recaptcha/api.js?${t}`).catch(e=>{this._loadPromise=void 0,i(e)})})}}function Cu(e){return new Su(new vu(e),new nu)}class Iu extends Ee{constructor(e){super(e||"Unable to proceed due to invalid configuration provided for the hosted payment form."),this.name="InvalidHostedFormConfigError",this.type="invalid_hosted_form_config"}}class wu extends Ee{constructor(e){super(e||"Unable to proceed due to an unknown error with the hosted payment form."),this.name="InvalidHostedFormError",this.type="invalid_hosted_form"}}class bu extends Ee{constructor(e){super(["Unable to proceed due to invalid user input values",...p(q(e),e=>P(e,({message:e})=>e))].join(". ")),this.errors=e,this.name="InvalidHostedFormValueError",this.type="invalid_hosted_form_value"}}!function(e){e.AttachRequested="HOSTED_FIELD:ATTACH_REQUESTED",e.SubmitRequested="HOSTED_FIELD:SUBMITTED_REQUESTED",e.ValidateRequested="HOSTED_FIELD:VALIDATE_REQUESTED",e.StoredCardRequested="HOSTED_FIELD:STORED_CARD_REQUESTED"}(hu||(hu={})),function(e){e.AttachSucceeded="HOSTED_INPUT:ATTACH_SUCCEEDED",e.AttachFailed="HOSTED_INPUT:ATTACH_FAILED",e.BinChanged="HOSTED_INPUT:BIN_CHANGED",e.Blurred="HOSTED_INPUT:BLURRED",e.Changed="HOSTED_INPUT:CHANGED",e.CardTypeChanged="HOSTED_INPUT:CARD_TYPE_CHANGED",e.Entered="HOSTED_INPUT:ENTERED",e.Focused="HOSTED_INPUT:FOCUSED",e.SubmitSucceeded="HOSTED_INPUT:SUBMIT_SUCCEEDED",e.SubmitFailed="HOSTED_INPUT:SUBMIT_FAILED",e.Validated="HOSTED_INPUT:VALIDATED",e.StoredCardSucceeded="HOSTED_INPUT:STORED_CARD_SUCCEEDED",e.StoredCardFailed="HOSTED_INPUT:STORED_CARD_FAILED"}(pu||(pu={}));var Eu=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Pu{constructor(e,t,n,i,r,o,a,s,d,c){this._type=e,this._containerId=t,this._placeholder=n,this._accessibilityLabel=i,this._styles=r,this._eventPoster=o,this._eventListener=a,this._detachmentObserver=s,this._checkoutId=d,this._cardInstrument=c,this._iframe=document.createElement("iframe");const u=this._checkoutId?`/checkout/payment/hosted-field?version=1.960.0&checkoutId=${this._checkoutId}`:"/checkout/payment/hosted-field?version=1.960.0";this._iframe.src=u,this._iframe.style.border="none",this._iframe.style.height="100%",this._iframe.style.overflow="hidden",this._iframe.style.width="100%"}getType(){return this._type}attach(){return Eu(this,void 0,void 0,function*(){const e=document.getElementById(this._containerId);if(!e)throw new Iu("Unable to proceed because the provided container ID is not valid.");e.appendChild(this._iframe),this._eventListener.listen();const t=$(this._iframe,"load").pipe(oe(e=>Eu(this,[e],void 0,function*({target:e}){const t=e&&e.contentWindow;if(!t)throw new Error("The content window of the iframe cannot be accessed.");this._eventPoster.setTarget(t),yield this._eventPoster.post({type:hu.AttachRequested,payload:{accessibilityLabel:this._accessibilityLabel,cardInstrument:this._cardInstrument,fontUrls:this._getFontUrls(),placeholder:this._placeholder,styles:this._styles,origin:document.location.origin,type:this._type}},{successType:pu.AttachSucceeded,errorType:pu.AttachFailed})})),ae(1)).toPromise();yield this._detachmentObserver.ensurePresence([this._iframe],t)})}detach(){this._iframe.parentElement&&(this._iframe.parentElement.removeChild(this._iframe),this._eventListener.stopListen())}submitForm(e,t){return Eu(this,void 0,void 0,function*(){try{const n=this._eventPoster.post({type:hu.SubmitRequested,payload:{fields:e,data:t}},{successType:pu.SubmitSucceeded,errorType:pu.SubmitFailed});return yield this._detachmentObserver.ensurePresence([this._iframe],n)}catch(e){if(this._isSubmitErrorEvent(e)){if("hosted_form_error"===e.payload.error.code)throw new wu(e.payload.error.message);if(e.payload.response)throw ke(e.payload.response);throw new Error(e.payload.error.message)}throw e}})}submitStoredCardForm(e,t){return Eu(this,void 0,void 0,function*(){const n=this._eventPoster.post({type:hu.StoredCardRequested,payload:{fields:e,data:t}},{successType:pu.StoredCardSucceeded,errorType:pu.StoredCardFailed});return this._detachmentObserver.ensurePresence([this._iframe],n)})}validateForm(){return Eu(this,void 0,void 0,function*(){const e=this._eventPoster.post({type:hu.ValidateRequested},{successType:pu.Validated}),{payload:t}=yield this._detachmentObserver.ensurePresence([this._iframe],e);if(!t.isValid)throw new bu(t.errors)})}_getFontUrls(){const e="fonts.googleapis.com",t=document.querySelectorAll(`link[href*='${e}'][rel='stylesheet']`);return Array.prototype.slice.call(t).filter(t=>ru(t.href).hostname===e).filter(e=>q(this._styles).map(e=>e&&e.fontFamily).filter(e=>"string"==typeof e).some(t=>t.split(/,\s/).some(t=>-1!==e.href.indexOf(t.replace(" ","+"))))).map(e=>e.href)}_isSubmitErrorEvent(e){return e.type===pu.SubmitFailed}}var Ou=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Au{constructor(e,t,n,i,r){this._fields=e,this._eventListener=t,this._payloadTransformer=n,this._eventCallbacks=i,this._paymentHumanVerificationHandler=r,this._handleEnter=e=>Ou(this,[e],void 0,function*({payload:e}){try{yield this.validate()}catch(e){if(e instanceof Error&&"InvalidHostedFormValueError"!==e.name)throw e}const{onEnter:t=T}=this._eventCallbacks;t(e)});const{onBlur:o=T,onCardTypeChange:a=T,onFocus:s=T,onValidate:d=T}=this._eventCallbacks;this._eventListener.addListener(pu.Blurred,({payload:e})=>o(e)),this._eventListener.addListener(pu.CardTypeChanged,({payload:e})=>a(e)),this._eventListener.addListener(pu.Focused,({payload:e})=>s(e)),this._eventListener.addListener(pu.Validated,({payload:e})=>d(e)),this._eventListener.addListener(pu.Entered,this._handleEnter),this._eventListener.addListener(pu.CardTypeChanged,({payload:e})=>this._cardType=e.cardType),this._eventListener.addListener(pu.BinChanged,({payload:e})=>this._bin=e.bin)}getBin(){return this._bin}getCardType(){return this._cardType}attach(){return Ou(this,void 0,void 0,function*(){this._eventListener.listen();const e=this._getFirstField(),t=j(this._fields,e);yield e.attach(),yield Promise.all(t.map(e=>e.attach()))})}detach(){this._eventListener.stopListen(),this._fields.forEach(e=>{e.detach()})}submit(e,t){return Ou(this,void 0,void 0,function*(){try{return yield this._getFirstField().submitForm(this._fields.map(e=>e.getType()),this._payloadTransformer.transform(e,t))}catch(t){const n=yield this._paymentHumanVerificationHandler.handle(t);return yield this._getFirstField().submitForm(this._fields.map(e=>e.getType()),this._payloadTransformer.transform(e,n))}})}submitStoredCard(e){return Ou(this,void 0,void 0,function*(){return this._getFirstField().submitStoredCardForm(e.fields,e.data)})}validate(){return Ou(this,void 0,void 0,function*(){return this._getFirstField().validateForm()})}_getFirstField(){const e=this._fields[0];if(!e)throw new Iu("Unable to proceed because the payment form has no field defined.");return e}}function Tu(e){return Boolean(e.instrumentId)}class ku{constructor(e){this._store=e}transform(e,t){const n=this._store.getState(),i=n.checkout.getCheckout(),r=n.config.getConfig(),o=n.instruments.getInstrumentsMeta(),a=n.order.getOrder(),s=n.order.getOrderMeta(),d=k(e.paymentData,"ccExpiry","ccName","ccNumber","ccCvv");let c=n.paymentMethods.getPaymentMethod(e.methodId,e.gatewayId);"worldpayaccess"===(null==c?void 0:c.gateway)&&"credit_card"===(null==c?void 0:c.id)&&(c=Object.assign(Object.assign({},c),{id:"worldpayaccess",method:"credit-card"}));const u=n.paymentMethods.getPaymentMethodsMeta(),l=o&&d&&Tu(d)?`${n.payment.getPaymentToken()}, ${o.vaultAccessToken}`:n.payment.getPaymentToken();if(!l)throw new ir(nr.MissingPaymentToken);return{additionalAction:t,authToken:l,checkout:i,config:r,order:a,orderMeta:s,payment:d,paymentMethod:c,paymentMethodMeta:u}}}class Ru{constructor(e){this._store=e}create(e,t,n){const i=Object.keys(t.fields).reduce((i,r)=>{const o=t.fields[r];return o?[...i,new Pu(r,o.containerId,o.placeholder||"",o.accessibilityLabel||"",t.styles||{},new au(e),new su(e),new tu(new nu),n,"instrumentId"in o?this._getCardInstrument(o.instrumentId):void 0)]:i},[]);return new Au(i,new su(e),new ku(this._store),D(t,"onBlur","onEnter","onFocus","onCardTypeChange","onValidate"),new mu(Cu(le())))}_getCardInstrument(e){const{instruments:{getCardInstrument:t}}=this._store.getState(),n=t(e);if(!n)throw new ir(nr.MissingPaymentInstrument);return n}}class Du extends Ee{constructor(){super("You haven't complete our spam check. Please try again."),this.name="SpamProtectionNotCompletedError",this.type="spam_protection_not_completed"}}class Mu{constructor(e,t){this._orderRequestSender=e,this._checkoutValidator=t}loadOrder(e,t){return new G(n=>{n.next(o(Ot.LoadOrderRequested)),this._orderRequestSender.loadOrder(e,t).then(e=>{n.next(o(Ot.LoadOrderSucceeded,e.body)),n.complete()}).catch(e=>{n.error(s(Ot.LoadOrderFailed,e))})})}loadOrderPayments(e,t){return new G(n=>{n.next(o(Ot.LoadOrderPaymentsRequested)),this._orderRequestSender.loadOrder(e,t).then(e=>{n.next(o(Ot.LoadOrderPaymentsSucceeded,e.body)),n.complete()}).catch(e=>{n.error(s(Ot.LoadOrderPaymentsFailed,e))})})}loadCurrentOrder(e){return t=>W(()=>{const n=this._getCurrentOrderId(t.getState());if(!n)throw new ir(nr.MissingOrderId);return this.loadOrder(n,e)})}submitOrder(e,t){return n=>H(J(o(Ot.SubmitOrderRequested)),W(()=>{const i=n.getState(),r=i.config.getExternalSource(),a=i.config.getVariantIdentificationToken(),s=i.checkout.getCheckout();if(!s)throw new ir(nr.MissingCheckout);if(s.shouldExecuteSpamCheck)throw new Du;return K(this._checkoutValidator.validate(s,t).then(()=>this._orderRequestSender.submitOrder(this._mapToOrderRequestBody(null!=e?e:{},s.id,s.customerMessage,r),Object.assign(Object.assign({},t),{headers:{checkoutVariant:a}})))).pipe(oe(e=>H(this.loadOrder(e.body.data.order.orderId,t),J(o(Ot.SubmitOrderSucceeded,e.body.data,Object.assign(Object.assign({},e.body.meta),{token:e.headers.token}))))))}).pipe(X(e=>Oc(Ot.SubmitOrderFailed,e))))}finalizeOrder(e,t){return H(J(o(Ot.FinalizeOrderRequested)),K(this._orderRequestSender.finalizeOrder(e,t)).pipe(oe(n=>H(this.loadOrder(e,t),J(o(Ot.FinalizeOrderSucceeded,n.body.data)))))).pipe(X(e=>Oc(Ot.FinalizeOrderFailed,e)))}_getCurrentOrderId(e){const t=e.order.getOrder(),n=e.checkout.getCheckout();return t&&t.orderId||n&&n.orderId}_mapToOrderRequestBody(e,t,n,i){const{payment:r}=e,o=function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]])}return n}(e,["payment"]);return r?Object.assign(Object.assign({},o),{cartId:t,customerMessage:n,externalSource:i,payment:{paymentData:r.paymentData,name:r.methodId,gateway:r.gatewayId}}):Object.assign(Object.assign({},o),{cartId:t,customerMessage:n,externalSource:i})}}class Nu extends Ee{constructor(e){super(e||"Your checkout could not be processed because some details have changed. Please review your order and try again."),this.name="CartConsistencyError",this.type="cart_consistency"}}class Lu extends Ee{constructor(e,t){super(t||"At least one item changed stock position. Please review your cart and try again."),this.name="CartStockPositionsChangedError",this.type="cart_stock_positions_changed",this.changedItemIds=e}}class zu extends Ee{constructor(e){super(e||"The tax provider is unavailable."),this.name="OrderTaxProviderUnavailableError",this.type="tax_provider_unavailable"}}class Bu extends Ee{constructor(e){super(e),this.name="MissingShippingMethodError",this.type="missing_shipping_method"}}class Fu extends Ee{constructor(e){super(e),this.name="InvalidShippingAddressError",this.type="invalid_shipping_address"}}class Uu{constructor(e){this._requestSender=e}loadOrder(e,{timeout:t}={}){const n=`/api/storefront/orders/${e}`,i=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.get(n,{params:{include:Dc(["payments","lineItems.physicalItems.socialMedia","lineItems.physicalItems.options","lineItems.physicalItems.categories","lineItems.digitalItems.socialMedia","lineItems.digitalItems.options","lineItems.digitalItems.categories"])},headers:i,timeout:t})}submitOrder(e,{headers:t,timeout:n}={}){return this._requestSender.post("/internalapi/v1/checkout/order",{body:e,headers:R(Object.assign({"X-Checkout-Variant":t&&t.checkoutVariant},_c),v),timeout:n}).catch(e=>{var t,n;if("tax_provider_unavailable"===e.body.type)throw new zu;if("cart_has_changed"===e.body.type)throw new Nu;if("cart_stock_positions_changed"===e.body.type){const i=null!==(n=null===(t=e.body.errors)||void 0===t?void 0:t.changedItemIds)&&void 0!==n?n:[];throw new Lu(i)}if("missing_shipping_method"===e.body.type)throw new Bu(e.body.detail);if("invalid_shipping_address"===e.body.type)throw new Fu(e.body.detail);if("empty_cart"===e.body.type)throw new Rc;throw e})}finalizeOrder(e,{timeout:t}={}){const n=`/internalapi/v1/checkout/order/${e}`;return this._requestSender.post(n,{timeout:t,headers:_c})}}class xu{constructor(e,t,n,i){this._paymentRequestSender=e,this._orderActionCreator=t,this._paymentRequestTransformer=n,this._paymentHumanVerificationHandler=i,this.initializeOffsitePayment=({methodId:e,gatewayId:t,instrumentId:n,target:i,promise:r,shouldSaveInstrument:a,shouldSetAsDefaultInstrument:s})=>d=>{let c;n?c={formattedPayload:{bigpay_token:n}}:a&&(c={formattedPayload:{vault_payment_instrument:a,set_as_default_stored_instrument:s||null}});const u=this._paymentRequestTransformer.transform({gatewayId:t,methodId:e,paymentData:c},d.getState());return H(J(o(Rn.InitializeOffsitePaymentRequested)),Promise.race([this._paymentRequestSender.initializeOffsitePayment(u,i),r].filter(Boolean)).then(()=>o(Rn.InitializeOffsitePaymentSucceeded))).pipe(X(e=>Oc(Rn.InitializeOffsitePaymentFailed,e)))}}submitPayment(e){return t=>H(J(o(Rn.SubmitPaymentRequested)),W(()=>{return n=this,i=void 0,o=function*(){try{return yield this._paymentRequestSender.submitPayment(this._paymentRequestTransformer.transform(e,t.getState()))}catch(n){const i=yield this._paymentHumanVerificationHandler.handle(n);return yield this._paymentRequestSender.submitPayment(this._paymentRequestTransformer.transform(Object.assign(Object.assign({},e),{additionalAction:i}),t.getState()))}},new((r=void 0)||(r=Promise))(function(e,t){function a(e){try{d(o.next(e))}catch(e){t(e)}}function s(e){try{d(o.throw(e))}catch(e){t(e)}}function d(t){var n;t.done?e(t.value):(n=t.value,n instanceof r?n:new r(function(e){e(n)})).then(a,s)}d((o=o.apply(n,i||[])).next())});var n,i,r,o}).pipe(oe(({body:e})=>H(this._orderActionCreator.loadCurrentOrder()(t),J(o(Rn.SubmitPaymentSucceeded,e)))))).pipe(X(e=>Oc(Rn.SubmitPaymentFailed,e)))}}class qu{constructor(e){this._client=e}submitPayment(e){return new Promise((t,n)=>{this._client.submitPayment(e,(e,i)=>{e?n(this._transformResponse(e)):t(this._transformResponse(i))})})}initializeOffsitePayment(e,t){return new Promise(()=>{this._client.initializeOffsitePayment(e,null,t)})}_transformResponse(e){return{headers:e.headers,body:e.data,status:e.status,statusText:e.statusText}}}function ju(e,t){let n;return function(e){return void 0!==e.id}(e)?n=e.id:t&&t.length&&(n=t[0].id),{id:n,firstName:e.firstName,lastName:e.lastName,company:e.company,addressLine1:e.address1,addressLine2:e.address2,city:e.city,province:e.stateOrProvince,provinceCode:e.stateOrProvinceCode,postCode:e.postalCode,country:e.country,countryCode:e.countryCode,phone:e.phone,customFields:e.customFields}}const Gu=["per_item_discount","percentage_discount","per_total_discount","shipping_discount","free_shipping"];function Vu(e){return{code:e.code,discount:e.displayName,discountType:Gu.indexOf(e.couponType)}}function Hu(e){return{code:e.code,discountedAmount:e.used,remainingBalance:e.remaining,giftCertificate:{balance:e.balance,code:e.code,purchaseDate:e.purchaseDate}}}function Wu(e){const t=[];return(e||[]).forEach(e=>{(e.banners||[]).forEach(e=>{t.push({placeholders:[],discountType:null,message:"",messageHtml:e.text})})}),t}function Yu(e,t,n="id"){return Object.keys(e).reduce((i,r)=>[...i,...e[r].map(e=>"giftCertificates"===r?function(e,t){const n=new rc(t);return{id:e.id,imageUrl:"",name:e.name,amount:e.amount,amountAfterDiscount:e.amount,discount:0,integerAmount:n.toInteger(e.amount),integerAmountAfterDiscount:n.toInteger(e.amount),integerUnitPrice:n.toInteger(e.amount),integerUnitPriceAfterDiscount:n.toInteger(e.amount),integerDiscount:0,quantity:1,sender:e.sender,recipient:e.recipient,type:"ItemGiftCertificateEntity",attributes:[],variantId:null}}(e,t):function(e,t,n,i="id"){const r=new rc(n);return{id:e[i],imageUrl:e.imageUrl,amount:e.extendedListPrice,amountAfterDiscount:e.extendedSalePrice,discount:e.discountAmount,integerAmount:r.toInteger(e.extendedListPrice),integerAmountAfterDiscount:r.toInteger(e.extendedSalePrice),integerDiscount:r.toInteger(e.discountAmount),integerUnitPrice:r.toInteger(e.listPrice),integerUnitPriceAfterDiscount:r.toInteger(e.salePrice),downloadsPageUrl:e.downloadPageUrl,name:e.name,quantity:e.quantity,brand:e.brand,sku:e.sku,categoryNames:e.categoryNames,variantId:e.variantId,productId:e.productId,attributes:(e.options||[]).map(e=>({name:e.name,value:e.value})),addedByPromotion:e.addedByPromotion,type:t}}(e,function(e){switch(e){case"physicalItems":return"ItemPhysicalEntity";case"digitalItems":return"ItemDigitalEntity";case"giftCertificates":return"ItemGiftCertificateEntity";default:return""}}(r),t,n))],[])}function Ku(e){const t=e.cart.currency.decimalPlaces,n=new rc(t);return{id:e.cart.id,items:Yu(e.cart.lineItems,t),currency:e.cart.currency.code,coupon:{discountedAmount:N(e.cart.coupons,(e,t)=>e+t.discountedAmount,0),coupons:e.cart.coupons.map(Vu)},discount:{amount:e.cart.discountAmount,integerAmount:n.toInteger(e.cart.discountAmount)},discountNotifications:Wu(e.promotions),giftCertificate:{totalDiscountedAmount:N(e.giftCertificates,(e,t)=>e+t.used,0),appliedGiftCertificates:w(e.giftCertificates.map(Hu),"code")},shipping:{amount:e.shippingCostTotal,integerAmount:n.toInteger(e.shippingCostTotal),amountBeforeDiscount:e.shippingCostBeforeDiscount,integerAmountBeforeDiscount:n.toInteger(e.shippingCostBeforeDiscount),required:z(e.cart.lineItems.physicalItems,e=>e.isShippingRequired)},subtotal:{amount:e.subtotal,integerAmount:n.toInteger(e.subtotal)},storeCredit:{amount:e.customer?e.customer.storeCredit:0},taxSubtotal:{amount:e.taxTotal,integerAmount:n.toInteger(e.taxTotal)},taxes:e.taxes,taxTotal:{amount:e.taxTotal,integerAmount:n.toInteger(e.taxTotal)},handling:{amount:e.handlingCostTotal,integerAmount:n.toInteger(e.handlingCostTotal)},grandTotal:{amount:e.grandTotal,integerAmount:n.toInteger(e.grandTotal)}}}var $u;!function(e){e.APPLEPAY="applepay",e.AMAZON_PAY_V2="amazonpay",e.BRAINTREE_PAYPAL="braintreepaypal",e.BRAINTREE_VENMO="braintreevenmo",e.BRAINTREE_PAYPAL_CREDIT="braintreepaypalcredit",e.GOOGLEPAY_ADYENV2="googlepayadyenv2",e.GOOGLEPAY_ADYENV3="googlepayadyenv3",e.GOOGLEPAY_AUTHORIZENET="googlepayauthorizenet",e.GOOGLEPAY_BNZ="googlepaybnz",e.GOOGLEPAY_BRAINTREE="googlepaybraintree",e.GOOGLEPAY_CHECKOUTCOM="googlepaycheckoutcom",e.GOOGLEPAY_CYBERSOURCEV2="googlepaycybersourcev2",e.GOOGLEPAY_ORBITAL="googlepayorbital",e.GOOGLEPAY_STRIPE="googlepaystripe",e.GOOGLEPAY_STRIPEUPE="googlepaystripeupe",e.GOOGLEPAY_WORLDPAYACCESS="googlepayworldpayaccess",e.PAYPALEXPRESS="paypalexpress"}($u||($u={}));const Zu=$u;function Ju(e,t){const n=e.firstName||t.firstName||"",i=e.lastName||t.lastName||"";return{addresses:(e.addresses||[]).map(e=>ju(e)),customerId:e.id,isGuest:e.isGuest,storeCredit:e.storeCredit,email:e.email||t.email||"",firstName:n,lastName:i,name:e.fullName||[n,i].join(" "),customerGroupName:e.customerGroup&&e.customerGroup.name}}class Qu{format(e){const[t="",n=""]=e.split(new RegExp("\\s*/\\s*")),i=t.slice(0,2),r=4===n.length?n.slice(-2):n?n.slice(0,2):t.slice(2);return e.length<2?t:e.length>3&&!r?i:`${i} / ${r}`}toObject(e){const[t="",n=""]=e.split(new RegExp("\\s*/\\s*"));return/^\d+$/.test(t)&&/^\d+$/.test(n)?{month:1===t.length?`0${t}`:t.slice(0,2),year:2===n.length?`20${n}`:n.slice(0,4)}:{month:"",year:""}}}class Xu{format(e){const{card:t}=fe(e);if(!t)return e;const n=O(ye(e).map(e=>O(e.lengths))),i=this.unformat(e).slice(0,n);return t.gaps.filter(e=>i.length>e).reduce((e,t,n)=>[e.slice(0,t+n),e.slice(t+n)].join(" "),i)}unformat(e){const{card:t}=fe(e);return t?e.replace(new RegExp(" ","g"),""):e}}function el(e,t={}){const n=e.currency.decimalPlaces,i=new rc(n);return{id:e.orderId,items:Yu(e.lineItems,e.currency.decimalPlaces,"productId"),orderId:e.orderId,currency:e.currency.code,customerCanBeCreated:e.customerCanBeCreated,payment:il(e.payments,t.payment),subtotal:{amount:e.baseAmount,integerAmount:i.toInteger(e.baseAmount)},coupon:{discountedAmount:N(e.coupons,(e,t)=>e+t.discountedAmount,0),coupons:e.coupons.map(Vu)},discount:{amount:e.discountAmount,integerAmount:i.toInteger(e.discountAmount)},token:t.orderToken,callbackUrl:t.callbackUrl,discountNotifications:[],giftCertificate:nl(e.payments),socialData:ol(e),status:e.status,hasDigitalItems:e.hasDigitalItems,isDownloadable:e.isDownloadable,isComplete:e.isComplete,shipping:{amount:e.shippingCostTotal,integerAmount:i.toInteger(e.shippingCostTotal),amountBeforeDiscount:e.shippingCostBeforeDiscount,integerAmountBeforeDiscount:i.toInteger(e.shippingCostBeforeDiscount)},storeCredit:{amount:tl(e.payments)},taxes:e.taxes,taxTotal:{amount:e.taxTotal,integerAmount:i.toInteger(e.taxTotal)},handling:{amount:e.handlingCostTotal,integerAmount:i.toInteger(e.handlingCostTotal)},grandTotal:{amount:e.orderAmount,integerAmount:e.orderAmountAsInteger}}}function tl(e){const t=l(e,{providerId:"storecredit"});return t?t.amount:0}function nl(e){const t=u(e,{providerId:"giftcertificate"});return{totalDiscountedAmount:N(t,(e,t)=>t.amount+e,0),appliedGiftCertificates:w(t.map(e=>({code:e.detail.code,discountedAmount:e.amount,remainingBalance:e.detail.remaining,giftCertificate:{balance:e.amount+e.detail.remaining,code:e.detail.code,purchaseDate:""}})),"code")}}function il(e,t={}){const n=l(e,rl);return n?{id:n.providerId,status:(i=n.detail.step,`PAYMENT_STATUS_${i}`),helpText:n.detail.instructions,returnUrl:t.returnUrl}:{};var i}function rl(e){return"giftcertificate"!==e.providerId&&"storecredit"!==e.providerId}function ol(e){const t={};return[...e.lineItems.physicalItems,...e.lineItems.digitalItems].forEach(e=>{var n;t[e.id]=(n=e,["fb","tw","gp"].reduce((e,t)=>{const i=n.socialMedia&&l(n.socialMedia,e=>e.code===t);return i?(e[t]={name:n.name,description:n.name,image:n.imageUrl,url:i.link,shareText:i.text,sharingLink:i.link,channelName:i.channel,channelCode:i.code},e):e},{}))}),t}function al(e,t){return{description:e.description,module:e.type,price:e.cost,id:e.id,selected:t,isRecommended:e.isRecommended,imageUrl:e.imageUrl,transitTime:e.transitTime}}class sl{constructor(){this._cardExpiryFormatter=new Qu,this._cardNumberFormatter=new Xu}transform(e,t){const n=t.billingAddress.getBillingAddress(),i=t.checkout.getCheckout(),r=t.customer.getCustomer(),o=t.order.getOrder(),a=t.paymentMethods.getPaymentMethod(e.methodId,e.gatewayId),s=this._mapShippingAddress(t,a),d=t.consignments.getConsignments(),c=t.consignments.getShippingOption(),u=t.config.getStoreConfig(),l=t.config.getContextConfig(),h=t.instruments.getInstrumentsMeta(),p=t.paymentMethods.getPaymentMethodsMeta(),g=t.order.getOrderMeta(),m=r&&n&&Ju(r,n),y=h&&e.paymentData&&(Tu(e.paymentData)||function(e){const t=e.formattedPayload;return!!t&&("string"==typeof t.bigpay_token||Boolean(t.bigpay_token&&t.bigpay_token.token))}(e.paymentData))?`${t.payment.getPaymentToken()}, ${h.vaultAccessToken}`:t.payment.getPaymentToken();if(!y)throw new ir(nr.MissingPaymentToken);return{additionalAction:e.additionalAction,authToken:y,customer:m,billingAddress:n&&ju(n),shippingAddress:s&&ju(s,d),shippingOption:c&&al(c,!0),cart:i&&Ku(i),order:o&&el(o,g),orderMeta:g,payment:e.paymentData,paymentMethod:a&&this._transformPaymentMethod(a),quoteMeta:{request:Object.assign(Object.assign({},p),{geoCountryCode:l&&l.geoCountryCode})},source:"bigcommerce-checkout-js-sdk",store:D(u&&u.storeProfile,["storeHash","storeId","storeLanguage","storeName"])}}transformWithHostedFormData(e,t,n){const{additionalAction:i,authToken:r,checkout:o,config:a,order:s,orderMeta:d,payment:c={},paymentMethod:u,paymentMethodMeta:l}=t,h=o&&o.consignments[0],p=h&&h.shippingAddress,g=h&&h.selectedShippingOption;return{additionalAction:i,authToken:r,paymentMethod:u&&this._transformPaymentMethod(u),customer:s&&s.billingAddress&&o&&Ju(o.customer,s.billingAddress),billingAddress:s&&s.billingAddress&&ju(s.billingAddress),shippingAddress:p&&o&&ju(p,o.consignments),shippingOption:g&&al(g,!0),cart:o&&Ku(o),order:s&&el(s,d),orderMeta:d,payment:this._transformHostedInputValues(e,c,n),quoteMeta:{request:Object.assign(Object.assign({},l),{geoCountryCode:a&&a.context.geoCountryCode})},source:"bigcommerce-checkout-js-sdk",store:a&&D(a.storeConfig.storeProfile,["storeHash","storeId","storeLanguage","storeName"])}}_transformPaymentMethod(e){if("multi-option"===e.method&&!e.gateway)return Object.assign(Object.assign({},e),{gateway:e.id});if(e.initializationData&&e.initializationData.gateway)return Object.assign(Object.assign({},e),{id:e.initializationData.gateway});if("worldpayaccess"===e.gateway){if("credit_card"===e.id)return Object.assign(Object.assign({},e),{id:"worldpayaccess",method:"credit-card"});if("open_banking"===e.id)return Object.assign(Object.assign({},e),{id:"worldpayaccess",method:"open_banking"})}return e.id===Zu.BRAINTREE_VENMO?Object.assign(Object.assign({},e),{id:Zu.BRAINTREE_PAYPAL}):e}_transformHostedInputValues(e,t,n){return"instrumentId"in t?Object.assign(Object.assign({},t),{ccCvv:e.cardCodeVerification,ccNumber:e.cardNumberVerification&&this._cardNumberFormatter.unformat(e.cardNumberVerification),hostedFormNonce:n}):Object.assign(Object.assign({},t),{ccCvv:e.cardCode,ccExpiry:this._cardExpiryFormatter.toObject(e.cardExpiry||""),ccName:e.cardName||"",ccNumber:this._cardNumberFormatter.unformat(e.cardNumber||""),hostedFormNonce:n})}_mapShippingAddress(e,t){var n,i,r,o;if(t){const a=null===(i=null===(n=t.initializationData)||void 0===n?void 0:n.bopis)||void 0===i?void 0:i.enabled,s=null===(o=null===(r=t.initializationData)||void 0===r?void 0:r.bopis)||void 0===o?void 0:o.requiredAddress,d=e.consignments.getConsignments(),c=null==d?void 0:d.every(e=>e.selectedPickupOption);if(a&&c&&"none"===s)return}return e.shippingAddress.getShippingAddress()}}class dl{widgetInteraction(e,t){const n={methodId:t&&t.methodId};return H(J(o(qn.WidgetInteractionStarted,void 0,n)),W(()=>e().then(()=>o(qn.WidgetInteractionFinished,void 0,n)))).pipe(X(e=>Oc(qn.WidgetInteractionFailed,e,n)))}}class cl{updatePaymentProviderCustomer(e){return J(o(ei.UpdatePaymentProviderCustomer,e))}}class ul{constructor(e,t){this._remoteCheckoutRequestSender=e,this._checkoutActionCreator=t}initializeBilling(e,t,n){return G.create(i=>{i.next(o(ri.InitializeRemoteBillingRequested,void 0,{methodId:e})),this._remoteCheckoutRequestSender.initializeBilling(e,t,n).then(({body:t={}})=>{i.next(o(ri.InitializeRemoteBillingSucceeded,t,{methodId:e})),i.complete()}).catch(t=>{i.error(s(ri.InitializeRemoteBillingFailed,t,{methodId:e}))})})}initializeShipping(e,t,n){return G.create(i=>{i.next(o(ri.InitializeRemoteShippingRequested,void 0,{methodId:e})),this._remoteCheckoutRequestSender.initializeShipping(e,t,n).then(({body:t={}})=>{i.next(o(ri.InitializeRemoteShippingSucceeded,t,{methodId:e})),i.complete()}).catch(t=>{i.error(s(ri.InitializeRemoteShippingFailed,t,{methodId:e}))})})}initializePayment(e,t,n){return G.create(i=>{i.next(o(ri.InitializeRemotePaymentRequested,void 0,{methodId:e})),this._remoteCheckoutRequestSender.initializePayment(e,t,n).then(({body:t={}})=>{i.next(o(ri.InitializeRemotePaymentSucceeded,t,{methodId:e})),i.complete()}).catch(t=>{i.error(s(ri.InitializeRemotePaymentFailed,t,{methodId:e}))})})}loadSettings(e,t){return G.create(n=>{n.next(o(ri.LoadRemoteSettingsRequested,void 0,{methodId:e})),this._remoteCheckoutRequestSender.loadSettings(e,t).then(({body:t})=>{n.next(o(ri.LoadRemoteSettingsSucceeded,t,{methodId:e})),n.complete()}).catch(t=>{n.error(s(ri.LoadRemoteSettingsFailed,t,{methodId:e}))})})}signOut(e,t){return G.create(n=>{n.next(o(ri.SignOutRemoteCustomerRequested,void 0,{methodId:e})),this._remoteCheckoutRequestSender.signOut(e,t).then(()=>{n.next(o(ri.SignOutRemoteCustomerSucceeded,void 0,{methodId:e})),n.complete()}).catch(t=>{n.error(s(ri.SignOutRemoteCustomerFailed,t,{methodId:e}))})})}forgetCheckout(e,t){return H(J(o(ri.ForgetCheckoutRemoteCustomerRequested,void 0,{methodId:e})),W(()=>{return n=this,i=void 0,a=function*(){return yield this._remoteCheckoutRequestSender.forgetCheckout(t),yield this._checkoutActionCreator.loadCurrentCheckout(),o(ri.ForgetCheckoutRemoteCustomerSucceeded,void 0,{methodId:e})},new((r=void 0)||(r=Promise))(function(e,t){function o(e){try{d(a.next(e))}catch(e){t(e)}}function s(e){try{d(a.throw(e))}catch(e){t(e)}}function d(t){var n;t.done?e(t.value):(n=t.value,n instanceof r?n:new r(function(e){e(n)})).then(o,s)}d((a=a.apply(n,i||[])).next())});var n,i,r,a})).pipe(X(t=>Oc(ri.ForgetCheckoutRemoteCustomerFailed,t,{methodId:e})))}updateCheckout(e,t){return o(ri.UpdateRemoteCheckout,t,{methodId:e})}}class ll{constructor(e){this._requestSender=e}initializeBilling(e,t,{timeout:n}={}){const i=`/remote-checkout/${e}/billing`;return this._requestSender.get(i,{params:t,timeout:n,headers:_c})}initializeShipping(e,t,{timeout:n}={}){const i=`/remote-checkout/${e}/shipping`;return this._requestSender.get(i,{params:t,timeout:n,headers:_c})}initializePayment(e,t,{timeout:n}={}){const i=`/remote-checkout/${e}/payment`;return this._requestSender.get(i,{params:t,timeout:n,headers:_c})}loadSettings(e,{timeout:t}={}){const n=`/remote-checkout/${e}/settings`;return this._requestSender.get(n,{timeout:t,headers:_c})}signOut(e,{timeout:t}={}){const n=`/remote-checkout/${e}/signout`;return this._requestSender.get(n,{timeout:t,headers:_c})}generateToken({timeout:e}={}){return this._requestSender.get("/remote-checkout-token",{timeout:e,headers:_c})}trackAuthorizationEvent({timeout:e}={}){return this._requestSender.post("/remote-checkout/events/shopper-checkout-service-provider-authorization-requested",{timeout:e,headers:_c})}forgetCheckout({timeout:e}={}){return this._requestSender.post("/remote-checkout/forget-checkout",{timeout:e,headers:_c})}}class hl{constructor(e,t){this._consignmentRequestSender=e,this._checkoutRequestSender=t}unassignItemsByAddress(e,t){return n=>{const i=n.getState();if(!i.checkout.getCheckout())throw new ir(nr.MissingCheckout);const r=this._consignmentHasAddress(e)?e.address:e.shippingAddress,o=i.consignments.getConsignmentByAddress(r);if(!o)throw new iu("No consignment found for the specified address");const a=this._removeLineItems(e.lineItems,o,i.cart.getCart());return a.length?this.updateConsignment({id:o.id,address:r,lineItems:a},t)(n):this.deleteConsignment(o.id,t)(n)}}assignItemsByAddress(e,t){return n=>{const i=n.getState(),r=this._consignmentHasAddress(e)?e.address:e.shippingAddress,o=i.consignments.getConsignmentByAddress(r);return this._createOrUpdateConsignment({id:o&&o.id,address:r,lineItems:this._addLineItems(e.lineItems,o,i.cart.getCart())},t)(n)}}selectShippingOption(e,t){return n=>G.create(i=>{const r=n.getState(),a=r.checkout.getCheckout(),d=r.consignments.getConsignments();if(!a)throw new ir(nr.MissingCheckout);if(!d||!d.length)throw new ir(nr.MissingConsignments);const c={id:d[0].id,shippingOptionId:e},u={id:d[0].id};i.next(o(at.UpdateShippingOptionRequested,void 0,u)),this._consignmentRequestSender.updateConsignment(a.id,c,Ec(n,t)).then(({body:e})=>{i.next(o(at.UpdateShippingOptionSucceeded,e,u)),i.complete()}).catch(e=>{i.error(s(at.UpdateShippingOptionFailed,e,u))})})}loadShippingOptions(e){return t=>G.create(n=>{const i=t.getState().checkout.getCheckout();if(!i)throw new ir(nr.MissingCheckout);n.next(o(at.LoadShippingOptionsRequested)),this._checkoutRequestSender.loadCheckout(i.id,Ec(t,Object.assign(Object.assign({},e),{params:{include:[vc.AvailableShippingOptions]}}))).then(({body:e})=>{n.next(o(at.LoadShippingOptionsSucceeded,e)),n.complete()}).catch(e=>{n.error(s(at.LoadShippingOptionsFailed,e))})})}updateAddress(e,t){return n=>{const i=this._getUpdateAddressRequestBody(e,n),r=n.getState().consignments.getConsignments();return r&&r.length&&(i.id=r[0].id),this._createOrUpdateConsignment(i,t)(n)}}createConsignments(e,t){return n=>G.create(i=>{const r=n.getState().checkout.getCheckout();if(!r||!r.id)throw new ir(nr.MissingCheckout);i.next(o(at.CreateConsignmentsRequested)),this._consignmentRequestSender.createConsignments(r.id,e,Ec(n,t)).then(({body:e})=>{i.next(o(at.CreateConsignmentsSucceeded,e)),i.complete()}).catch(e=>{i.error(s(at.CreateConsignmentsFailed,e))})})}updateConsignment(e,t){return n=>G.create(i=>{const r=n.getState().checkout.getCheckout();if(!r||!r.id)throw new ir(nr.MissingCheckout);const a={id:e.id};i.next(o(at.UpdateConsignmentRequested,void 0,a)),this._consignmentRequestSender.updateConsignment(r.id,e,Ec(n,t)).then(({body:e})=>{i.next(o(at.UpdateConsignmentSucceeded,e,a)),i.complete()}).catch(e=>{i.error(s(at.UpdateConsignmentFailed,e,a))})})}deleteConsignment(e,t){return n=>G.create(i=>{const r=n.getState().checkout.getCheckout(),a={id:e};if(!r||!r.id)throw new ir(nr.MissingCheckout);i.next(o(at.DeleteConsignmentRequested,void 0,a)),this._consignmentRequestSender.deleteConsignment(r.id,e,Ec(n,t)).then(({body:e})=>{i.next(o(at.DeleteConsignmentSucceeded,e,a)),i.complete()}).catch(e=>{i.error(s(at.DeleteConsignmentFailed,e,a))})})}updateShippingOption(e,t){return n=>G.create(i=>{var r;const a=n.getState().checkout.getCheckout(),d=n.getState().consignments.getConsignmentById(e.id);if((null===(r=null==d?void 0:d.selectedShippingOption)||void 0===r?void 0:r.id)===e.shippingOptionId)return void i.complete();if(!a||!a.id)throw new ir(nr.MissingCheckout);const c={id:e.id};i.next(o(at.UpdateShippingOptionRequested,void 0,c)),this._consignmentRequestSender.updateConsignment(a.id,e,Ec(n,t)).then(({body:e})=>{i.next(o(at.UpdateShippingOptionSucceeded,e,c)),i.complete()}).catch(e=>{i.error(s(at.UpdateShippingOptionFailed,e,c))})})}_createOrUpdateConsignment(e,t){return n=>{const i=n.getState().checkout.getCheckout();if(!i||!i.id)throw new ir(nr.MissingCheckout);return this._isUpdateConsignmentRequest(e)?this.updateConsignment(e,t)(n):this.createConsignments([e],t)(n)}}_getUpdateAddressRequestBody(e,t){const n=t.getState().cart.getCart();if(!n)throw new ir(nr.MissingCart);const{physicalItems:i,customItems:r=[]}=n.lineItems;return{address:e,lineItems:[...i,...r].map(e=>({itemId:e.id,quantity:e.quantity}))}}_removeLineItems(e,t,n){if(!n)throw new ir(nr.MissingCart);return this._hydrateLineItems(t.lineItemIds,n).map(t=>{const n=l(e,e=>e.itemId===t.itemId);return Object.assign(Object.assign({},t),{quantity:n?t.quantity-n.quantity:t.quantity})}).filter(e=>e.quantity>0)}_addLineItems(e,t,n){if(!t)return e;if(!n)throw new ir(nr.MissingCart);return e.concat(this._hydrateLineItems(t.lineItemIds,n)).filter(e=>e.quantity>0)}_hydrateLineItems(e,t){return e.map(e=>{const n=l(t.lineItems.physicalItems,t=>t.id===e);return{itemId:e,quantity:n?n.quantity:0}})}_isUpdateConsignmentRequest(e){return!!e.id}_consignmentHasAddress(e){return"object"==typeof e&&"address"in e}}function pl(e){return Object.assign(Object.assign(Object.assign({},e),e.address&&{address:kc(e.address)}),e.shippingAddress&&{shippingAddress:kc(e.shippingAddress)})}const gl=["consignments.availableShippingOptions","cart.lineItems.physicalItems.options","cart.lineItems.physicalItems.stockPosition","cart.lineItems.digitalItems.options","cart.lineItems.digitalItems.stockPosition","customer","promotions.banners"];class ml{constructor(e){this._requestSender=e}createConsignments(e,t,{timeout:n,params:{include:i}={}}={}){const r=`/api/storefront/checkouts/${e}/consignments`,o=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.post(r,{body:t.map(pl),params:{include:Mc(gl,i)},headers:o,timeout:n}).catch(e=>{if("empty_cart"===e.body.type)throw new Rc;throw e})}updateConsignment(e,t,{timeout:n,params:{include:i}={}}={}){const{id:r}=t,o=`/api/storefront/checkouts/${e}/consignments/${r}`,a=pl(function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]])}return n}(t,["id"])),s=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.put(o,{body:a,params:{include:Mc(gl,i)},headers:s,timeout:n}).catch(e=>{if("empty_cart"===e.body.type)throw new Rc;throw e})}deleteConsignment(e,t,{timeout:n,params:{include:i}={}}={}){const r=`/api/storefront/checkouts/${e}/consignments/${t}`,o=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.delete(r,{params:{include:Mc(gl,i)},headers:o,timeout:n}).catch(e=>{if("empty_cart"===e.body.type)throw new Rc;throw e})}}class yl{constructor(e,t,n){this._shippingCountryRequestSender=e,this._store=t,this._countryRequestSender=n}loadCountries(e){const{checkout:t}=this._store.getState(),n=t.getCheckout(),i=n?n.channelId:null;return G.create(t=>{t.next(o(Ci.LoadShippingCountriesRequested)),this._shippingCountryRequestSender.loadCountries(i,e).then(e=>{t.next(o(Ci.LoadShippingCountriesSucceeded,e.body.data)),t.complete()}).catch(n=>{if(n&&n.status>=500)return this._countryRequestSender.loadCountries(e).then(e=>{t.next(o(Ci.LoadShippingCountriesSucceeded,e.body.data)),t.complete()}).catch(()=>{t.error(s(Ci.LoadShippingCountriesFailed,n))});t.error(s(Ci.LoadShippingCountriesFailed,n))})})}}class fl{constructor(e,t){this._requestSender=e,this._config=t}loadCountries(e,{timeout:t}={}){const n="/internalapi/v1/shipping/countries"+(e?`?channel_id=${e}`:""),i=Object.assign({"Accept-Language":this._config.locale},_c);return this._requestSender.get(n,{headers:i,timeout:t})}}var _l=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Sl{constructor(e,t){this._googleRecaptcha=e,this._requestSender=t}initialize(e){return t=>H(J(o(Ki.InitializeRequested,void 0)),W(()=>_l(this,void 0,void 0,function*(){const n=e?e.containerId:"spamProtectionContainer";if(document.getElementById(n)&&this._googleRecaptcha.reset(n),!e&&!document.getElementById(n)){const e=document.createElement("div");e.setAttribute("id",n),document.body.appendChild(e)}const i=t.getState().config.getStoreConfigOrThrow().checkoutSettings.googleRecaptchaSitekey;return yield this._googleRecaptcha.load(n,i),o(Ki.InitializeSucceeded)}))).pipe(X(e=>Oc(Ki.InitializeFailed,e)))}verifyCheckoutSpamProtection(){return e=>W(()=>{const t=e.getState().checkout.getCheckout();if(!t)throw new ir(nr.MissingCheckout);return H(J(o(Ki.VerifyCheckoutRequested)),K(this.execute()(e)).pipe(oe(e=>Kc(e)&&e.payload?K(this._requestSender.validate(t.id,e.payload.token)).pipe(oe(({body:t})=>H(J(e),J(o(Ki.VerifyCheckoutSucceeded,t))))):J(e)))).pipe(X(e=>Oc(Ki.VerifyCheckoutFailed,e)))})}execute(){return e=>H(J(o(Ki.ExecuteRequested)),this.initialize()(e),this._googleRecaptcha.execute().pipe(ae(1)).pipe(oe(e=>_l(this,[e],void 0,function*({error:e,token:t}){if(e instanceof du)throw e;if(e||!t)throw new fu;return o(Ki.ExecuteSucceeded,{token:t})})))).pipe(X(e=>Oc(Ki.ExecuteFailed,e)))}}class vl{constructor(e){this._requestSender=e}validate(e,t,{timeout:n}={}){const i=`/api/storefront/checkouts/${e}/spam-protection`,r=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.post(i,{body:{token:t},headers:r,timeout:n}).catch(e=>{if("empty_cart"===e.body.type)throw new Rc;throw e})}}class Cl{constructor(e){this._storeCreditRequestSender=e}applyStoreCredit(e,t){return n=>H(J(o(Ui.ApplyStoreCreditRequested)),W(()=>{return i=this,r=void 0,s=function*(){var i;const r=n.getState().checkout.getCheckout();if(!r)throw new ir(nr.MissingCheckout);const{id:a}=r,s=null!==(i=null==t?void 0:t.version)&&void 0!==i?i:r.version,{body:d}=yield e?this._storeCreditRequestSender.applyStoreCredit(a,Object.assign(Object.assign({},t),{version:s})):this._storeCreditRequestSender.removeStoreCredit(a,Object.assign(Object.assign({},t),{version:s}));return o(Ui.ApplyStoreCreditSucceeded,d)},new((a=void 0)||(a=Promise))(function(e,t){function n(e){try{d(s.next(e))}catch(e){t(e)}}function o(e){try{d(s.throw(e))}catch(e){t(e)}}function d(t){var i;t.done?e(t.value):(i=t.value,i instanceof a?i:new a(function(e){e(i)})).then(n,o)}d((s=s.apply(i,r||[])).next())});var i,r,a,s})).pipe(X(e=>Oc(Ui.ApplyStoreCreditFailed,e)))}}class Il{constructor(e){this._requestSender=e}applyStoreCredit(e,{timeout:t,version:n}={}){const i=`/api/storefront/checkouts/${e}/store-credit`,r=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.post(i,{headers:r,timeout:t,params:{include:Dc(Fc)},body:{version:n}})}removeStoreCredit(e,{timeout:t,version:n}={}){const i=`/api/storefront/checkouts/${e}/store-credit`,r=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.delete(i,{headers:r,timeout:t,params:{include:Dc(Fc)},body:{version:n}})}}class wl extends Oe{constructor(e){super(e),this.name="UpdateSubscriptionsError",this.type="update_subscriptions"}}class bl{constructor(e){this._subscriptionsRequestSender=e}updateSubscriptions(e,t){return H(J(o(Ye.UpdateSubscriptionsRequested)),W(()=>{return n=this,i=void 0,a=function*(){const{body:n}=yield this._subscriptionsRequestSender.updateSubscriptions(e,t);return o(Ye.UpdateSubscriptionsSucceeded,n)},new((r=void 0)||(r=Promise))(function(e,t){function o(e){try{d(a.next(e))}catch(e){t(e)}}function s(e){try{d(a.throw(e))}catch(e){t(e)}}function d(t){var n;t.done?e(t.value):(n=t.value,n instanceof r?n:new r(function(e){e(n)})).then(o,s)}d((a=a.apply(n,i||[])).next())});var n,i,r,a})).pipe(X(e=>Oc(Ye.UpdateSubscriptionsFailed,new wl(e))))}}class El{constructor(e){this._requestSender=e}updateSubscriptions(e,{timeout:t}={}){const n=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.post("/api/storefront/subscriptions",{body:e,headers:n,timeout:t})}}const Pl=A(e=>Array.isArray(e)?e.map(e=>Ol(e)):tt(e)?Object.keys(e).reduce((t,n)=>Object.assign(Object.assign({},t),{[n]:Ol(e[n])}),{}):e);Pl.cache=new WeakMap;const Ol=e=>"object"==typeof e&&null!==e?Pl(e):e;function Al(e){return(...t)=>Ol(e(...t))}function Tl({billingAddress:{getBillingAddress:e,getBillingAddressOrThrow:t},cart:{getCart:n,getCartOrThrow:i,getLocale:r},checkout:{getCheckout:o,getCheckoutOrThrow:a,getOutstandingBalance:s},config:{getContextConfig:d,getHost:c,getLocale:u,getStoreConfig:l,getStoreConfigOrThrow:h,getConfig:p},consignments:{getConsignments:g,getConsignmentsOrThrow:m},countries:{getCountries:y},customer:{getCustomer:f,getCustomerOrThrow:_},instruments:{getCardInstrument:S,getCardInstrumentOrThrow:v,getInstruments:C,getInstrumentsMeta:I},order:{getOrder:w,getOrderOrThrow:b,getOrderMeta:E},payment:{getPaymentToken:P,getPaymentTokenOrThrow:O,getPaymentId:A,getPaymentIdOrThrow:T,getPaymentStatus:k,getPaymentStatusOrThrow:R,getPaymentRedirectUrl:D,getPaymentRedirectUrlOrThrow:M,isPaymentDataRequired:N},paymentMethods:{getPaymentMethod:L,getPaymentMethodOrThrow:z,getPaymentMethodsMeta:B},paymentProviderCustomer:{getPaymentProviderCustomer:F,getPaymentProviderCustomerOrThrow:U},paymentStrategies:{isInitialized:x},shippingAddress:{getShippingAddress:q,getShippingAddressOrThrow:j,getShippingAddresses:G,getShippingAddressesOrThrow:V},shippingCountries:{getShippingCountries:H}}){return{getHost:Al(c),getLocale:Al(u),getCartLocale:Al(r),getBillingAddress:Al(e),getBillingAddressOrThrow:Al(t),getCart:Al(n),getCartOrThrow:Al(i),getCheckout:Al(o),getCheckoutOrThrow:Al(a),getCountries:Al(y),getStoreConfig:Al(l),getStoreConfigOrThrow:Al(h),getConfig:Al(p),getConsignments:Al(g),getConsignmentsOrThrow:Al(m),getContextConfig:Al(d),getCustomer:Al(f),getCustomerOrThrow:Al(_),getCardInstrument:Al(S),getInstruments:Al(C),getCardInstrumentOrThrow:Al(v),getOrder:Al(w),getOrderOrThrow:Al(b),getOrderMeta:Al(E),getInstrumentsMeta:Al(I),getPaymentToken:P,getPaymentTokenOrThrow:O,getPaymentId:A,getPaymentIdOrThrow:T,getPaymentStatus:k,getPaymentStatusOrThrow:R,getPaymentRedirectUrl:D,getPaymentRedirectUrlOrThrow:M,getPaymentMethod:Al(L),getPaymentMethodOrThrow:Al(z),getPaymentMethodsMeta:Al(B),getPaymentProviderCustomer:Al(F),getPaymentProviderCustomerOrThrow:Al(U),getShippingAddress:Al(q),getShippingAddressOrThrow:Al(j),getShippingAddresses:Al(G),getShippingAddressesOrThrow:Al(V),getShippingCountries:Al(H),getOutstandingBalance:Al(s),isPaymentDataRequired:N,isPaymentMethodInitialized:x}}var kl,Rl=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Dl{constructor(e,t,n,i,r,o,a,s,d,c,u,l,h,p,g,m,y,f,_,S){this._store=e,this._storeProjectionFactory=t,this._checkoutActionCreator=n,this._checkoutValidator=i,this._hostedFormFactory=r,this._orderActionCreator=o,this._billingAddressActionCreator=a,this._consignmentActionCreator=s,this._paymentMethodActionCreator=d,this._paymentActionCreator=c,this._paymentHumanVerificationHandler=u,this._customerActionCreator=l,this._cartRequestSender=h,this._storeCreditActionCreator=p,this._couponActionCreator=g,this._spamProtectionActionCreator=m,this._paymentProviderCustomerActionCreator=y,this._shippingCountryActionCreator=f,this._remoteCheckoutActionCreator=_,this._paymentStrategyWidgetActionCreator=S,this._storeProjection=this._storeProjectionFactory.create(this._store)}createHostedForm(e,t){const n=this._storeProjection.getState().getCheckoutOrThrow().id;return this._hostedFormFactory.create(e,t,n)}subscribe(e,...t){return this._storeProjection.subscribe(e,...t)}getState(){return this._storeProjection.getState()}initializeOffsitePayment(e){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._paymentActionCreator.initializeOffsitePayment(e)),this._storeProjection.getState()})}loadCheckout(e){return Rl(this,void 0,void 0,function*(){return e?yield this._store.dispatch(this._checkoutActionCreator.loadCheckout(e)):yield this._store.dispatch(this._checkoutActionCreator.loadCurrentCheckout()),this._storeProjection.getState()})}loadDefaultCheckout(){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._checkoutActionCreator.loadDefaultCheckout()),this._storeProjection.getState()})}loadPaymentMethod(e,t){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._paymentMethodActionCreator.loadPaymentMethod(e,t)),this._storeProjection.getState()})}loadPaymentMethods(e){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._paymentMethodActionCreator.loadPaymentMethods(e)),this._storeProjection.getState()})}submitOrder(e,t){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._orderActionCreator.submitOrder(e,t)),this._storeProjection.getState()})}submitPayment(e){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._paymentActionCreator.submitPayment(e)),this._storeProjection.getState()})}finalizeOrder(e){return Rl(this,void 0,void 0,function*(){const{order:{getOrderOrThrow:t}}=this._store.getState();return yield this._store.dispatch(this._orderActionCreator.finalizeOrder(t().orderId,e)),this._storeProjection.getState()})}updateBillingAddress(e){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._billingAddressActionCreator.updateAddress(e)),this._storeProjection.getState()})}updateShippingAddress(e){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._consignmentActionCreator.updateAddress(e)),this._storeProjection.getState()})}selectShippingOption(e,t){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._consignmentActionCreator.selectShippingOption(e,t)),this._storeProjection.getState()})}signInCustomer(e,t){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._customerActionCreator.signInCustomer(e,t)),this._storeProjection.getState()})}signOutCustomer(e){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._customerActionCreator.signOutCustomer(e)),this._storeProjection.getState()})}createBuyNowCart(e,t){return Rl(this,void 0,void 0,function*(){const{body:n}=yield this._cartRequestSender.createBuyNowCart(e,t);return n})}applyStoreCredit(e,t){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._storeCreditActionCreator.applyStoreCredit(e,t)),this._storeProjection.getState()})}applyCoupon(e,t){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._couponActionCreator.applyCoupon(e,t)),this._storeProjection.getState()})}removeCoupon(e,t){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._couponActionCreator.removeCoupon(e,t)),this._storeProjection.getState()})}verifyCheckoutSpamProtection(){return Rl(this,void 0,void 0,function*(){const{checkout:e}=this._store.getState(),{shouldExecuteSpamCheck:t}=e.getCheckoutOrThrow();return t&&(yield this._store.dispatch(this._spamProtectionActionCreator.verifyCheckoutSpamProtection())),this._storeProjection.getState()})}loadCurrentOrder(e){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._orderActionCreator.loadCurrentOrder(e)),this._storeProjection.getState()})}updatePaymentProviderCustomer(e){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._paymentProviderCustomerActionCreator.updatePaymentProviderCustomer(e)),this._storeProjection.getState()})}loadShippingCountries(e){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._shippingCountryActionCreator.loadCountries(e)),this._storeProjection.getState()})}deleteConsignment(e,t){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._consignmentActionCreator.deleteConsignment(e,t)),this._storeProjection.getState()})}initializePayment(e,t,n){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._remoteCheckoutActionCreator.initializePayment(e,t,n)),this._storeProjection.getState()})}forgetCheckout(e,t){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._remoteCheckoutActionCreator.forgetCheckout(e,t)),this._storeProjection.getState()})}remoteCheckoutSignOut(e,t){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._remoteCheckoutActionCreator.signOut(e,t)),this._storeProjection.getState()})}validateCheckout(e,t){return Rl(this,void 0,void 0,function*(){yield this._checkoutValidator.validate(e,t)})}handlePaymentHumanVerification(e,t){return Rl(this,void 0,void 0,function*(){return"string"==typeof e?this._paymentHumanVerificationHandler.handle(e,null!=t?t:""):this._paymentHumanVerificationHandler.handle(e)})}widgetInteraction(e){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._paymentStrategyWidgetActionCreator.widgetInteraction(e),{queueId:"widgetInteraction"}),this._storeProjection.getState()})}}!function(e){e.Synchronize="SYNCHRONIZE"}(kl||(kl={}));class Ml{constructor(e){this._transformSelectors=e}create(e){return function(e,t){const n=a((e,t)=>t.type===kl.Synchronize?t.payload:e,e.getState(),{stateTransformer:t});return e.subscribe(e=>{n.dispatch(o(kl.Synchronize,e))},{initial:!1}),n}(e,this._transformSelectors)}}const Nl=e=>{const t=x(e);return document.getElementById(t)?Nl(e):t};function Ll(e){return Object.prototype.hasOwnProperty.call(e,"cacheKey")}class zl{constructor(e){this._lastId=0,this._map={maps:[]},this._usedMaps=[],this._options=Object.assign({maxSize:0,isEqual:_e,onExpire:T},e)}getKey(...e){const t=this._resolveMap(...e),{index:n,parentMap:i}=t;let{map:r}=t;return r&&r.cacheKey?r.usedCount++:r=this._generateMap(i,e.slice(n)),this._removeLeastUsedMap(r),r.cacheKey}getUsedCount(...e){const{map:t}=this._resolveMap(...e);return t?t.usedCount:0}_resolveMap(...e){let t=0,n=this._map;for(;n.maps.length;){let i=!1;for(let r=0;r<n.maps.length;r++){const o=n.maps[r];if(this._options.isEqual(o.value,e[t])){if(n.maps.unshift(...n.maps.splice(r,1)),(0===e.length||t===e.length-1)&&Ll(o))return{index:t,map:o,parentMap:n};i=!0,n=o,t++;break}}if(!i)break}return{index:t,parentMap:n}}_generateMap(e,t){let n,i=0,r=e;do{n={maps:[],parentMap:r,usedCount:1,value:t[i]},r.maps.unshift(n),r=n,i++}while(i<t.length);const o=n;return o.cacheKey=""+ ++this._lastId,o}_removeLeastUsedMap(e){if(!this._options.maxSize)return;const t=this._usedMaps.indexOf(e);if(this._usedMaps.splice(-1===t?0:t,-1===t?0:1,e),this._usedMaps.length<=this._options.maxSize)return;const n=this._usedMaps.pop();n&&(this._removeMap(n),this._options.onExpire(n.cacheKey))}_removeMap(e){e.parentMap&&(e.parentMap.maps.splice(e.parentMap.maps.indexOf(e),1),function(e){return Object.prototype.hasOwnProperty.call(e,"parentMap")}(e.parentMap)||this._removeMap(e.parentMap))}}function Bl(e){const t=class extends e{};return Object.getOwnPropertyNames(e.prototype).forEach(n=>{const i=Object.getOwnPropertyDescriptor(e.prototype,n);i&&"constructor"!==n&&Object.defineProperty(t.prototype,n,function(e,t,n){if("function"!=typeof n.value)return n;let i=new zl,r=n.value,o=se(r);return Ra(e,t,{get(){const e=(...e)=>{const t=o.call(this,...e);if(1===i.getUsedCount(...e))return t;const n=r.call(this,...e);return Fe(n,t,{keyFilter:e=>!function(e){return 0===`${e}`.indexOf("$$")||0===`${e}`.indexOf("_")}(e)})?t:(o.cache.set(i.getKey(...e),n),n)};return Object.defineProperty(this,t,Object.assign(Object.assign({},n),{value:e})),e},set(e){i=new zl,r=e,o=se(r)}})}(e.prototype,n,i))}),t}let Fl=class{constructor(e){this._checkoutButton=e.checkoutButton}getInitializeButtonError(e){return this._checkoutButton.getInitializeError(e)}getDeinitializeButtonError(e){return this._checkoutButton.getDeinitializeError(e)}};Fl=function(e,t,n,i){var r,o=arguments.length,a=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(a=(o<3?r(a):o>3?r(t,n,a):r(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a}([Bl],Fl);const Ul=Fl;let xl=class{constructor(e){this._checkoutButton=e.checkoutButton}isInitializingButton(e){return this._checkoutButton.isInitializing(e)}isDeinitializingButton(e){return this._checkoutButton.isDeinitializing(e)}};xl=function(e,t,n,i){var r,o=arguments.length,a=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(a=(o<3?r(a):o>3?r(t,n,a):r(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a}([Bl],xl);const ql=xl;function jl(e){return{errors:new Ul(e),statuses:new ql(e)}}let Gl=class{constructor(e,t){this._store=e,this._buttonStrategyActionCreator=t,this._state=jl(this._store.getState()),this._store.subscribe(e=>{this._state=jl(e)})}getState(){return this._state}subscribe(e,...t){return this._store.subscribe(()=>e(this.getState()),e=>e.checkoutButton.getState(),...t.map(e=>t=>e(jl(t))))}initializeButton(e){const t=(n=e.containerId,/^\w[\w\-\:\.]*$/.test(n)?[e.containerId]:function(e,t){const n=document.querySelectorAll(e);if(!n.length)throw new iu(`Unable to find any element with the specified selector: ${e}`);return Array.prototype.slice.call(n).map(e=>(e.id||(e.id=Nl(t)),e.id))}(e.containerId,`${e.methodId}-container`));var n;return Promise.all(t.map(t=>{const n=this._buttonStrategyActionCreator.initialize(Object.assign(Object.assign({},e),{containerId:t})),i=`checkoutButtonStrategy:${e.methodId}:${t}`;return this._store.dispatch(n,{queueId:i})})).then(()=>this.getState())}deinitializeButton(e){const t=this._buttonStrategyActionCreator.deinitialize(e),n=`checkoutButtonStrategy:${e.methodId}`;return this._store.dispatch(t,{queueId:n}).then(()=>this.getState())}};Gl=function(e,t,n,i){var r,o=arguments.length,a=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(a=(o<3?r(a):o>3?r(t,n,a):r(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a}([Ra],Gl);const Vl=Gl;class Hl{constructor(e,t,n){this._registry=e,this._registryV2=t,this._paymentMethodActionCreator=n}initialize(e){return t=>{const n={methodId:e.methodId,containerId:e.containerId};if(t.getState().checkoutButton.isInitialized(e.methodId,e.containerId))return Y();const i=e.currencyCode?{params:{currencyCode:e.currencyCode}}:{},r=Object.assign(Object.assign({},i),{timeout:e.timeout,useCache:!0});return H(J(o(ht.InitializeButtonRequested,void 0,n)),this._paymentMethodActionCreator.loadPaymentMethod(e.methodId,r)(t),W(()=>this._getStrategy(e.methodId).initialize(e).then(()=>o(ht.InitializeButtonSucceeded,void 0,n)))).pipe(X(e=>Oc(ht.InitializeButtonFailed,e,n)))}}deinitialize(e){return t=>{const n={methodId:e.methodId};return t.getState().checkoutButton.isInitialized(e.methodId)?H(J(o(ht.DeinitializeButtonRequested,void 0,n)),W(()=>this._getStrategy(e.methodId).deinitialize().then(()=>o(ht.DeinitializeButtonSucceeded,void 0,n)))).pipe(X(e=>Oc(ht.DeinitializeButtonFailed,e,n))):Y()}}_getStrategy(e){let t;try{t=this._registryV2.get({id:e})}catch(n){t=this._registry.get(e)}return t}}class Wl{constructor(e){var t,n,i;this._factories={},this._instances={},this._defaultToken=null!==(t=null==e?void 0:e.defaultToken)&&void 0!==t?t:"default",this._useFallback=null===(n=null==e?void 0:e.useFallback)||void 0===n||n,this._tokenResolver=null!==(i=null==e?void 0:e.tokenResolver)&&void 0!==i?i:e=>e}get(e,t){try{return this._getInstance(e||this._defaultToken,t||e||this._defaultToken)}catch(e){if(!this._useFallback)throw e;return this._getInstance(this._defaultToken,t||this._defaultToken)}}getFactory(e,t){const n=this._tokenResolver(e,Object.keys(this._factories),t);return n?this._factories[n]:void 0}register(e,t){if(this._hasFactory(e))throw new iu(`'${e}' is already registered.`);this._factories[e]=t}_hasFactory(e){return!!this._factories[e]}_hasInstance(e){return!!this._instances[e]}_getInstance(e,t){if(!this._hasInstance(t)){const n=this.getFactory(e);if(!n)throw new iu(`'${e}' is not registered.`);this._instances[t]=n()}return this._instances[t]}}class Yl extends Ee{constructor(e){super(e||"Unable to proceed because the client library of a payment method is not loaded or ready to be used."),this.name="PaymentMethodClientUnavailableError",this.type="payment_method_client_unavailable"}}var Kl,$l,Zl,Jl,Ql;class Xl{constructor(e){this._scriptLoader=e,this._window=window}loadPaypal(){return e=this,t=arguments,i=function*(e=""){const t="//www.paypalobjects.com/api/checkout.min.js",n={async:!0,attributes:{"data-merchant-id":e}};if(e?yield this._scriptLoader.loadScript(t,n):yield this._scriptLoader.loadScript(t),!this._window.paypal)throw new Yl;return this._window.paypal},new((n=void 0)||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())});var e,t,n,i}}!function(e){e.HORIZONTAL="horizontal",e.VERTICAL="vertical"}(Kl||(Kl={})),function(e){e.SMALL="small",e.MEDIUM="medium",e.LARGE="large",e.RESPONSIVE="responsive"}($l||($l={})),function(e){e.GOLD="gold",e.BLUE="blue",e.SIlVER="silver",e.BLACK="black",e.WHITE="white"}(Zl||(Zl={})),function(e){e.CHECKOUT="checkout",e.PAY="pay",e.BUYNOW="buynow",e.PAYPAL="paypal",e.CREDIT="credit"}(Jl||(Jl={})),function(e){e.PILL="pill",e.RECT="rect"}(Ql||(Ql={}));class eh{constructor(e,t,n,i,r=""){this._store=e,this._checkoutActionCreator=t,this._paypalScriptLoader=n,this._formPoster=i,this._host=r}initialize(e){const t=e.paypal,n=this._store.getState(),i=this._paymentMethod=n.paymentMethods.getPaymentMethod(e.methodId);if(!t)throw new iu;if(!i)throw new ir(nr.MissingPaymentMethod);return this._paypalScriptLoader.loadPaypal(i.config.merchantId).then(n=>{var r,o;if(!i||!i.config.merchantId)throw new ir(nr.MissingPaymentMethod);const a=i.config.merchantId,s=i.config.testMode?"sandbox":"production",d={[s]:t.clientId},c=n.FUNDING.CREDIT||"credit",u=t.allowCredit?[c]:[],l=t.allowCredit?[]:[c];return n.Button.render({env:s,client:d,commit:t.shouldProcessPayment,funding:{allowed:u,disallowed:l},style:Object.assign(Object.assign({shape:Ql.RECT},D(t.style,"layout","color","label","shape","tagline","fundingicons")),{size:"paypalexpress"===i.id&&"small"===(null===(r=t.style)||void 0===r?void 0:r.size)?$l.RESPONSIVE:null===(o=t.style)||void 0===o?void 0:o.size}),payment:(e,n)=>this._setupPayment(a,n,t.onPaymentError),onAuthorize:(e,n)=>this._tokenizePayment(e,n,t.shouldProcessPayment,t.onAuthorizeError)},e.containerId)})}deinitialize(){return this._paymentMethod=void 0,Promise.resolve()}_setupPayment(e,t,n){if(!t)throw new yu(lu.CheckoutButtonNotInitialized);return this._store.dispatch(this._checkoutActionCreator.loadDefaultCheckout()).then(n=>{const i=n.cart.getCart(),r=i?i.id:"";return t.request.post(`${this._host}/api/storefront/payment/paypalexpress`,{merchantId:e,cartId:r},{headers:Object.assign({"X-API-INTERNAL":fc},_c)})}).then(e=>e.id).catch(e=>{throw n&&n(e),e})}_tokenizePayment(e,t,n,i){if(!this._paymentMethod)throw new yu(lu.CheckoutButtonNotInitialized);if(!t)throw new yu(lu.CheckoutButtonNotInitialized);if(!e.paymentID||!e.payerID)throw new ir(nr.MissingPayment);const r=this._paymentMethod.id;return t.payment.get(e.paymentID).then(t=>{this._formPoster.postForm("/checkout.php",{payment_type:"paypal",provider:r,action:n?"process_payment":"set_external_checkout",paymentId:e.paymentID,payerId:e.payerID,payerInfo:JSON.stringify(t.payer.payer_info)})})}}function th(e){return e&&"resolveIds"in e}function nh(){try{return"production"}catch(e){return"development"}}class ih{constructor(e){this._console=e}log(...e){this._logToConsole("log",...e)}info(...e){this._logToConsole("info",...e)}warn(...e){this._logToConsole("warn",...e)}error(...e){this._logToConsole("error",...e)}debug(...e){this._logToConsole("debug",...e)}_logToConsole(e,...t){this._console&&this._console[e]&&this._console[e].call(this._console,...t)}}class rh{log(){}info(){}warn(){}error(){}debug(){}}const oh=function(e=!0){return e?new ih(console):new rh}("test"!==nh());class ah{constructor(e=!1){this._useFallback=e,this._registry=new Wl({tokenResolver:this._resolveToken.bind(this),defaultToken:this._encodeToken({default:!0}),useFallback:this._useFallback})}get(e){return this._registry.get(this._encodeToken(e))}getFactory(e,t){try{return this._registry.getFactory(this._encodeToken(e),t)}catch(e){return}}getUseFallback(){return this._useFallback}register(e,t){this._registry.register(this._encodeToken(e),t)}_encodeToken(e){return btoa(JSON.stringify(e))}_decodeToken(e){return JSON.parse(atob(e))}_resolveToken(e,t,n){var i;const r=this._decodeToken(e),o=[];t.forEach(e=>{const t=this._decodeToken(e),n={token:e,matches:0,default:!1,totalKeys:Object.keys(t).length};for(const[e,i]of Object.entries(t)){if(e in r&&r[e]!==i){n.matches=0;break}e in r&&r[e]===i&&n.matches++,"default"===e&&!0===i&&(n.default=!0)}o.push(n)});const a=o.sort((e,t)=>t.matches-e.matches).filter(e=>e.matches>0);a.length>1&&a[0].matches===a[1].matches&&"development"===nh()&&oh.warn("The provided query matches at least two strategies with the same specificity. This warning can be resolved by making their resolve ID more specific.");const s=Object.keys(r).length;if(n){const e=a.find(e=>e.matches===s&&e.matches===e.totalKeys);if(!e)throw new Error(`Unable to resolve to a registered token with the provided token for ${JSON.stringify(r)} with exact match.`);return e.token}const d=a[0];if(d&&d.token)return d.token;if(this._useFallback){const e=null===(i=o.find(e=>e.default))||void 0===i?void 0:i.token;if(e)return e}throw new Error(`Unable to resolve to a registered token with the provided token for ${JSON.stringify(r)}.`)}}function sh(t){const{host:i}=null!=t?t:{},r=hr({config:{meta:{host:null==t?void 0:t.host,locale:null==t?void 0:t.locale},errors:{},statuses:{}}}),o=e({host:i}),a=n({host:i}),s=function(e,t){const n=new ah;for(const[,i]of Object.entries(t))if(th(i))for(const t of i.resolveIds)n.register(t,()=>i(e));return n}(function(t,n){const{config:{getHost:i,getLocale:r}}=t.getState();n||(n=e({host:i()}));const o=new Ml(Tl),a=new Bc(new xc(n),new Vc(new Hc(n)),new Jc(new Qc(n))),s=new Gc(new xc(n)),d=new Ru(t),c=new Mu(new Uu(n),new Gc(new xc(n))),u=new Tc(new Lc(n),new bl(new El(n))),l=new hl(new ml(n),new xc(n)),h=new gc(new Sc(n),new Ic(n)),p=new xu(new qu(function(e){const t=me();return e.subscribe(e=>{const n=e.config.getStoreConfig();n&&t.setHost(n.paymentSettings.bigpayBaseUrl)},e=>e.config.getStoreConfig()),t}(t)),c,new sl,new mu(Cu(le()))),g=new mu(Cu(le())),m=new $c(new Zc(n),a,new Sl(Cu(le()),new vl(n))),y=new Cl(new Il(n)),f=new Wc(new Yc(n)),_=Cu(le()),S=new vl(n),v=new Sl(_,S),C=new zc(n),I=new cl,w=new yl(new fl(n,{locale:r()}),t,new Xc(n,{locale:r()})),b=new ul(new ll(n),a),E=new dl;return new Dl(t,o,a,s,d,c,u,l,h,p,g,m,C,y,f,v,I,w,b,E)}(r),ve);return new Vl(r,new Hl(function(e,t,n,i){const r=new Wl,o=he(),a=new xc(t),s=new Bc(a,new Vc(new Hc(t)),new Jc(new Qc(t)));return r.register(Zu.PAYPALEXPRESS,()=>new eh(e,s,new Xl(o),n,i)),r}(r,o,a,i),s,new gc(new Sc(o),new Ic(o))))}export{sh as createCheckoutButtonInitializer,t as createTimeout};
|
|
1
|
+
import{createRequestSender as e,createTimeout as t}from"@bigcommerce/request-sender";import{createFormPoster as n}from"@bigcommerce/form-poster";import{combineReducers as i,composeReducers as r,createAction as o,createDataStore as a,createErrorAction as s,deepFreeze as d}from"@bigcommerce/data-store";import{difference as c,filter as u,find as l,findIndex as h,flatMap as p,identity as g,includes as m,isArray as y,isEmpty as f,isEqual as _,isMatch as S,isNil as v,isObject as C,isPlainObject as I,keyBy as w,keys as b,last as E,map as P,max as O,memoize as A,noop as T,omit as k,omitBy as R,pick as D,pickBy as M,reduce as N,round as L,some as z,transform as B,union as F,uniq as U,uniqueId as x,values as q,without as j}from"lodash";import{Observable as G,Subject as V,concat as H,defer as W,empty as Y,from as K,fromEvent as $,merge as Z,of as J,throwError as Q}from"rxjs";import{catchError as X,delay as ee,filter as te,map as ne,retryWhen as ie,shareReplay as re,switchMap as oe,take as ae}from"rxjs/operators";import{memoize as se,memoizeOne as de}from"@bigcommerce/memoize";import{createSelector as ce}from"reselect";import{ScriptLoader as ue,createScriptLoader as le,getScriptLoader as he}from"@bigcommerce/script-loader";import{stringifyUrl as pe}from"query-string";import{supportsPopups as ge}from"@braintree/browser-detection";import{createClient as me}from"@bigcommerce/bigpay-client";import{creditCardType as ye,number as fe}from"card-validator";import{default as _e}from"shallowequal";var Se={d:(e,t)=>{for(var n in t)Se.o(t,n)&&!Se.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},ve={};Se.r(ve),Se.d(ve,{createAmazonPayV2ButtonStrategy:()=>qr,createApplePayButtonStrategy:()=>vo,createBigCommercePaymentsButtonStrategy:()=>Fo,createBigCommercePaymentsPayLaterButtonStrategy:()=>qo,createBigCommercePaymentsVenmoButtonStrategy:()=>Vo,createBoltButtonStrategy:()=>Qo,createBraintreePaypalButtonStrategy:()=>ya,createBraintreePaypalCreditButtonStrategy:()=>Sa,createBraintreeVenmoButtonStrategy:()=>Aa,createBraintreeVisaCheckoutButtonStrategy:()=>Ia,createGooglePayAdyenV2ButtonStrategy:()=>_s,createGooglePayAdyenV3ButtonStrategy:()=>Ss,createGooglePayAuthorizeDotNetButtonStrategy:()=>Cs,createGooglePayBigCommercePaymentsButtonStrategy:()=>fs,createGooglePayBraintreeButtonStrategy:()=>rs,createGooglePayCheckoutComButtonStrategy:()=>Ps,createGooglePayCybersourceButtonStrategy:()=>As,createGooglePayOrbitalButtonStrategy:()=>ks,createGooglePayPayPalCommerceButtonStrategy:()=>hs,createGooglePayStripeButtonStrategy:()=>$s,createGooglePayTdOnlineMartButtonStrategy:()=>td,createGooglePayWorldpayAccessButtonStrategy:()=>Js,createLinkV2ButtonStrategy:()=>dc,createPayPalCommerceButtonStrategy:()=>Id,createPayPalCommerceCreditButtonStrategy:()=>Ed,createPayPalCommerceVenmoButtonStrategy:()=>qd,createPaypalExpressButtonStrategy:()=>Jd});class Ce extends Error{constructor(e){var t;super(e||"An unexpected error has occurred."),this.name="StandardError",this.type="standard",t=new.target.prototype,Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,new.target):this.stack=new Error(this.message).stack}}const Ie={body:{},headers:{},status:0};class we extends Ce{constructor(e,{message:t,errors:n}={}){const{body:i,headers:r,status:o}=e||Ie;super(t||"An unexpected error has occurred."),this.name="RequestError",this.type="request",this.body=i,this.headers=r,this.status=o,this.errors=n||[]}}class be extends we{constructor(e){super(e,{message:"There is a problem processing your payment. Please try again later."}),this.name="PaymentMethodInvalidError",this.type="payment_method_invalid"}}class Ee extends Error{constructor(e){var t;super(e||"An unexpected error has occurred."),this.name="StandardError",this.type="standard",t=new.target.prototype,Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,new.target):this.stack=new Error(this.message).stack}}const Pe={body:{},headers:{},status:0};class Oe extends Ee{constructor(e,{message:t,errors:n}={}){const{body:i,headers:r,status:o}=e||Pe;super(t||"An unexpected error has occurred."),this.name="RequestError",this.type="request",this.body=i,this.headers=r,this.status=o,this.errors=n||[]}}class Ae extends Oe{constructor(e,t){super(e,{message:t||"An unexpected error has occurred. The checkout process cannot continue as a result."}),this.name="UnrecoverableError",this.type="unrecoverable"}}function Te(e){return e.reduce((e,t)=>t?[...e,t]:e,[]).join(" ")}function ke(e,t){const{body:n}=e,{errors:i=[]}=n;return new Oe(e,{message:Re(i)||t,errors:i})}function Re(e){if(Array.isArray(e))return e.reduce((e,t)=>t&&t.message?[...e,t.message]:e,[]).join(" ")}class De extends Oe{constructor(e){super(e,{message:"The request has timed out or aborted."}),this.name="TimeoutError",this.type="timeout"}}class Me{constructor(){this._factoryMethods={},this.register("default",(e,t)=>new Oe(e,{message:t})),this.register("internal",(e,t)=>function(e,t){const{body:n}=e,{errors:i=[]}=n;return new Oe(e,{message:Te(i)||n.detail||n.title||t,errors:i.length?i.map(e=>({code:n.type,message:e})):[{code:n.type,message:n.detail||n.title}]})}(e,t)),this.register("storefront",(e,t)=>function(e,t){const{body:n}=e;return new Oe(e,{message:t||n.detail||n.title,errors:[{code:n.code||n.type,message:n.detail||n.title}]})}(e,t)),this.register("payment",(e,t)=>ke(e,t)),this.register("timeout",e=>new De(e))}register(e,t){this._factoryMethods[e]=t}createError(e,t){return(this._factoryMethods[this._getType(e)]||this._factoryMethods.default)(e,t)}_getType(e){if(0===e.status)return"timeout";if(this._isStorefrontErrorResponseBody(e.body))return"storefront";if(this._isInternalErrorResponseBody(e.body)){const t=E(e.body.type.split("/"));return t&&this._factoryMethods[t]?t:"internal"}const t=E(e.body&&e.body.errors);return t&&t.code&&this._factoryMethods[t.code]?t.code:"payment"}_isStorefrontErrorResponseBody(e){const t=e;return!this._isInternalErrorResponseBody(e)&&"string"==typeof t.title&&"string"==typeof t.type&&"number"==typeof t.status&&"string"==typeof t.detail}_isInternalErrorResponseBody(e){const t=e;return"object"==typeof t.errors&&"string"==typeof t.title&&"string"==typeof t.type&&"number"==typeof t.status}}function Ne(e,t){return Array.isArray(e)?e.map(e=>Ne(e,t)):I(e)?B(R(e,t),(e,n,i)=>{e[i]=Ne(n,t)},{}):e}var Le,ze;function Be(e,t){return function(e){return e.type===Le.ClearError}(t)?Ne(e,e=>e===t.payload):e}function Fe(e,t,n){return e===t||(e&&t&&"object"==typeof e&&"object"==typeof t?Array.isArray(e)&&Array.isArray(t)?function(e,t,n){if(e.length!==t.length)return!1;for(let i=0,r=e.length;i<r;i++)if(!Fe(e[i],t[i],n))return!1;return!0}(e,t,n):!Array.isArray(e)&&!Array.isArray(t)&&(e instanceof Date&&t instanceof Date?function(e,t){return e.getTime()===t.getTime()}(e,t):!(e instanceof Date||t instanceof Date)&&(e instanceof RegExp&&t instanceof RegExp?function(e,t){return e.toString()===t.toString()}(e,t):!(e instanceof RegExp||t instanceof RegExp)&&function(e,t,n){const i=n&&n.keyFilter,r=i?Object.keys(e).filter(i):Object.keys(e),o=i?Object.keys(t).filter(i):Object.keys(t);if(r.length!==o.length)return!1;for(let i=0,o=r.length;i<o;i++){const o=r[i];if(!Object.prototype.hasOwnProperty.call(t,o))return!1;if(!Fe(e[o],t[o],n))return!1}return!0}(e,t,n))):e===t)}function Ue(e,t,n){return e&&Object.prototype.hasOwnProperty.call(e,t)&&Fe(e[t],n)?e:Object.assign(Object.assign({},e),{[t]:n})}!function(e){e.ClearError="CLEAR_ERROR"}(Le||(Le={})),function(e){e.LoadB2BTokenRequested="LOAD_B2B_TOKEN_REQUESTED",e.LoadB2BTokenSucceeded="LOAD_B2B_TOKEN_SUCCEEDED",e.LoadB2BTokenFailed="LOAD_B2B_TOKEN_FAILED"}(ze||(ze={}));const xe={errors:{},statuses:{}};function qe(e=xe,t){return i({data:je,errors:r(Ge,Be),statuses:Ve})(e,t)}function je(e,t){return t.type===ze.LoadB2BTokenSucceeded?t.payload:e}function Ge(e=xe.errors,t){switch(t.type){case ze.LoadB2BTokenRequested:case ze.LoadB2BTokenSucceeded:return Ue(e,"loadError",void 0);case ze.LoadB2BTokenFailed:return Ue(e,"loadError",t.payload);default:return e}}function Ve(e=xe.statuses,t){switch(t.type){case ze.LoadB2BTokenRequested:return Ue(e,"isLoading",!0);case ze.LoadB2BTokenFailed:case ze.LoadB2BTokenSucceeded:return Ue(e,"isLoading",!1);default:return e}}var He,We,Ye,Ke;function $e(e,t){return void 0===t||Fe(e,t)?e:t}!function(e){e.LoadCheckoutRequested="LOAD_CHECKOUT_REQUESTED",e.LoadCheckoutSucceeded="LOAD_CHECKOUT_SUCCEEDED",e.LoadCheckoutFailed="LOAD_CHECKOUT_FAILED",e.UpdateCheckoutRequested="UPDATE_CHECKOUT_REQUESTED",e.UpdateCheckoutSucceeded="UPDATE_CHECKOUT_SUCCEEDED",e.UpdateCheckoutFailed="UPDATE_CHECKOUT_FAILED",e.DeleteCheckoutRequested="DELETE_CHECKOUT_REQUESTED",e.DeleteCheckoutSucceeded="DELETE_CHECKOUT_SUCCEEDED",e.DeleteCheckoutFailed="DELETE_CHECKOUT_FAILED"}(He||(He={})),function(e){e.HydrateInitialState="HYDRATE_INITIAL_STATE"}(We||(We={})),function(e){e.UpdateSubscriptionsRequested="UPDATE_SUBSCRIPTIONS_REQUESTED",e.UpdateSubscriptionsSucceeded="UPDATE_SUBSCRIPTIONS_SUCCEEDED",e.UpdateSubscriptionsFailed="UPDATE_SUBSCRIPTIONS_FAILED"}(Ye||(Ye={})),function(e){e.UpdateBillingAddressRequested="UPDATE_BILLING_ADDRESS_REQUESTED",e.UpdateBillingAddressSucceeded="UPDATE_BILLING_ADDRESS_SUCCEEDED",e.UpdateBillingAddressFailed="UPDATE_BILLING_ADDRESS_FAILED",e.ContinueAsGuestRequested="CONTINUE_AS_GUEST_REQUESTED",e.ContinueAsGuestSucceeded="CONTINUE_AS_GUEST_SUCCEEDED",e.ContinueAsGuestFailed="CONTINUE_AS_GUEST_FAILED"}(Ke||(Ke={}));const Ze={errors:{},statuses:{}};function Je(e=Ze,t){return i({data:Qe,errors:r(Xe,Be),statuses:et})(e,t)}function Qe(e,t){var n,i;switch(t.type){case Ke.UpdateBillingAddressSucceeded:case Ke.ContinueAsGuestSucceeded:case He.LoadCheckoutSucceeded:return $e(e,t.payload&&t.payload.billingAddress);case We.HydrateInitialState:return $e(e,null===(i=null===(n=t.payload)||void 0===n?void 0:n.checkout)||void 0===i?void 0:i.billingAddress);default:return e}}function Xe(e=Ze.errors,t){switch(t.type){case He.LoadCheckoutRequested:case He.LoadCheckoutSucceeded:return Ue(e,"loadError",void 0);case He.LoadCheckoutFailed:return Ue(e,"loadError",t.payload);case Ke.UpdateBillingAddressRequested:case Ke.UpdateBillingAddressSucceeded:return Ue(e,"updateError",void 0);case Ke.UpdateBillingAddressFailed:return Ue(e,"updateError",t.payload);case Ye.UpdateSubscriptionsRequested:case Ye.UpdateSubscriptionsSucceeded:case Ke.ContinueAsGuestRequested:case Ke.ContinueAsGuestSucceeded:return Ue(e,"continueAsGuestError",void 0);case Ye.UpdateSubscriptionsFailed:case Ke.ContinueAsGuestFailed:return Ue(e,"continueAsGuestError",t.payload);default:return e}}function et(e=Ze.statuses,t){switch(t.type){case He.LoadCheckoutRequested:return Ue(e,"isLoading",!0);case He.LoadCheckoutSucceeded:case He.LoadCheckoutFailed:return Ue(e,"isLoading",!1);case Ke.UpdateBillingAddressRequested:return Ue(e,"isUpdating",!0);case Ke.UpdateBillingAddressFailed:case Ke.UpdateBillingAddressSucceeded:return Ue(e,"isUpdating",!1);case Ke.ContinueAsGuestRequested:case Ye.UpdateSubscriptionsRequested:return Ue(e,"isContinuingAsGuest",!0);case Ye.UpdateSubscriptionsSucceeded:case Ye.UpdateSubscriptionsFailed:case Ke.ContinueAsGuestFailed:case Ke.ContinueAsGuestSucceeded:return Ue(e,"isContinuingAsGuest",!1);default:return e}}function tt(e){return I(e)}const nt=function e(t,n,i){const{matchObject:r=(e,t)=>void 0!==e.id&&e.id===t.id}=i||{};if(!t)return n;if(!n||t===n)return t;let o=0,a=0;const s=(e,t,n)=>(o+=e===t?1:0,a+=e===n?1:0,e),d=n.map((n,i)=>{const o=t&&t[i];return tt(o)&&tt(n)?r(o,n)?s(it(o,n),o,n):s($e(o,n),o,n):y(o)&&y(n)?s(e(o,n),o,n):s($e(o,n),o,n)});return o===n.length&&t&&t.length===n.length?t:a===n.length?n:d},it=function e(t,n){return t?n&&t!==n?Object.keys(n).reduce((t,i)=>{const r=t[i],o=n[i];return tt(r)&&tt(o)?Ue(t,i,e(r,o)):y(r)&&y(o)?Ue(t,i,nt(r,o)):Ue(t,i,o)},t):t:n};var rt,ot,at;!function(e){e.ApplyCouponRequested="APPLY_COUPON_REQUESTED",e.ApplyCouponSucceeded="APPLY_COUPON_SUCCEEDED",e.ApplyCouponFailed="APPLY_COUPON_FAILED",e.RemoveCouponRequested="REMOVE_COUPON_REQUESTED",e.RemoveCouponSucceeded="REMOVE_COUPON_SUCCEEDED",e.RemoveCouponFailed="REMOVE_COUPON_FAILED"}(rt||(rt={})),function(e){e.ApplyGiftCertificateRequested="APPLY_GIFT_CERTIFICATE_REQUESTED",e.ApplyGiftCertificateSucceeded="APPLY_GIFT_CERTIFICATE_SUCCEEDED",e.ApplyGiftCertificateFailed="APPLY_GIFT_CERTIFICATE_FAILED",e.RemoveGiftCertificateRequested="REMOVE_GIFT_CERTIFICATE_REQUESTED",e.RemoveGiftCertificateSucceeded="REMOVE_GIFT_CERTIFICATE_SUCCEEDED",e.RemoveGiftCertificateFailed="REMOVE_GIFT_CERTIFICATE_FAILED"}(ot||(ot={})),function(e){e.CreateConsignmentsRequested="CREATE_CONSIGNMENTS_REQUESTED",e.CreateConsignmentsSucceeded="CREATE_CONSIGNMENTS_SUCCEEDED",e.CreateConsignmentsFailed="CREATE_CONSIGNMENTS_FAILED",e.UpdateConsignmentRequested="UPDATE_CONSIGNMENT_REQUESTED",e.UpdateConsignmentSucceeded="UPDATE_CONSIGNMENT_SUCCEEDED",e.UpdateConsignmentFailed="UPDATE_CONSIGNMENT_FAILED",e.DeleteConsignmentRequested="DELETE_CONSIGNMENT_REQUESTED",e.DeleteConsignmentSucceeded="DELETE_CONSIGNMENT_SUCCEEDED",e.DeleteConsignmentFailed="DELETE_CONSIGNMENT_FAILED",e.UpdateShippingOptionRequested="UPDATE_SHIPPING_OPTION_REQUESTED",e.UpdateShippingOptionSucceeded="UPDATE_SHIPPING_OPTION_SUCCEEDED",e.UpdateShippingOptionFailed="UPDATE_SHIPPING_OPTION_FAILED",e.LoadShippingOptionsRequested="LOAD_SHIPPING_OPTIONS_REQUESTED",e.LoadShippingOptionsSucceeded="LOAD_SHIPPING_OPTIONS_SUCCEEDED",e.LoadShippingOptionsFailed="LOAD_SHIPPING_OPTIONS_FAILED"}(at||(at={}));const st={errors:{},statuses:{}};function dt(e=st,t){return i({data:ct,errors:r(lt,Be),statuses:ut})(e,t)}function ct(e,t){var n,i;switch(t.type){case Ke.UpdateBillingAddressSucceeded:case He.LoadCheckoutSucceeded:case at.CreateConsignmentsSucceeded:case at.DeleteConsignmentSucceeded:case at.UpdateConsignmentSucceeded:case at.UpdateShippingOptionSucceeded:case at.LoadShippingOptionsSucceeded:case rt.ApplyCouponSucceeded:case rt.RemoveCouponSucceeded:case ot.ApplyGiftCertificateSucceeded:case ot.RemoveGiftCertificateSucceeded:return it(e,t.payload&&t.payload.cart);case We.HydrateInitialState:return it(e,null===(i=null===(n=t.payload)||void 0===n?void 0:n.checkout)||void 0===i?void 0:i.cart);case He.DeleteCheckoutSucceeded:return;default:return e}}function ut(e=st.statuses,t){switch(t.type){case He.LoadCheckoutRequested:return Ue(e,"isLoading",!0);case He.LoadCheckoutFailed:case He.LoadCheckoutSucceeded:return Ue(e,"isLoading",!1);default:return e}}function lt(e=st.errors,t){switch(t.type){case He.LoadCheckoutRequested:case He.LoadCheckoutSucceeded:return Ue(e,"loadError",void 0);case He.LoadCheckoutFailed:return Ue(e,"loadError",t.payload);default:return e}}var ht;!function(e){e.InitializeButtonFailed="INITIALIZE_BUTTON_FAILED",e.InitializeButtonRequested="INITIALIZE_BUTTON_REQUESTED",e.InitializeButtonSucceeded="INITIALIZE_BUTTON_SUCCEEDED",e.DeinitializeButtonFailed="DEINITIALIZE_BUTTON_FAILED",e.DeinitializeButtonRequested="DEINITIALIZE_BUTTON_REQUESTED",e.DeinitializeButtonSucceeded="DEINITIALIZE_BUTTON_SUCCEEDED"}(ht||(ht={}));const pt={data:{},errors:{},statuses:{}},gt={initializedContainers:{}},mt={},yt={};function ft(e=pt,t){return t.meta&&t.meta.methodId?i({data:i({[t.meta.methodId]:_t}),errors:i({[t.meta.methodId]:St}),statuses:i({[t.meta.methodId]:vt})})(e,t):e}function _t(e=gt,t){switch(t.type){case ht.InitializeButtonSucceeded:return t.meta&&t.meta.containerId?it(e,{initializedContainers:{[t.meta.containerId]:!0}}):e;case ht.DeinitializeButtonSucceeded:return Ue(e,"initializedContainers",{})}return e}function St(e=mt,t){switch(t.type){case ht.InitializeButtonRequested:case ht.InitializeButtonSucceeded:return Ue(e,"initializeError",void 0);case ht.InitializeButtonFailed:return Ue(e,"initializeError",t.payload);case ht.DeinitializeButtonRequested:case ht.DeinitializeButtonSucceeded:return Ue(e,"deinitializeError",void 0);case ht.DeinitializeButtonFailed:return Ue(e,"deinitializeError",t.payload);default:return e}}function vt(e=yt,t){switch(t.type){case ht.InitializeButtonRequested:return Ue(e,"isInitializing",!0);case ht.InitializeButtonFailed:case ht.InitializeButtonSucceeded:return Ue(e,"isInitializing",!1);case ht.DeinitializeButtonRequested:return Ue(e,"isDeinitializing",!0);case ht.DeinitializeButtonFailed:case ht.DeinitializeButtonSucceeded:return Ue(e,"isDeinitializing",!1);default:return e}}var Ct;!function(e){e.LoadConfigRequested="LOAD_CONFIG_REQUESTED",e.LoadConfigSucceeded="LOAD_CONFIG_SUCCEEDED",e.LoadConfigFailed="LOAD_CONFIG_FAILED"}(Ct||(Ct={}));const It={meta:{},errors:{},statuses:{}};function wt(e=It,t){return i({data:bt,errors:r(Et,Be),statuses:Pt})(e,t)}function bt(e,t){var n,i;switch(t.type){case Ct.LoadConfigSucceeded:return it(e,t.payload);case We.HydrateInitialState:{const r=it(e,null===(n=t.payload)||void 0===n?void 0:n.config);return r&&(null===(i=t.payload)||void 0===i?void 0:i.b2bApiSettings)?Object.assign(Object.assign({},r),{storeConfig:Object.assign(Object.assign({},r.storeConfig),{b2bApiSettings:t.payload.b2bApiSettings})}):r}default:return e}}function Et(e=It.errors,t){switch(t.type){case Ct.LoadConfigSucceeded:return Ue(e,"loadError",void 0);case Ct.LoadConfigFailed:return Ue(e,"loadError",t.payload);default:return e}}function Pt(e=It.statuses,t){switch(t.type){case Ct.LoadConfigRequested:return Ue(e,"isLoading",!0);case Ct.LoadConfigSucceeded:case Ct.LoadConfigFailed:return Ue(e,"isLoading",!1);default:return e}}var Ot;!function(e){e.LoadOrderRequested="LOAD_ORDER_REQUESTED",e.LoadOrderSucceeded="LOAD_ORDER_SUCCEEDED",e.LoadOrderFailed="LOAD_ORDER_FAILED",e.LoadOrderPaymentsRequested="LOAD_ORDER_PAYMENTS_REQUESTED",e.LoadOrderPaymentsSucceeded="LOAD_ORDER_PAYMENTS_SUCCEEDED",e.LoadOrderPaymentsFailed="LOAD_ORDER_PAYMENTS_FAILED",e.SubmitOrderRequested="SUBMIT_ORDER_REQUESTED",e.SubmitOrderSucceeded="SUBMIT_ORDER_SUCCEEDED",e.SubmitOrderFailed="SUBMIT_ORDER_FAILED",e.FinalizeOrderRequested="FINALIZE_ORDER_REQUESTED",e.FinalizeOrderSucceeded="FINALIZE_ORDER_SUCCEEDED",e.FinalizeOrderFailed="FINALIZE_ORDER_FAILED"}(Ot||(Ot={}));const At={errors:{},statuses:{}};function Tt(e=At,t){return i({data:kt,errors:r(Rt,Be),statuses:Dt})(e,t)}function kt(e,t){var n,i;switch(t.type){case He.LoadCheckoutSucceeded:case rt.ApplyCouponSucceeded:case at.UpdateShippingOptionSucceeded:case rt.RemoveCouponSucceeded:case Ot.LoadOrderSucceeded:return nt(e,t.payload&&t.payload.coupons);case We.HydrateInitialState:return nt(e,null===(i=null===(n=t.payload)||void 0===n?void 0:n.checkout)||void 0===i?void 0:i.coupons);default:return e}}function Rt(e={},t){switch(t.type){case rt.ApplyCouponRequested:case rt.ApplyCouponSucceeded:return Ue(e,"applyCouponError",void 0);case rt.ApplyCouponFailed:return Ue(e,"applyCouponError",t.payload);case rt.RemoveCouponRequested:case rt.RemoveCouponSucceeded:return Ue(e,"removeCouponError",void 0);case rt.RemoveCouponFailed:return Ue(e,"removeCouponError",t.payload);default:return e}}function Dt(e={},t){switch(t.type){case rt.ApplyCouponRequested:return Ue(e,"isApplyingCoupon",!0);case rt.ApplyCouponSucceeded:case rt.ApplyCouponFailed:return Ue(e,"isApplyingCoupon",!1);case rt.RemoveCouponRequested:return Ue(e,"isRemovingCoupon",!0);case rt.RemoveCouponSucceeded:case rt.RemoveCouponFailed:return Ue(e,"isRemovingCoupon",!1);default:return e}}const Mt={errors:{},statuses:{}};function Nt(e=Mt,t){return i({data:Lt,errors:r(zt,Be),statuses:Bt})(e,t)}function Lt(e,t){var n,i;switch(t.type){case He.LoadCheckoutSucceeded:case at.CreateConsignmentsSucceeded:case at.UpdateConsignmentSucceeded:case at.DeleteConsignmentSucceeded:case at.UpdateShippingOptionSucceeded:case rt.ApplyCouponSucceeded:case rt.RemoveCouponSucceeded:case ot.ApplyGiftCertificateSucceeded:case ot.RemoveGiftCertificateSucceeded:return nt(e,t.payload&&t.payload.giftCertificates);case We.HydrateInitialState:return nt(e,null===(i=null===(n=t.payload)||void 0===n?void 0:n.checkout)||void 0===i?void 0:i.giftCertificates);default:return e}}function zt(e=Mt.errors,t){switch(t.type){case ot.ApplyGiftCertificateRequested:case ot.ApplyGiftCertificateSucceeded:return Ue(e,"applyGiftCertificateError",void 0);case ot.ApplyGiftCertificateFailed:return Ue(e,"applyGiftCertificateError",t.payload);case ot.RemoveGiftCertificateRequested:case ot.RemoveGiftCertificateSucceeded:return Ue(e,"removeGiftCertificateError",void 0);case ot.RemoveGiftCertificateFailed:return Ue(e,"removeGiftCertificateError",t.payload);default:return e}}function Bt(e=Mt.statuses,t){switch(t.type){case ot.ApplyGiftCertificateRequested:return Ue(e,"isApplyingGiftCertificate",!0);case ot.ApplyGiftCertificateSucceeded:case ot.ApplyGiftCertificateFailed:return Ue(e,"isApplyingGiftCertificate",!1);case ot.RemoveGiftCertificateRequested:return Ue(e,"isRemovingGiftCertificate",!0);case ot.RemoveGiftCertificateSucceeded:case ot.RemoveGiftCertificateFailed:return Ue(e,"isRemovingGiftCertificate",!1);default:return e}}var Ft;!function(e){e.SignInCustomerRequested="SIGN_IN_CUSTOMER_REQUESTED",e.SignInCustomerSucceeded="SIGN_IN_CUSTOMER_SUCCEEDED",e.SignInCustomerFailed="SIGN_IN_CUSTOMER_FAILED",e.SignOutCustomerRequested="SIGN_OUT_CUSTOMER_REQUESTED",e.SignOutCustomerSucceeded="SIGN_OUT_CUSTOMER_SUCCEEDED",e.SignOutCustomerFailed="SIGN_OUT_CUSTOMER_FAILED",e.CreateCustomerRequested="CREATE_CUSTOMER_REQUESTED",e.CreateCustomerSucceeded="CREATE_CUSTOMER_SUCCEEDED",e.CreateCustomerFailed="CREATE_CUSTOMER_FAILED",e.CreateCustomerAddressRequested="CREATE_CUSTOMER_ADDRESS_REQUESTED",e.CreateCustomerAddressSucceeded="CREATE_CUSTOMER_ADDRESS_SUCCEEDED",e.CreateCustomerAddressFailed="CREATE_CUSTOMER_ADDRESS_FAILED",e.StripeLinkAuthenticated="STRIPE_LINK_AUTHENTICATED"}(Ft||(Ft={}));const Ut={errors:{},statuses:{}};function xt(e=Ut,t){return i({data:qt,errors:r(jt,Be),statuses:Gt})(e,t)}function qt(e,t){var n,i;switch(t.type){case Ke.ContinueAsGuestSucceeded:case He.LoadCheckoutSucceeded:return it(e,t.payload&&t.payload.customer);case Ft.CreateCustomerAddressSucceeded:return it(e,t.payload);case We.HydrateInitialState:return it(e,null===(i=null===(n=t.payload)||void 0===n?void 0:n.checkout)||void 0===i?void 0:i.customer);default:return e}}function jt(e=Ut.errors,t){switch(t.type){case Ft.CreateCustomerRequested:case Ft.CreateCustomerSucceeded:return Ue(e,"createError",void 0);case Ft.CreateCustomerFailed:return Ue(e,"createError",t.payload);case Ft.CreateCustomerAddressRequested:case Ft.CreateCustomerAddressSucceeded:return Ue(e,"createAddressError",void 0);case Ft.CreateCustomerAddressFailed:return Ue(e,"createAddressError",t.payload);default:return e}}function Gt(e=Ut.statuses,t){switch(t.type){case Ft.CreateCustomerRequested:return Ue(e,"isCreating",!0);case Ft.CreateCustomerFailed:case Ft.CreateCustomerSucceeded:return Ue(e,"isCreating",!1);case Ft.CreateCustomerAddressRequested:return Ue(e,"isCreatingAddress",!0);case Ft.CreateCustomerAddressFailed:case Ft.CreateCustomerAddressSucceeded:return Ue(e,"isCreatingAddress",!1);default:return e}}var Vt;!function(e){e.SignInFailed="CUSTOMER_STRATEGY_SIGN_IN_FAILED",e.SignInRequested="CUSTOMER_STRATEGY_SIGN_IN_REQUESTED",e.SignInSucceeded="CUSTOMER_STRATEGY_SIGN_IN_SUCCEEDED",e.SignOutFailed="CUSTOMER_STRATEGY_SIGN_OUT_FAILED",e.SignOutRequested="CUSTOMER_STRATEGY_SIGN_OUT_REQUESTED",e.SignOutSucceeded="CUSTOMER_STRATEGY_SIGN_OUT_SUCCEEDED",e.ExecutePaymentMethodCheckoutFailed="CUSTOMER_STRATEGY_EXECUTE_PAYMENT_METHOD_CHECKOUT_FAILED",e.ExecutePaymentMethodCheckoutRequested="CUSTOMER_STRATEGY_EXECUTE_PAYMENT_METHOD_CHECKOUT_REQUESTED",e.ExecutePaymentMethodCheckoutSucceeded="CUSTOMER_STRATEGY_EXECUTE_PAYMENT_METHOD_CHECKOUT_SUCCEEDED",e.InitializeFailed="CUSTOMER_STRATEGY_INITIALIZE_FAILED",e.InitializeRequested="CUSTOMER_STRATEGY_INITIALIZE_REQUESTED",e.InitializeSucceeded="CUSTOMER_STRATEGY_INITIALIZE_SUCCEEDED",e.DeinitializeFailed="CUSTOMER_STRATEGY_DEINITIALIZE_FAILED",e.DeinitializeRequested="CUSTOMER_STRATEGY_DEINITIALIZE_REQUESTED",e.DeinitializeSucceeded="CUSTOMER_STRATEGY_DEINITIALIZE_SUCCEEDED",e.WidgetInteractionStarted="CUSTOMER_STRATEGY_WIDGET_INTERACTION_STARTED",e.WidgetInteractionFinished="CUSTOMER_STRATEGY_WIDGET_INTERACTION_FINISHED",e.WidgetInteractionFailed="CUSTOMER_STRATEGY_WIDGET_INTERACTION_FAILED"}(Vt||(Vt={}));const Ht={data:{},errors:{},statuses:{}};function Wt(e=Ht,t){return i({data:Yt,errors:r(Kt,Be),statuses:$t})(e,t)}function Yt(e=Ht.data,t){switch(t.type){case Vt.InitializeSucceeded:return it(e,{[t.meta&&t.meta.methodId]:{isInitialized:!0}});case Vt.DeinitializeSucceeded:return it(e,{[t.meta&&t.meta.methodId]:{isInitialized:!1}})}return e}function Kt(e=Ht.errors,t){switch(t.type){case Vt.InitializeRequested:case Vt.InitializeSucceeded:return it(e,{initializeErrors:Object.assign({},e.initializeErrors),initializeMethodId:e.initializeMethodId?e.initializeMethodId:void 0});case Vt.InitializeFailed:return it(e,{initializeErrors:Object.assign(Object.assign({},e.initializeErrors),{[t.meta&&t.meta.methodId]:t.payload}),initializeMethodId:t.meta&&t.meta.methodId});case Vt.DeinitializeRequested:case Vt.DeinitializeSucceeded:return it(e,{deinitializeError:void 0,deinitializeMethodId:void 0});case Vt.DeinitializeFailed:return it(e,{deinitializeError:t.payload,deinitializeMethodId:t.meta&&t.meta.methodId});case Vt.SignInRequested:case Vt.SignInSucceeded:return it(e,{signInError:void 0,signInMethodId:void 0});case Vt.SignInFailed:return it(e,{signInError:t.payload,signInMethodId:t.meta&&t.meta.methodId});case Vt.SignOutRequested:case Vt.SignOutSucceeded:return it(e,{signOutError:void 0,signOutMethodId:void 0});case Vt.SignOutFailed:return it(e,{signOutError:t.payload,signOutMethodId:t.meta&&t.meta.methodId});case Vt.ExecutePaymentMethodCheckoutRequested:case Vt.ExecutePaymentMethodCheckoutSucceeded:return it(e,{executePaymentMethodCheckoutError:void 0,executePaymentMethodCheckoutMethodId:void 0});case Vt.ExecutePaymentMethodCheckoutFailed:return it(e,{executePaymentMethodCheckoutError:t.payload,executePaymentMethodCheckoutMethodId:t.meta&&t.meta.methodId});case Vt.WidgetInteractionStarted:case Vt.WidgetInteractionFinished:return it(e,{widgetInteractionError:void 0,widgetInteractionMethodId:void 0});case Vt.WidgetInteractionFailed:return it(e,{widgetInteractionError:t.payload,widgetInteractionMethodId:t.meta.methodId});default:return e}}function $t(e=Ht.statuses,t){switch(t.type){case Vt.InitializeRequested:return it(e,{isInitializing:!0,initializeMethodId:t.meta&&t.meta.methodId});case Vt.InitializeFailed:case Vt.InitializeSucceeded:return it(e,{isInitializing:!1,initializeMethodId:void 0});case Vt.DeinitializeRequested:return it(e,{isDeinitializing:!0,deinitializeMethodId:t.meta&&t.meta.methodId});case Vt.DeinitializeFailed:case Vt.DeinitializeSucceeded:return it(e,{isDeinitializing:!1,deinitializeMethodId:void 0});case Vt.SignInRequested:return it(e,{isSigningIn:!0,signInMethodId:t.meta&&t.meta.methodId});case Vt.SignInFailed:case Vt.SignInSucceeded:return it(e,{isSigningIn:!1,signInMethodId:void 0});case Vt.SignOutRequested:return it(e,{isSigningOut:!0,signOutMethodId:t.meta&&t.meta.methodId});case Vt.SignOutFailed:case Vt.SignOutSucceeded:return it(e,{isSigningOut:!1,signOutMethodId:void 0});case Vt.ExecutePaymentMethodCheckoutRequested:return it(e,{isExecutingPaymentMethodCheckout:!0,executePaymentMethodCheckoutMethodId:t.meta&&t.meta.methodId});case Vt.ExecutePaymentMethodCheckoutFailed:case Vt.ExecutePaymentMethodCheckoutSucceeded:return it(e,{isExecutingPaymentMethodCheckout:!1,executePaymentMethodCheckoutMethodId:void 0});case Vt.WidgetInteractionStarted:return it(e,{isWidgetInteracting:!0,widgetInteractionMethodId:t.meta.methodId});case Vt.WidgetInteractionFinished:case Vt.WidgetInteractionFailed:return it(e,{isWidgetInteracting:!1,widgetInteractionMethodId:void 0});default:return e}}var Zt;!function(e){e.LoadExtensionsRequested="LOAD_EXTENSIONS_REQUESTED",e.LoadExtensionsSucceeded="LOAD_EXTENSIONS_SUCCEEDED",e.LoadExtensionsFailed="LOAD_EXTENSIONS_FAILED",e.RenderExtensionRequested="RENDER_EXTENSION_REQUESTED",e.RenderExtensionSucceeded="RENDER_EXTENSION_SUCCEEDED",e.RenderExtensionFailed="RENDER_EXTENSION_FAILED"}(Zt||(Zt={}));const Jt={errors:{},statuses:{}};function Qt(e=Jt,t){return i({data:Xt,errors:r(en,Be),statuses:tn})(e,t)}function Xt(e,t){var n;return t.type===Zt.LoadExtensionsSucceeded?nt(e,t.payload):t.type===We.HydrateInitialState?nt(e,null===(n=t.payload)||void 0===n?void 0:n.extensions):e}function en(e=Jt.errors,t){switch(t.type){case Zt.LoadExtensionsRequested:case Zt.LoadExtensionsSucceeded:return Ue(e,"loadError",void 0);case Zt.RenderExtensionRequested:case Zt.RenderExtensionSucceeded:return Ue(e,"renderError",void 0);case Zt.LoadExtensionsFailed:return Ue(e,"loadError",t.payload);case Zt.RenderExtensionFailed:return Ue(e,"renderError",t.payload);default:return e}}function tn(e=Jt.statuses,t){switch(t.type){case Zt.LoadExtensionsRequested:return Ue(e,"isLoading",!0);case Zt.LoadExtensionsSucceeded:case Zt.LoadExtensionsFailed:return Ue(e,"isLoading",!1);default:return e}}var nn;!function(e){e.LoadFormFieldsRequested="LOAD_FORM_FIELDS_REQUESTED",e.LoadFormFieldsSucceeded="LOAD_FORM_FIELDS_SUCCEEDED",e.LoadFormFieldsFailed="LOAD_FORM_FIELDS_FAILED"}(nn||(nn={}));const rn={errors:{},statuses:{}};function on(e=rn,t){return i({data:an,extraFields:sn,errors:r(dn,Be),statuses:cn})(e,t)}function an(e,t){var n;switch(t.type){case nn.LoadFormFieldsSucceeded:return it(e,t.payload);case We.HydrateInitialState:return it(e,null===(n=t.payload)||void 0===n?void 0:n.formFields);default:return e}}function sn(e,t){var n,i;return t.type===We.HydrateInitialState&&null!==(i=null===(n=t.payload)||void 0===n?void 0:n.extraFields)&&void 0!==i?i:e}function dn(e=rn.errors,t){switch(t.type){case nn.LoadFormFieldsSucceeded:return Ue(e,"loadError",void 0);case nn.LoadFormFieldsFailed:return Ue(e,"loadError",t.payload);default:return e}}function cn(e=rn.statuses,t){switch(t.type){case nn.LoadFormFieldsRequested:return Ue(e,"isLoading",!0);case nn.LoadFormFieldsSucceeded:case nn.LoadFormFieldsFailed:return Ue(e,"isLoading",!1);default:return e}}var un;!function(e){e.LoadCountriesRequested="LOAD_COUNTRIES_REQUESTED",e.LoadCountriesSucceeded="LOAD_COUNTRIES_SUCCEEDED",e.LoadCountriesFailed="LOAD_COUNTRIES_FAILED"}(un||(un={}));const ln={errors:{},statuses:{}};function hn(e=ln,t){return i({data:pn,errors:r(gn,Be),statuses:mn})(e,t)}function pn(e,t){return t.type===un.LoadCountriesSucceeded?nt(e,t.payload):e}function gn(e=ln.errors,t){switch(t.type){case un.LoadCountriesRequested:case un.LoadCountriesSucceeded:return Ue(e,"loadError",void 0);case un.LoadCountriesFailed:return Ue(e,"loadError",t.payload);default:return e}}function mn(e=ln.statuses,t){switch(t.type){case un.LoadCountriesRequested:return Ue(e,"isLoading",!0);case un.LoadCountriesSucceeded:case un.LoadCountriesFailed:return Ue(e,"isLoading",!1);default:return e}}const yn={errors:{},meta:{},statuses:{}};function fn(e=yn,t){return i({data:_n,errors:r(vn,Be),meta:Sn,statuses:Cn})(e,t)}function _n(e,t){switch(t.type){case Ot.LoadOrderSucceeded:case Ot.LoadOrderPaymentsSucceeded:return it(e,k(t.payload,["billingAddress","coupons"]));default:return e}}function Sn(e,t){var n;switch(t.type){case Ot.FinalizeOrderSucceeded:case Ot.SubmitOrderSucceeded:return Ue(it(e,Object.assign(Object.assign({},t.meta),{callbackUrl:t.payload&&t.payload.order.callbackUrl,orderToken:t.payload&&t.payload.order.token,payment:t.payload&&t.payload.order&&t.payload.order.payment})),"b2bContext",function(e){if(!(null==e?void 0:e.b2bMetadata))return;const{billingAddressId:t,shippingAddressId:n}=e.b2bMetadata;return{billingAddressId:null!=t?t:void 0,shippingAddressId:null!=n?n:void 0}}(null===(n=t.payload)||void 0===n?void 0:n.order));default:return e}}function vn(e=yn.errors,t){switch(t.type){case Ot.LoadOrderRequested:case Ot.LoadOrderSucceeded:case Ot.LoadOrderPaymentsSucceeded:case Ot.LoadOrderPaymentsRequested:return Ue(e,"loadError",void 0);case Ot.LoadOrderFailed:case Ot.LoadOrderPaymentsFailed:return Ue(e,"loadError",t.payload);default:return e}}function Cn(e=yn.statuses,t){switch(t.type){case Ot.LoadOrderRequested:case Ot.LoadOrderPaymentsRequested:return Ue(e,"isLoading",!0);case Ot.LoadOrderSucceeded:case Ot.LoadOrderFailed:case Ot.LoadOrderPaymentsSucceeded:case Ot.LoadOrderPaymentsFailed:return Ue(e,"isLoading",!1);default:return e}}const In={};function wn(e=In,t){return i({data:bn})(e,t)}function bn(e,t){switch(t.type){case Ot.LoadOrderPaymentsSucceeded:case Ot.LoadOrderSucceeded:return $e(e,t.payload&&t.payload.billingAddress);default:return e}}var En;!function(e){e.PersistB2BMetadataRequested="PERSIST_B2B_METADATA_REQUESTED",e.PersistB2BMetadataSucceeded="PERSIST_B2B_METADATA_SUCCEEDED",e.PersistB2BMetadataFailed="PERSIST_B2B_METADATA_FAILED"}(En||(En={}));const Pn={errors:{},statuses:{}};function On(e=Pn,t){return i({data:An,errors:r(Tn,Be),statuses:kn})(e,t)}function An(e,t){return t.type===En.PersistB2BMetadataSucceeded?t.payload:e}function Tn(e=Pn.errors,t){switch(t.type){case En.PersistB2BMetadataRequested:case En.PersistB2BMetadataSucceeded:return Ue(e,"persistB2bMetadataError",void 0);case En.PersistB2BMetadataFailed:return Ue(e,"persistB2bMetadataError",t.payload);default:return e}}function kn(e=Pn.statuses,t){switch(t.type){case En.PersistB2BMetadataRequested:return Ue(e,"isPersisting",!0);case En.PersistB2BMetadataFailed:case En.PersistB2BMetadataSucceeded:return Ue(e,"isPersisting",!1);default:return e}}var Rn,Dn;function Mn(e={},t){return i({data:Nn})(e,t)}function Nn(e,t){return t.type===Rn.SubmitPaymentSucceeded?t.payload:e}!function(e){e.SubmitPaymentRequested="SUBMIT_PAYMENT_REQUESTED",e.SubmitPaymentSucceeded="SUBMIT_PAYMENT_SUCCEEDED",e.SubmitPaymentFailed="SUBMIT_PAYMENT_FAILED",e.InitializeOffsitePaymentRequested="INITIALIZE_OFFSITE_PAYMENT_REQUESTED",e.InitializeOffsitePaymentSucceeded="INITIALIZE_OFFSITE_PAYMENT_SUCCEEDED",e.InitializeOffsitePaymentFailed="INITIALIZE_OFFSITE_PAYMENT_FAILED"}(Rn||(Rn={})),function(e){e.LoadPaymentMethodRequested="LOAD_PAYMENT_METHOD_REQUESTED",e.LoadPaymentMethodSucceeded="LOAD_PAYMENT_METHOD_SUCCEEDED",e.LoadPaymentMethodFailed="LOAD_PAYMENT_METHOD_FAILED",e.LoadPaymentMethodsRequested="LOAD_PAYMENT_METHODS_REQUESTED",e.LoadPaymentMethodsSucceeded="LOAD_PAYMENT_METHODS_SUCCEEDED",e.LoadPaymentMethodsFailed="LOAD_PAYMENT_METHODS_FAILED"}(Dn||(Dn={}));const Ln={errors:{},statuses:{}};function zn(e=Ln,t){return i({data:Bn,errors:r(Un,Be),meta:Fn,statuses:xn})(e,t)}function Bn(e,t){switch(t.type){case Dn.LoadPaymentMethodSucceeded:return function(e,t,n){if(!t)return e;const i=D(t,"id"),r="object"==typeof n?M(n):n||i,o=h(e,r),a=[...e];if(-1===o)a.push(t);else{const n=e[o];a[o]=tt(n)&&tt(t)?it(n,t):t}return a}(e||[],t.payload,t.payload&&{id:t.payload.id,gateway:t.payload.gateway});case Dn.LoadPaymentMethodsSucceeded:return nt(e,t.payload,{matchObject:(e,t)=>e.id===t.id&&e.gateway===t.gateway});default:return e}}function Fn(e,t){return t.type===Dn.LoadPaymentMethodsSucceeded?it(e,t.meta):e}function Un(e=Ln.errors,t){switch(t.type){case Dn.LoadPaymentMethodsRequested:case Dn.LoadPaymentMethodsSucceeded:return Ue(e,"loadError",void 0);case Dn.LoadPaymentMethodsFailed:return Ue(e,"loadError",t.payload);case Dn.LoadPaymentMethodRequested:case Dn.LoadPaymentMethodSucceeded:return it(e,{loadMethodId:void 0,loadMethodError:void 0});case Dn.LoadPaymentMethodFailed:return it(e,{loadMethodId:t.meta.methodId,loadMethodError:t.payload});default:return e}}function xn(e=Ln.statuses,t){switch(t.type){case Dn.LoadPaymentMethodsRequested:return Ue(e,"isLoading",!0);case Dn.LoadPaymentMethodsSucceeded:case Dn.LoadPaymentMethodsFailed:return Ue(e,"isLoading",!1);case Dn.LoadPaymentMethodRequested:return it(e,{isLoadingMethod:!0,loadMethodId:t.meta.methodId});case Dn.LoadPaymentMethodSucceeded:case Dn.LoadPaymentMethodFailed:return it(e,{isLoadingMethod:!1,loadMethodId:void 0});default:return e}}var qn;!function(e){e.ExecuteFailed="PAYMENT_STRATEGY_EXECUTE_FAILED",e.ExecuteRequested="PAYMENT_STRATEGY_EXECUTE_REQUESTED",e.ExecuteSucceeded="PAYMENT_STRATEGY_EXECUTE_SUCCEEDED",e.FinalizeFailed="PAYMENT_STRATEGY_FINALIZE_FAILED",e.FinalizeRequested="PAYMENT_STRATEGY_FINALIZE_REQUESTED",e.FinalizeSucceeded="PAYMENT_STRATEGY_FINALIZE_SUCCEEDED",e.InitializeFailed="PAYMENT_STRATEGY_INITIALIZE_FAILED",e.InitializeRequested="PAYMENT_STRATEGY_INITIALIZE_REQUESTED",e.InitializeSucceeded="PAYMENT_STRATEGY_INITIALIZE_SUCCEEDED",e.DeinitializeFailed="PAYMENT_STRATEGY_DEINITIALIZE_FAILED",e.DeinitializeRequested="PAYMENT_STRATEGY_DEINITIALIZE_REQUESTED",e.DeinitializeSucceeded="PAYMENT_STRATEGY_DEINITIALIZE_SUCCEEDED",e.WidgetInteractionStarted="PAYMENT_STRATEGY_WIDGET_INTERACTION_STARTED",e.WidgetInteractionFinished="PAYMENT_STRATEGY_WIDGET_INTERACTION_FINISHED",e.WidgetInteractionFailed="PAYMENT_STRATEGY_WIDGET_INTERACTION_FAILED"}(qn||(qn={}));const jn={data:{},errors:{},statuses:{}};function Gn(e=jn,t){return i({data:Vn,errors:r(Hn,Be),statuses:Wn})(e,t)}function Vn(e=jn.data,t){switch(t.type){case qn.InitializeSucceeded:if(t.meta){const{methodId:n,gatewayId:i}=t.meta,r=i?`${n}.${i}`:n;return it(e,{[r]:{isInitialized:!0}})}break;case qn.DeinitializeSucceeded:if(t.meta){const{methodId:n,gatewayId:i}=t.meta,r=i?`${n}.${i}`:n;return it(e,{[r]:{isInitialized:!1}})}}return e}function Hn(e=jn.errors,t){switch(t.type){case qn.InitializeRequested:case qn.InitializeSucceeded:return it(e,{initializeError:void 0,initializeMethodId:void 0});case qn.InitializeFailed:{let n=t.meta&&t.meta.methodId;if(t.meta){const{methodId:e,gatewayId:i}=t.meta;n=i?`${e}.${i}`:e}return it(e,{initializeError:t.payload,initializeMethodId:n})}case qn.DeinitializeRequested:case qn.DeinitializeSucceeded:return it(e,{deinitializeError:void 0,deinitializeMethodId:void 0});case qn.DeinitializeFailed:{let n=t.meta&&t.meta.methodId;if(t.meta){const{methodId:e,gatewayId:i}=t.meta;n=i?`${e}.${i}`:e}return it(e,{deinitializeError:t.payload,deinitializeMethodId:n})}case qn.ExecuteRequested:case qn.ExecuteSucceeded:return it(e,{executeError:void 0,executeMethodId:void 0});case qn.ExecuteFailed:return it(e,{executeError:t.payload,executeMethodId:t.meta&&t.meta.methodId});case qn.FinalizeRequested:case qn.FinalizeSucceeded:return it(e,{finalizeError:void 0,finalizeMethodId:void 0});case qn.FinalizeFailed:return it(e,{finalizeError:t.payload,finalizeMethodId:t.meta&&t.meta.methodId});case qn.WidgetInteractionStarted:case qn.WidgetInteractionFinished:return it(e,{widgetInteractionError:void 0,widgetInteractionMethodId:void 0});case qn.WidgetInteractionFailed:return it(e,{widgetInteractionError:t.payload,widgetInteractionMethodId:t.meta.methodId});default:return e}}function Wn(e=jn.statuses,t){switch(t.type){case qn.InitializeRequested:{let n=t.meta&&t.meta.methodId;if(t.meta){const{methodId:e,gatewayId:i}=t.meta;n=i?`${e}.${i}`:e}return it(e,{isInitializing:!0,initializeMethodId:n})}case qn.InitializeFailed:case qn.InitializeSucceeded:return it(e,{isInitializing:!1,initializeMethodId:void 0});case qn.DeinitializeRequested:{let n=t.meta&&t.meta.methodId;if(t.meta){const{methodId:e,gatewayId:i}=t.meta;n=i?`${e}.${i}`:e}return it(e,{isDeinitializing:!0,deinitializeMethodId:n})}case qn.DeinitializeFailed:case qn.DeinitializeSucceeded:return it(e,{isDeinitializing:!1,deinitializeMethodId:void 0});case qn.ExecuteRequested:return it(e,{isExecuting:!0,executeMethodId:t.meta&&t.meta.methodId});case qn.ExecuteFailed:case qn.ExecuteSucceeded:return it(e,{isExecuting:!1,executeMethodId:void 0});case qn.FinalizeRequested:return it(e,{isFinalizing:!0,finalizeMethodId:t.meta&&t.meta.methodId});case qn.FinalizeFailed:case qn.FinalizeSucceeded:return it(e,{isFinalizing:!1,finalizeMethodId:void 0});case qn.WidgetInteractionStarted:return it(e,{isWidgetInteracting:!0,widgetInteractionMethodId:t.meta.methodId});case qn.WidgetInteractionFinished:case qn.WidgetInteractionFailed:return it(e,{isWidgetInteracting:!1,widgetInteractionMethodId:void 0});default:return e}}var Yn;!function(e){e.LoadInstrumentsRequested="LOAD_INSTRUMENTS_REQUESTED",e.LoadInstrumentsSucceeded="LOAD_INSTRUMENTS_SUCCEEDED",e.LoadInstrumentsFailed="LOAD_INSTRUMENTS_FAILED",e.DeleteInstrumentRequested="DELETE_INSTRUMENT_REQUESTED",e.DeleteInstrumentSucceeded="DELETE_INSTRUMENT_SUCCEEDED",e.DeleteInstrumentFailed="DELETE_INSTRUMENT_FAILED"}(Yn||(Yn={}));const Kn={data:[],errors:{},statuses:{}};function $n(e=Kn,t){return i({data:Zn,errors:r(Qn,Be),meta:Jn,statuses:Xn})(e,t)}function Zn(e=Kn.data,t){return t.type===Yn.LoadInstrumentsSucceeded?nt(e,t.payload&&t.payload.vaultedInstruments||[]):e}function Jn(e,t){switch(t.type){case Yn.LoadInstrumentsSucceeded:case Yn.DeleteInstrumentSucceeded:return it(e,t.meta);default:return e}}function Qn(e=Kn.errors,t){switch(t.type){case Yn.LoadInstrumentsRequested:case Yn.LoadInstrumentsSucceeded:return Ue(e,"loadError",void 0);case Yn.DeleteInstrumentRequested:case Yn.DeleteInstrumentSucceeded:return it(e,{deleteError:void 0,failedInstrument:void 0});case Yn.LoadInstrumentsFailed:return Ue(e,"loadError",t.payload);case Yn.DeleteInstrumentFailed:return it(e,{deleteError:t.payload,failedInstrument:t.meta.instrumentId});default:return e}}function Xn(e=Kn.statuses,t){switch(t.type){case Yn.LoadInstrumentsRequested:return Ue(e,"isLoading",!0);case Yn.DeleteInstrumentRequested:return it(e,{isDeleting:!0,deletingInstrument:t.meta.instrumentId});case Yn.LoadInstrumentsSucceeded:case Yn.LoadInstrumentsFailed:return Ue(e,"isLoading",!1);case Yn.DeleteInstrumentSucceeded:case Yn.DeleteInstrumentFailed:return it(e,{isDeleting:!1,deletingInstrument:void 0});default:return e}}var ei;!function(e){e.UpdatePaymentProviderCustomer="UPDATE_PAYMENT_PROVIDER_CUSTOMER"}(ei||(ei={}));const ti={data:{}};function ni(e=ti,t){return i({data:ii})(e,t)}function ii(e=ti.data,t){return t.type===ei.UpdatePaymentProviderCustomer?it(e,t.payload):e}var ri;!function(e){e.ForgetCheckoutRemoteCustomerRequested="FORGET_CHECKOUT_REMOTE_CUSTOMER_REQUESTED",e.ForgetCheckoutRemoteCustomerSucceeded="FORGET_CHECKOUT_REMOTE_CUSTOMER_SUCCEEDED",e.ForgetCheckoutRemoteCustomerFailed="FORGET_CHECKOUT_REMOTE_CUSTOMER_FAILED",e.InitializeRemoteBillingRequested="INITIALIZE_REMOTE_BILLING_REQUESTED",e.InitializeRemoteBillingSucceeded="INITIALIZE_REMOTE_BILLING_SUCCEEDED",e.InitializeRemoteBillingFailed="INITIALIZE_REMOTE_BILLING_FAILED",e.InitializeRemoteShippingRequested="INITIALIZE_REMOTE_SHIPPING_REQUESTED",e.InitializeRemoteShippingSucceeded="INITIALIZE_REMOTE_SHIPPING_SUCCEEDED",e.InitializeRemoteShippingFailed="INITIALIZE_REMOTE_SHIPPING_FAILED",e.InitializeRemotePaymentRequested="INITIALIZE_REMOTE_PAYMENT_REQUESTED",e.InitializeRemotePaymentSucceeded="INITIALIZE_REMOTE_PAYMENT_SUCCEEDED",e.InitializeRemotePaymentFailed="INITIALIZE_REMOTE_PAYMENT_FAILED",e.LoadRemoteSettingsRequested="LOAD_REMOTE_SETTINGS_REQUESTED",e.LoadRemoteSettingsSucceeded="LOAD_REMOTE_SETTINGS_SUCCEEDED",e.LoadRemoteSettingsFailed="LOAD_REMOTE_SETTINGS_FAILED",e.SignOutRemoteCustomerRequested="SIGN_OUT_REMOTE_CUSTOMER_REQUESTED",e.SignOutRemoteCustomerSucceeded="SIGN_OUT_REMOTE_CUSTOMER_SUCCEEDED",e.SignOutRemoteCustomerFailed="SIGN_OUT_REMOTE_CUSTOMER_FAILED",e.UpdateRemoteCheckout="UPDATE_REMOTE_CHECKOUT"}(ri||(ri={}));const oi={data:{}};function ai(e=oi,t){return t.meta&&t.meta.methodId?i({data:i({[t.meta.methodId]:si})})(e,t):e}function si(e,t){switch(t.type){case ri.InitializeRemoteBillingSucceeded:return Ue(e,"billing",t.payload&&t.payload.billing);case ri.InitializeRemoteShippingSucceeded:return Ue(e,"shipping",t.payload&&t.payload.shipping);case ri.LoadRemoteSettingsSucceeded:return Ue(e,"settings",t.payload);case ri.UpdateRemoteCheckout:return it(e,t.payload);default:return e}}const di={errors:{updateShippingOptionError:{},updateError:{},deleteError:{}},statuses:{isUpdating:{},isUpdatingShippingOption:{},isDeleting:{}}};function ci(e=di,t){return i({data:ui,errors:r(li,Be),statuses:hi})(e,t)}function ui(e,t){var n,i;switch(t.type){case He.LoadCheckoutSucceeded:case at.LoadShippingOptionsSucceeded:case at.CreateConsignmentsSucceeded:case at.UpdateConsignmentSucceeded:case at.DeleteConsignmentSucceeded:case at.UpdateShippingOptionSucceeded:case rt.ApplyCouponSucceeded:case rt.RemoveCouponSucceeded:return nt(e,t.payload&&t.payload.consignments);case Ft.SignOutCustomerSucceeded:return nt(e,[]);case We.HydrateInitialState:return nt(e,null===(i=null===(n=t.payload)||void 0===n?void 0:n.checkout)||void 0===i?void 0:i.consignments);default:return e}}function li(e=di.errors,t){switch(t.type){case He.LoadCheckoutRequested:case He.LoadCheckoutSucceeded:case at.LoadShippingOptionsSucceeded:case at.LoadShippingOptionsRequested:return Ue(e,"loadError",void 0);case He.LoadCheckoutFailed:case at.LoadShippingOptionsFailed:return Ue(e,"loadError",t.payload);case at.CreateConsignmentsRequested:case at.CreateConsignmentsSucceeded:return Ue(e,"createError",void 0);case at.CreateConsignmentsFailed:return Ue(e,"createError",t.payload);case at.UpdateConsignmentSucceeded:case at.UpdateConsignmentRequested:return t.meta?it(e,{updateError:{[t.meta.id]:void 0}}):e;case at.UpdateConsignmentFailed:return t.meta?it(e,{updateError:{[t.meta.id]:t.payload}}):e;case at.DeleteConsignmentSucceeded:case at.DeleteConsignmentRequested:return t.meta?it(e,{deleteError:{[t.meta.id]:void 0}}):e;case at.DeleteConsignmentFailed:return t.meta?it(e,{deleteError:{[t.meta.id]:t.payload}}):e;case at.UpdateShippingOptionRequested:case at.UpdateShippingOptionSucceeded:return t.meta?it(e,{updateShippingOptionError:{[t.meta.id]:void 0}}):e;case at.UpdateShippingOptionFailed:return t.meta?it(e,{updateShippingOptionError:{[t.meta.id]:t.payload}}):e;default:return e}}function hi(e=di.statuses,t){switch(t.type){case He.LoadCheckoutRequested:return Ue(e,"isLoading",!0);case at.LoadShippingOptionsRequested:return Ue(e,"isLoadingShippingOptions",!0);case He.LoadCheckoutSucceeded:case He.LoadCheckoutFailed:return Ue(e,"isLoading",!1);case at.LoadShippingOptionsSucceeded:case at.LoadShippingOptionsFailed:return Ue(e,"isLoadingShippingOptions",!1);case at.CreateConsignmentsRequested:return Ue(e,"isCreating",!0);case at.CreateConsignmentsSucceeded:case at.CreateConsignmentsFailed:return Ue(e,"isCreating",!1);case at.UpdateConsignmentRequested:return t.meta?it(e,{isUpdating:{[t.meta.id]:!0}}):e;case at.UpdateConsignmentSucceeded:case at.UpdateConsignmentFailed:return t.meta?it(e,{isUpdating:{[t.meta.id]:!1}}):e;case at.DeleteConsignmentRequested:return t.meta?it(e,{isDeleting:{[t.meta.id]:!0}}):e;case at.DeleteConsignmentSucceeded:case at.DeleteConsignmentFailed:return t.meta?it(e,{isDeleting:{[t.meta.id]:!1}}):e;case at.UpdateShippingOptionRequested:return t.meta?it(e,{isUpdatingShippingOption:{[t.meta.id]:!0}}):e;case at.UpdateShippingOptionSucceeded:case at.UpdateShippingOptionFailed:return t.meta?it(e,{isUpdatingShippingOption:{[t.meta.id]:!1}}):e;default:return e}}function pi(e,t){const n={};return Object.keys(e).forEach(i=>{const r=e[i],o=t?`${t}.${i}`:i;"object"==typeof r?Object.assign(n,pi(r,o)):n[o]=r}),n}function gi(e){return Object.keys(e).sort().reduce((t,n)=>Object.assign(Object.assign({},t),{[n]:e[n]}),{})}var mi;!function(e){e.LoadPickupOptionsRequested="LOAD_PICKUP_OPTIONS_REQUESTED",e.LoadPickupOptionsSucceeded="LOAD_PICKUP_OPTIONS_SUCCEEDED",e.LoadPickupOptionsFailed="LOAD_PICKUP_OPTIONS_FAILED"}(mi||(mi={}));const yi={errors:{},statuses:{}};function fi(e=yi,t){return i({data:_i,errors:r(Si,Be),statuses:vi})(e,t)}function _i(e,t){if(t.type!==mi.LoadPickupOptionsSucceeded)return e;if(t.meta){const n=gi(pi({consignmentId:t.meta.consignmentId,searchArea:t.meta.searchArea}));return Ue(e,btoa(`${JSON.stringify(n)}`),t.payload)}}function Si(e=yi.errors,t){switch(t.type){case mi.LoadPickupOptionsRequested:case mi.LoadPickupOptionsSucceeded:return Ue(e,"loadError",void 0);case mi.LoadPickupOptionsFailed:return Ue(e,"loadError",t.payload);default:return e}}function vi(e=yi.statuses,t){switch(t.type){case mi.LoadPickupOptionsRequested:return Ue(e,"isLoading",!0);case mi.LoadPickupOptionsSucceeded:case mi.LoadPickupOptionsFailed:return Ue(e,"isLoading",!1);default:return e}}var Ci;!function(e){e.LoadShippingCountriesRequested="LOAD_SHIPPING_COUNTRIES_REQUESTED",e.LoadShippingCountriesSucceeded="LOAD_SHIPPING_COUNTRIES_SUCCEEDED",e.LoadShippingCountriesFailed="LOAD_SHIPPING_COUNTRIES_FAILED"}(Ci||(Ci={}));const Ii={errors:{},statuses:{}};function wi(e=Ii,t){return i({data:bi,errors:r(Ei,Be),statuses:Pi})(e,t)}function bi(e,t){return t.type===Ci.LoadShippingCountriesSucceeded?nt(e,t.payload):e}function Ei(e=Ii.errors,t){switch(t.type){case Ci.LoadShippingCountriesRequested:case Ci.LoadShippingCountriesSucceeded:return Ue(e,"loadError",void 0);case Ci.LoadShippingCountriesFailed:return Ue(e,"loadError",t.payload);default:return e}}function Pi(e=Ii.statuses,t){switch(t.type){case Ci.LoadShippingCountriesRequested:return Ue(e,"isLoading",!0);case Ci.LoadShippingCountriesSucceeded:case Ci.LoadShippingCountriesFailed:return Ue(e,"isLoading",!1);default:return e}}var Oi;!function(e){e.UpdateAddressFailed="SHIPPING_STRATEGY_UPDATE_ADDRESS_FAILED",e.UpdateAddressRequested="SHIPPING_STRATEGY_UPDATE_ADDRESS_REQUESTED",e.UpdateAddressSucceeded="SHIPPING_STRATEGY_UPDATE_ADDRESS_SUCCEEDED",e.SelectOptionFailed="SHIPPING_STRATEGY_SELECT_OPTION_FAILED",e.SelectOptionRequested="SHIPPING_STRATEGY_SELECT_OPTION_REQUESTED",e.SelectOptionSucceeded="SHIPPING_STRATEGY_SELECT_OPTION_SUCCEEDED",e.InitializeFailed="SHIPPING_STRATEGY_INITIALIZE_FAILED",e.InitializeRequested="SHIPPING_STRATEGY_INITIALIZE_REQUESTED",e.InitializeSucceeded="SHIPPING_STRATEGY_INITIALIZE_SUCCEEDED",e.DeinitializeFailed="SHIPPING_STRATEGY_DEINITIALIZE_FAILED",e.DeinitializeRequested="SHIPPING_STRATEGY_DEINITIALIZE_REQUESTED",e.DeinitializeSucceeded="SHIPPING_STRATEGY_DEINITIALIZE_SUCCEEDED",e.WidgetInteractionStarted="SHIPPING_STRATEGY_WIDGET_INTERACTION_STARTED",e.WidgetInteractionFinished="SHIPPING_STRATEGY_WIDGET_INTERACTION_FINISHED",e.WidgetInteractionFailed="SHIPPING_STRATEGY_WIDGET_INTERACTION_FAILED"}(Oi||(Oi={}));const Ai={data:{},errors:{},statuses:{}};function Ti(e=Ai,t){return i({data:ki,errors:r(Ri,Be),statuses:Di})(e,t)}function ki(e=Ai.data,t){switch(t.type){case Oi.InitializeSucceeded:return it(e,{[t.meta&&t.meta.methodId]:{isInitialized:!0}});case Oi.DeinitializeSucceeded:return it(e,{[t.meta&&t.meta.methodId]:{isInitialized:!1}})}return e}function Ri(e=Ai.errors,t){switch(t.type){case Oi.InitializeRequested:case Oi.InitializeSucceeded:return it(e,{initializeError:void 0,initializeMethodId:void 0});case Oi.InitializeFailed:return it(e,{initializeError:t.payload,initializeMethodId:t.meta&&t.meta.methodId});case Oi.DeinitializeRequested:case Oi.DeinitializeSucceeded:return it(e,{deinitializeError:void 0,deinitializeMethodId:void 0});case Oi.DeinitializeFailed:return it(e,{deinitializeError:t.payload,deinitializeMethodId:t.meta&&t.meta.methodId});case Oi.UpdateAddressRequested:case Oi.UpdateAddressSucceeded:return it(e,{updateAddressError:void 0,updateAddressMethodId:void 0});case Oi.UpdateAddressFailed:return it(e,{updateAddressError:t.payload,updateAddressMethodId:t.meta&&t.meta.methodId});case Oi.SelectOptionRequested:case Oi.SelectOptionSucceeded:return it(e,{selectOptionError:void 0,selectOptionMethodId:void 0});case Oi.SelectOptionFailed:return it(e,{selectOptionError:t.payload,selectOptionMethodId:t.meta&&t.meta.methodId});case Oi.WidgetInteractionStarted:case Oi.WidgetInteractionFinished:return it(e,{widgetInteractionError:void 0,widgetInteractionMethodId:void 0});case Oi.WidgetInteractionFailed:return it(e,{widgetInteractionError:t.payload,widgetInteractionMethodId:t.meta&&t.meta.methodId});default:return e}}function Di(e=Ai.statuses,t){switch(t.type){case Oi.InitializeRequested:return it(e,{isInitializing:!0,initializeMethodId:t.meta&&t.meta.methodId});case Oi.InitializeFailed:case Oi.InitializeSucceeded:return it(e,{isInitializing:!1,initializeMethodId:void 0});case Oi.DeinitializeRequested:return it(e,{isDeinitializing:!0,deinitializeMethodId:t.meta&&t.meta.methodId});case Oi.DeinitializeFailed:case Oi.DeinitializeSucceeded:return it(e,{isDeinitializing:!1,deinitializeMethodId:void 0});case Oi.UpdateAddressRequested:return it(e,{isUpdatingAddress:!0,updateAddressMethodId:t.meta&&t.meta.methodId});case Oi.UpdateAddressFailed:case Oi.UpdateAddressSucceeded:return it(e,{isUpdatingAddress:!1,updateAddressMethodId:void 0});case Oi.SelectOptionRequested:return it(e,{isSelectingOption:!0,selectOptionMethodId:t.meta&&t.meta.methodId});case Oi.SelectOptionFailed:case Oi.SelectOptionSucceeded:return it(e,{isSelectingOption:!1,selectOptionMethodId:void 0});case Oi.WidgetInteractionStarted:return it(e,{isWidgetInteracting:!0,widgetInteractionMethodId:t.meta&&t.meta.methodId});case Oi.WidgetInteractionFinished:case Oi.WidgetInteractionFailed:return it(e,{isWidgetInteracting:!1,widgetInteractionMethodId:void 0});default:return e}}var Mi;!function(e){e.SendSignInEmailRequested="SEND_SIGNIN_EMAIL_REQUESTED",e.SendSignInEmailSucceeded="SEND_SIGNIN_EMAIL_SUCCEEDED",e.SendSignInEmailFailed="SEND_SIGNIN_EMAIL_FAILED"}(Mi||(Mi={}));const Ni={errors:{},statuses:{}};function Li(e=Ni,t){return i({data:zi,errors:r(Bi,Be),statuses:Fi})(e,t)}function zi(e,t){return t.type===Mi.SendSignInEmailSucceeded?it(e,t.payload):e}function Bi(e=Ni.errors,t){switch(t.type){case Mi.SendSignInEmailRequested:case Mi.SendSignInEmailSucceeded:return Ue(e,"sendError",void 0);case Mi.SendSignInEmailFailed:return Ue(e,"sendError",t.payload);default:return e}}function Fi(e=Ni.statuses,t){switch(t.type){case Mi.SendSignInEmailRequested:return Ue(e,"isSending",!0);case Mi.SendSignInEmailFailed:case Mi.SendSignInEmailSucceeded:return Ue(e,"isSending",!1);default:return e}}var Ui;!function(e){e.ApplyStoreCreditRequested="APPLY_STORE_CREDIT_REQUESTED",e.ApplyStoreCreditSucceeded="APPLY_STORE_CREDIT_SUCCEEDED",e.ApplyStoreCreditFailed="APPLY_STORE_CREDIT_FAILED"}(Ui||(Ui={}));const xi={errors:{},statuses:{}};function qi(e=xi,t){return i({errors:r(ji,Be),statuses:Gi})(e,t)}function ji(e=xi.errors,t){switch(t.type){case Ui.ApplyStoreCreditRequested:case Ui.ApplyStoreCreditSucceeded:return Ue(e,"applyError",void 0);case Ui.ApplyStoreCreditFailed:return Ue(e,"applyError",t.payload);default:return e}}function Gi(e=xi.statuses,t){switch(t.type){case Ui.ApplyStoreCreditRequested:return Ue(e,"isApplying",!0);case Ui.ApplyStoreCreditSucceeded:case Ui.ApplyStoreCreditFailed:return Ue(e,"isApplying",!1);default:return e}}const Vi={errors:{},statuses:{}};function Hi(e=Vi,t){return i({errors:r(Wi,Be),statuses:Yi})(e,t)}function Wi(e=Vi.errors,t){switch(t.type){case Ye.UpdateSubscriptionsRequested:case Ye.UpdateSubscriptionsSucceeded:return Ue(e,"updateError",void 0);case Ye.UpdateSubscriptionsFailed:return Ue(e,"updateError",t.payload);default:return e}}function Yi(e=Vi.statuses,t){switch(t.type){case Ye.UpdateSubscriptionsRequested:return Ue(e,"isUpdating",!0);case Ye.UpdateSubscriptionsFailed:case Ye.UpdateSubscriptionsSucceeded:return Ue(e,"isUpdating",!1);default:return e}}var Ki;!function(e){e.InitializeFailed="SPAM_PROTECTION_INITIALIZE_FAILED",e.InitializeSucceeded="SPAM_PROTECTION_INITIALIZE_SUCCEEDED",e.InitializeRequested="SPAM_PROTECTION_INITIALIZE_REQUESTED",e.VerifyCheckoutRequested="SPAM_PROTECTION_CHECKOUT_VERIFY_REQUESTED",e.VerifyCheckoutSucceeded="SPAM_PROTECTION_CHECKOUT_VERIFY_SUCCEEDED",e.VerifyCheckoutFailed="SPAM_PROTECTION_CHECKOUT_VERIFY_FAILED",e.ExecuteRequested="SPAM_PROTECTION_EXECUTE_REQUESTED",e.ExecuteSucceeded="SPAM_PROTECTION_EXECUTE_SUCCEEDED",e.ExecuteFailed="SPAM_PROTECTION_EXECUTE_FAILED"}(Ki||(Ki={}));const $i={errors:{},statuses:{}};function Zi(e=$i,t){return i({data:Ji,errors:r(Qi,Be),statuses:Xi})(e,t)}function Ji(e,t){var n;switch(t.type){case He.LoadCheckoutSucceeded:case He.UpdateCheckoutSucceeded:case Ui.ApplyStoreCreditSucceeded:case Ke.UpdateBillingAddressSucceeded:case rt.ApplyCouponSucceeded:case rt.RemoveCouponSucceeded:case at.CreateConsignmentsSucceeded:case at.UpdateConsignmentSucceeded:case at.DeleteConsignmentSucceeded:case at.UpdateShippingOptionSucceeded:case at.LoadShippingOptionsSucceeded:case ot.ApplyGiftCertificateSucceeded:case ot.RemoveGiftCertificateSucceeded:case Ki.VerifyCheckoutSucceeded:return it(e,k(t.payload,["billingAddress","cart","consignments","customer","coupons","giftCertificates"]));case He.DeleteCheckoutSucceeded:return;case Ot.SubmitOrderSucceeded:return Ue(e,"orderId",t.payload&&t.payload.order.orderId);case We.HydrateInitialState:return it(e,k(null===(n=t.payload)||void 0===n?void 0:n.checkout,["billingAddress","cart","consignments","customer","coupons","giftCertificates"]));default:return e}}function Qi(e=$i.errors,t){switch(t.type){case He.LoadCheckoutRequested:case He.LoadCheckoutSucceeded:return Ue(e,"loadError",void 0);case He.LoadCheckoutFailed:return Ue(e,"loadError",t.payload);case He.UpdateCheckoutRequested:case He.UpdateCheckoutSucceeded:return Ue(e,"updateError",void 0);case He.UpdateCheckoutFailed:return Ue(e,"updateError",t.payload);case He.DeleteCheckoutRequested:case He.DeleteCheckoutSucceeded:return Ue(e,"deleteError",void 0);case He.DeleteCheckoutFailed:return Ue(e,"deleteError",t.payload);default:return e}}function Xi(e=$i.statuses,t){switch(t.type){case He.LoadCheckoutRequested:return Ue(e,"isLoading",!0);case He.LoadCheckoutFailed:case He.LoadCheckoutSucceeded:return Ue(e,"isLoading",!1);case He.UpdateCheckoutRequested:return Ue(e,"isUpdating",!0);case He.UpdateCheckoutFailed:case He.UpdateCheckoutSucceeded:return Ue(e,"isUpdating",!1);case He.DeleteCheckoutRequested:return Ue(e,"isDeleting",!0);case He.DeleteCheckoutFailed:case He.DeleteCheckoutSucceeded:return Ue(e,"isDeleting",!1);case Ki.ExecuteRequested:return Ue(e,"isExecutingSpamCheck",!0);case Ki.ExecuteFailed:case Ki.ExecuteSucceeded:return Ue(e,"isExecutingSpamCheck",!1);default:return e}}const er=(tr=ce,(...e)=>{const t=e.pop();return tr(...e,(...e)=>{const n=t(...e);return"function"==typeof n?se(n):n})});var tr,nr;!function(e){e[e.MissingB2BConfig=0]="MissingB2BConfig",e[e.MissingBillingAddress=1]="MissingBillingAddress",e[e.MissingCart=2]="MissingCart",e[e.MissingCheckout=3]="MissingCheckout",e[e.MissingConsignments=4]="MissingConsignments",e[e.MissingCustomer=5]="MissingCustomer",e[e.MissingCheckoutConfig=6]="MissingCheckoutConfig",e[e.MissingOrder=7]="MissingOrder",e[e.MissingOrderConfig=8]="MissingOrderConfig",e[e.MissingOrderId=9]="MissingOrderId",e[e.MissingPayment=10]="MissingPayment",e[e.MissingPaymentId=11]="MissingPaymentId",e[e.MissingPaymentInstrument=12]="MissingPaymentInstrument",e[e.MissingPaymentMethod=13]="MissingPaymentMethod",e[e.MissingPaymentProviderCustomer=14]="MissingPaymentProviderCustomer",e[e.MissingPaymentRedirectUrl=15]="MissingPaymentRedirectUrl",e[e.MissingPaymentStatus=16]="MissingPaymentStatus",e[e.MissingPaymentToken=17]="MissingPaymentToken",e[e.MissingShippingAddress=18]="MissingShippingAddress",e[e.MissingB2BToken=19]="MissingB2BToken",e[e.MissingB2BStorefrontToken=20]="MissingB2BStorefrontToken"}(nr||(nr={}));class ir extends Ee{constructor(e){super(function(e){switch(e){case nr.MissingB2BConfig:return"Unable to proceed because B2B configuration is unavailable.";case nr.MissingBillingAddress:return"Unable to proceed because billing address data is unavailable.";case nr.MissingCart:return"Unable to proceed because cart data is unavailable.";case nr.MissingConsignments:return"Unable to proceed because consignments data is unavailable.";case nr.MissingCheckout:return"Unable to proceed because checkout data is unavailable.";case nr.MissingCustomer:return"Unable to proceed because customer data is unavailable.";case nr.MissingCheckoutConfig:case nr.MissingOrderConfig:return"Unable to proceed because configuration data is unavailable.";case nr.MissingOrder:return"Unable to proceed because order data is unavailable.";case nr.MissingOrderId:return"Unable to proceed because order ID is unavailable or not generated yet.";case nr.MissingPayment:return"Unable to proceed because payment data is unavailable.";case nr.MissingPaymentToken:return"Unable to proceed because the token required to submit a payment is missing.";case nr.MissingPaymentMethod:return"Unable to proceed because payment method data is unavailable or not properly configured.";case nr.MissingPaymentProviderCustomer:return"Unable to proceed because payment provider customer is unavailable.";case nr.MissingShippingAddress:return"Unable to proceed because shipping address data is unavailable.";case nr.MissingB2BToken:return"Unable to proceed because the B2B token is unavailable. `getB2BToken` must be called first.";case nr.MissingB2BStorefrontToken:return"Unable to proceed because the B2B Edition API did not return a storefront token.";default:return"Unable to proceed because the required data is unavailable."}}(e)),this.subtype=e,this.name="MissingDataError",this.type="missing_data"}}function rr(e,t){if(null==e)throw t?t():new Error("An unexpected error has occurred.");return e}function or(e){return function(e){const t=Object.create(e);return function(e,t){let n=Object.getPrototypeOf(e);for(;n;)t(n),n=Object.getPrototypeOf(n)}(e,n=>{Object.getOwnPropertyNames(n).forEach(n=>{"constructor"!==n&&"function"==typeof t[n]&&"_"!==n.charAt(0)&&(t[n]=((e,t)=>(...n)=>d(e[t].call(e,...n)))(e,n))})}),t}(e)}const ar="b2bExtraField_";function sr(e){var t;const{fieldType:n,type:i}=function(e){switch(e){case"multiline_text":return{fieldType:"multiline",type:"string"};case"number":return{fieldType:"text",type:"integer"};case"dropdown":return{fieldType:"dropdown",type:"array"};default:return{fieldType:"text",type:"string"}}}(e.type);let r;return e.config.numberOfRows&&(r={rows:e.config.numberOfRows}),(null===(t=e.config.options)||void 0===t?void 0:t.length)&&(r=Object.assign(Object.assign({},r),{items:e.config.options.map(e=>({value:e,label:e}))})),{id:`${ar}${e.id}`,name:`${ar}${e.id}`,custom:!1,label:e.name,hidden:!e.visibleToStorefront,required:e.isRequired,default:null!=e.config.defaultValue?String(e.config.defaultValue):void 0,fieldType:n,type:i,maxLength:e.config.maxLength,max:e.config.maxValue,options:r}}const dr={"mollie.credit_card":{provider:"mollie",method:"credit_card"},"adyenv2.scheme":{provider:"adyenv2",method:"scheme"},"adyenv3.scheme":{provider:"adyenv3",method:"scheme"},"adyenv2.bcmc":{provider:"adyenv2",method:"bcmc"},"adyenv2.ideal":{provider:"adyenv2",method:"ideal"},"adyenv2.sepadirectdebit":{provider:"adyenv2",method:"sepadirectdebit"},"adyenv2.directEbanking":{provider:"adyenv2",method:"directEbanking"},"adyenv2.giropay":{provider:"adyenv2",method:"giropay"},braintree:{provider:"braintree",method:"credit_card"},braintreepaypal:{provider:"braintree",method:"paypal"},braintreeach:{provider:"braintree",method:"ach"},authorizenet:{provider:"authorizenet",method:"credit_card"},elavon:{provider:"elavon",method:"credit_card"},checkoutcom:{provider:"checkoutcom",method:"credit_card"},"checkoutcom.credit_card":{provider:"checkoutcom",method:"credit_card"},"checkoutcom.card":{provider:"checkoutcom",method:"card"},sagepay:{provider:"sagepay",method:"credit_card"},stripe:{provider:"stripe",method:"credit_card"},"stripev3.card":{provider:"stripev3",method:"card"},"stripeupe.card":{provider:"stripeupe",method:"card"},cybersource:{provider:"cybersource",method:"credit_card"},cybersourcev2:{provider:"cybersourcev2",method:"credit_card"},bnz:{provider:"bnz",method:"credit_card"},converge:{provider:"converge",method:"credit_card"},bluesnapv2:{provider:"bluesnapv2",method:"credit_card"},"bluesnapdirect.credit_card":{provider:"bluesnapdirect",method:"credit_card"},"bluesnapdirect.ecp":{provider:"bluesnapdirect",method:"ecp"},"bluesnapdirect.sepa_direct_debit":{provider:"bluesnapdirect",method:"sepa_direct_debit"},orbital:{provider:"orbital",method:"credit_card"},paymetric:{provider:"paymetric",method:"credit_card"},bolt:{provider:"bolt",method:"credit_card"},moneris:{provider:"moneris",method:"credit_card"},cba_mpgs:{provider:"cba_mpgs",method:"credit_card"},worldpayaccess:{provider:"worldpayaccess",method:"credit_card"},"worldpayaccess.credit_card":{provider:"worldpayaccess",method:"credit_card"},squarev2:{provider:"squarev2",method:"credit_card"},paypalcommercecreditcards:{provider:"paypalcommerce",method:"credit_card"},paypalcommerce:{provider:"paypalcommerce",method:"paypal"},bigcommerce_payments_creditcards:{provider:"bigcommerce_payments",method:"credit_card"},bigcommerce_payments:{provider:"bigcommerce_payments",method:"paypal"},tdonlinemart:{provider:"tdonlinemart",method:"credit_card"}};function cr(e){return M({firstName:e.firstName,lastName:e.lastName,company:e.company,address1:e.address1,address2:e.address2,city:e.city,stateOrProvince:e.stateOrProvince,countryCode:e.countryCode,postalCode:e.postalCode,phone:e.phone,customFields:e.customFields},g)}const ur={errors:{},statuses:{}};function lr(){const e=function(){const e=er(e=>{var t;return null===(t=e.data)||void 0===t?void 0:t.receiptId},e=>()=>e),t=er(e=>e.errors.persistB2bMetadataError,e=>()=>e),n=er(e=>!!e.statuses.isPersisting,e=>()=>e);return de((i=Pn)=>({getReceiptId:e(i),getPersistError:t(i),isPersisting:n(i)}))}(),t=function(){const e=er(e=>{var t;return null===(t=e.data)||void 0===t?void 0:t.token},e=>()=>e),t=er(e=>e.errors.loadError,e=>()=>e),n=er(e=>!!e.statuses.isLoading,e=>()=>e);return de((i=xe)=>({getToken:e(i),getLoadError:t(i),isLoading:n(i)}))}(),n=function(){const e=er(e=>e.data,e=>()=>e),t=er(e,e=>()=>rr(e(),()=>new ir(nr.MissingBillingAddress))),n=er(e=>e.errors.updateError,e=>()=>e),i=er(e=>e.errors.continueAsGuestError,e=>()=>e),r=er(e=>e.errors.loadError,e=>()=>e),o=er(e=>!!e.statuses.isUpdating,e=>()=>e),a=er(e=>!!e.statuses.isContinuingAsGuest,e=>()=>e),s=er(e=>!!e.statuses.isLoading,e=>()=>e);return de((d=Ze)=>({getBillingAddress:e(d),getBillingAddressOrThrow:t(d),getUpdateError:n(d),getContinueAsGuestError:i(d),getLoadError:r(d),isUpdating:o(d),isContinuingAsGuest:a(d),isLoading:s(d)}))}(),i=function(){const e=er(e=>e.data,e=>()=>e),t=er(e,e=>()=>rr(e(),()=>new ir(nr.MissingCart))),n=er(e=>e.errors.loadError,e=>()=>e),i=er(e=>!!e.statuses.isLoading,e=>()=>e),r=er(e=>{var t;return null===(t=e.data)||void 0===t?void 0:t.locale},e=>()=>e);return de((o=st)=>({getCart:e(o),getCartOrThrow:t(o),getLoadError:n(o),isLoading:i(o),getLocale:r(o)}))}(),r=function(){const e=er(e=>e,e=>()=>e),t=er(e=>e.statuses,e=>se(t=>{if(t){const n=e[t];return!0===(n&&n.isInitializing)}return z(e,{isInitializing:!0})})),n=er(e=>e.data,e=>se((t,n)=>{const i=e[t];return!!i&&(n?!0===i.initializedContainers[n]:z(i.initializedContainers,e=>!0===e))})),i=er(e=>e.statuses,e=>se(t=>{if(t){const n=e[t];return!0===(n&&n.isDeinitializing)}return z(e,{isDeinitializing:!0})})),r=er(e=>e.errors,e=>se(t=>{const n=t?e[t]:l(q(e),e=>!(!e||!e.initializeError));return n&&n.initializeError})),o=er(e=>e.errors,e=>se(t=>{const n=t?e[t]:l(q(e),e=>!(!e||!e.deinitializeError));return n&&n.deinitializeError}));return de((a=pt)=>({getState:e(a),isInitializing:t(a),isInitialized:n(a),isDeinitializing:i(a),getInitializeError:r(a),getDeinitializeError:o(a)}))}(),o=function(){const e=er(e=>e.data,e=>()=>e),t=er(e=>e.data,e=>t=>{if(!e)return;const{flashMessages:n}=e.context;return n?void 0!==t?n.filter(({type:e})=>t===e):n:void 0}),n=er(e=>e.data,(e,{formState:t})=>t&&t.data,(e,t={customerAccount:[],shippingAddress:[],billingAddress:[]})=>()=>e?Object.assign(Object.assign({},e.storeConfig),{formFields:t}):void 0),i=er(n,e=>()=>rr(e(),()=>new ir(nr.MissingCheckoutConfig))),r=er(e=>e.data&&e.data.context,e=>()=>e),o=er(e=>e.meta&&e.meta.externalSource,e=>()=>e),a=er(e=>{var t;return null===(t=e.meta)||void 0===t?void 0:t.host},e=>()=>e),s=er(e=>{var t;return null===(t=e.meta)||void 0===t?void 0:t.locale},e=>()=>e),d=er(e=>e.meta&&e.meta.variantIdentificationToken,e=>()=>e),c=er(e=>e.errors.loadError,e=>()=>e),u=er(e=>!!e.statuses.isLoading,e=>()=>e);return de((l=It,h)=>({getConfig:e(l),getFlashMessages:t(l),getStoreConfig:n(l,{formState:h}),getStoreConfigOrThrow:i(l,{formState:h}),getContextConfig:r(l),getExternalSource:o(l),getHost:a(l),getLocale:s(l),getVariantIdentificationToken:d(l),getLoadError:c(l),isLoading:u(l)}))}(),a=function(){const e=er(e=>e.data,e=>()=>e),t=er(e=>e.errors.loadError,e=>()=>e),n=er(e=>!!e.statuses.isLoading,e=>()=>e);return de((i=ln)=>({getCountries:e(i),getLoadError:t(i),isLoading:n(i)}))}(),s=function(){const e=er(e=>e.data,e=>()=>e),t=er(e=>e.errors.removeCouponError,e=>()=>e),n=er(e=>e.errors.applyCouponError,e=>()=>e),i=er(e=>!!e.statuses.isApplyingCoupon,e=>()=>e),r=er(e=>!!e.statuses.isRemovingCoupon,e=>()=>e);return de((o=At)=>({getCoupons:e(o),getRemoveError:t(o),getApplyError:n(o),isApplying:i(o),isRemoving:r(o)}))}(),d=function(){const e=er(e=>e.data,e=>()=>e),t=er(e,e=>()=>rr(e(),()=>new ir(nr.MissingCustomer))),n=er(e=>e.errors.createError,e=>()=>e),i=er(e=>!!e.statuses.isCreating,e=>()=>e),r=er(e=>e.errors.createAddressError,e=>()=>e),o=er(e=>!!e.statuses.isCreatingAddress,e=>()=>e);return de((a=Ut)=>({getCustomer:e(a),getCustomerOrThrow:t(a),getCreateAccountError:n(a),isCreatingCustomerAccount:i(a),getCreateAddressError:r(a),isCreatingCustomerAddress:o(a)}))}(),c=function(){const e=er(e=>e.errors.signInMethodId,e=>e.errors.signInError,(e,t)=>n=>{if(!n||e===n)return t}),t=er(e=>e.errors.signOutMethodId,e=>e.errors.signOutError,(e,t)=>n=>{if(!n||e===n)return t}),n=er(e=>e.errors.executePaymentMethodCheckoutMethodId,e=>e.errors.executePaymentMethodCheckoutError,(e,t)=>n=>{if(!n||e===n)return t}),i=er(e=>e.errors.initializeMethodId,e=>e.errors.initializeErrors,(e,t)=>n=>{if(e&&t)return n?t[n]:t[e]}),r=er(e=>e.errors.widgetInteractionMethodId,e=>e.errors.widgetInteractionError,(e,t)=>n=>{if(!n||e===n)return t}),o=er(e=>e.statuses.signInMethodId,e=>e.statuses.isSigningIn,(e,t)=>n=>!(n&&e!==n||!t)),a=er(e=>e.statuses.signOutMethodId,e=>e.statuses.isSigningOut,(e,t)=>n=>!(n&&e!==n||!t)),s=er(e=>e.statuses.executePaymentMethodCheckoutMethodId,e=>e.statuses.isExecutingPaymentMethodCheckout,(e,t)=>n=>!(n&&e!==n||!t)),d=er(e=>e.statuses.initializeMethodId,e=>e.statuses.isInitializing,(e,t)=>n=>!(n&&e!==n||!t)),c=er(e=>e.data,e=>t=>!(!e[t]||!e[t].isInitialized)),u=er(e=>e.statuses.widgetInteractionMethodId,e=>e.statuses.isWidgetInteracting,(e,t)=>n=>!(n&&e!==n||!t));return de((l=Ht)=>({getSignInError:e(l),getSignOutError:t(l),getExecutePaymentMethodCheckoutError:n(l),getInitializeError:i(l),getWidgetInteractionError:r(l),isSigningIn:o(l),isSigningOut:a(l),isExecutingPaymentMethodCheckout:s(l),isInitializing:d(l),isInitialized:c(l),isWidgetInteracting:u(l)}))}(),h=function(){const e=er(e=>e.data,e=>()=>e),t=er(e=>e.errors.removeGiftCertificateError,e=>()=>e),n=er(e=>e.errors.applyGiftCertificateError,e=>()=>e),i=er(e=>!!e.statuses.isApplyingGiftCertificate,e=>()=>e),r=er(e=>!!e.statuses.isRemovingGiftCertificate,e=>()=>e);return de((o=Mt)=>({getGiftCertificates:e(o),getRemoveError:t(o),getApplyError:n(o),isApplying:i(o),isRemoving:r(o)}))}(),g=function(){const e=er(e=>e.data,e=>t=>{if(!e)return;const n=t.gateway?`${t.gateway}.${t.id}`:t.id,i=dr[n];return i?u(e,i):[]}),t=er(e=>e.data,(e=[])=>t=>{const n=q(dr);return e.find(e=>e.bigpayToken===t&&"card"===e.type&&n.some(t=>S(e,t)))}),n=er(t,e=>t=>rr(e(t),()=>new ir(nr.MissingPaymentInstrument))),i=er(e=>e.data,e=>()=>{if(e)return p(dr,t=>u(e,e=>S(e,t)))}),r=er(e=>e.meta,e=>()=>e),o=er(e=>e.errors.loadError,e=>()=>e),a=er(e=>e.errors.failedInstrument,e=>e.errors.deleteError,(e,t)=>n=>{if(!n||e===n)return t}),s=er(e=>e.statuses.isLoading,e=>()=>!!e),d=er(e=>e.statuses.deletingInstrument,e=>e.statuses.isDeleting,(e,t)=>n=>!(n&&e!==n||!t));return de((c=Kn)=>({getCardInstrument:t(c),getCardInstrumentOrThrow:n(c),getInstruments:i(c),getInstrumentsByPaymentMethod:e(c),getInstrumentsMeta:r(c),getLoadError:o(c),getDeleteError:a(c),isLoading:s(c),isDeleting:d(c)}))}(),m=function(){const e=er(e=>e.data,e=>(t=[],n)=>{const i=l(t,{code:n});return(e?e.shippingAddress:[]).map(e=>s(e,t,i))}),t=er(e=>e.data,e=>(t=[],n)=>{const i=l(t,{code:n});return(e?e.billingAddress:[]).map(e=>s(e,t,i))}),n=er(e=>e.data,e=>()=>e?e.customerAccount:[]),i=er(e=>e.extraFields,e=>()=>e&&e.address.length?e.address.map(sr):[]),r=er(e=>e.extraFields,e=>()=>e&&e.order.length?e.order.map(sr):[]),o=er(e=>e.errors.loadError,e=>()=>e),a=er(e=>!!e.statuses.isLoading,e=>()=>e);function s(e,t,n){return"countryCode"===e.name?function(e,t=[],n){if(!t.length)return e;const{code:i=""}=n||{},r=t.map(({code:e,name:t})=>({value:e,label:t}));return Object.assign(Object.assign({},e),{options:{items:r},default:i,type:"array",fieldType:"dropdown",itemtype:"string"})}(e,t,n):"stateOrProvince"===e.name?function(e,t){const{subdivisions:n=[],requiresState:i}=t||{};if(!n.length)return Object.assign(Object.assign({},e),{required:null!=i&&i});const r=n.map(({code:e,name:t})=>({value:e,label:t}));return Object.assign(Object.assign({},e),{name:"stateOrProvinceCode",options:{items:r},required:null==i||i,type:"array",fieldType:"dropdown",itemtype:"string"})}(e,n):"postalCode"===e.name?function(e,t){const{hasPostalCodes:n=[]}=t||{};return void 0===n?e:Object.assign(Object.assign({},e),{required:Boolean(n)})}(e,n):e}return de((s=rn)=>({getShippingAddressFields:e(s),getBillingAddressFields:t(s),getCustomerAccountFields:n(s),getAddressExtraFields:i(s),getOrderExtraFields:r(s),getLoadError:o(s),isLoading:a(s)}))}(),y=function(){const e=er(e=>e.data,e=>()=>e),t=er(e=>e.meta,e=>()=>e),n=er(e=>e.data,e=>(t,n)=>l(e,n?{id:t,gateway:n}:{id:t})),i=er(n,e=>(t,n)=>rr(e(t,n),()=>new ir(nr.MissingPaymentMethod))),r=er(e=>e.errors.loadError,e=>()=>e),o=er(e=>e.errors.loadMethodId,e=>e.errors.loadMethodError,(e,t)=>n=>{if(!n||e===n)return t}),a=er(e=>e.statuses.isLoading,e=>()=>!!e),s=er(e=>e.statuses.loadMethodId,e=>e.statuses.isLoadingMethod,(e,t)=>n=>!(n&&e!==n||!t));return de((d=Ln)=>({getPaymentMethods:e(d),getPaymentMethodsMeta:t(d),getPaymentMethod:n(d),getPaymentMethodOrThrow:i(d),getLoadError:r(d),getLoadMethodError:o(d),isLoading:a(d),isLoadingMethod:s(d)}))}(),f=function(){const e=er(e=>e.errors.initializeMethodId,e=>e.errors.initializeError,(e,t)=>n=>{if(!n||e===n)return t}),t=er(e=>e.errors.executeMethodId,e=>e.errors.executeError,(e,t)=>n=>{if(!n||e===n)return t}),n=er(e=>e.errors.finalizeMethodId,e=>e.errors.finalizeError,(e,t)=>n=>{if(!n||e===n)return t}),i=er(e=>e.errors.widgetInteractionMethodId,e=>e.errors.widgetInteractionError,(e,t)=>n=>{if(!n||e===n)return t}),r=er(e=>e.statuses.initializeMethodId,e=>e.statuses.isInitializing,(e,t)=>n=>!(n&&e!==n||!t)),o=er(e=>e.data,e=>t=>{const n=t.gatewayId?`${t.methodId}.${t.gatewayId}`:t.methodId;return!(!e[n]||!e[n].isInitialized)}),a=er(e=>e.statuses.executeMethodId,e=>e.statuses.isExecuting,(e,t)=>n=>!(n&&e!==n||!t)),s=er(e=>e.statuses.finalizeMethodId,e=>e.statuses.isFinalizing,(e,t)=>n=>!(n&&e!==n||!t)),d=er(e=>e.statuses.widgetInteractionMethodId,e=>e.statuses.isWidgetInteracting,(e,t)=>n=>!(n&&e!==n||!t));return de((c=jn)=>({getInitializeError:e(c),getExecuteError:t(c),getFinalizeError:n(c),getWidgetInteractingError:i(c),isInitializing:r(c),isInitialized:o(c),isExecuting:a(c),isFinalizing:s(c),isWidgetInteracting:d(c)}))}(),v=function(){const e=er(e=>e.data,e=>(t,n)=>{if(!e)return;const i=gi(pi({consignmentId:t,searchArea:n})),r=btoa(`${JSON.stringify(i)}`);return e[r]}),t=er(e=>e.errors.loadError,e=>()=>e),n=er(e=>!!e.statuses.isLoading,e=>()=>e);return de((i=yi)=>({getPickupOptions:e(i),getLoadError:t(i),isLoading:n(i)}))}(),C=function(){const e=er(e=>e.data,e=>()=>e),t=er(e,e=>()=>rr(e(),()=>new ir(nr.MissingPaymentProviderCustomer)));return de((n=ti)=>({getPaymentProviderCustomer:e(n),getPaymentProviderCustomerOrThrow:t(n)}))}(),I=function(){const e=er(e=>e.data,e=>t=>e[t]);return de((t=oi)=>({getCheckout:e(t)}))}(),w=function(){const e=er(e=>e.data,e=>()=>{const t=null==e?void 0:e.find(e=>!e.selectedPickupOption);return null==t?void 0:t.shippingAddress}),t=er(e,e=>()=>rr(e(),()=>new ir(nr.MissingShippingAddress))),n=er(e=>e.data,e=>()=>{const t=null==e?void 0:e.filter(e=>!e.selectedPickupOption);return t?t.map(e=>e.shippingAddress):[]}),i=er(n,e=>()=>rr(e(),()=>new ir(nr.MissingShippingAddress)));return de((r=di)=>({getShippingAddress:e(r),getShippingAddressOrThrow:t(r),getShippingAddresses:n(r),getShippingAddressesOrThrow:i(r)}))}(),b=function(){const e=er(e=>e.data,e=>()=>e),t=er(e=>e.errors.loadError,e=>()=>e),n=er(e=>e.statuses.isLoading,e=>()=>!!e);return de((i=Ii)=>({getShippingCountries:e(i),getLoadError:t(i),isLoading:n(i)}))}(),E=function(){const e=er(e=>e.errors.updateAddressMethodId,e=>e.errors.updateAddressError,(e,t)=>n=>{if(!n||e===n)return t}),t=er(e=>e.errors.selectOptionMethodId,e=>e.errors.selectOptionError,(e,t)=>n=>{if(!n||e===n)return t}),n=er(e=>e.errors.initializeMethodId,e=>e.errors.initializeError,(e,t)=>n=>{if(!n||e===n)return t}),i=er(e=>e.errors.widgetInteractionMethodId,e=>e.errors.widgetInteractionError,(e,t)=>n=>{if(!n||e===n)return t}),r=er(e=>e.statuses.updateAddressMethodId,e=>e.statuses.isUpdatingAddress,(e,t)=>n=>!(n&&e!==n||!t)),o=er(e=>e.statuses.selectOptionMethodId,e=>e.statuses.isSelectingOption,(e,t)=>n=>!(n&&e!==n||!t)),a=er(e=>e.statuses.initializeMethodId,e=>e.statuses.isInitializing,(e,t)=>n=>!(n&&e!==n||!t)),s=er(e=>e.data,e=>t=>!(!e[t]||!e[t].isInitialized)),d=er(e=>e.statuses.widgetInteractionMethodId,e=>e.statuses.isWidgetInteracting,(e,t)=>n=>!(n&&e!==n||!t));return de((c=Ai)=>({getUpdateAddressError:e(c),getSelectOptionError:t(c),getInitializeError:n(c),getWidgetInteractionError:i(c),isUpdatingAddress:r(c),isSelectingOption:o(c),isInitializing:a(c),isInitialized:s(c),isWidgetInteracting:d(c)}))}(),P=function(){const e=er(e=>e.data,e=>()=>e),t=er(e,e=>()=>rr(e(),()=>new ir(nr.MissingConsignments))),n=er(e=>e.data,e=>t=>{if(e&&e.length)return l(e,{id:t})}),i=er(e=>e.data,e=>t=>{if(e&&e.length)return l(e,e=>{return n=e.shippingAddress,i=t,_(cr(n),cr(i));var n,i})}),r=er(e=>e.data,e=>()=>{if(e&&e.length)return e[0].selectedShippingOption}),o=er(e=>e.errors.loadError,e=>()=>e),a=er(e=>e.errors.createError,e=>()=>e),s=er(e=>e.errors.loadShippingOptionsError,e=>()=>e),d=er(e,(e,{cart:t})=>t.getCart,(e,t)=>()=>{const n=t();if(!n)return[];const i=(e()||[]).reduce((e,t)=>e.concat(t.lineItemIds),[]);return(n.lineItems.physicalItems||[]).filter(e=>i.indexOf(e.id)<0)}),c=er(e=>e.errors.updateError,e=>t=>t?e[t]:l(e)),u=er(e=>e.errors.deleteError,e=>t=>t?e[t]:l(e)),h=er(i,c,a,(e,t,n)=>i=>{const r=e(i);return r?t(r.id):n()}),p=er(e=>e.errors.updateShippingOptionError,e=>t=>t?e[t]:l(e)),g=er(e=>e.statuses.isLoading,e=>()=>!0===e),m=er(e=>e.statuses.isLoadingShippingOptions,e=>()=>!0===e),y=er(e=>e.statuses.isCreating,e=>()=>!0===e),f=er(e=>e.statuses.isUpdating,e=>t=>t?!0===e[t]:!0===l(e)),S=er(e=>e.statuses.isDeleting,e=>t=>t?!0===e[t]:!0===l(e)),v=er(i,f,y,(e,t,n)=>i=>{const r=e(i);return r?t(r.id):n()}),C=er(e=>e.statuses.isUpdatingShippingOption,e=>t=>t?!0===e[t]:!0===l(e));return de((l=di,_)=>({getConsignments:e(l),getConsignmentsOrThrow:t(l),getConsignmentById:n(l),getConsignmentByAddress:i(l),getShippingOption:r(l),getLoadError:o(l),getCreateError:a(l),getLoadShippingOptionsError:s(l),getUnassignedItems:d(l,{cart:_}),getUpdateError:c(l),getDeleteError:u(l),getItemAssignmentError:h(l),getUpdateShippingOptionError:p(l),isLoading:g(l),isLoadingShippingOptions:m(l),isCreating:y(l),isUpdating:f(l),isDeleting:S(l),isAssigningItems:v(l),isUpdatingShippingOption:C(l)}))}(),O=function(){const e=er(e=>e.data,(e,{billingAddress:t})=>t.getBillingAddress,(e,{cart:t})=>t.getCart,(e,{customer:t})=>t.getCustomer,(e,{consignments:t})=>t.getConsignments,(e,{coupons:t})=>t.getCoupons,(e,{giftCertificates:t})=>t.getGiftCertificates,(e,t,n,i,r,o,a)=>()=>{const s=t(),d=n(),c=i(),u=r()||[],l=o()||[],h=a()||[];if(e&&d&&c)return Object.assign(Object.assign({},e),{billingAddress:s,cart:d,customer:c,consignments:u,coupons:l,giftCertificates:h})}),t=er(e,e=>()=>rr(e(),()=>new ir(nr.MissingCheckout))),n=er(e,e=>t=>{const n=e();if(!n)return;const i=n.grandTotal||0,r=n.customer.storeCredit||0;return t?Math.max(i-r,0):n.outstandingBalance}),i=er(e=>e.errors.loadError,e=>()=>e),r=er(e=>e.errors.updateError,e=>()=>e),o=er(e=>e.errors.deleteError,e=>()=>e),a=er(e=>e.statuses.isExecutingSpamCheck,e=>()=>!0===e),s=er(e=>e.statuses.isLoading,e=>()=>!0===e),d=er(e=>e.statuses.isUpdating,e=>()=>!0===e),c=er(e=>e.statuses.isDeleting,e=>()=>!0===e);return de((u=$i,l,h,p,g,m,y)=>({getCheckout:e(u,{billingAddress:l,cart:h,consignments:p,coupons:g,customer:m,giftCertificates:y}),getCheckoutOrThrow:t(u,{billingAddress:l,cart:h,consignments:p,coupons:g,customer:m,giftCertificates:y}),getOutstandingBalance:n(u,{billingAddress:l,cart:h,consignments:p,coupons:g,customer:m,giftCertificates:y}),getLoadError:i(u),getUpdateError:r(u),getDeleteError:o(u),isExecutingSpamCheck:a(u),isLoading:s(u),isUpdating:d(u),isDeleting:c(u)}))}(),A=function(){const e=er(e=>e.data,(e,{billingAddress:t})=>t.getOrderBillingAddress(),(e,{coupons:t})=>t.getCoupons(),(e,t,n=[])=>()=>{if(e&&t)return Object.assign(Object.assign({},e),{billingAddress:t,coupons:n})}),t=er(e,e=>()=>rr(e(),()=>new ir(nr.MissingOrder))),n=er(e=>e.meta,e=>()=>e),i=er(e=>{var t;return null===(t=e.meta)||void 0===t?void 0:t.b2bContext},e=>()=>e),r=er(e=>e.errors.loadError,e=>()=>e),o=er(e=>{var t;return null===(t=e.data)||void 0===t?void 0:t.payments},(e=[])=>t=>{const n=e.find(({providerId:e})=>e===t);return null==n?void 0:n.paymentId}),a=er(e=>!!e.statuses.isLoading,e=>()=>e);return de((s=yn,d,c)=>({getOrder:e(s,{billingAddress:d,coupons:c}),getOrderOrThrow:t(s,{billingAddress:d,coupons:c}),getOrderMeta:n(s),getB2BContext:i(s),getLoadError:r(s),getPaymentId:o(s),isLoading:a(s)}))}(),T=function(){const e=er(e=>e.data,e=>()=>e);return de((t=In)=>({getOrderBillingAddress:e(t)}))}(),k=function(){const e=er(({order:e})=>e.getOrderMeta,e=>()=>{const t=e();return t&&t.payment}),t=er(({order:e})=>e.getOrder,e=>()=>{const t=e();return l(t&&t.payments,({providerId:e})=>"giftcertificate"!==e&&"storecredit"!==e)}),n=er(({checkout:e})=>e.getCheckout,e=>()=>{const t=e();return l(t&&t.payments,({providerType:e})=>"PAYMENT_TYPE_HOSTED"===e)}),i=er(e,n,t,(e,t,n)=>()=>{const i=e();if(i&&i.id)return{providerId:i.id,gatewayId:i.gateway};const r=t()||n();return r&&r.providerId?{providerId:r.providerId,gatewayId:r.gatewayId}:void 0}),r=er(i,e=>()=>rr(e(),()=>new ir(nr.MissingPaymentId))),o=er(e,n,t,(e,t,n)=>()=>{const i=e();if(i&&i.status)return i.status.replace("PAYMENT_STATUS_","");const r=t()||n();return r?r.detail.step:void 0}),a=er(o,e=>()=>rr(e(),()=>new ir(nr.MissingPaymentStatus))),s=er(({order:e})=>e.getOrderMeta,e=>()=>{const t=e();return t&&t.token}),d=er(s,e=>()=>rr(e(),()=>new ir(nr.MissingPaymentToken))),c=er(e,e=>()=>{const t=e();return t&&t.redirectUrl}),u=er(c,e=>()=>rr(e(),()=>new ir(nr.MissingPaymentRedirectUrl))),h=er(({checkout:e})=>e.getOutstandingBalance,e=>(t=!1)=>{const n=e(t);return!!n&&n>0}),p=er(o,e=>t=>!(!t||!t.nonce)||"ACKNOWLEDGE"===e()||"FINALIZE"===e());return de((e,t)=>({getPaymentId:i({checkout:e,order:t}),getPaymentIdOrThrow:r({checkout:e,order:t}),getPaymentStatus:o({checkout:e,order:t}),getPaymentStatusOrThrow:a({checkout:e,order:t}),getPaymentToken:s({checkout:e,order:t}),getPaymentTokenOrThrow:d({checkout:e,order:t}),getPaymentRedirectUrl:c({checkout:e,order:t}),getPaymentRedirectUrlOrThrow:u({checkout:e,order:t}),isPaymentDataRequired:h({checkout:e,order:t}),isPaymentDataSubmitted:p({checkout:e,order:t})}))}(),R=function(){const e=er(e=>e.errors.applyError,e=>()=>e),t=er(e=>!!e.statuses.isApplying,e=>()=>e);return de((n=ur)=>({getApplyError:e(n),isApplying:t(n)}))}(),D=function(){const e=er(e=>e.errors.updateError,e=>()=>e),t=er(e=>!!e.statuses.isUpdating,e=>()=>e);return de((n=Vi)=>({getUpdateError:e(n),isUpdating:t(n)}))}(),M=function(){const e=er(e=>e.data,e=>()=>e),t=er(e=>e.errors.sendError,e=>()=>e),n=er(e=>!!e.statuses.isSending,e=>()=>e);return de((i=Ni)=>({getEmail:e(i),getSendError:t(i),isSending:n(i)}))}(),N=function(){const e=er(e=>e.data,e=>()=>e),t=er(e=>e.data,e=>t=>null==e?void 0:e.find(e=>e.region===t)),n=er(e=>e.errors.loadError,e=>()=>e),i=er(e=>e.statuses.isLoading,e=>()=>!!e);return de((r=Jt)=>({getExtensions:e(r),getExtensionByRegion:t(r),getLoadError:n(r),isLoading:i(r)}))}();return(u,l={})=>{const p=e(u.b2bPostOrder),_=t(u.b2bToken),S=n(u.billingAddress),L=i(u.cart),z=r(u.checkoutButton),B=a(u.countries),F=s(u.coupons),U=d(u.customer),x=c(u.customerStrategies),q=N(u.extensions),j=m(u.formFields),G=h(u.giftCertificates),V=g(u.instruments),H=T(u.orderBillingAddress),W=y(u.paymentMethods),Y=C(u.paymentProviderCustomer),K=f(u.paymentStrategies),$=v(u.pickupOptions),Z=I(u.remoteCheckout),J=w(u.consignments),Q=b(u.shippingCountries),X=E(u.shippingStrategies),ee=D(u.subscriptions),te=R(u.storeCredit),ne=M(u.signInEmail),ie=P(u.consignments,L),re=O(u.checkout,S,L,ie,F,U,G),oe=A(u.order,H,F),ae=k(re,oe),se={b2bPostOrder:p,b2bToken:_,billingAddress:S,cart:L,checkout:re,checkoutButton:z,config:o(u.config,u.formFields),consignments:ie,countries:B,coupons:F,customer:U,customerStrategies:x,extensions:q,form:j,giftCertificates:G,instruments:V,order:oe,orderBillingAddress:H,payment:ae,paymentMethods:W,paymentProviderCustomer:Y,paymentStrategies:K,pickupOptions:$,remoteCheckout:Z,shippingAddress:J,shippingCountries:Q,shippingStrategies:X,signInEmail:ne,subscriptions:ee,storeCredit:te};return l.shouldWarnMutation?(de=se,Object.keys(de).reduce((e,t)=>(e[t]=or(de[t]),e),{})):se;var de}}function hr(e={},t){const n=(s=function(){const e=new Me;return["catalog_only","empty_cart","invalid_order_id","invalid_order_token","missing_order_token","missing_provider_token","missing_shipping_method","order_completion_error","order_could_not_be_finalized_error","order_create_failed","provider_fatal_error","provider_setup_error","stock_too_low"].forEach(t=>{e.register(t,(e,t)=>new Ae(e,t))}),e.register("invalid_payment_provider",e=>new be(e)),e.register("payment_config_not_found",e=>new be(e)),e}(),e=>K(e).pipe(X(e=>{if(e instanceof Error||e.payload instanceof Error)throw e;if((t=e.payload)&&"object"==typeof t&&["body","headers","status","statusText"].every(e=>Object.prototype.hasOwnProperty.call(t,e))){const t=e.payload.body&&e.payload.body.detail;throw Object.assign(Object.assign({},e),{payload:s.createError(e.payload,t)})}var t;throw e}))),r=lr(),o=i({b2bPostOrder:On,b2bToken:qe,billingAddress:Je,cart:dt,checkout:Zi,checkoutButton:ft,config:wt,consignments:ci,countries:hn,coupons:Tt,customer:xt,customerStrategies:Wt,extensions:Qt,formFields:on,giftCertificates:Nt,instruments:$n,orderBillingAddress:wn,order:fn,payment:Mn,paymentMethods:zn,paymentStrategies:Gn,pickupOptions:fi,paymentProviderCustomer:ni,remoteCheckout:ai,shippingCountries:wi,shippingStrategies:Ti,signInEmail:Li,subscriptions:Hi,storeCredit:qi});var s;return a(o,e,Object.assign({actionTransformer:n,stateTransformer:e=>r(e)},t))}var pr,gr;!function(e){e[e.MissingBillingAddress=0]="MissingBillingAddress",e[e.MissingCart=1]="MissingCart",e[e.MissingCheckout=2]="MissingCheckout",e[e.MissingConsignments=3]="MissingConsignments",e[e.MissingCustomer=4]="MissingCustomer",e[e.MissingCheckoutConfig=5]="MissingCheckoutConfig",e[e.MissingOrder=6]="MissingOrder",e[e.MissingOrderConfig=7]="MissingOrderConfig",e[e.MissingOrderId=8]="MissingOrderId",e[e.MissingPayment=9]="MissingPayment",e[e.MissingPaymentId=10]="MissingPaymentId",e[e.MissingPaymentInstrument=11]="MissingPaymentInstrument",e[e.MissingPaymentMethod=12]="MissingPaymentMethod",e[e.MissingPaymentRedirectUrl=13]="MissingPaymentRedirectUrl",e[e.MissingPaymentStatus=14]="MissingPaymentStatus",e[e.MissingPaymentToken=15]="MissingPaymentToken",e[e.MissingShippingAddress=16]="MissingShippingAddress"}(pr||(pr={}));class mr extends Ce{constructor(e){super(function(e){switch(e){case pr.MissingBillingAddress:return"Unable to proceed because billing address data is unavailable.";case pr.MissingCart:return"Unable to proceed because cart data is unavailable.";case pr.MissingConsignments:return"Unable to proceed because consignments data is unavailable.";case pr.MissingCheckout:return"Unable to proceed because checkout data is unavailable.";case pr.MissingCustomer:return"Unable to proceed because customer data is unavailable.";case pr.MissingCheckoutConfig:case pr.MissingOrderConfig:return"Unable to proceed because configuration data is unavailable.";case pr.MissingOrder:return"Unable to proceed because order data is unavailable.";case pr.MissingOrderId:return"Unable to proceed because order ID is unavailable or not generated yet.";case pr.MissingPayment:return"Unable to proceed because payment data is unavailable.";case pr.MissingPaymentToken:return"Unable to proceed because the token required to submit a payment is missing.";case pr.MissingPaymentMethod:return"Unable to proceed because payment method data is unavailable or not properly configured.";case pr.MissingShippingAddress:return"Unable to proceed because shipping address data is unavailable.";default:return"Unable to proceed because the required data is unavailable."}}(e)),this.subtype=e,this.name="MissingDataError",this.type="missing_data"}}function yr(e){return t=e.lineItems.physicalItems.filter(e=>!e.addedByPromotion),N(t,(e,t)=>e+t.quantity,0);var t}function fr(e,t){if(null==e)throw t?t():new Error("An unexpected error has occurred.");return e}!function(e){e[e.CheckoutButtonNotInitialized=0]="CheckoutButtonNotInitialized",e[e.CustomerNotInitialized=1]="CustomerNotInitialized",e[e.PaymentNotInitialized=2]="PaymentNotInitialized",e[e.ShippingNotInitialized=3]="ShippingNotInitialized",e[e.SpamProtectionNotInitialized=4]="SpamProtectionNotInitialized"}(gr||(gr={}));class _r extends Ce{constructor(e){super(function(e){switch(e){case gr.CustomerNotInitialized:return"Unable to proceed because the customer step of checkout has not been initialized.";case gr.PaymentNotInitialized:return"Unable to proceed because the payment step of checkout has not been initialized.";case gr.ShippingNotInitialized:return"Unable to proceed because the shipping step of checkout has not been initialized.";case gr.SpamProtectionNotInitialized:return"Unable to proceed because the checkout spam protection has not been initialized.";default:return"Unable to proceed because the required component has not been initialized."}}(e)),this.subtype=e,this.name="NotInitializedError",this.type="not_initialized"}}const Sr={de:"eu",jp:"fe",uk:"eu",us:"na"};var vr,Cr,Ir,wr,br;!function(e){e.en_US="en_US",e.en_GB="en_GB",e.de_DE="de_DE",e.fr_FR="fr_FR",e.it_IT="it_IT",e.es_ES="es_ES",e.ja_JP="ja_JP"}(vr||(vr={})),function(e){e.Home="Home",e.Product="Product",e.Cart="Cart",e.Checkout="Checkout",e.Other="Other"}(Cr||(Cr={})),function(e){e.USD="USD",e.EUR="EUR",e.GBP="GBP",e.JPY="JPY"}(Ir||(Ir={})),function(e){e.PayAndShip="PayAndShip",e.PayOnly="PayOnly"}(wr||(wr={})),function(e){e.Gold="Gold",e.LightGray="LightGray",e.DarkGray="DarkGray"}(br||(br={}));var Er=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Pr{constructor(e){this.amazonPayV2ScriptLoader=e}initialize(e){return Er(this,void 0,void 0,function*(){this.amazonPayV2SDK=yield this.amazonPayV2ScriptLoader.load(e),this.buttonParentContainer=this.buttonParentContainer||this.createAmazonPayButtonParentContainer()})}deinitialize(){var e;return this.amazonPayV2Button=void 0,null===(e=this.buttonParentContainer)||void 0===e||e.remove(),this.buttonParentContainer=void 0,this.amazonPayV2SDK=void 0,Promise.resolve()}bindButton(e,t,n){this.getAmazonPayV2SDK().Pay.bindChangeAction(`#${e}`,{amazonCheckoutSessionId:t,changeAction:n})}createButton(e,t){this.amazonPayV2Button=this.getAmazonPayV2SDK().Pay.renderButton(`#${e}`,t)}prepareCheckout(e){const t=this.prepareRequestConfig(e);this.getAmazonPayV2Button().onClick(()=>{this.getAmazonPayV2Button().initCheckout(t)})}prepareCheckoutWithCreationRequestConfig(e){this.getAmazonPayV2Button().onClick(()=>Er(this,void 0,void 0,function*(){const t=yield e();if(t){const e=this.prepareRequestConfig(t.createCheckoutSessionConfig,t.estimatedOrderAmount,t.productType);this.getAmazonPayV2Button().initCheckout(e)}}))}signout(){return Er(this,void 0,void 0,function*(){return this.amazonPayV2SDK&&this.amazonPayV2SDK.Pay.signout(),Promise.resolve()})}renderAmazonPayButton({buttonColor:e,checkoutState:t,containerId:n,decoupleCheckoutInitiation:i=!1,methodId:r,options:o,placement:a}){const s=document.querySelector(`#${n}`);if(!s)return;const{id:d}=s.appendChild(this.getButtonParentContainer()),c=null!=o?o:this.getAmazonPayV2ButtonOptions(t,r,a,i,e);return this.createButton(d,c),this.getButtonParentContainer()}updateBuyNowFlowFlag(e){this.isBuyNowFlow=Boolean(e)}isPh4Enabled(e,t){const n=!!e["PROJECT-3483.amazon_pay_ph4"],i=!!e["INT-6885.amazon_pay_ph4_us_only"];return n&&i?"US"===t:n}prepareRequestConfig(e,t,n){const{publicKeyId:i}=e,r=function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]])}return n}(e,["publicKeyId"]);return Object.assign(Object.assign({createCheckoutSessionConfig:this.isEnvironmentSpecific(i)?r:e},t&&{estimatedOrderAmount:t}),n&&{productType:n})}createAmazonPayButtonParentContainer(){const e=Math.random().toString(16).substr(-4),t=document.createElement("div");return t.id=`amazonpay_button_parent_container_${e}`,t}getAmazonPayV2ButtonOptions(e,t,n,i=!1,r=br.Gold){var o;const{getCart:a,getCheckout:s,getStoreConfigOrThrow:d,getPaymentMethodOrThrow:c}=this.getCheckoutState(e),{config:{merchantId:u,testMode:l},initializationData:h}=c(t);if(!h)throw new mr(pr.MissingPaymentMethod);const{checkoutLanguage:p,checkoutSessionMethod:g,createCheckoutSessionConfig:m,extractAmazonCheckoutSessionId:y,ledgerCurrency:f,publicKeyId:_=""}=h;if(!u||!f)throw new mr(pr.MissingPaymentMethod);const S={merchantId:u,ledgerCurrency:f,checkoutLanguage:p,placement:n,buttonColor:r};if(this.isBuyNowFlow)return Object.assign(Object.assign({},S),{sandbox:!!l});const v=a();S.productType=v&&0===yr(v)?wr.PayOnly:wr.PayAndShip;const{checkoutSettings:{features:C},storeProfile:{shopPath:I,storeCountryCode:w}}=d();if(this.isPh4Enabled(C,w)){if(!m)throw new mr(pr.MissingPaymentMethod);const e=null===(o=s())||void 0===o?void 0:o.outstandingBalance.toString(),t=null==v?void 0:v.currency.code,n=Object.assign({},S);let r;return this.isEnvironmentSpecific(_)?(n.publicKeyId=_,r=m):(n.sandbox=!!l,r=Object.assign(Object.assign({},m),{publicKeyId:_})),i||(n.createCheckoutSessionConfig=r),e&&t&&(n.estimatedOrderAmount={amount:e,currencyCode:t}),n}const b={method:g,url:`${I}/remote-checkout/${t}/payment-session`,extractAmazonCheckoutSessionId:y};return Object.assign(Object.assign({},S),{createCheckoutSession:b,sandbox:!!l})}isEnvironmentSpecific(e){return/^(SANDBOX|LIVE)/.test(e)}getAmazonPayV2SDK(){return this.getOrThrow(this.amazonPayV2SDK)}getButtonParentContainer(){return this.getOrThrow(this.buttonParentContainer)}getAmazonPayV2Button(){return this.getOrThrow(this.amazonPayV2Button)}getOrThrow(e){return fr(e,()=>new _r(gr.PaymentNotInitialized))}getCheckoutState(e){return"object"==typeof(t=e)&&null!==t&&"cart"in t&&"checkout"in t&&"config"in t&&"paymentMethods"in t?{getCart:e.cart.getCart,getCheckout:e.checkout.getCheckout,getStoreConfigOrThrow:e.config.getStoreConfigOrThrow,getPaymentMethodOrThrow:t=>e.paymentMethods.getPaymentMethodOrThrow(t)}:e;var t}}class Or extends Ce{constructor(e){super(e||"Unable to proceed because the client library of a payment method is not loaded or ready to be used."),this.name="PaymentMethodClientUnavailableError",this.type="payment_method_client_unavailable"}}class Ar{constructor(e,t=window){this.scriptLoader=e,this.windowWithAmazonPay=t}load(e){return t=this,n=void 0,r=function*(){const{initializationData:t}=e,n=(null==t?void 0:t.region)||"us",i=Sr[n];if(yield this.scriptLoader.loadScript(`https://static-${i}.payments-amazon.com/checkout.js`),!this.windowWithAmazonPay.amazon)throw new Or;return this.windowWithAmazonPay.amazon},new((i=void 0)||(i=Promise))(function(e,o){function a(e){try{d(r.next(e))}catch(e){o(e)}}function s(e){try{d(r.throw(e))}catch(e){o(e)}}function d(t){var n;t.done?e(t.value):(n=t.value,n instanceof i?n:new i(function(e){e(n)})).then(a,s)}d((r=r.apply(t,n||[])).next())});var t,n,i,r}}function Tr(e,t){return Object.assign(e,{resolveIds:t})}class kr extends Ce{constructor(e){super(e||"Invalid arguments have been provided."),this.name="InvalidArgumentError",this.type="invalid_argument"}}class Rr extends Ce{constructor(e){super(e||"An unexpected error has occurred during buy now cart creation process. Please try again later."),this.name="BuyNowCartCreationError",this.type="buy_now_cart_creation_error"}}class Dr extends Ce{constructor(e){super(e||"An unexpected error has occurred during config creation process. Please try again later."),this.name="AmazonPayV2ConfigCreationError",this.type="amazon_pay_v2_config_creation_error"}}function Mr(e){return e instanceof Object&&"buyNowInitializeOptions"in e}var Nr=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Lr{constructor(e,t,n){this.paymentIntegrationService=e,this.amazonPayV2PaymentProcessor=t,this.amazonPayV2ConfigRequestSender=n}initialize(e){return Nr(this,void 0,void 0,function*(){var t;const{methodId:n,containerId:i,amazonpay:r}=e,{buttonColor:o}=r||{};if(!n||!i)throw new kr('Unable to proceed because "methodId" or "containerId" argument is not provided.');const{getPaymentMethodOrThrow:a}=this.paymentIntegrationService.getState(),s=a(n);yield this.amazonPayV2PaymentProcessor.initialize(s),r||(yield this.paymentIntegrationService.loadDefaultCheckout());const d=Mr(r)?void 0:r;Mr(r)&&"function"==typeof(null===(t=r.buyNowInitializeOptions)||void 0===t?void 0:t.getBuyNowCartRequestBody)&&(this._buyNowInitializeOptions=r.buyNowInitializeOptions,this.amazonPayV2PaymentProcessor.updateBuyNowFlowFlag(!0)),this.amazonPayV2PaymentProcessor.renderAmazonPayButton({checkoutState:this.paymentIntegrationService.getState(),containerId:i,methodId:n,options:d,placement:Cr.Cart,buttonColor:o}),this._buyNowInitializeOptions&&this.amazonPayV2PaymentProcessor.prepareCheckoutWithCreationRequestConfig(this._getCheckoutCreationRequestConfig.bind(this))})}deinitialize(){return this.amazonPayV2PaymentProcessor.deinitialize()}_createBuyNowCartOrThrow(){return Nr(this,void 0,void 0,function*(){var e,t;const n=null===(t=null===(e=this._buyNowInitializeOptions)||void 0===e?void 0:e.getBuyNowCartRequestBody)||void 0===t?void 0:t.call(e);if(!n)throw new mr(pr.MissingCart);try{return yield this.paymentIntegrationService.createBuyNowCart(n)}catch(e){throw new Rr}})}_createCheckoutConfig(e){return Nr(this,void 0,void 0,function*(){try{const t=(yield this.amazonPayV2ConfigRequestSender.createCheckoutConfig(e)).body,{payload:n,public_key:i}=t,r=function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]])}return n}(t,["payload","public_key"]);return Object.assign({payloadJSON:n,publicKeyId:i},r)}catch(e){throw new Dr}})}_getCheckoutCreationRequestConfig(){return Nr(this,void 0,void 0,function*(){const e=yield this._createBuyNowCartOrThrow(),t={amount:String(e.baseAmount),currencyCode:e.currency.code};return{createCheckoutSessionConfig:yield this._createCheckoutConfig(e.id),estimatedOrderAmount:t,productType:0===yr(e)?wr.PayOnly:wr.PayAndShip}})}}const zr="This API endpoint is for internal use only and may change in the future";var Br;!function(e){e.Json="application/json",e.JsonV1="application/vnd.bc.v1+json"}(Br||(Br={}));const Fr=Br,Ur={"X-Checkout-SDK-Version":"1.960.1"};class xr{constructor(e){this._requestSender=e}createCheckoutConfig(e){const t={cartId:e},n=Object.assign({"X-API-INTERNAL":zr,"Content-Type":Fr.Json},Ur);return this._requestSender.post("/api/storefront/payment/amazonpay",{headers:n,body:t})}}const qr=Tr(t=>{const n=e(),i=new xr(n),r=new Pr(new Ar(he()));return new Lr(t,r,i)},[{id:"amazonpay"}]);function jr(e,t,n=!0){var i;return null!==(i=e[t])&&void 0!==i?i:n}const Gr="3.128.0",Vr="3.123.2",Hr="3.106.0";class Wr{constructor(e){this.paymentIntegrationService=e,this.braintreeWindow=window}getSDKVersion(){const e=this.paymentIntegrationService.getState().getStoreConfig(),t=(null==e?void 0:e.checkoutSettings.features)||{};return this.getPreloadedSDKVersion()||(jr(t,"PAYPAL-5809.braintree_hosted_fields_fix_version")?Gr:jr(t,"PAYPAL-5636.update_braintree_sdk_version")?Vr:Hr)}getPreloadedSDKVersion(){const e=this.braintreeWindow.braintree;if(e){const t=l(Object.values(e),e=>!!e.VERSION);return null==t?void 0:t.VERSION}}}class Yr extends Ce{constructor(e){super(e||"Unsupported browser error"),this.name="UnsupportedBrowserError",this.type="unsupported_browser"}}var Kr,$r,Zr,Jr,Qr,Xr,eo;function to(e){return Boolean("object"==typeof e&&null!==e&&("type"in e||"message"in e||"code"in e))}!function(e){e.ESTIMATED="ESTIMATED",e.FINAL="FINAL",e.NOT_CURRENTLY_KNOWN="NOT_CURRENTLY_KNOWN"}(Kr||(Kr={})),function(e){e.Completed="COMPLETED",e.Pending="PENDING",e.Failed="FAILED"}($r||($r={})),function(e){e.TRUSTLY="trustly"}(Zr||(Zr={})),function(e){e.SUCCEEDED="succeeded",e.FAILED="failed",e.CANCELED="cancelled",e.UNRECOGNIZED="unrecognized"}(Jr||(Jr={})),function(e){e.Customer="CUSTOMER",e.Merchant="MERCHANT",e.Network="NETWORK",e.Internal="INTERNAL",e.Unknown="UNKNOWN"}(Qr||(Qr={})),function(e){e.KountNotEnabled="DATA_COLLECTOR_KOUNT_NOT_ENABLED"}(Xr||(Xr={})),function(e){e.Visa="visa",e.Mastercard="mastercard",e.AmericanExpress="american-express",e.DinersClub="diners-club",e.Discover="discover",e.Jcb="jcb",e.UnionPay="union-pay",e.Maestro="maestro",e.Elo="elo",e.Mir="mir",e.Hiper="hiper",e.Hipercard="hipercard"}(eo||(eo={}));var no,io,ro,oo=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class ao{constructor(e){this.braintreeScriptLoader=e}initialize(e){this.setClientToken(e)}deinitialize(){return oo(this,void 0,void 0,function*(){yield this.teardownModule(this.dataCollector),this.dataCollector=void 0})}getClient(){return oo(this,void 0,void 0,function*(){if(!this.client){const e=this.getClientTokenOrThrow(),t=yield this.braintreeScriptLoader.loadClient();this.client=yield t.create({authorization:e})}return this.client})}getDataCollectorOrThrow(e){return oo(this,void 0,void 0,function*(){const t={deviceData:void 0,teardown:()=>Promise.resolve()};if(!this.dataCollector)try{const t=yield this.getClient(),n=yield this.braintreeScriptLoader.loadDataCollector(),i=Object.assign({client:t,kount:!0},e);this.dataCollector=yield n.create(i)}catch(e){if(to(e)&&e.code===Xr.KountNotEnabled)return t;throw e}return this.dataCollector})}getBraintreeGooglePayment(){return oo(this,void 0,void 0,function*(){if(!this.googlePayment){const[e,t]=yield Promise.all([this.getClient(),this.braintreeScriptLoader.loadGooglePayment()]);this.googlePayment=yield t.create({client:e})}return this.googlePayment})}getBraintreeThreeDS(){return oo(this,void 0,void 0,function*(){if(!this.threeDS){const[e,t]=yield Promise.all([this.getClient(),this.braintreeScriptLoader.load3DS()]);this.threeDS=yield t.create({client:e,version:2})}return this.threeDS})}getBraintreeLocalPayment(e){return oo(this,void 0,void 0,function*(){if(!this.braintreeLocalPayment){const[t,n]=yield Promise.all([this.getClient(),this.braintreeScriptLoader.loadLocalPayment()]);this.braintreeLocalPayment=yield new Promise((i,r)=>{n.create({client:t,merchantAccountId:e},(e,t)=>{e&&r(e),i(t)})})}return this.braintreeLocalPayment})}getUsBankAccount(){return oo(this,void 0,void 0,function*(){if(!this.usBankAccount){const e=yield this.getClient(),t=yield this.braintreeScriptLoader.loadUsBankAccount();this.usBankAccount=yield t.create({client:e})}return this.usBankAccount})}getBraintreeVisaCheckout(){return this.visaCheckout||(this.visaCheckout=Promise.all([this.getClient(),this.braintreeScriptLoader.loadVisaCheckout()]).then(([e,t])=>t.create({client:e}))),this.visaCheckout}getVisaCheckoutSdk(e){return oo(this,void 0,void 0,function*(){return this.visaCheckoutSDK||(this.visaCheckoutSDK=yield this.braintreeScriptLoader.loadVisaCheckoutSdk(e)),this.visaCheckoutSDK})}getVenmoCheckoutOrThrow(){return oo(this,void 0,void 0,function*(){if(!this.braintreeVenmo){const e=yield this.getClient(),t=yield this.braintreeScriptLoader.loadVenmoCheckout(),n={client:e,allowDesktop:!0,paymentMethodUsage:"multi_use"},i=yield t.create(n);if(!i.isBrowserSupported())throw new Yr;this.braintreeVenmo=i}return this.braintreeVenmo})}setClientToken(e){this.clientToken=e}getClientTokenOrThrow(){if(!this.clientToken)throw new _r(gr.PaymentNotInitialized);return this.clientToken}teardownModule(e){return e?e.teardown():Promise.resolve()}}!function(e){e.Sandbox="sandbox",e.Production="production"}(no||(no={})),function(e){e.Client="client",e.DataCollector="dataCollector",e.Fastlane="fastlane",e.GooglePayment="googlePayment",e.HostedFields="hostedFields",e.LocalPayment="localPayment",e.Paypal="paypal",e.PaypalCheckout="paypalCheckout",e.ThreeDSecure="threeDSecure",e.UsBankAccount="usBankAccount",e.Venmo="venmo",e.VisaCheckout="visaCheckout"}(io||(io={})),function(e){e.CardCode="cardCode",e.CardCodeVerification="cardCodeVerification",e.CardExpiry="cardExpiry",e.CardName="cardName",e.CardNumber="cardNumber",e.CardNumberVerification="cardNumberVerification"}(ro||(ro={}));const so={[Hr]:{[io.Client]:"sha384-26BXDNnJI23JYRyFBj4xe4sVNrUSSiSSu11kxVXNM/vEPONm4LuL00w6ZaTgQewt",[io.PaypalCheckout]:"sha384-B+vzbZwnQtzWBthpkT4TXKUibO65tyeK7eCxSvpblgprTep2+IAXB2Cxxjrn710O",[io.Paypal]:"sha384-uyAGL1/3+XJAHnGoNy4eCoXdzJ4f7Ilzp+6w9PNnEjs6DCCz9WMyJjMN1gzc78U+",[io.LocalPayment]:"sha384-LIvOEMkIVEwVuYBdVOQc1AC5YbGGlwyfUheS0ACK218D2STuVYQlZ4FyEPowAEfT",[io.DataCollector]:"sha384-1bo9JDz+Kscthc085cCKWur8CLwUoBpoNyxsDi7932mCl0zFq3A5mv+FQLw9GHpV",[io.UsBankAccount]:"sha384-xmHBVaU+w74V+OebD3AaPONFxHUGMf+QRs8G/JxVPXNNP7MDa2jL0ICWHIe2tTfJ",[io.GooglePayment]:"sha384-WKDJl8mqoP82qZpMGH6AbZxnvXnSW8ILV4M64CyMLiugGMwu7LyP89wjCkHqsiBe",[io.ThreeDSecure]:"sha384-VQUlpGHzsGvs5XeiGFip7EXRsvoHWEXDVmgCacfbyieZI9mdBOqq3NSoyo28OCOB",[io.VisaCheckout]:"sha384-yx7mADfzTN0T43Q6rlH49LIg1EJ0iUZgBp/EczX9LXsUGkySgxrD+nWHQRBkyfoT",[io.Venmo]:"sha384-QX4rPjoj1ZDhuG0aSyKs56lEKDqTMTcjYxUHY1SzO5VZDsqIE2NTkqot7KNSCyov",[io.HostedFields]:"sha384-VvYBACfSu0Cr/J32uKmxG7AXcNOJE1AzIIL3kbikyS7YKp5fz5Is+NzNP/lyauNy",[io.Fastlane]:"sha384-9oGsZMRZwpGtDEDYa/dFt76dECqj1xAni9gIKgc3KfMIiRnR73nEeeUDLiBzxhFa"},[Vr]:{[io.Client]:"sha384-o+nbQGcwNNxIBeXeu3+XmbSq+Cg8R3EN3N0l5hXCgMMU2RGY0t1z0LroSEIAbfAO",[io.PaypalCheckout]:"sha384-WrfbWPBS4mH86GAoycPSgiH8hQ8KH7A67C93Hjhunv/xhNk2YpBn3wbFA4Fhg9U/",[io.Paypal]:"sha384-VF389nvvrRUgDsTXMxTYORDtVegB9IQa3Cxr//DyJnLYnz8/X8VCzEvck2c+Megt",[io.LocalPayment]:"sha384-tZKx2rEQbfmZpoPSY5VPmJEhaq4X75dLvwHMs3VE9U+C8lPyw+hWTIL1+GPvWCIH",[io.DataCollector]:"sha384-E6k3wOpP7syCDDwaRDLF06942Y00NkbwJvWi2OQXwwKzGwG5fd3E7RFUvCCecfvO",[io.UsBankAccount]:"sha384-258FON8LZGG0W9Qaz4Jij83pZHu30YnKjJA7gNulLBh6CclkucgF+tHDQuYFRYfW",[io.GooglePayment]:"sha384-taJ2p/0+n0VH328POAoBiuEbL3tnHUTE9S42hK1V+Txs3X+QYjZOyKW35JgHRFfO",[io.ThreeDSecure]:"sha384-+NSZH4Zj3sO5bdWvPKhU5N16QDxeueTVTnUVeleeESkhLSaz4Ob1hh/5myecc9Ym",[io.VisaCheckout]:"sha384-66DiBjghxk1OmBj8aksN8gbQ+CwoQcx1vPfiXUN08g1iQVM+BwewF0p7toM3i7SS",[io.Venmo]:"sha384-B5UwY42kE4RoLoWbQ7YpqosUlUad2/DlGWiw0HhoZbSPk30CQAaSA10ohyLDTkDU",[io.HostedFields]:"sha384-Aw9EesSaUeWxe36PqEHiOyOyOq8M6CIb1gw7/yHNVPRzGtFXXcd2OQ8qXrIlOj2P",[io.Fastlane]:"sha384-rhBL1hpZ71JqG+2TsT0Dih47mbjx8cjJCpeZjk9tw3df1gFMKfCTmMyZunhr7H4Y"},[Gr]:{[io.Client]:"sha384-0WNxksIpRP+fYZiIdr12g6DBUQfLDzYCQJZtR/C8KkcwSGhPHfcFp3tTaGcMyFTq",[io.PaypalCheckout]:"sha384-lWM1jk4BOxoDNV6Kop7tVNvQgINlmEVz0c/OwM+HNHK3QC8xqwd54Ovrt2QRDTjh",[io.Paypal]:"sha384-fXUmVxC2EMZBDXZ7eTHSTL/LFBrHej/MSXT/vTBXvra4lzgLNGvREAp+x0GYObuH",[io.LocalPayment]:"sha384-pha1xGuGSkmZH5x9aqHvRaO4xLea7rmQ/79PFj9zxNzxuFcOWZg7gOP7FibygOEC",[io.DataCollector]:"sha384-Q6PI2F9eekWbAxhroybl+aEcvqhdowN/EQlGwBUyJOzPFn9982u9xl6SU6XfGKzc",[io.UsBankAccount]:"sha384-W3RLQSKJL1tQ3+Y7mP6tmkamtZ8bV4Yw/XxL9Jj5JtXHraD8loMF8hAIG5m2zK7F",[io.GooglePayment]:"sha384-TITQMsFWA3elDNGP2mWz2oKBo4qjt+TlqzovcaPoeBiAh/wPBi6nae50ADdgU1/i",[io.ThreeDSecure]:"sha384-YiycYN89ZlL/Evcaq4y1ajW1mhd7JYfZBDuOwHtIn4/Jnm20GL+/XCM+zYAwWD8D",[io.VisaCheckout]:"sha384-/OdaTv9qrkKzjObtUe6yzfDhHozFW/+uXlrSl736sOZRJpjGQETvpYXqMFFg69xv",[io.Venmo]:"sha384-dA+ojdW9vbJS4JavcXyOs9d5uZHJg5dNtYupoPSH2zsXIiYDVS5amLb/u8qmQ6oz",[io.HostedFields]:"sha384-31ZkS58+iaWsW06ftW52zzVZFp43WPd7pNYRiddYynSNg6Oh7WGbSFGorAUH6T1z",[io.Fastlane]:"sha384-jlbrwNvL3HvLAUCtLSmrnQ2GH1udCUrRS/bVmReAS5fuIVvcW8Pko/Gkg82tlgtr"}};var co,uo=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class lo{constructor(e,t,n){this.scriptLoader=e,this.braintreeHostWindow=t,this.braintreeSDKVersionManager=n}loadClient(){return uo(this,void 0,void 0,function*(){return this.loadBraintreeModuleOrThrow(io.Client,"client.min.js")})}loadFastlane(){return uo(this,void 0,void 0,function*(){return this.loadBraintreeModuleOrThrow(io.Fastlane,"fastlane.min.js")})}loadPaypalCheckout(){return uo(this,void 0,void 0,function*(){return this.loadBraintreeModuleOrThrow(io.PaypalCheckout,"paypal-checkout.min.js")})}loadPaypal(){return uo(this,void 0,void 0,function*(){return this.loadBraintreeModuleOrThrow(io.Paypal,"paypal.min.js")})}loadLocalPayment(){return uo(this,void 0,void 0,function*(){return this.loadBraintreeModuleOrThrow(io.LocalPayment,"local-payment.min.js")})}loadDataCollector(){return uo(this,void 0,void 0,function*(){return this.loadBraintreeModuleOrThrow(io.DataCollector,"data-collector.min.js")})}loadUsBankAccount(){return uo(this,void 0,void 0,function*(){return this.loadBraintreeModuleOrThrow(io.UsBankAccount,"us-bank-account.min.js")})}loadGooglePayment(){return uo(this,void 0,void 0,function*(){return this.loadBraintreeModuleOrThrow(io.GooglePayment,"google-payment.min.js")})}load3DS(){return uo(this,void 0,void 0,function*(){return this.loadBraintreeModuleOrThrow(io.ThreeDSecure,"three-d-secure.min.js")})}loadVisaCheckout(){return this.loadBraintreeModuleOrThrow(io.VisaCheckout,"visa-checkout.min.js")}loadVenmoCheckout(){return this.loadBraintreeModuleOrThrow(io.Venmo,"venmo.min.js")}loadHostedFields(){return uo(this,void 0,void 0,function*(){return this.loadBraintreeModuleOrThrow(io.HostedFields,"hosted-fields.min.js")})}loadVisaCheckoutSdk(e){return uo(this,void 0,void 0,function*(){if(this.braintreeHostWindow.V)return this.braintreeHostWindow.V;const t=e?"sha384-0eu1s1GtqzXlL9DtLgmwzC5WWlEH/ADRM0n38cVQkvtT+W/gey96rcb1LwuUOPDm":"sha384-1f1csvP3ZFxg4dILH1GaY4LHlZ0oX7Rk83rxmLlwbnIi4TM0NYzXoev1VoEiVDS6";return this.scriptLoader.loadScript(`//${e?"sandbox-":""}assets.secure.checkout.visa.com/checkout-widget/resources/js/integration/v1/sdk.js`,{async:!0,attributes:{integrity:t,crossorigin:"anonymous"}}).then(()=>{if(!this.braintreeHostWindow.V)throw new Or;return this.braintreeHostWindow.V})})}loadBraintreeModuleOrThrow(e,t){return uo(this,void 0,void 0,function*(){let n=this.getBraintreeModule(e);if(n)return n;const i=this.braintreeSDKVersionManager.getSDKVersion(),r=`//js.braintreegateway.com/web/${i}/js/${t}`,o=i in so?this.getIntegrityValuesByModuleName(e,i):void 0;if(yield this.scriptLoader.loadScript(r,o?{async:!0,attributes:{integrity:o,crossorigin:"anonymous"}}:void 0),n=this.getBraintreeModule(e),!n)throw new Or;return n})}getBraintreeModule(e){var t;return null===(t=this.braintreeHostWindow.braintree)||void 0===t?void 0:t[e]}getIntegrityValuesByModuleName(e,t){const n=so[t][e];if(!n)throw new Error("Unexpected fileName value");return n}}class ho extends Ce{constructor(e){super(e||"Payment process was cancelled."),this.name="PaymentMethodCancelledError",this.type="payment_cancelled"}}!function(e){e.BRAINTREE="braintree",e.BRAINTREE_FASTLANE="braintreeacceleratedcheckout"}(co||(co={}));var po,go,mo=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};!function(e){e.Subtotal="Subtotal",e.Shipping="Shipping"}(po||(po={})),function(e){e.Black="black",e.White="white",e.WhiteBorder="white-border"}(go||(go={}));class yo{constructor(e,t,n,i,r){this._requestSender=e,this._paymentIntegrationService=t,this._sessionFactory=n,this._braintreeSdk=i,this._applePayScriptLoader=r,this._onAuthorizeCallback=T,this._subTotalLabel=po.Subtotal,this._shippingLabel=po.Shipping}initialize(e){return mo(this,void 0,void 0,function*(){var t,n;const{methodId:i,containerId:r,applepay:o}=e;if(!i||!o)throw new mr(pr.MissingPaymentMethod);yield this._applePayScriptLoader.loadSdk();const{onPaymentAuthorize:a,buyNowInitializeOptions:s,requiresShipping:d}=o;this._requiresShipping=d,this._buyNowInitializeOptions=s,this._onAuthorizeCallback=a,s||(yield this._paymentIntegrationService.loadDefaultCheckout());const c=this._paymentIntegrationService.getState();return this._paymentMethod=c.getPaymentMethodOrThrow(i),c.getCart()&&(yield this._paymentIntegrationService.verifyCheckoutSpamProtection()),(null===(t=this._paymentMethod.initializationData)||void 0===t?void 0:t.gateway)===co.BRAINTREE&&this._paymentMethod.clientToken&&this._braintreeSdk.initialize(this._paymentMethod.clientToken),this._applePayButton=this._createButton(r,null===(n=this._paymentMethod.initializationData)||void 0===n?void 0:n.styleOption),this._applePayButton.addEventListener("click",this._handleWalletButtonClick.bind(this)),Promise.resolve()})}deinitialize(){return Promise.resolve()}_createButton(e,t){const n=document.getElementById(e);if(!n)throw new kr("Unable to create wallet button without valid container ID.");const i=this._createApplePayButtonElement(t);return n.appendChild(i),i}_createApplePayButtonElement(e){const t=document.createElement("apple-pay-button");return t.setAttribute("buttonstyle",(e=>{switch(e){case go.White:return"white";case go.WhiteBorder:return"white-outline";case go.Black:default:return"black"}})(e)),t.setAttribute("type","plain"),t.setAttribute("style","--apple-pay-button-width: 100%; --apple-pay-button-height: 40px; --apple-pay-button-border-radius: 4px;"),t}_handleWalletButtonClick(e){return mo(this,void 0,void 0,function*(){var t;if(e.preventDefault(),!this._paymentMethod||!this._paymentMethod.initializationData)throw new mr(pr.MissingPaymentMethod);if(this._buyNowInitializeOptions&&"function"==typeof this._buyNowInitializeOptions.getBuyNowCartRequestBody){const{countryCode:e,currencyCode:n,merchantCapabilities:i,supportedNetworks:r,storeName:o}=this._paymentMethod.initializationData,a=this._getRequestWithEmptyTotal(e,n,r,i);this._requiresShipping&&(null===(t=a.requiredShippingContactFields)||void 0===t||t.push("postalAddress"));const s=this._sessionFactory.create(a);this._handleApplePayEvents(s,this._paymentMethod,o),s.begin()}else{const e=this._paymentIntegrationService.getState(),t=e.getCartOrThrow(),n=e.getStoreConfigOrThrow(),i=e.getCheckoutOrThrow(),r=this._getBaseRequest(t,i,n,this._paymentMethod),o=this._sessionFactory.create(r);this._handleApplePayEvents(o,this._paymentMethod,n.storeProfile.storeName),o.begin()}})}_getRequestWithEmptyTotal(e,t,n,i){return{countryCode:e,currencyCode:t,supportedNetworks:n,merchantCapabilities:i,total:{label:"",amount:"0",type:"pending"},requiredBillingContactFields:["postalAddress"],requiredShippingContactFields:["email","phone"]}}_getBaseRequest(e,t,n,i){var r;const{storeProfile:{storeCountryCode:o,storeName:a}}=n,{currency:{code:s,decimalPlaces:d}}=e,{initializationData:{merchantCapabilities:c,supportedNetworks:u}}=i,l=e.lineItems.physicalItems.length>0,h={requiredBillingContactFields:["postalAddress"],requiredShippingContactFields:["email","phone"],countryCode:o,currencyCode:s,merchantCapabilities:c,supportedNetworks:u,lineItems:[],total:l?{label:a,amount:`${t.grandTotal.toFixed(d)}`,type:"pending"}:{label:a,amount:`${t.grandTotal.toFixed(d)}`,type:"final"}};if(l)null===(r=h.requiredShippingContactFields)||void 0===r||r.push("postalAddress");else{const e=[{label:this._subTotalLabel,amount:`${t.subtotal.toFixed(d)}`}];t.taxes.forEach(t=>e.push({label:t.name,amount:`${t.amount.toFixed(d)}`})),h.lineItems=e}return h}_handleApplePayEvents(e,t,n){e.onvalidatemerchant=n=>mo(this,void 0,void 0,function*(){try{const{body:i}=yield this._onValidateMerchant(t,n);e.completeMerchantValidation(i)}catch(e){throw new Error("Merchant validation failed")}}),this._buyNowInitializeOptions&&!this._requiresShipping&&(e.onpaymentmethodselected=()=>mo(this,void 0,void 0,function*(){yield this._createBuyNowCart(),this._handlePaymentMethodSelected(e)})),e.onshippingcontactselected=t=>mo(this,void 0,void 0,function*(){this._buyNowInitializeOptions&&this._requiresShipping&&(yield this._createBuyNowCart()),yield this._handleShippingContactSelected(e,n,t)}),e.onshippingmethodselected=t=>mo(this,void 0,void 0,function*(){yield this._handleShippingMethodSelected(e,n,t)}),e.oncancel=()=>mo(this,void 0,void 0,function*(){try{const e=`/remote-checkout/${t.id}/signout`;return yield this._requestSender.get(e),yield this._paymentIntegrationService.loadCheckout()}catch(e){throw new ho}}),e.onpaymentauthorized=n=>mo(this,void 0,void 0,function*(){return this._onPaymentAuthorized(n,e,t)})}_createBuyNowCart(){return mo(this,void 0,void 0,function*(){var e,t;try{const n=null===(t=null===(e=this._buyNowInitializeOptions)||void 0===e?void 0:e.getBuyNowCartRequestBody)||void 0===t?void 0:t.call(e);if(!n)throw new mr(pr.MissingCart);const i=yield this._paymentIntegrationService.createBuyNowCart(n);yield this._paymentIntegrationService.loadCheckout(i.id);const r=this._paymentIntegrationService.getState(),{shouldExecuteSpamCheck:o}=r.getCheckoutOrThrow();o&&(yield this._paymentIntegrationService.verifyCheckoutSpamProtection())}catch(e){throw new Rr}})}_handlePaymentMethodSelected(e){const t=this._paymentIntegrationService.getState(),n=t.getCartOrThrow(),i=t.getStoreConfigOrThrow(),r=t.getCheckoutOrThrow();if(!this._paymentMethod||!this._paymentMethod.initializationData)throw new mr(pr.MissingPaymentMethod);const o=this._getBaseRequest(n,r,i,this._paymentMethod);delete o.total.type,e.completePaymentMethodSelection({newTotal:o.total,newLineItems:o.lineItems})}_handleShippingContactSelected(e,t,n){return mo(this,void 0,void 0,function*(){var i;const r=this._transformContactToAddress(n.shippingContact);try{yield this._paymentIntegrationService.updateShippingAddress(r)}catch(t){throw e.abort(),new Error("Shipping address update failed")}let o=this._paymentIntegrationService.getState();const{currency:{decimalPlaces:a}}=o.getCartOrThrow();let s=o.getCheckoutOrThrow();const d=null===(i=s.consignments[0].selectedShippingOption)||void 0===i?void 0:i.id,c=s.consignments[0].availableShippingOptions,u=null==c?void 0:c.find(({id:e})=>e===d),l=null==c?void 0:c.filter(e=>e.id!==d),h=u?[{label:u.description,amount:`${u.cost.toFixed(a)}`,detail:u.additionalDescription,identifier:u.id}]:[];if(l&&[...l.filter(e=>e.isRecommended),...l.filter(e=>!e.isRecommended)].forEach(e=>h.push({label:e.description,amount:`${e.cost.toFixed(a)}`,detail:e.additionalDescription,identifier:e.id})),!(c instanceof Array))throw new Error("Shipping options not available.");if(0===c.length)return void e.completeShippingContactSelection(ApplePaySession.STATUS_INVALID_SHIPPING_POSTAL_ADDRESS,[],{type:"pending",label:t,amount:`${s.grandTotal.toFixed(a)}`},[]);const p=c.find(e=>e.isRecommended),g=p?p.id:c[0].id,m=u?u.id:g;try{yield this._updateShippingOption(m)}catch(e){throw new Error("Shipping options update failed")}o=this._paymentIntegrationService.getState(),s=o.getCheckoutOrThrow(),e.completeShippingContactSelection({newShippingMethods:h,newTotal:{type:"final",label:t,amount:`${s.grandTotal.toFixed(a)}`},newLineItems:this._getUpdatedLineItems(s,a)})})}_handleShippingMethodSelected(e,t,n){return mo(this,void 0,void 0,function*(){const{shippingMethod:{identifier:i}}=n;try{yield this._updateShippingOption(i)}catch(t){throw e.abort(),new Error("Shipping option selection update failed.")}const r=this._paymentIntegrationService.getState(),{currency:{decimalPlaces:o}}=r.getCartOrThrow(),a=r.getCheckoutOrThrow();e.completeShippingMethodSelection({newTotal:{type:"final",label:t,amount:`${a.grandTotal.toFixed(o)}`},newLineItems:this._getUpdatedLineItems(a,o)})})}_getUpdatedLineItems(e,t){const n=[{label:this._subTotalLabel,amount:`${e.subtotal.toFixed(t)}`}];return e.taxes.forEach(e=>n.push({label:e.name,amount:`${e.amount.toFixed(t)}`})),n.push({label:this._shippingLabel,amount:`${e.shippingCostTotal.toFixed(t)}`}),n}_updateShippingOption(e){return mo(this,void 0,void 0,function*(){return this._paymentIntegrationService.selectShippingOption(e)})}_onValidateMerchant(e,t){return mo(this,void 0,void 0,function*(){const n=[`validationUrl=${t.validationURL}`,`merchantIdentifier=${e.initializationData.merchantId}`,`displayName=${e.initializationData.storeName}`,`domainName=${window.location.hostname}`].join("&");return this._requestSender.post(`${e.initializationData.paymentsUrl}/api/public/v1/payments/applepay/validate_merchant`,{credentials:!1,headers:{Accept:"application/json","Content-Type":"application/x-www-form-urlencoded","X-XSRF-TOKEN":null},body:n})})}_onPaymentAuthorized(e,t,n){return mo(this,void 0,void 0,function*(){var i;const{token:r,billingContact:o,shippingContact:a}=e.payment,s=this._paymentIntegrationService.getState().getCartOrThrow().lineItems.physicalItems.length>0;let d;(null===(i=n.initializationData)||void 0===i?void 0:i.gateway)===co.BRAINTREE&&(d=yield this._getBraintreeDeviceData());const c={methodId:n.id,paymentData:{deviceSessionId:d,formattedPayload:{apple_pay_token:{payment_data:r.paymentData,payment_method:r.paymentMethod,transaction_id:r.transactionIdentifier}}}},u=this._transformContactToAddress(o),l=this._transformContactToAddress(a),h=null==a?void 0:a.emailAddress,p=(null==a?void 0:a.phoneNumber)||"";try{return yield this._paymentIntegrationService.updateBillingAddress(Object.assign(Object.assign({},u),{email:h,phone:p})),s&&(yield this._paymentIntegrationService.updateShippingAddress(l)),yield this._paymentIntegrationService.submitOrder({useStoreCredit:!1}),yield this._paymentIntegrationService.submitPayment(c),t.completePayment(ApplePaySession.STATUS_SUCCESS),this._onAuthorizeCallback()}catch(e){throw t.completePayment(ApplePaySession.STATUS_FAILURE),new Error("Payment cannot complete")}})}_transformContactToAddress(e){return{firstName:(null==e?void 0:e.givenName)||"",lastName:(null==e?void 0:e.familyName)||"",city:(null==e?void 0:e.locality)||"",company:"",address1:(null==e?void 0:e.addressLines)&&e.addressLines[0]||"",address2:(null==e?void 0:e.addressLines)&&e.addressLines[1]||"",postalCode:(null==e?void 0:e.postalCode)||"",countryCode:(null==e?void 0:e.countryCode)||"",phone:(null==e?void 0:e.phoneNumber)||"",stateOrProvince:(null==e?void 0:e.administrativeArea)||"",stateOrProvinceCode:(null==e?void 0:e.administrativeArea)||"",customFields:[]}}_getBraintreeDeviceData(){return mo(this,void 0,void 0,function*(){try{const{deviceData:e}=yield this._braintreeSdk.getDataCollectorOrThrow();return e}catch(e){}})}}function fo(e){if(!function(e){return"ApplePaySession"in e}(e))throw new Error("Apple pay is not supported")}class _o{create(e){return fo(window),new ApplePaySession(1,e)}}class So{constructor(e){this.scriptLoader=e,this.sdkVersion="1.latest"}loadSdk(){return e=this,t=void 0,i=function*(){(function(e){return"ApplePaySDK"in e})(window)||(yield this.scriptLoader.loadScript(`https://applepay.cdn-apple.com/jsapi/${this.sdkVersion}/apple-pay-sdk.js`),fo(window))},new((n=void 0)||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())});var e,t,n,i}}const vo=Tr(t=>{const{getHost:n}=t.getState(),i=new Wr(t);return new yo(e({host:n()}),t,new _o,new ao(new lo(he(),window,i)),new So(new ue))},[{id:"applepay"}]);var Co,Io,wo,bo,Eo,Po,Oo,Ao;!function(e){e.BuyNow="BUY_NOW",e.INVOICE="B2B_INVOICE"}(Co||(Co={})),function(e){e.Possible="POSSIBLE",e.No="NO",e.Unknown="UNKNOWN",e.Yes="YES"}(Io||(Io={})),function(e){e.AUTHORIZE="authorize",e.CAPTURE="capture"}(wo||(wo={})),function(e){e.paypal="paypal",e.checkout="checkout",e.buynow="buynow",e.pay="pay",e.installment="installment"}(bo||(bo={})),function(e){e.gold="gold",e.blue="blue",e.silver="silver",e.black="black",e.white="white"}(Eo||(Eo={})),function(e){e.pill="pill",e.rect="rect"}(Po||(Po={})),function(e){e.OXXO="oxxo"}(Oo||(Oo={})),function(e){e.Approved="APPROVED",e.Created="CREATED",e.PayerActionRequired="PAYER_ACTION_REQUIRED",e.PollingStop="POLLING_STOP",e.PollingError="POLLING_ERROR"}(Ao||(Ao={}));var To=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class ko{constructor(e,t,n,i){this.formPoster=e,this.paymentIntegrationService=t,this.bigCommercePaymentsRequestSender=n,this.bigCommercePaymentsScriptLoader=i}loadPayPalSdk(e,t,n,i){return To(this,void 0,void 0,function*(){const r=this.paymentIntegrationService.getState(),o=t||r.getCartOrThrow().currency.code,a=r.getPaymentMethodOrThrow(e);return this.paypalSdk=yield this.bigCommercePaymentsScriptLoader.getPayPalSDK(a,o,n,i),this.paypalSdk})}getPayPalSdkOrThrow(){if(!this.paypalSdk)throw new Or;return this.paypalSdk}createBuyNowCartOrThrow(e){return To(this,void 0,void 0,function*(){const t=e.getBuyNowCartRequestBody();if(!t)throw new mr(pr.MissingCart);try{return yield this.paymentIntegrationService.createBuyNowCart(t)}catch(e){throw new Rr}})}createOrder(e,t){return To(this,void 0,void 0,function*(){const n=this.paymentIntegrationService.getState().getCartOrThrow().id,{orderId:i}=yield this.bigCommercePaymentsRequestSender.createOrder(e,Object.assign({cartId:n},t));return i})}createOrderCardFields(e,t){return To(this,void 0,void 0,function*(){const n=this.paymentIntegrationService.getState().getCartOrThrow().id,{orderId:i,setupToken:r}=yield this.bigCommercePaymentsRequestSender.createOrder(e,Object.assign({cartId:n},t));return Object.assign({orderId:i},r?{setupToken:r}:{})})}updateOrder(e){return To(this,void 0,void 0,function*(){const t=this.paymentIntegrationService.getState(),n=t.getCartOrThrow();let i;e||(i=t.getConsignmentsOrThrow()[0]);try{yield this.bigCommercePaymentsRequestSender.updateOrder({availableShippingOptions:e?[]:null==i?void 0:i.availableShippingOptions,cartId:n.id,selectedShippingOption:e?null:null==i?void 0:i.selectedShippingOption})}catch(e){throw new we}})}getOrderStatus(e,t){return To(this,void 0,void 0,function*(){try{const{status:n}=yield this.bigCommercePaymentsRequestSender.getOrderStatus(e,t);return n}catch(e){throw new we}})}tokenizePayment(e,t){const n=this.paymentIntegrationService.getState().getCartOrThrow();if(!t)throw new mr(pr.MissingOrderId);return this.formPoster.postForm("/checkout.php",Object.assign({payment_type:"paypal",action:"set_external_checkout",provider:e,order_id:t},n.source===Co.BuyNow&&{cart_id:n.id}))}submitPayment(e,t,n){return To(this,void 0,void 0,function*(){const i={formattedPayload:{vault_payment_instrument:null,set_as_default_stored_instrument:null,device_info:null,method_id:e,paypal_account:{order_id:t}}};yield this.paymentIntegrationService.submitPayment(Object.assign({methodId:e,paymentData:i},n?{gatewayId:n}:{}))})}getShippingOptionOrThrow(e){const t=this.paymentIntegrationService.getState().getConsignmentsOrThrow()[0],n=t.availableShippingOptions||[],i=n.find(e=>e.isRecommended),r=(e?n.find(t=>t.id===e):n.find(e=>{var n;return e.id===(null===(n=t.selectedShippingOption)||void 0===n?void 0:n.id)}))||i||n[0];if(!r)throw new Error("Your order can't be shipped to this address");return r}getAddress(e){return{firstName:(null==e?void 0:e.firstName)||"",lastName:(null==e?void 0:e.lastName)||"",email:(null==e?void 0:e.email)||"",phone:(null==e?void 0:e.phone)||"",company:"",address1:(null==e?void 0:e.address1)||"",address2:(null==e?void 0:e.address2)||"",city:(null==e?void 0:e.city)||"",countryCode:(null==e?void 0:e.countryCode)||"",postalCode:(null==e?void 0:e.postalCode)||"",stateOrProvince:"",stateOrProvinceCode:(null==e?void 0:e.stateOrProvinceCode)||"",customFields:[]}}getBillingAddressFromOrderDetails({payer:e}){var t,n;return this.getAddress({firstName:e.name.given_name,lastName:e.name.surname,email:e.email_address,address1:e.address.address_line_1,address2:e.address.address_line_2,city:e.address.admin_area_2,countryCode:e.address.country_code,postalCode:e.address.postal_code,stateOrProvinceCode:e.address.admin_area_1,phone:null===(n=null===(t=e.phone)||void 0===t?void 0:t.phone_number)||void 0===n?void 0:n.national_number})}getShippingAddressFromOrderDetails(e){const{payer:t,purchase_units:n}=e,{address:i,name:{full_name:r}}=n[0].shipping,[o,...a]=r.split(" ");return this.getAddress({firstName:o,lastName:a.join(" "),email:t.email_address,address1:i.address_line_1,address2:i.address_line_2,city:i.admin_area_2,countryCode:i.country_code,postalCode:i.postal_code,stateOrProvinceCode:i.admin_area_1})}getValidButtonStyle(e){const{color:t,height:n,label:i,shape:r}=e||{},o={color:t&&Eo[t]?t:void 0,height:this.getValidHeight(n),label:i&&bo[i]?i:void 0,shape:r&&Po[r]?r:void 0};return R(o,v)}getValidHeight(e){return e&&"number"==typeof e?e>55?55:e<25?25:e:40}removeElement(e){const t=e&&document.getElementById(e);t&&(t.style.display="none")}}var Ro=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Do{constructor(e){this.requestSender=e}createOrder(e,t){return Ro(this,void 0,void 0,function*(){const n=`/api/storefront/payment/${e}`,i=t,r=Object.assign({"X-API-INTERNAL":zr,"Content-Type":Fr.Json},Ur);return(yield this.requestSender.post(n,{headers:r,body:i})).body})}updateOrder(e){return Ro(this,void 0,void 0,function*(){const t=e,n=Object.assign({"X-API-INTERNAL":zr,"Content-Type":Fr.Json},Ur);return(yield this.requestSender.put("/api/storefront/initialization/bigcommerce_payments",{headers:n,body:t})).body})}getOrderStatus(){return Ro(this,arguments,void 0,function*(e="bigcommerce_payments",t){const n=`/api/storefront/initialization/${e}`,i=Object.assign({"X-API-INTERNAL":zr,"Content-Type":Fr.Json},Ur);return(yield this.requestSender.get(n,Object.assign({headers:i},t))).body})}}var Mo=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class No{constructor(e){this.scriptLoader=e,this.window=window}getPayPalSDK(e,t,n,i){return Mo(this,void 0,void 0,function*(){const r=this.getPayPalSdkScriptConfigOrThrow(e,t,n);return this.loadPayPalSDK(r,i)})}loadPayPalSDK(e){return Mo(this,arguments,void 0,function*(e,t=!1){if(!this.window.bigCommercePaymentsPayPalSDK||t){const t=this.transformConfig(e.options),n=this.transformConfig(e.attributes),i=`https://www.paypal.com/sdk/js?${new URLSearchParams(t).toString()}`;yield this.scriptLoader.loadScript(i,{async:!0,attributes:n})}if(!this.window.bigCommercePaymentsPayPalSDK)throw new Or;return this.window.bigCommercePaymentsPayPalSDK})}getPayPalSdkScriptConfigOrThrow(e,t,n=!0){const{id:i,clientToken:r,initializationData:o}=e;if(!(null==o?void 0:o.clientId))throw new mr(pr.MissingPaymentMethod);const{intent:a,clientId:s,merchantId:d,buyerCountry:c,attributionId:u,isVenmoEnabled:l,isHostedCheckoutEnabled:h,isPayPalCreditAvailable:p,isDeveloperModeApplicable:g,availableAlternativePaymentMethods:m=[],enabledAlternativePaymentMethods:y=[],isGooglePayEnabled:f}=o,_=h||n,S="bigcommerce_payments_creditcards"===i,v=S?["card"]:[],C=S?[]:["card"],I=p?["credit","paylater"]:[],w=p?[]:["credit","paylater"],b=l?["venmo"]:[],E=l?[]:["venmo"],P=m.filter(e=>!y.includes(e)),O=f?["googlepay"]:[],A=n?["card-fields"]:[],T=this.filterFundingOptions([...C,...w,...E,...P]),k=this.filterFundingOptions([...v,...I,...b,...y]);return{options:Object.assign({"client-id":s,"merchant-id":d,"enable-funding":k.length>0?k:void 0,"disable-funding":T.length>0?T:void 0,commit:_,components:["buttons","hosted-fields","payment-fields","legal",...O,...A],currency:t,intent:a},g&&{"buyer-country":c}),attributes:{"data-partner-attribution-id":u,"data-client-token":r,"data-namespace":"bigCommercePaymentsPayPalSDK"}}}filterFundingOptions(e){const t=["klarna","afterpay"];return e?e.filter(e=>!t.includes(e)):[]}transformConfig(e){let t={};return Object.keys(e).forEach(n=>{const i=e[n];null==i||""===i||Array.isArray(i)&&0===i.length||(t=Object.assign(Object.assign({},t),{[n]:Array.isArray(i)?i.join(","):i}))}),t}}const Lo=t=>{const{getHost:i}=t.getState();return new ko(n(),t,new Do(e({host:i()})),new No(he()))};var zo=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Bo{constructor(e,t){this.paymentIntegrationService=e,this.bigCommercePaymentsIntegrationService=t}initialize(e){return zo(this,void 0,void 0,function*(){var t;const{bigcommerce_payments:n,containerId:i,methodId:r}=e,o=Boolean(null==n?void 0:n.buyNowInitializeOptions);if(!r)throw new kr('Unable to initialize payment because "options.methodId" argument is not provided.');if(!i)throw new kr('Unable to initialize payment because "options.containerId" argument is not provided.');if(!n)throw new kr('Unable to initialize payment because "options.bigcommerce_payments" argument is not provided.');if(o&&!n.currencyCode)throw new kr('Unable to initialize payment because "options.bigcommerce_payments.currencyCode" argument is not provided.');if(o&&"function"!=typeof(null===(t=n.buyNowInitializeOptions)||void 0===t?void 0:t.getBuyNowCartRequestBody))throw new kr('Unable to initialize payment because "options.bigcommerce_payments.buyNowInitializeOptions.getBuyNowCartRequestBody" argument is not provided or it is not a function.');o||(yield this.paymentIntegrationService.loadDefaultCheckout());const a=o?n.currencyCode:this.paymentIntegrationService.getState().getCartOrThrow().currency.code;yield this.bigCommercePaymentsIntegrationService.loadPayPalSdk(r,a,!1),this.renderButton(i,r,n)})}deinitialize(){return Promise.resolve()}renderButton(e,t,n){const{buyNowInitializeOptions:i,style:r,onComplete:o,onEligibilityFailure:a}=n,s=this.bigCommercePaymentsIntegrationService.getPayPalSdkOrThrow(),d=this.paymentIntegrationService.getState().getPaymentMethodOrThrow(t),{isHostedCheckoutEnabled:c,isServerSideShippingCallbacksEnabled:u}=d.initializationData||{},l={createOrder:()=>this.bigCommercePaymentsIntegrationService.createOrder("bigcommerce_payments"),onApprove:({orderID:e})=>this.bigCommercePaymentsIntegrationService.tokenizePayment(t,e)},h={onClick:()=>this.handleClick(i),onCancel:()=>this.paymentIntegrationService.loadDefaultCheckout()},p=Object.assign(Object.assign({},!u&&{onShippingAddressChange:e=>this.onShippingAddressChange(e),onShippingOptionsChange:e=>this.onShippingOptionsChange(e)}),{onApprove:(e,n)=>this.onHostedCheckoutApprove(e,n,t,o,u)}),g=Object.assign(Object.assign(Object.assign({fundingSource:s.FUNDING.PAYPAL,style:this.bigCommercePaymentsIntegrationService.getValidButtonStyle(r)},l),i&&h),c&&p),m=s.Buttons(g);m.isEligible()?m.render(`#${e}`):a&&"function"==typeof a?a():this.bigCommercePaymentsIntegrationService.removeElement(e)}handleClick(e){return zo(this,void 0,void 0,function*(){if(e){const t=yield this.bigCommercePaymentsIntegrationService.createBuyNowCartOrThrow(e);yield this.paymentIntegrationService.loadCheckout(t.id)}})}onHostedCheckoutApprove(e,t,n,i,r){return zo(this,void 0,void 0,function*(){if(!e.orderID)throw new mr(pr.MissingOrderId);const o=this.paymentIntegrationService.getState().getCartOrThrow();try{const a=o.lineItems.physicalItems.length>0;if(!r){const e=yield t.order.get(),n=this.bigCommercePaymentsIntegrationService.getBillingAddressFromOrderDetails(e);if(yield this.paymentIntegrationService.updateBillingAddress(n),a){const t=this.bigCommercePaymentsIntegrationService.getShippingAddressFromOrderDetails(e);yield this.paymentIntegrationService.updateShippingAddress(t)}}return a&&(yield this.bigCommercePaymentsIntegrationService.updateOrder(r)),r&&(yield this.paymentIntegrationService.loadCheckout()),yield this.paymentIntegrationService.submitOrder({},{params:{methodId:n}}),yield this.bigCommercePaymentsIntegrationService.submitPayment(n,e.orderID),i&&"function"==typeof i&&i(),!0}catch(e){if("string"==typeof e)throw new Error(e);throw e}})}onShippingAddressChange(e){return zo(this,void 0,void 0,function*(){const t=this.bigCommercePaymentsIntegrationService.getAddress({city:e.shippingAddress.city,countryCode:e.shippingAddress.countryCode,postalCode:e.shippingAddress.postalCode,stateOrProvinceCode:e.shippingAddress.state});try{yield this.paymentIntegrationService.updateBillingAddress(t),yield this.paymentIntegrationService.updateShippingAddress(t);const e=this.bigCommercePaymentsIntegrationService.getShippingOptionOrThrow();yield this.paymentIntegrationService.selectShippingOption(e.id),yield this.bigCommercePaymentsIntegrationService.updateOrder()}catch(e){if("string"==typeof e)throw new Error(e);throw e}})}onShippingOptionsChange(e){return zo(this,void 0,void 0,function*(){const t=this.bigCommercePaymentsIntegrationService.getShippingOptionOrThrow(e.selectedShippingOption.id);try{yield this.paymentIntegrationService.selectShippingOption(t.id),yield this.bigCommercePaymentsIntegrationService.updateOrder()}catch(e){if("string"==typeof e)throw new Error(e);throw e}})}}const Fo=Tr(e=>new Bo(e,Lo(e)),[{id:"bigcommerce_payments"}]);var Uo=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class xo{constructor(e,t){this.paymentIntegrationService=e,this.bigCommercePaymentsIntegrationService=t}initialize(e){return Uo(this,void 0,void 0,function*(){const{bigcommerce_payments_paylater:t,containerId:n,methodId:i}=e,{buyNowInitializeOptions:r,currencyCode:o}=t||{},a=!!r;if(!i)throw new kr('Unable to initialize payment because "options.methodId" argument is not provided.');if(!n)throw new kr('Unable to initialize payment because "options.containerId" argument is not provided.');if(!t)throw new kr('Unable to initialize payment because "options.bigcommerce_payments_paylater" argument is not provided.');if(a&&!o)throw new kr('Unable to initialize payment because "options.bigcommerce_payments_paylater.currencyCode" argument is not provided.');if(a&&"function"!=typeof(null==r?void 0:r.getBuyNowCartRequestBody))throw new kr('Unable to initialize payment because "options.bigcommerce_payments_paylater.buyNowInitializeOptions.getBuyNowCartRequestBody" argument is not provided or it is not a function.');a||(yield this.paymentIntegrationService.loadDefaultCheckout());const s=this.paymentIntegrationService.getState(),d=a?o:s.getCartOrThrow().currency.code;yield this.bigCommercePaymentsIntegrationService.loadPayPalSdk(i,d,!1),this.renderButton(n,i,t)})}deinitialize(){return Promise.resolve()}renderButton(e,t,n){const{buyNowInitializeOptions:i,style:r,onComplete:o,onEligibilityFailure:a}=n,s=this.bigCommercePaymentsIntegrationService.getPayPalSdkOrThrow(),d=this.paymentIntegrationService.getState().getPaymentMethodOrThrow(t),{isHostedCheckoutEnabled:c}=d.initializationData||{},u={createOrder:()=>this.bigCommercePaymentsIntegrationService.createOrder("bigcommerce_payments_paylater"),onApprove:({orderID:e})=>this.bigCommercePaymentsIntegrationService.tokenizePayment(t,e)},l={onClick:()=>this.handleClick(i),onCancel:()=>this.paymentIntegrationService.loadDefaultCheckout()},h={onShippingAddressChange:e=>this.onShippingAddressChange(e),onShippingOptionsChange:e=>this.onShippingOptionsChange(e),onApprove:(e,n)=>this.onHostedCheckoutApprove(e,n,t,o)},p=[s.FUNDING.PAYLATER,s.FUNDING.CREDIT];let g=!1;p.forEach(t=>{if(!g){const n=Object.assign(Object.assign(Object.assign({fundingSource:t,style:this.bigCommercePaymentsIntegrationService.getValidButtonStyle(r)},u),i&&l),c&&h),o=s.Buttons(n);o.isEligible()?(o.render(`#${e}`),g=!0):a&&"function"==typeof a&&a()}}),g||this.bigCommercePaymentsIntegrationService.removeElement(e)}handleClick(e){return Uo(this,void 0,void 0,function*(){if(e){const t=yield this.bigCommercePaymentsIntegrationService.createBuyNowCartOrThrow(e);yield this.paymentIntegrationService.loadCheckout(t.id)}})}onHostedCheckoutApprove(e,t,n,i){return Uo(this,void 0,void 0,function*(){if(!e.orderID)throw new mr(pr.MissingOrderId);const r=this.paymentIntegrationService.getState().getCartOrThrow(),o=yield t.order.get();try{const t=this.bigCommercePaymentsIntegrationService.getBillingAddressFromOrderDetails(o);if(yield this.paymentIntegrationService.updateBillingAddress(t),r.lineItems.physicalItems.length>0){const e=this.bigCommercePaymentsIntegrationService.getShippingAddressFromOrderDetails(o);yield this.paymentIntegrationService.updateShippingAddress(e),yield this.bigCommercePaymentsIntegrationService.updateOrder()}return yield this.paymentIntegrationService.submitOrder({},{params:{methodId:n}}),yield this.bigCommercePaymentsIntegrationService.submitPayment(n,e.orderID),i&&"function"==typeof i&&i(),!0}catch(e){if("string"==typeof e)throw new Error(e);throw e}})}onShippingAddressChange(e){return Uo(this,void 0,void 0,function*(){const t=this.bigCommercePaymentsIntegrationService.getAddress({city:e.shippingAddress.city,countryCode:e.shippingAddress.countryCode,postalCode:e.shippingAddress.postalCode,stateOrProvinceCode:e.shippingAddress.state});try{yield this.paymentIntegrationService.updateBillingAddress(t),yield this.paymentIntegrationService.updateShippingAddress(t);const e=this.bigCommercePaymentsIntegrationService.getShippingOptionOrThrow();yield this.paymentIntegrationService.selectShippingOption(e.id),yield this.bigCommercePaymentsIntegrationService.updateOrder()}catch(e){if("string"==typeof e)throw new Error(e);throw e}})}onShippingOptionsChange(e){return Uo(this,void 0,void 0,function*(){const t=this.bigCommercePaymentsIntegrationService.getShippingOptionOrThrow(e.selectedShippingOption.id);try{yield this.paymentIntegrationService.selectShippingOption(t.id),yield this.bigCommercePaymentsIntegrationService.updateOrder()}catch(e){if("string"==typeof e)throw new Error(e);throw e}})}}const qo=Tr(e=>new xo(e,Lo(e)),[{id:"bigcommerce_payments_paylater"}]);var jo=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Go{constructor(e,t){this.paymentIntegrationService=e,this.bigCommercePaymentsIntegrationService=t}initialize(e){return jo(this,void 0,void 0,function*(){const{bigcommerce_payments_venmo:t,containerId:n,methodId:i}=e,{buyNowInitializeOptions:r,currencyCode:o}=t||{},a=!!r;if(!i)throw new kr('Unable to initialize payment because "options.methodId" argument is not provided.');if(!n)throw new kr('Unable to initialize payment because "options.containerId" argument is not provided.');if(!t)throw new kr('Unable to initialize payment because "options.bigcommerce_payments_venmo" argument is not provided.');if(a&&!o)throw new kr('Unable to initialize payment because "options.bigcommerce_payments_venmo.currencyCode" argument is not provided.');if(a&&"function"!=typeof(null==r?void 0:r.getBuyNowCartRequestBody))throw new kr('Unable to initialize payment because "options.bigcommerce_payments_venmo.buyNowInitializeOptions.getBuyNowCartRequestBody" argument is not provided or it is not a function.');a||(yield this.paymentIntegrationService.loadDefaultCheckout());const s=a?o:this.paymentIntegrationService.getState().getCartOrThrow().currency.code;yield this.bigCommercePaymentsIntegrationService.loadPayPalSdk(i,s,!1),this.renderButton(n,i,t)})}deinitialize(){return Promise.resolve()}renderButton(e,t,n){const{buyNowInitializeOptions:i,style:r,onEligibilityFailure:o}=n,a=this.bigCommercePaymentsIntegrationService.getPayPalSdkOrThrow(),s=a.FUNDING.VENMO,d={createOrder:()=>this.bigCommercePaymentsIntegrationService.createOrder("bigcommerce_payments_venmo"),onApprove:({orderID:e})=>this.bigCommercePaymentsIntegrationService.tokenizePayment(t,e)},c={onClick:()=>this.handleClick(i),onCancel:()=>this.paymentIntegrationService.loadDefaultCheckout()},u=Object.assign(Object.assign({fundingSource:s,style:this.getValidVenmoButtonStyles(r)},d),i&&c),l=a.Buttons(u);l.isEligible()?l.render(`#${e}`):o&&"function"==typeof o?o():this.bigCommercePaymentsIntegrationService.removeElement(e)}getValidVenmoButtonStyles(e){const t=this.bigCommercePaymentsIntegrationService.getValidButtonStyle(e);return t.color===Eo.gold?Object.assign(Object.assign({},t),{color:void 0}):t}handleClick(e){return jo(this,void 0,void 0,function*(){if(e){const t=yield this.bigCommercePaymentsIntegrationService.createBuyNowCartOrThrow(e);yield this.paymentIntegrationService.loadCheckout(t.id)}})}}const Vo=Tr(e=>new Go(e,Lo(e)),[{id:"bigcommerce_payments_venmo"}]);class Ho extends Ce{constructor(e){super(e||"Not implemented."),this.name="NotImplementedError",this.type="not_implemented"}}var Wo,Yo,Ko;!function(e){e.SandboxMode="bolt_sandbox",e.StagingMode="bolt_staging",e.DevelopmentMode="bolt_development"}(Wo||(Wo={})),function(e){e.Small="small",e.Medium="medium",e.Large="large"}(Yo||(Yo={})),function(e){e.Pill="pill",e.Rect="rect"}(Ko||(Ko={}));class $o{constructor(e,t,n=window){this.paymentIntegrationService=e,this.boltScriptLoader=t,this.boltHostWindow=n}initialize(e){return t=this,n=void 0,r=function*(){const{bolt:t,containerId:n,methodId:i}=e,{buyNowInitializeOptions:r,style:o}=t||{};if(!i)throw new kr('Unable to initialize payment because "options.methodId" argument is not provided.');if(!n)throw new kr('Unable to initialize payment because "options.containerId" argument is not provided.');if(!t)throw new kr('Unable to initialize payment because "options.bolt" argument is not provided.');if(!Boolean(r))throw new Ho("Only buy now flow is implemented for Bolt button");if(!(null==r?void 0:r.storefrontApiToken)||"string"!=typeof r.storefrontApiToken)throw new kr('Unable to initialize payment because "options.storefrontApiToken" argument is not provided.');const a=this.paymentIntegrationService.getState().getPaymentMethodOrThrow(i),{initializationData:s,config:d}=a,{publishableKey:c,developerConfig:u}=s||{};yield this.boltScriptLoader.loadBoltClient(c,d.testMode,u,"BigCommerce",r.storefrontApiToken),this.renderButton(n,a,o)},new((i=void 0)||(i=Promise))(function(e,o){function a(e){try{d(r.next(e))}catch(e){o(e)}}function s(e){try{d(r.throw(e))}catch(e){o(e)}}function d(t){var n;t.done?e(t.value):(n=t.value,n instanceof i?n:new i(function(e){e(n)})).then(a,s)}d((r=r.apply(t,n||[])).next())});var t,n,i,r}deinitialize(){return Promise.resolve()}renderButton(e,t,n){var i;"function"==typeof(null===(i=this.boltHostWindow.BoltConnect)||void 0===i?void 0:i.setupProductPageCheckout)&&(this.addButtonContainer(e,t,n),this.boltHostWindow.BoltConnect.setupProductPageCheckout())}addButtonContainer(e,t,n){const i=document.getElementById(e);if(!i)return;const r=document.createElement("div"),o=document.createElement("object");r.setAttribute("id","product-page-checkout-wrapper"),r.setAttribute("class","bolt-button-wrapper"),r.setAttribute("style","display:none"),r.setAttribute("data-tid","product-page-checkout-wrapper"),o.setAttribute("data",this.getBoltObjectData(t,n)),o.setAttribute("class","bolt-product-checkout-button"),r.append(o),i.innerHTML="",i.append(r)}getBoltObjectData(e,t){const{initializationData:n,config:i}=e,{publishableKey:r,developerConfig:o}=n||{},a=this.boltScriptLoader.getDomainURL(!!i.testMode,o),s=this.getButtonHeight(null==t?void 0:t.size),d=this.getButtonBorderRadius(null==t?void 0:t.shape,s);return pe({url:`https://${a}/v1/checkout_button`,query:{publishable_key:r,variant:"ppc",height:s,border_radius:d}})}getButtonHeight(e){if(e)switch(e){case Yo.Small:return 25;case Yo.Large:return 45;case Yo.Medium:default:return 40}}getButtonBorderRadius(e,t){if(e)switch(e){case Ko.Pill:return t?Math.round(t/2):void 0;case Ko.Rect:default:return 4}}}var Zo=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Jo{constructor(e,t=window){this.scriptLoader=e,this.boltHostWindow=t}loadBoltClient(e,t,n,i,r){return Zo(this,void 0,void 0,function*(){if(this.boltHostWindow.BoltCheckout)return this.boltHostWindow.BoltCheckout;if(!e)throw new kr('Unable to initialize payment because "publishableKey" argument is not provided.');if(yield this.scriptLoader.loadScript(`//${this.getDomainURL(!!t,n)}/connect-bigcommerce.js`,this.getScriptOptions("bolt-connect",e,i,r)),yield this.scriptLoader.loadScript(`//${this.getDomainURL(!!t,n)}/track.js`,this.getScriptOptions("bolt-track",e)),!this.boltHostWindow.BoltCheckout)throw new Or;return this.boltHostWindow.BoltCheckout})}loadBoltEmbedded(e,t,n){return Zo(this,void 0,void 0,function*(){if(yield this.scriptLoader.loadScript(`//${this.getDomainURL(!!t,n)}/embed.js`,{async:!0,attributes:{id:"bolt-embedded"}}),!this.boltHostWindow.Bolt)throw new Or;return this.boltHostWindow.Bolt(e)})}getDomainURL(e,t){if(!e)return"connect.bolt.com";if(t)switch(t.developerMode){case Wo.StagingMode:return"connect-staging.bolt.com";case Wo.DevelopmentMode:return`connect.${t.developerDomain}`}return"connect-sandbox.bolt.com"}getScriptOptions(e,t,n,i){return{async:!0,attributes:Object.assign(Object.assign({id:e,"data-publishable-key":t},n&&{"data-shopping-cart-id":n}),i&&{"data-storefront-api-token":i})}}}const Qo=Tr(e=>new $o(e,new Jo(he())),[{id:"bolt"}]);class Xo extends kr{constructor(e){let t="Unable to submit payment for the order because the payload is invalid.";e&&(t=`${t} Make sure the following fields are provided correctly: ${e.join(", ")}.`),super(t),this.name="PaymentArgumentInvalidError"}}class ea extends Ce{constructor(e,t){super(t||"Unable to proceed because the payment form contains invalid data."),this.details=e,this.name="PaymentInvalidFormError",this.type="payment_invalid_form"}}let ta=null;const na=["buttons","messages"];var ia,ra,oa,aa,sa,da;!function(e){e.HORIZONTAL="horizontal",e.VERTICAL="vertical"}(ia||(ia={})),function(e){e.SMALL="small",e.MEDIUM="medium",e.LARGE="large",e.RESPONSIVE="responsive"}(ra||(ra={})),function(e){e.GOLD="gold",e.BLUE="blue",e.SIlVER="silver",e.BLACK="black",e.WHITE="white"}(oa||(oa={})),function(e){e.CHECKOUT="checkout",e.PAY="pay",e.BUYNOW="buynow",e.PAYPAL="paypal",e.CREDIT="credit"}(aa||(aa={})),function(e){e.PILL="pill",e.RECT="rect"}(sa||(sa={})),function(e){e.CART="cart",e.HOME="homepage",e.PAYMENT="payment",e.PRODUCT="product"}(da||(da={}));var ca=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class ua{constructor(e,t,n){this.braintreeScriptLoader=e,this.braintreeHostWindow=t,this.overlay=n,this.dataCollectors={}}initialize(e,t){this.clientToken=e,this.threeDSecureOptions=t}getBraintreeFastlane(e,t,n){return ca(this,void 0,void 0,function*(){if(t&&(window.localStorage.setItem("axoEnv","sandbox"),window.localStorage.setItem("fastlaneEnv","sandbox")),!this.braintreeHostWindow.braintreeFastlane){const t=this.getClientTokenOrThrow(),i=yield this.getClient(),r=yield this.getSessionId(e),o=yield this.braintreeScriptLoader.loadFastlane(),a={root:{backgroundColorPrimary:"transparent"}};this.braintreeHostWindow.braintreeFastlane=yield o.create({authorization:t,client:i,deviceData:r,styles:n||a})}return this.braintreeHostWindow.braintreeFastlane})}getClient(){return ca(this,void 0,void 0,function*(){if(!this.client){const e=this.getClientTokenOrThrow(),t=yield this.braintreeScriptLoader.loadClient();this.client=t.create({authorization:e})}return this.client})}getPaypal(){return this.braintreePaypal||(this.braintreePaypal=Promise.all([this.getClient(),this.braintreeScriptLoader.loadPaypal()]).then(([e,t])=>t.create({client:e}))),this.braintreePaypal}paypal(e){var{shouldSaveInstrument:t}=e,n=function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]])}return n}(e,["shouldSaveInstrument"]);const i=ge();return this.getPaypal().then(e=>{var r;return i&&(null===(r=this.overlay)||void 0===r||r.show({onClick:()=>e.focusWindow()})),e.tokenize(Object.assign({enableShippingAddress:!0,flow:t?"vault":"checkout",useraction:"commit"},n))}).then(e=>{var t;return null===(t=this.overlay)||void 0===t||t.remove(),e}).catch(e=>{var t;throw null===(t=this.overlay)||void 0===t||t.remove(),e})}getPaypalCheckout(e,t,n){return ca(this,void 0,void 0,function*(){const i=yield this.getClient(),r=yield this.braintreeScriptLoader.loadPaypalCheckout(),o={client:i};return this.paypalCheckout=yield r.create(o,(i,r)=>{var o;if(i)return n(i);const a=Object.assign(Object.assign({currency:e.currency},e.isCreditEnabled&&{"enable-funding":"paylater"}),{components:na.toString(),intent:e.intent,commit:null===(o=e.commit)||void 0===o||o});this.braintreeHostWindow.paypal?t(r):function(e,t){return ta||(ta=new Promise((n,i)=>{e.loadPayPalSDK(t,t=>{t?(ta=null,i(t)):n(e)})})),ta}(r,a).then(()=>t(r))}),this.paypalCheckout})}getDataCollector(e){return ca(this,void 0,void 0,function*(){const t=(null==e?void 0:e.paypal)?"paypal":"default";let n=this.dataCollectors[t];if(!n){try{const t=yield this.getClient(),i=yield this.braintreeScriptLoader.loadDataCollector(),r=Object.assign({client:t,kount:!0},e);n=yield i.create(r)}catch(e){if(!to(e)||"DATA_COLLECTOR_KOUNT_NOT_ENABLED"!==e.code)throw e;n={deviceData:void 0,teardown:()=>Promise.resolve()}}this.dataCollectors[t]=n}return n})}getBraintreeEnv(e=!1){return e?no.Sandbox:no.Production}mapToBraintreeShippingAddressOverride(e){return{recipientName:`${e.firstName} ${e.lastName}`,line1:e.address1,line2:e.address2,city:e.city,state:e.stateOrProvinceCode,postalCode:e.postalCode,countryCode:e.countryCode,phone:e.phone}}mapToLegacyShippingAddress(e){const{email:t,phone:n,shippingAddress:i}=e,r=(null==i?void 0:i.recipientName)||"",[o,a]=r.split(" ");return{email:t,first_name:o||"",last_name:a||"",phone_number:n,address_line_1:null==i?void 0:i.line1,address_line_2:null==i?void 0:i.line2,city:null==i?void 0:i.city,state:null==i?void 0:i.state,country_code:null==i?void 0:i.countryCode,postal_code:null==i?void 0:i.postalCode}}mapToLegacyBillingAddress(e){const{billingAddress:t,email:n,firstName:i,lastName:r,phone:o,shippingAddress:a}=e,s=t||a;return{email:n,first_name:i,last_name:r,phone_number:o,address_line_1:null==s?void 0:s.line1,address_line_2:null==s?void 0:s.line2,city:null==s?void 0:s.city,state:null==s?void 0:s.state,country_code:null==s?void 0:s.countryCode,postal_code:null==s?void 0:s.postalCode}}removeElement(e){const t=e&&document.getElementById(e);t&&t.remove()}getSessionId(e){return ca(this,void 0,void 0,function*(){const{deviceData:t}=yield this.getDataCollector({riskCorrelationId:e});return t})}teardown(){return ca(this,void 0,void 0,function*(){yield this.teardownModule(this.dataCollectors.default),yield this.teardownModule(this.dataCollectors.paypal),this.dataCollectors={},yield this.teardownModule(this.paypalCheckout),this.paypalCheckout=void 0})}get3DS(){return ca(this,void 0,void 0,function*(){return this.threeDS||(this.threeDS=Promise.all([this.getClient(),this.braintreeScriptLoader.load3DS()]).then(([e,t])=>t.create({client:e,version:2}))),this.threeDS})}getVenmoCheckout(e){return ca(this,void 0,void 0,function*(){if(!this.venmoCheckout){const t=yield this.getClient(),n=yield this.braintreeScriptLoader.loadVenmoCheckout(),i=Object.assign({client:t,allowDesktop:!0,paymentMethodUsage:"multi_use"},e||{});this.venmoCheckout=yield new Promise((e,t)=>{n.create(i,(n,i)=>n?t(n):i.isBrowserSupported()?void e(i):t(new Yr))})}return this.venmoCheckout})}verifyCard(e,t,n){return ca(this,void 0,void 0,function*(){const i=yield this.tokenizeCard(e,t);return this.challenge3DSVerification(i,n)})}tokenizeCard(e,t){return ca(this,void 0,void 0,function*(){const{paymentData:n}=e;if(!function(e){if("object"!=typeof e||null===e)return!1;const t=e;return"object"==typeof t.ccExpiry&&null!==t.ccExpiry&&"string"==typeof t.ccNumber&&"string"==typeof t.ccName}(n))throw new Xo(["payment.paymentData"]);const i=this.getErrorsRequiredFields(n);if(!f(i))throw new ea(i);const r=this.mapToCreditCard(n,t),o=yield this.getClient(),{creditCards:a}=yield o.request(r);return{nonce:a[0].nonce,bin:a[0].details.bin}})}challenge3DSVerification(e,t){return ca(this,void 0,void 0,function*(){const n=yield this.get3DS();return this.present3DSChallenge(n,t,e)})}teardownModule(e){return e?e.teardown():Promise.resolve()}getClientTokenOrThrow(){if(!this.clientToken)throw new _r(gr.PaymentNotInitialized);return this.clientToken}getErrorsRequiredFields(e){const{ccNumber:t,ccExpiry:n}=e,i={};return t||(i.ccNumber=[{message:"Credit card number is required",type:"required"}]),n||(i.ccExpiry=[{message:"Expiration date is required",type:"required"}]),i}mapToCreditCard(e,t){return{data:{creditCard:{cardholderName:e.ccName,number:e.ccNumber,cvv:e.ccCvv,expirationDate:`${e.ccExpiry.month}/${e.ccExpiry.year}`,options:{validate:!1},billingAddress:t&&{countryCodeAlpha2:t.countryCode,locality:t.city,countryName:t.country,postalCode:t.postalCode,streetAddress:t.address2?`${t.address1} ${t.address2}`:t.address1}}},endpoint:"payment_methods/credit_cards",method:"post"}}present3DSChallenge(e,t,n){const{nonce:i,bin:r}=n;if(!i)throw new _r(gr.PaymentNotInitialized);const{challengeRequested:o=!0,additionalInformation:a}=this.threeDSecureOptions||{},s=t.toFixed(2);return e.verifyCard({amount:Number(s),bin:r,challengeRequested:o,nonce:i,onLookupComplete:(e,t)=>{t()},collectDeviceData:!0,additionalInformation:a})}}function la(e){const{color:t,fundingicons:n,height:i=40,layout:r,shape:o,size:a,tagline:s}=e||{},d={color:t,fundingicons:n,height:ha(i),layout:r,shape:o||"rect",size:a,tagline:s};return R(d,v)}function ha(e){const t=Number(e);return!t||Number.isNaN(t)?40:t>55?55:t<25?25:t}function pa(e){return{recipientName:`${e.firstName} ${e.lastName}`,line1:e.address1,line2:e.address2,city:e.city,state:e.stateOrProvinceCode,postalCode:e.postalCode,countryCode:e.countryCode,phone:e.phone}}var ga=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class ma{constructor(e,t,n,i){this.paymentIntegrationService=e,this.formPoster=t,this.braintreeIntegrationService=n,this.braintreeHostWindow=i}initialize(e){return ga(this,void 0,void 0,function*(){const{braintreepaypal:t,containerId:n,methodId:i}=e;if(!i)throw new kr('Unable to initialize payment because "options.methodId" argument is not provided.');if(!n)throw new kr('Unable to initialize payment because "options.containerId" argument is not provided.');if(!t)throw new kr('Unable to initialize payment because "options.braintreepaypal" argument is not provided.');let r,o=this.paymentIntegrationService.getState();if(t.buyNowInitializeOptions){if(!t.currencyCode)throw new kr('Unable to initialize payment because "options.braintreepaypalcredit.currencyCode" argument is not provided.');r=t.currencyCode}else yield this.paymentIntegrationService.loadDefaultCheckout(),o=this.paymentIntegrationService.getState(),r=o.getCartOrThrow().currency.code;const a=o.getPaymentMethodOrThrow(i),{clientToken:s,config:d,initializationData:c}=a;if(!s||!c)throw new mr(pr.MissingPaymentMethod);const u={currency:r,intent:c.intent,isCreditEnabled:c.isCreditEnabled,commit:!1};this.braintreeIntegrationService.initialize(s),yield this.braintreeIntegrationService.getPaypalCheckout(u,e=>{this.renderPayPalButton(e,t,n,i,!!d.testMode)},e=>this.handleError(e,n,t.onError))})}deinitialize(){return ga(this,void 0,void 0,function*(){yield this.braintreeIntegrationService.teardown()})}renderPayPalButton(e,t,n,i,r){const{style:o,shouldProcessPayment:a,onAuthorizeError:s,onEligibilityFailure:d}=t,{paypal:c}=this.braintreeHostWindow;if(c){const u=c.Buttons({env:r?"sandbox":"production",fundingSource:c.FUNDING.PAYPAL,style:la(o),createOrder:()=>this.setupPayment(e,t,i),onApprove:t=>this.tokenizePayment(t,e,i,a,s)});u.isEligible()?u.render(`#${n}`):d&&"function"==typeof d&&d()}else this.braintreeIntegrationService.removeElement(n)}setupPayment(e,t,n){return ga(this,void 0,void 0,function*(){var i;const{onPaymentError:r,shippingAddress:o,buyNowInitializeOptions:a}=t;try{const r="function"==typeof(null==a?void 0:a.getBuyNowCartRequestBody)?yield this.createBuyNowCart(a.getBuyNowCartRequestBody()):void 0;this.buyNowCartId=null==r?void 0:r.id;const s=this.paymentIntegrationService.getState(),d=s.getCustomer(),c=s.getPaymentMethodOrThrow(n),u=r?r.cartAmount:s.getCartOrThrow().cartAmount,l=r?t.currencyCode:s.getCartOrThrow().currency.code,h=o||(null==d?void 0:d.addresses[0]),p=h?pa(h):void 0;return yield e.createPayment({flow:"checkout",enableShippingAddress:!0,shippingAddressEditable:!1,shippingAddressOverride:p,amount:u,currency:l,offerCredit:!1,intent:null===(i=c.initializationData)||void 0===i?void 0:i.intent})}catch(e){throw r&&(to(e)||e instanceof Ce)&&r(e),e}})}tokenizePayment(e,t,n,i,r){return ga(this,void 0,void 0,function*(){try{const{deviceData:r}=yield this.braintreeIntegrationService.getDataCollector({paypal:!0}),o=yield t.tokenizePayment(e),{details:a,nonce:s}=o,d=this.braintreeIntegrationService.mapToLegacyBillingAddress(a),c=this.braintreeIntegrationService.mapToLegacyShippingAddress(a);return this.formPoster.postForm("/checkout.php",Object.assign({payment_type:"paypal",provider:n,action:i?"process_payment":"set_external_checkout",nonce:s,device_data:r,billing_address:JSON.stringify(d),shipping_address:JSON.stringify(c)},this.buyNowCartId&&{cart_id:this.buyNowCartId})),o}catch(e){throw r&&(to(e)||e instanceof Ce)&&r(e),e}})}createBuyNowCart(e){return ga(this,void 0,void 0,function*(){if(!e)throw new mr(pr.MissingCart);try{return yield this.paymentIntegrationService.createBuyNowCart(e)}catch(e){throw new Rr}})}handleError(e,t,n){if(this.braintreeIntegrationService.removeElement(t),!n||!to(e))throw e;n(e)}}const ya=Tr(e=>{const t=window,i=new Wr(e),r=new ua(new lo(he(),t,i),t);return new ma(e,n(),r,t)},[{id:"braintreepaypal"}]);var fa=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class _a{constructor(e,t,n,i){this.paymentIntegrationService=e,this.formPoster=t,this.braintreeIntegrationService=n,this.braintreeHostWindow=i}initialize(e){return fa(this,void 0,void 0,function*(){const{braintreepaypalcredit:t,containerId:n,methodId:i}=e;if(!i)throw new kr('Unable to initialize payment because "options.methodId" argument is not provided.');if(!n)throw new kr('Unable to initialize payment because "options.containerId" argument is not provided.');if(!t)throw new kr('Unable to initialize payment because "options.braintreepaypalcredit" argument is not provided.');let r,o=this.paymentIntegrationService.getState();if(t.buyNowInitializeOptions){if(!t.currencyCode)throw new kr('Unable to initialize payment because "options.braintreepaypalcredit.currencyCode" argument is not provided.');r=t.currencyCode}else yield this.paymentIntegrationService.loadDefaultCheckout(),o=this.paymentIntegrationService.getState(),r=o.getCartOrThrow().currency.code;const a=o.getPaymentMethodOrThrow(i),{clientToken:s,config:d,initializationData:c}=a;if(!s||!c)throw new mr(pr.MissingPaymentMethod);const u={currency:r,intent:c.intent,isCreditEnabled:c.isCreditEnabled,commit:!1};this.braintreeIntegrationService.initialize(s),yield this.braintreeIntegrationService.getPaypalCheckout(u,e=>{this.renderPayPalButton(e,t,n,i,!!d.testMode)},e=>this.handleError(e,n,t.onError))})}deinitialize(){return fa(this,void 0,void 0,function*(){yield this.braintreeIntegrationService.teardown()})}renderPayPalButton(e,t,n,i,r){const{style:o,shouldProcessPayment:a,onAuthorizeError:s,onEligibilityFailure:d}=t,{paypal:c}=this.braintreeHostWindow;let u=!1;c&&[c.FUNDING.PAYLATER,c.FUNDING.CREDIT].forEach(l=>{const h=l===c.FUNDING.CREDIT?Object.assign({label:aa.CREDIT},la(o)):la(o);if(!u){const o=c.Buttons({env:r?"sandbox":"production",fundingSource:l,style:h,createOrder:()=>this.setupPayment(e,t,i),onApprove:t=>this.tokenizePayment(t,e,i,a,s)});o.isEligible()?(o.render(`#${n}`),u=!0):c.FUNDING.CREDIT&&d&&"function"==typeof d&&d()}}),c&&u||this.braintreeIntegrationService.removeElement(n)}setupPayment(e,t,n){return fa(this,void 0,void 0,function*(){var i;const{onPaymentError:r,shippingAddress:o,buyNowInitializeOptions:a}=t;try{const r="function"==typeof(null==a?void 0:a.getBuyNowCartRequestBody)?yield this.createBuyNowCart(a.getBuyNowCartRequestBody()):void 0;this.buyNowCartId=null==r?void 0:r.id;const s=this.paymentIntegrationService.getState(),d=s.getCustomer(),c=s.getPaymentMethodOrThrow(n),u=r?r.cartAmount:s.getCartOrThrow().cartAmount,l=r?t.currencyCode:s.getCartOrThrow().currency.code,h=o||(null==d?void 0:d.addresses[0]),p=h?pa(h):void 0;return yield e.createPayment({flow:"checkout",enableShippingAddress:!0,shippingAddressEditable:!1,shippingAddressOverride:p,amount:u,currency:l,offerCredit:!0,intent:null===(i=c.initializationData)||void 0===i?void 0:i.intent})}catch(e){throw r&&(to(e)||e instanceof Ce)&&r(e),e}})}tokenizePayment(e,t,n,i,r){return fa(this,void 0,void 0,function*(){try{const{deviceData:r}=yield this.braintreeIntegrationService.getDataCollector({paypal:!0}),o=yield t.tokenizePayment(e),{details:a,nonce:s}=o,d=this.braintreeIntegrationService.mapToLegacyBillingAddress(a),c=this.braintreeIntegrationService.mapToLegacyShippingAddress(a);return this.formPoster.postForm("/checkout.php",Object.assign({payment_type:"paypal",provider:n,action:i?"process_payment":"set_external_checkout",nonce:s,device_data:r,billing_address:JSON.stringify(d),shipping_address:JSON.stringify(c)},this.buyNowCartId&&{cart_id:this.buyNowCartId})),o}catch(e){throw r&&(to(e)||e instanceof Ce)&&r(e),e}})}createBuyNowCart(e){return fa(this,void 0,void 0,function*(){if(!e)throw new mr(pr.MissingCart);try{return yield this.paymentIntegrationService.createBuyNowCart(e)}catch(e){throw new Rr}})}handleError(e,t,n){if(this.braintreeIntegrationService.removeElement(t),!n||!to(e))throw e;n(e)}}const Sa=Tr(e=>{const t=window,i=new Wr(e),r=new ua(new lo(he(),t,i),t);return new _a(e,n(),r,t)},[{id:"braintreepaypalcredit"}]);var va=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Ca{constructor(e,t,n){this.paymentIntegrationService=e,this.formPoster=t,this.braintreeSdk=n}initialize(e){return va(this,void 0,void 0,function*(){const{containerId:t,methodId:n}=e;if(!n)throw new kr('Unable to initialize payment because "options.methodId" argument is not provided.');if(!t)throw new kr('Unable to initialize payment because "options.containerId" argument is not provided.');yield this.paymentIntegrationService.loadPaymentMethod(n);const i=this.paymentIntegrationService.getState(),{clientToken:r,initializationData:o,config:a}=i.getPaymentMethodOrThrow(n);if(!r||!o)throw new mr(pr.MissingPaymentMethod);this.braintreeSdk.initialize(r);const s=yield this.braintreeSdk.getBraintreeVisaCheckout(),{currency:{code:d},cartAmount:c}=i.getCartOrThrow(),u=yield this.braintreeSdk.getVisaCheckoutSdk(a.testMode),l=s.createInitOptions({paymentRequest:{currencyCode:d,subtotal:String(c)},settings:{shipping:{collectShipping:!0}}});this.createSignInButton(t),yield u.init(l),u.on("payment.success",e=>va(this,void 0,void 0,function*(){yield this.paymentSuccess(s,e)}))})}deinitialize(){return Promise.resolve()}paymentSuccess(e,t){return va(this,void 0,void 0,function*(){return Promise.all([e.tokenize(t),this.braintreeSdk.getDataCollectorOrThrow()]).then(([e,t])=>{const n=this.paymentIntegrationService.getState(),i=n.getShippingAddress(),r=n.getBillingAddress(),{shippingAddress:o=this.toVisaCheckoutAddress(i),billingAddress:a=this.toVisaCheckoutAddress(r)}=e;return this.postForm(Object.assign(Object.assign({},e),{shippingAddress:o,billingAddress:a}),t)})})}postForm(e,t){const{userData:n,billingAddress:i,shippingAddress:r,details:o}=e,{userEmail:a}=n,{deviceData:s}=t;return this.formPoster.postForm("/checkout.php",{payment_type:e.type,nonce:e.nonce,provider:"braintreevisacheckout",action:"set_external_checkout",device_data:s,card_information:JSON.stringify({type:o.cardType,number:o.lastTwo}),billing_address:JSON.stringify(this.getAddress(a,i)),shipping_address:JSON.stringify(this.getAddress(a,r))})}toVisaCheckoutAddress(e){return e?{firstName:e.firstName,lastName:e.lastName,phoneNumber:e.phone,streetAddress:e.address1,extendedAddress:e.address2,locality:e.city,region:e.stateOrProvinceCode,countryCode:e.countryCode,postalCode:e.postalCode}:{}}getAddress(e,t={}){return{email:e,first_name:t.firstName,last_name:t.lastName,phone_number:t.phoneNumber,address_line_1:t.streetAddress,address_line_2:t.extendedAddress,city:t.locality,state:t.region,country_code:t.countryCode,postal_code:t.postalCode}}createSignInButton(e){const t=document.querySelector(`#${e}`);if(!t)throw new Error("Need a container to place the button");return this.insertVisaCheckoutButton(t)}insertVisaCheckoutButton(e){const t=document.createElement("div");return t.style.display="flex",t.style.flexDirection="column",t.style.alignItems="flex-end",t.innerHTML='\n <img\n alt="Visa Checkout"\n class="v-button"\n role="button"\n src="https://secure.checkout.visa.com/wallet-services-web/xo/button.png?acceptCanadianVisaDebit=false&cobrand=true&height=34&width=178"\n />\n <a class="v-learn v-learn-default" style="text-align: right; display: block; font-size: 10px; color: #003366;" href="#" data-locale="en_US">Tell Me More</a>',e.appendChild(t),t}}const Ia=Tr(e=>{const t=window,i=new Wr(e),r=new ao(new lo(he(),t,i));return new Ca(e,n(),r)},[{id:"braintreevisacheckout"}]);function wa(e){const{billingAddress:t,email:n,firstName:i,lastName:r,phone:o,shippingAddress:a}=e,s=t||a;return{email:n,first_name:i,last_name:r,phone_number:o,address_line_1:null==s?void 0:s.line1,address_line_2:null==s?void 0:s.line2,city:null==s?void 0:s.city,state:null==s?void 0:s.state,country_code:null==s?void 0:s.countryCode,postal_code:null==s?void 0:s.postalCode}}function ba(e){const{email:t,phone:n,shippingAddress:i}=e,r=(null==i?void 0:i.recipientName)||"",[o,a]=r.split(" ");return{email:t,first_name:o||"",last_name:a||"",phone_number:n,address_line_1:null==i?void 0:i.line1,address_line_2:null==i?void 0:i.line2,city:null==i?void 0:i.city,state:null==i?void 0:i.state,country_code:null==i?void 0:i.countryCode,postal_code:null==i?void 0:i.postalCode}}var Ea=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};const Pa=e=>{const{color:t,height:n}=e;return{backgroundColor:(i=t||"",i===oa.WHITE?"#FFFFFF":"#3D95CE"),backgroundPosition:"50% 50%",backgroundSize:"80px auto",backgroundImage:`url("/app/assets/img/payment-providers/venmo-logo-${t===oa.WHITE?oa.BLUE:oa.WHITE}.svg")`,backgroundRepeat:"no-repeat",borderRadius:"4px",cursor:"pointer",transition:"0.2s ease",minHeight:`${n||40}px`,minWidth:"150px",height:"100%",width:"100%",border:t===oa.WHITE?"1px solid black":"none"};var i};class Oa{constructor(e,t,n){this.paymentIntegrationService=e,this.formPoster=t,this.braintreeSdk=n,this.onError=T}initialize(e){return Ea(this,void 0,void 0,function*(){const{braintreevenmo:t,containerId:n,methodId:i}=e;if(!i)throw new kr('Unable to initialize payment because "options.methodId" argument is not provided.');const r=this.paymentIntegrationService.getState().getPaymentMethodOrThrow(i),{clientToken:o,initializationData:a}=r,{paymentButtonStyles:s}=a,{cartButtonStyles:d}=s||{},c=(null==t?void 0:t.style)||d;if(!o||!a)throw new mr(pr.MissingPaymentMethod);if(!n)throw new kr('Unable to initialize payment because "options.containerId" argument is not provided.');yield this.paymentIntegrationService.loadDefaultCheckout(),this.onError=(null==t?void 0:t.onError)||this.handleError,this.braintreeSdk.initialize(o);try{const e=yield this.braintreeSdk.getVenmoCheckoutOrThrow();this.renderVenmoButton(e,n,null==t?void 0:t.buyNowInitializeOptions,c)}catch(e){(function(e){return"object"==typeof e&&null!==e&&"name"in e&&"BraintreeError"===e.name}(e)||function(e){return e instanceof Yr}(e))&&this.handleInitializationVenmoError(e,n)}})}deinitialize(){return Ea(this,void 0,void 0,function*(){return yield this.braintreeSdk.deinitialize(),Promise.resolve()})}handleError(e){throw new Error(e.message)}createBuyNowCart(e){return Ea(this,void 0,void 0,function*(){if("function"==typeof(null==e?void 0:e.getBuyNowCartRequestBody)){const t=null==e?void 0:e.getBuyNowCartRequestBody();if(!t)throw new mr(pr.MissingCart);try{return yield this.paymentIntegrationService.createBuyNowCart(t)}catch(e){throw new Rr}}})}handleInitializationVenmoError(e,t){return this.removeVenmoContainer(t),this.onError(e)}removeVenmoContainer(e){const t=document.getElementById(e);t&&t.remove()}renderVenmoButton(e,t,n,i){const r=document.getElementById(t),{color:o}=i||{};if(!r)throw new kr("Unable to create wallet button without valid container ID.");r.setAttribute("aria-label","Venmo"),Object.assign(r.style,Pa(i||{})),r.addEventListener("click",()=>Ea(this,void 0,void 0,function*(){r.setAttribute("disabled","true");const t=yield this.createBuyNowCart(n);e.tokenize&&e.tokenize((e,n)=>Ea(this,void 0,void 0,function*(){r.removeAttribute("disabled"),e&&this.onError(e),yield this.handlePostForm(n,null==t?void 0:t.id)}))})),o===oa.BLUE&&(r.addEventListener("mouseenter",()=>{r.style.backgroundColor="#0a7fc2"}),r.addEventListener("mouseleave",()=>{r.style.backgroundColor=Pa(i||{}).backgroundColor}))}handlePostForm(e,t){return Ea(this,void 0,void 0,function*(){const{deviceData:n}=yield this.braintreeSdk.getDataCollectorOrThrow(),{nonce:i,details:r}=e;this.formPoster.postForm("/checkout.php",Object.assign({nonce:i,provider:"braintreevenmo",payment_type:"paypal",device_data:n,action:"set_external_checkout",billing_address:JSON.stringify(wa(r)),shipping_address:JSON.stringify(ba(r))},t&&{cart_id:t}))})}}const Aa=Tr(e=>{const t=window,i=he(),r=new Wr(e),o=new lo(i,t,r),a=new ao(o);return new Oa(e,n(),a)},[{id:"braintreevenmo"}]);class Ta{constructor(e){const t=new Promise((e,t)=>{this.cancel=t});this.promise=Promise.race([e,t])}}var ka;!function(e){e.ADYEN_V2="googlepayadyenv2",e.ADYEN_V3="googlepayadyenv3",e.AUTHORIZE_NET="googlepayauthorizenet",e.BNZ="googlepaybnz",e.BRAINTREE="googlepaybraintree",e.PAYPAL_COMMERCE="googlepaypaypalcommerce",e.BIGCOMMERCE_PAYMENTS="googlepay_bigcommerce_payments",e.CHECKOUT_COM="googlepaycheckoutcom",e.CYBERSOURCE_V2="googlepaycybersourcev2",e.ORBITAL="googlepayorbital",e.STRIPE="googlepaystripe",e.STRIPE_UPE="googlepaystripeupe",e.STRIPE_OCS="googlepaystripeocs",e.WORLDPAY_ACCESS="googlepayworldpayaccess",e.TD_ONLINE_MART="googlepaytdonlinemart"}(ka||(ka={}));const Ra=function(e,t,n){return t&&n?Da(0,t,n):function(e){const t=class extends e{};return Object.getOwnPropertyNames(e.prototype).forEach(n=>{const i=Object.getOwnPropertyDescriptor(e.prototype,n);i&&"constructor"!==n&&Object.defineProperty(t.prototype,n,Da(e.prototype,n,i))}),t}(e)};function Da(e,t,n){if("function"!=typeof n.value)return n;let i=n.value;return{get(){const e=i.bind(this);return Object.defineProperty(this,t,Object.assign(Object.assign({},n),{value:e})),e},set(e){i=e}}}class Ma{constructor(e){if(!e)throw new Error("Currency settings missing");const{decimalPlaces:t,symbolLocation:n,symbol:i,thousandsSeparator:r,decimalSeparator:o}=e;if("string"!=typeof n||"string"!=typeof i||"string"!=typeof r||"string"!=typeof o||"string"!=typeof t)throw new kr("Invalid currency settings provided");this._decimalPlaces=parseInt(t,10),this._symbolLocation=n,this._symbol=i,this._thousandsSeparator=r,this._decimalSeparator=o}format(e){if("number"!=typeof e)throw new kr("Invalid amount provided");const t=this._formatNumber(e),n=this._formatCurrency(t);return e<0?`-${n}`:n}_formatNumber(e){const t=Math.abs(e),[n,i=""]=this._toFixed(t,this._decimalPlaces).split("."),r=n.replace(/\B(?=(\d{3})+(?!\d))/g,this._thousandsSeparator);return this._decimalPlaces<1?r:[r,i].join(this._decimalSeparator)}_formatCurrency(e){return"left"===this._symbolLocation.toLowerCase()?`${this._symbol}${e}`:`${e}${this._symbol}`}_toFixed(e,t){return(+`${Math.round(+`${e}e${t}`)}e${-t}`).toFixed(t)}}let Na=class{constructor(e){this._storeConfig=e,this._customerFormatter=new Ma(this._storeConfig.shopperCurrency),this._storeFormatter=new Ma(this._storeConfig.currency)}toCustomerCurrency(e){const t=this._storeConfig.shopperCurrency.exchangeRate;return this._customerFormatter.format(e*t)}toStoreCurrency(e){return this._storeFormatter.format(e)}};Na=function(e,t,n,i){var r,o=arguments.length,a=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(a=(o<3?r(a):o>3?r(t,n,a):r(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a}([Ra],Na);const La=Na;function za(){if("undefined"==typeof window)return!1;if(function(e){return"ReactNativeWebView"in e}(window))return!0;const e=navigator.userAgent||navigator.vendor||(function(e){return"opera"in e}(window)?window.opera:""),t=/android.+; wv/i.test(e),n=/iPhone|iPod|iPad/i.test(e)&&/AppleWebKit/i.test(e)&&!/Safari/i.test(e);return t||n}var Ba,Fa,Ua,xa,qa,ja,Ga,Va,Ha;function Wa(e){return e in ja}!function(e){e.AUTHORIZE="authorize",e.CAPTURE="capture"}(Ba||(Ba={})),function(e){e.paypal="paypal",e.checkout="checkout",e.buynow="buynow",e.pay="pay",e.installment="installment"}(Fa||(Fa={})),function(e){e.gold="gold",e.blue="blue",e.silver="silver",e.black="black",e.white="white"}(Ua||(Ua={})),function(e){e.pill="pill",e.rect="rect"}(xa||(xa={})),function(e){e.ESTIMATED="ESTIMATED",e.FINAL="FINAL",e.NOT_CURRENTLY_KNOWN="NOT_CURRENTLY_KNOWN"}(qa||(qa={})),function(e){e.AMEX="AMEX",e.DISCOVER="DISCOVER",e.INTERAC="INTERAC",e.JCB="JCB",e.MC="MASTERCARD",e.VISA="VISA"}(ja||(ja={})),function(e){e.OFFER="OFFER",e.PAYMENT_AUTHORIZATION="PAYMENT_AUTHORIZATION",e.SHIPPING_ADDRESS="SHIPPING_ADDRESS",e.SHIPPING_OPTION="SHIPPING_OPTION"}(Ga||(Ga={})),function(e){e.OFFER_INVALID="OFFER_INVALID",e.PAYMENT_DATA_INVALID="PAYMENT_DATA_INVALID",e.SHIPPING_ADDRESS_INVALID="SHIPPING_ADDRESS_INVALID",e.SHIPPING_ADDRESS_UNSERVICEABLE="SHIPPING_ADDRESS_UNSERVICEABLE",e.SHIPPING_OPTION_INVALID="SHIPPING_OPTION_INVALID",e.OTHER_ERROR="OTHER_ERROR"}(Va||(Va={})),function(e){e.INITIALIZE="INITIALIZE",e.SHIPPING_OPTION="SHIPPING_OPTION",e.SHIPPING_ADDRESS="SHIPPING_ADDRESS",e.OFFER="OFFER"}(Ha||(Ha={}));var Ya=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Ka{constructor(e,t){this._gatewayIdentifier=e,this._paymentIntegrationService=t,this._isBuyNowFlow=!1,this._shouldRequestShipping=!0,this._isWebViewExperimentOn=null}mapToShippingAddressRequestBody({shippingAddress:e}){if(!e)return;const{company:t="",phone:n=""}=this._paymentIntegrationService.getState().getShippingAddress()||{};return this._mapToAddressRequestBody(e,t,n)}mapToBillingAddressRequestBody(e){const{billingAddress:t}=e.paymentMethodData.info;if(!t)return;const{company:n="",phone:i="",email:r,customFields:o=[]}=this._paymentIntegrationService.getState().getBillingAddress()||{};return Object.assign(Object.assign({},this._mapToAddressRequestBody(t,n,i,o)),{email:r||e.email})}mapToExternalCheckoutData(e){var t;const{paymentMethodData:{tokenizationData:{token:n},info:{cardNetwork:i,cardDetails:r}}}=e;if(!n)throw new mr(pr.MissingPaymentToken);return Promise.resolve(Object.assign({nonce:n,card_information:{type:i,number:r}},this._isBuyNowFlow&&{cart_id:null===(t=this._paymentIntegrationService.getState().getCart())||void 0===t?void 0:t.id}))}getRequiredData(){return Ya(this,void 0,void 0,function*(){var e;const t={emailRequired:!0};if(!this._isShippingAddressRequired())return t;const n=null===(e=(yield this._paymentIntegrationService.loadShippingCountries()).getShippingCountries())||void 0===e?void 0:e.map(e=>e.code);return Object.assign(Object.assign({},t),{shippingAddressRequired:!0,shippingAddressParameters:Object.assign({phoneNumberRequired:!0},n&&{allowedCountryCodes:n}),shippingOptionRequired:!0})})}getCallbackIntents(){return this._isShippingAddressRequired()?[Ga.OFFER,Ga.SHIPPING_ADDRESS,Ga.SHIPPING_OPTION]:[Ga.OFFER]}getCallbackTriggers(){return{availableTriggers:[Ha.INITIALIZE,Ha.SHIPPING_ADDRESS,Ha.SHIPPING_OPTION,Ha.OFFER],initializationTrigger:[Ha.INITIALIZE],addressChangeTriggers:[Ha.INITIALIZE,Ha.SHIPPING_ADDRESS],shippingOptionsChangeTriggers:[Ha.SHIPPING_OPTION],offerChangeTriggers:[Ha.OFFER]}}getNonce(e){var t;const n=null===(t=this._paymentIntegrationService.getState().getPaymentMethodOrThrow(e).initializationData)||void 0===t?void 0:t.nonce;if(!n)throw new mr(pr.MissingPaymentToken);return Promise.resolve(n)}extraPaymentData(){return Promise.resolve(void 0)}getMerchantInfo(){const{googleMerchantName:e,googleMerchantId:t,platformToken:n}=this.getGooglePayInitializationData();return{merchantName:e,merchantId:t,authJwt:n}}getTransactionInfo(){let e;const{getCartOrThrow:t}=this._paymentIntegrationService.getState();e=this._isBuyNowFlow?this._getCurrencyCodeOrThrow():t().currency.code;const n=this.getGooglePayInitializationData().storeCountry;if(this.isWebViewWithRestrictions()){const t=this.getTotalPrice();return Object.assign(Object.assign({},n&&{countryCode:n}),{currencyCode:e,totalPrice:t,totalPriceStatus:qa.ESTIMATED})}return Object.assign(Object.assign({},n&&{countryCode:n}),{currencyCode:e,totalPriceStatus:qa.ESTIMATED,totalPrice:"0"})}isWebViewWithRestrictions(){return null!==this._isWebViewExperimentOn?this._isWebViewExperimentOn&&za():za()}setIsWebViewExperimentOn(e){this._isWebViewExperimentOn=e}getPaymentGatewayParameters(){const e=this.getGooglePayInitializationData().gatewayMerchantId;if(!e)throw new kr("Unable to proceed, gatewayMerchantId is missing.");return{gateway:this._gatewayIdentifier,gatewayMerchantId:e}}getCardParameters(){return{allowedAuthMethods:["PAN_ONLY","CRYPTOGRAM_3DS"],allowedCardNetworks:this.getPaymentMethod().supportedCards.filter(Wa).map(e=>ja[e]),billingAddressRequired:!0,billingAddressParameters:{format:"FULL",phoneNumberRequired:!0}}}initialize(e,t,n){return this._getPaymentMethodFn=e,this._isBuyNowFlow=Boolean(t),this._currencyCode=n,this._isBuyNowFlow&&this._getCurrencyCodeOrThrow(),Promise.resolve()}handleShippingAddressChange(e){return Ya(this,void 0,void 0,function*(){var t,n,i,r;e&&(e.name=e.name||"",e.address1=e.address1||"");const o=this.mapToShippingAddressRequestBody({shippingAddress:e});o&&(yield this._paymentIntegrationService.updateShippingAddress(o));const a=this._paymentIntegrationService.getState(),s=a.getConsignments();if(!(null==s?void 0:s[0]))return;const d=s[0],c=a.getStoreConfigOrThrow();this._currencyService||(this._currencyService=new La(c));const u=(d.availableShippingOptions||[]).map(this._getGooglePayShippingOption.bind(this)),l=null===(t=d.availableShippingOptions)||void 0===t?void 0:t.find(e=>e.isRecommended);if(u.length){const e=(null===(n=d.selectedShippingOption)||void 0===n?void 0:n.id)||(null==l?void 0:l.id)||(null===(i=u[0])||void 0===i?void 0:i.id);return!(null===(r=d.selectedShippingOption)||void 0===r?void 0:r.id)&&u[0]&&(yield this.handleShippingOptionChange((null==l?void 0:l.id)||u[0].id)),{defaultSelectedOptionId:e,shippingOptions:u}}})}handleShippingOptionChange(e){return Ya(this,void 0,void 0,function*(){if("shipping_option_unselected"!==e)return this._paymentIntegrationService.selectShippingOption(e)})}getTotalPrice(){const{getCheckoutOrThrow:e,getCartOrThrow:t,getStoreConfigOrThrow:n}=this._paymentIntegrationService.getState(),{decimalPlaces:i}=t().currency,r=jr(n().checkoutSettings.features,"PI-5075.google_pay_round_total_price_to_max_2_decimal_places")?Math.min(i,2):i;return L(e().outstandingBalance,r).toFixed(r)}handleCoupons(e){return Ya(this,void 0,void 0,function*(){const{redemptionCodes:t=[]}=e,{offers:n}=this.getAppliedCoupons()||{};let i;return yield t.reduce((e,t)=>Ya(this,void 0,void 0,function*(){if(yield e,(n||[]).some(({redemptionCode:e})=>e===t))return;const r=yield this.applyCoupon(t);r&&(i=r)}),Promise.resolve()),yield(n||[]).reduce((e,n)=>Ya(this,void 0,void 0,function*(){yield e,t.includes(n.redemptionCode)||(yield this._paymentIntegrationService.removeCoupon(n.redemptionCode))}),Promise.resolve()),{newOfferInfo:this.getAppliedCoupons(),error:i}})}getAppliedCoupons(){const e=this._paymentIntegrationService.getState(),{coupons:t}=e.getCheckout()||{};return{offers:(t||[]).map(e=>{const{displayName:t,code:n}=e;return{redemptionCode:n,description:t}})}}applyCoupon(e){return Ya(this,void 0,void 0,function*(){let t;try{yield this._paymentIntegrationService.applyCoupon(e)}catch(e){return e instanceof Error&&(t={reason:Va.OFFER_INVALID,message:e.message,intent:Ha.OFFER}),t}})}setShouldRequestShipping(e){this._shouldRequestShipping=e}getGooglePayInitializationData(){return fr(this.getPaymentMethod().initializationData,()=>new kr("Missing initialization data."))}getPaymentMethod(){return fr(this._getPaymentMethodFn,()=>new _r(gr.PaymentNotInitialized))()}getGatewayIdentifier(){return this._gatewayIdentifier}setGatewayIdentifier(e){this._gatewayIdentifier=e||this.getGatewayIdentifier()}_isShippingAddressRequired(){const{getCartOrThrow:e,getStoreConfigOrThrow:t,getShippingAddress:n}=this._paymentIntegrationService.getState(),i=t();let r;return r=jr(i.checkoutSettings.features,"PI-4290.google_pay_require_shipping_address")?this._shouldRequestShipping:void 0===n(),r&&(o=e(),a=i,!!o&&(!!o.lineItems.physicalItems.some(e=>e.isShippingRequired)||!(!a||!o.lineItems.customItems)&&o.lineItems.customItems.length>0));var o,a}_mapToAddressRequestBody(e,t,n,i){const{name:r,address1:o,address2:a,address3:s,locality:d,administrativeArea:c,countryCode:u,postalCode:l,phoneNumber:h}=e,[p,g]=this._getFirstAndLastName(r);return{firstName:p,lastName:g,company:t,address1:o,address2:`${a} ${s}`.trim(),city:d||c,stateOrProvince:c,stateOrProvinceCode:c,countryCode:u,postalCode:l,phone:h||n,customFields:i||[]}}_getFirstAndLastName(e){const t=e.split(" ");return 1===t.length?[e,""]:[t.slice(0,-1).join(" "),t[t.length-1]]}_getCurrencyCodeOrThrow(){return fr(this._currencyCode,()=>new kr('Unable to initialize payment because "options.currencyCode" argument is not provided.'))}_getGooglePayShippingOption({id:e,cost:t,description:n,additionalDescription:i}){var r;return{id:e,label:`${(null===(r=this._currencyService)||void 0===r?void 0:r.toCustomerCurrency(t))||t} ${n}`,description:i}}}var $a=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Za extends Ka{constructor(e,t){super("braintree",e),this._braintreeSdk=t,this._methodId=ka.BRAINTREE,this._verificationsInProgress=0,this._service=e}initialize(e,t,n){const i=Object.create(null,{initialize:{get:()=>super.initialize},getPaymentMethod:{get:()=>super.getPaymentMethod}});return $a(this,void 0,void 0,function*(){yield i.initialize.call(this,e,t,n);let r=i.getPaymentMethod.call(this);if(r.clientToken||(r=(yield this._service.loadPaymentMethod(this._methodId)).getPaymentMethodOrThrow(this._methodId)),!r.clientToken||!r.initializationData)throw new mr(pr.MissingPaymentMethod);return this._braintreeSdk.initialize(r.clientToken),this._braintreeGooglePayment=yield this._braintreeSdk.getBraintreeGooglePayment(),Promise.resolve()})}getNonce(e){const t=Object.create(null,{getNonce:{get:()=>super.getNonce},getPaymentMethod:{get:()=>super.getPaymentMethod}});return $a(this,void 0,void 0,function*(){var n;const i=yield t.getNonce.call(this,e),{clientToken:r,initializationData:o}=t.getPaymentMethod.call(this);if(!r||!o||!(null===(n=o.card_information)||void 0===n?void 0:n.bin))throw new mr(pr.MissingPaymentMethod);const{isThreeDSecureEnabled:a,card_information:{bin:s,isNetworkTokenized:d}}=o;if(a&&!d){const e=yield this._braintreeSdk.getBraintreeThreeDS(),{orderAmount:t}=this._service.getState().getOrderOrThrow();return(yield this._braintreePresent3DSChallenge(e,t,i,s)).nonce}return i})}extraPaymentData(){return $a(this,void 0,void 0,function*(){return{deviceSessionId:yield this._getBraintreeDeviceData()}})}mapToExternalCheckoutData(e){const t=Object.create(null,{mapToExternalCheckoutData:{get:()=>super.mapToExternalCheckoutData}});return $a(this,void 0,void 0,function*(){const n=yield t.mapToExternalCheckoutData.call(this,e);let i;try{i=JSON.parse(n.nonce)}catch(e){throw new kr("Unable to parse response from Google Pay.")}return function(e){if(!function(e){return"object"==typeof e&&null!==e&&"androidPayCards"in e}(e))throw new mr(pr.MissingPaymentToken)}(i),n.nonce=i.androidPayCards[0].nonce,n.card_information.bin=i.androidPayCards[0].details.bin,n.card_information.isNetworkTokenized=i.androidPayCards[0].details.isNetworkTokenized,n})}getCardParameters(){return super.getCardParameters()}getPaymentGatewayParameters(){const e=Object.create(null,{getMerchantInfo:{get:()=>super.getMerchantInfo},getTransactionInfo:{get:()=>super.getTransactionInfo},getRequiredData:{get:()=>super.getRequiredData}});return $a(this,void 0,void 0,function*(){return this.getBraintreeGooglePayment().createPaymentDataRequest(Object.assign({merchantInfo:e.getMerchantInfo.call(this),transactionInfo:e.getTransactionInfo.call(this),cardRequirements:{billingAddressRequired:!0,billingAddressFormat:"FULL"}},yield e.getRequiredData.call(this))).paymentMethodTokenizationParameters.parameters})}getBraintreeGooglePayment(){if(!this._braintreeGooglePayment)throw new mr(pr.MissingPaymentMethod);return this._braintreeGooglePayment}_getBraintreeDeviceData(){return $a(this,void 0,void 0,function*(){const{deviceData:e}=yield this._braintreeSdk.getDataCollectorOrThrow();return e})}_braintreePresent3DSChallenge(e,t,n,i){return $a(this,void 0,void 0,function*(){this._verificationsInProgress>0&&(yield this._cancelBraintree3DSVerification(e)),this._verificationsInProgress+=1;const r=new Ta(e.verifyCard({amount:t,bin:i,nonce:n,onLookupComplete:(e,t)=>{t()}}));try{return yield r.promise}finally{this._verificationsInProgress-=1}})}_cancelBraintree3DSVerification(e){return $a(this,void 0,void 0,function*(){try{yield e.cancelVerifyCard()}catch(e){}})}}class Ja extends Ce{constructor(e){super(e||"Unable to proceed because the client library of a payment method has thrown an unexpected error."),this.name="PaymentMethodFailedError",this.type="payment_method_client_invalid"}}var Qa=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Xa{constructor(e,t){this._paymentIntegrationService=e,this._googlePayPaymentProcessor=t}initialize(e){return Qa(this,void 0,void 0,function*(){var t,n,i,r;if(!e.methodId||(r=e.methodId,!Object.values(ka).includes(r)))throw new kr('Unable to proceed because "methodId" is not a valid key.');if(this._methodId=e.methodId,!e.containerId)throw new kr('Unable to proceed because "containerId" is not a valid key.');const o=e[this._getMethodOrThrow()];if(!o)throw new kr("Unable to proceed without valid options.");const{buyNowInitializeOptions:a,currencyCode:s,buttonColor:d,buttonType:c,onError:u}=o;let l,h=this._paymentIntegrationService.getState();try{l=h.getPaymentMethodOrThrow(this._getMethodOrThrow())}catch(e){h=yield this._paymentIntegrationService.loadPaymentMethod(this._getMethodOrThrow()),l=h.getPaymentMethodOrThrow(this._getMethodOrThrow())}if(this._countryCode=null===(t=l.initializationData)||void 0===t?void 0:t.storeCountry,this._googlePayPaymentProcessor.setIsWebViewExperimentOn(!!(null===(n=l.initializationData)||void 0===n?void 0:n.isWebViewExperimentOn)),a){if(!s)throw new kr('Unable to initialize payment because "options.currencyCode" argument is not provided.');this._currencyCode=s,this._buyNowInitializeOptions=a,yield this._googlePayPaymentProcessor.initialize(()=>l,this._getGooglePayClientOptions(),!!a,s)}else yield this._paymentIntegrationService.loadDefaultCheckout(),yield this._googlePayPaymentProcessor.initialize(()=>l,this._getGooglePayClientOptions());this._paymentButton=null!==(i=this._paymentButton)&&void 0!==i?i:this._googlePayPaymentProcessor.addPaymentButton(e.containerId,{buttonColor:null!=d?d:"default",buttonType:null!=c?c:"plain",onClick:this._handleClick(u)})})}deinitialize(){var e;return null===(e=this._paymentButton)||void 0===e||e.remove(),this._paymentButton=void 0,this._methodId=void 0,Promise.resolve()}_handleClick(e){return t=>Qa(this,void 0,void 0,function*(){t.preventDefault();try{this._buyNowInitializeOptions?yield this._createBuyNowCartOrThrow(this._buyNowInitializeOptions):yield this._paymentIntegrationService.loadDefaultCheckout(),yield this._googlePayPaymentProcessor.initializeWidget(),yield this._interactWithPaymentSheet()}catch(t){let n=t;if(function(e){return"object"==typeof e&&null!==e&&"statusCode"in e}(t)){if("CANCELED"===t.statusCode)throw new ho;n=new Ja(JSON.stringify(t))}throw null==e||e(new Ja("An error occurred while requesting your Google Pay payment details.")),n}})}_interactWithPaymentSheet(){return Qa(this,void 0,void 0,function*(){var e;const t=yield this._googlePayPaymentProcessor.showPaymentSheet(),n=this._googlePayPaymentProcessor.mapToBillingAddressRequestBody(t),i=this._googlePayPaymentProcessor.mapToShippingAddressRequestBody(t),r="/embedded-checkout"===window.location.pathname?this._paymentIntegrationService.getState().getStoreConfigOrThrow().links.siteLink:void 0;n&&(yield this._paymentIntegrationService.updateBillingAddress(n)),i&&!(null===(e=this._buyNowCart)||void 0===e?void 0:e.lineItems.digitalItems.length)&&(yield this._paymentIntegrationService.updateShippingAddress(i)),yield this._googlePayPaymentProcessor.setExternalCheckoutForm(this._getMethodOrThrow(),t,r)})}_getGooglePayClientOptions(){return this._googlePayPaymentProcessor.isWebViewWithRestrictions()?{}:{paymentDataCallbacks:{onPaymentDataChanged:e=>Qa(this,[e],void 0,function*({callbackTrigger:e,shippingAddress:t,shippingOptionData:n,offerData:i}){const{availableTriggers:r,addressChangeTriggers:o,shippingOptionsChangeTriggers:a,offerChangeTriggers:s}=this._googlePayPaymentProcessor.getCallbackTriggers();if(!r.includes(e))return;const d=o.includes(e)?yield this._googlePayPaymentProcessor.handleShippingAddressChange(t):void 0;a.includes(e)&&(yield this._googlePayPaymentProcessor.handleShippingOptionChange(n.id));const{newOfferInfo:c,error:u}=s.includes(e)?yield this._googlePayPaymentProcessor.handleCoupons(i):{},l=u;return this._buyNowInitializeOptions?this._getBuyNowTransactionInfo(d,c,l):this._getTransactionInfo(d,c,l)})}}}_createBuyNowCartOrThrow(e){return Qa(this,void 0,void 0,function*(){if("function"==typeof(null==e?void 0:e.getBuyNowCartRequestBody)){const t=e.getBuyNowCartRequestBody();try{this._buyNowCart=yield this._paymentIntegrationService.createBuyNowCart(t),yield this._paymentIntegrationService.loadCheckout(this._buyNowCart.id)}catch(e){if("string"==typeof e)throw new Rr(e);throw e}}})}_getBuyNowTransactionInfo(e,t,n){if(!this._buyNowCart)return;const{cartAmount:i}=this._buyNowCart,r=this._googlePayPaymentProcessor.getTotalPrice();return Object.assign(Object.assign(Object.assign({newTransactionInfo:Object.assign(Object.assign({},this._countryCode&&{countryCode:this._countryCode}),{currencyCode:this._getCurrencyCodeOrThrow(),totalPrice:r||String(i),totalPriceStatus:qa.FINAL})},e&&{newShippingOptionParameters:e}),t&&{newOfferInfo:t}),n&&{error:n})}_getTransactionInfo(e,t,n){return Qa(this,void 0,void 0,function*(){yield this._paymentIntegrationService.loadCheckout();const i=this._googlePayPaymentProcessor.getTotalPrice(),{code:r}=this._paymentIntegrationService.getState().getCartOrThrow().currency;return Object.assign(Object.assign(Object.assign({newTransactionInfo:Object.assign(Object.assign({},this._countryCode&&{countryCode:this._countryCode}),{currencyCode:r,totalPriceStatus:qa.FINAL,totalPrice:i})},e&&{newShippingOptionParameters:e}),t&&{newOfferInfo:t}),n&&{error:n})})}_getMethodOrThrow(){return fr(this._methodId,()=>new _r(gr.PaymentNotInitialized))}_getCurrencyCodeOrThrow(){return fr(this._currencyCode,()=>new kr('Unable to initialize payment because "options.currencyCode" argument is not provided.'))}}var es=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class ts{constructor(e,t,n,i){this._scriptLoader=e,this._gateway=t,this._requestSender=n,this._formPoster=i,this._baseRequest={apiVersion:2,apiVersionMinor:0}}initialize(e,t,n,i){return es(this,void 0,void 0,function*(){this._paymentsClient=yield this._scriptLoader.getGooglePaymentsClient(e().config.testMode,t),yield this._gateway.initialize(e,n,i),this._buildButtonPayloads()})}initializeWidget(){return es(this,void 0,void 0,function*(){yield this._buildWidgetPayloads(),yield this._determineReadinessToPay(),this._prefetchGooglePaymentData()})}getNonce(e){return this._gateway.getNonce(e)}extraPaymentData(){return es(this,void 0,void 0,function*(){return this._gateway.extraPaymentData()})}addPaymentButton(e,t){const n=document.querySelector(`#${e}`);if(!n)return;const i=this._getPaymentsClient().createButton(Object.assign(Object.assign({},t),{allowedPaymentMethods:[this._getBaseCardPaymentMethod()]}));return n.appendChild(i)}showPaymentSheet(){return es(this,void 0,void 0,function*(){const e=this._getPaymentDataRequest();return this._getPaymentsClient().loadPaymentData(e)})}setExternalCheckoutXhr(e,t){return es(this,void 0,void 0,function*(){return this._setExternalCheckout(e,t)})}setExternalCheckoutForm(e,t,n){return es(this,void 0,void 0,function*(){return this._setExternalCheckout(e,t,!0,n)})}mapToBillingAddressRequestBody(e){return this._gateway.mapToBillingAddressRequestBody(e)}mapToShippingAddressRequestBody(e){return this._gateway.mapToShippingAddressRequestBody(e)}processAdditionalAction(e,t){return"processAdditionalAction"in this._gateway?this._gateway.processAdditionalAction(e,t):Promise.reject(e)}signOut(e){return es(this,void 0,void 0,function*(){yield this._requestSender.get(`/remote-checkout/${e}/signout`)})}getCallbackTriggers(){return this._gateway.getCallbackTriggers()}setShouldRequestShipping(e){return this._gateway.setShouldRequestShipping(e)}handleShippingAddressChange(e){return es(this,void 0,void 0,function*(){return this._gateway.handleShippingAddressChange(e)})}handleShippingOptionChange(e){return es(this,void 0,void 0,function*(){yield this._gateway.handleShippingOptionChange(e)})}handleCoupons(e){return es(this,void 0,void 0,function*(){return this._gateway.handleCoupons(e)})}getTotalPrice(){return this._gateway.getTotalPrice()}_setExternalCheckout(e,t){return es(this,arguments,void 0,function*(e,t,n=!1,i){const r="/checkout.php",o=Object.assign({action:"set_external_checkout",provider:e},yield this._gateway.mapToExternalCheckoutData(t));if(n)return new Promise(e=>{this._formPoster.postForm(i?`${i}/checkout`:r,Object.assign(Object.assign({},o),{card_information:JSON.stringify(o.card_information)}),e)});yield this._requestSender.post(r,{headers:Object.assign({Accept:"text/html","Content-Type":"application/x-www-form-urlencoded"},Ur),body:o})})}isWebViewWithRestrictions(){return this._gateway.isWebViewWithRestrictions()}setIsWebViewExperimentOn(e){return this._gateway.setIsWebViewExperimentOn(e)}_prefetchGooglePaymentData(){const e=this._getPaymentDataRequest();e.transactionInfo=this._gateway.getTransactionInfo(),this._getPaymentsClient().prefetchPaymentData(e)}_determineReadinessToPay(){return es(this,void 0,void 0,function*(){try{const{result:e}=yield this._getPaymentsClient().isReadyToPay(this._getIsReadyToPayRequest());if(!1===e)throw new Ja("Google Pay is not supported by the current device and browser, please try another payment method.")}catch(e){if(e instanceof Ja)throw e;throw new Ja}})}_buildButtonPayloads(){this._baseCardPaymentMethod={type:"CARD",parameters:this._gateway.getCardParameters()}}_buildWidgetPayloads(){return es(this,void 0,void 0,function*(){const e=this._getBaseCardPaymentMethod();this._cardPaymentMethod=Object.assign(Object.assign({},e),{tokenizationSpecification:{type:"PAYMENT_GATEWAY",parameters:yield this._gateway.getPaymentGatewayParameters()}});const t=this._gateway.isWebViewWithRestrictions()?{shippingOptionRequired:!1}:{callbackIntents:this._gateway.getCallbackIntents(),offerInfo:this._gateway.getAppliedCoupons()};this._paymentDataRequest=Object.assign(Object.assign(Object.assign(Object.assign({},this._baseRequest),{allowedPaymentMethods:[this._cardPaymentMethod],transactionInfo:this._gateway.getTransactionInfo(),merchantInfo:this._gateway.getMerchantInfo()}),yield this._gateway.getRequiredData()),t),this._isReadyToPayRequest=Object.assign(Object.assign({},this._baseRequest),{allowedPaymentMethods:[e]})})}_getBaseCardPaymentMethod(){return this._getOrThrow(this._baseCardPaymentMethod)}_getPaymentDataRequest(){return this._getOrThrow(this._paymentDataRequest)}_getIsReadyToPayRequest(){return this._getOrThrow(this._isReadyToPayRequest)}_getPaymentsClient(){return this._getOrThrow(this._paymentsClient)}_getOrThrow(e){return fr(e,()=>new _r(gr.PaymentNotInitialized))}}class ns{constructor(e){this._scriptLoader=e,this._window=window}getGooglePaymentsClient(){return e=this,t=arguments,i=function*(e=!1,t){if(yield this._scriptLoader.loadScript("https://pay.google.com/gp/p/js/pay.js"),!this._window.google)throw new Or;return void 0===this._paymentsClient&&(this._paymentsClient=new this._window.google.payments.api.PaymentsClient(Object.assign({environment:e?"TEST":"PRODUCTION"},null!=t?t:{}))),this._paymentsClient},new((n=void 0)||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())});var e,t,n,i}}function is(){return new ns(he())}const rs=Tr(t=>{const i=e(),r=window,o=new Wr(t),a=new ao(new lo(he(),r,o));return new Xa(t,new ts(is(),new Za(t,a),i,n()))},[{id:"googlepaybraintree"}]),os=["ar_BH","ar_DZ","ar_EG","ar_JO","ar_KW","ar_MA","ar_OM","ar_QA","ar_SA","ar_TN","ar_YE","ar_AE","bg_BG","cs_CZ","da_DK","da_FO","da_GL","de_AT","de_CH","de_DE","de_LU","el_GR","en_AD","en_AE","en_AG","en_AI","en_AL","en_AM","en_AN","en_AO","en_AT","en_AU","en_AW","en_AZ","en_BB","en_BE","en_BH","en_BJ","en_BM","en_BN","en_BS","en_BT","en_BW","en_BY","en_BZ","en_C2","en_CA","en_CD","en_CG","en_CH","en_CI","en_CK","en_CL","en_CM","en_CN","en_CO","en_CR","en_CV","en_CY","en_CZ","en_DE","en_DJ","en_DK","en_DM","en_DO","en_DZ","en_EC","en_EE","en_EG","en_ER","en_ES","en_ET","en_FI","en_FJ","en_FK","en_FM","en_FO","en_FR","en_GA","en_GB","en_GD","en_GE","en_GF","en_GI","en_GL","en_GM","en_GN","en_GP","en_GR","en_GT","en_GW","en_GY","en_HK","en_HN","en_HR","en_HU","en_ID","en_IE","en_IL","en_IN","en_IS","en_IT","en_JM","en_JO","en_JP","en_KE","en_KG","en_KH","en_KI","en_KM","en_KN","en_KR","en_KW","en_KY","en_KZ","en_LA","en_LC","en_LI","en_LK","en_LS","en_LT","en_LU","en_LV","en_MA","en_MC","en_MD","en_ME","en_MG","en_MH","en_MK","en_ML","en_MN","en_MQ","en_MR","en_MS","en_MT","en_MU","en_MV","en_MW","en_MY","en_MZ","en_NA","en_NC","en_NE","en_NF","en_NG","en_NI","en_NL","en_NO","en_NP","en_NR","en_NU","en_NZ","en_OM","en_PA","en_PE","en_PF","en_PG","en_PH","en_PL","en_PM","en_PN","en_PT","en_PW","en_PY","en_QA","en_RE","en_RO","en_RS","en_RU","en_RW","en_SA","en_SB","en_SC","en_SE","en_SG","en_SH","en_SI","en_SJ","en_SK","en_SL","en_SM","en_SN","en_SO","en_SR","en_ST","en_SV","en_SZ","en_TC","en_TD","en_TG","en_TH","en_TJ","en_TM","en_TN","en_TO","en_TR","en_TT","en_TV","en_TW","en_TZ","en_UA","en_UG","en_US","en_UY","en_VA","en_VC","en_VE","en_VG","en_VN","en_VU","en_WF","en_WS","en_YE","en_YT","en_ZA","en_ZM","en_ZW","es_AD","es_AI","es_AO","es_AR","es_AW","es_BB","es_BJ","es_BM","es_BO","es_BS","es_BZ","es_CD","es_CG","es_CK","es_CL","es_CO","es_CR","es_CV","es_DJ","es_DM","es_DO","es_DZ","es_EC","es_EG","es_ER","es_ES","es_ET","es_FJ","es_FK","es_FO","es_GA","es_GD","es_GE","es_GI","es_GL","es_GM","es_GN","es_GT","es_GW","es_GY","es_HN","es_IE","es_JM","es_JO","es_KE","es_KG","es_KI","es_KM","es_KN","es_KW","es_KY","es_KZ","es_LC","es_LI","es_LS","es_LU","es_MA","es_MG","es_MH","es_ML","es_MR","es_MS","es_MU","es_MW","es_MX","es_MZ","es_NA","es_NC","es_NE","es_NF","es_NI","es_NR","es_NU","es_NZ","es_OM","es_PA","es_PE","es_PF","es_PG","es_PM","es_PN","es_PW","es_PY","es_QA","es_RS","es_RW","es_SA","es_SB","es_SC","es_SH","es_SJ","es_SL","es_SM","es_SN","es_SO","es_SR","es_ST","es_SV","es_SZ","es_TC","es_TD","es_TG","es_TJ","es_TM","es_TN","es_TT","es_TV","es_UA","es_UG","es_US","es_UY","es_VA","es_VC","es_VE","es_VG","es_VU","es_WF","es_YE","es_ZM","et_EE","fi_FI","fr_AD","fr_AE","fr_AI","fr_AM","fr_AO","fr_AW","fr_AZ","fr_BB","fr_BE","fr_BF","fr_BI","fr_BJ","fr_BM","fr_BS","fr_BZ","fr_CA","fr_CD","fr_CG","fr_CH","fr_CI","fr_CK","fr_CM","fr_CV","fr_DJ","fr_DM","fr_DO","fr_DZ","fr_EC","fr_ER","fr_ET","fr_FJ","fr_FK","fr_FO","fr_FR","fr_GA","fr_GD","fr_GE","fr_GF","fr_GI","fr_GL","fr_GM","fr_GN","fr_GP","fr_GT","fr_GW","fr_GY","fr_HN","fr_IE","fr_JM","fr_JO","fr_KE","fr_KG","fr_KI","fr_KM","fr_KN","fr_KW","fr_KY","fr_KZ","fr_LC","fr_LI","fr_LS","fr_LU","fr_MA","fr_MC","fr_MG","fr_MH","fr_ML","fr_MQ","fr_MR","fr_MS","fr_MU","fr_MW","fr_MZ","fr_NA","fr_NC","fr_NE","fr_NF","fr_NI","fr_NR","fr_NU","fr_NZ","fr_OM","fr_PA","fr_PE","fr_PF","fr_PG","fr_PM","fr_PN","fr_PW","fr_QA","fr_RE","fr_RS","fr_RW","fr_SA","fr_SB","fr_SC","fr_SH","fr_SJ","fr_SL","fr_SM","fr_SN","fr_SO","fr_SR","fr_ST","fr_SV","fr_SZ","fr_TC","fr_TD","fr_TG","fr_TJ","fr_TM","fr_TN","fr_TT","fr_TV","fr_UA","fr_UG","fr_US","fr_UY","fr_VA","fr_VC","fr_VE","fr_VG","fr_VU","fr_WF","fr_YE","fr_YT","fr_ZA","fr_ZM","he_IL","hu_HU","id_ID","it_IT","ja_JP","ko_KR","lv_LV","lt_LT","ms_BN","ms_MY","nl_BE","nl_NL","pl_PL","pt_BR","pt_PT","ro_RO","ru_EE","ru_LT","ru_LV","ru_RU","ru_UA","si_LK","sk_SK","sl_SI","sq_AL","sv_SE","tl_PH","th_TH","tr_TR","vi_VN","zh_C2","zh_CN","zh_HK","zh_TW","zh_AD","zh_AE","zh_AI","zh_AO","zh_AW","zh_BB","zh_BH","zh_BJ","zh_BM","zh_BS","zh_BZ","zh_CD","zh_CG","zh_CK","zh_CL","zh_CO","zh_CV","zh_DJ","zh_DM","zh_DO","zh_DZ","zh_EC","zh_EG","zh_ER","zh_ET","zh_FJ","zh_FK","zh_FO","zh_GA","zh_GD","zh_GE","zh_GI","zh_GL","zh_GM","zh_GN","zh_GT","zh_GW","zh_GY","zh_HN","zh_IE","zh_JM","zh_JO","zh_KE","zh_KG","zh_KI","zh_KM","zh_KN","zh_KW","zh_KY","zh_KZ","zh_LC","zh_LI","zh_LS","zh_LT","zh_LU","zh_MA","zh_MG","zh_MH","zh_ML","zh_MR","zh_MS","zh_MU","zh_MW","zh_MZ","zh_NA","zh_NC","zh_NE","zh_NF","zh_NI","zh_NR","zh_NU","zh_NZ","zh_OM","zh_PA","zh_PE","zh_PF","zh_PG","zh_PM","zh_PN","zh_PW","zh_QA","zh_RS","zh_RW","zh_SA","zh_SB","zh_SC","zh_SH","zh_SJ","zh_SL","zh_SM","zh_SN","zh_SO","zh_SR","zh_ST","zh_SV","zh_SZ","zh_TC","zh_TD","zh_TG","zh_TJ","zh_TM","zh_TN","zh_TT","zh_TV","zh_UA","zh_UG","zh_US","zh_UY","zh_VA","zh_VC","zh_VE","zh_VG","zh_VU","zh_WF","zh_YE","zh_ZA","zh_ZM"];function as(e){if(!e)return;let t;if(e.includes("-")){const[n,i]=e.split("-");t=`${n}_${i.toUpperCase()}`}else t=`${e}_${e.toUpperCase()}`;return os.includes(t)?t:void 0}var ss=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class ds{constructor(e){this.scriptLoader=e,this.window=window}getPayPalFastlaneSdk(e,t,n,i){return ss(this,void 0,void 0,function*(){if(!this.window.paypalFastlaneSdk){const r=this.getPayPalFastlaneSdkConfiguration(e,t,n,i);if(yield this.loadPayPalSdk(r),!this.window.paypalFastlaneSdk)throw new Or}return this.window.paypalFastlaneSdk})}getPayPalGooglePaySdk(e,t,n,i,r){return ss(this,void 0,void 0,function*(){if(!this.window.paypalGooglePay||r){const r=this.getPayPalGooglePaySdkScriptConfigOrThrow(e,t,n,i);yield this.loadPayPalSdk(r)}if(!this.window.paypalGooglePay)throw new Or;return this.window.paypalGooglePay})}getPayPalApmsSdk(e,t,n){return ss(this,void 0,void 0,function*(){if(!this.window.paypalApms){const i=this.getPayPalApmSdkConfiguration(e,t,n);if(yield this.loadPayPalSdk(i),!this.window.paypalApms)throw new Or}return this.window.paypalApms})}getPayPalMessages(e,t,n){return ss(this,void 0,void 0,function*(){if(!this.window.paypalMessages){const i=this.getPayPalSdkMessagesConfiguration(e,t,n);yield this.loadPayPalSdk(i)}if(!this.window.paypalMessages)throw new Or;return this.window.paypalMessages})}loadPayPalSdk(e){return ss(this,arguments,void 0,function*({options:e,attributes:t}){const n=this.transformConfig(e),i=this.transformConfig(t),r=`https://www.paypal.com/sdk/js?${new URLSearchParams(n).toString()}`;yield this.scriptLoader.loadScript(r,{async:!0,attributes:i})})}getPayPalFastlaneSdkConfiguration(e,t,n,i){const{clientToken:r,initializationData:o}=e;if(!o||!o.clientId)throw new mr(pr.MissingPaymentMethod);const{intent:a,clientId:s,merchantId:d,attributionId:c}=o,u=as(i);return{options:Object.assign({"client-id":s,"merchant-id":d,commit:!0,components:["fastlane","buttons","payment-fields","hosted-fields","three-domain-secure"],currency:t,intent:a},u&&{locale:u}),attributes:{"data-client-metadata-id":n.replace(/-/g,""),"data-namespace":"paypalFastlaneSdk","data-partner-attribution-id":c,"data-sdk-client-token":r}}}getPayPalGooglePaySdkScriptConfigOrThrow(e,t,n,i=!0){const{clientToken:r,initializationData:o}=e;if(!o||!o.clientId)throw new mr(pr.MissingPaymentMethod);const{intent:a,clientId:s,merchantId:d,buyerCountry:c,attributionId:u,isHostedCheckoutEnabled:l,isDeveloperModeApplicable:h}=o,p=l||i,g=as(n);return{options:Object.assign(Object.assign({"client-id":s,"merchant-id":d,commit:p,components:["googlepay"],currency:t,intent:a},h&&{"buyer-country":c}),g&&{locale:g}),attributes:{"data-partner-attribution-id":u,"data-client-token":r,"data-namespace":"paypalGooglePay"}}}getPayPalApmSdkConfiguration(e,t,n){const{initializationData:i}=e;if(!i||!i.clientId)throw new mr(pr.MissingPaymentMethod);const{intent:r,clientId:o,merchantId:a,buyerCountry:s,attributionId:d,isDeveloperModeApplicable:c,availableAlternativePaymentMethods:u=[],enabledAlternativePaymentMethods:l=[]}=i,h=l,p=u.filter(e=>!l.includes(e)),g=as(n);return{options:Object.assign(Object.assign({"client-id":o,"merchant-id":a,"enable-funding":h.length>0?h:void 0,"disable-funding":p.length>0?p:void 0,commit:!0,components:["buttons","payment-fields"],currency:t,intent:r},c&&{"buyer-country":s}),g&&{locale:g}),attributes:{"data-partner-attribution-id":d,"data-namespace":"paypalApms"}}}getPayPalSdkMessagesConfiguration(e,t,n){const{initializationData:i}=e;if(!i||!i.clientId)throw new mr(pr.MissingPaymentMethod);const{clientId:r,merchantId:o,attributionId:a,isDeveloperModeApplicable:s,buyerCountry:d}=i,c=as(n);return{options:Object.assign(Object.assign({"client-id":r,"merchant-id":o,components:["messages"],currency:t},s&&{"buyer-country":d}),c&&{locale:c}),attributes:{"data-namespace":"paypalMessages","data-partner-attribution-id":a}}}transformConfig(e){let t={};return Object.keys(e).forEach(n=>{const i=e[n];null==i||""===i||Array.isArray(i)&&0===i.length||(t=Object.assign(Object.assign({},t),{[n]:Array.isArray(i)?i.join(","):i}))}),t}}function cs(e){if(!function(e){return!!e.initializationData&&"attributionId"in e.initializationData&&"isVenmoEnabled"in e.initializationData&&"isGooglePayEnabled"in e.initializationData&&"isPayPalCreditAvailable"in e.initializationData}(e))throw new mr(pr.MissingPaymentMethod)}var us=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class ls extends Ka{constructor(e,t){super("paypalsb",e),this.payPalCommerceSdk=t,this.service=e}initialize(e,t,n){const i=Object.create(null,{initialize:{get:()=>super.initialize},getPaymentMethod:{get:()=>super.getPaymentMethod}});return us(this,void 0,void 0,function*(){var r,o,a,s,d;const c=this.service.getState(),u=null!==(o=null===(r=c.getStoreConfig())||void 0===r?void 0:r.currency.code)&&void 0!==o?o:n;if(!u)throw new mr(pr.MissingPaymentMethod);yield i.initialize.call(this,e,t,u);const l=i.getPaymentMethod.call(this);if(!l.initializationData)throw new mr(pr.MissingPaymentMethod);cs(l);const h=yield this.payPalCommerceSdk.getPayPalGooglePaySdk(l,u,c.getLocale());this.googlepayConfig=yield h.Googlepay().config();const{allowedPaymentMethods:p}=this.googlepayConfig;this.setGatewayIdentifier(null===(d=null===(s=null===(a=p[0])||void 0===a?void 0:a.tokenizationSpecification)||void 0===s?void 0:s.parameters)||void 0===d?void 0:d.gateway)})}getPaymentGatewayParameters(){if(this.googlepayConfig){const{allowedPaymentMethods:e}=this.googlepayConfig,{gatewayMerchantId:t}=e[0].tokenizationSpecification.parameters;return{gateway:this.getGatewayIdentifier(),gatewayMerchantId:t}}return{gateway:this.getGatewayIdentifier()}}mapToExternalCheckoutData(e){const t=Object.create(null,{mapToExternalCheckoutData:{get:()=>super.mapToExternalCheckoutData}});return us(this,void 0,void 0,function*(){const n=yield t.mapToExternalCheckoutData.call(this,e);return n.nonce=btoa(n.nonce),n})}}const hs=Tr(t=>new Xa(t,new ts(is(),new ls(t,new ds(he())),e(),n())),[{id:"googlepaypaypalcommerce"}]);var ps=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class gs{constructor(e){this.scriptLoader=e,this.window=window}getPayPalFastlaneSdk(e,t,n){return ps(this,void 0,void 0,function*(){if(!this.window.bigCommercePaymentsFastlaneSdk){const i=this.getPayPalFastlaneSdkConfiguration(e,t,n);if(yield this.loadPayPalSdk(i),!this.window.bigCommercePaymentsFastlaneSdk)throw new Or}return this.window.bigCommercePaymentsFastlaneSdk})}getPayPalGooglePaySdk(e,t,n,i){return ps(this,void 0,void 0,function*(){if(!this.window.bigCommercePaymentsGooglePay||i){const i=this.getPayPalGooglePaySdkScriptConfigOrThrow(e,t,n);yield this.loadPayPalSdk(i)}if(!this.window.bigCommercePaymentsGooglePay)throw new Or;return this.window.bigCommercePaymentsGooglePay})}getPayPalApmsSdk(e,t){return ps(this,void 0,void 0,function*(){if(!this.window.bigCommercePaymentsApms){const n=this.getPayPalApmSdkConfiguration(e,t);if(yield this.loadPayPalSdk(n),!this.window.bigCommercePaymentsApms)throw new Or}return this.window.bigCommercePaymentsApms})}getPayPalMessages(e,t){return ps(this,void 0,void 0,function*(){if(!this.window.bigCommercePaymentsMessages){const n=this.getPayPalSdkMessagesConfiguration(e,t);yield this.loadPayPalSdk(n)}if(!this.window.bigCommercePaymentsMessages)throw new Or;return this.window.bigCommercePaymentsMessages})}loadPayPalSdk(e){return ps(this,arguments,void 0,function*({options:e,attributes:t}){const n=this.transformConfig(e),i=this.transformConfig(t),r=`https://www.paypal.com/sdk/js?${new URLSearchParams(n).toString()}`;yield this.scriptLoader.loadScript(r,{async:!0,attributes:i})})}getPayPalFastlaneSdkConfiguration(e,t,n){const{clientToken:i,initializationData:r}=e;if(!r||!r.clientId)throw new mr(pr.MissingPaymentMethod);const{intent:o,clientId:a,merchantId:s,attributionId:d}=r;return{options:{"client-id":a,"merchant-id":s,commit:!0,components:["fastlane","three-domain-secure"],currency:t,intent:o},attributes:{"data-client-metadata-id":n.replace(/-/g,""),"data-namespace":"bigCommercePaymentsFastlaneSdk","data-partner-attribution-id":d,"data-sdk-client-token":i}}}getPayPalGooglePaySdkScriptConfigOrThrow(e,t,n=!0){const{clientToken:i,initializationData:r}=e;if(!r||!r.clientId)throw new mr(pr.MissingPaymentMethod);const{intent:o,clientId:a,merchantId:s,buyerCountry:d,attributionId:c,isHostedCheckoutEnabled:u,isDeveloperModeApplicable:l}=r,h=u||n;return{options:Object.assign({"client-id":a,"merchant-id":s,commit:h,components:["googlepay"],currency:t,intent:o},l&&{"buyer-country":d}),attributes:{"data-partner-attribution-id":c,"data-client-token":i,"data-namespace":"bigCommercePaymentsGooglePay"}}}getPayPalApmSdkConfiguration(e,t){const{initializationData:n}=e;if(!n||!n.clientId)throw new mr(pr.MissingPaymentMethod);const{intent:i,clientId:r,merchantId:o,buyerCountry:a,attributionId:s,isDeveloperModeApplicable:d,availableAlternativePaymentMethods:c=[],enabledAlternativePaymentMethods:u=[]}=n,l=this.filterFundingOptions(u),h=this.filterFundingOptions(c.filter(e=>!u.includes(e)));return{options:Object.assign({"client-id":r,"merchant-id":o,"enable-funding":l.length>0?l:void 0,"disable-funding":h.length>0?h:void 0,commit:!0,components:["buttons","payment-fields"],currency:t,intent:i},d&&{"buyer-country":a}),attributes:{"data-partner-attribution-id":s,"data-namespace":"bigCommercePaymentsApms"}}}getPayPalSdkMessagesConfiguration(e,t){const{initializationData:n}=e;if(!n||!n.clientId)throw new mr(pr.MissingPaymentMethod);const{clientId:i,merchantId:r,attributionId:o,isDeveloperModeApplicable:a,buyerCountry:s}=n;return{options:Object.assign({"client-id":i,"merchant-id":r,components:["messages"],currency:t},a&&{"buyer-country":s}),attributes:{"data-namespace":"bigCommercePaymentsMessages","data-partner-attribution-id":o}}}filterFundingOptions(e){const t=["klarna","afterpay"];return e?e.filter(e=>!t.includes(e)):[]}transformConfig(e){let t={};return Object.keys(e).forEach(n=>{const i=e[n];null==i||""===i||Array.isArray(i)&&0===i.length||(t=Object.assign(Object.assign({},t),{[n]:Array.isArray(i)?i.join(","):i}))}),t}}var ms=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class ys extends Ka{constructor(e,t){super("googlepay_bigcommerce_payments",e),this.payPalSdkHelper=t,this.service=e}initialize(e,t,n){const i=Object.create(null,{initialize:{get:()=>super.initialize},getPaymentMethod:{get:()=>super.getPaymentMethod}});return ms(this,void 0,void 0,function*(){var r,o,a,s,d;const c=null!==(o=null===(r=this.service.getState().getStoreConfig())||void 0===r?void 0:r.currency.code)&&void 0!==o?o:n;if(!c)throw new mr(pr.MissingPaymentMethod);yield i.initialize.call(this,e,t,c);const u=i.getPaymentMethod.call(this);if(!u.initializationData)throw new mr(pr.MissingPaymentMethod);cs(u);const l=yield this.payPalSdkHelper.getPayPalGooglePaySdk(u,c);this.googlepayConfig=yield l.Googlepay().config();const{allowedPaymentMethods:h}=this.googlepayConfig;this.setGatewayIdentifier(null===(d=null===(s=null===(a=h[0])||void 0===a?void 0:a.tokenizationSpecification)||void 0===s?void 0:s.parameters)||void 0===d?void 0:d.gateway)})}getPaymentGatewayParameters(){if(this.googlepayConfig){const{allowedPaymentMethods:e}=this.googlepayConfig,{gatewayMerchantId:t}=e[0].tokenizationSpecification.parameters;return{gateway:this.getGatewayIdentifier(),gatewayMerchantId:t}}return{gateway:this.getGatewayIdentifier()}}mapToExternalCheckoutData(e){const t=Object.create(null,{mapToExternalCheckoutData:{get:()=>super.mapToExternalCheckoutData}});return ms(this,void 0,void 0,function*(){const n=yield t.mapToExternalCheckoutData.call(this,e);return n.nonce=btoa(n.nonce),n})}}const fs=Tr(t=>new Xa(t,new ts(is(),new ys(t,new gs(he())),e(),n())),[{id:"googlepay_bigcommerce_payments"}]),_s=Tr(t=>{const i=e();return new Xa(t,new ts(is(),new Ka("adyen",t),i,n()))},[{id:"googlepayadyenv2"}]),Ss=Tr(t=>{const i=e();return new Xa(t,new ts(is(),new Ka("adyen",t),i,n()))},[{id:"googlepayadyenv3"}]);class vs extends Ka{constructor(e){super("authorizenet",e)}mapToExternalCheckoutData(e){const t=Object.create(null,{mapToExternalCheckoutData:{get:()=>super.mapToExternalCheckoutData}});return n=this,i=void 0,o=function*(){const n=yield t.mapToExternalCheckoutData.call(this,e);return n.nonce=btoa(n.nonce),n},new((r=void 0)||(r=Promise))(function(e,t){function a(e){try{d(o.next(e))}catch(e){t(e)}}function s(e){try{d(o.throw(e))}catch(e){t(e)}}function d(t){var n;t.done?e(t.value):(n=t.value,n instanceof r?n:new r(function(e){e(n)})).then(a,s)}d((o=o.apply(n,i||[])).next())});var n,i,r,o}getPaymentGatewayParameters(){const e=this.getGooglePayInitializationData();return function(e){if(!function(e){return"paymentGatewayId"in e}(e))throw new mr(pr.MissingPaymentMethod)}(e),{gateway:this.getGatewayIdentifier(),gatewayMerchantId:e.paymentGatewayId}}}const Cs=Tr(t=>new Xa(t,new ts(is(),new vs(t),e(),n())),[{id:"googlepayauthorizenet"}]),Is=e=>"object"==typeof e&&null!==e&&"body"in e;function ws(e){if(!function(e){return"checkoutcomkey"in e}(e))throw new mr(pr.MissingPaymentMethod)}var bs=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Es extends Ka{constructor(e,t){super("checkoutltd",e),this._requestSender=t}processAdditionalAction(e){return new Promise((t,n)=>{if(Is(e)&&function(e){var t;if("object"!=typeof e||null===e)return!1;const n=e;return"string"==typeof(null===(t=n.three_ds_result)||void 0===t?void 0:t.acs_url)&&"string"==typeof n.three_ds_result.code}(e.body)&&"three_d_secure_required"===e.body.three_ds_result.code)return window.location.assign(e.body.three_ds_result.acs_url);n(e)})}mapToExternalCheckoutData(e){const t=Object.create(null,{mapToExternalCheckoutData:{get:()=>super.mapToExternalCheckoutData}});return bs(this,void 0,void 0,function*(){const n=yield t.mapToExternalCheckoutData.call(this,e);let i;try{i=JSON.parse(n.nonce)}catch(e){throw new kr("Unable to parse response from Google Pay.")}return function(e){if(!function(e){return"object"==typeof e&&null!==e&&"protocolVersion"in e&&"signature"in e&&"signedMessage"in e}(e))throw new mr(pr.MissingPaymentToken)}(i),n.nonce=yield this._tokenize(i),n})}getPaymentGatewayParameters(){const e=this.getGooglePayInitializationData();return ws(e),{gateway:this.getGatewayIdentifier(),gatewayMerchantId:e.checkoutcomkey}}_tokenize(e){return bs(this,void 0,void 0,function*(){const t=this.getPaymentMethod().config.testMode?"https://api.sandbox.checkout.com/tokens":"https://api.checkout.com/tokens",n=this.getGooglePayInitializationData();ws(n);const{body:i}=yield this._requestSender.post(t,{credentials:!1,body:{type:"googlepay",token_data:e},headers:{Authorization:n.checkoutcomkey,"Content-Type":Fr.Json,"X-XSRF-TOKEN":null}});return i.token})}}const Ps=Tr(t=>{const i=e();return new Xa(t,new ts(is(),new Es(t,i),i,n()))},[{id:"googlepaycheckoutcom"}]);class Os extends Ka{constructor(e){super("cybersource",e)}mapToExternalCheckoutData(e){const t=Object.create(null,{mapToExternalCheckoutData:{get:()=>super.mapToExternalCheckoutData}});return n=this,i=void 0,o=function*(){const n=yield t.mapToExternalCheckoutData.call(this,e);return n.nonce=btoa(n.nonce),n},new((r=void 0)||(r=Promise))(function(e,t){function a(e){try{d(o.next(e))}catch(e){t(e)}}function s(e){try{d(o.throw(e))}catch(e){t(e)}}function d(t){var n;t.done?e(t.value):(n=t.value,n instanceof r?n:new r(function(e){e(n)})).then(a,s)}d((o=o.apply(n,i||[])).next())});var n,i,r,o}}const As=Tr(t=>new Xa(t,new ts(is(),new Os(t),e(),n())),[{id:"googlepaycybersourcev2"},{id:"googlepaybnz"}]);class Ts extends Ka{constructor(e){super("chase",e)}mapToExternalCheckoutData(e){const t=Object.create(null,{mapToExternalCheckoutData:{get:()=>super.mapToExternalCheckoutData}});return n=this,i=void 0,o=function*(){const n=yield t.mapToExternalCheckoutData.call(this,e);return n.nonce=btoa(n.nonce),n},new((r=void 0)||(r=Promise))(function(e,t){function a(e){try{d(o.next(e))}catch(e){t(e)}}function s(e){try{d(o.throw(e))}catch(e){t(e)}}function d(t){var n;t.done?e(t.value):(n=t.value,n instanceof r?n:new r(function(e){e(n)})).then(a,s)}d((o=o.apply(n,i||[])).next())});var n,i,r,o}}const ks=Tr(t=>new Xa(t,new ts(is(),new Ts(t),e(),n())),[{id:"googlepayorbital"}]);var Rs,Ds,Ms,Ns,Ls,zs,Bs,Fs,Us,xs,qs,js;!function(e){e.SHIPPING="shipping",e.BILLING="billing"}(Rs||(Rs={})),function(e){e.SPLIT="split",e.FULL="full",e.ORGANIZATION="organization"}(Ds||(Ds={})),function(e){e.Open="open",e.Expired="expired",e.Complete="complete"}(Ms||(Ms={})),function(e){e.Paid="paid",e.UnPaid="unpaid",e.NoPaymentRequired="no_payment_required"}(Ns||(Ns={})),function(e){e.SUCCESS="success",e.ERROR="error"}(Ls||(Ls={})),function(e){e.CreditCard="card",e.ACH="us_bank_account",e.Link="link",e.EPS="eps",e.GRABPAY="grabpay",e.BANCONTACT="bancontact",e.IDEAL="ideal",e.ALIPAY="alipay",e.KLARNA="klarna",e.OCS="optimized_checkout",e.CHECKOUT_SESSION="checkout_session"}(zs||(zs={})),function(e){e.NEVER="never",e.AUTO="auto",e.ALWAYS="always",e.PAYMENT="payment",e.IF_REQUIRED="if_required"}(Bs||(Bs={})),function(e){e.V3="v3",e.ACACIA="acacia",e.BASIL="basil",e.CLOVER="clover"}(Fs||(Fs={})),function(e){e.PAYMENT="payment",e.AUTHENTICATION="linkAuthentication",e.SHIPPING="address",e.EXPRESS_CHECKOUT="expressCheckout"}(Us||(Us={})),function(e){e.REQUIRES_PAYMENT_METHOD="requires_payment_method",e.REQUIRES_CONFIRMATION="requires_confirmation",e.REQUIRES_ACTION="requires_action",e.PROCESSING="processing",e.SUCCEEDED="succeeded",e.CANCELED="canceled"}(xs||(xs={})),function(e){e.CLICK="click",e.CHANGE="change",e.READY="ready",e.SHIPPING_ADDRESS_CHANGE="shippingaddresschange",e.SHIPPING_RATE_CHANGE="shippingratechange",e.CONFIRM="confirm",e.CANCEL="cancel",e.LOADER_START="loaderstart"}(qs||(qs={})),function(e){e.ON_SESSION="on_session",e.OFF_SESSION="off_session"}(js||(js={}));var Gs=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Vs{constructor(e,t=window){this.scriptLoader=e,this.stripeWindow=t}getStripeClient(e,t,n,i,r){return Gs(this,void 0,void 0,function*(){if(this.stripeWindow.bcStripeClient)return this.stripeWindow.bcStripeClient;const o=yield this.load(n),{stripePublishableKey:a,stripeConnectedAccount:s}=e,d=o(a,Object.assign(Object.assign(Object.assign(Object.assign({},s?{stripeAccount:s}:{}),t?{locale:t}:{}),i?{betas:i}:{}),r?{apiVersion:r}:{}));return Object.assign(this.stripeWindow,{bcStripeClient:d}),d})}getElements(e,t){return Gs(this,void 0,void 0,function*(){let n=this.stripeWindow.bcStripeElements;return n?yield this.updateStripeElements(t):(n=e.elements(t),Object.assign(this.stripeWindow,{bcStripeElements:n})),n})}updateStripeElements(e){return Gs(this,void 0,void 0,function*(){const t=this.stripeWindow.bcStripeElements;t&&(t.update(e),yield t.fetchUpdates())})}getStripeCheckout(e,t){return Gs(this,void 0,void 0,function*(){let n=yield this.getStoredStripeCheckout(t);return n||(n=yield e.initCheckout(t),Object.assign(this.stripeWindow,{bcStripeCheckout:n})),n})}load(e){return Gs(this,void 0,void 0,function*(){if(!this.stripeWindow.Stripe&&(yield this.scriptLoader.loadScript(this.getScriptUrl(e)),!this.stripeWindow.Stripe))throw new Or;return this.stripeWindow.Stripe})}getScriptUrl(e){return e&&e!==Fs.V3?`https://js.stripe.com/${e}/stripe.js`:"https://js.stripe.com/v3/"}getStoredStripeCheckout(e){return Gs(this,void 0,void 0,function*(){const t=this.stripeWindow.bcStripeCheckout;if(t)try{const{actions:n,error:i}=yield t.loadActions();if(i||!n)return void this.logErrorToConsole(i);const r=yield n.getSession(),o=e.clientSecret.split("_secret_")[0];if(r.id===o)return t}catch(e){return void this.logErrorToConsole(e)}})}logErrorToConsole(e){e?console.error(e):console.error("No stripe checkout actions available on loadActions().")}}const Hs=["payment_element_beta_2","alipay_pm_beta_1","link_default_integration_beta_1","shipping_address_element_beta_1","address_element_beta_1"];function Ws(e){if(!function(e){return"stripeConnectedAccount"in e&&"stripePublishableKey"in e&&"stripeVersion"in e}(e))throw new mr(pr.MissingPaymentMethod)}var Ys=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Ks extends Ka{constructor(e,t){super("stripe",e),this.paymentIntegrationService=e,this.scriptLoader=t}mapToExternalCheckoutData(e){const t=Object.create(null,{mapToExternalCheckoutData:{get:()=>super.mapToExternalCheckoutData}});return Ys(this,void 0,void 0,function*(){const n=yield t.mapToExternalCheckoutData.call(this,e);let i;try{i=JSON.parse(n.nonce)}catch(e){throw new kr("Unable to parse response from Google Pay.")}return function(e){if(!function(e){return"object"==typeof e&&null!==e&&"id"in e}(e))throw new mr(pr.MissingPaymentToken)}(i),n.nonce=i.id,n})}getPaymentGatewayParameters(){const e=this.getGooglePayInitializationData();Ws(e);const{stripeVersion:t,stripePublishableKey:n,stripeConnectedAccount:i}=e;return{gateway:this.getGatewayIdentifier(),"stripe:version":t,"stripe:publishableKey":`${n}/${i}`}}processAdditionalAction(e,t){return Ys(this,void 0,void 0,function*(){var n,i;if(!t)throw new Xo(["payment"]);if(!Is(e)||("object"!=typeof(i=e.body)||null===i||!("three_ds_result"in i)||!("errors"in i)))throw e;if(z(e.body.errors,{code:"three_d_secure_required"})){const i=this.getGooglePayInitializationData();Ws(i),this.stripeUPEClient=yield this.loadStripeJs(i,t);const r=e.body.three_ds_result.token;let o,a=!1;try{o=yield this.stripeUPEClient.confirmCardPayment(r)}catch(e){try{o=yield this.stripeUPEClient.retrievePaymentIntent(r)}catch(e){a=!0}}if(null==o?void 0:o.error){if(this._throwDisplayableStripeError(o.error),this._isCancellationError(o.error))throw new ho;throw new Ja}if(!(null==o?void 0:o.paymentIntent)&&!a)throw new we;return this.paymentIntegrationService.submitPayment({methodId:t,paymentData:{nonce:(null===(n=null==o?void 0:o.paymentIntent)||void 0===n?void 0:n.id)||r}})}throw e})}loadStripeJs(e,t){return Ys(this,void 0,void 0,function*(){if(this.stripeUPEClient)return this.stripeUPEClient;const n=this.paymentIntegrationService.getState().getCartLocale();return"googlepaystripeocs"===t?this.scriptLoader.getStripeClient(e,n,Fs.CLOVER):this.scriptLoader.getStripeClient(e,n,Fs.V3,Hs,"2020-03-02;alipay_beta=v1;link_beta=v1")})}_isCancellationError(e){var t,n;return e&&-1!==(null===(n=null===(t=e.payment_intent.last_payment_error)||void 0===t?void 0:t.message)||void 0===n?void 0:n.indexOf("canceled"))}_throwDisplayableStripeError(e){if(m(["card_error","invalid_request_error","validation_error"],e.type))throw new Error(e.message)}}const $s=Tr(t=>new Xa(t,new ts(is(),new Ks(t,new Vs(he())),e(),n())),[{id:"googlepaystripe"},{id:"googlepaystripeupe"},{id:"googlepaystripeocs"}]);class Zs extends Ka{constructor(e){super("worldpay",e)}mapToExternalCheckoutData(e){const t=Object.create(null,{mapToExternalCheckoutData:{get:()=>super.mapToExternalCheckoutData}});return n=this,i=void 0,o=function*(){const n=yield t.mapToExternalCheckoutData.call(this,e);return n.nonce=btoa(n.nonce),n},new((r=void 0)||(r=Promise))(function(e,t){function a(e){try{d(o.next(e))}catch(e){t(e)}}function s(e){try{d(o.throw(e))}catch(e){t(e)}}function d(t){var n;t.done?e(t.value):(n=t.value,n instanceof r?n:new r(function(e){e(n)})).then(a,s)}d((o=o.apply(n,i||[])).next())});var n,i,r,o}}const Js=Tr(t=>new Xa(t,new ts(is(),new Zs(t),e(),n())),[{id:"googlepayworldpayaccess"}]);function Qs(){const{navigator:e}=window;let t;return t=e.language?e.language:e.userLanguage,{color_depth:window.screen.colorDepth||24,java_enabled:"function"==typeof e.javaEnabled&&e.javaEnabled(),language:t,screen_height:window.screen.height,screen_width:window.screen.width,time_zone_offset:(new Date).getTimezoneOffset().toString()}}var Xs=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class ed extends Ka{constructor(e,t){super("worldlinena",e),this.formPoster=t}extraPaymentData(){return Xs(this,void 0,void 0,function*(){return Promise.resolve({browser_info:Qs()})})}processAdditionalAction(e){return Xs(this,void 0,void 0,function*(){if(!function(e){return Is(e)&&(t=e.body,C(t)&&"object"==typeof t&&"errors"in t&&"three_ds_result"in t&&y(t.errors)&&z(t.errors,{code:"three_d_secure_required"}));var t}(e))throw e;const{three_ds_result:t}=e.body,{acs_url:n,payer_auth_request:i,merchant_data:r}=t||{};if(!n||!i||!r)throw new Xo(["formUrl","threeDSSessionData","creq"]);return new Promise(e=>{this.formPoster.postForm(n,{threeDSSessionData:i,creq:r},e,"_top")})})}}const td=Tr(t=>new Xa(t,new ts(is(),new ed(t,n()),e(),n())),[{id:"googlepaytdonlinemart"}]);var nd,id,rd,od,ad,sd,dd,cd,ud,ld,hd=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class pd{constructor(e){this.scriptLoader=e,this.window=window}getPayPalSDK(e,t,n,i,r){return hd(this,void 0,void 0,function*(){if(!this.window.paypal||r){const r=this.getPayPalSdkScriptConfigOrThrow(e,t,n,i);if(yield this.loadPayPalSdk(r),!this.window.paypal)throw new Or}return this.window.paypal})}getPayPalFastlaneSdk(e,t,n,i){return hd(this,void 0,void 0,function*(){if(!this.window.paypalFastlaneSdk){const r=this.getPayPalFastlaneSdkConfiguration(e,t,n,i);if(yield this.loadPayPalSdk(r),!this.window.paypalFastlaneSdk)throw new Or}return this.window.paypalFastlaneSdk})}getPayPalGooglePaySdk(e,t,n,i,r){return hd(this,void 0,void 0,function*(){if(!this.window.paypalGooglePay||r){const r=this.getPayPalGooglePaySdkScriptConfigOrThrow(e,t,n,i);yield this.loadPayPalSdk(r)}if(!this.window.paypalGooglePay)throw new Or;return this.window.paypalGooglePay})}getPayPalApmsSdk(e,t,n){return hd(this,void 0,void 0,function*(){if(!this.window.paypalApms){const i=this.getPayPalApmSdkConfiguration(e,t,n);if(yield this.loadPayPalSdk(i),!this.window.paypalApms)throw new Or}return this.window.paypalApms})}getPayPalMessages(e,t,n){return hd(this,void 0,void 0,function*(){if(!this.window.paypalMessages){const i=this.getPayPalSdkMessagesConfiguration(e,t,n);yield this.loadPayPalSdk(i)}if(!this.window.paypalMessages)throw new Or;return this.window.paypalMessages})}loadPayPalSdk(e){return hd(this,arguments,void 0,function*({options:e,attributes:t}){const n=this.transformConfig(e),i=this.transformConfig(t),r=`https://www.paypal.com/sdk/js?${new URLSearchParams(n).toString()}`;yield this.scriptLoader.loadScript(r,{async:!0,attributes:i})})}getPayPalSdkScriptConfigOrThrow(e,t,n,i=!0){const{id:r,clientToken:o,initializationData:a}=e;if(!a||!a.clientId)throw new mr(pr.MissingPaymentMethod);const{intent:s,clientId:d,merchantId:c,buyerCountry:u,attributionId:l,isVenmoEnabled:h,isHostedCheckoutEnabled:p,isPayPalCreditAvailable:g,isDeveloperModeApplicable:m,availableAlternativePaymentMethods:y=[],enabledAlternativePaymentMethods:f=[],isGooglePayEnabled:_}=a,S=p||i,v="paypalcommercecreditcards"===r||"bigcommerce_payments_creditcards"===r,C=v?["card"]:[],I=v?[]:["card"],w=g?["credit","paylater"]:[],b=g?[]:["credit","paylater"],E=h?["venmo"]:[],P=h?[]:["venmo"],O=y.filter(e=>!f.includes(e)),A=_?["googlepay"]:[],T=i?["card-fields"]:[],k=this.filterFundingOptions([...I,...b,...P,...O]),R=this.filterFundingOptions([...C,...w,...E,...f]),D=as(n);return{options:Object.assign(Object.assign({"client-id":d,"merchant-id":c,"enable-funding":R.length>0?R:void 0,"disable-funding":k.length>0?k:void 0,commit:S,components:["buttons","hosted-fields","payment-fields","legal",...A,...T],currency:t,intent:s},m&&{"buyer-country":u}),D&&{locale:D}),attributes:{"data-partner-attribution-id":l,"data-client-token":o}}}getPayPalFastlaneSdkConfiguration(e,t,n,i){const{clientToken:r,initializationData:o}=e;if(!o||!o.clientId)throw new mr(pr.MissingPaymentMethod);const{intent:a,clientId:s,merchantId:d,attributionId:c}=o,u=as(i);return{options:Object.assign(Object.assign({"client-id":s,"merchant-id":d,commit:!0,components:["fastlane","buttons","payment-fields","hosted-fields","three-domain-secure"],currency:t},u&&{locale:u}),{intent:a}),attributes:{"data-client-metadata-id":n.replace(/-/g,""),"data-namespace":"paypalFastlaneSdk","data-partner-attribution-id":c,"data-sdk-client-token":r}}}getPayPalGooglePaySdkScriptConfigOrThrow(e,t,n,i=!0){const{clientToken:r,initializationData:o}=e;if(!o||!o.clientId)throw new mr(pr.MissingPaymentMethod);const{intent:a,clientId:s,merchantId:d,buyerCountry:c,attributionId:u,isHostedCheckoutEnabled:l,isDeveloperModeApplicable:h}=o,p=l||i,g=as(n);return{options:Object.assign(Object.assign({"client-id":s,"merchant-id":d,commit:p,components:["googlepay"],currency:t,intent:a},h&&{"buyer-country":c}),g&&{locale:g}),attributes:{"data-partner-attribution-id":u,"data-client-token":r,"data-namespace":"paypalGooglePay"}}}getPayPalApmSdkConfiguration(e,t,n){const{initializationData:i}=e;if(!i||!i.clientId)throw new mr(pr.MissingPaymentMethod);const{intent:r,clientId:o,merchantId:a,buyerCountry:s,attributionId:d,isDeveloperModeApplicable:c,availableAlternativePaymentMethods:u=[],enabledAlternativePaymentMethods:l=[]}=i,h=this.filterFundingOptions(l),p=this.filterFundingOptions(u.filter(e=>!l.includes(e))),g=as(n);return{options:Object.assign(Object.assign({"client-id":o,"merchant-id":a,"enable-funding":h.length>0?h:void 0,"disable-funding":p.length>0?p:void 0,commit:!0,components:["buttons","payment-fields"],currency:t,intent:r},c&&{"buyer-country":s}),g&&{locale:g}),attributes:{"data-partner-attribution-id":d,"data-namespace":"paypalApms"}}}getPayPalSdkMessagesConfiguration(e,t,n){const{initializationData:i}=e;if(!i||!i.clientId)throw new mr(pr.MissingPaymentMethod);const{clientId:r,merchantId:o,attributionId:a,isDeveloperModeApplicable:s,buyerCountry:d}=i,c=as(n);return{options:Object.assign(Object.assign({"client-id":r,"merchant-id":o,components:["messages"],currency:t},s&&{"buyer-country":d}),c&&{locale:c}),attributes:{"data-namespace":"paypalMessages","data-partner-attribution-id":a}}}filterFundingOptions(e){const t=["klarna","afterpay"];return e?e.filter(e=>!t.includes(e)):[]}transformConfig(e){let t={};return Object.keys(e).forEach(n=>{const i=e[n];null==i||""===i||Array.isArray(i)&&0===i.length||(t=Object.assign(Object.assign({},t),{[n]:Array.isArray(i)?i.join(","):i}))}),t}}!function(e){e.AUTHORIZE="authorize",e.CAPTURE="capture"}(nd||(nd={})),function(e){e.Always="SCA_ALWAYS"}(id||(id={})),function(e){e.Succeeded="succeeded",e.Cancelled="cancelled",e.Errored="errored"}(rd||(rd={})),function(e){e.Possible="POSSIBLE",e.No="NO",e.Unknown="UNKNOWN",e.Yes="YES"}(od||(od={})),function(e){e.paypal="paypal",e.checkout="checkout",e.buynow="buynow",e.pay="pay",e.installment="installment"}(ad||(ad={})),function(e){e.gold="gold",e.blue="blue",e.silver="silver",e.black="black",e.white="white"}(sd||(sd={})),function(e){e.pill="pill",e.rect="rect"}(dd||(dd={})),function(e){e.SUCCEEDED="succeeded",e.FAILED="failed",e.CANCELED="canceled",e.UNRECOGNIZED="unrecognized"}(cd||(cd={})),(ud||(ud={})).OXXO="oxxo",function(e){e.Approved="APPROVED",e.Created="CREATED",e.PayerActionRequired="PAYER_ACTION_REQUIRED",e.PollingStop="POLLING_STOP",e.PollingError="POLLING_ERROR"}(ld||(ld={}));var gd=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class md{constructor(e,t,n,i){this.formPoster=e,this.paymentIntegrationService=t,this.paypalRequestSender=n,this.paypalSdkLoader=i}loadPayPalSdk(e,t,n,i){return gd(this,void 0,void 0,function*(){const r=this.paymentIntegrationService.getState(),o=t||r.getCartOrThrow().currency.code,a=r.getPaymentMethodOrThrow(e),s=r.getLocale();return this.paypalSdk=yield this.paypalSdkLoader.getPayPalSDK(a,o,s,n,i),this.paypalSdk})}getPayPalSdkOrThrow(){if(!this.paypalSdk)throw new Or;return this.paypalSdk}createBuyNowCartOrThrow(e){return gd(this,void 0,void 0,function*(){const t=e.getBuyNowCartRequestBody();if(!t)throw new mr(pr.MissingCart);try{return yield this.paymentIntegrationService.createBuyNowCart(t)}catch(e){throw new Rr}})}createOrder(e,t){return gd(this,void 0,void 0,function*(){const n=this.paymentIntegrationService.getState().getCartOrThrow().id,{orderId:i}=yield this.paypalRequestSender.createOrder(e,Object.assign({cartId:n},t));return i})}createOrderCardFields(e,t){return gd(this,void 0,void 0,function*(){const n=this.paymentIntegrationService.getState().getCartOrThrow().id,{orderId:i,setupToken:r}=yield this.paypalRequestSender.createOrder(e,Object.assign({cartId:n},t));return Object.assign({orderId:i},r?{setupToken:r}:{})})}updateOrder(e,t,n,i){return gd(this,void 0,void 0,function*(){const r=this.paymentIntegrationService.getState(),o=r.getCartOrThrow();let a;i||(a=r.getConsignmentsOrThrow()[0]);try{yield this.paypalRequestSender.updateOrder(e,Object.assign(Object.assign({availableShippingOptions:i?[]:null==a?void 0:a.availableShippingOptions,cartId:o.id,selectedShippingOption:i?null:null==a?void 0:a.selectedShippingOption},t?{methodId:t}:{}),n?{orderId:n}:{}))}catch(e){throw new we}})}getOrderStatus(e,t){return gd(this,void 0,void 0,function*(){try{const{status:n}=yield this.paypalRequestSender.getOrderStatus(e,t);return n}catch(e){throw new we}})}tokenizePayment(e,t){const n=this.paymentIntegrationService.getState().getCartOrThrow();if(!t)throw new mr(pr.MissingOrderId);return this.formPoster.postForm("/checkout.php",Object.assign({payment_type:"paypal",action:"set_external_checkout",provider:e,order_id:t},n.source===Co.BuyNow&&{cart_id:n.id}))}submitPayment(e,t,n){return gd(this,void 0,void 0,function*(){const i={formattedPayload:{vault_payment_instrument:null,set_as_default_stored_instrument:null,device_info:null,method_id:e,paypal_account:{order_id:t}}};yield this.paymentIntegrationService.submitPayment(Object.assign({methodId:e,paymentData:i},n?{gatewayId:n}:{}))})}getShippingOptionOrThrow(e){const t=this.paymentIntegrationService.getState().getConsignmentsOrThrow()[0],n=t.availableShippingOptions||[],i=n.find(e=>e.isRecommended),r=(e?n.find(t=>t.id===e):n.find(e=>{if(t.selectedShippingOption){const n=t.selectedShippingOption.id;return e.id===n}return!1}))||i||n[0];if(!r)throw new Error("Your order can't be shipped to this address");return r}getAddress(e){return{firstName:(null==e?void 0:e.firstName)||"",lastName:(null==e?void 0:e.lastName)||"",email:(null==e?void 0:e.email)||"",phone:(null==e?void 0:e.phone)||"",company:"",address1:(null==e?void 0:e.address1)||"",address2:(null==e?void 0:e.address2)||"",city:(null==e?void 0:e.city)||"",countryCode:(null==e?void 0:e.countryCode)||"",postalCode:(null==e?void 0:e.postalCode)||"",stateOrProvince:"",stateOrProvinceCode:(null==e?void 0:e.stateOrProvinceCode)||"",customFields:[]}}getBillingAddressFromOrderDetails({payer:e}){var t,n;return this.getAddress({firstName:e.name.given_name,lastName:e.name.surname,email:e.email_address,address1:e.address.address_line_1,address2:e.address.address_line_2,city:e.address.admin_area_2,countryCode:e.address.country_code,postalCode:e.address.postal_code,stateOrProvinceCode:e.address.admin_area_1,phone:null===(n=null===(t=e.phone)||void 0===t?void 0:t.phone_number)||void 0===n?void 0:n.national_number})}getShippingAddressFromOrderDetails(e){const{payer:t,purchase_units:n}=e,{address:i,name:{full_name:r}}=n[0].shipping,[o,...a]=r.split(" ");return this.getAddress({firstName:o,lastName:a.join(" "),email:t.email_address,address1:i.address_line_1,address2:i.address_line_2,city:i.admin_area_2,countryCode:i.country_code,postalCode:i.postal_code,stateOrProvinceCode:i.admin_area_1})}getValidButtonStyle(e={}){const{color:t,height:n,label:i,shape:r}=e,o={color:t&&sd[t]?t:void 0,height:this.getValidHeight(n),label:i&&ad[i]?i:void 0,shape:r&&dd[r]?r:void 0};return R(o,v)}getValidHeight(e){return e&&"number"==typeof e?e>55?55:e<25?25:e:40}removeElement(e){const t=e&&document.getElementById(e);t&&(t.style.display="none")}}var yd=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class fd{constructor(e){this.requestSender=e}createOrder(e,t){return yd(this,void 0,void 0,function*(){const n=`/api/storefront/payment/${e}`,i=t,r=Object.assign({"X-API-INTERNAL":zr,"Content-Type":Fr.Json},Ur);return(yield this.requestSender.post(n,{headers:r,body:i})).body})}updateOrder(e,t){return yd(this,void 0,void 0,function*(){const n=`/api/storefront/initialization/${e}`,i=t,r=Object.assign({"X-API-INTERNAL":zr,"Content-Type":Fr.Json},Ur);return(yield this.requestSender.put(n,{headers:r,body:i})).body})}getOrderStatus(e,t){return yd(this,void 0,void 0,function*(){const n=`/api/storefront/initialization/${e}`,i=Object.assign({"X-API-INTERNAL":zr,"Content-Type":Fr.Json},Ur);return(yield this.requestSender.get(n,Object.assign({headers:i},t))).body})}}const _d=t=>{const{getHost:i}=t.getState();return new md(n(),t,new fd(e({host:i()})),new pd(he()))};var Sd=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};const vd=class{constructor(e,t){this.paymentIntegrationService=e,this.paypalIntegrationService=t}createPayPalButton(e,t,n,i){const{style:r,fundingSource:o,isHostedCheckoutEnabled:a,isServerSideShippingCallbacksEnabled:s,onClick:d,onCancel:c,onPaymentComplete:u,onError:l}=n;this.onError=l;const h=this.paypalIntegrationService.getPayPalSdkOrThrow();if(!Object.values(h.FUNDING).includes(o))throw new kr('Unable to initialize PayPal button because "fundingSource" argument is not valid funding source.');const p=Object.assign(Object.assign({},!s&&{onShippingAddressChange:t=>this.onShippingAddressChange(t,e),onShippingOptionsChange:t=>this.onShippingOptionsChange(t,e)}),{onApprove:(n,i)=>this.onHostedCheckoutApprove(n,i,t,e,u,s)});return h.Buttons(Object.assign(Object.assign(Object.assign({fundingSource:o,style:this.paypalIntegrationService.getValidButtonStyle(r),createOrder:()=>Sd(this,void 0,void 0,function*(){if(i){const e=yield this.paypalIntegrationService.createBuyNowCartOrThrow(i);yield this.paymentIntegrationService.loadCheckout(e.id)}return this.paypalIntegrationService.createOrder(e)}),onApprove:({orderID:e})=>this.paypalIntegrationService.tokenizePayment(t,e)},d?{onClick:d}:{}),c?{onCancel:c}:{}),a&&p))}onHostedCheckoutApprove(e,t,n,i,r,o){return Sd(this,void 0,void 0,function*(){if(!e.orderID)throw new mr(pr.MissingOrderId);const a=this.paymentIntegrationService.getState().getCartOrThrow();try{const s=a.lineItems.physicalItems.length>0;if(!o){const e=yield t.order.get(),n=this.paypalIntegrationService.getBillingAddressFromOrderDetails(e);if(yield this.paymentIntegrationService.updateBillingAddress(n),s){const t=this.paypalIntegrationService.getShippingAddressFromOrderDetails(e);yield this.paymentIntegrationService.updateShippingAddress(t)}}s&&(yield this.paypalIntegrationService.updateOrder(i,void 0,void 0,o)),o&&(yield this.paymentIntegrationService.loadCheckout()),yield this.paymentIntegrationService.submitOrder({},{params:{methodId:n}}),yield this.paypalIntegrationService.submitPayment(n,e.orderID),r&&"function"==typeof r&&r()}catch(e){this.handleError(e)}})}onShippingAddressChange(e,t){return Sd(this,void 0,void 0,function*(){const n=this.paypalIntegrationService.getAddress({city:e.shippingAddress.city,countryCode:e.shippingAddress.countryCode,postalCode:e.shippingAddress.postalCode,stateOrProvinceCode:e.shippingAddress.state});try{yield this.paymentIntegrationService.updateBillingAddress(n),yield this.paymentIntegrationService.updateShippingAddress(n);const e=this.paypalIntegrationService.getShippingOptionOrThrow();yield this.paymentIntegrationService.selectShippingOption(e.id),yield this.paypalIntegrationService.updateOrder(t)}catch(e){this.handleError(e)}})}onShippingOptionsChange(e,t){return Sd(this,void 0,void 0,function*(){const n=this.paypalIntegrationService.getShippingOptionOrThrow(e.selectedShippingOption.id);try{yield this.paymentIntegrationService.selectShippingOption(n.id),yield this.paypalIntegrationService.updateOrder(t)}catch(e){this.handleError(e)}})}handleError(e){if("function"!=typeof this.onError)throw e;this.onError(e)}};class Cd{constructor(e,t,n){this.paymentIntegrationService=e,this.paypalIntegrationService=t,this.paypalButtonCreationService=n}initialize(e){return t=this,n=void 0,r=function*(){var t;const{paypalcommerce:n,containerId:i,methodId:r}=e,o=Boolean(null==n?void 0:n.buyNowInitializeOptions);if(!r)throw new kr('Unable to initialize payment because "options.methodId" argument is not provided.');if(!i)throw new kr('Unable to initialize payment because "options.containerId" argument is not provided.');if(!n)throw new kr('Unable to initialize payment because "options.paypalcommerce" argument is not provided.');if(o&&!n.currencyCode)throw new kr('Unable to initialize payment because "options.paypalcommerce.currencyCode" argument is not provided.');if(o&&"function"!=typeof(null===(t=n.buyNowInitializeOptions)||void 0===t?void 0:t.getBuyNowCartRequestBody))throw new kr('Unable to initialize payment because "options.paypalcommerce.buyNowInitializeOptions.getBuyNowCartRequestBody" argument is not provided or it is not a function.');o||(yield this.paymentIntegrationService.loadDefaultCheckout(),this.paymentIntegrationService.getState().getCheckoutOrThrow().shouldExecuteSpamCheck&&(yield this.paymentIntegrationService.verifyCheckoutSpamProtection()));const a=o?n.currencyCode:this.paymentIntegrationService.getState().getCartOrThrow().currency.code;yield this.paypalIntegrationService.loadPayPalSdk(r,a,!1),this.renderButton(i,r,n)},new((i=void 0)||(i=Promise))(function(e,o){function a(e){try{d(r.next(e))}catch(e){o(e)}}function s(e){try{d(r.throw(e))}catch(e){o(e)}}function d(t){var n;t.done?e(t.value):(n=t.value,n instanceof i?n:new i(function(e){e(n)})).then(a,s)}d((r=r.apply(t,n||[])).next())});var t,n,i,r}deinitialize(){return Promise.resolve()}renderButton(e,t,n){const{buyNowInitializeOptions:i,style:r,onComplete:o,onEligibilityFailure:a}=n,s=this.paypalIntegrationService.getPayPalSdkOrThrow(),d=this.paymentIntegrationService.getState().getPaymentMethodOrThrow(t),{isHostedCheckoutEnabled:c,isServerSideShippingCallbacksEnabled:u}=d.initializationData||{},l={onCancel:()=>this.paymentIntegrationService.loadDefaultCheckout()},h=Object.assign(Object.assign({fundingSource:s.FUNDING.PAYPAL,style:this.paypalIntegrationService.getValidButtonStyle(r),isServerSideShippingCallbacksEnabled:u,isHostedCheckoutEnabled:c},i&&l),c&&o&&{onPaymentComplete:()=>o()}),p=this.paypalButtonCreationService.createPayPalButton("paypalcommerce",t,h,i);p.isEligible()?p.render(`#${e}`):a&&"function"==typeof a?a():this.paypalIntegrationService.removeElement(e)}}const Id=Tr(e=>{const t=_d(e),n=new vd(e,t);return new Cd(e,t,n)},[{id:"paypalcommerce"}]);var wd=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class bd{constructor(e,t){this.paymentIntegrationService=e,this.paypalIntegrationService=t}initialize(e){return wd(this,void 0,void 0,function*(){const{paypalcommercecredit:t,containerId:n,methodId:i}=e,{buyNowInitializeOptions:r,currencyCode:o}=t||{},a=!!r;if(!i)throw new kr('Unable to initialize payment because "options.methodId" argument is not provided.');if(!n)throw new kr('Unable to initialize payment because "options.containerId" argument is not provided.');if(!t)throw new kr('Unable to initialize payment because "options.paypalcommercecredit" argument is not provided.');if(a&&!o)throw new kr('Unable to initialize payment because "options.paypalcommercecredit.currencyCode" argument is not provided.');if(a&&"function"!=typeof(null==r?void 0:r.getBuyNowCartRequestBody))throw new kr('Unable to initialize payment because "options.paypalcommercecredit.buyNowInitializeOptions.getBuyNowCartRequestBody" argument is not provided or it is not a function.');a||(yield this.paymentIntegrationService.loadDefaultCheckout());const s=this.paymentIntegrationService.getState(),d=a?o:s.getCartOrThrow().currency.code;yield this.paypalIntegrationService.loadPayPalSdk(i,d,!1),this.renderButton(n,i,t)})}deinitialize(){return Promise.resolve()}renderButton(e,t,n){const{buyNowInitializeOptions:i,style:r,onComplete:o,onEligibilityFailure:a}=n,s=this.paypalIntegrationService.getPayPalSdkOrThrow(),d=this.paymentIntegrationService.getState().getPaymentMethodOrThrow(t),{isHostedCheckoutEnabled:c,isServerSideShippingCallbacksEnabled:u}=d.initializationData||{},l={createOrder:()=>this.paypalIntegrationService.createOrder("paypalcommercecredit"),onApprove:({orderID:e})=>this.paypalIntegrationService.tokenizePayment(t,e)},h={onClick:()=>this.handleClick(i),onCancel:()=>this.paymentIntegrationService.loadDefaultCheckout()},p=Object.assign(Object.assign({},!u&&{onShippingAddressChange:e=>this.onShippingAddressChange(e),onShippingOptionsChange:e=>this.onShippingOptionsChange(e)}),{onApprove:(e,n)=>this.onHostedCheckoutApprove(e,n,t,o,u)}),g=[s.FUNDING.PAYLATER,s.FUNDING.CREDIT];let m=!1;g.forEach(t=>{if(!m){const n=Object.assign(Object.assign(Object.assign({fundingSource:t,style:this.paypalIntegrationService.getValidButtonStyle(r)},l),i&&h),c&&p),o=s.Buttons(n);o.isEligible()?(o.render(`#${e}`),m=!0):a&&"function"==typeof a&&a()}}),m||this.paypalIntegrationService.removeElement(e)}handleClick(e){return wd(this,void 0,void 0,function*(){if(e){const t=yield this.paypalIntegrationService.createBuyNowCartOrThrow(e);yield this.paymentIntegrationService.loadCheckout(t.id)}})}onHostedCheckoutApprove(e,t,n,i,r){return wd(this,void 0,void 0,function*(){if(!e.orderID)throw new mr(pr.MissingOrderId);const o=this.paymentIntegrationService.getState().getCartOrThrow();try{const a=o.lineItems.physicalItems.length>0;if(!r){const e=yield t.order.get(),n=this.paypalIntegrationService.getBillingAddressFromOrderDetails(e);if(yield this.paymentIntegrationService.updateBillingAddress(n),a){const t=this.paypalIntegrationService.getShippingAddressFromOrderDetails(e);yield this.paymentIntegrationService.updateShippingAddress(t)}}return a&&(yield this.paypalIntegrationService.updateOrder("paypalcommerce",void 0,void 0,r)),r&&(yield this.paymentIntegrationService.loadCheckout()),yield this.paymentIntegrationService.submitOrder({},{params:{methodId:n}}),yield this.paypalIntegrationService.submitPayment(n,e.orderID),i&&"function"==typeof i&&i(),!0}catch(e){if("string"==typeof e)throw new Error(e);throw e}})}onShippingAddressChange(e){return wd(this,void 0,void 0,function*(){const t=this.paypalIntegrationService.getAddress({city:e.shippingAddress.city,countryCode:e.shippingAddress.countryCode,postalCode:e.shippingAddress.postalCode,stateOrProvinceCode:e.shippingAddress.state});try{yield this.paymentIntegrationService.updateBillingAddress(t),yield this.paymentIntegrationService.updateShippingAddress(t);const e=this.paypalIntegrationService.getShippingOptionOrThrow();yield this.paymentIntegrationService.selectShippingOption(e.id),yield this.paypalIntegrationService.updateOrder("paypalcommerce")}catch(e){if("string"==typeof e)throw new Error(e);throw e}})}onShippingOptionsChange(e){return wd(this,void 0,void 0,function*(){const t=this.paypalIntegrationService.getShippingOptionOrThrow(e.selectedShippingOption.id);try{yield this.paymentIntegrationService.selectShippingOption(t.id),yield this.paypalIntegrationService.updateOrder("paypalcommerce")}catch(e){if("string"==typeof e)throw new Error(e);throw e}})}}const Ed=Tr(e=>new bd(e,_d(e)),[{id:"paypalcommercecredit"}]);var Pd,Od,Ad,Td,kd,Rd,Dd;!function(e){e.Possible="POSSIBLE",e.No="NO",e.Unknown="UNKNOWN",e.Yes="YES"}(Pd||(Pd={})),function(e){e.AUTHORIZE="authorize",e.CAPTURE="capture"}(Od||(Od={})),function(e){e.paypal="paypal",e.checkout="checkout",e.buynow="buynow",e.pay="pay",e.installment="installment"}(Ad||(Ad={})),function(e){e.gold="gold",e.blue="blue",e.silver="silver",e.black="black",e.white="white"}(Td||(Td={})),function(e){e.pill="pill",e.rect="rect"}(kd||(kd={})),function(e){e.OXXO="oxxo",e.IDEAL="ideal"}(Rd||(Rd={})),function(e){e.Approved="APPROVED",e.Created="CREATED",e.PayerActionRequired="PAYER_ACTION_REQUIRED",e.PollingStop="POLLING_STOP",e.PollingError="POLLING_ERROR"}(Dd||(Dd={}));var Md=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Nd{constructor(e,t,n,i){this.formPoster=e,this.paymentIntegrationService=t,this.paypalCommerceRequestSender=n,this.paypalCommerceScriptLoader=i}loadPayPalSdk(e,t,n,i){return Md(this,void 0,void 0,function*(){const r=this.paymentIntegrationService.getState(),o=t||r.getCartOrThrow().currency.code,a=r.getPaymentMethodOrThrow(e);return this.paypalSdk=yield this.paypalCommerceScriptLoader.getPayPalSDK(a,o,r.getLocale(),n,i),this.paypalSdk})}getPayPalSdkOrThrow(){if(!this.paypalSdk)throw new Or;return this.paypalSdk}createBuyNowCartOrThrow(e){return Md(this,void 0,void 0,function*(){const t=e.getBuyNowCartRequestBody();if(!t)throw new mr(pr.MissingCart);try{return yield this.paymentIntegrationService.createBuyNowCart(t)}catch(e){throw new Rr}})}createOrder(e,t){return Md(this,void 0,void 0,function*(){const n=this.paymentIntegrationService.getState().getCartOrThrow().id,{orderId:i}=yield this.paypalCommerceRequestSender.createOrder(e,Object.assign({cartId:n},t));return i})}createOrderCardFields(e,t){return Md(this,void 0,void 0,function*(){const n=this.paymentIntegrationService.getState().getCartOrThrow().id,{orderId:i,setupToken:r}=yield this.paypalCommerceRequestSender.createOrder(e,Object.assign({cartId:n},t));return Object.assign({orderId:i},r?{setupToken:r}:{})})}updateOrder(e){return Md(this,void 0,void 0,function*(){const t=this.paymentIntegrationService.getState(),n=t.getCartOrThrow(),i=t.getConsignmentsOrThrow()[0];try{yield this.paypalCommerceRequestSender.updateOrder({availableShippingOptions:e?[]:i.availableShippingOptions,cartId:n.id,selectedShippingOption:e?null:i.selectedShippingOption})}catch(e){throw new we}})}getOrderStatus(e,t){return Md(this,void 0,void 0,function*(){try{const{status:n}=yield this.paypalCommerceRequestSender.getOrderStatus(e,t);return n}catch(e){throw new we}})}tokenizePayment(e,t){const n=this.paymentIntegrationService.getState().getCartOrThrow();if(!t)throw new mr(pr.MissingOrderId);return this.formPoster.postForm("/checkout.php",Object.assign({payment_type:"paypal",action:"set_external_checkout",provider:e,order_id:t},n.source===Co.BuyNow&&{cart_id:n.id}))}submitPayment(e,t,n){return Md(this,void 0,void 0,function*(){const i={formattedPayload:{vault_payment_instrument:null,set_as_default_stored_instrument:null,device_info:null,method_id:e,paypal_account:{order_id:t}}};yield this.paymentIntegrationService.submitPayment(Object.assign({methodId:e,paymentData:i},n?{gatewayId:n}:{}))})}getShippingOptionOrThrow(e){const t=this.paymentIntegrationService.getState().getConsignmentsOrThrow()[0],n=t.availableShippingOptions||[],i=n.find(e=>e.isRecommended),r=(e?n.find(t=>t.id===e):n.find(e=>{var n;return e.id===(null===(n=t.selectedShippingOption)||void 0===n?void 0:n.id)}))||i||n[0];if(!r)throw new Error("Your order can't be shipped to this address");return r}getAddress(e){return{firstName:(null==e?void 0:e.firstName)||"",lastName:(null==e?void 0:e.lastName)||"",email:(null==e?void 0:e.email)||"",phone:(null==e?void 0:e.phone)||"",company:"",address1:(null==e?void 0:e.address1)||"",address2:(null==e?void 0:e.address2)||"",city:(null==e?void 0:e.city)||"",countryCode:(null==e?void 0:e.countryCode)||"",postalCode:(null==e?void 0:e.postalCode)||"",stateOrProvince:"",stateOrProvinceCode:(null==e?void 0:e.stateOrProvinceCode)||"",customFields:[]}}getBillingAddressFromOrderDetails({payer:e}){var t,n;return this.getAddress({firstName:e.name.given_name,lastName:e.name.surname,email:e.email_address,address1:e.address.address_line_1,address2:e.address.address_line_2,city:e.address.admin_area_2,countryCode:e.address.country_code,postalCode:e.address.postal_code,stateOrProvinceCode:e.address.admin_area_1,phone:null===(n=null===(t=e.phone)||void 0===t?void 0:t.phone_number)||void 0===n?void 0:n.national_number})}getShippingAddressFromOrderDetails(e){const{payer:t,purchase_units:n}=e,{address:i,name:{full_name:r}}=n[0].shipping,[o,...a]=r.split(" ");return this.getAddress({firstName:o,lastName:a.join(" "),email:t.email_address,address1:i.address_line_1,address2:i.address_line_2,city:i.admin_area_2,countryCode:i.country_code,postalCode:i.postal_code,stateOrProvinceCode:i.admin_area_1})}getValidButtonStyle(e){const{color:t,height:n,label:i,shape:r}=e||{},o={color:t&&Td[t]?t:void 0,height:this.getValidHeight(n),label:i&&Ad[i]?i:void 0,shape:r&&kd[r]?r:void 0};return R(o,v)}getValidHeight(e){return e&&"number"==typeof e?e>55?55:e<25?25:e:40}removeElement(e){const t=e&&document.getElementById(e);t&&(t.style.display="none")}}var Ld=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class zd{constructor(e){this.requestSender=e}createOrder(e,t){return Ld(this,void 0,void 0,function*(){const n=`/api/storefront/payment/${e}`,i=t,r=Object.assign({"X-API-INTERNAL":zr,"Content-Type":Fr.Json},Ur);return(yield this.requestSender.post(n,{headers:r,body:i})).body})}updateOrder(e){return Ld(this,void 0,void 0,function*(){const t=e,n=Object.assign({"X-API-INTERNAL":zr,"Content-Type":Fr.Json},Ur);return(yield this.requestSender.put("/api/storefront/initialization/paypalcommerce",{headers:n,body:t})).body})}getOrderStatus(){return Ld(this,arguments,void 0,function*(e="paypalcommerce",t){const n=`/api/storefront/initialization/${e}`,i=Object.assign({"X-API-INTERNAL":zr,"Content-Type":Fr.Json},Ur);return(yield this.requestSender.get(n,Object.assign({headers:i},t))).body})}}var Bd=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Fd{constructor(e){this.scriptLoader=e,this.window=window}getPayPalSDK(e,t,n,i,r){return Bd(this,void 0,void 0,function*(){const o=this.getPayPalSdkScriptConfigOrThrow(e,t,n,i);return this.loadPayPalSDK(o,r)})}loadPayPalSDK(e){return Bd(this,arguments,void 0,function*(e,t=!1){if(!this.window.paypal||t){const t=this.transformConfig(e.options),n=this.transformConfig(e.attributes),i=`https://www.paypal.com/sdk/js?${new URLSearchParams(t).toString()}`;yield this.scriptLoader.loadScript(i,{async:!0,attributes:n})}if(!this.window.paypal)throw new Or;return this.window.paypal})}getPayPalSdkScriptConfigOrThrow(e,t,n,i=!0){const{id:r,clientToken:o,initializationData:a}=e;if(!(null==a?void 0:a.clientId))throw new mr(pr.MissingPaymentMethod);const{intent:s,clientId:d,merchantId:c,buyerCountry:u,attributionId:l,isVenmoEnabled:h,isHostedCheckoutEnabled:p,isPayPalCreditAvailable:g,isDeveloperModeApplicable:m,availableAlternativePaymentMethods:y=[],enabledAlternativePaymentMethods:f=[],isGooglePayEnabled:_}=a,S=p||i,v="paypalcommercecreditcards"===r,C=v?["card"]:[],I=g?["credit","paylater"]:[],w=h?["venmo"]:[],b=_?["googlepay"]:[],E=i?["card-fields"]:[],P=[...v?[]:["card"],...g?[]:["credit","paylater"],...h?[]:["venmo"],...y.filter(e=>!f.includes(e))],O=[...C,...I,...w,...f],A=as(n);return{options:Object.assign(Object.assign({"client-id":d,"merchant-id":c,"enable-funding":O.length>0?O:void 0,"disable-funding":P.length>0?P:void 0,commit:S,components:["buttons","hosted-fields","payment-fields","legal",...b,...E],currency:t,intent:s},m&&{"buyer-country":u}),A&&{locale:A}),attributes:{"data-partner-attribution-id":l,"data-client-token":o}}}transformConfig(e){let t={};return Object.keys(e).forEach(n=>{const i=e[n];null==i||""===i||Array.isArray(i)&&0===i.length||(t=Object.assign(Object.assign({},t),{[n]:Array.isArray(i)?i.join(","):i}))}),t}}var Ud=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class xd{constructor(e,t){this.paymentIntegrationService=e,this.paypalCommerceIntegrationService=t}initialize(e){return Ud(this,void 0,void 0,function*(){const{paypalcommercevenmo:t,containerId:n,methodId:i}=e,{buyNowInitializeOptions:r,currencyCode:o}=t||{},a=!!r;if(!i)throw new kr('Unable to initialize payment because "options.methodId" argument is not provided.');if(!n)throw new kr('Unable to initialize payment because "options.containerId" argument is not provided.');if(!t)throw new kr('Unable to initialize payment because "options.paypalcommercevenmo" argument is not provided.');if(a&&!o)throw new kr('Unable to initialize payment because "options.paypalcommercevenmo.currencyCode" argument is not provided.');if(a&&"function"!=typeof(null==r?void 0:r.getBuyNowCartRequestBody))throw new kr('Unable to initialize payment because "options.paypalcommercevenmo.buyNowInitializeOptions.getBuyNowCartRequestBody" argument is not provided or it is not a function.');a||(yield this.paymentIntegrationService.loadDefaultCheckout());const s=a?o:this.paymentIntegrationService.getState().getCartOrThrow().currency.code;yield this.paypalCommerceIntegrationService.loadPayPalSdk(i,s,!1),this.renderButton(n,i,t)})}deinitialize(){return Promise.resolve()}renderButton(e,t,n){const{buyNowInitializeOptions:i,style:r,onEligibilityFailure:o}=n,a=this.paypalCommerceIntegrationService.getPayPalSdkOrThrow(),s=a.FUNDING.VENMO,d={createOrder:()=>this.paypalCommerceIntegrationService.createOrder("paypalcommercevenmo"),onApprove:({orderID:e})=>this.paypalCommerceIntegrationService.tokenizePayment(t,e)},c={onClick:()=>this.handleClick(i),onCancel:()=>this.paymentIntegrationService.loadDefaultCheckout()},u=Object.assign(Object.assign({fundingSource:s,style:this.getValidVenmoButtonStyles(r)},d),i&&c),l=a.Buttons(u);l.isEligible()?l.render(`#${e}`):o&&"function"==typeof o?o():this.paypalCommerceIntegrationService.removeElement(e)}getValidVenmoButtonStyles(e){const t=this.paypalCommerceIntegrationService.getValidButtonStyle(e);return t.color===Td.gold?Object.assign(Object.assign({},t),{color:void 0}):t}handleClick(e){return Ud(this,void 0,void 0,function*(){if(e){const t=yield this.paypalCommerceIntegrationService.createBuyNowCartOrThrow(e);yield this.paymentIntegrationService.loadCheckout(t.id)}})}}const qd=Tr(t=>new xd(t,(t=>{const{getHost:i}=t.getState();return new Nd(n(),t,new zd(e({host:i()})),new Fd(he()))})(t)),[{id:"paypalcommercevenmo"}]);var jd,Gd,Vd,Hd,Wd,Yd;!function(e){e.HORIZONTAL="horizontal",e.VERTICAL="vertical"}(jd||(jd={})),function(e){e.SMALL="small",e.MEDIUM="medium",e.LARGE="large",e.RESPONSIVE="responsive"}(Gd||(Gd={})),function(e){e.GOLD="gold",e.BLUE="blue",e.SIlVER="silver",e.BLACK="black"}(Vd||(Vd={})),function(e){e.CHECKOUT="checkout",e.PAY="pay",e.BUYNOW="buynow",e.PAYPAL="paypal",e.CREDIT="credit"}(Hd||(Hd={})),function(e){e.PILL="pill",e.RECT="rect"}(Wd||(Wd={})),function(e){e.ACKNOWLEDGE="ACKNOWLEDGE",e.FINALIZE="FINALIZE",e.INITIALIZE="INITIALIZE"}(Yd||(Yd={}));var Kd=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class $d{constructor(e,t,n){this.paymentIntegrationService=e,this.paypalExpressScriptLoader=t,this.formPoster=n}initialize(e){return Kd(this,void 0,void 0,function*(){const t=this.paymentIntegrationService.getState().getPaymentMethodOrThrow(e.methodId);if(!e.paypal)throw new kr;if(!t.config.merchantId)throw new mr(pr.MissingPaymentMethod);const n=yield this.paypalExpressScriptLoader.loadPaypalSDK(t.config.merchantId);this.renderButton(e,n)})}deinitialize(){return Promise.resolve()}renderButton(e,t){const{containerId:n,methodId:i,paypal:r}=e,{allowCredit:o,clientId:a,onPaymentError:s,shouldProcessPayment:d,style:c}=r,u=this.paymentIntegrationService.getState().getPaymentMethodOrThrow(e.methodId);if(!u.config.merchantId)throw new mr(pr.MissingPaymentMethod);const l=u.config.merchantId,h=u.config.testMode?"sandbox":"production",p={[h]:a},g=t.FUNDING.CREDIT||"credit",m=o?[g]:[],y=o?[]:[g];return t.Button.render({env:h,client:p,commit:d,funding:{allowed:m,disallowed:y},style:this.getStyle(c),payment:(e,t)=>this.setupPayment(l,t,s),onAuthorize:(e,t)=>this.tokenizePayment(e,i,t,d)},n)}getStyle(e){const{color:t,fundingicons:n,label:i,layout:r,shape:o,size:a,tagline:s}=e||{};return{color:t,fundingicons:n,label:i,layout:r,shape:o||Wd.RECT,size:"small"===a?Gd.RESPONSIVE:a,tagline:s}}setupPayment(e,t,n){return Kd(this,void 0,void 0,function*(){if(!t)throw new _r(gr.CheckoutButtonNotInitialized);try{const n=yield this.paymentIntegrationService.loadDefaultCheckout(),{id:i}=n.getCartOrThrow(),r=n.getHost()||"";return(yield t.request.post(`${r}/api/storefront/payment/paypalexpress`,{merchantId:e,cartId:i},{headers:Object.assign({"X-API-INTERNAL":zr},Ur)})).id}catch(e){throw n&&e instanceof Ce&&n(e),e}})}tokenizePayment(e,t,n,i){return Kd(this,void 0,void 0,function*(){if(!n)throw new _r(gr.CheckoutButtonNotInitialized);if(!e.paymentID||!e.payerID)throw new mr(pr.MissingPayment);const r=this.paymentIntegrationService.getState().getPaymentMethodOrThrow(t),o=yield n.payment.get(e.paymentID);return this.formPoster.postForm("/checkout.php",{payment_type:"paypal",provider:r.id,action:i?"process_payment":"set_external_checkout",paymentId:e.paymentID,payerId:e.payerID,payerInfo:JSON.stringify(o.payer.payer_info)})})}}class Zd{constructor(e){this.scriptLoader=e,this.window=window}loadPaypalSDK(){return e=this,t=arguments,i=function*(e=""){const t=Object.assign({async:!0,attributes:{"data-merchant-id":e}},e&&{attributes:{"data-merchant-id":e}});if(yield this.scriptLoader.loadScript("//www.paypalobjects.com/api/checkout.min.js",t),!this.window.paypal)throw new Or;return this.window.paypal},new((n=void 0)||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())});var e,t,n,i}}const Jd=Tr(e=>new $d(e,new Zd(he()),n()),[{id:"paypalexpress"}]);var Qd=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Xd{constructor(e,t){this.paymentIntegrationService=e,this.scriptLoader=t}mountElement(e,t){document.getElementById(t)&&e.mount(`#${t}`)}mapAppearanceVariables(e){return{colorPrimary:e.fieldInnerShadow,colorBackground:e.fieldBackground,colorText:e.labelText,colorDanger:e.fieldErrorText,colorTextSecondary:e.labelText,colorTextPlaceholder:e.fieldPlaceholderText,colorIcon:e.fieldPlaceholderText}}mapInputAppearanceRules(e){return{borderColor:e.fieldBorder,color:e.fieldText,boxShadow:e.fieldInnerShadow}}throwStripeError(e){if("object"==typeof(t=e)&&null!==t&&"type"in t&&(this.throwDisplayableStripeError(e),this.isCancellationError(e)))throw new ho;var t;throw new Ja}throwDisplayableStripeError(e){if(m(["card_error","invalid_request_error","validation_error"],e.type))throw new Error(e.message)}isCancellationError(e){var t;const n=null===(t=null==e?void 0:e.payment_intent.last_payment_error)||void 0===t?void 0:t.message;return!!n&&-1!==n.indexOf("canceled")}throwPaymentConfirmationProceedMessage(){throw new Ja("We've received your order and are processing your payment. Once the payment is verified, your order will be completed. We will send you an email when it's completed. Please note, this process may take a few minutes depending on the processing times of your chosen method.")}isPaymentCompleted(e,t){return Qd(this,void 0,void 0,function*(){const n=this.paymentIntegrationService.getState(),i=n.getPaymentMethodOrThrow(e),{features:r}=n.getStoreConfigOrThrow().checkoutSettings;if(!i.clientToken||!t||!r["PI-626.Block_unnecessary_payment_confirmation_for_StripeUPE"])return!1;const{paymentIntent:o}=yield t.retrievePaymentIntent(i.clientToken);return(null==o?void 0:o.status)===xs.SUCCEEDED})}isPaymentCompletedByToken(e,t){return Qd(this,void 0,void 0,function*(){const n=this.paymentIntegrationService.getState(),{features:i}=n.getStoreConfigOrThrow().checkoutSettings;if(!e||!t||!i["PI-626.Block_unnecessary_payment_confirmation_for_StripeUPE"])return!1;const{paymentIntent:r}=yield t.retrievePaymentIntent(e);return(null==r?void 0:r.status)===xs.SUCCEEDED})}mapStripePaymentData(e,t,n=!1){const i=this.paymentIntegrationService.getState().getBillingAddress(),{firstName:r="",lastName:o="",email:a=""}=i||{},s=this.mapStripeAddress(i);if(!e)throw new _r(gr.PaymentNotInitialized);if(!(a&&s&&s.city&&s.country&&r&&o))throw new mr(pr.MissingBillingAddress);return{elements:e,redirect:Bs.IF_REQUIRED,confirmParams:Object.assign({payment_method_data:Object.assign(Object.assign({},n?{allow_redisplay:"always"}:{}),{billing_details:{email:a,address:s,name:this.getShopperFullName(i)}})},t&&{return_url:t})}}isAdditionalActionError(e){return z(e,{code:"additional_action_required"})}isSessionExpiredError(e){return z(e,{code:"authorization_expired"})}isRedirectAction(e){const{type:t,data:{redirect_url:n}}=e;return"redirect_to_url"===t&&!!n}isOnPageAdditionalAction(e){const{type:t,data:{token:n}}=e;return"additional_action_requires_payment_method"===t&&!!n}updateStripePaymentIntent(e,t){return Qd(this,void 0,void 0,function*(){const n=yield this.paymentIntegrationService.loadPaymentMethod(e,{params:{method:t}}),{clientToken:i}=n.getPaymentMethodOrThrow(t);i&&this.scriptLoader.updateStripeElements({clientSecret:i})})}mapStripeAddress(e){if(e){const{city:t,address1:n,address2:i,countryCode:r,postalCode:o,stateOrProvinceCode:a}=e;return Object.assign({city:t,country:r,postal_code:o,line1:n,line2:i},a?{state:a}:{})}throw new mr(pr.MissingBillingAddress)}getShopperFullName(e){const{firstName:t="",lastName:n=""}=e||{};return`${t} ${n}`.trim()}verifyCheckoutSpamProtection(){return Qd(this,void 0,void 0,function*(){const{shouldExecuteSpamCheck:e}=this.paymentIntegrationService.getState().getCheckoutOrThrow();e&&(yield this.paymentIntegrationService.verifyCheckoutSpamProtection())})}}const ec={size:70,color:"#d9d9d9",backgroundColor:"#ffffff"},tc={position:"fixed","background-color":"rgba(0, 0, 0, 0.4)","z-index":"1000"},nc="embedded-checkout-loading-indicator-rotation";class ic{constructor(e){this.styles=Object.assign(Object.assign({},ec),e&&e.styles),this.containerStyles=Object.assign({},e&&e.containerStyles),this.defineAnimation(),this.container=this.buildContainer(),this.indicator=this.buildIndicator(),this.container.appendChild(this.indicator)}show(e){if(e){const t=document.getElementById(e);if(!t)throw new Error("Unable to attach the loading indicator because the parent ID is not valid.");t.appendChild(this.container)}this.container.style.visibility="visible",this.container.style.opacity="1"}hide(){const e=()=>{this.container.style.visibility="hidden",this.container.removeEventListener("transitionend",e)};this.container.addEventListener("transitionend",e),this.container.style.opacity="0"}buildContainer(){const e=document.createElement("div");return e.style.display="block",e.style.bottom="0",e.style.left="0",e.style.height="100%",e.style.width="100%",e.style.position="absolute",e.style.right="0",e.style.top="0",e.style.transition="all 250ms ease-out",e.style.opacity="0",this.setStyleAttribute(e,this.containerStyles),e}buildIndicator(){const e=document.createElement("div");return e.style.display="block",e.style.width=`${this.styles.size}px`,e.style.height=`${this.styles.size}px`,e.style.borderRadius=`${this.styles.size}px`,e.style.border="solid 1px",e.style.borderColor=`${this.styles.backgroundColor} ${this.styles.backgroundColor} ${this.styles.color} ${this.styles.color}`,e.style.margin="0 auto",e.style.position="absolute",e.style.left="0",e.style.right="0",e.style.top="50%",e.style.transform="translateY(-50%) rotate(0deg)",e.style.transformStyle="preserve-3d",e.style.animation=`${nc} 500ms infinite cubic-bezier(0.69, 0.31, 0.56, 0.83)`,e}setStyleAttribute(e,t){Object.keys(t).forEach(n=>{e.style.setProperty(n,t[n])})}defineAnimation(){var e;if(document.getElementById(nc))return;const t=document.createElement("style");t.id=nc,null===(e=document.head)||void 0===e||e.appendChild(t),t.sheet instanceof CSSStyleSheet&&t.sheet.insertRule(`\n @keyframes ${nc} {\n 0% { transform: translateY(-50%) rotate(0deg); }\n 100% { transform: translateY(-50%) rotate(360deg); }\n }\n `,0)}}class rc{constructor(e){this._decimalPlaces=e}toInteger(e){return Math.round(e*Math.pow(10,this._decimalPlaces))}}const oc=["AC","AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CV","CW","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MK","ML","MM","MN","MO","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SZ","TA","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","US","UY","UZ","VA","VC","VE","VG","VN","VU","WF","WS","XK","YE","YT","ZA","ZM","ZW","ZZ"];var ac=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class sc{constructor(e,t,n,i){this.paymentIntegrationService=e,this.scriptLoader=t,this.stripeIntegrationService=n,this.loadingIndicator=i}initialize(e){return ac(this,void 0,void 0,function*(){const{stripeocs:t,containerId:n}=e||{};if(!t||!n)throw new _r(gr.PaymentNotInitialized);const{gatewayId:i}=t;if(!i)throw new mr(pr.MissingPaymentMethod);const r=yield this._getPaymentMethod(i),{loadingContainerId:o,buttonHeight:a,onComplete:s,filterAvailableShippingOptions:d}=t;if(this._loadingIndicatorContainer=o,this._onComplete=s,this._filterAvailableShippingOptions=d,!function(e){return"object"==typeof e&&null!==e&&"initializationData"in e&&void 0!==e.initializationData&&null!==e.initializationData&&"object"==typeof e.initializationData&&"stripePublishableKey"in e.initializationData&&"stripeConnectedAccount"in e.initializationData&&"shopperLanguage"in e.initializationData&&void 0!==e.initializationData.stripePublishableKey&&void 0!==e.initializationData.stripeConnectedAccount&&void 0!==e.initializationData.shopperLanguage}(r))throw new mr(pr.MissingPaymentMethod);const{initializationData:c,id:u}=r,{captureMethod:l}=c;this._captureMethod=l,this._stripeClient=yield this.scriptLoader.getStripeClient(c,this.paymentIntegrationService.getState().getCartLocale(),Fs.CLOVER),yield this.paymentIntegrationService.loadDefaultCheckout(),yield this._mountExpressCheckoutElement(n,this._stripeClient,a),this._initializeEvents(u)})}signIn(){return Promise.resolve()}signOut(){return Promise.resolve()}executePaymentMethodCheckout(){return Promise.resolve()}deinitialize(){return Promise.resolve()}_mountExpressCheckoutElement(e,t){return ac(this,arguments,void 0,function*(e,t,n=40){const i=this._shouldRequireShippingAddress(),r=Object.assign(Object.assign(Object.assign({shippingAddressRequired:i},i?{allowedShippingCountries:yield this._getAvailableCountries()}:{}),i?{shippingRates:[{id:"_",amount:0,displayName:"Pending rates"}]}:{}),{billingAddressRequired:!0,emailRequired:!0,phoneNumberRequired:!0,paymentMethods:{link:Bs.AUTO,applePay:Bs.NEVER,googlePay:Bs.NEVER,amazonPay:Bs.NEVER,paypal:Bs.NEVER,klarna:Bs.NEVER},buttonHeight:n}),{cartAmount:o=1}=this.paymentIntegrationService.getState().getCart()||{},a=Object.assign({mode:"payment",amount:this._toCents(o),currency:this._getCurrency()},this._captureMethod?{captureMethod:this._captureMethod}:{});this._stripeElements=t.elements(a),this._linkV2Element=this._stripeElements.create(Us.EXPRESS_CHECKOUT,r),this._linkV2Element.mount(`#${e}`)})}_initializeEvents(e){this._linkV2Element&&(this._shouldRequireShippingAddress()&&(this._linkV2Element.on(qs.SHIPPING_ADDRESS_CHANGE,e=>ac(this,void 0,void 0,function*(){return this._onShippingAddressChange(e)})),this._linkV2Element.on(qs.SHIPPING_RATE_CHANGE,e=>ac(this,void 0,void 0,function*(){return this._onShippingRateChange(e)}))),this._linkV2Element.on(qs.CONFIRM,t=>ac(this,void 0,void 0,function*(){return this._onConfirm(t,e)})),this._linkV2Element.on(qs.CANCEL,this._onCancel))}_onShippingAddressChange(e){return ac(this,void 0,void 0,function*(){if(!("address"in e))return;const t=e.address,n={firstName:"",lastName:"",phone:"",company:"",address1:"",address2:"",city:(null==t?void 0:t.city)||"",countryCode:(null==t?void 0:t.country)||"",postalCode:(null==t?void 0:t.postal_code)||"",stateOrProvince:(null==t?void 0:t.state)||"",stateOrProvinceCode:(null==t?void 0:t.state)||"",customFields:[]};yield this.paymentIntegrationService.updateShippingAddress(n);const i=yield this._getAvailableShippingOptions();yield this._updateDisplayedPrice(),(null==i?void 0:i.length)?e.resolve({shippingRates:i}):e.reject()})}_onCancel(){throw new ho}_onShippingRateChange(e){return ac(this,void 0,void 0,function*(){if("shippingRate"in e){const{shippingRate:t}=e;yield this._handleShippingOptionChange(null==t?void 0:t.id),yield this._updateDisplayedPrice(),e.resolve({})}})}_onConfirm(e,t){return ac(this,void 0,void 0,function*(){if("billingDetails"in e&&"shippingAddress"in e&&this._stripeClient&&this._stripeElements){yield this.stripeIntegrationService.verifyCheckoutSpamProtection(),yield this._updateShippingAndBillingAddress(e),yield this.paymentIntegrationService.submitOrder();const n=this._getPaymentPayload(t);try{yield this.paymentIntegrationService.submitPayment(n)}catch(e){yield this._processAdditionalAction(e,t)}}return Promise.resolve()})}_updateShippingAndBillingAddress(e){return ac(this,void 0,void 0,function*(){var t,n,i,r,o,a,s,d;const c=this._shouldRequireShippingAddress(),u=(null===(n=null===(t=e.shippingAddress)||void 0===t?void 0:t.name)||void 0===n?void 0:n.split(" ")[0])||(null===(r=null===(i=e.billingDetails)||void 0===i?void 0:i.name)||void 0===r?void 0:r.split(" ")[0])||"",l=(null===(a=null===(o=e.shippingAddress)||void 0===o?void 0:o.name)||void 0===a?void 0:a.split(" ")[1])||(null===(d=null===(s=e.billingDetails)||void 0===s?void 0:s.name)||void 0===d?void 0:d.split(" ")[1])||"";if(c){const t=this._mapShippingAddress(e.shippingAddress,e.billingDetails,u,l);yield this.paymentIntegrationService.updateShippingAddress(t)}const h=this._mapBillingAddress(e.shippingAddress,e.billingDetails,u,l);yield this.paymentIntegrationService.updateBillingAddress(h)})}_mapShippingAddress(e,t,n,i){var r,o,a,s,d,c,u;return{firstName:n,lastName:i,phone:(null==t?void 0:t.phone)||"",company:"",address1:(null===(r=null==e?void 0:e.address)||void 0===r?void 0:r.line1)||"",address2:(null===(o=null==e?void 0:e.address)||void 0===o?void 0:o.line2)||"",city:(null===(a=null==e?void 0:e.address)||void 0===a?void 0:a.city)||"",countryCode:(null===(s=null==e?void 0:e.address)||void 0===s?void 0:s.country)||"",postalCode:(null===(d=null==e?void 0:e.address)||void 0===d?void 0:d.postal_code)||"",stateOrProvince:(null===(c=null==e?void 0:e.address)||void 0===c?void 0:c.state)||"",stateOrProvinceCode:(null===(u=null==e?void 0:e.address)||void 0===u?void 0:u.state)||"",customFields:[]}}_mapBillingAddress(e,t,n,i){var r,o,a,s,d,c;return{email:(null==t?void 0:t.email)||"",firstName:n,lastName:i,phone:(null==t?void 0:t.phone)||"",company:"",address1:(null===(r=null==t?void 0:t.address)||void 0===r?void 0:r.line1)||"",address2:"",city:(null===(o=null==t?void 0:t.address)||void 0===o?void 0:o.city)||"",countryCode:(null===(a=null==t?void 0:t.address)||void 0===a?void 0:a.country)||"",postalCode:(null===(s=null==t?void 0:t.address)||void 0===s?void 0:s.postal_code)||"",stateOrProvince:(null===(d=null==t?void 0:t.address)||void 0===d?void 0:d.state)||"",stateOrProvinceCode:(null===(c=null==e?void 0:e.address)||void 0===c?void 0:c.state)||"",customFields:[]}}_processAdditionalAction(e,t){return ac(this,void 0,void 0,function*(){if(!Is(e)||!this.stripeIntegrationService.isAdditionalActionError(e.body.errors))throw e;if(!this._stripeClient||!this._stripeElements)throw new _r(gr.PaymentNotInitialized);const{data:n}=e.body.additional_action_required,{token:i}=n,{paymentIntent:r}=yield this._confirmStripePaymentOrThrow(n),o=this._getPaymentPayload(t,(null==r?void 0:r.id)||i);try{this._toggleLoadingIndicator(!0),yield this.paymentIntegrationService.submitPayment(o),yield this._completeCheckoutFlow()}catch(e){this.stripeIntegrationService.throwPaymentConfirmationProceedMessage()}finally{this._toggleLoadingIndicator(!1)}})}_confirmStripePaymentOrThrow(e){return ac(this,void 0,void 0,function*(){var t,n,i;const{token:r,redirect_url:o}=e,a=this.stripeIntegrationService.mapStripePaymentData(this._stripeElements,o);let s;try{const e=(yield this.stripeIntegrationService.isPaymentCompletedByToken(r,this._stripeClient))?yield null===(i=this._stripeClient)||void 0===i?void 0:i.retrievePaymentIntent(r||""):yield null===(t=this._stripeClient)||void 0===t?void 0:t.confirmPayment({elements:a.elements,clientSecret:r,redirect:Bs.IF_REQUIRED,confirmParams:{return_url:null===(n=a.confirmParams)||void 0===n?void 0:n.return_url}});if(s=null==e?void 0:e.error,s||!(null==e?void 0:e.paymentIntent))throw new Ja;return e}catch(e){return this.stripeIntegrationService.throwStripeError(s)}})}_completeCheckoutFlow(){return ac(this,void 0,void 0,function*(){return"function"==typeof this._onComplete?this._onComplete():(window.location.replace("/checkout/order-confirmation"),Promise.resolve())})}_getPaymentPayload(e,t){var n;const i=(null===(n=this.paymentIntegrationService.getState().getCart())||void 0===n?void 0:n.id)||"";return{methodId:e,paymentData:{formattedPayload:Object.assign(Object.assign({cart_id:i},t?{credit_card_token:{token:t}}:{}),{confirm:!1,method:zs.Link})}}}_shouldRequireShippingAddress(){const{getCart:e}=this.paymentIntegrationService.getState(),{lineItems:t}=e()||{};return!!(null==t?void 0:t.physicalItems.length)}_updateDisplayedPrice(){return ac(this,void 0,void 0,function*(){this._stripeElements&&this._stripeElements.update({currency:this._getCurrency(),mode:"payment",amount:yield this._getTotalPrice()})})}_getCurrency(){var e;if(!this._currencyCode){const t=null===(e=this.paymentIntegrationService.getState().getCart())||void 0===e?void 0:e.currency;t&&(this._currencyCode=t.code.toLowerCase())}return this._currencyCode}_getTotalPrice(){return ac(this,void 0,void 0,function*(){var e;yield this.paymentIntegrationService.loadCheckout();const{getCheckoutOrThrow:t,getCart:n}=this.paymentIntegrationService.getState(),{decimalPlaces:i}=(null===(e=n())||void 0===e?void 0:e.currency)||{},r=L(t().outstandingBalance,i).toFixed(i);return this._toCents(+r)})}_getAvailableCountries(){return ac(this,void 0,void 0,function*(){var e;return((null===(e=(yield this.paymentIntegrationService.loadShippingCountries()).getShippingCountries())||void 0===e?void 0:e.map(e=>e.code))||[]).filter(e=>oc.includes(e))})}_getAvailableShippingOptions(){return ac(this,void 0,void 0,function*(){var e;const t=this.paymentIntegrationService.getState().getConsignments();if(!(null==t?void 0:t[0]))return;let{availableShippingOptions:n=[]}=t[0];const{selectedShippingOption:i}=t[0];if("function"==typeof this._filterAvailableShippingOptions)try{n=yield this._filterAvailableShippingOptions(n)}catch(e){console.error("Failed to filter available shipping options:",e)}const r=n.map(this._getStripeShippingOption.bind(this)),o=null==n?void 0:n.find(e=>e.isRecommended),a=(null==n?void 0:n.some(e=>e.id===(null==i?void 0:i.id)))?null==i?void 0:i.id:void 0,s=null==o?void 0:o.id;return a?r.sort(e=>e.id===a?-1:0):s?(r.sort(e=>e.id===s?-1:0),yield this._handleShippingOptionChange(s)):yield this._handleShippingOptionChange(null===(e=r[0])||void 0===e?void 0:e.id),r.slice(0,9)})}_getStripeShippingOption({id:e,cost:t,description:n}){return{id:e,displayName:n,amount:this._toCents(t)}}_handleShippingOptionChange(e){return ac(this,void 0,void 0,function*(){if(e&&"shipping_option_unselected"!==e)return this.paymentIntegrationService.selectShippingOption(e)})}_getAmountTransformer(){if(this._amountTransformer)return this._amountTransformer;const{getCart:e}=this.paymentIntegrationService.getState(),{currency:t}=e()||{};return t?new rc(t.decimalPlaces):void 0}_toCents(e){const t=Math.round(100*e),n=this._getAmountTransformer();return n?n.toInteger(e):t}_toggleLoadingIndicator(e){e&&this._loadingIndicatorContainer?this.loadingIndicator.show(this._loadingIndicatorContainer):this.loadingIndicator.hide()}_getPaymentMethod(e){return ac(this,void 0,void 0,function*(){let t=this.paymentIntegrationService.getState();const n=t.getPaymentMethod(zs.CHECKOUT_SESSION,e)||t.getPaymentMethod(zs.OCS,e);if(n)return n;const{initializationData:i}=t.getPaymentMethodOrThrow(e),r=(null==i?void 0:i.checkoutSessionEnabled)?zs.CHECKOUT_SESSION:zs.OCS;return t=yield this.paymentIntegrationService.loadPaymentMethod(e,{params:{method:r}}),t.getPaymentMethodOrThrow(r,e)})}}const dc=Tr(e=>{const t=new Vs(he()),n=new ic({containerStyles:tc});return new sc(e,t,new Xd(e,t),n)},[{id:"stripeocs"}]);var cc;function uc(e,t,n){const i=new WeakMap;function r(e){return(...n)=>{const r=n[n.length-1],{useCache:o}=(a=r)&&"boolean"==typeof a.useCache?r:{useCache:!1};var a;if(!o)return e.call(this,...n);const s=i.get(this)||{};var d;return i.get(this)||i.set(this,s),s[t]||(s[t]=(d=e,se(function(...e){const t=d.call(this,...e);return t instanceof G?K(t).pipe(re()):"function"==typeof t?se(e=>K(t(e)).pipe(re()),{isEqual:_}):t},{isEqual:_}))),s[t].call(this,...n)}}return{get(){if("function"!=typeof n.value)throw new Error("Decorator should be used in functions");const e=r.call(this,n.value);return Object.defineProperty(this,t,Object.assign(Object.assign({},n),{value:e})),e}}}!function(e){e.Standard="standard",e.Invoice="invoice"}(cc||(cc={}));const lc={quickbooks:"qbmsv2",elavon:"myvirtualmerchant"};var hc=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};const pc=e=>!!e;class gc{constructor(e,t){this._requestSender=e,this._b2bCompanyPaymentMethodRequestSender=t}loadPaymentMethodsById(e,t){return n=>new G(i=>{var r;const a=null===(r=n.getState().cart.getCart())||void 0===r?void 0:r.id,s=a?Object.assign(Object.assign({},null==t?void 0:t.params),{cartId:a}):Object.assign({},null==t?void 0:t.params);i.next(o(Dn.LoadPaymentMethodsRequested)),Promise.all(e.map(e=>hc(this,void 0,void 0,function*(){try{return(yield this._requestSender.loadPaymentMethod(e,Object.assign(Object.assign({},t),{params:s}))).body}catch(e){return}}))).then(e=>{const t=e.filter(pc);i.next(o(Dn.LoadPaymentMethodsSucceeded,t)),i.complete()}).catch(e=>{i.next(o(Dn.LoadPaymentMethodsFailed,e)),i.complete()})})}loadPaymentMethods(e){return t=>G.create(n=>{const i=t.getState(),r=i.cart.getCartOrThrow();n.next(o(Dn.LoadPaymentMethodsRequested)),this._requestSender.loadPaymentMethods(Object.assign(Object.assign({},e),{params:Object.assign(Object.assign({},null==e?void 0:e.params),{cartId:r.id})})).then(t=>hc(this,void 0,void 0,function*(){const r={deviceSessionId:t.headers["x-device-session-id"],sessionHash:t.headers["x-session-hash"]};let a=t.body;this._shouldFilterForB2b(i)&&(a=yield this._applyB2bFilter(a,i,e)),n.next(o(Dn.LoadPaymentMethodsSucceeded,a,r)),n.complete()})).catch(e=>{n.error(s(Dn.LoadPaymentMethodsFailed,e))})})}loadPaymentMethod(e,t){return n=>G.create(i=>{var r;const a=null===(r=n.getState().cart.getCart())||void 0===r?void 0:r.id,d=a?Object.assign(Object.assign({},null==t?void 0:t.params),{cartId:a}):Object.assign({},null==t?void 0:t.params);i.next(o(Dn.LoadPaymentMethodRequested,void 0,{methodId:e})),this._requestSender.loadPaymentMethod(e,Object.assign(Object.assign({},t),{params:d})).then(t=>{i.next(o(Dn.LoadPaymentMethodSucceeded,t.body,{methodId:e})),i.complete()}).catch(t=>{i.error(s(Dn.LoadPaymentMethodFailed,t,{methodId:e}))})})}_shouldFilterForB2b(e){var t,n;return!!(null===(n=null===(t=e.config.getStoreConfigOrThrow().checkoutSettings)||void 0===t?void 0:t.capabilities)||void 0===n?void 0:n.payment.b2bPaymentMethodFilterType)}_applyB2bFilter(e,t,n){return hc(this,void 0,void 0,function*(){var i,r,o,a,s;const d=t.config.getStoreConfigOrThrow(),c=t.customer.getCustomerOrThrow(),u=t.cart.getCartOrThrow(),l=t.b2bToken.getToken(),h=(p=null!==(o=null===(r=null===(i=t.config.getStoreConfig())||void 0===i?void 0:i.b2bApiSettings)||void 0===r?void 0:r.baseUrl)&&void 0!==o?o:"",function(){if("undefined"==typeof window||!window.location)return!1;try{return!!new URLSearchParams(window.location.search).has("enableB2bDevMode")&&(console.log("B2B Dev Mode Enabled"),!0)}catch(e){return!1}}()?"https://api-b2b.bigcommerce.com":p);var p;return!c.isGuest&&h&&u.companyId&&l?(null===(s=null===(a=d.checkoutSettings)||void 0===a?void 0:a.capabilities)||void 0===s?void 0:s.payment.b2bPaymentMethodFilterType)===cc.Invoice?this._applyB2bInvoiceFilter(e,h,l,n):this._applyB2bCompanyFilter(e,u.companyId,l,h,n):e})}_applyB2bCompanyFilter(e,t,n,i,r){return hc(this,void 0,void 0,function*(){const{body:o}=yield this._b2bCompanyPaymentMethodRequestSender.getB2BCompanyPaymentMethods(t,n,i,r);return function(e,t){const n=new Set(t.data.filter(e=>"1"===e.isEnabled).map(e=>e.code));return e.filter(e=>{var t;return n.has(null!==(t=lc[e.id])&&void 0!==t?t:e.id)})}(e,o)})}_applyB2bInvoiceFilter(e,t,n,i){return hc(this,void 0,void 0,function*(){const{body:r}=yield this._b2bCompanyPaymentMethodRequestSender.getB2BInvoiceAllowedPaymentMethods(t,n,i);return e.filter(e=>new Set(r.data.allowedMethods).has(e.id))})}}var mc;(function(e,t,n,i){var r,o=arguments.length,a=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(a=(o<3?r(a):o>3?r(t,n,a):r(t,n))||a);o>3&&a&&Object.defineProperty(t,n,a)})([uc],gc.prototype,"loadPaymentMethod",null),function(e){e.Json="application/json",e.JsonV1="application/vnd.bc.v1+json"}(mc||(mc={}));const yc=mc,fc="This API endpoint is for internal use only and may change in the future",_c={"X-Checkout-SDK-Version":"1.960.1"};class Sc{constructor(e){this._requestSender=e}loadPaymentMethods({timeout:e,params:t}={}){return this._requestSender.get("/api/storefront/payments",{timeout:e,headers:Object.assign({Accept:yc.JsonV1,"X-API-INTERNAL":fc},_c),params:t})}loadPaymentMethod(e,{timeout:t,params:n}={}){const i=`/api/storefront/payments/${e}`;return this._requestSender.get(i,{timeout:t,headers:Object.assign({Accept:yc.JsonV1,"X-API-INTERNAL":fc},_c),params:n})}}var vc,Cc=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Ic{constructor(e){this._requestSender=e}getB2BCompanyPaymentMethods(e,t,n,i){return Cc(this,void 0,void 0,function*(){return this._requestSender.get(`${n}/api/v2/companies/${e}/payments`,{timeout:null==i?void 0:i.timeout,credentials:!1,headers:{authToken:t,Authorization:`Bearer ${t}`}})})}getB2BInvoiceAllowedPaymentMethods(e,t,n){return Cc(this,void 0,void 0,function*(){return this._requestSender.get(`${e}/api/v1/ip/storefront/payments/bigcommerce/allowed-methods`,{timeout:null==n?void 0:n.timeout,credentials:!1,headers:{authToken:t,Authorization:`Bearer ${t}`}})})}}!function(e){e.AvailableShippingOptions="consignments.availableShippingOptions",e.PhysicalItemsCategoryNames="cart.lineItems.physicalItems.categoryNames",e.DigitalItemsCategoryNames="cart.lineItems.digitalItems.categoryNames",e.BillingAddressExtraFields="billingAddress.extraFields",e.ConsignmentAddressExtraFields="consignments.address.extraFields",e.ConsignmentShippingAddressExtraFields="consignments.shippingAddress.extraFields",e.CustomerAddressesB2B="customer.addresses.b2b"}(vc||(vc={}));const wc=[vc.BillingAddressExtraFields,vc.ConsignmentAddressExtraFields,vc.ConsignmentShippingAddressExtraFields],bc=[vc.CustomerAddressesB2B];function Ec(e,t){var n,i;const r=function(e){const t=null==e?void 0:e.userJourney;return[...(null==t?void 0:t.hasAddressExtraFields)?wc:[],...(null==t?void 0:t.hasCompanyAddressBook)?bc:[]]}(null===(n=e.getState().config.getStoreConfig())||void 0===n?void 0:n.checkoutSettings.capabilities);return r.length?Object.assign(Object.assign({},t),{params:Object.assign(Object.assign({},null==t?void 0:t.params),{include:Pc(null===(i=null==t?void 0:t.params)||void 0===i?void 0:i.include,r)})}):t}function Pc(e,t){return e&&!Array.isArray(e)?Object.assign(Object.assign({},function(e){const t={};return e.forEach(e=>{t[e]=!0}),t}(t)),e):F(e,t)}function Oc(e,t,n){return(i=t)&&i.type&&i.error?H(J(t),Q(s(e,t.payload,n))):Q(s(e,t,n));var i}class Ac extends Ee{constructor(e){super(e||"Unable to continue as a guest because the customer is already signed in."),this.name="UnableToContinueAsGuestError",this.type="unable_to_continue_as_guest"}}class Tc{constructor(e,t){this._requestSender=e,this._subscriptionActionCreator=t}continueAsGuest(e,t){return n=>{const i=n.getState(),r=i.checkout.getCheckout();if(!r)throw new ir(nr.MissingCheckout);const a=i.customer.getCustomer();if(a&&!a.isGuest)throw new Ac;const s=i.billingAddress.getBillingAddress();let d;if(s){const{country:t}=s,n=function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]])}return n}(s,["country"]);d=Object.assign(Object.assign({},n),e)}else d=e;const c=!f(s);return Z(H(J(o(Ke.ContinueAsGuestRequested)),W(()=>{return e=this,i=void 0,s=function*(){const{body:e}=yield this._createOrUpdateBillingAddress(r.id,d,c,Ec(n,t));return o(Ke.ContinueAsGuestSucceeded,e)},new((a=void 0)||(a=Promise))(function(t,n){function r(e){try{d(s.next(e))}catch(e){n(e)}}function o(e){try{d(s.throw(e))}catch(e){n(e)}}function d(e){var n;e.done?t(e.value):(n=e.value,n instanceof a?n:new a(function(e){e(n)})).then(r,o)}d((s=s.apply(e,i||[])).next())});var e,i,a,s})).pipe(X(e=>Oc(Ke.ContinueAsGuestFailed,e))),this._updateCustomerConsent(e,t))}}updateAddress(e,t){return n=>G.create(i=>{const r=n.getState(),a=r.checkout.getCheckout();if(!a)throw new ir(nr.MissingCheckout);i.next(o(Ke.UpdateBillingAddressRequested));const d=r.billingAddress.getBillingAddress(),c=!f(d),u=Object.assign(Object.assign({},e),{email:void 0===e.email&&d?d.email:e.email});d&&d.id&&(u.id=d.id),this._createOrUpdateBillingAddress(a.id,u,c,Ec(n,t)).then(({body:e})=>{i.next(o(Ke.UpdateBillingAddressSucceeded,e)),i.complete()}).catch(e=>{i.error(s(Ke.UpdateBillingAddressFailed,e))})})}_updateCustomerConsent({email:e,acceptsAbandonedCartEmails:t,acceptsMarketingNewsletter:n},i){return null==t&&null==n?Y():this._subscriptionActionCreator.updateSubscriptions({email:e,acceptsMarketingNewsletter:n||!1,acceptsAbandonedCartEmails:t||!1},i)}_createOrUpdateBillingAddress(e,t,n,i){return n?this._requestSender.updateAddress(e,t,i):this._requestSender.createAddress(e,t,i)}}function kc(e){var t;const{isShipping:n,isBilling:i,isDefaultShipping:r,isDefaultBilling:o}=e,a=function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]])}return n}(e,["isShipping","isBilling","isDefaultShipping","isDefaultBilling"]);return Object.assign(Object.assign({},a),{shouldSaveAddress:null!==(t=a.shouldSaveAddress)&&void 0!==t&&t})}class Rc extends Ee{constructor(e){super(e||"Your checkout could not be processed because your cart is empty. Please add items to your cart and try again."),this.name="EmptyCartError",this.type="empty_cart"}}function Dc(e){return U(e).join(",")}function Mc(e,t=[]){return Array.isArray(t)?Dc([...e,...t]):function(e,t){const n=b(M(t,e=>!e)),i=b(M(t,e=>e));return Dc([...c(e,n),...i])}(e,t)}const Nc=["cart.lineItems.physicalItems.options","cart.lineItems.physicalItems.stockPosition","cart.lineItems.digitalItems.options","cart.lineItems.digitalItems.stockPosition","customer","promotions.banners"];class Lc{constructor(e){this._requestSender=e}createAddress(e,t,{timeout:n,params:{include:i}={}}={}){const r=`/api/storefront/checkouts/${e}/billing-address`,o=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.post(r,{body:kc(t),params:{include:Mc(Nc,i)},headers:o,timeout:n}).catch(e=>{if("empty_cart"===e.body.type)throw new Rc;throw e})}updateAddress(e,t,{timeout:n,params:{include:i}={}}={}){const{id:r}=t,o=function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]])}return n}(t,["id"]),a=`/api/storefront/checkouts/${e}/billing-address/${r}`,s=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.put(a,{params:{include:Mc(Nc,i)},body:kc(o),headers:s,timeout:n}).catch(e=>{if("empty_cart"===e.body.type)throw new Rc;throw e})}}class zc{constructor(e){this._requestSender=e}createBuyNowCart(e,{timeout:t}={}){const n=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.post("/api/storefront/carts",{body:e,headers:n,timeout:t})}}class Bc{constructor(e,t,n){this._checkoutRequestSender=e,this._configActionCreator=t,this._formFieldsActionCreator=n}loadCheckout(e,t){return n=>H(J(o(He.LoadCheckoutRequested)),Z(this._configActionCreator.loadConfig({useCache:!0,timeout:null==t?void 0:t.timeout,params:{checkoutId:e}}),this._formFieldsActionCreator.loadFormFields({useCache:!0,timeout:null==t?void 0:t.timeout})),W(()=>this._checkoutRequestSender.loadCheckout(e,Ec(n,t)).then(({body:e})=>o(He.LoadCheckoutSucceeded,this._transformCustomerAddresses(e))))).pipe(X(e=>Oc(He.LoadCheckoutFailed,e)))}loadDefaultCheckout(e){return t=>H(J(o(He.LoadCheckoutRequested)),Z(this._configActionCreator.loadConfig({useCache:!0,timeout:null==e?void 0:e.timeout}),this._formFieldsActionCreator.loadFormFields({useCache:!0,timeout:null==e?void 0:e.timeout})),W(()=>{return n=this,i=void 0,a=function*(){const n=t.getState().config.getContextConfig();if(!n||!n.checkoutId)throw new ir(nr.MissingCheckoutConfig);const{body:i}=yield this._checkoutRequestSender.loadCheckout(n.checkoutId,Ec(t,e));return o(He.LoadCheckoutSucceeded,this._transformCustomerAddresses(i))},new((r=void 0)||(r=Promise))(function(e,t){function o(e){try{d(a.next(e))}catch(e){t(e)}}function s(e){try{d(a.throw(e))}catch(e){t(e)}}function d(t){var n;t.done?e(t.value):(n=t.value,n instanceof r?n:new r(function(e){e(n)})).then(o,s)}d((a=a.apply(n,i||[])).next())});var n,i,r,a})).pipe(X(e=>Oc(He.LoadCheckoutFailed,e)))}updateCheckout(e,t){return n=>new G(i=>{const r=n.getState().checkout.getCheckout();if(!r)throw new ir(nr.MissingCheckout);i.next(o(He.UpdateCheckoutRequested)),this._checkoutRequestSender.updateCheckout(r.id,e,t).then(({body:e})=>{i.next(o(He.UpdateCheckoutSucceeded,e)),i.complete()}).catch(e=>{i.error(s(He.UpdateCheckoutFailed,e))})})}deleteCheckout(e){return t=>new G(n=>{const i=t.getState().checkout.getCheckout();if(!i)throw new ir(nr.MissingCheckout);n.next(o(He.DeleteCheckoutRequested)),this._checkoutRequestSender.deleteCheckout(i.id,e).then(()=>{n.next(o(He.DeleteCheckoutSucceeded)),n.complete()}).catch(e=>{n.error(s(He.DeleteCheckoutFailed,e))})})}loadCurrentCheckout(e){return t=>{const n=t.getState().checkout.getCheckout();if(!n)throw new ir(nr.MissingCheckout);return this.loadCheckout(n.id,e)(t)}}hydrateInitialState(e){return{type:We.HydrateInitialState,payload:e}}_transformCustomerAddresses(e){return Object.assign(Object.assign({},e),{customer:Object.assign(Object.assign({},e.customer),{addresses:e.customer.addresses.map(e=>Object.assign(Object.assign({},e),{shouldSaveAddress:!1}))})})}}const Fc=["cart.lineItems.physicalItems.options","cart.lineItems.physicalItems.stockPosition","cart.lineItems.digitalItems.options","cart.lineItems.digitalItems.stockPosition","customer","customer.customerGroup","payments","promotions.banners"];class Uc extends Oe{constructor(e){super(e,{message:e.body.title}),this.name="CheckoutNotAvailableError",this.type="checkout_not_available"}}class xc{constructor(e){this._requestSender=e}loadCheckout(e,{params:{include:t}={},timeout:n}={}){const i=`/api/storefront/checkout/${e}`,r=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.get(i,{params:{include:Mc(Fc,t)},headers:r,timeout:n}).catch(e=>{if(e.status>=400&&e.status<500)throw new Uc(e);throw e})}updateCheckout(e,t,{params:{include:n}={},timeout:i}={}){const r=`/api/storefront/checkout/${e}`,o=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.put(r,{params:{include:Mc(Fc,n)},body:t,headers:o,timeout:i}).catch(e=>{if("empty_cart"===e.body.type)throw new Rc;throw e})}deleteCheckout(e,{timeout:t}={}){const n=`/api/storefront/carts/${e}`,i=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.delete(n,{headers:i,timeout:t})}}class qc{isEqual(e,t){return _(this._normalize(e),this._normalize(t))}_normalize(e){return{cartAmount:e.cartAmount,currency:e.currency,id:e.id,lineItems:{digitalItems:e.lineItems.digitalItems.slice().sort((e,t)=>`${e.productId}${e.variantId}`.localeCompare(`${t.productId}${t.variantId}`)).map(e=>({extendedSalePrice:e.extendedSalePrice,productId:e.productId,quantity:e.quantity,variantId:e.variantId})),giftCertificates:e.lineItems.giftCertificates.slice().sort((e,t)=>`${e.id}`.localeCompare(`${t.id}`)).map(e=>({amount:e.amount,recipient:e.recipient})),physicalItems:e.lineItems.physicalItems.slice().sort((e,t)=>`${e.productId}${e.variantId}`.localeCompare(`${t.productId}${t.variantId}`)).map(e=>({extendedSalePrice:e.extendedSalePrice,productId:e.productId,quantity:e.quantity,variantId:e.variantId,giftWrapping:e.giftWrapping}))}}}}class jc extends Ee{constructor(e,t){super("An update to your shopping cart has been detected and your available shipping costs have been updated."),this.name="CartChangedError",this.type="cart_changed",this.data={previous:e,updated:t}}}class Gc{constructor(e){this._checkoutRequestSender=e}validate(e,t){if(!e)throw new ir(nr.MissingCheckout);return this._checkoutRequestSender.loadCheckout(e.id,t).then(t=>{const n=new qc;if(!(e.outstandingBalance===t.body.outstandingBalance&&this._compareCoupons(e.coupons,t.body.coupons)&&this._compareGiftCertificates(e.giftCertificates,t.body.giftCertificates)&&n.isEqual(e.cart,t.body.cart)))throw new jc(this._getComparableCheckout(e),this._getComparableCheckout(t.body))})}_compareCoupons(e,t){return _(P(e,"code"),P(t,"code"))}_compareGiftCertificates(e,t){return _(P(e,"code"),P(t,"code"))}_getComparableCheckout(e){const{cart:t,coupons:n,giftCertificates:i,outstandingBalance:r}=e;return{cart:{cartAmount:t.cartAmount,currency:t.currency,lineItems:t.lineItems},coupons:n,giftCertificates:i,outstandingBalance:r}}}class Vc{constructor(e){this._configRequestSender=e}loadConfig(e){return G.create(t=>{t.next(o(Ct.LoadConfigRequested)),this._configRequestSender.loadConfig(e).then(e=>{t.next(o(Ct.LoadConfigSucceeded,e.body)),t.complete()}).catch(e=>{t.error(s(Ct.LoadConfigFailed,e))})})}}!function(e,t,n,i){var r,o=arguments.length,a=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(a=(o<3?r(a):o>3?r(t,n,a):r(t,n))||a);o>3&&a&&Object.defineProperty(t,n,a)}([uc],Vc.prototype,"loadConfig",null);class Hc{constructor(e){this._requestSender=e}loadConfig({timeout:e,params:t}={}){return this._requestSender.get("/api/storefront/checkout-settings",{timeout:e,headers:Object.assign({Accept:yc.JsonV1,"X-API-INTERNAL":fc},_c),params:t}).catch(e=>{if(e.status>=400&&e.status<500)throw new Uc(e);throw e})}}class Wc{constructor(e){this._couponRequestSender=e}applyCoupon(e,t){return n=>G.create(i=>{const r=n.getState().checkout.getCheckout();if(!r)throw new ir(nr.MissingCheckout);i.next(o(rt.ApplyCouponRequested)),this._couponRequestSender.applyCoupon(r.id,e,Ec(n,t)).then(({body:e})=>{i.next(o(rt.ApplyCouponSucceeded,e)),i.complete()}).catch(e=>{i.error(s(rt.ApplyCouponFailed,e))})})}removeCoupon(e,t){return n=>G.create(i=>{const r=n.getState().checkout.getCheckout();if(!r)throw new ir(nr.MissingCheckout);i.next(o(rt.RemoveCouponRequested)),this._couponRequestSender.removeCoupon(r.id,e,Ec(n,t)).then(({body:e})=>{i.next(o(rt.RemoveCouponSucceeded,e)),i.complete()}).catch(e=>{i.error(s(rt.RemoveCouponFailed,e))})})}}class Yc{constructor(e){this._requestSender=e}applyCoupon(e,t,{timeout:n,params:{include:i}={}}={}){const r=`/api/storefront/checkouts/${e}/coupons`,o=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.post(r,{headers:o,timeout:n,params:{include:Mc([...Fc,vc.AvailableShippingOptions],i)},body:{couponCode:t}}).catch(e=>{if("empty_cart"===e.body.type)throw new Rc;throw e})}removeCoupon(e,t,{timeout:n,params:{include:i}={}}={}){const r=`/api/storefront/checkouts/${e}/coupons/${t}`,o=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.delete(r,{headers:o,timeout:n,params:{include:Mc([...Fc,vc.AvailableShippingOptions],i)}}).catch(e=>{if("empty_cart"===e.body.type)throw new Rc;throw e})}}function Kc(e){const t=e;return"object"==typeof t&&"object"==typeof t.payload&&"string"==typeof t.payload.token}class $c{constructor(e,t,n){this._customerRequestSender=e,this._checkoutActionCreator=t,this._spamProtectionActionCreator=n}createCustomer(e,t){return n=>{const i=n.getState().config.getStoreConfigOrThrow(),{isStorefrontSpamProtectionEnabled:r}=i.checkoutSettings,a=i=>K(this._customerRequestSender.createAccount(Object.assign(Object.assign({},e),{token:i}),t)).pipe(oe(()=>H(this._checkoutActionCreator.loadCurrentCheckout(t)(n),J(o(Ft.CreateCustomerSucceeded)))));return H(J(o(Ft.CreateCustomerRequested)),r?K(this._spamProtectionActionCreator.execute()(n)).pipe(oe(e=>{var t;return Kc(e)?H(J(e),a(null===(t=e.payload)||void 0===t?void 0:t.token)):J(e)})):a()).pipe(X(e=>Oc(Ft.CreateCustomerFailed,e)))}}createAddress(e,t){return H(J(o(Ft.CreateCustomerAddressRequested)),W(()=>{return n=this,i=void 0,a=function*(){const{body:n}=yield this._customerRequestSender.createAddress(e,t);return o(Ft.CreateCustomerAddressSucceeded,n)},new((r=void 0)||(r=Promise))(function(e,t){function o(e){try{d(a.next(e))}catch(e){t(e)}}function s(e){try{d(a.throw(e))}catch(e){t(e)}}function d(t){var n;t.done?e(t.value):(n=t.value,n instanceof r?n:new r(function(e){e(n)})).then(o,s)}d((a=a.apply(n,i||[])).next())});var n,i,r,a})).pipe(X(e=>Oc(Ft.CreateCustomerAddressFailed,e)))}signInCustomer(e,t){return n=>{const i=n.getState().checkout.getCheckoutOrThrow(),r=i.cart.source===Co.BuyNow?i.id:void 0;return H(J(o(Ft.SignInCustomerRequested)),K(this._customerRequestSender.signInCustomer(Object.assign(Object.assign({},e),{cartId:r}),t)).pipe(oe(({body:e})=>e.data.persistentCartRetrievalInformation?H(this._checkoutActionCreator.loadCheckout(e.data.persistentCartRetrievalInformation.id,t)(n),J(o(Ft.SignInCustomerSucceeded,e.data))):H(this._checkoutActionCreator.loadCurrentCheckout(t)(n),J(o(Ft.SignInCustomerSucceeded,e.data)))))).pipe(X(e=>Oc(Ft.SignInCustomerFailed,e)))}}signOutCustomer(e){return t=>{const n=t.getState().checkout.getCheckoutOrThrow(),i=n.cart.source===Co.BuyNow?n.id:void 0;return H(J(o(Ft.SignOutCustomerRequested)),K(this._customerRequestSender.signOutCustomer(e,i)).pipe(oe(({body:n})=>H(this._checkoutActionCreator.loadCurrentCheckout(e)(t),J(o(Ft.SignOutCustomerSucceeded,n.data)))))).pipe(X(e=>Oc(Ft.SignOutCustomerFailed,e)))}}}class Zc{constructor(e){this._requestSender=e}createAccount(e,{timeout:t}={}){return this._requestSender.post("/api/storefront/customer",{timeout:t,headers:_c,body:e})}createAddress(e,{timeout:t}={}){return this._requestSender.post("/api/storefront/customer-address",{timeout:t,headers:_c,body:e})}signInCustomer(e,{timeout:t}={}){return this._requestSender.post("/internalapi/v1/checkout/customer",{timeout:t,headers:_c,body:e})}signOutCustomer({timeout:e}={},t){return this._requestSender.delete("/internalapi/v1/checkout/customer",Object.assign({timeout:e,headers:_c},t&&{body:{cartId:t}}))}}class Jc{constructor(e){this._formFieldsRequestSender=e}loadFormFields(e){return H(J(o(nn.LoadFormFieldsRequested)),W(()=>{return t=this,n=void 0,r=function*(){const{body:t}=yield this._formFieldsRequestSender.loadFields(e);return o(nn.LoadFormFieldsSucceeded,t)},new((i=void 0)||(i=Promise))(function(e,o){function a(e){try{d(r.next(e))}catch(e){o(e)}}function s(e){try{d(r.throw(e))}catch(e){o(e)}}function d(t){var n;t.done?e(t.value):(n=t.value,n instanceof i?n:new i(function(e){e(n)})).then(a,s)}d((r=r.apply(t,n||[])).next())});var t,n,i,r})).pipe(X(e=>Oc(nn.LoadFormFieldsFailed,e)))}}!function(e,t,n,i){var r,o=arguments.length,a=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(a=(o<3?r(a):o>3?r(t,n,a):r(t,n))||a);o>3&&a&&Object.defineProperty(t,n,a)}([uc],Jc.prototype,"loadFormFields",null);class Qc{constructor(e){this._requestSender=e}loadFields({timeout:e}={}){return this._requestSender.get("/api/storefront/form-fields",{timeout:e,headers:Object.assign({Accept:yc.JsonV1,"X-API-INTERNAL":fc},_c)})}}class Xc{constructor(e,t){this._requestSender=e,this._config=t}loadCountries({timeout:e}={}){const t=Object.assign({"Accept-Language":this._config.locale},_c);return this._requestSender.get("/internalapi/v1/store/countries",{headers:t,timeout:e})}}class eu extends Ee{constructor(e){super(e||"Unable to proceed because the required element is unexpectedly detached from the page."),this.name="UnexpectedDetachmentError",this.type="unexpected_detachment"}}class tu{constructor(e){this._mutationObserver=e}ensurePresence(e,t){return n=this,i=void 0,o=function*(){const n=new Ta(t),i=this._mutationObserver.create(t=>{t.forEach(t=>{0!==Array.from(t.removedNodes).filter(t=>e.some(e=>t===e||t.contains(e))).length&&n.cancel(new eu)})});i.observe(document.body,{childList:!0,subtree:!0});try{const e=yield n.promise;return i.disconnect(),e}catch(e){throw i.disconnect(),e}},new((r=void 0)||(r=Promise))(function(e,t){function a(e){try{d(o.next(e))}catch(e){t(e)}}function s(e){try{d(o.throw(e))}catch(e){t(e)}}function d(t){var n;t.done?e(t.value):(n=t.value,n instanceof r?n:new r(function(e){e(n)})).then(a,s)}d((o=o.apply(n,i||[])).next())});var n,i,r,o}}class nu{constructor(e=window){this._window=e}create(e){return new this._window.MutationObserver(e)}}class iu extends Ee{constructor(e){super(e||"Invalid arguments have been provided."),this.name="InvalidArgumentError",this.type="invalid_argument"}}function ru(e){if(!/^(https?:)?\/\//.test(e))throw new iu("The provided URL must be absolute.");const t=document.createElement("a");t.href=e;const n=t.port&&-1!==e.indexOf(`${t.hostname}:${t.port}`)?t.port:"";return{hash:t.hash,hostname:t.hostname,href:t.href,origin:`${t.protocol}//${t.hostname}${n?`:${n}`:""}`,pathname:t.pathname,port:n,protocol:t.protocol,search:t.search}}function ou(e,t){return e.type===t}class au{constructor(e,t,n){this._targetWindow=t,this._context=n,this._targetOrigin="*"===e?"*":ru(e).origin}post(e,t){const n=this._targetWindow;if(window===n)return;if(!n)throw new Error("Unable to post message because target window is not set.");const i=t&&$(window,"message").pipe(te(e=>e.origin===this._targetOrigin&&ou(e.data,e.data.type)&&-1!==[t.successType,t.errorType].indexOf(e.data.type)),ne(e=>{if(t.errorType===e.data.type)throw e.data;return e.data}),ae(1)).toPromise();return n.postMessage(Object.assign(Object.assign({},e),{context:this._context}),this._targetOrigin),i}setTarget(e){this._targetWindow=e}setContext(e){this._context=e}}class su{constructor(e){var t;this._sourceOrigins=[ru(e).origin,(t=ru(e),ru(0===t.hostname.indexOf("www")?t.href:t.href.replace(t.hostname,`www.${t.hostname}`))).origin],this._isListening=!1,this._listeners={}}listen(){this._isListening||(this._isListening=!0,window.addEventListener("message",this._handleMessage))}stopListen(){this._isListening&&(this._isListening=!1,window.removeEventListener("message",this._handleMessage))}addListener(e,t){let n=this._listeners[e];n||(this._listeners[e]=n=[]),-1===n.indexOf(t)&&n.push(t)}removeListener(e,t){const n=this._listeners[e];if(!n)return;const i=n.indexOf(t);i>=0&&n.splice(i,1)}trigger(e,t){const n=this._listeners[e.type];n&&n.forEach(n=>t?n(e,t):n(e))}_handleMessage(e){if(-1===this._sourceOrigins.indexOf(e.origin)||!ou(e.data,e.data.type))return;const t=e.data,{context:n}=t,i=function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]])}return n}(t,["context"]);this.trigger(i,n)}}!function(e,t,n,i){var r,o=arguments.length,a=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(a=(o<3?r(a):o>3?r(t,n,a):r(t,n))||a);o>3&&a&&Object.defineProperty(t,n,a)}([Ra],su.prototype,"_handleMessage",null);class du extends Ee{constructor(){super("You haven't complete our spam protection challenge. Please try again."),this.name="SpamProtectionChallengeNotCompletedError",this.type="spam_protection_challenge_not_completed"}}class cu extends Ee{constructor(){super("Please complete our human verification challenge and try again."),this.name="CardingProtectionChallengeNotCompletedError",this.type="carding_protection_challenge_not_completed"}}class uu extends Ee{constructor(){super("We were not able to verify that you are not a robot. Please try again."),this.name="CardingProtectionFailedError",this.type="carding_protection_failed"}}var lu,hu,pu,gu=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class mu{constructor(e){this._googleRecaptcha=e}handle(e,t){return gu(this,void 0,void 0,function*(){return"string"==typeof e?this.handleWithRecaptchaSitekey(e,t):this.handleWithPaymentHumanVerificationRequestError(e)})}handleWithPaymentHumanVerificationRequestError(e){return gu(this,void 0,void 0,function*(){if(!this._isPaymentHumanVerificationRequest(e))throw e;return yield this._initialize(e.body.additional_action_required.data.key),this._performRecaptcha()})}handleWithRecaptchaSitekey(e,t){return gu(this,void 0,void 0,function*(){if("recaptcha_v2"!==e)throw Error("Human verification method is not supported.");if(!t)throw Error("Recaptcha site key is missing.");return yield this._initialize(t),this._performRecaptcha()})}_performRecaptcha(){return this._googleRecaptcha.execute().pipe(ae(1)).pipe(oe(e=>gu(this,[e],void 0,function*({error:e,token:t}){if(e instanceof du)throw new cu;if(e||!t)throw new uu;return{type:"recaptcha_v2_verification",data:{human_verification_token:t}}}))).toPromise()}_initialize(e){const t="cardingProtectionContainer";let n=document.getElementById(t);return n&&n.parentNode&&n.parentNode.removeChild(n),n=document.createElement("div"),n.setAttribute("id",t),document.body.appendChild(n),this._googleRecaptcha.load(t,e)}_isPaymentHumanVerificationRequest(e){const{additional_action_required:t,status:n}=e.body||{};return"additional_action_required"===n&&t&&"recaptcha_v2_verification"===t.type}}!function(e){e[e.CheckoutButtonNotInitialized=0]="CheckoutButtonNotInitialized",e[e.CustomerNotInitialized=1]="CustomerNotInitialized",e[e.PaymentNotInitialized=2]="PaymentNotInitialized",e[e.ShippingNotInitialized=3]="ShippingNotInitialized",e[e.SpamProtectionNotInitialized=4]="SpamProtectionNotInitialized"}(lu||(lu={}));class yu extends Ee{constructor(e){super(function(e){switch(e){case lu.CustomerNotInitialized:return"Unable to proceed because the customer step of checkout has not been initialized.";case lu.PaymentNotInitialized:return"Unable to proceed because the payment step of checkout has not been initialized.";case lu.ShippingNotInitialized:return"Unable to proceed because the shipping step of checkout has not been initialized.";case lu.SpamProtectionNotInitialized:return"Unable to proceed because the checkout spam protection has not been initialized.";default:return"Unable to proceed because the required component has not been initialized."}}(e)),this.subtype=e,this.name="NotInitializedError",this.type="not_initialized"}}class fu extends Ee{constructor(){super("We were not able to complete your spam protection verification. Please try again."),this.name="SpamProtectionFailedError",this.type="spam_protection_failed"}}class _u extends Ee{constructor(){super("Spam protection is not loaded. Please try again."),this.name="SpamProtectionNotLoadedError",this.type="spam_protection_failed"}}class Su{constructor(e,t){this.googleRecaptchaScriptLoader=e,this.mutationObserverFactory=t,this._memoized=se((e,t,n)=>{const i=new V;if(!n)throw new Error;return this._widgetId=e.render(n.id,{sitekey:t,size:"invisible",callback:()=>{i.next({token:e.getResponse(this._widgetId)}),e.reset(this._widgetId)},"error-callback":()=>{i.next({error:new fu})}}),i},{isEqual:(e,t)=>e===t})}load(e,t){return this.googleRecaptchaScriptLoader.load().then(n=>{n&&(this._event$=this._memoized(n,t,document.getElementById(e)),this._recaptcha=n)}).catch(e=>{throw e})}reset(e){var t;const n=document.getElementById(e);null==n||n.remove(),null===(t=this._recaptcha)||void 0===t||t.reset(this._widgetId)}execute(){return W(()=>{const e=this._event$,t=this._recaptcha;if(!e||!t)throw new yu(lu.SpamProtectionNotInitialized);return W(()=>{const e=document.querySelector('iframe[src*="bframe"]');return e?J(e):Q(new _u)}).pipe(ie(e=>e.pipe(ee(250),oe((e,t)=>t<28?J(e):Q(e)))),oe(n=>(this._watchRecaptchaChallengeWindow(e,n),t.execute(this._widgetId),e)),X(e=>J({error:e})))})}_watchRecaptchaChallengeWindow(e,t){const n=t.parentElement;if(!n)throw new _u;const i=n.parentElement;if(!i)throw new _u;this.mutationObserverFactory.create(()=>{"hidden"===i.style.visibility&&e.next({error:new du})}).observe(i,{attributes:!0,attributeFilter:["style"]})}}class vu{constructor(e,t=window){this._scriptLoader=e,this._window=t}load(){return this._loadPromise||(this._loadPromise=this._loadScript()),this._loadPromise}_loadScript(){const e="initRecaptcha",t=[`onload=${e}`,"render=explicit"].join("&");return new Promise((n,i)=>{this._window[e]=()=>n(this._window.grecaptcha),this._scriptLoader.loadScript(`//www.google.com/recaptcha/api.js?${t}`).catch(e=>{this._loadPromise=void 0,i(e)})})}}function Cu(e){return new Su(new vu(e),new nu)}class Iu extends Ee{constructor(e){super(e||"Unable to proceed due to invalid configuration provided for the hosted payment form."),this.name="InvalidHostedFormConfigError",this.type="invalid_hosted_form_config"}}class wu extends Ee{constructor(e){super(e||"Unable to proceed due to an unknown error with the hosted payment form."),this.name="InvalidHostedFormError",this.type="invalid_hosted_form"}}class bu extends Ee{constructor(e){super(["Unable to proceed due to invalid user input values",...p(q(e),e=>P(e,({message:e})=>e))].join(". ")),this.errors=e,this.name="InvalidHostedFormValueError",this.type="invalid_hosted_form_value"}}!function(e){e.AttachRequested="HOSTED_FIELD:ATTACH_REQUESTED",e.SubmitRequested="HOSTED_FIELD:SUBMITTED_REQUESTED",e.ValidateRequested="HOSTED_FIELD:VALIDATE_REQUESTED",e.StoredCardRequested="HOSTED_FIELD:STORED_CARD_REQUESTED"}(hu||(hu={})),function(e){e.AttachSucceeded="HOSTED_INPUT:ATTACH_SUCCEEDED",e.AttachFailed="HOSTED_INPUT:ATTACH_FAILED",e.BinChanged="HOSTED_INPUT:BIN_CHANGED",e.Blurred="HOSTED_INPUT:BLURRED",e.Changed="HOSTED_INPUT:CHANGED",e.CardTypeChanged="HOSTED_INPUT:CARD_TYPE_CHANGED",e.Entered="HOSTED_INPUT:ENTERED",e.Focused="HOSTED_INPUT:FOCUSED",e.SubmitSucceeded="HOSTED_INPUT:SUBMIT_SUCCEEDED",e.SubmitFailed="HOSTED_INPUT:SUBMIT_FAILED",e.Validated="HOSTED_INPUT:VALIDATED",e.StoredCardSucceeded="HOSTED_INPUT:STORED_CARD_SUCCEEDED",e.StoredCardFailed="HOSTED_INPUT:STORED_CARD_FAILED"}(pu||(pu={}));var Eu=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Pu{constructor(e,t,n,i,r,o,a,s,d,c){this._type=e,this._containerId=t,this._placeholder=n,this._accessibilityLabel=i,this._styles=r,this._eventPoster=o,this._eventListener=a,this._detachmentObserver=s,this._checkoutId=d,this._cardInstrument=c,this._iframe=document.createElement("iframe");const u=this._checkoutId?`/checkout/payment/hosted-field?version=1.960.1&checkoutId=${this._checkoutId}`:"/checkout/payment/hosted-field?version=1.960.1";this._iframe.src=u,this._iframe.style.border="none",this._iframe.style.height="100%",this._iframe.style.overflow="hidden",this._iframe.style.width="100%"}getType(){return this._type}attach(){return Eu(this,void 0,void 0,function*(){const e=document.getElementById(this._containerId);if(!e)throw new Iu("Unable to proceed because the provided container ID is not valid.");e.appendChild(this._iframe),this._eventListener.listen();const t=$(this._iframe,"load").pipe(oe(e=>Eu(this,[e],void 0,function*({target:e}){const t=e&&e.contentWindow;if(!t)throw new Error("The content window of the iframe cannot be accessed.");this._eventPoster.setTarget(t),yield this._eventPoster.post({type:hu.AttachRequested,payload:{accessibilityLabel:this._accessibilityLabel,cardInstrument:this._cardInstrument,fontUrls:this._getFontUrls(),placeholder:this._placeholder,styles:this._styles,origin:document.location.origin,type:this._type}},{successType:pu.AttachSucceeded,errorType:pu.AttachFailed})})),ae(1)).toPromise();yield this._detachmentObserver.ensurePresence([this._iframe],t)})}detach(){this._iframe.parentElement&&(this._iframe.parentElement.removeChild(this._iframe),this._eventListener.stopListen())}submitForm(e,t){return Eu(this,void 0,void 0,function*(){try{const n=this._eventPoster.post({type:hu.SubmitRequested,payload:{fields:e,data:t}},{successType:pu.SubmitSucceeded,errorType:pu.SubmitFailed});return yield this._detachmentObserver.ensurePresence([this._iframe],n)}catch(e){if(this._isSubmitErrorEvent(e)){if("hosted_form_error"===e.payload.error.code)throw new wu(e.payload.error.message);if(e.payload.response)throw ke(e.payload.response);throw new Error(e.payload.error.message)}throw e}})}submitStoredCardForm(e,t){return Eu(this,void 0,void 0,function*(){const n=this._eventPoster.post({type:hu.StoredCardRequested,payload:{fields:e,data:t}},{successType:pu.StoredCardSucceeded,errorType:pu.StoredCardFailed});return this._detachmentObserver.ensurePresence([this._iframe],n)})}validateForm(){return Eu(this,void 0,void 0,function*(){const e=this._eventPoster.post({type:hu.ValidateRequested},{successType:pu.Validated}),{payload:t}=yield this._detachmentObserver.ensurePresence([this._iframe],e);if(!t.isValid)throw new bu(t.errors)})}_getFontUrls(){const e="fonts.googleapis.com",t=document.querySelectorAll(`link[href*='${e}'][rel='stylesheet']`);return Array.prototype.slice.call(t).filter(t=>ru(t.href).hostname===e).filter(e=>q(this._styles).map(e=>e&&e.fontFamily).filter(e=>"string"==typeof e).some(t=>t.split(/,\s/).some(t=>-1!==e.href.indexOf(t.replace(" ","+"))))).map(e=>e.href)}_isSubmitErrorEvent(e){return e.type===pu.SubmitFailed}}var Ou=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Au{constructor(e,t,n,i,r){this._fields=e,this._eventListener=t,this._payloadTransformer=n,this._eventCallbacks=i,this._paymentHumanVerificationHandler=r,this._handleEnter=e=>Ou(this,[e],void 0,function*({payload:e}){try{yield this.validate()}catch(e){if(e instanceof Error&&"InvalidHostedFormValueError"!==e.name)throw e}const{onEnter:t=T}=this._eventCallbacks;t(e)});const{onBlur:o=T,onCardTypeChange:a=T,onFocus:s=T,onValidate:d=T}=this._eventCallbacks;this._eventListener.addListener(pu.Blurred,({payload:e})=>o(e)),this._eventListener.addListener(pu.CardTypeChanged,({payload:e})=>a(e)),this._eventListener.addListener(pu.Focused,({payload:e})=>s(e)),this._eventListener.addListener(pu.Validated,({payload:e})=>d(e)),this._eventListener.addListener(pu.Entered,this._handleEnter),this._eventListener.addListener(pu.CardTypeChanged,({payload:e})=>this._cardType=e.cardType),this._eventListener.addListener(pu.BinChanged,({payload:e})=>this._bin=e.bin)}getBin(){return this._bin}getCardType(){return this._cardType}attach(){return Ou(this,void 0,void 0,function*(){this._eventListener.listen();const e=this._getFirstField(),t=j(this._fields,e);yield e.attach(),yield Promise.all(t.map(e=>e.attach()))})}detach(){this._eventListener.stopListen(),this._fields.forEach(e=>{e.detach()})}submit(e,t){return Ou(this,void 0,void 0,function*(){try{return yield this._getFirstField().submitForm(this._fields.map(e=>e.getType()),this._payloadTransformer.transform(e,t))}catch(t){const n=yield this._paymentHumanVerificationHandler.handle(t);return yield this._getFirstField().submitForm(this._fields.map(e=>e.getType()),this._payloadTransformer.transform(e,n))}})}submitStoredCard(e){return Ou(this,void 0,void 0,function*(){return this._getFirstField().submitStoredCardForm(e.fields,e.data)})}validate(){return Ou(this,void 0,void 0,function*(){return this._getFirstField().validateForm()})}_getFirstField(){const e=this._fields[0];if(!e)throw new Iu("Unable to proceed because the payment form has no field defined.");return e}}function Tu(e){return Boolean(e.instrumentId)}class ku{constructor(e){this._store=e}transform(e,t){const n=this._store.getState(),i=n.checkout.getCheckout(),r=n.config.getConfig(),o=n.instruments.getInstrumentsMeta(),a=n.order.getOrder(),s=n.order.getOrderMeta(),d=k(e.paymentData,"ccExpiry","ccName","ccNumber","ccCvv");let c=n.paymentMethods.getPaymentMethod(e.methodId,e.gatewayId);"worldpayaccess"===(null==c?void 0:c.gateway)&&"credit_card"===(null==c?void 0:c.id)&&(c=Object.assign(Object.assign({},c),{id:"worldpayaccess",method:"credit-card"}));const u=n.paymentMethods.getPaymentMethodsMeta(),l=o&&d&&Tu(d)?`${n.payment.getPaymentToken()}, ${o.vaultAccessToken}`:n.payment.getPaymentToken();if(!l)throw new ir(nr.MissingPaymentToken);return{additionalAction:t,authToken:l,checkout:i,config:r,order:a,orderMeta:s,payment:d,paymentMethod:c,paymentMethodMeta:u}}}class Ru{constructor(e){this._store=e}create(e,t,n){const i=Object.keys(t.fields).reduce((i,r)=>{const o=t.fields[r];return o?[...i,new Pu(r,o.containerId,o.placeholder||"",o.accessibilityLabel||"",t.styles||{},new au(e),new su(e),new tu(new nu),n,"instrumentId"in o?this._getCardInstrument(o.instrumentId):void 0)]:i},[]);return new Au(i,new su(e),new ku(this._store),D(t,"onBlur","onEnter","onFocus","onCardTypeChange","onValidate"),new mu(Cu(le())))}_getCardInstrument(e){const{instruments:{getCardInstrument:t}}=this._store.getState(),n=t(e);if(!n)throw new ir(nr.MissingPaymentInstrument);return n}}class Du extends Ee{constructor(){super("You haven't complete our spam check. Please try again."),this.name="SpamProtectionNotCompletedError",this.type="spam_protection_not_completed"}}class Mu{constructor(e,t){this._orderRequestSender=e,this._checkoutValidator=t}loadOrder(e,t){return new G(n=>{n.next(o(Ot.LoadOrderRequested)),this._orderRequestSender.loadOrder(e,t).then(e=>{n.next(o(Ot.LoadOrderSucceeded,e.body)),n.complete()}).catch(e=>{n.error(s(Ot.LoadOrderFailed,e))})})}loadOrderPayments(e,t){return new G(n=>{n.next(o(Ot.LoadOrderPaymentsRequested)),this._orderRequestSender.loadOrder(e,t).then(e=>{n.next(o(Ot.LoadOrderPaymentsSucceeded,e.body)),n.complete()}).catch(e=>{n.error(s(Ot.LoadOrderPaymentsFailed,e))})})}loadCurrentOrder(e){return t=>W(()=>{const n=this._getCurrentOrderId(t.getState());if(!n)throw new ir(nr.MissingOrderId);return this.loadOrder(n,e)})}submitOrder(e,t){return n=>H(J(o(Ot.SubmitOrderRequested)),W(()=>{const i=n.getState(),r=i.config.getExternalSource(),a=i.config.getVariantIdentificationToken(),s=i.checkout.getCheckout();if(!s)throw new ir(nr.MissingCheckout);if(s.shouldExecuteSpamCheck)throw new Du;return K(this._checkoutValidator.validate(s,t).then(()=>this._orderRequestSender.submitOrder(this._mapToOrderRequestBody(null!=e?e:{},s.id,s.customerMessage,r),Object.assign(Object.assign({},t),{headers:{checkoutVariant:a}})))).pipe(oe(e=>H(this.loadOrder(e.body.data.order.orderId,t),J(o(Ot.SubmitOrderSucceeded,e.body.data,Object.assign(Object.assign({},e.body.meta),{token:e.headers.token}))))))}).pipe(X(e=>Oc(Ot.SubmitOrderFailed,e))))}finalizeOrder(e,t){return H(J(o(Ot.FinalizeOrderRequested)),K(this._orderRequestSender.finalizeOrder(e,t)).pipe(oe(n=>H(this.loadOrder(e,t),J(o(Ot.FinalizeOrderSucceeded,n.body.data)))))).pipe(X(e=>Oc(Ot.FinalizeOrderFailed,e)))}_getCurrentOrderId(e){const t=e.order.getOrder(),n=e.checkout.getCheckout();return t&&t.orderId||n&&n.orderId}_mapToOrderRequestBody(e,t,n,i){const{payment:r}=e,o=function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]])}return n}(e,["payment"]);return r?Object.assign(Object.assign({},o),{cartId:t,customerMessage:n,externalSource:i,payment:{paymentData:r.paymentData,name:r.methodId,gateway:r.gatewayId}}):Object.assign(Object.assign({},o),{cartId:t,customerMessage:n,externalSource:i})}}class Nu extends Ee{constructor(e){super(e||"Your checkout could not be processed because some details have changed. Please review your order and try again."),this.name="CartConsistencyError",this.type="cart_consistency"}}class Lu extends Ee{constructor(e,t){super(t||"At least one item changed stock position. Please review your cart and try again."),this.name="CartStockPositionsChangedError",this.type="cart_stock_positions_changed",this.changedItemIds=e}}class zu extends Ee{constructor(e){super(e||"The tax provider is unavailable."),this.name="OrderTaxProviderUnavailableError",this.type="tax_provider_unavailable"}}class Bu extends Ee{constructor(e){super(e),this.name="MissingShippingMethodError",this.type="missing_shipping_method"}}class Fu extends Ee{constructor(e){super(e),this.name="InvalidShippingAddressError",this.type="invalid_shipping_address"}}class Uu{constructor(e){this._requestSender=e}loadOrder(e,{timeout:t}={}){const n=`/api/storefront/orders/${e}`,i=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.get(n,{params:{include:Dc(["payments","lineItems.physicalItems.socialMedia","lineItems.physicalItems.options","lineItems.physicalItems.categories","lineItems.digitalItems.socialMedia","lineItems.digitalItems.options","lineItems.digitalItems.categories"])},headers:i,timeout:t})}submitOrder(e,{headers:t,timeout:n}={}){return this._requestSender.post("/internalapi/v1/checkout/order",{body:e,headers:R(Object.assign({"X-Checkout-Variant":t&&t.checkoutVariant},_c),v),timeout:n}).catch(e=>{var t,n;if("tax_provider_unavailable"===e.body.type)throw new zu;if("cart_has_changed"===e.body.type)throw new Nu;if("cart_stock_positions_changed"===e.body.type){const i=null!==(n=null===(t=e.body.errors)||void 0===t?void 0:t.changedItemIds)&&void 0!==n?n:[];throw new Lu(i)}if("missing_shipping_method"===e.body.type)throw new Bu(e.body.detail);if("invalid_shipping_address"===e.body.type)throw new Fu(e.body.detail);if("empty_cart"===e.body.type)throw new Rc;throw e})}finalizeOrder(e,{timeout:t}={}){const n=`/internalapi/v1/checkout/order/${e}`;return this._requestSender.post(n,{timeout:t,headers:_c})}}class xu{constructor(e,t,n,i){this._paymentRequestSender=e,this._orderActionCreator=t,this._paymentRequestTransformer=n,this._paymentHumanVerificationHandler=i,this.initializeOffsitePayment=({methodId:e,gatewayId:t,instrumentId:n,target:i,promise:r,shouldSaveInstrument:a,shouldSetAsDefaultInstrument:s})=>d=>{let c;n?c={formattedPayload:{bigpay_token:n}}:a&&(c={formattedPayload:{vault_payment_instrument:a,set_as_default_stored_instrument:s||null}});const u=this._paymentRequestTransformer.transform({gatewayId:t,methodId:e,paymentData:c},d.getState());return H(J(o(Rn.InitializeOffsitePaymentRequested)),Promise.race([this._paymentRequestSender.initializeOffsitePayment(u,i),r].filter(Boolean)).then(()=>o(Rn.InitializeOffsitePaymentSucceeded))).pipe(X(e=>Oc(Rn.InitializeOffsitePaymentFailed,e)))}}submitPayment(e){return t=>H(J(o(Rn.SubmitPaymentRequested)),W(()=>{return n=this,i=void 0,o=function*(){try{return yield this._paymentRequestSender.submitPayment(this._paymentRequestTransformer.transform(e,t.getState()))}catch(n){const i=yield this._paymentHumanVerificationHandler.handle(n);return yield this._paymentRequestSender.submitPayment(this._paymentRequestTransformer.transform(Object.assign(Object.assign({},e),{additionalAction:i}),t.getState()))}},new((r=void 0)||(r=Promise))(function(e,t){function a(e){try{d(o.next(e))}catch(e){t(e)}}function s(e){try{d(o.throw(e))}catch(e){t(e)}}function d(t){var n;t.done?e(t.value):(n=t.value,n instanceof r?n:new r(function(e){e(n)})).then(a,s)}d((o=o.apply(n,i||[])).next())});var n,i,r,o}).pipe(oe(({body:e})=>H(this._orderActionCreator.loadCurrentOrder()(t),J(o(Rn.SubmitPaymentSucceeded,e)))))).pipe(X(e=>Oc(Rn.SubmitPaymentFailed,e)))}}class qu{constructor(e){this._client=e}submitPayment(e){return new Promise((t,n)=>{this._client.submitPayment(e,(e,i)=>{e?n(this._transformResponse(e)):t(this._transformResponse(i))})})}initializeOffsitePayment(e,t){return new Promise(()=>{this._client.initializeOffsitePayment(e,null,t)})}_transformResponse(e){return{headers:e.headers,body:e.data,status:e.status,statusText:e.statusText}}}function ju(e,t){let n;return function(e){return void 0!==e.id}(e)?n=e.id:t&&t.length&&(n=t[0].id),{id:n,firstName:e.firstName,lastName:e.lastName,company:e.company,addressLine1:e.address1,addressLine2:e.address2,city:e.city,province:e.stateOrProvince,provinceCode:e.stateOrProvinceCode,postCode:e.postalCode,country:e.country,countryCode:e.countryCode,phone:e.phone,customFields:e.customFields}}const Gu=["per_item_discount","percentage_discount","per_total_discount","shipping_discount","free_shipping"];function Vu(e){return{code:e.code,discount:e.displayName,discountType:Gu.indexOf(e.couponType)}}function Hu(e){return{code:e.code,discountedAmount:e.used,remainingBalance:e.remaining,giftCertificate:{balance:e.balance,code:e.code,purchaseDate:e.purchaseDate}}}function Wu(e){const t=[];return(e||[]).forEach(e=>{(e.banners||[]).forEach(e=>{t.push({placeholders:[],discountType:null,message:"",messageHtml:e.text})})}),t}function Yu(e,t,n="id"){return Object.keys(e).reduce((i,r)=>[...i,...e[r].map(e=>"giftCertificates"===r?function(e,t){const n=new rc(t);return{id:e.id,imageUrl:"",name:e.name,amount:e.amount,amountAfterDiscount:e.amount,discount:0,integerAmount:n.toInteger(e.amount),integerAmountAfterDiscount:n.toInteger(e.amount),integerUnitPrice:n.toInteger(e.amount),integerUnitPriceAfterDiscount:n.toInteger(e.amount),integerDiscount:0,quantity:1,sender:e.sender,recipient:e.recipient,type:"ItemGiftCertificateEntity",attributes:[],variantId:null}}(e,t):function(e,t,n,i="id"){const r=new rc(n);return{id:e[i],imageUrl:e.imageUrl,amount:e.extendedListPrice,amountAfterDiscount:e.extendedSalePrice,discount:e.discountAmount,integerAmount:r.toInteger(e.extendedListPrice),integerAmountAfterDiscount:r.toInteger(e.extendedSalePrice),integerDiscount:r.toInteger(e.discountAmount),integerUnitPrice:r.toInteger(e.listPrice),integerUnitPriceAfterDiscount:r.toInteger(e.salePrice),downloadsPageUrl:e.downloadPageUrl,name:e.name,quantity:e.quantity,brand:e.brand,sku:e.sku,categoryNames:e.categoryNames,variantId:e.variantId,productId:e.productId,attributes:(e.options||[]).map(e=>({name:e.name,value:e.value})),addedByPromotion:e.addedByPromotion,type:t}}(e,function(e){switch(e){case"physicalItems":return"ItemPhysicalEntity";case"digitalItems":return"ItemDigitalEntity";case"giftCertificates":return"ItemGiftCertificateEntity";default:return""}}(r),t,n))],[])}function Ku(e){const t=e.cart.currency.decimalPlaces,n=new rc(t);return{id:e.cart.id,items:Yu(e.cart.lineItems,t),currency:e.cart.currency.code,coupon:{discountedAmount:N(e.cart.coupons,(e,t)=>e+t.discountedAmount,0),coupons:e.cart.coupons.map(Vu)},discount:{amount:e.cart.discountAmount,integerAmount:n.toInteger(e.cart.discountAmount)},discountNotifications:Wu(e.promotions),giftCertificate:{totalDiscountedAmount:N(e.giftCertificates,(e,t)=>e+t.used,0),appliedGiftCertificates:w(e.giftCertificates.map(Hu),"code")},shipping:{amount:e.shippingCostTotal,integerAmount:n.toInteger(e.shippingCostTotal),amountBeforeDiscount:e.shippingCostBeforeDiscount,integerAmountBeforeDiscount:n.toInteger(e.shippingCostBeforeDiscount),required:z(e.cart.lineItems.physicalItems,e=>e.isShippingRequired)},subtotal:{amount:e.subtotal,integerAmount:n.toInteger(e.subtotal)},storeCredit:{amount:e.customer?e.customer.storeCredit:0},taxSubtotal:{amount:e.taxTotal,integerAmount:n.toInteger(e.taxTotal)},taxes:e.taxes,taxTotal:{amount:e.taxTotal,integerAmount:n.toInteger(e.taxTotal)},handling:{amount:e.handlingCostTotal,integerAmount:n.toInteger(e.handlingCostTotal)},grandTotal:{amount:e.grandTotal,integerAmount:n.toInteger(e.grandTotal)}}}var $u;!function(e){e.APPLEPAY="applepay",e.AMAZON_PAY_V2="amazonpay",e.BRAINTREE_PAYPAL="braintreepaypal",e.BRAINTREE_VENMO="braintreevenmo",e.BRAINTREE_PAYPAL_CREDIT="braintreepaypalcredit",e.GOOGLEPAY_ADYENV2="googlepayadyenv2",e.GOOGLEPAY_ADYENV3="googlepayadyenv3",e.GOOGLEPAY_AUTHORIZENET="googlepayauthorizenet",e.GOOGLEPAY_BNZ="googlepaybnz",e.GOOGLEPAY_BRAINTREE="googlepaybraintree",e.GOOGLEPAY_CHECKOUTCOM="googlepaycheckoutcom",e.GOOGLEPAY_CYBERSOURCEV2="googlepaycybersourcev2",e.GOOGLEPAY_ORBITAL="googlepayorbital",e.GOOGLEPAY_STRIPE="googlepaystripe",e.GOOGLEPAY_STRIPEUPE="googlepaystripeupe",e.GOOGLEPAY_WORLDPAYACCESS="googlepayworldpayaccess",e.PAYPALEXPRESS="paypalexpress"}($u||($u={}));const Zu=$u;function Ju(e,t){const n=e.firstName||t.firstName||"",i=e.lastName||t.lastName||"";return{addresses:(e.addresses||[]).map(e=>ju(e)),customerId:e.id,isGuest:e.isGuest,storeCredit:e.storeCredit,email:e.email||t.email||"",firstName:n,lastName:i,name:e.fullName||[n,i].join(" "),customerGroupName:e.customerGroup&&e.customerGroup.name}}class Qu{format(e){const[t="",n=""]=e.split(new RegExp("\\s*/\\s*")),i=t.slice(0,2),r=4===n.length?n.slice(-2):n?n.slice(0,2):t.slice(2);return e.length<2?t:e.length>3&&!r?i:`${i} / ${r}`}toObject(e){const[t="",n=""]=e.split(new RegExp("\\s*/\\s*"));return/^\d+$/.test(t)&&/^\d+$/.test(n)?{month:1===t.length?`0${t}`:t.slice(0,2),year:2===n.length?`20${n}`:n.slice(0,4)}:{month:"",year:""}}}class Xu{format(e){const{card:t}=fe(e);if(!t)return e;const n=O(ye(e).map(e=>O(e.lengths))),i=this.unformat(e).slice(0,n);return t.gaps.filter(e=>i.length>e).reduce((e,t,n)=>[e.slice(0,t+n),e.slice(t+n)].join(" "),i)}unformat(e){const{card:t}=fe(e);return t?e.replace(new RegExp(" ","g"),""):e}}function el(e,t={}){const n=e.currency.decimalPlaces,i=new rc(n);return{id:e.orderId,items:Yu(e.lineItems,e.currency.decimalPlaces,"productId"),orderId:e.orderId,currency:e.currency.code,customerCanBeCreated:e.customerCanBeCreated,payment:il(e.payments,t.payment),subtotal:{amount:e.baseAmount,integerAmount:i.toInteger(e.baseAmount)},coupon:{discountedAmount:N(e.coupons,(e,t)=>e+t.discountedAmount,0),coupons:e.coupons.map(Vu)},discount:{amount:e.discountAmount,integerAmount:i.toInteger(e.discountAmount)},token:t.orderToken,callbackUrl:t.callbackUrl,discountNotifications:[],giftCertificate:nl(e.payments),socialData:ol(e),status:e.status,hasDigitalItems:e.hasDigitalItems,isDownloadable:e.isDownloadable,isComplete:e.isComplete,shipping:{amount:e.shippingCostTotal,integerAmount:i.toInteger(e.shippingCostTotal),amountBeforeDiscount:e.shippingCostBeforeDiscount,integerAmountBeforeDiscount:i.toInteger(e.shippingCostBeforeDiscount)},storeCredit:{amount:tl(e.payments)},taxes:e.taxes,taxTotal:{amount:e.taxTotal,integerAmount:i.toInteger(e.taxTotal)},handling:{amount:e.handlingCostTotal,integerAmount:i.toInteger(e.handlingCostTotal)},grandTotal:{amount:e.orderAmount,integerAmount:e.orderAmountAsInteger}}}function tl(e){const t=l(e,{providerId:"storecredit"});return t?t.amount:0}function nl(e){const t=u(e,{providerId:"giftcertificate"});return{totalDiscountedAmount:N(t,(e,t)=>t.amount+e,0),appliedGiftCertificates:w(t.map(e=>({code:e.detail.code,discountedAmount:e.amount,remainingBalance:e.detail.remaining,giftCertificate:{balance:e.amount+e.detail.remaining,code:e.detail.code,purchaseDate:""}})),"code")}}function il(e,t={}){const n=l(e,rl);return n?{id:n.providerId,status:(i=n.detail.step,`PAYMENT_STATUS_${i}`),helpText:n.detail.instructions,returnUrl:t.returnUrl}:{};var i}function rl(e){return"giftcertificate"!==e.providerId&&"storecredit"!==e.providerId}function ol(e){const t={};return[...e.lineItems.physicalItems,...e.lineItems.digitalItems].forEach(e=>{var n;t[e.id]=(n=e,["fb","tw","gp"].reduce((e,t)=>{const i=n.socialMedia&&l(n.socialMedia,e=>e.code===t);return i?(e[t]={name:n.name,description:n.name,image:n.imageUrl,url:i.link,shareText:i.text,sharingLink:i.link,channelName:i.channel,channelCode:i.code},e):e},{}))}),t}function al(e,t){return{description:e.description,module:e.type,price:e.cost,id:e.id,selected:t,isRecommended:e.isRecommended,imageUrl:e.imageUrl,transitTime:e.transitTime}}class sl{constructor(){this._cardExpiryFormatter=new Qu,this._cardNumberFormatter=new Xu}transform(e,t){const n=t.billingAddress.getBillingAddress(),i=t.checkout.getCheckout(),r=t.customer.getCustomer(),o=t.order.getOrder(),a=t.paymentMethods.getPaymentMethod(e.methodId,e.gatewayId),s=this._mapShippingAddress(t,a),d=t.consignments.getConsignments(),c=t.consignments.getShippingOption(),u=t.config.getStoreConfig(),l=t.config.getContextConfig(),h=t.instruments.getInstrumentsMeta(),p=t.paymentMethods.getPaymentMethodsMeta(),g=t.order.getOrderMeta(),m=r&&n&&Ju(r,n),y=h&&e.paymentData&&(Tu(e.paymentData)||function(e){const t=e.formattedPayload;return!!t&&("string"==typeof t.bigpay_token||Boolean(t.bigpay_token&&t.bigpay_token.token))}(e.paymentData))?`${t.payment.getPaymentToken()}, ${h.vaultAccessToken}`:t.payment.getPaymentToken();if(!y)throw new ir(nr.MissingPaymentToken);return{additionalAction:e.additionalAction,authToken:y,customer:m,billingAddress:n&&ju(n),shippingAddress:s&&ju(s,d),shippingOption:c&&al(c,!0),cart:i&&Ku(i),order:o&&el(o,g),orderMeta:g,payment:e.paymentData,paymentMethod:a&&this._transformPaymentMethod(a),quoteMeta:{request:Object.assign(Object.assign({},p),{geoCountryCode:l&&l.geoCountryCode})},source:"bigcommerce-checkout-js-sdk",store:D(u&&u.storeProfile,["storeHash","storeId","storeLanguage","storeName"])}}transformWithHostedFormData(e,t,n){const{additionalAction:i,authToken:r,checkout:o,config:a,order:s,orderMeta:d,payment:c={},paymentMethod:u,paymentMethodMeta:l}=t,h=o&&o.consignments[0],p=h&&h.shippingAddress,g=h&&h.selectedShippingOption;return{additionalAction:i,authToken:r,paymentMethod:u&&this._transformPaymentMethod(u),customer:s&&s.billingAddress&&o&&Ju(o.customer,s.billingAddress),billingAddress:s&&s.billingAddress&&ju(s.billingAddress),shippingAddress:p&&o&&ju(p,o.consignments),shippingOption:g&&al(g,!0),cart:o&&Ku(o),order:s&&el(s,d),orderMeta:d,payment:this._transformHostedInputValues(e,c,n),quoteMeta:{request:Object.assign(Object.assign({},l),{geoCountryCode:a&&a.context.geoCountryCode})},source:"bigcommerce-checkout-js-sdk",store:a&&D(a.storeConfig.storeProfile,["storeHash","storeId","storeLanguage","storeName"])}}_transformPaymentMethod(e){if("multi-option"===e.method&&!e.gateway)return Object.assign(Object.assign({},e),{gateway:e.id});if(e.initializationData&&e.initializationData.gateway)return Object.assign(Object.assign({},e),{id:e.initializationData.gateway});if("worldpayaccess"===e.gateway){if("credit_card"===e.id)return Object.assign(Object.assign({},e),{id:"worldpayaccess",method:"credit-card"});if("open_banking"===e.id)return Object.assign(Object.assign({},e),{id:"worldpayaccess",method:"open_banking"})}return e.id===Zu.BRAINTREE_VENMO?Object.assign(Object.assign({},e),{id:Zu.BRAINTREE_PAYPAL}):e}_transformHostedInputValues(e,t,n){return"instrumentId"in t?Object.assign(Object.assign({},t),{ccCvv:e.cardCodeVerification,ccNumber:e.cardNumberVerification&&this._cardNumberFormatter.unformat(e.cardNumberVerification),hostedFormNonce:n}):Object.assign(Object.assign({},t),{ccCvv:e.cardCode,ccExpiry:this._cardExpiryFormatter.toObject(e.cardExpiry||""),ccName:e.cardName||"",ccNumber:this._cardNumberFormatter.unformat(e.cardNumber||""),hostedFormNonce:n})}_mapShippingAddress(e,t){var n,i,r,o;if(t){const a=null===(i=null===(n=t.initializationData)||void 0===n?void 0:n.bopis)||void 0===i?void 0:i.enabled,s=null===(o=null===(r=t.initializationData)||void 0===r?void 0:r.bopis)||void 0===o?void 0:o.requiredAddress,d=e.consignments.getConsignments(),c=null==d?void 0:d.every(e=>e.selectedPickupOption);if(a&&c&&"none"===s)return}return e.shippingAddress.getShippingAddress()}}class dl{widgetInteraction(e,t){const n={methodId:t&&t.methodId};return H(J(o(qn.WidgetInteractionStarted,void 0,n)),W(()=>e().then(()=>o(qn.WidgetInteractionFinished,void 0,n)))).pipe(X(e=>Oc(qn.WidgetInteractionFailed,e,n)))}}class cl{updatePaymentProviderCustomer(e){return J(o(ei.UpdatePaymentProviderCustomer,e))}}class ul{constructor(e,t){this._remoteCheckoutRequestSender=e,this._checkoutActionCreator=t}initializeBilling(e,t,n){return G.create(i=>{i.next(o(ri.InitializeRemoteBillingRequested,void 0,{methodId:e})),this._remoteCheckoutRequestSender.initializeBilling(e,t,n).then(({body:t={}})=>{i.next(o(ri.InitializeRemoteBillingSucceeded,t,{methodId:e})),i.complete()}).catch(t=>{i.error(s(ri.InitializeRemoteBillingFailed,t,{methodId:e}))})})}initializeShipping(e,t,n){return G.create(i=>{i.next(o(ri.InitializeRemoteShippingRequested,void 0,{methodId:e})),this._remoteCheckoutRequestSender.initializeShipping(e,t,n).then(({body:t={}})=>{i.next(o(ri.InitializeRemoteShippingSucceeded,t,{methodId:e})),i.complete()}).catch(t=>{i.error(s(ri.InitializeRemoteShippingFailed,t,{methodId:e}))})})}initializePayment(e,t,n){return G.create(i=>{i.next(o(ri.InitializeRemotePaymentRequested,void 0,{methodId:e})),this._remoteCheckoutRequestSender.initializePayment(e,t,n).then(({body:t={}})=>{i.next(o(ri.InitializeRemotePaymentSucceeded,t,{methodId:e})),i.complete()}).catch(t=>{i.error(s(ri.InitializeRemotePaymentFailed,t,{methodId:e}))})})}loadSettings(e,t){return G.create(n=>{n.next(o(ri.LoadRemoteSettingsRequested,void 0,{methodId:e})),this._remoteCheckoutRequestSender.loadSettings(e,t).then(({body:t})=>{n.next(o(ri.LoadRemoteSettingsSucceeded,t,{methodId:e})),n.complete()}).catch(t=>{n.error(s(ri.LoadRemoteSettingsFailed,t,{methodId:e}))})})}signOut(e,t){return G.create(n=>{n.next(o(ri.SignOutRemoteCustomerRequested,void 0,{methodId:e})),this._remoteCheckoutRequestSender.signOut(e,t).then(()=>{n.next(o(ri.SignOutRemoteCustomerSucceeded,void 0,{methodId:e})),n.complete()}).catch(t=>{n.error(s(ri.SignOutRemoteCustomerFailed,t,{methodId:e}))})})}forgetCheckout(e,t){return H(J(o(ri.ForgetCheckoutRemoteCustomerRequested,void 0,{methodId:e})),W(()=>{return n=this,i=void 0,a=function*(){return yield this._remoteCheckoutRequestSender.forgetCheckout(t),yield this._checkoutActionCreator.loadCurrentCheckout(),o(ri.ForgetCheckoutRemoteCustomerSucceeded,void 0,{methodId:e})},new((r=void 0)||(r=Promise))(function(e,t){function o(e){try{d(a.next(e))}catch(e){t(e)}}function s(e){try{d(a.throw(e))}catch(e){t(e)}}function d(t){var n;t.done?e(t.value):(n=t.value,n instanceof r?n:new r(function(e){e(n)})).then(o,s)}d((a=a.apply(n,i||[])).next())});var n,i,r,a})).pipe(X(t=>Oc(ri.ForgetCheckoutRemoteCustomerFailed,t,{methodId:e})))}updateCheckout(e,t){return o(ri.UpdateRemoteCheckout,t,{methodId:e})}}class ll{constructor(e){this._requestSender=e}initializeBilling(e,t,{timeout:n}={}){const i=`/remote-checkout/${e}/billing`;return this._requestSender.get(i,{params:t,timeout:n,headers:_c})}initializeShipping(e,t,{timeout:n}={}){const i=`/remote-checkout/${e}/shipping`;return this._requestSender.get(i,{params:t,timeout:n,headers:_c})}initializePayment(e,t,{timeout:n}={}){const i=`/remote-checkout/${e}/payment`;return this._requestSender.get(i,{params:t,timeout:n,headers:_c})}loadSettings(e,{timeout:t}={}){const n=`/remote-checkout/${e}/settings`;return this._requestSender.get(n,{timeout:t,headers:_c})}signOut(e,{timeout:t}={}){const n=`/remote-checkout/${e}/signout`;return this._requestSender.get(n,{timeout:t,headers:_c})}generateToken({timeout:e}={}){return this._requestSender.get("/remote-checkout-token",{timeout:e,headers:_c})}trackAuthorizationEvent({timeout:e}={}){return this._requestSender.post("/remote-checkout/events/shopper-checkout-service-provider-authorization-requested",{timeout:e,headers:_c})}forgetCheckout({timeout:e}={}){return this._requestSender.post("/remote-checkout/forget-checkout",{timeout:e,headers:_c})}}class hl{constructor(e,t){this._consignmentRequestSender=e,this._checkoutRequestSender=t}unassignItemsByAddress(e,t){return n=>{const i=n.getState();if(!i.checkout.getCheckout())throw new ir(nr.MissingCheckout);const r=this._consignmentHasAddress(e)?e.address:e.shippingAddress,o=i.consignments.getConsignmentByAddress(r);if(!o)throw new iu("No consignment found for the specified address");const a=this._removeLineItems(e.lineItems,o,i.cart.getCart());return a.length?this.updateConsignment({id:o.id,address:r,lineItems:a},t)(n):this.deleteConsignment(o.id,t)(n)}}assignItemsByAddress(e,t){return n=>{const i=n.getState(),r=this._consignmentHasAddress(e)?e.address:e.shippingAddress,o=i.consignments.getConsignmentByAddress(r);return this._createOrUpdateConsignment({id:o&&o.id,address:r,lineItems:this._addLineItems(e.lineItems,o,i.cart.getCart())},t)(n)}}selectShippingOption(e,t){return n=>G.create(i=>{const r=n.getState(),a=r.checkout.getCheckout(),d=r.consignments.getConsignments();if(!a)throw new ir(nr.MissingCheckout);if(!d||!d.length)throw new ir(nr.MissingConsignments);const c={id:d[0].id,shippingOptionId:e},u={id:d[0].id};i.next(o(at.UpdateShippingOptionRequested,void 0,u)),this._consignmentRequestSender.updateConsignment(a.id,c,Ec(n,t)).then(({body:e})=>{i.next(o(at.UpdateShippingOptionSucceeded,e,u)),i.complete()}).catch(e=>{i.error(s(at.UpdateShippingOptionFailed,e,u))})})}loadShippingOptions(e){return t=>G.create(n=>{const i=t.getState().checkout.getCheckout();if(!i)throw new ir(nr.MissingCheckout);n.next(o(at.LoadShippingOptionsRequested)),this._checkoutRequestSender.loadCheckout(i.id,Ec(t,Object.assign(Object.assign({},e),{params:{include:[vc.AvailableShippingOptions]}}))).then(({body:e})=>{n.next(o(at.LoadShippingOptionsSucceeded,e)),n.complete()}).catch(e=>{n.error(s(at.LoadShippingOptionsFailed,e))})})}updateAddress(e,t){return n=>{const i=this._getUpdateAddressRequestBody(e,n),r=n.getState().consignments.getConsignments();return r&&r.length&&(i.id=r[0].id),this._createOrUpdateConsignment(i,t)(n)}}createConsignments(e,t){return n=>G.create(i=>{const r=n.getState().checkout.getCheckout();if(!r||!r.id)throw new ir(nr.MissingCheckout);i.next(o(at.CreateConsignmentsRequested)),this._consignmentRequestSender.createConsignments(r.id,e,Ec(n,t)).then(({body:e})=>{i.next(o(at.CreateConsignmentsSucceeded,e)),i.complete()}).catch(e=>{i.error(s(at.CreateConsignmentsFailed,e))})})}updateConsignment(e,t){return n=>G.create(i=>{const r=n.getState().checkout.getCheckout();if(!r||!r.id)throw new ir(nr.MissingCheckout);const a={id:e.id};i.next(o(at.UpdateConsignmentRequested,void 0,a)),this._consignmentRequestSender.updateConsignment(r.id,e,Ec(n,t)).then(({body:e})=>{i.next(o(at.UpdateConsignmentSucceeded,e,a)),i.complete()}).catch(e=>{i.error(s(at.UpdateConsignmentFailed,e,a))})})}deleteConsignment(e,t){return n=>G.create(i=>{const r=n.getState().checkout.getCheckout(),a={id:e};if(!r||!r.id)throw new ir(nr.MissingCheckout);i.next(o(at.DeleteConsignmentRequested,void 0,a)),this._consignmentRequestSender.deleteConsignment(r.id,e,Ec(n,t)).then(({body:e})=>{i.next(o(at.DeleteConsignmentSucceeded,e,a)),i.complete()}).catch(e=>{i.error(s(at.DeleteConsignmentFailed,e,a))})})}updateShippingOption(e,t){return n=>G.create(i=>{var r;const a=n.getState().checkout.getCheckout(),d=n.getState().consignments.getConsignmentById(e.id);if((null===(r=null==d?void 0:d.selectedShippingOption)||void 0===r?void 0:r.id)===e.shippingOptionId)return void i.complete();if(!a||!a.id)throw new ir(nr.MissingCheckout);const c={id:e.id};i.next(o(at.UpdateShippingOptionRequested,void 0,c)),this._consignmentRequestSender.updateConsignment(a.id,e,Ec(n,t)).then(({body:e})=>{i.next(o(at.UpdateShippingOptionSucceeded,e,c)),i.complete()}).catch(e=>{i.error(s(at.UpdateShippingOptionFailed,e,c))})})}_createOrUpdateConsignment(e,t){return n=>{const i=n.getState().checkout.getCheckout();if(!i||!i.id)throw new ir(nr.MissingCheckout);return this._isUpdateConsignmentRequest(e)?this.updateConsignment(e,t)(n):this.createConsignments([e],t)(n)}}_getUpdateAddressRequestBody(e,t){const n=t.getState().cart.getCart();if(!n)throw new ir(nr.MissingCart);const{physicalItems:i,customItems:r=[]}=n.lineItems;return{address:e,lineItems:[...i,...r].map(e=>({itemId:e.id,quantity:e.quantity}))}}_removeLineItems(e,t,n){if(!n)throw new ir(nr.MissingCart);return this._hydrateLineItems(t.lineItemIds,n).map(t=>{const n=l(e,e=>e.itemId===t.itemId);return Object.assign(Object.assign({},t),{quantity:n?t.quantity-n.quantity:t.quantity})}).filter(e=>e.quantity>0)}_addLineItems(e,t,n){if(!t)return e;if(!n)throw new ir(nr.MissingCart);return e.concat(this._hydrateLineItems(t.lineItemIds,n)).filter(e=>e.quantity>0)}_hydrateLineItems(e,t){return e.map(e=>{const n=l(t.lineItems.physicalItems,t=>t.id===e);return{itemId:e,quantity:n?n.quantity:0}})}_isUpdateConsignmentRequest(e){return!!e.id}_consignmentHasAddress(e){return"object"==typeof e&&"address"in e}}function pl(e){return Object.assign(Object.assign(Object.assign({},e),e.address&&{address:kc(e.address)}),e.shippingAddress&&{shippingAddress:kc(e.shippingAddress)})}const gl=["consignments.availableShippingOptions","cart.lineItems.physicalItems.options","cart.lineItems.physicalItems.stockPosition","cart.lineItems.digitalItems.options","cart.lineItems.digitalItems.stockPosition","customer","promotions.banners"];class ml{constructor(e){this._requestSender=e}createConsignments(e,t,{timeout:n,params:{include:i}={}}={}){const r=`/api/storefront/checkouts/${e}/consignments`,o=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.post(r,{body:t.map(pl),params:{include:Mc(gl,i)},headers:o,timeout:n}).catch(e=>{if("empty_cart"===e.body.type)throw new Rc;throw e})}updateConsignment(e,t,{timeout:n,params:{include:i}={}}={}){const{id:r}=t,o=`/api/storefront/checkouts/${e}/consignments/${r}`,a=pl(function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]])}return n}(t,["id"])),s=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.put(o,{body:a,params:{include:Mc(gl,i)},headers:s,timeout:n}).catch(e=>{if("empty_cart"===e.body.type)throw new Rc;throw e})}deleteConsignment(e,t,{timeout:n,params:{include:i}={}}={}){const r=`/api/storefront/checkouts/${e}/consignments/${t}`,o=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.delete(r,{params:{include:Mc(gl,i)},headers:o,timeout:n}).catch(e=>{if("empty_cart"===e.body.type)throw new Rc;throw e})}}class yl{constructor(e,t,n){this._shippingCountryRequestSender=e,this._store=t,this._countryRequestSender=n}loadCountries(e){const{checkout:t}=this._store.getState(),n=t.getCheckout(),i=n?n.channelId:null;return G.create(t=>{t.next(o(Ci.LoadShippingCountriesRequested)),this._shippingCountryRequestSender.loadCountries(i,e).then(e=>{t.next(o(Ci.LoadShippingCountriesSucceeded,e.body.data)),t.complete()}).catch(n=>{if(n&&n.status>=500)return this._countryRequestSender.loadCountries(e).then(e=>{t.next(o(Ci.LoadShippingCountriesSucceeded,e.body.data)),t.complete()}).catch(()=>{t.error(s(Ci.LoadShippingCountriesFailed,n))});t.error(s(Ci.LoadShippingCountriesFailed,n))})})}}class fl{constructor(e,t){this._requestSender=e,this._config=t}loadCountries(e,{timeout:t}={}){const n="/internalapi/v1/shipping/countries"+(e?`?channel_id=${e}`:""),i=Object.assign({"Accept-Language":this._config.locale},_c);return this._requestSender.get(n,{headers:i,timeout:t})}}var _l=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Sl{constructor(e,t){this._googleRecaptcha=e,this._requestSender=t}initialize(e){return t=>H(J(o(Ki.InitializeRequested,void 0)),W(()=>_l(this,void 0,void 0,function*(){const n=e?e.containerId:"spamProtectionContainer";if(document.getElementById(n)&&this._googleRecaptcha.reset(n),!e&&!document.getElementById(n)){const e=document.createElement("div");e.setAttribute("id",n),document.body.appendChild(e)}const i=t.getState().config.getStoreConfigOrThrow().checkoutSettings.googleRecaptchaSitekey;return yield this._googleRecaptcha.load(n,i),o(Ki.InitializeSucceeded)}))).pipe(X(e=>Oc(Ki.InitializeFailed,e)))}verifyCheckoutSpamProtection(){return e=>W(()=>{const t=e.getState().checkout.getCheckout();if(!t)throw new ir(nr.MissingCheckout);return H(J(o(Ki.VerifyCheckoutRequested)),K(this.execute()(e)).pipe(oe(e=>Kc(e)&&e.payload?K(this._requestSender.validate(t.id,e.payload.token)).pipe(oe(({body:t})=>H(J(e),J(o(Ki.VerifyCheckoutSucceeded,t))))):J(e)))).pipe(X(e=>Oc(Ki.VerifyCheckoutFailed,e)))})}execute(){return e=>H(J(o(Ki.ExecuteRequested)),this.initialize()(e),this._googleRecaptcha.execute().pipe(ae(1)).pipe(oe(e=>_l(this,[e],void 0,function*({error:e,token:t}){if(e instanceof du)throw e;if(e||!t)throw new fu;return o(Ki.ExecuteSucceeded,{token:t})})))).pipe(X(e=>Oc(Ki.ExecuteFailed,e)))}}class vl{constructor(e){this._requestSender=e}validate(e,t,{timeout:n}={}){const i=`/api/storefront/checkouts/${e}/spam-protection`,r=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.post(i,{body:{token:t},headers:r,timeout:n}).catch(e=>{if("empty_cart"===e.body.type)throw new Rc;throw e})}}class Cl{constructor(e){this._storeCreditRequestSender=e}applyStoreCredit(e,t){return n=>H(J(o(Ui.ApplyStoreCreditRequested)),W(()=>{return i=this,r=void 0,s=function*(){var i;const r=n.getState().checkout.getCheckout();if(!r)throw new ir(nr.MissingCheckout);const{id:a}=r,s=null!==(i=null==t?void 0:t.version)&&void 0!==i?i:r.version,{body:d}=yield e?this._storeCreditRequestSender.applyStoreCredit(a,Object.assign(Object.assign({},t),{version:s})):this._storeCreditRequestSender.removeStoreCredit(a,Object.assign(Object.assign({},t),{version:s}));return o(Ui.ApplyStoreCreditSucceeded,d)},new((a=void 0)||(a=Promise))(function(e,t){function n(e){try{d(s.next(e))}catch(e){t(e)}}function o(e){try{d(s.throw(e))}catch(e){t(e)}}function d(t){var i;t.done?e(t.value):(i=t.value,i instanceof a?i:new a(function(e){e(i)})).then(n,o)}d((s=s.apply(i,r||[])).next())});var i,r,a,s})).pipe(X(e=>Oc(Ui.ApplyStoreCreditFailed,e)))}}class Il{constructor(e){this._requestSender=e}applyStoreCredit(e,{timeout:t,version:n}={}){const i=`/api/storefront/checkouts/${e}/store-credit`,r=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.post(i,{headers:r,timeout:t,params:{include:Dc(Fc)},body:{version:n}})}removeStoreCredit(e,{timeout:t,version:n}={}){const i=`/api/storefront/checkouts/${e}/store-credit`,r=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.delete(i,{headers:r,timeout:t,params:{include:Dc(Fc)},body:{version:n}})}}class wl extends Oe{constructor(e){super(e),this.name="UpdateSubscriptionsError",this.type="update_subscriptions"}}class bl{constructor(e){this._subscriptionsRequestSender=e}updateSubscriptions(e,t){return H(J(o(Ye.UpdateSubscriptionsRequested)),W(()=>{return n=this,i=void 0,a=function*(){const{body:n}=yield this._subscriptionsRequestSender.updateSubscriptions(e,t);return o(Ye.UpdateSubscriptionsSucceeded,n)},new((r=void 0)||(r=Promise))(function(e,t){function o(e){try{d(a.next(e))}catch(e){t(e)}}function s(e){try{d(a.throw(e))}catch(e){t(e)}}function d(t){var n;t.done?e(t.value):(n=t.value,n instanceof r?n:new r(function(e){e(n)})).then(o,s)}d((a=a.apply(n,i||[])).next())});var n,i,r,a})).pipe(X(e=>Oc(Ye.UpdateSubscriptionsFailed,new wl(e))))}}class El{constructor(e){this._requestSender=e}updateSubscriptions(e,{timeout:t}={}){const n=Object.assign({Accept:yc.JsonV1},_c);return this._requestSender.post("/api/storefront/subscriptions",{body:e,headers:n,timeout:t})}}const Pl=A(e=>Array.isArray(e)?e.map(e=>Ol(e)):tt(e)?Object.keys(e).reduce((t,n)=>Object.assign(Object.assign({},t),{[n]:Ol(e[n])}),{}):e);Pl.cache=new WeakMap;const Ol=e=>"object"==typeof e&&null!==e?Pl(e):e;function Al(e){return(...t)=>Ol(e(...t))}function Tl({billingAddress:{getBillingAddress:e,getBillingAddressOrThrow:t},cart:{getCart:n,getCartOrThrow:i,getLocale:r},checkout:{getCheckout:o,getCheckoutOrThrow:a,getOutstandingBalance:s},config:{getContextConfig:d,getHost:c,getLocale:u,getStoreConfig:l,getStoreConfigOrThrow:h,getConfig:p},consignments:{getConsignments:g,getConsignmentsOrThrow:m},countries:{getCountries:y},customer:{getCustomer:f,getCustomerOrThrow:_},instruments:{getCardInstrument:S,getCardInstrumentOrThrow:v,getInstruments:C,getInstrumentsMeta:I},order:{getOrder:w,getOrderOrThrow:b,getOrderMeta:E},payment:{getPaymentToken:P,getPaymentTokenOrThrow:O,getPaymentId:A,getPaymentIdOrThrow:T,getPaymentStatus:k,getPaymentStatusOrThrow:R,getPaymentRedirectUrl:D,getPaymentRedirectUrlOrThrow:M,isPaymentDataRequired:N},paymentMethods:{getPaymentMethod:L,getPaymentMethodOrThrow:z,getPaymentMethodsMeta:B},paymentProviderCustomer:{getPaymentProviderCustomer:F,getPaymentProviderCustomerOrThrow:U},paymentStrategies:{isInitialized:x},shippingAddress:{getShippingAddress:q,getShippingAddressOrThrow:j,getShippingAddresses:G,getShippingAddressesOrThrow:V},shippingCountries:{getShippingCountries:H}}){return{getHost:Al(c),getLocale:Al(u),getCartLocale:Al(r),getBillingAddress:Al(e),getBillingAddressOrThrow:Al(t),getCart:Al(n),getCartOrThrow:Al(i),getCheckout:Al(o),getCheckoutOrThrow:Al(a),getCountries:Al(y),getStoreConfig:Al(l),getStoreConfigOrThrow:Al(h),getConfig:Al(p),getConsignments:Al(g),getConsignmentsOrThrow:Al(m),getContextConfig:Al(d),getCustomer:Al(f),getCustomerOrThrow:Al(_),getCardInstrument:Al(S),getInstruments:Al(C),getCardInstrumentOrThrow:Al(v),getOrder:Al(w),getOrderOrThrow:Al(b),getOrderMeta:Al(E),getInstrumentsMeta:Al(I),getPaymentToken:P,getPaymentTokenOrThrow:O,getPaymentId:A,getPaymentIdOrThrow:T,getPaymentStatus:k,getPaymentStatusOrThrow:R,getPaymentRedirectUrl:D,getPaymentRedirectUrlOrThrow:M,getPaymentMethod:Al(L),getPaymentMethodOrThrow:Al(z),getPaymentMethodsMeta:Al(B),getPaymentProviderCustomer:Al(F),getPaymentProviderCustomerOrThrow:Al(U),getShippingAddress:Al(q),getShippingAddressOrThrow:Al(j),getShippingAddresses:Al(G),getShippingAddressesOrThrow:Al(V),getShippingCountries:Al(H),getOutstandingBalance:Al(s),isPaymentDataRequired:N,isPaymentMethodInitialized:x}}var kl,Rl=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())})};class Dl{constructor(e,t,n,i,r,o,a,s,d,c,u,l,h,p,g,m,y,f,_,S){this._store=e,this._storeProjectionFactory=t,this._checkoutActionCreator=n,this._checkoutValidator=i,this._hostedFormFactory=r,this._orderActionCreator=o,this._billingAddressActionCreator=a,this._consignmentActionCreator=s,this._paymentMethodActionCreator=d,this._paymentActionCreator=c,this._paymentHumanVerificationHandler=u,this._customerActionCreator=l,this._cartRequestSender=h,this._storeCreditActionCreator=p,this._couponActionCreator=g,this._spamProtectionActionCreator=m,this._paymentProviderCustomerActionCreator=y,this._shippingCountryActionCreator=f,this._remoteCheckoutActionCreator=_,this._paymentStrategyWidgetActionCreator=S,this._storeProjection=this._storeProjectionFactory.create(this._store)}createHostedForm(e,t){const n=this._storeProjection.getState().getCheckoutOrThrow().id;return this._hostedFormFactory.create(e,t,n)}subscribe(e,...t){return this._storeProjection.subscribe(e,...t)}getState(){return this._storeProjection.getState()}initializeOffsitePayment(e){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._paymentActionCreator.initializeOffsitePayment(e)),this._storeProjection.getState()})}loadCheckout(e){return Rl(this,void 0,void 0,function*(){return e?yield this._store.dispatch(this._checkoutActionCreator.loadCheckout(e)):yield this._store.dispatch(this._checkoutActionCreator.loadCurrentCheckout()),this._storeProjection.getState()})}loadDefaultCheckout(){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._checkoutActionCreator.loadDefaultCheckout()),this._storeProjection.getState()})}loadPaymentMethod(e,t){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._paymentMethodActionCreator.loadPaymentMethod(e,t)),this._storeProjection.getState()})}loadPaymentMethods(e){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._paymentMethodActionCreator.loadPaymentMethods(e)),this._storeProjection.getState()})}submitOrder(e,t){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._orderActionCreator.submitOrder(e,t)),this._storeProjection.getState()})}submitPayment(e){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._paymentActionCreator.submitPayment(e)),this._storeProjection.getState()})}finalizeOrder(e){return Rl(this,void 0,void 0,function*(){const{order:{getOrderOrThrow:t}}=this._store.getState();return yield this._store.dispatch(this._orderActionCreator.finalizeOrder(t().orderId,e)),this._storeProjection.getState()})}updateBillingAddress(e){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._billingAddressActionCreator.updateAddress(e)),this._storeProjection.getState()})}updateShippingAddress(e){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._consignmentActionCreator.updateAddress(e)),this._storeProjection.getState()})}selectShippingOption(e,t){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._consignmentActionCreator.selectShippingOption(e,t)),this._storeProjection.getState()})}signInCustomer(e,t){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._customerActionCreator.signInCustomer(e,t)),this._storeProjection.getState()})}signOutCustomer(e){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._customerActionCreator.signOutCustomer(e)),this._storeProjection.getState()})}createBuyNowCart(e,t){return Rl(this,void 0,void 0,function*(){const{body:n}=yield this._cartRequestSender.createBuyNowCart(e,t);return n})}applyStoreCredit(e,t){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._storeCreditActionCreator.applyStoreCredit(e,t)),this._storeProjection.getState()})}applyCoupon(e,t){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._couponActionCreator.applyCoupon(e,t)),this._storeProjection.getState()})}removeCoupon(e,t){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._couponActionCreator.removeCoupon(e,t)),this._storeProjection.getState()})}verifyCheckoutSpamProtection(){return Rl(this,void 0,void 0,function*(){const{checkout:e}=this._store.getState(),{shouldExecuteSpamCheck:t}=e.getCheckoutOrThrow();return t&&(yield this._store.dispatch(this._spamProtectionActionCreator.verifyCheckoutSpamProtection())),this._storeProjection.getState()})}loadCurrentOrder(e){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._orderActionCreator.loadCurrentOrder(e)),this._storeProjection.getState()})}updatePaymentProviderCustomer(e){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._paymentProviderCustomerActionCreator.updatePaymentProviderCustomer(e)),this._storeProjection.getState()})}loadShippingCountries(e){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._shippingCountryActionCreator.loadCountries(e)),this._storeProjection.getState()})}deleteConsignment(e,t){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._consignmentActionCreator.deleteConsignment(e,t)),this._storeProjection.getState()})}initializePayment(e,t,n){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._remoteCheckoutActionCreator.initializePayment(e,t,n)),this._storeProjection.getState()})}forgetCheckout(e,t){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._remoteCheckoutActionCreator.forgetCheckout(e,t)),this._storeProjection.getState()})}remoteCheckoutSignOut(e,t){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._remoteCheckoutActionCreator.signOut(e,t)),this._storeProjection.getState()})}validateCheckout(e,t){return Rl(this,void 0,void 0,function*(){yield this._checkoutValidator.validate(e,t)})}handlePaymentHumanVerification(e,t){return Rl(this,void 0,void 0,function*(){return"string"==typeof e?this._paymentHumanVerificationHandler.handle(e,null!=t?t:""):this._paymentHumanVerificationHandler.handle(e)})}widgetInteraction(e){return Rl(this,void 0,void 0,function*(){return yield this._store.dispatch(this._paymentStrategyWidgetActionCreator.widgetInteraction(e),{queueId:"widgetInteraction"}),this._storeProjection.getState()})}}!function(e){e.Synchronize="SYNCHRONIZE"}(kl||(kl={}));class Ml{constructor(e){this._transformSelectors=e}create(e){return function(e,t){const n=a((e,t)=>t.type===kl.Synchronize?t.payload:e,e.getState(),{stateTransformer:t});return e.subscribe(e=>{n.dispatch(o(kl.Synchronize,e))},{initial:!1}),n}(e,this._transformSelectors)}}const Nl=e=>{const t=x(e);return document.getElementById(t)?Nl(e):t};function Ll(e){return Object.prototype.hasOwnProperty.call(e,"cacheKey")}class zl{constructor(e){this._lastId=0,this._map={maps:[]},this._usedMaps=[],this._options=Object.assign({maxSize:0,isEqual:_e,onExpire:T},e)}getKey(...e){const t=this._resolveMap(...e),{index:n,parentMap:i}=t;let{map:r}=t;return r&&r.cacheKey?r.usedCount++:r=this._generateMap(i,e.slice(n)),this._removeLeastUsedMap(r),r.cacheKey}getUsedCount(...e){const{map:t}=this._resolveMap(...e);return t?t.usedCount:0}_resolveMap(...e){let t=0,n=this._map;for(;n.maps.length;){let i=!1;for(let r=0;r<n.maps.length;r++){const o=n.maps[r];if(this._options.isEqual(o.value,e[t])){if(n.maps.unshift(...n.maps.splice(r,1)),(0===e.length||t===e.length-1)&&Ll(o))return{index:t,map:o,parentMap:n};i=!0,n=o,t++;break}}if(!i)break}return{index:t,parentMap:n}}_generateMap(e,t){let n,i=0,r=e;do{n={maps:[],parentMap:r,usedCount:1,value:t[i]},r.maps.unshift(n),r=n,i++}while(i<t.length);const o=n;return o.cacheKey=""+ ++this._lastId,o}_removeLeastUsedMap(e){if(!this._options.maxSize)return;const t=this._usedMaps.indexOf(e);if(this._usedMaps.splice(-1===t?0:t,-1===t?0:1,e),this._usedMaps.length<=this._options.maxSize)return;const n=this._usedMaps.pop();n&&(this._removeMap(n),this._options.onExpire(n.cacheKey))}_removeMap(e){e.parentMap&&(e.parentMap.maps.splice(e.parentMap.maps.indexOf(e),1),function(e){return Object.prototype.hasOwnProperty.call(e,"parentMap")}(e.parentMap)||this._removeMap(e.parentMap))}}function Bl(e){const t=class extends e{};return Object.getOwnPropertyNames(e.prototype).forEach(n=>{const i=Object.getOwnPropertyDescriptor(e.prototype,n);i&&"constructor"!==n&&Object.defineProperty(t.prototype,n,function(e,t,n){if("function"!=typeof n.value)return n;let i=new zl,r=n.value,o=se(r);return Ra(e,t,{get(){const e=(...e)=>{const t=o.call(this,...e);if(1===i.getUsedCount(...e))return t;const n=r.call(this,...e);return Fe(n,t,{keyFilter:e=>!function(e){return 0===`${e}`.indexOf("$$")||0===`${e}`.indexOf("_")}(e)})?t:(o.cache.set(i.getKey(...e),n),n)};return Object.defineProperty(this,t,Object.assign(Object.assign({},n),{value:e})),e},set(e){i=new zl,r=e,o=se(r)}})}(e.prototype,n,i))}),t}let Fl=class{constructor(e){this._checkoutButton=e.checkoutButton}getInitializeButtonError(e){return this._checkoutButton.getInitializeError(e)}getDeinitializeButtonError(e){return this._checkoutButton.getDeinitializeError(e)}};Fl=function(e,t,n,i){var r,o=arguments.length,a=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(a=(o<3?r(a):o>3?r(t,n,a):r(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a}([Bl],Fl);const Ul=Fl;let xl=class{constructor(e){this._checkoutButton=e.checkoutButton}isInitializingButton(e){return this._checkoutButton.isInitializing(e)}isDeinitializingButton(e){return this._checkoutButton.isDeinitializing(e)}};xl=function(e,t,n,i){var r,o=arguments.length,a=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(a=(o<3?r(a):o>3?r(t,n,a):r(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a}([Bl],xl);const ql=xl;function jl(e){return{errors:new Ul(e),statuses:new ql(e)}}let Gl=class{constructor(e,t){this._store=e,this._buttonStrategyActionCreator=t,this._state=jl(this._store.getState()),this._store.subscribe(e=>{this._state=jl(e)})}getState(){return this._state}subscribe(e,...t){return this._store.subscribe(()=>e(this.getState()),e=>e.checkoutButton.getState(),...t.map(e=>t=>e(jl(t))))}initializeButton(e){const t=(n=e.containerId,/^\w[\w\-\:\.]*$/.test(n)?[e.containerId]:function(e,t){const n=document.querySelectorAll(e);if(!n.length)throw new iu(`Unable to find any element with the specified selector: ${e}`);return Array.prototype.slice.call(n).map(e=>(e.id||(e.id=Nl(t)),e.id))}(e.containerId,`${e.methodId}-container`));var n;return Promise.all(t.map(t=>{const n=this._buttonStrategyActionCreator.initialize(Object.assign(Object.assign({},e),{containerId:t})),i=`checkoutButtonStrategy:${e.methodId}:${t}`;return this._store.dispatch(n,{queueId:i})})).then(()=>this.getState())}deinitializeButton(e){const t=this._buttonStrategyActionCreator.deinitialize(e),n=`checkoutButtonStrategy:${e.methodId}`;return this._store.dispatch(t,{queueId:n}).then(()=>this.getState())}};Gl=function(e,t,n,i){var r,o=arguments.length,a=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(a=(o<3?r(a):o>3?r(t,n,a):r(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a}([Ra],Gl);const Vl=Gl;class Hl{constructor(e,t,n){this._registry=e,this._registryV2=t,this._paymentMethodActionCreator=n}initialize(e){return t=>{const n={methodId:e.methodId,containerId:e.containerId};if(t.getState().checkoutButton.isInitialized(e.methodId,e.containerId))return Y();const i=e.currencyCode?{params:{currencyCode:e.currencyCode}}:{},r=Object.assign(Object.assign({},i),{timeout:e.timeout,useCache:!0});return H(J(o(ht.InitializeButtonRequested,void 0,n)),this._paymentMethodActionCreator.loadPaymentMethod(e.methodId,r)(t),W(()=>this._getStrategy(e.methodId).initialize(e).then(()=>o(ht.InitializeButtonSucceeded,void 0,n)))).pipe(X(e=>Oc(ht.InitializeButtonFailed,e,n)))}}deinitialize(e){return t=>{const n={methodId:e.methodId};return t.getState().checkoutButton.isInitialized(e.methodId)?H(J(o(ht.DeinitializeButtonRequested,void 0,n)),W(()=>this._getStrategy(e.methodId).deinitialize().then(()=>o(ht.DeinitializeButtonSucceeded,void 0,n)))).pipe(X(e=>Oc(ht.DeinitializeButtonFailed,e,n))):Y()}}_getStrategy(e){let t;try{t=this._registryV2.get({id:e})}catch(n){t=this._registry.get(e)}return t}}class Wl{constructor(e){var t,n,i;this._factories={},this._instances={},this._defaultToken=null!==(t=null==e?void 0:e.defaultToken)&&void 0!==t?t:"default",this._useFallback=null===(n=null==e?void 0:e.useFallback)||void 0===n||n,this._tokenResolver=null!==(i=null==e?void 0:e.tokenResolver)&&void 0!==i?i:e=>e}get(e,t){try{return this._getInstance(e||this._defaultToken,t||e||this._defaultToken)}catch(e){if(!this._useFallback)throw e;return this._getInstance(this._defaultToken,t||this._defaultToken)}}getFactory(e,t){const n=this._tokenResolver(e,Object.keys(this._factories),t);return n?this._factories[n]:void 0}register(e,t){if(this._hasFactory(e))throw new iu(`'${e}' is already registered.`);this._factories[e]=t}_hasFactory(e){return!!this._factories[e]}_hasInstance(e){return!!this._instances[e]}_getInstance(e,t){if(!this._hasInstance(t)){const n=this.getFactory(e);if(!n)throw new iu(`'${e}' is not registered.`);this._instances[t]=n()}return this._instances[t]}}class Yl extends Ee{constructor(e){super(e||"Unable to proceed because the client library of a payment method is not loaded or ready to be used."),this.name="PaymentMethodClientUnavailableError",this.type="payment_method_client_unavailable"}}var Kl,$l,Zl,Jl,Ql;class Xl{constructor(e){this._scriptLoader=e,this._window=window}loadPaypal(){return e=this,t=arguments,i=function*(e=""){const t="//www.paypalobjects.com/api/checkout.min.js",n={async:!0,attributes:{"data-merchant-id":e}};if(e?yield this._scriptLoader.loadScript(t,n):yield this._scriptLoader.loadScript(t),!this._window.paypal)throw new Yl;return this._window.paypal},new((n=void 0)||(n=Promise))(function(r,o){function a(e){try{d(i.next(e))}catch(e){o(e)}}function s(e){try{d(i.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}d((i=i.apply(e,t||[])).next())});var e,t,n,i}}!function(e){e.HORIZONTAL="horizontal",e.VERTICAL="vertical"}(Kl||(Kl={})),function(e){e.SMALL="small",e.MEDIUM="medium",e.LARGE="large",e.RESPONSIVE="responsive"}($l||($l={})),function(e){e.GOLD="gold",e.BLUE="blue",e.SIlVER="silver",e.BLACK="black",e.WHITE="white"}(Zl||(Zl={})),function(e){e.CHECKOUT="checkout",e.PAY="pay",e.BUYNOW="buynow",e.PAYPAL="paypal",e.CREDIT="credit"}(Jl||(Jl={})),function(e){e.PILL="pill",e.RECT="rect"}(Ql||(Ql={}));class eh{constructor(e,t,n,i,r=""){this._store=e,this._checkoutActionCreator=t,this._paypalScriptLoader=n,this._formPoster=i,this._host=r}initialize(e){const t=e.paypal,n=this._store.getState(),i=this._paymentMethod=n.paymentMethods.getPaymentMethod(e.methodId);if(!t)throw new iu;if(!i)throw new ir(nr.MissingPaymentMethod);return this._paypalScriptLoader.loadPaypal(i.config.merchantId).then(n=>{var r,o;if(!i||!i.config.merchantId)throw new ir(nr.MissingPaymentMethod);const a=i.config.merchantId,s=i.config.testMode?"sandbox":"production",d={[s]:t.clientId},c=n.FUNDING.CREDIT||"credit",u=t.allowCredit?[c]:[],l=t.allowCredit?[]:[c];return n.Button.render({env:s,client:d,commit:t.shouldProcessPayment,funding:{allowed:u,disallowed:l},style:Object.assign(Object.assign({shape:Ql.RECT},D(t.style,"layout","color","label","shape","tagline","fundingicons")),{size:"paypalexpress"===i.id&&"small"===(null===(r=t.style)||void 0===r?void 0:r.size)?$l.RESPONSIVE:null===(o=t.style)||void 0===o?void 0:o.size}),payment:(e,n)=>this._setupPayment(a,n,t.onPaymentError),onAuthorize:(e,n)=>this._tokenizePayment(e,n,t.shouldProcessPayment,t.onAuthorizeError)},e.containerId)})}deinitialize(){return this._paymentMethod=void 0,Promise.resolve()}_setupPayment(e,t,n){if(!t)throw new yu(lu.CheckoutButtonNotInitialized);return this._store.dispatch(this._checkoutActionCreator.loadDefaultCheckout()).then(n=>{const i=n.cart.getCart(),r=i?i.id:"";return t.request.post(`${this._host}/api/storefront/payment/paypalexpress`,{merchantId:e,cartId:r},{headers:Object.assign({"X-API-INTERNAL":fc},_c)})}).then(e=>e.id).catch(e=>{throw n&&n(e),e})}_tokenizePayment(e,t,n,i){if(!this._paymentMethod)throw new yu(lu.CheckoutButtonNotInitialized);if(!t)throw new yu(lu.CheckoutButtonNotInitialized);if(!e.paymentID||!e.payerID)throw new ir(nr.MissingPayment);const r=this._paymentMethod.id;return t.payment.get(e.paymentID).then(t=>{this._formPoster.postForm("/checkout.php",{payment_type:"paypal",provider:r,action:n?"process_payment":"set_external_checkout",paymentId:e.paymentID,payerId:e.payerID,payerInfo:JSON.stringify(t.payer.payer_info)})})}}function th(e){return e&&"resolveIds"in e}function nh(){try{return"production"}catch(e){return"development"}}class ih{constructor(e){this._console=e}log(...e){this._logToConsole("log",...e)}info(...e){this._logToConsole("info",...e)}warn(...e){this._logToConsole("warn",...e)}error(...e){this._logToConsole("error",...e)}debug(...e){this._logToConsole("debug",...e)}_logToConsole(e,...t){this._console&&this._console[e]&&this._console[e].call(this._console,...t)}}class rh{log(){}info(){}warn(){}error(){}debug(){}}const oh=function(e=!0){return e?new ih(console):new rh}("test"!==nh());class ah{constructor(e=!1){this._useFallback=e,this._registry=new Wl({tokenResolver:this._resolveToken.bind(this),defaultToken:this._encodeToken({default:!0}),useFallback:this._useFallback})}get(e){return this._registry.get(this._encodeToken(e))}getFactory(e,t){try{return this._registry.getFactory(this._encodeToken(e),t)}catch(e){return}}getUseFallback(){return this._useFallback}register(e,t){this._registry.register(this._encodeToken(e),t)}_encodeToken(e){return btoa(JSON.stringify(e))}_decodeToken(e){return JSON.parse(atob(e))}_resolveToken(e,t,n){var i;const r=this._decodeToken(e),o=[];t.forEach(e=>{const t=this._decodeToken(e),n={token:e,matches:0,default:!1,totalKeys:Object.keys(t).length};for(const[e,i]of Object.entries(t)){if(e in r&&r[e]!==i){n.matches=0;break}e in r&&r[e]===i&&n.matches++,"default"===e&&!0===i&&(n.default=!0)}o.push(n)});const a=o.sort((e,t)=>t.matches-e.matches).filter(e=>e.matches>0);a.length>1&&a[0].matches===a[1].matches&&"development"===nh()&&oh.warn("The provided query matches at least two strategies with the same specificity. This warning can be resolved by making their resolve ID more specific.");const s=Object.keys(r).length;if(n){const e=a.find(e=>e.matches===s&&e.matches===e.totalKeys);if(!e)throw new Error(`Unable to resolve to a registered token with the provided token for ${JSON.stringify(r)} with exact match.`);return e.token}const d=a[0];if(d&&d.token)return d.token;if(this._useFallback){const e=null===(i=o.find(e=>e.default))||void 0===i?void 0:i.token;if(e)return e}throw new Error(`Unable to resolve to a registered token with the provided token for ${JSON.stringify(r)}.`)}}function sh(t){const{host:i}=null!=t?t:{},r=hr({config:{meta:{host:null==t?void 0:t.host,locale:null==t?void 0:t.locale},errors:{},statuses:{}}}),o=e({host:i}),a=n({host:i}),s=function(e,t){const n=new ah;for(const[,i]of Object.entries(t))if(th(i))for(const t of i.resolveIds)n.register(t,()=>i(e));return n}(function(t,n){const{config:{getHost:i,getLocale:r}}=t.getState();n||(n=e({host:i()}));const o=new Ml(Tl),a=new Bc(new xc(n),new Vc(new Hc(n)),new Jc(new Qc(n))),s=new Gc(new xc(n)),d=new Ru(t),c=new Mu(new Uu(n),new Gc(new xc(n))),u=new Tc(new Lc(n),new bl(new El(n))),l=new hl(new ml(n),new xc(n)),h=new gc(new Sc(n),new Ic(n)),p=new xu(new qu(function(e){const t=me();return e.subscribe(e=>{const n=e.config.getStoreConfig();n&&t.setHost(n.paymentSettings.bigpayBaseUrl)},e=>e.config.getStoreConfig()),t}(t)),c,new sl,new mu(Cu(le()))),g=new mu(Cu(le())),m=new $c(new Zc(n),a,new Sl(Cu(le()),new vl(n))),y=new Cl(new Il(n)),f=new Wc(new Yc(n)),_=Cu(le()),S=new vl(n),v=new Sl(_,S),C=new zc(n),I=new cl,w=new yl(new fl(n,{locale:r()}),t,new Xc(n,{locale:r()})),b=new ul(new ll(n),a),E=new dl;return new Dl(t,o,a,s,d,c,u,l,h,p,g,m,C,y,f,v,I,w,b,E)}(r),ve);return new Vl(r,new Hl(function(e,t,n,i){const r=new Wl,o=he(),a=new xc(t),s=new Bc(a,new Vc(new Hc(t)),new Jc(new Qc(t)));return r.register(Zu.PAYPALEXPRESS,()=>new eh(e,s,new Xl(o),n,i)),r}(r,o,a,i),s,new gc(new Sc(o),new Ic(o))))}export{sh as createCheckoutButtonInitializer,t as createTimeout};
|
|
2
2
|
//# sourceMappingURL=checkout-button.js.map
|