@dropins/storefront-checkout 0.1.0-alpha41 → 0.1.0-alpha43
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/api.js +1 -1
- package/chunks/ShippingMethods.js +1 -1
- package/chunks/getCart.graphql.js +7 -7
- package/components/AddressForm/useCheckoutAddressEventEmitter.d.ts +2 -1
- package/components/Checkout/Checkout.d.ts +1 -1
- package/containers/BillToShippingAddress.js +1 -1
- package/containers/BillingForm.js +1 -1
- package/containers/Checkout/Checkout.d.ts +1 -0
- package/containers/Checkout.js +1 -1
- package/containers/EmptyCart.js +1 -1
- package/containers/EstimateShipping.js +1 -1
- package/containers/LoginForm.js +1 -1
- package/containers/OutOfStock.js +1 -1
- package/containers/PaymentMethods/PaymentMethods.d.ts +1 -1
- package/containers/PaymentMethods.js +1 -1
- package/containers/PlaceOrder.js +1 -1
- package/containers/ShippingForm.js +1 -1
- package/containers/ShippingMethods.js +1 -1
- package/package.json +1 -1
- package/render.js +1 -1
package/api.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{D as
|
|
1
|
+
import{D as d,F as g,I as m,c as h,M as l,d as c,a as C,b as f,S as A,U as F,i as u,g as E,h as M,j as S,r as x,s as T,e as D,f as G}from"./chunks/getCart.graphql.js";import{S as U,e as b,g as R,i as I,p as Q,s as _,a as k,b as v,c as y}from"./chunks/setShippingMethods.js";import{c as H,f as N,g as w,i as z,a as L,r as P,b as j}from"./chunks/resetCustomer.js";import{g as q,a as J,b as K}from"./chunks/getCustomer.js";import{p as W}from"./chunks/placeOrder.js";import{s as Z}from"./chunks/setBillingAddress.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/lib.js";const o=e=>{var s;(s=window==null?void 0:window.location)==null||s.assign(e)};export{d as DEFAULT_COUNTRY,g as FetchError,m as InvalidArgument,h as MissingBillingAddress,l as MissingCart,c as MissingCountry,C as MissingEmail,f as MissingPaymentMethod,U as STANDARD_ATTRIBUTES,A as STORE_CONFIG_DEFAULTS,F as UnexpectedError,H as config,u as defaultFormFields,b as estimateShippingMethods,N as fetchAddressFormFields,E as fetchGraphQl,q as getCart,J as getCheckoutData,M as getConfig,w as getCountries,K as getCustomer,R as getRegions,S as getStoreConfig,z as initialize,L as initializeCheckout,I as isEmailAvailable,W as placeOrder,Q as prepareAddress,o as redirect,x as removeFetchGraphQlHeader,P as resetCheckout,j as resetCustomer,Z as setBillingAddress,T as setEndpoint,D as setFetchGraphQlHeader,G as setFetchGraphQlHeaders,_ as setGuestEmailOnCart,k as setPaymentMethod,v as setShippingAddress,y as setShippingMethodsOnCart};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o,Fragment as X,jsxs as M}from"@dropins/tools/preact-jsx-runtime.js";import{d as ve,A as b,f as B,e as _e,D as oe,g as Ue,M as ke,h as Fe,p as Le,i as Ze,s as Ke,a as Xe,b as Je,c as Ye}from"./setShippingMethods.js";import{events as ee}from"@dropins/tools/event-bus.js";import{z as Qe,A as q,y as O,n as T,V as z,w as Me,B as et,m as be,o as de,v as Ie,k as tt,E as Q}from"./getCart.graphql.js";import{useState as H,useCallback as K,useEffect as x,useRef as nt,useMemo as ot}from"@dropins/tools/preact-hooks.js";import{classes as R,getFormErrors as rt,Slot as Ee,VComponent as I}from"@dropins/tools/lib.js";import{Text as j,useText as J}from"@dropins/tools/i18n.js";import{Field as re,Input as ue,Picker as it,Skeleton as me,SkeletonRow as A,IllustratedMessage as Se,Icon as Ae,ProgressSpinner as he,Button as st,Divider as U,RadioButton as Ne,Price as at}from"@dropins/tools/components.js";import{w as Y,c as lt}from"./BillToShippingAddress.js";import{s as we}from"./setBillingAddress.js";import*as $ from"@dropins/tools/preact-compat.js";import{forwardRef as ct,useRef as Pe,useImperativeHandle as dt,useState as G,useEffect as V,useMemo as Re,useCallback as te}from"@dropins/tools/preact-compat.js";import{E as ut}from"./ErrorBanner.js";import{M as mt}from"./MergedCartBanner.js";const Z=Qe(void 0),ht=e=>({countryCode:e.country_id,postCode:e.postcode||"",...e.region_id?{regionId:Number(e.region_id)}:{...e.region?{region:e.region}:{}}}),gt=e=>({carrierCode:e.carrier.code||"",methodCode:e.code||"",amount:e.amount,amountExclTax:e.amountExclTax,amountInclTax:e.amountInclTax}),ge={firstname:"given-name",lastname:"family-name",company:"organization",country:"country",region:"address-level1",city:"address-level2",postcode:"postal-code",telephone:"tel",street:"address-line1",email:"email",middlename:"additional-name",prefix:"honorific-prefix",suffix:"honorific-suffix"};function $e(e){return Object.keys(e).length===0&&e.constructor===Object}const pt=e=>e.map(t=>{var r;const n=((r=t==null?void 0:t.id)==null?void 0:r.toString())||t.code;return{text:t.name,value:n}}),ft=e=>e?e.map(t=>({text:t.label,value:t.value})):[];function vt({address:e,addressType:t,availableCountries:n,availableRegions:r,config:i,dismissError:a,errors:s,fields:l,onBlur:d,onChange:h,onInvalid:c,onSelection:p,setAddress:u}){const E=()=>{u(m=>({...m,[b.Region]:"",[b.RegionId]:""})),a(b.Region)},v=m=>{u(w=>({...w,[b.RegionId]:m}))};return l.map(m=>{var C;let w,F=m.frontendInput,k=p,f=h,L=m.isDisabled,P=m.isRequired,N=[],S;return F===q.Multiline?(S=ve(m.code,e),w=ve(m.code,s)):(S=e[m.code],w=s[m.code]||""),m.code===b.Country&&(N=ft(n),t===B.SHIPPING&&(O.value.country=S,k=g=>{const y=g.target,{value:_}=y;_&&le({country_code:_}),p(g),E()})),m.code===b.RegionId&&t===B.SHIPPING&&(O.value.selectedRegionId=S),m.code===b.Region&&(t===O.value.addressType&&(L=O.value.pending),P=i.countriesWithRequiredRegion.includes(e==null?void 0:e.country_id),N=pt(r),!P&&!i.displayStateIfOptional&&(F=q.Undefined),F=N.length>0?q.Select:q.Text,F===q.Select?t===B.SHIPPING?(O.value.selectedRegion=S,k=g=>{const _=g.target.value;le({country_code:O.value.country,region_id:_}),p(g),v(_)}):k=g=>{p(g);const _=g.target.value;v(_)}:F===q.Text&&t===B.SHIPPING&&(O.value.selectedRegion=S,f=g=>{const y=g.target,{value:_}=y;O.value.country&&le({country_code:O.value.country,region_name:_}),h(g)}),S=N.length>0?((C=N.find(g=>g.value===S))==null?void 0:C.value)||"":S),m.code===b.PostCode&&(P=!i.countriesWithOptionalZipCode.includes(e==null?void 0:e.country_id)),{...m,error:w,frontendInput:F,handleSelect:k,isDisabled:L,isRequired:P,onBlur:d,onChange:f,onInvalid:c,options:N,value:S}})}let Ce;function le(e){var a;const t=T.value.data,n=!!t,r=(a=t==null?void 0:t.shippingAddresses)==null?void 0:a[0],i=r==null?void 0:r.availableShippingMethods;n&&!i&&(clearTimeout(Ce),Ce=setTimeout(()=>{_e({criteria:e})},oe))}const ie=({addressType:e,code:t,index:n})=>n?`${e}-${t}-${n}`:`${e}-${t}`,se=e=>`checkout-address-form__${e}`,kt=({addressType:e,element:t})=>{const{code:n,value:r,defaultValue:i}=t;return o("input",{className:se(n),id:ie({addressType:e,code:n}),name:n,type:"hidden",value:r||i},n)},Ft=({addressType:e,element:t})=>{const{code:n,error:r,isDisabled:i,label:a,onBlur:s,onChange:l,onInvalid:d,validateRules:h,value:c}=t,p=xe(h);return o(re,{disabled:i,error:r,children:o(ue,{"aria-label":a,autocomplete:ge[n]||"off",className:se(n),floatingLabel:`${a} ${t.isRequired?"*":""}`,id:ie({addressType:e,code:n}),onBlur:s,onChange:l,onInvalid:d,placeholder:a,required:t.isRequired||!1,type:"text",name:n,value:c??void 0,...p})})},Et=({addressType:e,element:t})=>{const{code:n,error:r,isDisabled:i,isRequired:a,label:s,multilineCount:l,onBlur:d,onChange:h,onInvalid:c,validateRules:p,value:u}=t,E=l??0,v=xe(p);return o(X,{children:Array.from(Array(E).keys()).map(m=>o(re,{disabled:i,error:(r==null?void 0:r[m])||"",className:"dropin-field--multiline",children:o(ue,{id:ie({addressType:e,code:n,index:m}),className:se(n),floatingLabel:`${s} ${m!=0?m:""} ${a&&m===0?"*":""}`,autocomplete:m===0?ge[n]:"off","aria-label":s,placeholder:`${s} ${m!=0?m:""}`,type:"text",required:a&&m===0,onChange:h,onBlur:d,onInvalid:c,name:`${n}-${m}`,value:(u==null?void 0:u[m])||void 0,...v})},`${n}-${m}`))})},Ct=({addressType:e,element:t})=>{const{code:n,error:r,handleSelect:i,isDisabled:a,isRequired:s,label:l,onBlur:d,onInvalid:h,options:c,value:p}=t,u=i?{handleSelect:i}:{};return o(re,{disabled:a,error:r,children:o(it,{id:ie({addressType:e,code:n}),className:se(n),name:n,floatingLabel:`${l} ${s?"*":""}`,required:s,placeholder:l,"aria-label":l,options:c,value:p,autocomplete:ge[n]||"off",onBlur:d,onInvalid:h,...u},n)})},yt=({addressType:e,element:t})=>{switch(t.frontendInput){case"BOOLEAN":case"DATE":case"DATETIME":case"FILE":case"GALLERY":case"IMAGE":case"MEDIA_IMAGE":case"MULTISELECT":case"PRICE":case"TEXTAREA":case"UNDEFINED":case"WEIGHT":return null;case"HIDDEN":return kt({addressType:e,element:t});case"TEXT":return Ft({addressType:e,element:t});case"MULTILINE":return Et({addressType:e,element:t});case"SELECT":return Ct({addressType:e,element:t});default:return null}},xe=e=>e?e.reduce((t,n)=>{switch(n.name){case z.DateRangeMax:return{...t,max:n.value};case z.DateRangeMin:return{...t,min:n.value};case z.FileExtensions:return{...t,accept:n.value};case z.InputValidation:return{...t,pattern:_t(n.value)};case z.MaxFileSize:case z.MaxImageHeight:case z.MaxImageWidth:return t;case z.MaxTextLength:return{...t,maxLength:n.value};case z.MinTextLength:return{...t,minLength:n.value};default:throw new Error(`Unknown rule: ${n.name}`)}},{}):{},D={alpha:/^[a-zA-Z]+$/,alphanumeric:/^[a-zA-Z0-9]+$/,"alphanumeric-w-space":/^[a-zA-Z0-9 ]+$/,"alphanum-with-spaces":/^[a-zA-Z0-9 ]+$/,email:/^([a-z0-9,!#$%&'*+/=?^_`{|}~-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z0-9,!#$%&'*+/=?^_`{|}~-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*@([a-z0-9-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z0-9-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*\.(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]){2,})$/i,numeric:/^[0-9]+$/,url:/^((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=+$,\w]+@)?[A-Za-z0-9.-]+|(?:www\.|[-;:&=+$,\w]+@)[A-Za-z0-9.-]+)((?:\/[+~%/.\w\-_]*)?\??(?:[-+=&;%@.\w_]*)#?(?:[.!/\\\w]*))?)$/},_t=e=>{switch(e){case"alpha":return D.alpha.source;case"alphanumeric":return D.alphanumeric.source;case"alphanumeric-w-space":return D["alphanumeric-w-space"].source;case"alphanum-with-spaces":return D["alphanum-with-spaces"].source;case"url":return D.url.source;case"numeric":return D.numeric.source;case"email":return D.email.source;default:throw new Error(`Unknown validation type: ${e}`)}},Lt=e=>M(me,{...e,children:[o(A,{variant:"heading",size:"medium"}),o(A,{variant:"empty",size:"medium"}),o(A,{size:"large"}),o(A,{size:"large"}),o(A,{size:"large",fullWidth:!0}),o(A,{size:"large",fullWidth:!0,lines:3}),o(A,{size:"large"}),o(A,{size:"large"}),o(A,{size:"large"}),o(A,{size:"large"}),o(A,{size:"large"}),o(A,{size:"large"}),o(A,{size:"large"})]}),Mt=({addressType:e,className:t,fields:n,formRef:r,headingId:i,name:a,...s})=>M("div",{...s,className:R(["checkout-fields-form",t]),children:[o(ne,{level:2,children:o(j,{id:i}),className:"checkout-fields-form__title"}),o("form",{name:a,ref:r,className:R(["checkout-fields-form__form",t]),noValidate:!0,children:n.sort((l,d)=>!l.sortOrder||!d.sortOrder?l.code<d.code?-1:1:l.sortOrder-d.sortOrder).map(l=>yt({element:l,addressType:e}))})]}),bt=e=>{const t=new FormData(e),n=Object.fromEntries(t);return Object.entries(n).reduce((i,[a])=>{const s=e.elements[a];return s!=null&&s.validationMessage?{...i,[a]:s.validationMessage}:{...i}},{})};function It(e){const[t,n]=G({});return V(()=>{e&&n(r=>({...r,country_id:e}))},[e]),{defaultValues:t}}function St({country:e,addressType:t}){const[n,r]=G([]);return V(()=>{if(!e){r([]);return}Ue(e,t).then(i=>{r(i||[])}).catch(i=>{console.error(i)})},[r,e,t]),{availableRegions:n}}function At({autoFill:e,addressType:t,dismissError:n,loadAutoFill:r}){const[i,a]=G(!1),s=de.value.data,l=!!s,d=T.value.data,h=!!d;V(()=>{var w;if(!e||!h||i)return;let c,p=!1;c=jt({addressType:t,cart:d}),!c&&l&&(c=Gt({addressType:t,customer:s}),p=!0);const u=F=>F?F.split(Fe).length>1:!1;if(!c)return;a(!0);const E={[b.City]:c.city,[b.Company]:c.company||"",[b.Country]:c.country.value,[b.FirstName]:c.firstName,[b.LastName]:c.lastName,[b.PostCode]:c.postCode||"",[b.Telephone]:c.telephone||"",[b.Vat]:c.vatId||""},v=c.region;if(v){const F=(w=v==null?void 0:v.id)==null?void 0:w.toString();F?(E[b.Region]=F,E[b.RegionId]=F):E[b.Region]=v.code}c!=null&&c.street&&c.street.length>0&&c.street.forEach((F,k)=>{E[`${b.Street}${ke}${k}`]=F}),((c==null?void 0:c.customAttributes)||[]).forEach(F=>{u(F.code)?F.value.split(Fe).forEach((f,L)=>{E[`${F.code}${ke}${L}`]=f}):E[F.code]=F.value}),r({values:E,triggerAutoSave:p})},[t,e,d,s,i,h,l,r,n])}const Be=ct(({addressType:e,autoFill:t=!0,children:n,headingId:r,name:i,preselectedFields:a,saveAddressHandler:s,onCheckoutDataUpdate:l,...d},h)=>{const{data:c,pending:p}=Me.value,u=et.value.data,E=u===void 0,v=c===void 0||p,m=be.value.data,w=m===void 0,{defaultValues:F}=It(m==null?void 0:m.defaultCountry),k=Dt({fields:c,preselectedFields:a}),f=Pe(null),{address:L,errors:P,loadAutoFill:N,onBlur:S,dismissError:C,onChange:g,onInvalid:y,onSelection:_,setAddress:W}=Vt({defaultValues:F,formRef:f,onCheckoutDataUpdate:l,preselection:k,saveAddressHandler:s,type:e}),{availableRegions:ae}=St({country:L.country_id,addressType:e});if(dt(h,()=>({triggerSaveAddress:je=>{if(!f.current)return;const qe=bt(f.current);if($e(qe))return s({signal:je,address:L})}})),At({addressType:e,autoFill:t,loadAutoFill:N,dismissError:C}),v||E||w)return o(Lt,{"data-testid":`${e}-skeleton`});const Ge=vt({address:L,addressType:e,availableCountries:u,availableRegions:ae,config:m,dismissError:C,errors:P,fields:c,onBlur:S,onChange:g,onInvalid:y,onSelection:_,setAddress:W}),fe={[B.SHIPPING]:"shipping",[B.BILLING]:"billing"};return o(Mt,{...d,name:i,addressType:e,className:`checkout-${fe[e]}-form`,"data-testid":`${fe[e]}-form`,fields:Ge,formRef:f,headingId:r})}),Nt="DROPIN__CHECKOUT",pe=e=>`${Nt}__${e.toUpperCase()}`,wt=(e,t)=>{window.localStorage.setItem(pe(e),JSON.stringify(t))},Pt=e=>{const t=window.localStorage.getItem(pe(e));return t?JSON.parse(t):null},Rt=e=>{window.localStorage.removeItem(pe(e))};function $t(e){const[t,n]=H(null),r=K(a=>setTimeout(()=>{wt(e,a)},oe),[e]),i=K(()=>{Rt(e)},[e]);return x(()=>{const a=Pt(e);a&&n(a)},[e]),x(()=>{const a=ee.on("checkout/order",()=>{i()});return()=>{a==null||a.off()}},[i]),{addressBackup:t,backupAddress:r,removeAddressBackup:i}}const xt={[B.BILLING]:"billing",[B.SHIPPING]:"shipping"};function Bt({address:e,type:t}){x(()=>{const n=setTimeout(()=>{ee.emit("checkout/address",{type:xt[t],address:e})},oe);return()=>{clearTimeout(n)}},[e,t])}const Ot={badInput:"aria-label",patternMismatch:"aria-label",rangeOverflow:"max",rangeUnderflow:"min",tooLong:"maxlength",tooShort:"minlength",typeMismatch:"aria-label",valueMissing:"aria-label"},Ht=["badInput","patternMismatch","rangeOverflow","rangeUnderflow","tooLong","tooShort","typeMismatch","valueMissing"],Tt=e=>{const[t,n]=H({}),r=K(s=>{const{name:l,validity:d,validationMessage:h}=s;let c=d.valid?"":h;Ht.forEach(p=>{if(!d[p])return;const u=e[p];if(!u)return;const E=Ot[p];c=u.replace("{field}",s.getAttribute(E)||"")}),n(p=>({...p,[l]:c}))},[e]);return{errors:t,dismissError:s=>{t[s]&&n(l=>{const{[s]:d,...h}=l;return h})},validateFormElement:r,resetErrors:()=>{n({})}}},zt=e=>{const t=e.current;if(!t)return!1;const n=rt(t);return $e(n)},Vt=({defaultValues:e={},formRef:t,onCheckoutDataUpdate:n,preselection:r={},saveAddressHandler:i,type:a})=>{const s=J({badInput:"Checkout.AddressForm.Validity.badInput",patternMismatch:"Checkout.AddressForm.Validity.patternMismatch",rangeUnderflow:"Checkout.AddressForm.Validity.rangeUnderflow",tooLong:"Checkout.AddressForm.Validity.tooLong",tooShort:"Checkout.AddressForm.Validity.tooShort",typeMismatch:"Checkout.AddressForm.Validity.typeMismatch",valueMissing:"Checkout.AddressForm.Validity.valueMissing"}),l=nt(!1),[d,h]=H({});Bt({address:d,type:a});const{addressBackup:c,backupAddress:p,removeAddressBackup:u}=$t(a),{errors:E,validateFormElement:v,dismissError:m,resetErrors:w}=Tt(s),F=K(C=>{l.current=!1,i(C).then(()=>{u(),n==null||n()}).catch(g=>{l.current=!0,console.error("Saving address form failed:",g)})},[u,i,n]),k=(C,g)=>{h(y=>({...y,[C]:g})),l.current=!0},f=({values:C,triggerAutoSave:g=!1})=>{w(),h(y=>({...y,...C})),g&&(l.current=!0)},L=C=>{const g=C.target,{name:y,value:_}=g;k(y,_),v(g)},P=C=>{const g=C.target;v(g)},N=C=>{const g=C.target,{name:y,value:_}=g;k(y,_),v(g)},S=C=>{C.target.checkValidity()};return x(()=>{h(C=>({...e,...r,...c,...C}))},[e,r,c]),x(()=>{if(!l.current)return;const C=p(d);return()=>{clearTimeout(C)}},[d,p]),x(()=>{if(!l.current||!zt(t))return;const C=new AbortController,g=C.signal,y=setTimeout(()=>{F({signal:g,address:d})},oe);return()=>{clearTimeout(y),C.abort()}},[d,t,F]),{address:d,errors:E,loadAutoFill:f,dismissError:m,onChange:L,onSelection:N,onBlur:S,onInvalid:P,setAddress:h}},Wt={countryCode:b.Country,region:b.Region,postCode:b.PostCode};function Dt({fields:e,preselectedFields:t}){return ot(()=>!(!!e&&e.length>0)||!!!t?{}:Object.keys(t).reduce((i,a)=>{const s=Wt[a];return!s||!e.some(d=>d.code===s)?i:{...i,[s]:t[a]}},{}),[e,t])}const Gt=({addressType:e,customer:t})=>e===B.BILLING?t.defaultBillingAddress:t.defaultShippingAddress,jt=({addressType:e,cart:t})=>{if(e===B.BILLING)return t.billingAddress;const n=t.shippingAddresses;if(!(!n||n.length===0))return n[0]},Oe=e=>{var E;const t=Pe(null),n=Me.value.data,r=de.value.data,i=r==null?void 0:r.defaultBillingAddress,a=T.value.data,s=a==null?void 0:a.billingAddress,l=(E=a==null?void 0:a.shippingAddresses)==null?void 0:E[0],{checked:d,setByUser:h}=Ie.value,c=!d,p=Re(()=>!n||!c?!1:s?!lt(n,s,l):!!i,[c,n,s,l,i]),u=te(v=>we({signal:v.signal,input:{address:d?void 0:Le(v.address),same_as_shipping:d}}),[d]);return V(()=>{if(!h)return;const v=new AbortController;return d||t.current.triggerSaveAddress(v.signal),()=>{v.abort()}},[d,h]),o(Be,{...e,addressType:B.BILLING,autoFill:p,"data-testid":"billing-form",headingId:"Checkout.BillingAddress.title",name:qt,ref:t,saveAddressHandler:u,style:{display:c?"block":"none"}})};Oe.displayName="BillingFormContainer";const Hn=Y(Oe),qt="billing_address",Ut=e=>$.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},$.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M17.93 14.8V18.75H5.97C4.75 18.75 3.75 17.97 3.75 17V6.5M3.75 6.5C3.75 5.53 4.74 4.75 5.97 4.75H15.94V8.25H5.97C4.75 8.25 3.75 7.47 3.75 6.5Z",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),$.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M19.35 11.64H14.04V14.81H19.35V11.64Z",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),$.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M17.9304 11.64V8.25H15.1504",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"})),Zt=e=>$.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},$.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M2.47266 4.90002H15.1851V10.9645H21.2495L23 12.715V17.6124H20.073",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),$.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M15.1758 5.87573H19.0019L21.0394 10.7636",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),$.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M9.76151 16.7898C9.76151 18.0525 8.72845 19.076 7.46582 19.076C6.20318 19.076 5.17969 18.0429 5.17969 16.7803C5.17969 15.5176 6.20318 14.4941 7.46582 14.4941C8.72845 14.4941 9.75195 15.5176 9.76151 16.7803C9.76151 16.7803 9.76151 16.7803 9.76151 16.7898Z",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),$.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M19.8726 16.7898C19.8726 18.062 18.8491 19.0855 17.5769 19.0855C16.3047 19.0855 15.2812 18.062 15.2812 16.7898C15.2812 15.5176 16.3047 14.4941 17.5769 14.4941C18.8491 14.4941 19.8726 15.5176 19.8726 16.7898Z",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),$.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M8.08792 7.63574H1.69824",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),$.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M7.11229 10.3619H1",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),$.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M5.16084 13.0402H1.92773",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),$.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M9.76172 16.7611H15.2809",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),$.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M2.38672 16.7611H5.17025",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"})),He="login-form",Kt=({value:e,error:t,hint:n,onChange:r,onBlur:i,onInvalid:a})=>{const s=J({LoginFormLabel:"Checkout.LoginForm.ariaLabel",LoginFormFloatingLabel:"Checkout.LoginForm.floatingLabel",LoginFormPlaceholder:"Checkout.LoginForm.placeholder"});return o(re,{size:"medium",error:t,hint:n,children:o(ue,{id:"customer-email",name:"customer-email",type:"email",value:e,autocomplete:"email",placeholder:s.LoginFormPlaceholder,floatingLabel:s.LoginFormFloatingLabel,onChange:r,onBlur:i,onInvalid:a,required:!0,"aria-label":s.LoginFormLabel,"aria-required":!0})})},Xt=({onSignInClick:e,email:t})=>M("div",{className:"checkout-login-form__sign-in",children:[o(j,{id:"Checkout.LoginForm.account"}),o("a",{"data-testid":"sign-in-link",className:"checkout-login-form__link",href:"#",target:"_blank",rel:"noreferrer",onClick:n=>{n.preventDefault(),e==null||e(t)},children:o(j,{id:"Checkout.LoginForm.signIn"})})]}),Jt=({name:e,className:t,currentEmail:n,hint:r,error:i=null,onEmailChange:a,onEmailBlur:s,onEmailInvalid:l,onSignInClick:d,onSignOutClick:h,customer:c,...p})=>{const u=J({Title:"Checkout.LoginForm.title"}),E=!!c;return M("div",{...p,className:R(["checkout-login-form",t]),"data-testid":"checkout-login-form",children:[M("div",{className:"checkout-login-form__heading",children:[o(ne,{level:2,className:"checkout-login-form__title",children:u.Title}),E?o(Yt,{onSignOutClick:h}):o(Xt,{onSignInClick:d,email:n})]}),c?M("div",{className:"checkout-login-form__customer-details",children:[o("div",{className:"checkout-login-form__customer-name",children:`${c==null?void 0:c.firstName} ${c==null?void 0:c.lastName}`}),o("div",{className:"checkout-login-form__customer-email",children:c==null?void 0:c.email})]}):o("div",{className:"checkout-login-form__content",children:M("form",{className:R(["dropin-login-form__form",t]),name:e,noValidate:!0,children:[o("button",{type:"submit",disabled:!0,style:"display: none","aria-hidden":"true"}),o(Kt,{value:n||void 0,error:i||"",hint:r,onChange:a,onBlur:s,onInvalid:l})]})})]})},Yt=({onSignOutClick:e})=>M("p",{className:"checkout-login-form__sign-out",children:[o(j,{id:"Checkout.LoginForm.switch"}),o("a",{className:"checkout-login-form__link",href:"#",target:"_blank",rel:"noreferrer",onClick:t=>{t.preventDefault(),e==null||e()},children:o(j,{id:"Checkout.LoginForm.signOut"})})]}),Qt=e=>D.email.test(e),en=1e3,Te=({className:e,email:t=null,onSignInClick:n,onSignOutClick:r,...i})=>{const a=J({LoginFormInvalidEmailError:"Checkout.LoginForm.invalidEmailError",LoginFormMissingEmailError:"Checkout.LoginForm.missingEmailError",LoginFormEmailExistsAlreadyHaveAccount:"Checkout.LoginForm.emailExists.alreadyHaveAccount",LoginFormEmailExistsSignInButton:"Checkout.LoginForm.emailExists.signInButton",LoginFormEmailExistsForFasterCheckout:"Checkout.LoginForm.emailExists.forFasterCheckout"}),{data:s}=T.value,l=(s==null?void 0:s.id)||"",d=!!s,h=(s==null?void 0:s.email)||"",[c,p]=H(!1),[u,E]=H(t),[v,m]=H(null),[w,F]=H(!0),k=g=>g.valid?null:g.valueMissing?a.LoginFormMissingEmailError:a.LoginFormInvalidEmailError,f=de.value.data,L=g=>{const{value:y}=g.target;E(y),m(null),F(!0)},P=g=>{const{validity:y}=g.target;m(k(y))},N=g=>{const{validity:y}=g.target;m(k(y))};!c&&d&&(p(!0),E((s==null?void 0:s.email)||t)),x(()=>{if(v!==null&&v!==""||u===null||u===""||tt.authenticated)return;const g=setTimeout(()=>{Ze(u).then(y=>{F(y),h!==u&&Ke(u).catch(console.error)}).catch(y=>{console.log(y),m(a.LoginFormInvalidEmailError),F(!0)})},en);return()=>{g&&clearTimeout(g)}},[h,l,u,v,a.LoginFormInvalidEmailError]);const S=w?"":M(X,{children:[a.LoginFormEmailExistsAlreadyHaveAccount," ",o("a",{href:"#",onClick:g=>{g.preventDefault(),n==null||n(u)},children:a.LoginFormEmailExistsSignInButton})," ",a.LoginFormEmailExistsForFasterCheckout]});return o(Jt,{className:e,currentEmail:u,error:v,hint:S,name:He,onEmailBlur:P,onEmailChange:L,onEmailInvalid:N,onSignInClick:g=>{const y=u?Qt(u):!1;n==null||n(y?g:null)},onSignOutClick:r,customer:f,...i})};Te.displayName="LoginFormContainer";const Tn=Y(Te),tn=()=>M(me,{"data-testid":"payment-methods-skeleton",children:[o(A,{variant:"heading",size:"medium"}),o(A,{variant:"empty",size:"medium"}),o(A,{size:"xlarge",fullWidth:!0}),o(A,{size:"xlarge",fullWidth:!0})]}),nn=({code:e,isLoading:t,isSelected:n,onChange:r,title:i})=>o(Fn,{className:"checkout-payment-methods__method",label:i,name:"payment-method",value:e,selected:n,onChange:r,radioButtonProps:{"aria-busy":t}}),on=({className:e,paymentMethodContent:t,isLoading:n,onChange:r=()=>{},options:i,selection:a})=>{const s=J({Title:"Checkout.PaymentMethods.title",EmptyState:"Checkout.PaymentMethods.emptyState"});return i===void 0?o(tn,{}):M("div",{className:R(["checkout-payment-methods",e]),children:[o(ne,{level:2,className:"checkout-payment-methods__title",children:s.Title}),!n&&i.length===0&&o(Se,{icon:o(Ae,{source:Ut}),message:o("p",{children:s.EmptyState})}),M("div",{className:R(["checkout-payment-methods__wrapper"]),children:[n&&o(he,{className:"checkout-payment-methods__spinner"}),o("div",{className:R(["checkout-payment-methods__methods",["checkout-payment-methods--loading",n],["checkout-payment-methods--full-width",i.length%2!==0]]),children:i==null?void 0:i.map(l=>o(nn,{code:l.code,onChange:r,isSelected:l.code===a,title:l.title},l.code))}),t&&o("div",{className:"checkout-payment-methods__content",children:t})]})]})},ye={free:{render:e=>{const t=document.createElement("div");t.innerText="",e.replaceHTML(t)}},checkmo:{render:e=>{const t=document.createElement("div");t.innerText="",e.replaceHTML(t)}}};function rn(e){var y;const{onPlaceOrder:t,handleServerError:n,paymentMethodsSlot:r}=e,[i,a]=G(),[s,l]=G(),[d,h]=G(ye),[c,p]=G(!0),{data:u}=T.value,E=(u==null?void 0:u.id)??"",v=!!u,m=!!((y=u==null?void 0:u.shippingAddresses)!=null&&y[0]),F=!((u==null?void 0:u.isVirtual)??!1),k=u==null?void 0:u.availablePaymentMethods,f=u==null?void 0:u.selectedPaymentMethod,L=te(async _=>{try{if(a(_),!m&&F||_===(f==null?void 0:f.code))return;await Xe(_)}catch(W){console.error("setting payment method failed:",W)}},[m,F,f]);V(()=>{v&&(f!=null&&f.code?(k==null?void 0:k.some(W=>W.code===f.code))?a(f.code):k!=null&&k.length?L(k[0].code):a(void 0):k[0]&&L(s||k[0].code))},[k,v,f,L,s]);const P=async _=>{await L(_),f!=null&&f.code||l(_)},N=te((_,W)=>{if(!_){console.warn("Payment method handler is ignored because it has no code");return}if(!W){console.warn("Payment method handler is ignored because it is empty");return}h(ae=>({...ae,[_]:W}))},[]),S=r?o(Ee,{name:"PaymentMethods",slot:r,context:{addPaymentMethodHandler:N,replaceHTML(_){this.replaceWith(_),p(!1)}}}):null,C=i?d[i]:null,g=C?o(Ee,{name:"PaymentMethodContent",slot:C.render,context:{cartId:E,onPlaceOrder:t,handleServerError:n,replaceHTML(_){this.replaceWith(_)}}},C):void 0;return V(()=>{!c&&d!=ye&&console.warn("Payment method handlers you have added are ignored because the default content has been replaced")},[c,d]),{availablePaymentMethods:k,selectedPaymentMethod:i,onPaymentMethodChange:P,paymentMethodContent:g,mainSlotContent:S,isDefaultContentUsed:c}}const ze=e=>{const{onPlaceOrder:t,handleServerError:n,paymentMethodsSlot:r}=e,{availablePaymentMethods:i,selectedPaymentMethod:a,onPaymentMethodChange:s,paymentMethodContent:l,mainSlotContent:d,isDefaultContentUsed:h}=rn({onPlaceOrder:t,handleServerError:n,paymentMethodsSlot:r});return M(X,{children:[d&&o(d.type,{ref:d.ref,...d.props}),h&&o(on,{options:i,selection:a,onChange:s,paymentMethodContent:l,isLoading:T.value.pending})]})};ze.displayName="PaymentMethodsContainer";const zn=Y(ze),sn=({className:e,onClick:t=()=>{},disabled:n=!1})=>o("div",{className:R(["checkout-place-order",e]),children:o(st,{className:R(["checkout-place-order__button",e]),"data-testid":"place-order-button",disabled:n,onClick:t,size:"medium",type:"submit",variant:"primary",children:o(j,{id:"Checkout.PlaceOrder.button"})},"placeOrder")}),an=[He,"shipping_address","billing_address"],ln=e=>{const t=e.querySelector(":invalid");t&&(t.scrollIntoView({behavior:"smooth"}),t.focus())},cn=()=>{const t=(Array.from(document.forms)||[]).filter(r=>an.includes(r.name)).filter(r=>r.offsetParent!==null).filter(r=>!r.checkValidity()),n=t.length===0;if(!n){const r=t[0];ln(r)}return n},dn=({onClick:e,handleServerError:t})=>{const[n,r]=G(!1),i=T.value.pending,a=async()=>{if(cn())try{await e()}catch(s){t(s)}};return V(()=>{const s=ee.on("cart/initialized",l=>{const d=(l==null?void 0:l.items)||[];r(d.some(h=>h.outOfStock||h.insufficientQuantity))},{eager:!0});return()=>{s==null||s.off()}},[]),o(sn,{onClick:a,disabled:i||n})},Vn=Y(dn),Ve=({onCheckoutDataUpdate:e,preselectedFields:t,...n})=>{const r=Ie.value.checked,i=te(a=>Je({signal:a.signal,address:Le(a.address)}).then(()=>{if(r)return we({input:{same_as_shipping:!0}})}),[r]);return o(Be,{...n,addressType:B.SHIPPING,headingId:"Checkout.ShippingAddress.title",name:un,onCheckoutDataUpdate:e,preselectedFields:t,saveAddressHandler:i})};Ve.displayName="ShippingFormContainer";const Wn=Y(Ve),un="shipping_address",mn=()=>{const e=()=>window.innerWidth>=1920?"xxlarge":window.innerWidth>=1366?"xlarge":window.innerWidth>=1024?"large":window.innerWidth>=768?"medium":"small",[t,n]=H(e());return x(()=>{let r;const i=()=>{r&&clearTimeout(r),r=setTimeout(()=>n(e()),50)};return window.addEventListener("resize",i),()=>{window.removeEventListener("resize",i),r&&clearTimeout(r)}},[]),t},hn=()=>{const e=K(()=>{document.body.style.overflow="hidden"},[]),t=K(()=>{document.body.style.overflow=""},[]);return{lockScroll:e,unlockScroll:t}},We=()=>M("div",{className:"checkout-heading",children:[o(ne,{level:1,className:"checkout-heading__title",children:o(j,{id:"Checkout.title"})}),o(U,{variant:"primary",className:"checkout-heading__divider-primary"})]}),gn=({billingAddress:e,billToShippingAddress:t,cartSummaryList:n,emptyCart:r,login:i,orderSummary:a,outOfStock:s,paymentMethods:l,placeOrder:d,shippingAddress:h,shippingMethods:c})=>M(X,{children:[o(We,{}),n&&o(I,{node:n}),o(I,{node:r}),o(I,{node:s}),o(I,{node:i}),o(U,{variant:"primary"}),o(I,{node:h}),o(I,{node:t}),o(I,{node:c}),o(U,{variant:"primary"}),o(I,{node:l}),o(I,{node:e}),a&&o(I,{node:a}),o(I,{node:s}),o(I,{node:d})]}),pn=({billingAddress:e,billToShippingAddress:t,cartSummaryList:n,emptyCart:r,login:i,orderSummary:a,outOfStock:s,paymentMethods:l,placeOrder:d,shippingAddress:h,shippingMethods:c})=>M(X,{children:[M("div",{className:"checkout__main",children:[o(We,{}),o(I,{node:r}),o(I,{node:s}),o(I,{node:i}),o(U,{variant:"primary"}),o(I,{node:h}),o(I,{node:t}),o(I,{node:c}),o(U,{variant:"primary"}),o(I,{node:e}),o(I,{node:l}),o(U,{variant:"primary"}),o(I,{node:d})]}),M("div",{className:"checkout__aside",children:[a&&o(I,{node:a}),n&&o(I,{node:n})]})]}),fn=({blocks:e})=>mn()==="small"?o(gn,{...e}):o(pn,{...e}),vn=({children:e,className:t,isLoading:n=!1,...r})=>M("div",{"data-testid":"checkout",className:R(["checkout",t]),...r,children:[n&&o(kn,{}),o(ut,{}),o(mt,{}),o("div",{className:"checkout__content",children:e})]});vn.Main=fn;const ne=({className:e,children:t,level:n=2})=>{const r=n>=1&&n<=6?`h${n}`:"h2";return o(r,{className:e,children:t})},kn=({className:e})=>{const{lockScroll:t,unlockScroll:n}=hn();return x(()=>(t(),n),[t,n]),o("div",{"data-testid":"checkout-overlay-loader",className:R(["checkout-overlay-loader",e]),children:o(he,{})})},Fn=({label:e,name:t,value:n,icon:r,selected:i,onChange:a,className:s,children:l,radioButtonProps:d,...h})=>o("div",{className:R(["checkout-toggle-button",s,["checkout-toggle-button__selected",i]]),...h,children:M("label",{className:"checkout-toggle-button__actionButton",children:[o(Ne,{...d,label:"",name:t,value:n,checked:i,onChange:()=>a(n),"aria-label":e,className:R([s,"checkout-toggle-button__radioButton"])}),M("div",{className:"checkout-toggle-button__content",children:[r&&o(r.type,{...r==null?void 0:r.props,className:"checkout-toggle-button__icon"}),e]})]})}),En=({className:e,isLoading:t=!1,onSelectionChange:n=()=>{},options:r,selection:i,...a})=>{const s=J({Title:"Checkout.ShippingMethods.title",EmptyState:"Checkout.ShippingMethods.emptyState"});return r===void 0?o(Cn,{}):M("div",{...a,className:R(["checkout-shipping-methods",e]),children:[o(ne,{level:3,className:"checkout-shipping-methods__title",children:s.Title}),!t&&r.length===0&&o(Se,{icon:o(Ae,{source:Zt}),message:o("p",{children:s.EmptyState})}),M("div",{className:R(["checkout-shipping-methods__content"]),children:[t&&o(he,{className:"checkout-shipping-methods__spinner"}),o("div",{className:R(["checkout-shipping-methods__options",["checkout-shipping-methods__options--loading",t]]),children:r.map(l=>o(Ne,{"data-testid":"shipping-method-radiobutton","aria-busy":t,id:l.value,name:"shipping-method",className:"checkout-shipping-methods__method",label:M(X,{children:[o(at,{amount:l.amount.value,currency:l.amount.currency})," ",o("span",{children:l.carrier.title})]}),description:l.title,value:l.value,checked:(i==null?void 0:i.value)===l.value,onChange:()=>n(l)},l.value))})]})]})},Cn=()=>M(me,{"data-testid":"shipping-methods-skeleton",children:[o(A,{variant:"heading",size:"small"}),o(A,{variant:"empty",size:"small"}),o(A,{size:"medium",fullWidth:!0}),o(A,{size:"medium",fullWidth:!0})]});function yn(){var p;const[e,t]=H(),[n,r]=H();x(()=>{ee.on("checkout/address",({address:u,type:E})=>{E==="shipping"&&t(u)})},[]),x(()=>{r(Z.value)},[Z.value]),x(()=>{Q.value.pending?r(void 0):r(Z.value)},[Q.value.pending]);const{country_id:i,region_id:a,region:s,postcode:l}=e||{},d=!!e,h=T.value.data,c=!!((p=h==null?void 0:h.shippingAddresses)!=null&&p[0]);x(()=>{c||!n||!d||ee.emit("shipping/estimate",{address:ht({country_id:i,region_id:a,region:s,postcode:l}),shippingMethod:gt(n)})},[n,i,a,s,l,d,c])}const ce=(e,t)=>e.code===t.code&&e.carrier.code===t.carrier.code;function _n({onCheckoutDataUpdate:e,preSelectedMethod:t}){const n=be.value.data,r=!n,i=T.value.data,a=T.value.pending,s=Q.value.data,l=Q.value.pending,d=Z.value,h=i==null?void 0:i.id,c=i==null?void 0:i.shippingAddresses,p=c==null?void 0:c[0],u=!!p,E=p==null?void 0:p.availableShippingMethods,v=p==null?void 0:p.selectedShippingMethod,m=E||s,w=te(f=>{if(!u)return;const L={method_code:f.code,carrier_code:f.carrier.code};Ye([L]).then(()=>{e==null||e()}).catch(P=>{console.error("setting shipping methods on cart failed:",P)})},[u,e]),F=f=>{Z.value=f},k=Re(()=>{if(!(m!=null&&m.length))return;const f=m[0],L=d||v;return L?m.some(N=>ce(N,L))?L:f:m.find(S=>S.carrier.code===(t==null?void 0:t.carrierCode)&&S.code===(t==null?void 0:t.methodCode))||f},[d,v,m,t]);return V(()=>{k&&((!d||!ce(k,d))&&(Z.value=k),(!v||!ce(k,v))&&w(k))},[k,d,v,w]),V(()=>{if(!h||E)return;const{country:f,selectedRegion:L,selectedRegionId:P}=O.value,N=f||(n==null?void 0:n.defaultCountry);N&&_e({criteria:{country_code:N,region_name:L,region_id:P}}).catch(C=>{Q.value={pending:!1,data:[]},console.error("shipping methods estimation failed:",C)})},[h,E,n]),{isLoading:a||r||l,options:m,selection:k,onSelectionChange:F}}const De=({preSelectedMethod:e,onCheckoutDataUpdate:t,...n})=>{const{isLoading:r,options:i,selection:a,onSelectionChange:s}=_n({preSelectedMethod:e,onCheckoutDataUpdate:t});return yn(),o(En,{...n,className:"checkout-shipping-methods",isLoading:r,onSelectionChange:s,options:i,selection:a})};De.displayName="ShippingMethodsContainer";const Dn=Y(De);export{Hn as B,vn as C,Tn as L,Vn as P,Dn as S,Wn as a,un as b,zn as c,He as d,qt as e};
|
|
1
|
+
import{jsx as o,Fragment as X,jsxs as M}from"@dropins/tools/preact-jsx-runtime.js";import{d as ve,A as b,f as B,e as Le,D as oe,g as Ze,M as ke,h as Fe,p as Me,i as Ke,s as Xe,a as Je,b as Ye,c as Qe}from"./setShippingMethods.js";import{events as ee}from"@dropins/tools/event-bus.js";import{A as U,y as O,n as T,V as z,w as be,z as et,m as Ie,o as de,v as Se,k as tt,B as Z,E as Q}from"./getCart.graphql.js";import{useState as H,useCallback as j,useEffect as R,useRef as nt,useMemo as ot}from"@dropins/tools/preact-hooks.js";import{classes as $,getFormErrors as rt,Slot as Ee,VComponent as I}from"@dropins/tools/lib.js";import{Text as q,useText as J}from"@dropins/tools/i18n.js";import{Field as re,Input as ue,Picker as it,Skeleton as me,SkeletonRow as A,IllustratedMessage as Ae,Icon as Ne,ProgressSpinner as he,Button as st,Divider as K,RadioButton as we,Price as at}from"@dropins/tools/components.js";import{w as Y,c as lt}from"./BillToShippingAddress.js";import{s as Pe}from"./setBillingAddress.js";import*as x from"@dropins/tools/preact-compat.js";import{forwardRef as ct,useRef as $e,useImperativeHandle as dt,useState as G,useEffect as V,useMemo as xe,useCallback as te}from"@dropins/tools/preact-compat.js";import{E as ut}from"./ErrorBanner.js";import{M as mt}from"./MergedCartBanner.js";const ht=e=>({countryCode:e.country_id,postCode:e.postcode||"",...e.region_id?{regionId:Number(e.region_id)}:{...e.region?{region:e.region}:{}}}),gt=e=>({carrierCode:e.carrier.code||"",methodCode:e.code||"",amount:e.amount,amountExclTax:e.amountExclTax,amountInclTax:e.amountInclTax}),ge={firstname:"given-name",lastname:"family-name",company:"organization",country:"country",region:"address-level1",city:"address-level2",postcode:"postal-code",telephone:"tel",street:"address-line1",email:"email",middlename:"additional-name",prefix:"honorific-prefix",suffix:"honorific-suffix"};function Re(e){return Object.keys(e).length===0&&e.constructor===Object}const pt=e=>e.map(t=>{var r;const n=((r=t==null?void 0:t.id)==null?void 0:r.toString())||t.code;return{text:t.name,value:n}}),ft=e=>e?e.map(t=>({text:t.label,value:t.value})):[];function vt({address:e,addressType:t,availableCountries:n,availableRegions:r,config:i,dismissError:a,errors:s,fields:c,onBlur:d,onChange:h,onInvalid:l,onSelection:p,setAddress:u}){const E=()=>{u(m=>({...m,[b.Region]:"",[b.RegionId]:""})),a(b.Region)},f=m=>{u(w=>({...w,[b.RegionId]:m}))};return c.map(m=>{var C;let w,F=m.frontendInput,k=p,v=h,L=m.isDisabled,P=m.isRequired,N=[],S;return F===U.Multiline?(S=ve(m.code,e),w=ve(m.code,s)):(S=e[m.code],w=s[m.code]||""),m.code===b.Country&&(N=ft(n),t===B.SHIPPING&&(O.value.country=S,k=g=>{const y=g.target,{value:_}=y;_&&le({country_code:_}),p(g),E()})),m.code===b.RegionId&&t===B.SHIPPING&&(O.value.selectedRegionId=S),m.code===b.Region&&(t===O.value.addressType&&(L=O.value.pending),P=i.countriesWithRequiredRegion.includes(e==null?void 0:e.country_id),N=pt(r),!P&&!i.displayStateIfOptional&&(F=U.Undefined),F=N.length>0?U.Select:U.Text,F===U.Select?t===B.SHIPPING?(O.value.selectedRegion=S,k=g=>{const _=g.target.value;le({country_code:O.value.country,region_id:_}),p(g),f(_)}):k=g=>{p(g);const _=g.target.value;f(_)}:F===U.Text&&t===B.SHIPPING&&(O.value.selectedRegion=S,v=g=>{const y=g.target,{value:_}=y;O.value.country&&le({country_code:O.value.country,region_name:_}),h(g)}),S=N.length>0?((C=N.find(g=>g.value===S))==null?void 0:C.value)||"":S),m.code===b.PostCode&&(P=!i.countriesWithOptionalZipCode.includes(e==null?void 0:e.country_id)),{...m,error:w,frontendInput:F,handleSelect:k,isDisabled:L,isRequired:P,onBlur:d,onChange:v,onInvalid:l,options:N,value:S}})}let Ce;function le(e){var a;const t=T.value.data,n=!!t,r=(a=t==null?void 0:t.shippingAddresses)==null?void 0:a[0],i=r==null?void 0:r.availableShippingMethods;n&&!i&&(clearTimeout(Ce),Ce=setTimeout(()=>{Le({criteria:e})},oe))}const ie=({addressType:e,code:t,index:n})=>n?`${e}-${t}-${n}`:`${e}-${t}`,se=e=>`checkout-address-form__${e}`,kt=({addressType:e,element:t})=>{const{code:n,value:r,defaultValue:i}=t;return o("input",{className:se(n),id:ie({addressType:e,code:n}),name:n,type:"hidden",value:r||i},n)},Ft=({addressType:e,element:t})=>{const{code:n,error:r,isDisabled:i,label:a,onBlur:s,onChange:c,onInvalid:d,validateRules:h,value:l}=t,p=Be(h);return o(re,{disabled:i,error:r,children:o(ue,{"aria-label":a,autocomplete:ge[n]||"off",className:se(n),floatingLabel:`${a} ${t.isRequired?"*":""}`,id:ie({addressType:e,code:n}),onBlur:s,onChange:c,onInvalid:d,placeholder:a,required:t.isRequired||!1,type:"text",name:n,value:l??void 0,...p})})},Et=({addressType:e,element:t})=>{const{code:n,error:r,isDisabled:i,isRequired:a,label:s,multilineCount:c,onBlur:d,onChange:h,onInvalid:l,validateRules:p,value:u}=t,E=c??0,f=Be(p);return o(X,{children:Array.from(Array(E).keys()).map(m=>o(re,{disabled:i,error:(r==null?void 0:r[m])||"",className:"dropin-field--multiline",children:o(ue,{id:ie({addressType:e,code:n,index:m}),className:se(n),floatingLabel:`${s} ${m!=0?m:""} ${a&&m===0?"*":""}`,autocomplete:m===0?ge[n]:"off","aria-label":s,placeholder:`${s} ${m!=0?m:""}`,type:"text",required:a&&m===0,onChange:h,onBlur:d,onInvalid:l,name:`${n}-${m}`,value:(u==null?void 0:u[m])||void 0,...f})},`${n}-${m}`))})},Ct=({addressType:e,element:t})=>{const{code:n,error:r,handleSelect:i,isDisabled:a,isRequired:s,label:c,onBlur:d,onInvalid:h,options:l,value:p}=t,u=i?{handleSelect:i}:{};return o(re,{disabled:a,error:r,children:o(it,{id:ie({addressType:e,code:n}),className:se(n),name:n,floatingLabel:`${c} ${s?"*":""}`,required:s,placeholder:c,"aria-label":c,options:l,value:p,autocomplete:ge[n]||"off",onBlur:d,onInvalid:h,...u},n)})},yt=({addressType:e,element:t})=>{switch(t.frontendInput){case"BOOLEAN":case"DATE":case"DATETIME":case"FILE":case"GALLERY":case"IMAGE":case"MEDIA_IMAGE":case"MULTISELECT":case"PRICE":case"TEXTAREA":case"UNDEFINED":case"WEIGHT":return null;case"HIDDEN":return kt({addressType:e,element:t});case"TEXT":return Ft({addressType:e,element:t});case"MULTILINE":return Et({addressType:e,element:t});case"SELECT":return Ct({addressType:e,element:t});default:return null}},Be=e=>e?e.reduce((t,n)=>{switch(n.name){case z.DateRangeMax:return{...t,max:n.value};case z.DateRangeMin:return{...t,min:n.value};case z.FileExtensions:return{...t,accept:n.value};case z.InputValidation:return{...t,pattern:_t(n.value)};case z.MaxFileSize:case z.MaxImageHeight:case z.MaxImageWidth:return t;case z.MaxTextLength:return{...t,maxLength:n.value};case z.MinTextLength:return{...t,minLength:n.value};default:throw new Error(`Unknown rule: ${n.name}`)}},{}):{},D={alpha:/^[a-zA-Z]+$/,alphanumeric:/^[a-zA-Z0-9]+$/,"alphanumeric-w-space":/^[a-zA-Z0-9 ]+$/,"alphanum-with-spaces":/^[a-zA-Z0-9 ]+$/,email:/^([a-z0-9,!#$%&'*+/=?^_`{|}~-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z0-9,!#$%&'*+/=?^_`{|}~-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*@([a-z0-9-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z0-9-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*\.(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]){2,})$/i,numeric:/^[0-9]+$/,url:/^((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=+$,\w]+@)?[A-Za-z0-9.-]+|(?:www\.|[-;:&=+$,\w]+@)[A-Za-z0-9.-]+)((?:\/[+~%/.\w\-_]*)?\??(?:[-+=&;%@.\w_]*)#?(?:[.!/\\\w]*))?)$/},_t=e=>{switch(e){case"alpha":return D.alpha.source;case"alphanumeric":return D.alphanumeric.source;case"alphanumeric-w-space":return D["alphanumeric-w-space"].source;case"alphanum-with-spaces":return D["alphanum-with-spaces"].source;case"url":return D.url.source;case"numeric":return D.numeric.source;case"email":return D.email.source;default:throw new Error(`Unknown validation type: ${e}`)}},Lt=e=>M(me,{...e,children:[o(A,{variant:"heading",size:"medium"}),o(A,{variant:"empty",size:"medium"}),o(A,{size:"large"}),o(A,{size:"large"}),o(A,{size:"large",fullWidth:!0}),o(A,{size:"large",fullWidth:!0,lines:3}),o(A,{size:"large"}),o(A,{size:"large"}),o(A,{size:"large"}),o(A,{size:"large"}),o(A,{size:"large"}),o(A,{size:"large"}),o(A,{size:"large"})]}),Mt=({addressType:e,className:t,fields:n,formRef:r,headingId:i,name:a,...s})=>M("div",{...s,className:$(["checkout-fields-form",t]),children:[o(ne,{level:2,children:o(q,{id:i}),className:"checkout-fields-form__title"}),o("form",{name:a,ref:r,className:$(["checkout-fields-form__form",t]),noValidate:!0,children:n.sort((c,d)=>!c.sortOrder||!d.sortOrder?c.code<d.code?-1:1:c.sortOrder-d.sortOrder).map(c=>yt({element:c,addressType:e}))})]}),bt=e=>{const t=new FormData(e),n=Object.fromEntries(t);return Object.entries(n).reduce((i,[a])=>{const s=e.elements[a];return s!=null&&s.validationMessage?{...i,[a]:s.validationMessage}:{...i}},{})};function It(e){const[t,n]=G({});return V(()=>{e&&n(r=>({...r,country_id:e}))},[e]),{defaultValues:t}}function St({country:e,addressType:t}){const[n,r]=G([]);return V(()=>{if(!e){r([]);return}Ze(e,t).then(i=>{r(i||[])}).catch(i=>{console.error(i)})},[r,e,t]),{availableRegions:n}}function At({autoFill:e,addressType:t,dismissError:n,loadAutoFill:r}){const[i,a]=G(!1),s=de.value.data,c=!!s,d=T.value.data,h=!!d;V(()=>{var w;if(!e||!h||i)return;let l,p=!1;l=Gt({addressType:t,cart:d}),!l&&c&&(l=Dt({addressType:t,customer:s}),p=!0);const u=F=>F?F.split(Fe).length>1:!1;if(!l)return;a(!0);const E={[b.City]:l.city,[b.Company]:l.company||"",[b.Country]:l.country.value,[b.FirstName]:l.firstName,[b.LastName]:l.lastName,[b.PostCode]:l.postCode||"",[b.Telephone]:l.telephone||"",[b.Vat]:l.vatId||""},f=l.region;if(f){const F=(w=f==null?void 0:f.id)==null?void 0:w.toString();F?(E[b.Region]=F,E[b.RegionId]=F):E[b.Region]=f.code}l!=null&&l.street&&l.street.length>0&&l.street.forEach((F,k)=>{E[`${b.Street}${ke}${k}`]=F}),((l==null?void 0:l.customAttributes)||[]).forEach(F=>{u(F.code)?F.value.split(Fe).forEach((v,L)=>{E[`${F.code}${ke}${L}`]=v}):E[F.code]=F.value}),r({values:E,triggerAutoSave:p})},[t,e,d,s,i,h,c,r,n])}const Oe=ct(({addressType:e,autoFill:t=!0,children:n,headingId:r,name:i,preselectedFields:a,saveAddressHandler:s,onCheckoutDataUpdate:c,...d},h)=>{const{data:l,pending:p}=be.value,u=et.value.data,E=u===void 0,f=l===void 0||p,m=Ie.value.data,w=m===void 0,{defaultValues:F}=It(m==null?void 0:m.defaultCountry),k=Wt({fields:l,preselectedFields:a}),v=$e(null),{address:L,errors:P,loadAutoFill:N,onBlur:S,dismissError:C,onChange:g,onInvalid:y,onSelection:_,setAddress:W}=zt({defaultValues:F,formRef:v,onCheckoutDataUpdate:c,preselection:k,saveAddressHandler:s,type:e}),{availableRegions:ae}=St({country:L.country_id,addressType:e});if(dt(h,()=>({triggerSaveAddress:qe=>{if(!v.current)return;const Ue=bt(v.current);if(Re(Ue))return s({signal:qe,address:L})}})),At({addressType:e,autoFill:t,loadAutoFill:N,dismissError:C}),f||E||w)return o(Lt,{"data-testid":`${e}-skeleton`});const je=vt({address:L,addressType:e,availableCountries:u,availableRegions:ae,config:m,dismissError:C,errors:P,fields:l,onBlur:S,onChange:g,onInvalid:y,onSelection:_,setAddress:W}),fe={[B.SHIPPING]:"shipping",[B.BILLING]:"billing"};return o(Mt,{...d,name:i,addressType:e,className:`checkout-${fe[e]}-form`,"data-testid":`${fe[e]}-form`,fields:je,formRef:v,headingId:r})}),Nt="DROPIN__CHECKOUT",pe=e=>`${Nt}__${e.toUpperCase()}`,wt=(e,t)=>{window.localStorage.setItem(pe(e),JSON.stringify(t))},Pt=e=>{const t=window.localStorage.getItem(pe(e));return t?JSON.parse(t):null},$t=e=>{window.localStorage.removeItem(pe(e))};function xt(e){const[t,n]=H(null),r=j(a=>setTimeout(()=>{wt(e,a)},oe),[e]),i=j(()=>{$t(e)},[e]);return R(()=>{const a=Pt(e);a&&n(a)},[e]),R(()=>{const a=ee.on("checkout/order",()=>{i()});return()=>{a==null||a.off()}},[i]),{addressBackup:t,backupAddress:r,removeAddressBackup:i}}const Rt={[B.BILLING]:"billing",[B.SHIPPING]:"shipping"};function Bt({address:e,type:t,isValid:n}){R(()=>{const r=setTimeout(()=>{ee.emit("checkout/address",{type:Rt[t],address:e,isValid:n()})},oe);return()=>{clearTimeout(r)}},[e,n,t])}const Ot={badInput:"aria-label",patternMismatch:"aria-label",rangeOverflow:"max",rangeUnderflow:"min",tooLong:"maxlength",tooShort:"minlength",typeMismatch:"aria-label",valueMissing:"aria-label"},Ht=["badInput","patternMismatch","rangeOverflow","rangeUnderflow","tooLong","tooShort","typeMismatch","valueMissing"],Tt=e=>{const[t,n]=H({}),r=j(s=>{const{name:c,validity:d,validationMessage:h}=s;let l=d.valid?"":h;Ht.forEach(p=>{if(!d[p])return;const u=e[p];if(!u)return;const E=Ot[p];l=u.replace("{field}",s.getAttribute(E)||"")}),n(p=>({...p,[c]:l}))},[e]);return{errors:t,dismissError:s=>{t[s]&&n(c=>{const{[s]:d,...h}=c;return h})},validateFormElement:r,resetErrors:()=>{n({})}}},ye=e=>{const t=e.current;if(!t)return!1;const n=rt(t);return Re(n)},zt=({defaultValues:e={},formRef:t,onCheckoutDataUpdate:n,preselection:r={},saveAddressHandler:i,type:a})=>{const s=J({badInput:"Checkout.AddressForm.Validity.badInput",patternMismatch:"Checkout.AddressForm.Validity.patternMismatch",rangeUnderflow:"Checkout.AddressForm.Validity.rangeUnderflow",tooLong:"Checkout.AddressForm.Validity.tooLong",tooShort:"Checkout.AddressForm.Validity.tooShort",typeMismatch:"Checkout.AddressForm.Validity.typeMismatch",valueMissing:"Checkout.AddressForm.Validity.valueMissing"}),c=nt(!1),[d,h]=H({});Bt({address:d,type:a,isValid:j(()=>ye(t),[t])});const{addressBackup:l,backupAddress:p,removeAddressBackup:u}=xt(a),{errors:E,validateFormElement:f,dismissError:m,resetErrors:w}=Tt(s),F=j(C=>{c.current=!1,i(C).then(()=>{u(),n==null||n()}).catch(g=>{c.current=!0,console.error("Saving address form failed:",g)})},[u,i,n]),k=(C,g)=>{h(y=>({...y,[C]:g})),c.current=!0},v=({values:C,triggerAutoSave:g=!1})=>{w(),h(y=>({...y,...C})),g&&(c.current=!0)},L=C=>{const g=C.target,{name:y,value:_}=g;k(y,_),f(g)},P=C=>{const g=C.target;f(g)},N=C=>{const g=C.target,{name:y,value:_}=g;k(y,_),f(g)},S=C=>{C.target.checkValidity()};return R(()=>{h(C=>({...e,...r,...l,...C}))},[e,r,l]),R(()=>{if(!c.current)return;const C=p(d);return()=>{clearTimeout(C)}},[d,p]),R(()=>{if(!c.current||!ye(t))return;const C=new AbortController,g=C.signal,y=setTimeout(()=>{F({signal:g,address:d})},oe);return()=>{clearTimeout(y),C.abort()}},[d,t,F]),{address:d,errors:E,loadAutoFill:v,dismissError:m,onChange:L,onSelection:N,onBlur:S,onInvalid:P,setAddress:h}},Vt={countryCode:b.Country,region:b.Region,postCode:b.PostCode};function Wt({fields:e,preselectedFields:t}){return ot(()=>!(!!e&&e.length>0)||!!!t?{}:Object.keys(t).reduce((i,a)=>{const s=Vt[a];return!s||!e.some(d=>d.code===s)?i:{...i,[s]:t[a]}},{}),[e,t])}const Dt=({addressType:e,customer:t})=>e===B.BILLING?t.defaultBillingAddress:t.defaultShippingAddress,Gt=({addressType:e,cart:t})=>{if(e===B.BILLING)return t.billingAddress;const n=t.shippingAddresses;if(!(!n||n.length===0))return n[0]},He=e=>{var E;const t=$e(null),n=be.value.data,r=de.value.data,i=r==null?void 0:r.defaultBillingAddress,a=T.value.data,s=a==null?void 0:a.billingAddress,c=(E=a==null?void 0:a.shippingAddresses)==null?void 0:E[0],{checked:d,setByUser:h}=Se.value,l=!d,p=xe(()=>!n||!l?!1:s?!lt(n,s,c):!!i,[l,n,s,c,i]),u=te(f=>Pe({signal:f.signal,input:{address:d?void 0:Me(f.address),same_as_shipping:d}}),[d]);return V(()=>{if(!h)return;const f=new AbortController;return d||t.current.triggerSaveAddress(f.signal),()=>{f.abort()}},[d,h]),o(Oe,{...e,addressType:B.BILLING,autoFill:p,"data-testid":"billing-form",headingId:"Checkout.BillingAddress.title",name:jt,ref:t,saveAddressHandler:u,style:{display:l?"block":"none"}})};He.displayName="BillingFormContainer";const On=Y(He),jt="billing_address",qt=e=>x.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},x.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M17.93 14.8V18.75H5.97C4.75 18.75 3.75 17.97 3.75 17V6.5M3.75 6.5C3.75 5.53 4.74 4.75 5.97 4.75H15.94V8.25H5.97C4.75 8.25 3.75 7.47 3.75 6.5Z",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),x.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M19.35 11.64H14.04V14.81H19.35V11.64Z",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),x.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M17.9304 11.64V8.25H15.1504",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"})),Ut=e=>x.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},x.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M2.47266 4.90002H15.1851V10.9645H21.2495L23 12.715V17.6124H20.073",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),x.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M15.1758 5.87573H19.0019L21.0394 10.7636",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),x.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M9.76151 16.7898C9.76151 18.0525 8.72845 19.076 7.46582 19.076C6.20318 19.076 5.17969 18.0429 5.17969 16.7803C5.17969 15.5176 6.20318 14.4941 7.46582 14.4941C8.72845 14.4941 9.75195 15.5176 9.76151 16.7803C9.76151 16.7803 9.76151 16.7803 9.76151 16.7898Z",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),x.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M19.8726 16.7898C19.8726 18.062 18.8491 19.0855 17.5769 19.0855C16.3047 19.0855 15.2812 18.062 15.2812 16.7898C15.2812 15.5176 16.3047 14.4941 17.5769 14.4941C18.8491 14.4941 19.8726 15.5176 19.8726 16.7898Z",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),x.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M8.08792 7.63574H1.69824",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),x.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M7.11229 10.3619H1",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),x.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M5.16084 13.0402H1.92773",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),x.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M9.76172 16.7611H15.2809",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),x.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M2.38672 16.7611H5.17025",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"})),Te="login-form",Zt=({value:e,error:t,hint:n,onChange:r,onBlur:i,onInvalid:a})=>{const s=J({LoginFormLabel:"Checkout.LoginForm.ariaLabel",LoginFormFloatingLabel:"Checkout.LoginForm.floatingLabel",LoginFormPlaceholder:"Checkout.LoginForm.placeholder"});return o(re,{size:"medium",error:t,hint:n,children:o(ue,{id:"customer-email",name:"customer-email",type:"email",value:e,autocomplete:"email",placeholder:s.LoginFormPlaceholder,floatingLabel:s.LoginFormFloatingLabel,onChange:r,onBlur:i,onInvalid:a,required:!0,"aria-label":s.LoginFormLabel,"aria-required":!0})})},Kt=({onSignInClick:e,email:t})=>M("div",{className:"checkout-login-form__sign-in",children:[o(q,{id:"Checkout.LoginForm.account"}),o("a",{"data-testid":"sign-in-link",className:"checkout-login-form__link",href:"#",target:"_blank",rel:"noreferrer",onClick:n=>{n.preventDefault(),e==null||e(t)},children:o(q,{id:"Checkout.LoginForm.signIn"})})]}),Xt=({name:e,className:t,currentEmail:n,hint:r,error:i=null,onEmailChange:a,onEmailBlur:s,onEmailInvalid:c,onSignInClick:d,onSignOutClick:h,customer:l,...p})=>{const u=J({Title:"Checkout.LoginForm.title"}),E=!!l;return M("div",{...p,className:$(["checkout-login-form",t]),"data-testid":"checkout-login-form",children:[M("div",{className:"checkout-login-form__heading",children:[o(ne,{level:2,className:"checkout-login-form__title",children:u.Title}),E?o(Jt,{onSignOutClick:h}):o(Kt,{onSignInClick:d,email:n})]}),l?M("div",{className:"checkout-login-form__customer-details",children:[o("div",{className:"checkout-login-form__customer-name",children:`${l==null?void 0:l.firstName} ${l==null?void 0:l.lastName}`}),o("div",{className:"checkout-login-form__customer-email",children:l==null?void 0:l.email})]}):o("div",{className:"checkout-login-form__content",children:M("form",{className:$(["dropin-login-form__form",t]),name:e,noValidate:!0,children:[o("button",{type:"submit",disabled:!0,style:"display: none","aria-hidden":"true"}),o(Zt,{value:n||void 0,error:i||"",hint:r,onChange:a,onBlur:s,onInvalid:c})]})})]})},Jt=({onSignOutClick:e})=>M("p",{className:"checkout-login-form__sign-out",children:[o(q,{id:"Checkout.LoginForm.switch"}),o("a",{className:"checkout-login-form__link",href:"#",target:"_blank",rel:"noreferrer",onClick:t=>{t.preventDefault(),e==null||e()},children:o(q,{id:"Checkout.LoginForm.signOut"})})]}),Yt=e=>D.email.test(e),Qt=1e3,ze=({className:e,email:t=null,onSignInClick:n,onSignOutClick:r,...i})=>{const a=J({LoginFormInvalidEmailError:"Checkout.LoginForm.invalidEmailError",LoginFormMissingEmailError:"Checkout.LoginForm.missingEmailError",LoginFormEmailExistsAlreadyHaveAccount:"Checkout.LoginForm.emailExists.alreadyHaveAccount",LoginFormEmailExistsSignInButton:"Checkout.LoginForm.emailExists.signInButton",LoginFormEmailExistsForFasterCheckout:"Checkout.LoginForm.emailExists.forFasterCheckout"}),{data:s}=T.value,c=(s==null?void 0:s.id)||"",d=!!s,h=(s==null?void 0:s.email)||"",[l,p]=H(!1),[u,E]=H(t),[f,m]=H(null),[w,F]=H(!0),k=g=>g.valid?null:g.valueMissing?a.LoginFormMissingEmailError:a.LoginFormInvalidEmailError,v=de.value.data,L=g=>{const{value:y}=g.target;E(y),m(null),F(!0)},P=g=>{const{validity:y}=g.target;m(k(y))},N=g=>{const{validity:y}=g.target;m(k(y))};!l&&d&&(p(!0),E((s==null?void 0:s.email)||t)),R(()=>{if(f!==null&&f!==""||u===null||u===""||tt.authenticated)return;const g=setTimeout(()=>{Ke(u).then(y=>{F(y),h!==u&&Xe(u).catch(console.error)}).catch(y=>{console.log(y),m(a.LoginFormInvalidEmailError),F(!0)})},Qt);return()=>{g&&clearTimeout(g)}},[h,c,u,f,a.LoginFormInvalidEmailError]);const S=w?"":M(X,{children:[a.LoginFormEmailExistsAlreadyHaveAccount," ",o("a",{href:"#",onClick:g=>{g.preventDefault(),n==null||n(u)},children:a.LoginFormEmailExistsSignInButton})," ",a.LoginFormEmailExistsForFasterCheckout]});return o(Xt,{className:e,currentEmail:u,error:f,hint:S,name:Te,onEmailBlur:P,onEmailChange:L,onEmailInvalid:N,onSignInClick:g=>{const y=u?Yt(u):!1;n==null||n(y?g:null)},onSignOutClick:r,customer:v,...i})};ze.displayName="LoginFormContainer";const Hn=Y(ze),en=()=>M(me,{"data-testid":"payment-methods-skeleton",children:[o(A,{variant:"heading",size:"medium"}),o(A,{variant:"empty",size:"medium"}),o(A,{size:"xlarge",fullWidth:!0}),o(A,{size:"xlarge",fullWidth:!0})]}),tn=({code:e,isLoading:t,isSelected:n,onChange:r,title:i})=>o(kn,{className:"checkout-payment-methods__method",label:i,name:"payment-method",value:e,selected:n,onChange:r,radioButtonProps:{"aria-busy":t}}),nn=({className:e,paymentMethodContent:t,isLoading:n,onChange:r=()=>{},options:i,selection:a})=>{const s=J({Title:"Checkout.PaymentMethods.title",EmptyState:"Checkout.PaymentMethods.emptyState"});return i===void 0?o(en,{}):M("div",{className:$(["checkout-payment-methods",e]),children:[o(ne,{level:2,className:"checkout-payment-methods__title",children:s.Title}),!n&&i.length===0&&o(Ae,{icon:o(Ne,{source:qt}),message:o("p",{children:s.EmptyState})}),M("div",{className:$(["checkout-payment-methods__wrapper"]),children:[n&&o(he,{className:"checkout-payment-methods__spinner"}),o("div",{className:$(["checkout-payment-methods__methods",["checkout-payment-methods--loading",n],["checkout-payment-methods--full-width",i.length%2!==0]]),children:i==null?void 0:i.map(c=>o(tn,{code:c.code,onChange:r,isSelected:c.code===a,title:c.title},c.code))}),t&&o("div",{className:"checkout-payment-methods__content",children:t})]})]})},_e={free:{render:e=>{const t=document.createElement("div");t.innerText="",e.replaceHTML(t)}},checkmo:{render:e=>{const t=document.createElement("div");t.innerText="",e.replaceHTML(t)}}};function on(e){var y;const{onPlaceOrder:t,handleServerError:n,paymentMethodsSlot:r}=e,[i,a]=G(),[s,c]=G(),[d,h]=G(_e),[l,p]=G(!0),{data:u}=T.value,E=(u==null?void 0:u.id)??"",f=!!u,m=!!((y=u==null?void 0:u.shippingAddresses)!=null&&y[0]),F=!((u==null?void 0:u.isVirtual)??!1),k=u==null?void 0:u.availablePaymentMethods,v=u==null?void 0:u.selectedPaymentMethod,L=te(async _=>{try{if(a(_),!m&&F||_===(v==null?void 0:v.code))return;await Je(_)}catch(W){console.error("setting payment method failed:",W)}},[m,F,v]);V(()=>{f&&(v!=null&&v.code?(k==null?void 0:k.some(W=>W.code===v.code))?a(v.code):k!=null&&k.length?L(k[0].code):a(void 0):k[0]&&L(s||k[0].code))},[k,f,v,L,s]);const P=async _=>{t(),await L(_),v!=null&&v.code||c(_)},N=te((_,W)=>{if(!_){console.warn("Payment method handler is ignored because it has no code");return}if(!W){console.warn("Payment method handler is ignored because it is empty");return}h(ae=>({...ae,[_]:W}))},[]),S=r?o(Ee,{name:"PaymentMethods",slot:r,context:{addPaymentMethodHandler:N,replaceHTML(_){this.replaceWith(_),p(!1)}}}):null,C=i?d[i]:null,g=C?o(Ee,{name:"PaymentMethodContent",slot:C.render,context:{cartId:E,onPlaceOrder:t,handleServerError:n,replaceHTML(_){this.replaceWith(_)}}},C):void 0;return V(()=>{!l&&d!=_e&&console.warn("Payment method handlers you have added are ignored because the default content has been replaced")},[l,d]),{availablePaymentMethods:k,selectedPaymentMethod:i,onPaymentMethodChange:P,paymentMethodContent:g,mainSlotContent:S,isDefaultContentUsed:l}}const Ve=e=>{const{onPlaceOrder:t,handleServerError:n,paymentMethodsSlot:r}=e,{availablePaymentMethods:i,selectedPaymentMethod:a,onPaymentMethodChange:s,paymentMethodContent:c,mainSlotContent:d,isDefaultContentUsed:h}=on({onPlaceOrder:t,handleServerError:n,paymentMethodsSlot:r});return M(X,{children:[d&&o(d.type,{ref:d.ref,...d.props}),h&&o(nn,{options:i,selection:a,onChange:s,paymentMethodContent:c,isLoading:T.value.pending})]})};Ve.displayName="PaymentMethodsContainer";const Tn=Y(Ve),rn=({className:e,onClick:t=()=>{},disabled:n=!1})=>o("div",{className:$(["checkout-place-order",e]),children:o(st,{className:$(["checkout-place-order__button",e]),"data-testid":"place-order-button",disabled:n,onClick:t,size:"medium",type:"submit",variant:"primary",children:o(q,{id:"Checkout.PlaceOrder.button"})},"placeOrder")}),sn=[Te,"shipping_address","billing_address"],an=e=>{const t=e.querySelector(":invalid");t&&(t.scrollIntoView({behavior:"smooth"}),t.focus())},ln=()=>{const t=(Array.from(document.forms)||[]).filter(r=>sn.includes(r.name)).filter(r=>r.offsetParent!==null).filter(r=>!r.checkValidity()),n=t.length===0;if(!n){const r=t[0];an(r)}return n},cn=({onClick:e,handleServerError:t})=>{const[n,r]=G(!1),i=T.value.pending,a=async()=>{if(ln())try{await e()}catch(s){t(s)}};return V(()=>{const s=ee.on("cart/initialized",c=>{const d=(c==null?void 0:c.items)||[];r(d.some(h=>h.outOfStock||h.insufficientQuantity))},{eager:!0});return()=>{s==null||s.off()}},[]),o(rn,{onClick:a,disabled:i||n})},zn=Y(cn),We=({onCheckoutDataUpdate:e,preselectedFields:t,...n})=>{const r=Se.value.checked,i=te(a=>Ye({signal:a.signal,address:Me(a.address)}).then(()=>{if(r)return Pe({input:{same_as_shipping:!0}})}),[r]);return o(Oe,{...n,addressType:B.SHIPPING,headingId:"Checkout.ShippingAddress.title",name:dn,onCheckoutDataUpdate:e,preselectedFields:t,saveAddressHandler:i})};We.displayName="ShippingFormContainer";const Vn=Y(We),dn="shipping_address",un=()=>{const e=()=>window.innerWidth>=1920?"xxlarge":window.innerWidth>=1366?"xlarge":window.innerWidth>=1024?"large":window.innerWidth>=768?"medium":"small",[t,n]=H(e());return R(()=>{let r;const i=()=>{r&&clearTimeout(r),r=setTimeout(()=>n(e()),50)};return window.addEventListener("resize",i),()=>{window.removeEventListener("resize",i),r&&clearTimeout(r)}},[]),t},mn=()=>{const e=j(()=>{document.body.style.overflow="hidden"},[]),t=j(()=>{document.body.style.overflow=""},[]);return{lockScroll:e,unlockScroll:t}},De=()=>M("div",{className:"checkout-heading",children:[o(ne,{level:1,className:"checkout-heading__title",children:o(q,{id:"Checkout.title"})}),o(K,{variant:"primary",className:"checkout-heading__divider-primary"})]}),hn=({billingAddress:e,billToShippingAddress:t,cartSummaryList:n,emptyCart:r,login:i,orderSummary:a,outOfStock:s,paymentMethods:c,placeOrder:d,shippingAddress:h,shippingMethods:l})=>M(X,{children:[o(De,{}),n&&o(I,{node:n}),o(I,{node:r}),o(I,{node:s}),o(I,{node:i}),o(K,{variant:"primary"}),o(I,{node:h}),o(I,{node:t}),l&&o(I,{node:l}),o(K,{variant:"primary"}),o(I,{node:c}),o(I,{node:e}),a&&o(I,{node:a}),o(I,{node:s}),o(I,{node:d})]}),gn=({billingAddress:e,billToShippingAddress:t,cartSummaryList:n,emptyCart:r,login:i,orderSummary:a,outOfStock:s,paymentMethods:c,placeOrder:d,shippingAddress:h,shippingMethods:l})=>M(X,{children:[M("div",{className:"checkout__main",children:[o(De,{}),o(I,{node:r}),o(I,{node:s}),o(I,{node:i}),o(K,{variant:"primary"}),o(I,{node:h}),o(I,{node:t}),l&&o(I,{node:l}),o(K,{variant:"primary"}),o(I,{node:e}),o(I,{node:c}),o(K,{variant:"primary"}),o(I,{node:d})]}),M("div",{className:"checkout__aside",children:[a&&o(I,{node:a}),n&&o(I,{node:n})]})]}),pn=({blocks:e})=>un()==="small"?o(hn,{...e}):o(gn,{...e}),fn=({children:e,className:t,isLoading:n=!1,...r})=>M("div",{"data-testid":"checkout",className:$(["checkout",t]),...r,children:[n&&o(vn,{}),o(ut,{}),o(mt,{}),o("div",{className:"checkout__content",children:e})]});fn.Main=pn;const ne=({className:e,children:t,level:n=2})=>{const r=n>=1&&n<=6?`h${n}`:"h2";return o(r,{className:e,children:t})},vn=({className:e})=>{const{lockScroll:t,unlockScroll:n}=mn();return R(()=>(t(),n),[t,n]),o("div",{"data-testid":"checkout-overlay-loader",className:$(["checkout-overlay-loader",e]),children:o(he,{})})},kn=({label:e,name:t,value:n,icon:r,selected:i,onChange:a,className:s,children:c,radioButtonProps:d,...h})=>o("div",{className:$(["checkout-toggle-button",s,["checkout-toggle-button__selected",i]]),...h,children:M("label",{className:"checkout-toggle-button__actionButton",children:[o(we,{...d,label:"",name:t,value:n,checked:i,onChange:()=>a(n),"aria-label":e,className:$([s,"checkout-toggle-button__radioButton"])}),M("div",{className:"checkout-toggle-button__content",children:[r&&o(r.type,{...r==null?void 0:r.props,className:"checkout-toggle-button__icon"}),e]})]})}),Fn=({className:e,isLoading:t=!1,onSelectionChange:n=()=>{},options:r,selection:i,...a})=>{const s=J({Title:"Checkout.ShippingMethods.title",EmptyState:"Checkout.ShippingMethods.emptyState"});return r===void 0?o(En,{}):M("div",{...a,className:$(["checkout-shipping-methods",e]),children:[o(ne,{level:3,className:"checkout-shipping-methods__title",children:s.Title}),!t&&r.length===0&&o(Ae,{icon:o(Ne,{source:Ut}),message:o("p",{children:s.EmptyState})}),M("div",{className:$(["checkout-shipping-methods__content"]),children:[t&&o(he,{className:"checkout-shipping-methods__spinner"}),o("div",{className:$(["checkout-shipping-methods__options",["checkout-shipping-methods__options--loading",t]]),children:r.map(c=>o(we,{"data-testid":"shipping-method-radiobutton","aria-busy":t,id:c.value,name:"shipping-method",className:"checkout-shipping-methods__method",label:M(X,{children:[o(at,{amount:c.amount.value,currency:c.amount.currency})," ",o("span",{children:c.carrier.title})]}),description:c.title,value:c.value,checked:(i==null?void 0:i.value)===c.value,onChange:()=>n(c)},c.value))})]})]})},En=()=>M(me,{"data-testid":"shipping-methods-skeleton",children:[o(A,{variant:"heading",size:"small"}),o(A,{variant:"empty",size:"small"}),o(A,{size:"medium",fullWidth:!0}),o(A,{size:"medium",fullWidth:!0})]});function Cn(){var u;const[e,t]=H(),[n,r]=H();R(()=>{ee.on("checkout/address",({address:E,type:f,isValid:m})=>{f==="shipping"&&t({address:E,isValid:m})})},[]),R(()=>{r(Z.value)},[Z.value]),R(()=>{Q.value.pending?r(void 0):r(Z.value)},[Q.value.pending]);const{country_id:i,region_id:a,region:s,postcode:c}=(e==null?void 0:e.address)||{},d=!!e,h=T.value.data,l=!!((u=h==null?void 0:h.shippingAddresses)!=null&&u[0]),p=e==null?void 0:e.isValid;R(()=>{l||p||!n||!d||ee.emit("shipping/estimate",{address:ht({country_id:i,region_id:a,region:s,postcode:c}),shippingMethod:gt(n)})},[n,i,a,s,c,d,l,p])}const ce=(e,t)=>e.code===t.code&&e.carrier.code===t.carrier.code;function yn({onCheckoutDataUpdate:e,preSelectedMethod:t}){const n=Ie.value.data,r=!n,i=T.value.data,a=T.value.pending,s=Q.value.data,c=Q.value.pending,d=Z.value,h=i==null?void 0:i.id,l=i==null?void 0:i.shippingAddresses,p=l==null?void 0:l[0],u=!!p,E=p==null?void 0:p.availableShippingMethods,f=p==null?void 0:p.selectedShippingMethod,m=E||s,w=te(v=>{if(!u)return;const L={method_code:v.code,carrier_code:v.carrier.code};Qe([L]).then(()=>{e==null||e()}).catch(P=>{console.error("setting shipping methods on cart failed:",P)})},[u,e]),F=v=>{Z.value=v},k=xe(()=>{if(!(m!=null&&m.length))return;const v=m[0],L=d||f;return L?m.some(N=>ce(N,L))?L:v:m.find(S=>S.carrier.code===(t==null?void 0:t.carrierCode)&&S.code===(t==null?void 0:t.methodCode))||v},[d,f,m,t]);return V(()=>{k&&((!d||!ce(k,d))&&(Z.value=k),(!f||!ce(k,f))&&w(k))},[k,d,f,w]),V(()=>{if(!h||E)return;const{country:v,selectedRegion:L,selectedRegionId:P}=O.value,N=v||(n==null?void 0:n.defaultCountry);N&&Le({criteria:{country_code:N,region_name:L,region_id:P}}).catch(C=>{Q.value={pending:!1,data:[]},console.error("shipping methods estimation failed:",C)})},[h,E,n]),{isLoading:a||r||c,options:m,selection:k,onSelectionChange:F}}const Ge=({preSelectedMethod:e,onCheckoutDataUpdate:t,...n})=>{const{isLoading:r,options:i,selection:a,onSelectionChange:s}=yn({preSelectedMethod:e,onCheckoutDataUpdate:t});return Cn(),o(Fn,{...n,className:"checkout-shipping-methods",isLoading:r,onSelectionChange:s,options:i,selection:a})};Ge.displayName="ShippingMethodsContainer";const Wn=Y(Ge);export{On as B,fn as C,Hn as L,zn as P,Wn as S,Vn as a,dn as b,Tn as c,Te as d,jt as e};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{events as k}from"@dropins/tools/event-bus.js";import{Component as Y,options as O,isValidElement as J}from"@dropins/tools/preact.js";import{useMemo as $}from"@dropins/tools/preact-hooks.js";import{FetchGraphQL as K}from"@dropins/tools/fetch-graphql.js";class ee extends Error{constructor(t){super(t.map(i=>i.message).join(" ")),this.name="FetchError"}}class b extends Error{constructor(t){super(t),this.name="InvalidArgument"}}class Fe extends Error{constructor(t){super(t),this.name="UnexpectedError"}}class He extends b{constructor(){super("Cart ID is required")}}class Be extends b{constructor(){super("Email is required")}}class We extends b{constructor(){super("Payment method code is required")}}class Qe extends b{constructor(){super("Billing address is required")}}class Ve extends b{constructor(){super("Country Code is required")}}const A=[];function te(e){return new Promise((t,i)=>{A.push(e);const r=()=>{A[0]===e?e().then(t).catch(i).finally(()=>A.shift()):setTimeout(r,100)};r()})}const ie=["sender_email","recipient_email"];function re(e){return e.filter(t=>!t.path||!ie.some(i=>{var r;return((r=t.path)==null?void 0:r.at(-1))===i}))}const R=e=>{throw e instanceof DOMException&&e.name==="AbortError"||k.emit("error",{source:"checkout",type:"network",error:e}),e};var se=Symbol.for("preact-signals");function U(){if(y>1)y--;else{for(var e,t=!1;S!==void 0;){var i=S;for(S=void 0,M++;i!==void 0;){var r=i.o;if(i.o=void 0,i.f&=-3,!(8&i.f)&&F(i))try{i.c()}catch(o){t||(e=o,t=!0)}i=r}}if(M=0,y--,t)throw e}}var n=void 0,S=void 0,y=0,M=0,x=0;function P(e){if(n!==void 0){var t=e.n;if(t===void 0||t.t!==n)return t={i:0,S:e,p:n.s,n:void 0,t:n,e:void 0,x:void 0,r:t},n.s!==void 0&&(n.s.n=t),n.s=t,e.n=t,32&n.f&&e.S(t),t;if(t.i===-1)return t.i=0,t.n!==void 0&&(t.n.p=t.p,t.p!==void 0&&(t.p.n=t.n),t.p=n.s,t.n=void 0,n.s.n=t,n.s=t),t}}function l(e){this.v=e,this.i=0,this.n=void 0,this.t=void 0}l.prototype.brand=se;l.prototype.h=function(){return!0};l.prototype.S=function(e){this.t!==e&&e.e===void 0&&(e.x=this.t,this.t!==void 0&&(this.t.e=e),this.t=e)};l.prototype.U=function(e){if(this.t!==void 0){var t=e.e,i=e.x;t!==void 0&&(t.x=i,e.e=void 0),i!==void 0&&(i.e=t,e.x=void 0),e===this.t&&(this.t=i)}};l.prototype.subscribe=function(e){var t=this;return T(function(){var i=t.value,r=n;n=void 0;try{e(i)}finally{n=r}})};l.prototype.valueOf=function(){return this.value};l.prototype.toString=function(){return this.value+""};l.prototype.toJSON=function(){return this.value};l.prototype.peek=function(){var e=n;n=void 0;try{return this.value}finally{n=e}};Object.defineProperty(l.prototype,"value",{get:function(){var e=P(this);return e!==void 0&&(e.i=this.i),this.v},set:function(e){if(e!==this.v){if(M>100)throw new Error("Cycle detected");this.v=e,this.i++,x++,y++;try{for(var t=this.t;t!==void 0;t=t.x)t.t.N()}finally{U()}}}});function f(e){return new l(e)}function F(e){for(var t=e.s;t!==void 0;t=t.n)if(t.S.i!==t.i||!t.S.h()||t.S.i!==t.i)return!0;return!1}function H(e){for(var t=e.s;t!==void 0;t=t.n){var i=t.S.n;if(i!==void 0&&(t.r=i),t.S.n=t,t.i=-1,t.n===void 0){e.s=t;break}}}function B(e){for(var t=e.s,i=void 0;t!==void 0;){var r=t.p;t.i===-1?(t.S.U(t),r!==void 0&&(r.n=t.n),t.n!==void 0&&(t.n.p=r)):i=t,t.S.n=t.r,t.r!==void 0&&(t.r=void 0),t=r}e.s=i}function g(e){l.call(this,void 0),this.x=e,this.s=void 0,this.g=x-1,this.f=4}(g.prototype=new l).h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===x))return!0;if(this.g=x,this.f|=1,this.i>0&&!F(this))return this.f&=-2,!0;var e=n;try{H(this),n=this;var t=this.x();(16&this.f||this.v!==t||this.i===0)&&(this.v=t,this.f&=-17,this.i++)}catch(i){this.v=i,this.f|=16,this.i++}return n=e,B(this),this.f&=-2,!0};g.prototype.S=function(e){if(this.t===void 0){this.f|=36;for(var t=this.s;t!==void 0;t=t.n)t.S.S(t)}l.prototype.S.call(this,e)};g.prototype.U=function(e){if(this.t!==void 0&&(l.prototype.U.call(this,e),this.t===void 0)){this.f&=-33;for(var t=this.s;t!==void 0;t=t.n)t.S.U(t)}};g.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var e=this.t;e!==void 0;e=e.x)e.t.N()}};Object.defineProperty(g.prototype,"value",{get:function(){if(1&this.f)throw new Error("Cycle detected");var e=P(this);if(this.h(),e!==void 0&&(e.i=this.i),16&this.f)throw this.v;return this.v}});function oe(e){return new g(e)}function W(e){var t=e.u;if(e.u=void 0,typeof t=="function"){y++;var i=n;n=void 0;try{t()}catch(r){throw e.f&=-2,e.f|=8,G(e),r}finally{n=i,U()}}}function G(e){for(var t=e.s;t!==void 0;t=t.n)t.S.U(t);e.x=void 0,e.s=void 0,W(e)}function ne(e){if(n!==this)throw new Error("Out-of-order effect");B(this),n=e,this.f&=-2,8&this.f&&G(this),U()}function E(e){this.x=e,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32}E.prototype.c=function(){var e=this.S();try{if(8&this.f||this.x===void 0)return;var t=this.x();typeof t=="function"&&(this.u=t)}finally{e()}};E.prototype.S=function(){if(1&this.f)throw new Error("Cycle detected");this.f|=1,this.f&=-9,W(this),H(this),y++;var e=n;return n=this,ne.bind(this,e)};E.prototype.N=function(){2&this.f||(this.f|=2,this.o=S,S=this)};E.prototype.d=function(){this.f|=8,1&this.f||G(this)};function T(e){var t=new E(e);try{t.c()}catch(i){throw t.d(),i}return t.d.bind(t)}var D;function m(e,t){O[e]=t.bind(null,O[e]||function(){})}function I(e){D&&D(),D=e&&e.S()}function Q(e){var t=this,i=e.data,r=le(i);r.value=i;var o=$(function(){for(var s=t.__v;s=s.__;)if(s.__c){s.__c.__$f|=4;break}return t.__$u.c=function(){var a;!J(o.peek())&&((a=t.base)==null?void 0:a.nodeType)===3?t.base.data=o.peek():(t.__$f|=1,t.setState({}))},oe(function(){var a=r.value.value;return a===0?0:a===!0?"":a||""})},[]);return o.value}Q.displayName="_st";Object.defineProperties(l.prototype,{constructor:{configurable:!0,value:void 0},type:{configurable:!0,value:Q},props:{configurable:!0,get:function(){return{data:this}}},__b:{configurable:!0,value:1}});m("__b",function(e,t){if(typeof t.type=="string"){var i,r=t.props;for(var o in r)if(o!=="children"){var s=r[o];s instanceof l&&(i||(t.__np=i={}),i[o]=s,r[o]=s.peek())}}e(t)});m("__r",function(e,t){I();var i,r=t.__c;r&&(r.__$f&=-2,(i=r.__$u)===void 0&&(r.__$u=i=function(o){var s;return T(function(){s=this}),s.c=function(){r.__$f|=1,r.setState({})},s}())),I(i),e(t)});m("__e",function(e,t,i,r){I(),e(t,i,r)});m("diffed",function(e,t){I();var i;if(typeof t.type=="string"&&(i=t.__e)){var r=t.__np,o=t.props;if(r){var s=i.U;if(s)for(var a in s){var u=s[a];u!==void 0&&!(a in r)&&(u.d(),s[a]=void 0)}else i.U=s={};for(var c in r){var p=s[c],v=r[c];p===void 0?(p=ae(i,c,v,o),s[c]=p):p.o(v,o)}}}e(t)});function ae(e,t,i,r){var o=t in e&&e.ownerSVGElement===void 0,s=f(i);return{o:function(a,u){s.value=a,r=u},d:T(function(){var a=s.value.value;r[t]!==a&&(r[t]=a,o?e[t]=a:a?e.setAttribute(t,a):e.removeAttribute(t))})}}m("unmount",function(e,t){if(typeof t.type=="string"){var i=t.__e;if(i){var r=i.U;if(r){i.U=void 0;for(var o in r){var s=r[o];s&&s.d()}}}}else{var a=t.__c;if(a){var u=a.__$u;u&&(a.__$u=void 0,u.d())}}e(t)});m("__h",function(e,t,i,r){(r<3||r===9)&&(t.__$f|=2),e(t,i,r)});Y.prototype.shouldComponentUpdate=function(e,t){var i=this.__$u;if(!(i&&i.s!==void 0||4&this.__$f)||3&this.__$f)return!0;for(var r in t)return!0;for(var o in e)if(o!=="__source"&&e[o]!==this.props[o])return!0;for(var s in this.props)if(!(s in e))return!0;return!1};function le(e){return $(function(){return f(e)},[])}const ce=f({data:void 0,pending:!1}),ue=f({checked:!0,setByUser:!1}),N=f({pending:!1,data:void 0});T(()=>{var e;(e=N.value.data)!=null&&e.isVirtual&&(ue.value={checked:!1,setByUser:!1})});T(()=>{N.value.pending||k.emit("checkout/data",N.value.data||null)});const de=f({data:void 0,pending:!1}),fe=f({pending:!1,data:void 0}),he=f({pending:!1,data:void 0}),pe=f({pending:!1,data:void 0}),ve=f({data:void 0,pending:!1}),_e={cart:N,customer:fe,estimateShippingMethods:he,regions:pe,storeConfig:ve,countryList:de,addressFormFields:ce};function ye(e,t){return t.split(".").reduce((i,r)=>i&&i[r]!==void 0?i[r]:void 0,e)}const q={cart:null,customer:null,estimateShippingMethods:null,regions:null,storeConfig:null,countryList:null,addressFormFields:null};async function ge(e){const{defaultValueOnFail:t,query:i,options:r,path:o,signalType:s,type:a,transformer:u}=e,c=_e[s],p=Symbol();q[s]=p,c.value={...c.value,pending:!0};try{const{data:v,errors:w}=await(a==="mutation"?te(()=>X(i,r).catch(R)):X(i,{method:"GET",cache:"no-cache",...r}).catch(R));if(w){const L=re(w);if(L.length>0)throw new ee(L)}let C=ye(v,o);if(C===void 0)throw new Error(`No data found at path: ${o}`);return u&&(C=u(C)),c.value={...c.value,data:C},setTimeout(()=>{c.value={...c.value,pending:q[s]===p?!1:c.value.pending}},0),C}catch(v){if(t)return c.value={pending:!1,data:t},t;if(v.name==="AbortError")return;throw c.value={...c.value,pending:!1},v}}const me={cartId:null,authenticated:!1},je=new Proxy(me,{set(e,t,i){return e[t]=i,!0},get(e,t){return e[t]}}),Ce=e=>{if(e)return{code:e.code,title:e.title}},Se=e=>{if(e)return e.filter(t=>!!t).map(t=>{const{code:i,title:r}=t;return{code:i,title:r}})},be=e=>e==null,Ee=(e,t)=>e.amount.value-t.amount.value,V=e=>!(!e||!e.method_code||!e.method_title||be(e.amount.value)||!e.amount.currency),j=e=>({amount:{value:e.amount.value,currency:e.amount.currency},title:e.method_title,code:e.method_code,carrier:{code:e.carrier_code,title:e.carrier_title},value:`${e.carrier_code} - ${e.method_code}`,...e.price_excl_tax&&{amountExclTax:{value:e.price_excl_tax.value,currency:e.price_excl_tax.currency}},...e.price_incl_tax&&{amountInclTax:{value:e.price_incl_tax.value,currency:e.price_incl_tax.currency}}}),Te=e=>{if(V(e))return j(e)},xe=e=>{if(e)return e.filter(V).map(t=>j(t)).sort(Ee)},Ie=e=>e?!!e.code&&!!e.label:!1,Ne=e=>{if(!Ie(e))return;const{code:t,label:i,region_id:r}=e;return r?{code:t,name:i,id:r}:{code:t,name:i}},Ae=e=>{const{code:t,label:i}=e;return{value:t,label:i}},De=e=>e?"code"in e&&"value"in e:!1,Me=e=>e.filter(De).map(t=>{const{code:i,value:r}=t;return{code:i,value:r}}),Z=e=>{const t=e.street.filter(Boolean);return{firstName:e.firstname,lastName:e.lastname,company:e.company||void 0,city:e.city,street:t,postCode:e.postcode||void 0,vatId:e.vat_id||void 0,telephone:e.telephone||void 0,region:Ne(e.region),country:Ae(e.country),customAttributes:Me(e.custom_attributes)}},Ue=e=>{if(e)return Z(e)},Ge=e=>e.filter(t=>!!t).map(t=>{const{available_shipping_methods:i,selected_shipping_method:r,...o}=t;return{...Z(o),availableShippingMethods:xe(i),selectedShippingMethod:Te(r)}}),Ze=e=>({availablePaymentMethods:Se(e.available_payment_methods),billingAddress:Ue(e.billing_address),email:e.email??void 0,id:e.id,isEmpty:e.total_quantity===0,isVirtual:e.is_virtual,selectedPaymentMethod:Ce(e.selected_payment_method),shippingAddresses:Ge(e.shipping_addresses)}),we=`
|
|
1
|
+
import{events as b}from"@dropins/tools/event-bus.js";import{signal as o,effect as S}from"@dropins/tools/signals.js";import{FetchGraphQL as N}from"@dropins/tools/fetch-graphql.js";class G extends Error{constructor(t){super(t.map(s=>s.message).join(" ")),this.name="FetchError"}}class p extends Error{constructor(t){super(t),this.name="InvalidArgument"}}class _e extends Error{constructor(t){super(t),this.name="UnexpectedError"}}class fe extends p{constructor(){super("Cart ID is required")}}class he extends p{constructor(){super("Email is required")}}class ge extends p{constructor(){super("Payment method code is required")}}class me extends p{constructor(){super("Billing address is required")}}class ve extends p{constructor(){super("Country Code is required")}}const m=[];function L(e){return new Promise((t,s)=>{m.push(e);const r=()=>{m[0]===e?e().then(t).catch(s).finally(()=>m.shift()):setTimeout(r,100)};r()})}const R=["sender_email","recipient_email"];function O(e){return e.filter(t=>!t.path||!R.some(s=>{var r;return((r=t.path)==null?void 0:r.at(-1))===s}))}const T=e=>{throw e instanceof DOMException&&e.name==="AbortError"||b.emit("error",{source:"checkout",type:"network",error:e}),e},U=o({data:void 0,pending:!1}),q=o({checked:!0,setByUser:!1}),h=o({pending:!1,data:void 0});S(()=>{var e;(e=h.value.data)!=null&&e.isVirtual&&(q.value={checked:!1,setByUser:!1})});S(()=>{h.value.pending||b.emit("checkout/data",h.value.data||null)});const X=o({data:void 0,pending:!1}),P=o({pending:!1,data:void 0}),k=o({pending:!1,data:void 0}),w=o({pending:!1,data:void 0}),ye=o(void 0),F=o({data:void 0,pending:!1}),H={cart:h,customer:P,estimateShippingMethods:k,regions:w,storeConfig:F,countryList:X,addressFormFields:U};function B(e,t){return t.split(".").reduce((s,r)=>s&&s[r]!==void 0?s[r]:void 0,e)}const E={cart:null,customer:null,estimateShippingMethods:null,regions:null,storeConfig:null,countryList:null,addressFormFields:null};async function W(e){const{defaultValueOnFail:t,query:s,options:r,path:n,signalType:d,type:g,transformer:_}=e,a=H[d],v=Symbol();E[d]=v,a.value={...a.value,pending:!0};try{const{data:f,errors:y}=await(g==="mutation"?L(()=>I(s,r).catch(T)):I(s,{method:"GET",cache:"no-cache",...r}).catch(T));if(y){const C=O(y);if(C.length>0)throw new G(C)}let u=B(f,n);if(u===void 0)throw new Error(`No data found at path: ${n}`);return _&&(u=_(u)),a.value={...a.value,data:u},setTimeout(()=>{a.value={...a.value,pending:E[d]===v?!1:a.value.pending}},0),u}catch(f){if(t)return a.value={pending:!1,data:t},t;if(f.name==="AbortError")return;throw a.value={...a.value,pending:!1},f}}const Q={cartId:null,authenticated:!1},Ce=new Proxy(Q,{set(e,t,s){return e[t]=s,!0},get(e,t){return e[t]}}),$=e=>{if(e)return{code:e.code,title:e.title}},V=e=>{if(e)return e.filter(t=>!!t).map(t=>{const{code:s,title:r}=t;return{code:s,title:r}})},Z=e=>e==null,j=(e,t)=>e.amount.value-t.amount.value,x=e=>!(!e||!e.method_code||!e.method_title||Z(e.amount.value)||!e.amount.currency),D=e=>({amount:{value:e.amount.value,currency:e.amount.currency},title:e.method_title,code:e.method_code,carrier:{code:e.carrier_code,title:e.carrier_title},value:`${e.carrier_code} - ${e.method_code}`,...e.price_excl_tax&&{amountExclTax:{value:e.price_excl_tax.value,currency:e.price_excl_tax.currency}},...e.price_incl_tax&&{amountInclTax:{value:e.price_incl_tax.value,currency:e.price_incl_tax.currency}}}),z=e=>{if(x(e))return D(e)},Y=e=>{if(e)return e.filter(x).map(t=>D(t)).sort(j)},K=e=>e?!!e.code&&!!e.label:!1,J=e=>{if(!K(e))return;const{code:t,label:s,region_id:r}=e;return r?{code:t,name:s,id:r}:{code:t,name:s}},ee=e=>{const{code:t,label:s}=e;return{value:t,label:s}},te=e=>e?"code"in e&&"value"in e:!1,se=e=>e.filter(te).map(t=>{const{code:s,value:r}=t;return{code:s,value:r}}),A=e=>{const t=e.street.filter(Boolean);return{firstName:e.firstname,lastName:e.lastname,company:e.company||void 0,city:e.city,street:t,postCode:e.postcode||void 0,vatId:e.vat_id||void 0,telephone:e.telephone||void 0,region:J(e.region),country:ee(e.country),customAttributes:se(e.custom_attributes)}},re=e=>{if(e)return A(e)},ie=e=>e.filter(t=>!!t).map(t=>{const{available_shipping_methods:s,selected_shipping_method:r,...n}=t;return{...A(n),availableShippingMethods:Y(s),selectedShippingMethod:z(r)}}),Te=e=>({availablePaymentMethods:V(e.available_payment_methods),billingAddress:re(e.billing_address),email:e.email??void 0,id:e.id,isEmpty:e.total_quantity===0,isVirtual:e.is_virtual,selectedPaymentMethod:$(e.selected_payment_method),shippingAddresses:ie(e.shipping_addresses)}),ae=`
|
|
2
2
|
query getStoreConfig {
|
|
3
3
|
storeConfig {
|
|
4
4
|
countries_with_required_region
|
|
@@ -12,7 +12,7 @@ import{events as k}from"@dropins/tools/event-bus.js";import{Component as Y,optio
|
|
|
12
12
|
store_code
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
`;var
|
|
15
|
+
`;var c=(e=>(e.EXCLUDING_TAX="EXCLUDING_TAX",e.INCLUDING_EXCLUDING_TAX="INCLUDING_AND_EXCLUDING_TAX",e.INCLUDING_TAX="INCLUDING_TAX",e))(c||{});const oe="US",l={defaultCountry:oe,countriesWithRequiredRegion:[],displayStateIfOptional:!1,countriesWithOptionalZipCode:[],isGuestCheckoutEnabled:!1,isOnePageCheckoutEnabled:!1,shoppingCartDisplaySetting:{shipping:c.EXCLUDING_TAX}},Ee=async()=>await W({type:"query",query:ae,options:{method:"GET",cache:"no-cache"},path:"storeConfig",signalType:"storeConfig",transformer:le,defaultValueOnFail:l});function ne(e){switch(e){case 1:return c.EXCLUDING_TAX;case 2:return c.INCLUDING_TAX;case 3:return c.INCLUDING_EXCLUDING_TAX;default:return c.EXCLUDING_TAX}}function le(e){if(!e)return l;const{default_country:t,countries_with_required_region:s,display_state_if_optional:r,optional_zip_countries:n,is_guest_checkout_enabled:d,is_one_page_checkout_enabled:g,shopping_cart_display_shipping:_}=e;return{defaultCountry:t||l.defaultCountry,countriesWithRequiredRegion:(s==null?void 0:s.split(","))||l.countriesWithRequiredRegion,displayStateIfOptional:r||l.displayStateIfOptional,countriesWithOptionalZipCode:(n==null?void 0:n.split(","))||l.countriesWithOptionalZipCode,isGuestCheckoutEnabled:d||l.isGuestCheckoutEnabled,isOnePageCheckoutEnabled:g||l.isOnePageCheckoutEnabled,shoppingCartDisplaySetting:{shipping:ne(_)}}}const{setEndpoint:Ie,setFetchGraphQlHeader:be,removeFetchGraphQlHeader:Se,setFetchGraphQlHeaders:xe,fetchGraphQl:I,getConfig:De}=new N().getMethods();var i=(e=>(e.Boolean="BOOLEAN",e.Date="DATE",e.Datetime="DATETIME",e.File="FILE",e.Gallery="GALLERY",e.Hidden="HIDDEN",e.Image="IMAGE",e.MediaImage="MEDIA_IMAGE",e.Multiline="MULTILINE",e.Multiselect="MULTISELECT",e.Price="PRICE",e.Select="SELECT",e.Text="TEXT",e.Textarea="TEXTAREA",e.Undefined="UNDEFINED",e.Weight="WEIGHT",e))(i||{}),ce=(e=>(e.DateRangeMax="DATE_RANGE_MAX",e.DateRangeMin="DATE_RANGE_MIN",e.FileExtensions="FILE_EXTENSIONS",e.InputValidation="INPUT_VALIDATION",e.MaxFileSize="MAX_FILE_SIZE",e.MaxImageHeight="MAX_IMAGE_HEIGHT",e.MaxImageWidth="MAX_IMAGE_WIDTH",e.MaxTextLength="MAX_TEXT_LENGTH",e.MinTextLength="MIN_TEXT_LENGTH",e))(ce||{});const Ae=[{frontendInput:i.Text,code:"firstname",label:"First Name",isRequired:!0,isDisabled:!1,options:[],validateRules:[],sortOrder:10},{frontendInput:i.Text,code:"lastname",label:"Last Name",isRequired:!0,isDisabled:!1,options:[],validateRules:[],sortOrder:20},{frontendInput:i.Text,code:"company",label:"Company",isRequired:!1,isDisabled:!1,options:[],validateRules:[],sortOrder:30},{frontendInput:i.Multiline,code:"street",label:"Street Address",isRequired:!0,isDisabled:!1,options:[],validateRules:[],sortOrder:40},{frontendInput:i.Text,code:"city",label:"City",isRequired:!0,isDisabled:!1,options:[],validateRules:[],sortOrder:50},{frontendInput:i.Select,code:"country_id",label:"Country",isRequired:!0,isDisabled:!1,options:[{text:"United States",value:"US"},{text:"Spain",value:"ES"},{text:"France",value:"FR"}],validateRules:[],sortOrder:60},{frontendInput:i.Text,code:"region",label:"State/Province",isRequired:!1,isDisabled:!1,options:[],validateRules:[],sortOrder:70},{frontendInput:i.Hidden,code:"region_id",label:"State/Province",isRequired:!1,isDisabled:!1,options:[],validateRules:[],sortOrder:80},{frontendInput:i.Text,code:"postcode",label:"Zip/Postal Code",isRequired:!1,isDisabled:!1,options:[],validateRules:[],sortOrder:90},{frontendInput:i.Text,code:"telephone",label:"Phone Number",isRequired:!0,isDisabled:!1,options:[],validateRules:[],sortOrder:100},{frontendInput:i.Text,code:"vat_id",label:"VAT Number",isRequired:!1,isDisabled:!1,options:[],validateRules:[],sortOrder:110}],M=`
|
|
16
16
|
fragment CheckoutData on Cart {
|
|
17
17
|
is_virtual
|
|
18
18
|
email
|
|
@@ -114,20 +114,20 @@ import{events as k}from"@dropins/tools/event-bus.js";import{Component as Y,optio
|
|
|
114
114
|
title
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
|
-
`,
|
|
117
|
+
`,Me=`
|
|
118
118
|
query getCart($cartId: String!) {
|
|
119
119
|
cart(cart_id: $cartId) {
|
|
120
120
|
id
|
|
121
121
|
...CheckoutData
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
|
-
${
|
|
125
|
-
`,
|
|
124
|
+
${M}
|
|
125
|
+
`,Ne=`
|
|
126
126
|
query getCustomerCart {
|
|
127
127
|
cart: customerCart {
|
|
128
128
|
id
|
|
129
129
|
...CheckoutData
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
|
-
${
|
|
133
|
-
`;export{
|
|
132
|
+
${M}
|
|
133
|
+
`;export{i as A,ye as B,M as C,oe as D,k as E,G as F,p as I,fe as M,l as S,c as T,_e as U,ce as V,he as a,ge as b,me as c,ve as d,be as e,xe as f,I as g,De as h,Ae as i,Ee as j,Ce as k,W as l,F as m,h as n,P as o,T as p,Me as q,Se as r,Ie as s,Te as t,Ne as u,q as v,U as w,Y as x,w as y,X as z};
|
|
@@ -3,7 +3,8 @@ import { AddressFormType, AddressFormValues } from '../../data/models';
|
|
|
3
3
|
type useCheckoutAddressEventEmitterProps = {
|
|
4
4
|
address: AddressFormValues;
|
|
5
5
|
type: AddressFormType;
|
|
6
|
+
isValid: () => boolean;
|
|
6
7
|
};
|
|
7
|
-
declare function useCheckoutAddressEventEmitter({ address, type, }: useCheckoutAddressEventEmitterProps): void;
|
|
8
|
+
declare function useCheckoutAddressEventEmitter({ address, type, isValid, }: useCheckoutAddressEventEmitterProps): void;
|
|
8
9
|
export default useCheckoutAddressEventEmitter;
|
|
9
10
|
//# sourceMappingURL=useCheckoutAddressEventEmitter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as I,B as _,c,B as f}from"../chunks/BillToShippingAddress.js";import"@dropins/tools/preact-jsx-runtime.js";import"@dropins/tools/event-bus.js";import"../chunks/getCart.graphql.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/setBillingAddress.js";import"@dropins/tools/lib.js";import"@dropins/tools/components.js";import"@dropins/tools/i18n.js";import"@dropins/tools/preact-compat.js";export{I as BILL_TO_SHIPPING_KEY,_ as BillToShippingAddress,c as compareAddresses,f as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as _,B as d,B as g}from"../chunks/ShippingMethods.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/setShippingMethods.js";import"../chunks/getCart.graphql.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/
|
|
1
|
+
import{e as _,B as d,B as g}from"../chunks/ShippingMethods.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/setShippingMethods.js";import"../chunks/getCart.graphql.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/lib.js";import"@dropins/tools/i18n.js";import"@dropins/tools/components.js";import"../chunks/BillToShippingAddress.js";import"../chunks/setBillingAddress.js";import"@dropins/tools/preact-compat.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";export{_ as BILLING_FORM_NAME,d as BillingForm,g as default};
|
|
@@ -25,6 +25,7 @@ export interface CheckoutProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
25
25
|
CartSummaryList?: SlotProps;
|
|
26
26
|
OrderSummary?: SlotProps;
|
|
27
27
|
PaymentMethods?: SlotProps<PaymentMethodSlotContext>;
|
|
28
|
+
ShippingMethods?: SlotProps;
|
|
28
29
|
};
|
|
29
30
|
preselectedCartData?: PreselectedCartData;
|
|
30
31
|
onSignInClick?: () => void;
|
package/containers/Checkout.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as r,jsxs as
|
|
1
|
+
import{jsx as r,jsxs as j}from"@dropins/tools/preact-jsx-runtime.js";import{k as K,n as $,o as f,U as w}from"../chunks/getCart.graphql.js";import"@dropins/tools/event-bus.js";import{a as H}from"../chunks/getCustomer.js";import{p as q}from"../chunks/placeOrder.js";import{C as k,B as z,L as G,c as J,P as Q,a as R,S as W}from"../chunks/ShippingMethods.js";import"@dropins/tools/preact-hooks.js";import{Slot as p,classes as a}from"@dropins/tools/lib.js";import{IllustratedMessage as X,Icon as Y,Button as Z}from"@dropins/tools/components.js";import{B as D}from"../chunks/BillToShippingAddress.js";import{O as rr,S as er}from"../chunks/OutOfStock.js";import{useText as C}from"@dropins/tools/i18n.js";import{useState as u,useCallback as or}from"@dropins/tools/preact-compat.js";import{E as tr}from"../chunks/EmptyCart.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/setShippingMethods.js";import"../chunks/setBillingAddress.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";const Pr="OUT_OF_STOCK",br=({className:c,slots:e,routeHome:n,onCartProductsUpdate:m,onCheckoutDataUpdate:s,preselectedCartData:o,onSignInClick:O,onSignOutClick:d,...y})=>{const E=K.authenticated,[M,_]=u(!1),[h,l]=u(""),P=h!=="",[b,T]=u(),{data:t,pending:g}=$.value,{data:S,pending:x}=f.value,B=g&&E&&!S,F=!!(t!=null&&t.isVirtual),L=t&&!(t!=null&&t.isEmpty)&&!g&&!F,A=C({CheckoutUnexpectedError:"Checkout.ServerError.unexpected"}),U=or(async()=>{t&&(await q(),_(!0))},[t]),V=i=>{T(i?()=>i:void 0)},I=async()=>{l(""),t&&H()},v=i=>{const N=i instanceof TypeError||i instanceof w?A.CheckoutUnexpectedError:i.message;l(N)};return M?null:P?r(ir,{errorMessage:h,onClick:I}):r(k,{className:c,isLoading:B||x,...y,children:r(k.Main,{blocks:{cartSummaryList:r(p,{name:"CartSummaryList",slot:e==null?void 0:e.CartSummaryList}),orderSummary:r(p,{name:"OrderSummary",slot:e==null?void 0:e.OrderSummary}),outOfStock:r(rr,{routeCart:n,onCartProductsUpdate:m}),emptyCart:r(tr,{routeHome:n}),billingAddress:r(z,{}),billToShippingAddress:r(D,{hideOnVirtualCart:!0},`bill-to-shipping-address${S?"-customer":""}`),login:r(G,{onSignInClick:O,onSignOutClick:()=>{d==null||d(),f.value.pending=!0}}),paymentMethods:r(J,{onPlaceOrder:V,handleServerError:v,paymentMethodsSlot:e==null?void 0:e.PaymentMethods}),placeOrder:r(Q,{onClick:b??U,handleServerError:v}),shippingAddress:r(R,{hideOnVirtualCart:!0,onCheckoutDataUpdate:s,preselectedFields:o==null?void 0:o.address}),shippingMethods:L?r(p,{name:"ShippingMethods",slot:e==null?void 0:e.ShippingMethods,children:r(W,{name:"shipping-methods",hideOnVirtualCart:!0,onCheckoutDataUpdate:s,preSelectedMethod:o==null?void 0:o.shippingMethod})}):void 0}})})},ir=({className:c,errorMessage:e,contactSupport:n,...m})=>{const{onClick:s}=m,o=C({Title:"Checkout.ServerError.title",Message:"Checkout.ServerError.message",ContactSupport:"Checkout.ServerError.contactSupport",Button:"Checkout.ServerError.button"});return r(X,{"aria-invalid":"true","aria-describedby":"checkout-server-error__message","aria-live":"polite",className:a(["checkout-server-error",c]),"data-testid":"checkout-server-error",heading:e??o.Title,message:j("p",{id:a(["checkout-server-error__message"]),children:[o.Message,r("br",{}),r("span",{children:n??o.ContactSupport})]}),icon:r(Y,{className:a(["checkout-server-error__icon"]),source:er}),action:r(Z,{className:a(["checkout-server-error__button"]),onClick:s,children:o.Button})})};export{br as Checkout,Pr as OUT_OF_STOCK,br as default};
|
package/containers/EmptyCart.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{E as c,E as g}from"../chunks/EmptyCart.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/ShippingMethods.js";import"../chunks/setShippingMethods.js";import"../chunks/getCart.graphql.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/
|
|
1
|
+
import{E as c,E as g}from"../chunks/EmptyCart.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/ShippingMethods.js";import"../chunks/setShippingMethods.js";import"../chunks/getCart.graphql.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/lib.js";import"@dropins/tools/i18n.js";import"@dropins/tools/components.js";import"../chunks/BillToShippingAddress.js";import"../chunks/setBillingAddress.js";import"@dropins/tools/preact-compat.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";export{c as EmptyCart,g as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t,jsxs as E}from"@dropins/tools/preact-jsx-runtime.js";import"../chunks/ShippingMethods.js";import{events as S}from"@dropins/tools/event-bus.js";import{useState as L,useEffect as k}from"@dropins/tools/preact-hooks.js";import{m as M,T as I}from"../chunks/getCart.graphql.js";import{VComponent as w,classes as C}from"@dropins/tools/lib.js";import{Skeleton as A,SkeletonRow as B,Price as h}from"@dropins/tools/components.js";import"../chunks/BillToShippingAddress.js";import{useText as G,Text as c}from"@dropins/tools/i18n.js";import"../chunks/setShippingMethods.js";import"../chunks/setBillingAddress.js";import"@dropins/tools/preact-compat.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";import"@dropins/tools/
|
|
1
|
+
import{jsx as t,jsxs as E}from"@dropins/tools/preact-jsx-runtime.js";import"../chunks/ShippingMethods.js";import{events as S}from"@dropins/tools/event-bus.js";import{useState as L,useEffect as k}from"@dropins/tools/preact-hooks.js";import{m as M,T as I}from"../chunks/getCart.graphql.js";import{VComponent as w,classes as C}from"@dropins/tools/lib.js";import{Skeleton as A,SkeletonRow as B,Price as h}from"@dropins/tools/components.js";import"../chunks/BillToShippingAddress.js";import{useText as G,Text as c}from"@dropins/tools/i18n.js";import"../chunks/setShippingMethods.js";import"../chunks/setBillingAddress.js";import"@dropins/tools/preact-compat.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";const P=()=>t(A,{"data-testid":"estimate-shipping-skeleton",children:t(B,{size:"xsmall"})}),Z=()=>{const[e,p]=L(),r=e!==void 0,a=(e==null?void 0:e.amount.value)===0,{data:n,pending:_}=M.value,y=_||n===void 0,l=n==null?void 0:n.shoppingCartDisplaySetting.shipping,D=l===I.INCLUDING_EXCLUDING_TAX,g=l===I.INCLUDING_TAX,x=G({freeShipping:"Checkout.EstimateShipping.freeShipping",taxToBeDetermined:"Checkout.EstimateShipping.taxToBeDetermined"});if(k(()=>{const i=S.on("shipping/estimate",s=>{const o=s.shippingMethod,{amount:m,amountExclTax:d,amountInclTax:u}=o;p({estimated:!0,amount:m,amountExclTax:d,amountInclTax:u})});return()=>{i==null||i.off()}},[]),k(()=>{const i=S.on("checkout/data",s=>{var f,T;const o=(T=(f=s==null?void 0:s.shippingAddresses)==null?void 0:f[0])==null?void 0:T.selectedShippingMethod;if(!o)return;const{amount:m,amountExclTax:d,amountInclTax:u}=o;p({estimated:!1,amount:m,amountExclTax:d,amountInclTax:u})});return()=>{i==null||i.off()}},[]),!r||y)return t(P,{});const N=()=>a?t("span",{"data-testId":"free-shipping",children:x.freeShipping}):g&&e.amountInclTax?t(h,{"data-testid":"shipping",amount:e.amountInclTax.value,currency:e.amountInclTax.currency}):t(h,{"data-testid":"shipping",amount:e.amount.value,currency:e.amount.currency}),v=()=>e.amountExclTax?t(h,{"data-testid":"shipping-excluding-tax",amount:e.amountExclTax.value,currency:e.amountExclTax.currency}):t("span",{children:x.taxToBeDetermined});return t(U,{estimated:e.estimated,price:N(),taxExcluded:D&&!a,taxIncluded:g&&!a,priceExclTax:v()})},U=({estimated:e=!1,price:p,priceExclTax:r,taxExcluded:a=!1,taxIncluded:n=!1})=>E("div",{"data-testid":"estimate-shipping",className:"checkout-estimate-shipping",children:[t("span",{className:"checkout-estimate-shipping__label",children:e?t(c,{id:"Checkout.EstimateShipping.estimated"}):t(c,{id:"Checkout.EstimateShipping.label"})}),t(w,{node:p,className:"checkout-estimate-shipping__price"}),n&&t("span",{"data-testid":"shipping-tax-included",className:C(["checkout-estimate-shipping__caption"]),children:t(c,{id:"Checkout.EstimateShipping.withTaxes"})}),a&&E("span",{"data-testid":"shipping-tax-included-excluded",className:C(["checkout-estimate-shipping__caption"]),children:[r," ",t(c,{id:"Checkout.EstimateShipping.withoutTaxes"})]})]});export{Z as EstimateShipping,Z as default};
|
package/containers/LoginForm.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as g,L as l,L as n}from"../chunks/ShippingMethods.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/setShippingMethods.js";import"../chunks/getCart.graphql.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/
|
|
1
|
+
import{d as g,L as l,L as n}from"../chunks/ShippingMethods.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/setShippingMethods.js";import"../chunks/getCart.graphql.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/lib.js";import"@dropins/tools/i18n.js";import"@dropins/tools/components.js";import"../chunks/BillToShippingAddress.js";import"../chunks/setBillingAddress.js";import"@dropins/tools/preact-compat.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";export{g as LOGIN_FORM_NAME,l as LoginForm,n as default};
|
package/containers/OutOfStock.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{O as b,O as g}from"../chunks/OutOfStock.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/ShippingMethods.js";import"../chunks/setShippingMethods.js";import"../chunks/getCart.graphql.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/
|
|
1
|
+
import{O as b,O as g}from"../chunks/OutOfStock.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/ShippingMethods.js";import"../chunks/setShippingMethods.js";import"../chunks/getCart.graphql.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/lib.js";import"@dropins/tools/i18n.js";import"@dropins/tools/components.js";import"../chunks/BillToShippingAddress.js";import"../chunks/setBillingAddress.js";import"@dropins/tools/preact-compat.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";export{b as OutOfStock,g as default};
|
|
@@ -15,7 +15,7 @@ export interface PaymentMethodContentSlotContext {
|
|
|
15
15
|
}
|
|
16
16
|
export interface PaymentMethodsProps extends HTMLAttributes<HTMLDivElement> {
|
|
17
17
|
paymentMethodsSlot?: SlotProps<PaymentMethodSlotContext>;
|
|
18
|
-
onPlaceOrder: (fn
|
|
18
|
+
onPlaceOrder: (fn?: () => Promise<void>) => void;
|
|
19
19
|
handleServerError: (error: any) => void;
|
|
20
20
|
}
|
|
21
21
|
export declare const PaymentMethods: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as y,c as M}from"../chunks/ShippingMethods.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/setShippingMethods.js";import"../chunks/getCart.graphql.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/
|
|
1
|
+
import{c as y,c as M}from"../chunks/ShippingMethods.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/setShippingMethods.js";import"../chunks/getCart.graphql.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/lib.js";import"@dropins/tools/i18n.js";import"@dropins/tools/components.js";import"../chunks/BillToShippingAddress.js";import"../chunks/setBillingAddress.js";import"@dropins/tools/preact-compat.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";export{y as PaymentMethods,M as default};
|
package/containers/PlaceOrder.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{P as b,P as g}from"../chunks/ShippingMethods.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/setShippingMethods.js";import"../chunks/getCart.graphql.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/
|
|
1
|
+
import{P as b,P as g}from"../chunks/ShippingMethods.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/setShippingMethods.js";import"../chunks/getCart.graphql.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/lib.js";import"@dropins/tools/i18n.js";import"@dropins/tools/components.js";import"../chunks/BillToShippingAddress.js";import"../chunks/setBillingAddress.js";import"@dropins/tools/preact-compat.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";export{b as PlaceOrder,g as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b,a as d,a as g}from"../chunks/ShippingMethods.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/setShippingMethods.js";import"../chunks/getCart.graphql.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/
|
|
1
|
+
import{b,a as d,a as g}from"../chunks/ShippingMethods.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/setShippingMethods.js";import"../chunks/getCart.graphql.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/lib.js";import"@dropins/tools/i18n.js";import"@dropins/tools/components.js";import"../chunks/BillToShippingAddress.js";import"../chunks/setBillingAddress.js";import"@dropins/tools/preact-compat.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";export{b as SHIPPING_FORM_NAME,d as ShippingForm,g as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{S as x,S as M}from"../chunks/ShippingMethods.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/setShippingMethods.js";import"../chunks/getCart.graphql.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/
|
|
1
|
+
import{S as x,S as M}from"../chunks/ShippingMethods.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/setShippingMethods.js";import"../chunks/getCart.graphql.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/lib.js";import"@dropins/tools/i18n.js";import"@dropins/tools/components.js";import"../chunks/BillToShippingAddress.js";import"../chunks/setBillingAddress.js";import"@dropins/tools/preact-compat.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";export{x as ShippingMethods,M as default};
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name": "@dropins/storefront-checkout", "version": "0.1.0-
|
|
1
|
+
{"name": "@dropins/storefront-checkout", "version": "0.1.0-alpha43", "@dropins/tools": "~0.28.2"}
|
package/render.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
(function(a,o){try{if(typeof document<"u"){const t=document.createElement("style"),n=o.styleId;for(const e in o.attributes)t.setAttribute(e,o.attributes[e]);t.setAttribute("data-dropin",n),t.appendChild(document.createTextNode(a));const r=document.querySelector('style[data-dropin="sdk"]');if(r)r.after(t);else{const e=document.querySelector('link[rel="stylesheet"], style');e?e.before(t):document.head.append(t)}}}catch(t){console.error("dropin-styles (injectCodeFunction)",t)}})(`.checkout-bill-to-shipping-address label{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);gap:0}
|
|
2
2
|
.checkout-fields-form{display:block}.checkout-shipping-address__skeleton{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-medium);flex-wrap:wrap;min-width:384px}.checkout-address-form__company,.checkout-address-form__street{grid-column:1 / -1}.checkout-address-form__street .dropin-input-container{margin-bottom:var(--spacing-medium)}.checkout-address-form__street .dropin-input-container:last-child{margin-bottom:0}.checkout-address-form__street .dropin-field__content{display:grid;grid-auto-flow:row;gap:var(--spacing-xxsmall)}.checkout-address-form__country_id .dropin-picker__options-container,.checkout-address-form__region .dropin-picker__options-container{z-index:100}.checkout-address-form__save{grid-column:1 / -1;justify-self:center}.checkout-fields-form__title{color:var(--color-neutral-800);font:var(--type-headline-2-default-font);letter-spacing:var(--type-headline-2-default-letter-spacing);margin:0 0 var(--spacing-medium) 0}.checkout-fields-form__form{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-medium)}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout-fields-form__form{grid-template-columns:1fr}}@media only screen and (min-width: 768px){.dropin-field--multiline{grid-column:span 2}}.checkout__content{display:grid;align-items:start;grid-template-columns:repeat(var(--grid-4-columns),1fr);column-gap:var(--grid-4-gutters)}.checkout__main{display:grid;grid-column:1 / span 7;row-gap:var(--spacing-xbig)}.checkout__aside{display:grid;grid-column:9 / span 4;gap:var(--spacing-xbig)}.checkout__banner{margin-bottom:var(--spacing-xbig)}.checkout-empty-cart~.dropin-divider{display:none}.dropin-divider+.dropin-divider{display:none}.checkout-heading__title{color:var(--color-neutral-800);font:var(--type-headline-1-font);letter-spacing:var(--type-headline-1-letter-spacing);padding:var(--spacing-small) 0;margin:0}.checkout__content .dropin-divider{margin:0}.checkout__content .checkout-billing-form__visible{display:block}.checkout__content .checkout-billing-form__hidden{display:none}.cart-order-summary__taxes.dropin-accordion .dropin-divider{margin:var(--spacing-medium) auto}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout__content{grid-template-columns:1fr;row-gap:var(--spacing-big);column-gap:0}.checkout__content>*:nth-last-child(1){margin-top:calc(var(--spacing-big) * -1)}}.checkout-login-form__heading{display:grid;grid-template-columns:1fr max-content;grid-auto-rows:max-content}.checkout-login-form__content{grid-auto-rows:max-content}.checkout-login-form__customer-details{display:grid;grid-auto-flow:row;gap:var(--spacing-xxsmall)}.checkout-login-form__customer-name{font:var(--type-body-1-strong-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.checkout-login-form__customer-email{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);color:var(--color-neutral-700)}.checkout-login-form__title{grid-column-start:1;color:var(--color-neutral-800);font:var(--type-headline-2-default-font);letter-spacing:var(--type-headline-2-default-letter-spacing);margin-top:0}.checkout-login-form__sign-in,.checkout-login-form__sign-out{grid-column-start:2;color:var(--color-neutral-800);font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);justify-self:flex-end;margin-top:var(--spacing-xxsmall)}a.checkout-login-form__link{font:var(--type-body-2-strong-font);margin-left:var(--spacing-xxsmall)}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout-login-form__heading{grid-template-columns:repeat(1,1fr [col-start]);grid-template-rows:1fr}.checkout-login-form__sign-in,.checkout-login-form__sign-out{grid-column-start:1;align-self:flex-start;justify-self:flex-start;margin-top:0;margin-bottom:var(--spacing-medium)}}.checkout-payment-methods__title{font:var(--type-headline-2-default-font);letter-spacing:var(--type-headline-2-default-letter-spacing);margin:0 0 var(--spacing-medium) 0}.checkout-payment-methods__wrapper{position:relative;display:grid}.checkout-payment-methods__methods{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-medium)}.checkout-payment-methods__content{margin-top:var(--spacing-medium)}.checkout-payment-methods--full-width{grid-template-columns:1fr}.checkout-payment-methods--loading{opacity:.4;pointer-events:none}.checkout-payment-methods__spinner{margin:0 auto;position:absolute;z-index:999;left:0;right:0;top:calc(50% - (var(--size) / 2));bottom:0}.checkout__content [data-slot=PaymentMethods]:empty{display:none}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout-payment-methods__methods{grid-template-columns:1fr}}.checkout-place-order{display:grid;padding-bottom:var(--spacing-big)}.checkout-place-order__button{align-self:flex-end;justify-self:flex-end}@media only screen and (min-width:320px) and (max-width: 768px){.checkout-place-order{background-color:var(--color-neutral-200);padding:var(--spacing-medium) var(--spacing-medium) var(--spacing-big) var(--spacing-medium)}.checkout-place-order__button{align-self:center;justify-self:stretch}}.checkout-estimate-shipping{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xxsmall);align-items:center;color:var(--color-neutral-800)}.checkout-estimate-shipping__label,.checkout-estimate-shipping__price{font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.checkout-estimate-shipping__label--muted{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);color:var(--color-neutral-700)}.checkout-estimate-shipping__price--muted{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing)}.checkout-estimate-shipping__price{text-align:right}.checkout-estimate-shipping__label--bold,.checkout-estimate-shipping__price--bold{font:var(--type-body-1-emphasized-font);letter-spacing:var(--type-body-1-emphasized-letter-spacing)}.checkout-estimate-shipping__caption{font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing);color:var(--color-neutral-700)}.cart-order-summary__shipping .dropin-skeleton{grid-template-columns:1fr}.checkout-out-of-stock.dropin-card{border-color:var(--color-warning-500)}.checkout-out-of-stock .dropin-card__content{gap:var(--spacing-small);padding:var(--spacing-small)}.checkout-out-of-stock__title{color:var(--color-neutral-900);font:var(--type-body-2-strong-font);margin:0;display:flex;gap:var(--spacing-xxsmall);align-items:center;justify-content:left;text-align:center}.checkout-out-of-stock__message{color:var(--color-neutral-800);font:var(--type-body-2-default-font);margin:0}.checkout-out-of-stock__items{display:grid;grid-template-columns:repeat(5,100px);grid-gap:var(--spacing-small);list-style:none;padding:0;margin:0}.checkout-out-of-stock__item img{width:100%;height:auto}.checkout-out-of-stock__actions{display:flex;gap:var(--spacing-small);justify-content:flex-end}a.checkout-out-of-stock__action{font:var(--type-details-caption-1-font)}.checkout-out-of-stock__action{background:none;border:none;padding:0;cursor:pointer}.checkout-out-of-stock__action:hover{--textColor: var(--color-brand-700);text-decoration:solid underline var(--textColor);text-underline-offset:6px}.checkout-overlay-loader{align-items:center;background:var(--color-neutral-50);display:flex;height:100vh;justify-content:center;left:0;opacity:.5;position:fixed;top:0;width:100%;z-index:9999}.checkout-server-error{position:relative;text-align:center;display:grid}.checkout-server-error__icon .error-icon{color:var(--color-alert-500)}.checkout-server-error a{font:var(--type-body-2-strong-font);letter-spacing:var(--type-body-2-strong-letter-spacing)}.checkout-toggle-button{display:block;position:relative;width:100%}.checkout-toggle-button__actionButton{cursor:pointer;background-color:var(--color-neutral-200);border:var(--shape-border-width-1) solid var(--color-neutral-400);border-radius:var(--shape-border-radius-1);font:var(--type-body-2-strong-font);letter-spacing:var(--type-body-2-strong-letter-spacing);padding:var(--spacing-medium);align-items:center;display:grid}.checkout-toggle-button__selected .checkout-toggle-button__actionButton{background-color:var(--color-neutral-50);border:var(--shape-border-width-1) solid var(--color-neutral-800)}.checkout-toggle-button:has(input:focus-visible){outline:0 none;box-shadow:0 0 0 var(--shape-icon-stroke-4) var(--color-neutral-400);-webkit-box-shadow:0 0 0 var(--shape-icon-stroke-4) var(--color-neutral-400);-moz-box-shadow:0 0 0 var(--shape-icon-stroke-4) var(--color-neutral-400);border-radius:var(--shape-border-radius-1)}.checkout-toggle-button__radioButton.dropin-radio-button{cursor:pointer;position:absolute}.checkout-toggle-button__radioButton .dropin-radio-button__label:before{cursor:pointer;margin-right:0}.checkout-toggle-button__radioButton .dropin-radio-button__input:focus-visible+.dropin-radio-button__label:before{box-shadow:0 0 0 var(--shape-border-width-1) var(--color-neutral-600)}.checkout-toggle-button__content{display:flex;align-items:center;justify-content:center;margin-left:var(--spacing-big)}.checkout-toggle-button__icon{height:24px;margin-right:var(--spacing-xsmall)}.checkout-shipping-methods__title{color:var(--color-neutral-800);font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing);margin:0 0 var(--spacing-medium) 0}.checkout-shipping-methods__content{position:relative;display:block}.checkout-shipping-methods__method{margin-bottom:var(--spacing-medium);width:fit-content;cursor:pointer;font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing)}.checkout-shipping-methods__method:last-child{margin-bottom:0}.dropin-radio-button__label .dropin-price{color:var(--color-neutral-800);font-weight:400}.checkout-shipping-methods__options--loading{opacity:.4;pointer-events:none}.checkout-shipping-methods__spinner{margin:0 auto;position:absolute;z-index:999;left:0;right:0;top:calc(50% - (var(--size) / 2));bottom:0}`,{styleId:"checkout"});
|
|
3
|
-
import{jsx as d}from"@dropins/tools/preact-jsx-runtime.js";import{Render as m}from"@dropins/tools/lib.js";import{events as g}from"@dropins/tools/event-bus.js";import"./chunks/getCart.graphql.js";import{c as p}from"./chunks/resetCustomer.js";import{UIProvider as y}from"@dropins/tools/components.js";import{useState as h,useEffect as b}from"@dropins/tools/preact-hooks.js";import"@dropins/tools/
|
|
3
|
+
import{jsx as d}from"@dropins/tools/preact-jsx-runtime.js";import{Render as m}from"@dropins/tools/lib.js";import{events as g}from"@dropins/tools/event-bus.js";import"./chunks/getCart.graphql.js";import{c as p}from"./chunks/resetCustomer.js";import{UIProvider as y}from"@dropins/tools/components.js";import{useState as h,useEffect as b}from"@dropins/tools/preact-hooks.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";import"./chunks/getCustomer.js";function O(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var v=function(r){return S(r)&&!w(r)};function S(e){return!!e&&typeof e=="object"}function w(e){var r=Object.prototype.toString.call(e);return r==="[object RegExp]"||r==="[object Date]"||j(e)}var E=typeof Symbol=="function"&&Symbol.for,M=E?Symbol.for("react.element"):60103;function j(e){return e.$$typeof===M}function A(e){return Array.isArray(e)?[]:{}}function o(e,r){return r.clone!==!1&&r.isMergeableObject(e)?i(A(e),e,r):e}function P(e,r,t){return e.concat(r).map(function(a){return o(a,t)})}function C(e,r){if(!r.customMerge)return i;var t=r.customMerge(e);return typeof t=="function"?t:i}function I(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(r){return Object.propertyIsEnumerable.call(e,r)}):[]}function u(e){return Object.keys(e).concat(I(e))}function f(e,r){try{return r in e}catch{return!1}}function T(e,r){return f(e,r)&&!(Object.hasOwnProperty.call(e,r)&&Object.propertyIsEnumerable.call(e,r))}function x(e,r,t){var a={};return t.isMergeableObject(e)&&u(e).forEach(function(n){a[n]=o(e[n],t)}),u(r).forEach(function(n){T(e,n)||(f(e,n)&&t.isMergeableObject(r[n])?a[n]=C(n,t)(e[n],r[n],t):a[n]=o(r[n],t))}),a}function i(e,r,t){t=t||{},t.arrayMerge=t.arrayMerge||P,t.isMergeableObject=t.isMergeableObject||v,t.cloneUnlessOtherwiseSpecified=o;var a=Array.isArray(r),n=Array.isArray(e),s=a===n;return s?a?t.arrayMerge(e,r,t):x(e,r,t):o(r,t)}i.all=function(r,t){if(!Array.isArray(r))throw new Error("first argument should be an array");return r.reduce(function(a,n){return i(a,n,t)},{})};var D=i,L=D;const B=O(L),U={title:"Checkout",LoginForm:{title:"Contact details",account:"Already have an account?",ariaLabel:"Email",invalidEmailError:"Please enter a valid email address.",missingEmailError:"Enter an email address.",emailExists:{alreadyHaveAccount:"It looks like you already have an account.",signInButton:"Sign in",forFasterCheckout:"for a faster checkout."},floatingLabel:"Email *",placeholder:"Enter your email address",signIn:"Sign In",switch:"Do you want to switch account?",signOut:"Sign Out"},ShippingMethods:{title:"Shipping options",emptyState:"This order can't be shipped to the address provided. Please review the address details you entered and make sure they're correct."},ShippingAddress:{title:"Delivery"},BillingAddress:{title:"Billing Address"},AddressForm:{Validity:{badInput:"Provide a valid {field}.",patternMismatch:"Ensure you have entered a correct {field} format.",rangeOverflow:"Choose a valid {field} within the allowed range.",rangeUnderflow:"Choose a valid {field} within the allowed range.",tooLong:"This entry is too long. Keep it under {field} characters.",tooShort:"Use at least {field} characters.",typeMismatch:"Enter a valid {field}.",valueMissing:"Enter a {field}, this field is required."}},BillToShippingAddress:{title:"Bill to shipping address"},PaymentMethods:{title:"Payment",emptyState:"No payment methods available"},OutOfStock:{title:"Your cart contains items that are out of stock",message:"The following items are out of stock:",actions:{reviewCart:"Review cart",removeOutOfStock:"Remove out of stock items"},lowInventory:{one:"Last item!",many:"Only {{count}} left!"},alert:"Out of stock!"},PlaceOrder:{button:"Place Order"},ServerError:{title:"We were unable to process your order",contactSupport:"If you continue to have issues, please contact support.",unexpected:"An unexpected error occurred while processing your order. Please try again later.",button:"Try again"},EmptyCart:{title:"Your cart is empty",button:"Start shopping"},ErrorBanner:{genericMessage:"Server error detected. Please check your connection and try again."},MergedCartBanner:{items:{one:"1 item from a previous session was added to your cart. Please review your new subtotal.",many:"{{count}} items from a previous session were added to your cart. Please review your new subtotal."}},EstimateShipping:{estimated:"Estimated Shipping",freeShipping:"Free",label:"Shipping",taxToBeDetermined:"TBD",withTaxes:"Including taxes",withoutTaxes:"Excluding taxes"},Slots:{CartSummaryList:{Heading:{title:"Your Cart ({count})",editLink:"Edit"}}}},_={Checkout:U},k={default:_},F=({children:e})=>{var s;const[r,t]=h(),a=(s=p.getConfig())==null?void 0:s.langDefinitions;b(()=>{const c=g.on("locale",l=>{l!==r&&t(l)},{eager:!0});return()=>{c==null||c.off()}},[r]);const n=B(k,a??{});return d(y,{lang:r,langDefinitions:n,children:e})},G=new m(d(F,{}));export{F as Provider,G as render};
|