@dropins/storefront-checkout 0.1.0-alpha32 → 0.1.0-alpha33

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.
@@ -1,2 +1,2 @@
1
- import{w as D,n as P,x as h,i as k,y as T,P as ee,j as te}from"../chunks/getStoreConfig.js";import{U as re}from"../chunks/transform-shipping-methods.js";import{events as R}from"@dropins/tools/event-bus.js";import{p as oe,g as F,a as ne,b as ie}from"../chunks/placeOrder2.js";import{C as E}from"../chunks/ToggleButton.js";import{useEffect as ae}from"@dropins/tools/preact-hooks.js";import{classes as u,Slot as d}from"@dropins/tools/lib.js";import{IllustratedMessage as b,Icon as A,Button as N,Divider as S}from"@dropins/tools/components.js";/* empty css */import{jsx as t,jsxs as f,Fragment as v}from"@dropins/tools/preact-jsx-runtime.js";import*as o from"@dropins/tools/preact-compat.js";import{useState as M,useCallback as w,useEffect as ce}from"@dropins/tools/preact-compat.js";import{useText as C,Text as se,MarkupText as le}from"@dropins/tools/i18n.js";import{S as me}from"../chunks/ShippingMethods.js";import{L as de}from"../chunks/LoginForm.js";import{S as ue}from"../chunks/ShippingForm.js";import{B as pe}from"../chunks/BillToShippingAddress2.js";import{O as he}from"../chunks/OrderSummary.js";import{P as fe}from"../chunks/PaymentMethods.js";import{B as ke}from"../chunks/BillingForm.js";import{P as ge}from"../chunks/PlaceOrder.js";import{E as Ee}from"../chunks/ErrorBanner.js";import{C as Se}from"../chunks/CartSummary.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/preact.js";import"../chunks/getCart.graphql.js";import"../chunks/cart-item.js";import"../chunks/getMultilineValues.js";import"../chunks/SelectedShippingMethodSignal.js";import"../chunks/setShippingMethods.js";import"../chunks/setGuestEmailOnCart.js";import"../chunks/constants2.js";import"../chunks/setBillingAddress.js";import"../chunks/setShippingAddress.js";import"../chunks/constants.js";import"../chunks/setPaymentMethod.js";import"../chunks/constants3.js";const ve=n=>o.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...n},o.createElement("g",{clipPath:"url(#clip0_102_196)"},o.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M18.3601 18.16H6.5601L4.8801 3H2.3501M19.6701 19.59C19.6701 20.3687 19.0388 21 18.2601 21C17.4814 21 16.8501 20.3687 16.8501 19.59C16.8501 18.8113 17.4814 18.18 18.2601 18.18C19.0388 18.18 19.6701 18.8113 19.6701 19.59ZM7.42986 19.59C7.42986 20.3687 6.79858 21 6.01986 21C5.24114 21 4.60986 20.3687 4.60986 19.59C4.60986 18.8113 5.24114 18.18 6.01986 18.18C6.79858 18.18 7.42986 18.8113 7.42986 19.59Z",stroke:"currentColor",strokeLinejoin:"round"}),o.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M5.25 6.37L20.89 8.06L20.14 14.8H6.19",stroke:"currentColor",strokeLinejoin:"round"})),o.createElement("defs",null,o.createElement("clipPath",{id:"clip0_102_196"},o.createElement("rect",{vectorEffect:"non-scaling-stroke",width:19.29,height:19.5,fill:"white",transform:"translate(2.3501 2.25)"})))),V=n=>o.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...n},o.createElement("g",{clipPath:"url(#clip0_4797_15331)"},o.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M10.25 20.91L1.5 17.55V6.51996L10.25 9.92996V20.91Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),o.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M6.24023 4.64001L14.9902 8.06001V11.42",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),o.createElement("path",{className:"error-icon",vectorEffect:"non-scaling-stroke",d:"M19 13.31L15.5 19.37H22.5L19 13.31Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),o.createElement("path",{className:"error-icon",vectorEffect:"non-scaling-stroke",d:"M19.0202 17.11H18.9802L18.9502 15.56H19.0502L19.0202 17.11ZM18.9602 18.29V18.06H19.0502V18.29H18.9602Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),o.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M19 12.16V6.51996L10.25 9.92996V20.91L14.27 19.37L14.4 19.32",stroke:"currentColor",strokeLinejoin:"round"}),o.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M1.5 6.51999L10.25 3.04999L19 6.51999L10.25 9.92999L1.5 6.51999Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"})),o.createElement("defs",null,o.createElement("clipPath",{id:"clip0_4797_15331"},o.createElement("rect",{width:22,height:18.86,fill:"white",transform:"translate(1 2.54999)"})))),Ce=({className:n,title:i,routeHome:e,...p})=>{const c=C({Title:"Checkout.EmptyCart.title",Button:"Checkout.EmptyCart.button"});return t(b,{...p,"data-testid":"checkout-empty-cart",className:u(["checkout-empty-cart",n]),heading:i??c.Title,icon:t(A,{className:u(["checkout-empty-cart__icon"]),source:ve}),action:e!=null&&e()?t(N,{className:"checkout-empty-cart__button",size:"medium",variant:"primary",type:"submit",href:e==null?void 0:e(),children:c.Button},"routeHome"):void 0})},ye=({className:n,icon:i,routeCart:e,...p})=>{const c=C({Title:"Checkout.OutOfStock.title",Message:"Checkout.OutOfStock.message"});return f("div",{...p,className:u(["checkout-out-of-stock",n]),"data-testid":"checkout-out-of-stock",children:[t(b,{heading:c.Title,message:t("p",{children:c.Message}),icon:t(A,{source:i??V,className:u(["checkout-out-of-stock__icon"])})}),(e==null?void 0:e())&&t(N,{className:"checkout-out-of-stock__button",size:"medium",variant:"primary",type:"submit",href:e==null?void 0:e(),children:t(se,{id:"Checkout.OutOfStock.button"})},"routeCart")]})},Le=({className:n,errorMessage:i,contactSupport:e,...p})=>{const{onClick:c}=p,a=C({Title:"Checkout.ServerError.title",Message:"Checkout.ServerError.message",ContactSupport:"Checkout.ServerError.contactSupport",Button:"Checkout.ServerError.button"});return t(b,{"aria-invalid":"true","aria-describedby":"checkout-server-error__message","aria-live":"polite",className:u(["checkout-server-error",n]),"data-testid":"checkout-server-error",heading:i??a.Title,message:f("p",{id:u(["checkout-server-error__message"]),children:[a.Message,t("br",{}),t(le,{id:"",children:e??a.ContactSupport})]}),icon:t(A,{className:u(["checkout-server-error__icon"]),source:V}),action:t(N,{className:u(["checkout-server-error__button"]),onClick:c,children:a.Button})})},ct="OUT_OF_STOCK";function Oe(){const{dispatch:n}=D();ae(()=>{const i=R.on("authenticated",e=>{P.value=e,n(e?{type:h.USER_AUTHENTICATED}:{type:h.USER_UNAUTHENTICATED})},{eager:!0});return()=>{i==null||i.off()}},[n])}const st=n=>{const{className:i,slots:e,routeHome:p,routeCart:c,preselectedCartData:a,onSignInClick:I,onSignOutClick:y,...Z}=n,{state:L,dispatch:s}=D(),[B,U]=M(""),H=B!=="",[G,z]=M(),[K,$]=M(!1),l=k.value.data,g=!!(l!=null&&l.virtual),q=C({CheckoutUnexpectedError:"Checkout.ServerError.unexpected"}),Y=w(async()=>{l&&(await oe(l.id),k.value={pending:!1},s({type:h.ORDER_PLACED}))},[l,s]),J=r=>{z(()=>r)},Q=async()=>{U(""),l&&(P.value?await _():await O(l.id))},x=r=>{U(r instanceof TypeError||r instanceof re?q.CheckoutUnexpectedError:r.message)},O=w(async r=>{const m=await F(r);s({type:h.CART_UPDATED,payload:m})},[s]),_=w(async()=>{const r=await F();await ne(),s({type:h.CART_UPDATED,payload:r})},[s]),j=async r=>{const m=await ie(r);$(m===ee.OutOfStock)};if(Oe(),ce(()=>{const r=R.on("cart/data",m=>{if(P.value){_(),j();return}if(m&&m.id){k.value={...k.value,pending:!0},O(m.id),j(m.id);return}k.value={data:null,pending:!1},s({type:h.CART_UPDATED,payload:null})},{eager:!0});return()=>{r==null||r.off()}},[s,_,O]),L===T.COMPLETE)return null;if(L===T.EMPTY)return t(Ce,{routeHome:p});if(H)return t(Le,{errorMessage:B,onClick:Q});const W=()=>{if(K)return t(E.Main,{outOfStock:t(ye,{routeCart:c})});const r=te.value.checked?"hidden":"visible";return t(E.Main,{sections:{billingAddress:f(v,{children:[t(d,{name:"BillingForm",className:r,slot:e==null?void 0:e.BillingForm,children:t(ke,{})}),t(S,{className:r,variant:"primary"})]}),billToShippingAddress:g?void 0:t(d,{name:"BillToShipping",slot:e==null?void 0:e.BillToShipping,children:t(pe,{})}),login:f(v,{children:[t(d,{name:"Login",slot:e==null?void 0:e.Login,children:t(de,{onSignInClick:I,onSignOutClick:()=>{s({type:h.USER_SIGN_OUT}),y==null||y()}})}),t(S,{variant:"primary"})]}),paymentMethods:f(v,{children:[t(d,{name:"PaymentMethods",slot:e==null?void 0:e.PaymentMethods,children:t(fe,{isShippingInfoRequired:!g,onPlaceOrder:J,handleServerError:x})}),t(S,{variant:"primary"})]}),placeOrder:t(ge,{onClick:G??Y,handleServerError:x}),shippingAddress:g?void 0:t(d,{name:"ShippingForm",slot:e==null?void 0:e.ShippingForm,children:t(ue,{preselectedFields:a==null?void 0:a.address})}),shippingMethods:g?void 0:f(v,{children:[t(d,{name:"ShippingMethods",slot:e==null?void 0:e.ShippingMethods,children:t(me,{preSelectedMethod:a==null?void 0:a.shippingMethod})}),t(S,{variant:"primary"})]})}})},X=()=>t(E.Aside,{sections:{cartSummary:t(d,{name:"CartSummary",slot:e==null?void 0:e.CartSummary,children:t(Se,{routeCart:c})}),orderSummary:t(d,{name:"OrderSummary",slot:e==null?void 0:e.OrderSummary,children:t(he,{})})}});return f(E,{className:i,banner:t(Ee,{}),isLoading:L===T.LOADING,...Z,children:[X(),W()]})};export{st as Checkout,ct as OUT_OF_STOCK,st as default};
1
+ import{w as j,n as M,x as h,i as f,y as L,P as W,j as X}from"../chunks/getStoreConfig.js";import{U as ee}from"../chunks/transform-shipping-methods.js";import{events as F}from"@dropins/tools/event-bus.js";import{p as te,g as x,a as re,b as oe}from"../chunks/placeOrder2.js";import{C as g}from"../chunks/ToggleButton.js";import{useEffect as ne}from"@dropins/tools/preact-hooks.js";import{classes as l,Slot as p}from"@dropins/tools/lib.js";import{IllustratedMessage as w,Icon as b,Button as P,Divider as ie}from"@dropins/tools/components.js";/* empty css */import{jsx as t,jsxs as E,Fragment as ae}from"@dropins/tools/preact-jsx-runtime.js";import*as o from"@dropins/tools/preact-compat.js";import{useState as O,useCallback as T,useEffect as ce}from"@dropins/tools/preact-compat.js";import{useText as S,Text as se,MarkupText as le}from"@dropins/tools/i18n.js";import{S as me}from"../chunks/ShippingMethods.js";import{L as de}from"../chunks/LoginForm.js";import{S as ue}from"../chunks/ShippingForm.js";import{B as pe}from"../chunks/BillToShippingAddress2.js";import{O as he}from"../chunks/OrderSummary.js";import{P as fe}from"../chunks/PaymentMethods.js";import{B as ke}from"../chunks/BillingForm.js";import{P as ge}from"../chunks/PlaceOrder.js";import{E as Ee}from"../chunks/ErrorBanner.js";import{C as Se}from"../chunks/CartSummary.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/preact.js";import"../chunks/getCart.graphql.js";import"../chunks/cart-item.js";import"../chunks/getMultilineValues.js";import"../chunks/SelectedShippingMethodSignal.js";import"../chunks/setShippingMethods.js";import"../chunks/setGuestEmailOnCart.js";import"../chunks/constants2.js";import"../chunks/setBillingAddress.js";import"../chunks/setShippingAddress.js";import"../chunks/constants.js";import"../chunks/setPaymentMethod.js";import"../chunks/constants3.js";const ve=n=>o.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...n},o.createElement("g",{clipPath:"url(#clip0_102_196)"},o.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M18.3601 18.16H6.5601L4.8801 3H2.3501M19.6701 19.59C19.6701 20.3687 19.0388 21 18.2601 21C17.4814 21 16.8501 20.3687 16.8501 19.59C16.8501 18.8113 17.4814 18.18 18.2601 18.18C19.0388 18.18 19.6701 18.8113 19.6701 19.59ZM7.42986 19.59C7.42986 20.3687 6.79858 21 6.01986 21C5.24114 21 4.60986 20.3687 4.60986 19.59C4.60986 18.8113 5.24114 18.18 6.01986 18.18C6.79858 18.18 7.42986 18.8113 7.42986 19.59Z",stroke:"currentColor",strokeLinejoin:"round"}),o.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M5.25 6.37L20.89 8.06L20.14 14.8H6.19",stroke:"currentColor",strokeLinejoin:"round"})),o.createElement("defs",null,o.createElement("clipPath",{id:"clip0_102_196"},o.createElement("rect",{vectorEffect:"non-scaling-stroke",width:19.29,height:19.5,fill:"white",transform:"translate(2.3501 2.25)"})))),D=n=>o.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...n},o.createElement("g",{clipPath:"url(#clip0_4797_15331)"},o.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M10.25 20.91L1.5 17.55V6.51996L10.25 9.92996V20.91Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),o.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M6.24023 4.64001L14.9902 8.06001V11.42",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),o.createElement("path",{className:"error-icon",vectorEffect:"non-scaling-stroke",d:"M19 13.31L15.5 19.37H22.5L19 13.31Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),o.createElement("path",{className:"error-icon",vectorEffect:"non-scaling-stroke",d:"M19.0202 17.11H18.9802L18.9502 15.56H19.0502L19.0202 17.11ZM18.9602 18.29V18.06H19.0502V18.29H18.9602Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),o.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M19 12.16V6.51996L10.25 9.92996V20.91L14.27 19.37L14.4 19.32",stroke:"currentColor",strokeLinejoin:"round"}),o.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M1.5 6.51999L10.25 3.04999L19 6.51999L10.25 9.92999L1.5 6.51999Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"})),o.createElement("defs",null,o.createElement("clipPath",{id:"clip0_4797_15331"},o.createElement("rect",{width:22,height:18.86,fill:"white",transform:"translate(1 2.54999)"})))),Ce=({className:n,title:i,routeHome:e,...u})=>{const c=S({Title:"Checkout.EmptyCart.title",Button:"Checkout.EmptyCart.button"});return t(w,{...u,"data-testid":"checkout-empty-cart",className:l(["checkout-empty-cart",n]),heading:i??c.Title,icon:t(b,{className:l(["checkout-empty-cart__icon"]),source:ve}),action:e!=null&&e()?t(P,{className:"checkout-empty-cart__button",size:"medium",variant:"primary",type:"submit",href:e==null?void 0:e(),children:c.Button},"routeHome"):void 0})},ye=({className:n,icon:i,routeCart:e,...u})=>{const c=S({Title:"Checkout.OutOfStock.title",Message:"Checkout.OutOfStock.message"});return E("div",{...u,className:l(["checkout-out-of-stock",n]),"data-testid":"checkout-out-of-stock",children:[t(w,{heading:c.Title,message:t("p",{children:c.Message}),icon:t(b,{source:i??D,className:l(["checkout-out-of-stock__icon"])})}),(e==null?void 0:e())&&t(P,{className:"checkout-out-of-stock__button",size:"medium",variant:"primary",type:"submit",href:e==null?void 0:e(),children:t(se,{id:"Checkout.OutOfStock.button"})},"routeCart")]})},_e=({className:n,errorMessage:i,contactSupport:e,...u})=>{const{onClick:c}=u,a=S({Title:"Checkout.ServerError.title",Message:"Checkout.ServerError.message",ContactSupport:"Checkout.ServerError.contactSupport",Button:"Checkout.ServerError.button"});return t(w,{"aria-invalid":"true","aria-describedby":"checkout-server-error__message","aria-live":"polite",className:l(["checkout-server-error",n]),"data-testid":"checkout-server-error",heading:i??a.Title,message:E("p",{id:l(["checkout-server-error__message"]),children:[a.Message,t("br",{}),t(le,{id:"",children:e??a.ContactSupport})]}),icon:t(b,{className:l(["checkout-server-error__icon"]),source:D}),action:t(P,{className:l(["checkout-server-error__button"]),onClick:c,children:a.Button})})},ct="OUT_OF_STOCK";function Le(){const{dispatch:n}=j();ne(()=>{const i=F.on("authenticated",e=>{M.value=e,n(e?{type:h.USER_AUTHENTICATED}:{type:h.USER_UNAUTHENTICATED})},{eager:!0});return()=>{i==null||i.off()}},[n])}const st=n=>{const{className:i,slots:e,routeHome:u,routeCart:c,preselectedCartData:a,onSignInClick:R,onSignOutClick:v,...V}=n,{state:C,dispatch:s}=j(),[A,N]=O(""),I=A!=="",[Z,H]=O(),[G,$]=O(!1),m=f.value.data,k=!!(m!=null&&m.virtual),z=S({CheckoutUnexpectedError:"Checkout.ServerError.unexpected"}),K=T(async()=>{m&&(await te(m.id),f.value={pending:!1},s({type:h.ORDER_PLACED}))},[m,s]),q=r=>{H(()=>r)},Y=async()=>{N(""),m&&(M.value?await _():await y(m.id))},B=r=>{N(r instanceof TypeError||r instanceof ee?z.CheckoutUnexpectedError:r.message)},y=T(async r=>{const d=await x(r);s({type:h.CART_UPDATED,payload:d})},[s]),_=T(async()=>{const r=await x();await re(),s({type:h.CART_UPDATED,payload:r})},[s]),U=async r=>{const d=await oe(r);$(d===W.OutOfStock)};if(Le(),ce(()=>{const r=F.on("cart/data",d=>{if(M.value){_(),U();return}if(d&&d.id){f.value={...f.value,pending:!0},y(d.id),U(d.id);return}f.value={data:null,pending:!1},s({type:h.CART_UPDATED,payload:null})},{eager:!0});return()=>{r==null||r.off()}},[s,_,y]),C===L.COMPLETE)return null;if(C===L.EMPTY)return t(Ce,{routeHome:u});if(I)return t(_e,{errorMessage:A,onClick:Y});const J=()=>{if(G)return t(g.Main,{outOfStock:t(ye,{routeCart:c})});const r=X.value.checked?"checkout-billing-form__hidden":"checkout-billing-form__visible";return t(g.Main,{sections:{billingAddress:E(ae,{children:[t(p,{name:"BillingForm",className:r,slot:e==null?void 0:e.BillingForm,children:t(ke,{})}),t(ie,{className:l([`${r}`,"checkout-billing-form__divider"]),variant:"primary"})]}),billToShippingAddress:k?void 0:t(p,{name:"BillToShipping",slot:e==null?void 0:e.BillToShipping,children:t(pe,{})}),login:t(p,{name:"Login",slot:e==null?void 0:e.Login,children:t(de,{onSignInClick:R,onSignOutClick:()=>{s({type:h.USER_SIGN_OUT}),v==null||v()}})}),paymentMethods:t(fe,{isShippingInfoRequired:!k,onPlaceOrder:q,handleServerError:B,paymentMethodsSlot:e==null?void 0:e.PaymentMethods}),placeOrder:t(ge,{onClick:Z??K,handleServerError:B}),shippingAddress:k?void 0:t(p,{name:"ShippingForm",slot:e==null?void 0:e.ShippingForm,children:t(ue,{preselectedFields:a==null?void 0:a.address})}),shippingMethods:k?void 0:t(p,{name:"ShippingMethods",slot:e==null?void 0:e.ShippingMethods,children:t(me,{preSelectedMethod:a==null?void 0:a.shippingMethod})})}})},Q=()=>t(g.Aside,{sections:{cartSummary:t(p,{name:"CartSummary",slot:e==null?void 0:e.CartSummary,children:t(Se,{routeCart:c})}),orderSummary:t(p,{name:"OrderSummary",slot:e==null?void 0:e.OrderSummary,children:t(he,{})})}});return E(g,{className:i,banner:t(Ee,{}),isLoading:C===L.LOADING,...V,children:[Q(),J()]})};export{st as Checkout,ct as OUT_OF_STOCK,st as default};
2
2
  //# sourceMappingURL=Checkout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Checkout.js","sources":["../../node_modules/@adobe/elsie/src/icons/Cart.svg","../../node_modules/@adobe/elsie/src/icons/OrderError.svg","../../src/components/EmptyCart/EmptyCart.tsx","../../src/components/OutOfStock/OutOfStock.tsx","../../src/components/ServerError/ServerError.tsx","../../src/containers/Checkout/constants.ts","../../src/hooks/useAuthentication/useAuthentication.tsx","../../src/containers/Checkout/Checkout.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgCart = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"g\", { clipPath: \"url(#clip0_102_196)\" }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M18.3601 18.16H6.5601L4.8801 3H2.3501M19.6701 19.59C19.6701 20.3687 19.0388 21 18.2601 21C17.4814 21 16.8501 20.3687 16.8501 19.59C16.8501 18.8113 17.4814 18.18 18.2601 18.18C19.0388 18.18 19.6701 18.8113 19.6701 19.59ZM7.42986 19.59C7.42986 20.3687 6.79858 21 6.01986 21C5.24114 21 4.60986 20.3687 4.60986 19.59C4.60986 18.8113 5.24114 18.18 6.01986 18.18C6.79858 18.18 7.42986 18.8113 7.42986 19.59Z\", stroke: \"currentColor\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M5.25 6.37L20.89 8.06L20.14 14.8H6.19\", stroke: \"currentColor\", strokeLinejoin: \"round\" })), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"clipPath\", { id: \"clip0_102_196\" }, /* @__PURE__ */ React.createElement(\"rect\", { vectorEffect: \"non-scaling-stroke\", width: 19.29, height: 19.5, fill: \"white\", transform: \"translate(2.3501 2.25)\" }))));\nexport default SvgCart;\n","import * as React from \"react\";\nconst SvgOrderError = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"g\", { clipPath: \"url(#clip0_4797_15331)\" }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M10.25 20.91L1.5 17.55V6.51996L10.25 9.92996V20.91Z\", stroke: \"currentColor\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M6.24023 4.64001L14.9902 8.06001V11.42\", stroke: \"currentColor\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { className: \"error-icon\", vectorEffect: \"non-scaling-stroke\", d: \"M19 13.31L15.5 19.37H22.5L19 13.31Z\", stroke: \"currentColor\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { className: \"error-icon\", vectorEffect: \"non-scaling-stroke\", d: \"M19.0202 17.11H18.9802L18.9502 15.56H19.0502L19.0202 17.11ZM18.9602 18.29V18.06H19.0502V18.29H18.9602Z\", stroke: \"currentColor\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M19 12.16V6.51996L10.25 9.92996V20.91L14.27 19.37L14.4 19.32\", stroke: \"currentColor\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M1.5 6.51999L10.25 3.04999L19 6.51999L10.25 9.92999L1.5 6.51999Z\", stroke: \"currentColor\", strokeLinecap: \"round\", strokeLinejoin: \"round\" })), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"clipPath\", { id: \"clip0_4797_15331\" }, /* @__PURE__ */ React.createElement(\"rect\", { width: 22, height: 18.86, fill: \"white\", transform: \"translate(1 2.54999)\" }))));\nexport default SvgOrderError;\n","import { FunctionComponent } from 'preact';\nimport { HTMLAttributes } from 'preact/compat';\nimport { classes } from '@adobe/elsie/lib';\nimport '@/checkout/components/EmptyCart/EmptyCart.css';\nimport { Button, Icon, IllustratedMessage } from '@adobe/elsie/components';\nimport { Cart } from '@adobe/elsie/icons';\nimport { useText } from '@adobe/elsie/i18n';\n\nexport interface EmptyCartProps extends HTMLAttributes<HTMLDivElement> {\n title?: string;\n routeHome?: () => string;\n}\n\nexport const EmptyCart: FunctionComponent<EmptyCartProps> = ({\n className,\n title,\n routeHome,\n ...props\n}) => {\n const translations = useText({\n Title: 'Checkout.EmptyCart.title',\n Button: 'Checkout.EmptyCart.button',\n });\n\n return (\n <IllustratedMessage\n {...props}\n data-testid=\"checkout-empty-cart\"\n className={classes(['checkout-empty-cart', className])}\n heading={title ?? translations.Title}\n icon={\n <Icon\n className={classes(['checkout-empty-cart__icon'])}\n source={Cart}\n />\n }\n action={\n routeHome?.() ? (\n <Button\n className=\"checkout-empty-cart__button\"\n size=\"medium\"\n variant=\"primary\"\n key=\"routeHome\"\n type=\"submit\"\n href={routeHome?.()}\n >\n {translations.Button}\n </Button>\n ) : undefined\n }\n />\n );\n};\n","import { FunctionComponent, JSX } from 'preact';\nimport { HTMLAttributes } from 'preact/compat';\nimport { classes } from '@adobe/elsie/lib';\nimport '@/checkout/components/OutOfStock/OutOfStock.css';\nimport { Text, useText } from '@adobe/elsie/i18n';\nimport { Button, Icon, IllustratedMessage } from '@adobe/elsie/components';\nimport { OrderError } from '@adobe/elsie/icons';\n\nexport interface OutOfStockProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'icon'> {\n icon?: FunctionComponent<JSX.SVGAttributes<SVGElement>>;\n routeCart?: () => string;\n}\n\nexport const OutOfStock: FunctionComponent<OutOfStockProps> = ({\n className,\n icon,\n routeCart,\n ...props\n}) => {\n const translations = useText({\n Title: 'Checkout.OutOfStock.title',\n Message: 'Checkout.OutOfStock.message',\n });\n\n return (\n <div\n {...props}\n className={classes(['checkout-out-of-stock', className])}\n data-testid=\"checkout-out-of-stock\"\n >\n <IllustratedMessage\n heading={translations.Title}\n message={<p>{translations.Message}</p>}\n icon={\n <Icon\n source={icon ?? OrderError}\n className={classes(['checkout-out-of-stock__icon'])}\n />\n }\n />\n\n {routeCart?.() && (\n <Button\n className=\"checkout-out-of-stock__button\"\n size=\"medium\"\n variant=\"primary\"\n key=\"routeCart\"\n type=\"submit\"\n href={routeCart?.()}\n >\n <Text id=\"Checkout.OutOfStock.button\" />\n </Button>\n )}\n </div>\n );\n};\n","import { FunctionComponent } from 'preact';\nimport { HTMLAttributes } from 'preact/compat';\nimport { classes } from '@adobe/elsie/lib';\nimport '@/checkout/components/ServerError/ServerError.css';\nimport { MarkupText, useText } from '@adobe/elsie/i18n';\nimport { Button, Icon, IllustratedMessage } from '@adobe/elsie/components';\nimport { OrderError } from '@adobe/elsie/icons';\n\nexport interface ServerErrorProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'icon'> {\n errorMessage: string;\n contactSupport?: string;\n onClick?: (e: any) => void;\n}\n\nexport const ServerError: FunctionComponent<ServerErrorProps> = ({\n className,\n errorMessage,\n contactSupport,\n ...props\n}) => {\n const { onClick } = props;\n\n const translations = useText({\n Title: 'Checkout.ServerError.title',\n Message: 'Checkout.ServerError.message',\n ContactSupport: 'Checkout.ServerError.contactSupport',\n Button: 'Checkout.ServerError.button',\n });\n\n return (\n <IllustratedMessage\n aria-invalid=\"true\"\n aria-describedby=\"checkout-server-error__message\"\n aria-live=\"polite\"\n className={classes(['checkout-server-error', className])}\n data-testid=\"checkout-server-error\"\n heading={errorMessage ?? translations.Title}\n message={\n <p id={classes(['checkout-server-error__message'])}>\n {translations.Message}\n <br />\n <MarkupText id=\"\">\n {contactSupport ?? translations.ContactSupport}\n </MarkupText>\n </p>\n }\n icon={\n <Icon\n className={classes(['checkout-server-error__icon'])}\n source={OrderError}\n />\n }\n action={\n <Button\n className={classes(['checkout-server-error__button'])}\n onClick={onClick}\n >\n {translations.Button}\n </Button>\n }\n />\n );\n};\n","export const OUT_OF_STOCK = 'OUT_OF_STOCK';\n","import { useEffect } from 'preact/hooks';\nimport { events } from '@adobe/event-bus';\nimport { isAuthenticatedSignal } from '@/checkout/signals/AuthenticationSignal';\nimport { CheckoutEvent, useCheckoutState } from '@/checkout/context/checkout';\n\nexport function useAuthentication() {\n const { dispatch } = useCheckoutState();\n\n useEffect(() => {\n const onAuthenticated = events.on(\n 'authenticated',\n (isAuthenticated) => {\n isAuthenticatedSignal.value = isAuthenticated;\n\n if (isAuthenticated)\n dispatch({ type: CheckoutEvent.USER_AUTHENTICATED });\n else dispatch({ type: CheckoutEvent.USER_UNAUTHENTICATED });\n },\n { eager: true }\n );\n\n return () => {\n onAuthenticated?.off();\n };\n }, [dispatch]);\n}\n","import { ProductStockStatus } from '@/checkout/__generated__/types';\nimport {\n getCart,\n getCustomer,\n getStockStatus,\n placeOrder,\n UnexpectedError,\n} from '@/checkout/api';\nimport {\n Checkout as CheckoutComponent,\n EmptyCart,\n OutOfStock,\n ServerError,\n} from '@/checkout/components';\nimport {\n BillingForm,\n BillToShippingAddress,\n CartSummary,\n ErrorBanner,\n LoginForm as Login,\n OrderSummary,\n PaymentMethods,\n PlaceOrder,\n ShippingForm,\n ShippingMethods,\n} from '@/checkout/containers';\nimport { PaymentMethodSlotContext } from '@/checkout/containers/PaymentMethods';\nimport {\n CheckoutEvent,\n CheckoutState,\n useCheckoutState,\n} from '@/checkout/context/checkout';\nimport { useAuthentication } from '@/checkout/hooks/useAuthentication';\nimport { cartSignal, isBillToShippingSignal } from '@/checkout/signals';\nimport { isAuthenticatedSignal } from '@/checkout/signals/AuthenticationSignal';\nimport { useText } from '@adobe/elsie/i18n';\nimport { Slot, SlotProps } from '@adobe/elsie/lib';\nimport { events } from '@adobe/event-bus';\nimport {\n HTMLAttributes,\n useCallback,\n useEffect,\n useState,\n} from 'preact/compat';\nimport { Divider } from '@adobe/elsie/components';\n\nexport type PreselectedAddressFields = {\n countryCode?: string;\n region?: string;\n postCode?: string;\n};\n\nexport type PreselectedShippingMethod = {\n carrierCode: string;\n methodCode: string;\n};\n\nexport type PreselectedCartData = {\n address?: PreselectedAddressFields;\n shippingMethod?: PreselectedShippingMethod;\n};\n\nexport interface CheckoutProps extends HTMLAttributes<HTMLDivElement> {\n routeHome?: () => string;\n routeCart?: () => string;\n slots?: {\n BillingForm?: SlotProps;\n BillToShipping?: SlotProps;\n CartSummary?: SlotProps;\n Login?: SlotProps;\n OrderSummary?: SlotProps;\n PaymentMethods?: SlotProps<PaymentMethodSlotContext>;\n PlaceOrder?: SlotProps;\n ShippingForm?: SlotProps;\n ShippingMethods?: SlotProps;\n };\n preselectedCartData?: PreselectedCartData;\n onSignInClick?: () => void;\n onSignOutClick?: () => void;\n}\n\nexport const Checkout = (props: CheckoutProps) => {\n const {\n className,\n slots,\n routeHome,\n routeCart,\n preselectedCartData,\n onSignInClick,\n onSignOutClick,\n ...restProps\n } = props;\n const { state, dispatch } = useCheckoutState();\n\n const [serverError, setServerError] = useState('');\n const hasErrors = serverError !== '';\n\n const [handlePlaceOrder, setHandlePlaceOrder] =\n useState<() => Promise<void> | undefined>();\n\n const [hasOutOfStock, setHasOutOfStock] = useState(false);\n\n const cart = cartSignal.value.data;\n const isVirtual = Boolean(cart?.virtual);\n\n const translations = useText({\n CheckoutUnexpectedError: 'Checkout.ServerError.unexpected',\n });\n\n const defaultPlaceOrderHandler = useCallback(async () => {\n if (!cart) return;\n await placeOrder(cart.id);\n cartSignal.value = { pending: false };\n dispatch({ type: CheckoutEvent.ORDER_PLACED });\n }, [cart, dispatch]);\n\n const onPlaceOrder = (fn: () => Promise<void>) => {\n setHandlePlaceOrder(() => fn);\n };\n\n const dismissError = async () => {\n setServerError('');\n if (!cart) return;\n\n if (isAuthenticatedSignal.value) {\n await loadCustomerData();\n } else {\n await loadGuestData(cart.id);\n }\n };\n\n const handleServerError = (error: any) => {\n setServerError(\n error instanceof TypeError || error instanceof UnexpectedError\n ? translations.CheckoutUnexpectedError\n : error.message\n );\n };\n\n const loadGuestData = useCallback(\n async (cartId: string) => {\n const cart = await getCart(cartId);\n dispatch({ type: CheckoutEvent.CART_UPDATED, payload: cart });\n },\n [dispatch]\n );\n\n const loadCustomerData = useCallback(async () => {\n const cart = await getCart();\n await getCustomer();\n dispatch({ type: CheckoutEvent.CART_UPDATED, payload: cart });\n }, [dispatch]);\n\n const checkStockStatus = async (cartId?: string) => {\n const result = await getStockStatus(cartId);\n setHasOutOfStock(result === ProductStockStatus.OutOfStock);\n };\n\n useAuthentication();\n\n useEffect(() => {\n const onCartData = events.on(\n 'cart/data',\n (cart) => {\n if (isAuthenticatedSignal.value) {\n loadCustomerData();\n checkStockStatus();\n return;\n }\n\n if (cart && cart.id) {\n cartSignal.value = { ...cartSignal.value, pending: true };\n loadGuestData(cart.id);\n checkStockStatus(cart.id);\n return;\n }\n\n cartSignal.value = { data: null, pending: false };\n dispatch({ type: CheckoutEvent.CART_UPDATED, payload: null });\n },\n { eager: true }\n );\n\n return () => {\n onCartData?.off();\n };\n }, [dispatch, loadCustomerData, loadGuestData]);\n\n if (state === CheckoutState.COMPLETE) {\n return null;\n }\n\n if (state === CheckoutState.EMPTY) {\n return <EmptyCart routeHome={routeHome} />;\n }\n\n if (hasErrors) {\n return <ServerError errorMessage={serverError} onClick={dismissError} />;\n }\n\n const renderMain = () => {\n if (hasOutOfStock) {\n return (\n <CheckoutComponent.Main\n outOfStock={<OutOfStock routeCart={routeCart} />}\n />\n );\n }\n\n const billingAddressVisibilityToggle = isBillToShippingSignal.value.checked\n ? 'hidden'\n : 'visible';\n\n return (\n <CheckoutComponent.Main\n sections={{\n billingAddress: (\n <>\n <Slot\n name=\"BillingForm\"\n className={billingAddressVisibilityToggle}\n slot={slots?.BillingForm}\n >\n <BillingForm />\n </Slot>\n <Divider\n className={billingAddressVisibilityToggle}\n variant=\"primary\"\n />\n </>\n ),\n billToShippingAddress: isVirtual ? undefined : (\n <Slot name=\"BillToShipping\" slot={slots?.BillToShipping}>\n <BillToShippingAddress />\n </Slot>\n ),\n login: (\n <>\n <Slot name=\"Login\" slot={slots?.Login}>\n <Login\n onSignInClick={onSignInClick}\n onSignOutClick={() => {\n dispatch({ type: CheckoutEvent.USER_SIGN_OUT });\n onSignOutClick?.();\n }}\n />\n </Slot>\n <Divider variant=\"primary\" />\n </>\n ),\n paymentMethods: (\n <>\n <Slot name=\"PaymentMethods\" slot={slots?.PaymentMethods}>\n <PaymentMethods\n isShippingInfoRequired={!isVirtual}\n onPlaceOrder={onPlaceOrder}\n handleServerError={handleServerError}\n />\n </Slot>\n <Divider variant=\"primary\" />\n </>\n ),\n placeOrder: (\n <PlaceOrder\n onClick={handlePlaceOrder ?? defaultPlaceOrderHandler}\n handleServerError={handleServerError}\n />\n ),\n shippingAddress: isVirtual ? undefined : (\n <Slot name=\"ShippingForm\" slot={slots?.ShippingForm}>\n <ShippingForm preselectedFields={preselectedCartData?.address} />\n </Slot>\n ),\n shippingMethods: isVirtual ? undefined : (\n <>\n <Slot name=\"ShippingMethods\" slot={slots?.ShippingMethods}>\n <ShippingMethods\n preSelectedMethod={preselectedCartData?.shippingMethod}\n />\n </Slot>\n <Divider variant=\"primary\" />\n </>\n ),\n }}\n />\n );\n };\n\n const renderAside = () => {\n return (\n <CheckoutComponent.Aside\n sections={{\n cartSummary: (\n <Slot name=\"CartSummary\" slot={slots?.CartSummary}>\n <CartSummary routeCart={routeCart} />\n </Slot>\n ),\n orderSummary: (\n <Slot name=\"OrderSummary\" slot={slots?.OrderSummary}>\n <OrderSummary />\n </Slot>\n ),\n }}\n />\n );\n };\n\n return (\n <CheckoutComponent\n className={className}\n banner={<ErrorBanner />}\n isLoading={state === CheckoutState.LOADING}\n {...restProps}\n >\n {renderAside()}\n {renderMain()}\n </CheckoutComponent>\n );\n};\n"],"names":["SvgCart","props","React","SvgOrderError","EmptyCart","className","title","routeHome","translations","useText","Title","Button","_jsx","IllustratedMessage","classes","heading","icon","Icon","source","Cart","action","size","variant","type","href","children","undefined","OutOfStock","routeCart","Message","_jsxs","message","OrderError","Text","id","ServerError","errorMessage","contactSupport","onClick","ContactSupport","MarkupText","OUT_OF_STOCK","useAuthentication","dispatch","useCheckoutState","useEffect","onAuthenticated","events","on","isAuthenticated","isAuthenticatedSignal","value","CheckoutEvent","USER_AUTHENTICATED","USER_UNAUTHENTICATED","eager","off","Checkout","slots","preselectedCartData","onSignInClick","onSignOutClick","restProps","state","serverError","setServerError","useState","hasErrors","handlePlaceOrder","setHandlePlaceOrder","hasOutOfStock","setHasOutOfStock","cart","cartSignal","data","isVirtual","Boolean","virtual","CheckoutUnexpectedError","defaultPlaceOrderHandler","useCallback","placeOrder","pending","ORDER_PLACED","onPlaceOrder","fn","dismissError","loadCustomerData","loadGuestData","handleServerError","error","TypeError","UnexpectedError","cartId","getCart","CART_UPDATED","payload","getCustomer","checkStockStatus","result","getStockStatus","ProductStockStatus","onCartData","CheckoutState","COMPLETE","EMPTY","renderMain","CheckoutComponent","Main","outOfStock","billingAddressVisibilityToggle","isBillToShippingSignal","checked","sections","billingAddress","_Fragment","Slot","name","slot","BillingForm","Divider","billToShippingAddress","BillToShipping","BillToShippingAddress","login","Login","USER_SIGN_OUT","paymentMethods","PaymentMethods","isShippingInfoRequired","PlaceOrder","shippingAddress","ShippingForm","preselectedFields","address","shippingMethods","ShippingMethods","preSelectedMethod","shippingMethod","renderAside","Aside","cartSummary","CartSummary","orderSummary","OrderSummary","banner","ErrorBanner","isLoading","LOADING"],"mappings":"81DACA,MAAMA,GAAWC,GAA0BC,EAAM,cAAc,MAAO,CAAE,MAAO,GAAI,OAAQ,GAAI,QAAS,YAAa,KAAM,OAAQ,MAAO,6BAA8B,GAAGD,CAAO,EAAkBC,EAAM,cAAc,IAAK,CAAE,SAAU,qBAAqB,EAAoBA,EAAM,cAAc,OAAQ,CAAE,aAAc,qBAAsB,EAAG,oZAAqZ,OAAQ,eAAgB,eAAgB,OAAO,CAAE,EAAmBA,EAAM,cAAc,OAAQ,CAAE,aAAc,qBAAsB,EAAG,wCAAyC,OAAQ,eAAgB,eAAgB,OAAS,CAAA,CAAC,EAAmBA,EAAM,cAAc,OAAQ,KAAsBA,EAAM,cAAc,WAAY,CAAE,GAAI,eAAe,EAAoBA,EAAM,cAAc,OAAQ,CAAE,aAAc,qBAAsB,MAAO,MAAO,OAAQ,KAAM,KAAM,QAAS,UAAW,wBAAwB,CAAE,CAAC,CAAC,CAAC,ECA7uCC,EAAiBF,GAA0BC,EAAM,cAAc,MAAO,CAAE,MAAO,GAAI,OAAQ,GAAI,QAAS,YAAa,KAAM,OAAQ,MAAO,6BAA8B,GAAGD,CAAO,EAAkBC,EAAM,cAAc,IAAK,CAAE,SAAU,0BAA4CA,EAAM,cAAc,OAAQ,CAAE,aAAc,qBAAsB,EAAG,sDAAuD,OAAQ,eAAgB,cAAe,QAAS,eAAgB,OAAO,CAAE,EAAmBA,EAAM,cAAc,OAAQ,CAAE,aAAc,qBAAsB,EAAG,yCAA0C,OAAQ,eAAgB,cAAe,QAAS,eAAgB,OAAS,CAAA,EAAmBA,EAAM,cAAc,OAAQ,CAAE,UAAW,aAAc,aAAc,qBAAsB,EAAG,sCAAuC,OAAQ,eAAgB,cAAe,QAAS,eAAgB,OAAS,CAAA,EAAmBA,EAAM,cAAc,OAAQ,CAAE,UAAW,aAAc,aAAc,qBAAsB,EAAG,yGAA0G,OAAQ,eAAgB,cAAe,QAAS,eAAgB,OAAO,CAAE,EAAmBA,EAAM,cAAc,OAAQ,CAAE,aAAc,qBAAsB,EAAG,+DAAgE,OAAQ,eAAgB,eAAgB,OAAS,CAAA,EAAmBA,EAAM,cAAc,OAAQ,CAAE,aAAc,qBAAsB,EAAG,mEAAoE,OAAQ,eAAgB,cAAe,QAAS,eAAgB,OAAO,CAAE,CAAC,EAAmBA,EAAM,cAAc,OAAQ,KAAsBA,EAAM,cAAc,WAAY,CAAE,GAAI,kBAAkB,EAAoBA,EAAM,cAAc,OAAQ,CAAE,MAAO,GAAI,OAAQ,MAAO,KAAM,QAAS,UAAW,sBAAsB,CAAE,CAAC,CAAC,CAAC,ECYh1DE,GAA+CA,CAAC,CAC3DC,UAAAA,EACAC,MAAAA,EACAC,UAAAA,EACA,GAAGN,CACL,IAAM,CACJ,MAAMO,EAAeC,EAAQ,CAC3BC,MAAO,2BACPC,OAAQ,2BAAA,CACT,EAED,OACEC,EAACC,EAAkB,CAAA,GACbZ,EACJ,cAAY,sBACZI,UAAWS,EAAQ,CAAC,sBAAuBT,CAAS,CAAC,EACrDU,QAAST,GAASE,EAAaE,MAC/BM,KACEJ,EAACK,EAAI,CACHZ,UAAWS,EAAQ,CAAC,2BAA2B,CAAC,EAChDI,OAAQC,EAAAA,CACT,EAEHC,OACEb,GAAAA,MAAAA,IACEK,EAACD,EAAM,CACLN,UAAU,8BACVgB,KAAK,SACLC,QAAQ,UAERC,KAAK,SACLC,KAAMjB,GAAAA,YAAAA,IAAckB,SAEnBjB,EAAaG,MAAAA,EAJV,WAKE,EACNe,MAAAA,CAEP,CAEL,ECtCaC,GAAiDA,CAAC,CAC7DtB,UAAAA,EACAW,KAAAA,EACAY,UAAAA,EACA,GAAG3B,CACL,IAAM,CACJ,MAAMO,EAAeC,EAAQ,CAC3BC,MAAO,4BACPmB,QAAS,6BAAA,CACV,EAED,OACEC,EAAA,MAAA,CAAA,GACM7B,EACJI,UAAWS,EAAQ,CAAC,wBAAyBT,CAAS,CAAC,EACvD,cAAY,wBAAuBoB,SAAA,CAEnCb,EAACC,EAAkB,CACjBE,QAASP,EAAaE,MACtBqB,QAASnB,EAAA,IAAA,CAAAa,SAAIjB,EAAaqB,OAAAA,CAAW,EACrCb,KACEJ,EAACK,EAAI,CACHC,OAAQF,GAAQgB,EAChB3B,UAAWS,EAAQ,CAAC,6BAA6B,CAAC,CAAA,CACnD,CAEJ,CAAA,GAEAc,GAAAA,YAAAA,MACChB,EAACD,EAAM,CACLN,UAAU,gCACVgB,KAAK,SACLC,QAAQ,UAERC,KAAK,SACLC,KAAMI,GAAAA,YAAAA,IAAcH,SAEpBb,EAACqB,GAAI,CAACC,GAAG,4BAAA,CAA8B,CAAC,EAJpC,WAKE,CACT,CAAA,CACE,CAET,ECzCaC,GAAmDA,CAAC,CAC/D9B,UAAAA,EACA+B,aAAAA,EACAC,eAAAA,EACA,GAAGpC,CACL,IAAM,CACE,KAAA,CAAEqC,QAAAA,CAAYrC,EAAAA,EAEdO,EAAeC,EAAQ,CAC3BC,MAAO,6BACPmB,QAAS,+BACTU,eAAgB,sCAChB5B,OAAQ,6BAAA,CACT,EAED,OACEC,EAACC,EAAkB,CACjB,eAAa,OACb,mBAAiB,iCACjB,YAAU,SACVR,UAAWS,EAAQ,CAAC,wBAAyBT,CAAS,CAAC,EACvD,cAAY,wBACZU,QAASqB,GAAgB5B,EAAaE,MACtCqB,QACED,EAAA,IAAA,CAAGI,GAAIpB,EAAQ,CAAC,gCAAgC,CAAC,EAAEW,SAAA,CAChDjB,EAAaqB,QACdjB,EAAA,KAAA,CAAK,CAAA,EACLA,EAAC4B,GAAU,CAACN,GAAG,GAAET,SACdY,GAAkB7B,EAAa+B,cAAAA,CACtB,CAAC,CAAA,CACZ,EAELvB,KACEJ,EAACK,EAAI,CACHZ,UAAWS,EAAQ,CAAC,6BAA6B,CAAC,EAClDI,OAAQc,CAAAA,CACT,EAEHZ,OACER,EAACD,EAAM,CACLN,UAAWS,EAAQ,CAAC,+BAA+B,CAAC,EACpDwB,QAAAA,EAAiBb,SAEhBjB,EAAaG,MAAAA,CACR,CAAA,CAEX,CAEL,EC/Da8B,GAAe,eCKrB,SAASC,IAAoB,CAC5B,KAAA,CAAEC,SAAAA,GAAaC,EAAiB,EAEtCC,GAAU,IAAM,CACd,MAAMC,EAAkBC,EAAOC,GAC7B,gBACqBC,GAAA,CACnBC,EAAsBC,MAAQF,EAGnBN,EADPM,EACO,CAAE1B,KAAM6B,EAAcC,kBAAAA,EACnB,CAAE9B,KAAM6B,EAAcE,oBAAAA,CADiB,CACK,EAE5D,CAAEC,MAAO,EAAA,CACX,EAEA,MAAO,IAAM,CACXT,GAAAA,MAAAA,EAAiBU,KAAI,CACvB,EACC,CAACb,CAAQ,CAAC,CACf,CCwDac,MAAAA,GAAYxD,GAAyB,CAC1C,KAAA,CACJI,UAAAA,EACAqD,MAAAA,EACAnD,UAAAA,EACAqB,UAAAA,EACA+B,oBAAAA,EACAC,cAAAA,EACAC,eAAAA,EACA,GAAGC,CACD7D,EAAAA,EACE,CAAE8D,MAAAA,EAAOpB,SAAAA,GAAaC,EAAiB,EAEvC,CAACoB,EAAaC,CAAc,EAAIC,EAAS,EAAE,EAC3CC,EAAYH,IAAgB,GAE5B,CAACI,EAAkBC,CAAmB,EAC1CH,EAA0C,EAEtC,CAACI,EAAeC,CAAgB,EAAIL,EAAS,EAAK,EAElDM,EAAOC,EAAWtB,MAAMuB,KACxBC,EAAYC,GAAQJ,GAAAA,MAAAA,EAAMK,SAE1BrE,EAAeC,EAAQ,CAC3BqE,wBAAyB,iCAAA,CAC1B,EAEKC,EAA2BC,EAAY,SAAY,CAClDR,IACCS,MAAAA,GAAWT,EAAKtC,EAAE,EACxBuC,EAAWtB,MAAQ,CAAE+B,QAAS,EAAA,EACrBvC,EAAA,CAAEpB,KAAM6B,EAAc+B,YAAAA,CAAc,EAAA,EAC5C,CAACX,EAAM7B,CAAQ,CAAC,EAEbyC,EAAgBC,GAA4B,CAChDhB,EAAoB,IAAMgB,CAAE,CAAA,EAGxBC,EAAe,SAAY,CAC/BrB,EAAe,EAAE,EACZO,IAEDtB,EAAsBC,MACxB,MAAMoC,EAAiB,EAEjBC,MAAAA,EAAchB,EAAKtC,EAAE,EAC7B,EAGIuD,EAAqBC,GAAe,CACxCzB,EACEyB,aAAiBC,WAAaD,aAAiBE,GAC3CpF,EAAasE,wBACbY,EAAM3D,OACZ,CAAA,EAGIyD,EAAgBR,EACpB,MAAOa,GAAmB,CAClBrB,MAAAA,EAAO,MAAMsB,EAAQD,CAAM,EACxBlD,EAAA,CAAEpB,KAAM6B,EAAc2C,aAAcC,QAASxB,CAAAA,CAAM,CAAA,EAE9D,CAAC7B,CAAQ,CACX,EAEM4C,EAAmBP,EAAY,SAAY,CACzCR,MAAAA,EAAO,MAAMsB,IACnB,MAAMG,GAAY,EACTtD,EAAA,CAAEpB,KAAM6B,EAAc2C,aAAcC,QAASxB,CAAAA,CAAM,CAAA,EAC3D,CAAC7B,CAAQ,CAAC,EAEPuD,EAAmB,MAAOL,GAAoB,CAC5CM,MAAAA,EAAS,MAAMC,GAAeP,CAAM,EACzBM,EAAAA,IAAWE,GAAmB1E,UAAU,CAAA,EAiCvDoC,GA9BcrB,KAElBG,GAAU,IAAM,CACd,MAAMyD,EAAavD,EAAOC,GACxB,YACCwB,GAAS,CACR,GAAItB,EAAsBC,MAAO,CACdoC,IACAW,IACjB,MACF,CAEI1B,GAAAA,GAAQA,EAAKtC,GAAI,CACnBuC,EAAWtB,MAAQ,CAAE,GAAGsB,EAAWtB,MAAO+B,QAAS,EAAA,EACnDM,EAAchB,EAAKtC,EAAE,EACrBgE,EAAiB1B,EAAKtC,EAAE,EACxB,MACF,CAEAuC,EAAWtB,MAAQ,CAAEuB,KAAM,KAAMQ,QAAS,EAAA,EACjCvC,EAAA,CAAEpB,KAAM6B,EAAc2C,aAAcC,QAAS,IAAA,CAAM,CAAA,EAE9D,CAAEzC,MAAO,EAAA,CACX,EAEA,MAAO,IAAM,CACX+C,GAAAA,MAAAA,EAAY9C,KAAI,CAEjB,EAAA,CAACb,EAAU4C,EAAkBC,CAAa,CAAC,EAE1CzB,IAAUwC,EAAcC,SACnB,OAAA,KAGLzC,GAAAA,IAAUwC,EAAcE,MAC1B,OAAO7F,EAACR,GAAS,CAACG,UAAAA,CAAAA,CAAuB,EAG3C,GAAI4D,EACF,OAAOvD,EAACuB,GAAW,CAACC,aAAc4B,EAAa1B,QAASgD,CAAAA,CAAe,EAGzE,MAAMoB,EAAaA,IAAM,CACvB,GAAIpC,EAEA1D,OAAAA,EAAC+F,EAAkBC,KAAI,CACrBC,WAAYjG,EAACe,GAAU,CAACC,UAAAA,CAAAA,CAAuB,CAAA,CAChD,EAIL,MAAMkF,EAAiCC,GAAuB5D,MAAM6D,QAChE,SACA,UAGFpG,OAAAA,EAAC+F,EAAkBC,KAAI,CACrBK,SAAU,CACRC,eACEpF,EAAAqF,EAAA,CAAA1F,SAAA,CACEb,EAACwG,EAAI,CACHC,KAAK,cACLhH,UAAWyG,EACXQ,KAAM5D,GAAAA,YAAAA,EAAO6D,YAAY9F,SAEzBb,EAAC2G,GAAa,EAAA,CAAA,CACV,EACN3G,EAAC4G,EAAO,CACNnH,UAAWyG,EACXxF,QAAQ,SAAA,CACT,CAAC,CAAA,CACF,EAEJmG,sBAAuB9C,EAAYjD,OACjCd,EAACwG,EAAI,CAACC,KAAK,iBAAiBC,KAAM5D,GAAAA,YAAAA,EAAOgE,eAAejG,SACtDb,EAAC+G,GAAuB,EAAA,CAAA,CACpB,EAERC,MACE9F,EAAAqF,EAAA,CAAA1F,SAAA,CACEb,EAACwG,EAAI,CAACC,KAAK,QAAQC,KAAM5D,GAAAA,YAAAA,EAAOmE,MAAMpG,SACpCb,EAACiH,GAAK,CACJjE,cAAAA,EACAC,eAAgBA,IAAM,CACXlB,EAAA,CAAEpB,KAAM6B,EAAc0E,aAAAA,CAAe,EAC7BjE,GAAA,MAAAA,GACnB,CAAA,CACD,CAAA,CACG,EACNjD,EAAC4G,EAAO,CAAClG,QAAQ,SAAA,CAAW,CAAC,CAAA,CAC7B,EAEJyG,eACEjG,EAAAqF,EAAA,CAAA1F,SAAA,CACEb,EAACwG,EAAI,CAACC,KAAK,iBAAiBC,KAAM5D,GAAAA,YAAAA,EAAOsE,eAAevG,SACtDb,EAACoH,GAAc,CACbC,uBAAwB,CAACtD,EACzBS,aAAAA,EACAK,kBAAAA,CAAAA,CACD,CAAA,CACG,EACN7E,EAAC4G,EAAO,CAAClG,QAAQ,SAAA,CAAW,CAAC,CAAA,CAC7B,EAEJ2D,WACErE,EAACsH,GAAU,CACT5F,QAAS8B,GAAoBW,EAC7BU,kBAAAA,CAAAA,CACD,EAEH0C,gBAAiBxD,EAAYjD,OAC3Bd,EAACwG,EAAI,CAACC,KAAK,eAAeC,KAAM5D,GAAAA,YAAAA,EAAO0E,aAAa3G,SAClDb,EAACwH,GAAY,CAACC,kBAAmB1E,GAAAA,YAAAA,EAAqB2E,OAAAA,CAAU,CAAA,CAC5D,EAERC,gBAAiB5D,EAAYjD,OAC3BI,EAAAqF,EAAA,CAAA1F,SAAA,CACEb,EAACwG,EAAI,CAACC,KAAK,kBAAkBC,KAAM5D,GAAAA,YAAAA,EAAO8E,gBAAgB/G,SACxDb,EAAC4H,GAAe,CACdC,kBAAmB9E,GAAAA,YAAAA,EAAqB+E,cAAAA,CACzC,CAAA,CACG,EACN9H,EAAC4G,EAAO,CAAClG,QAAQ,SAAA,CAAW,CAAC,CAAA,CAC7B,CAEN,CAAA,CACD,CAAA,EAICqH,EAAcA,IAEhB/H,EAAC+F,EAAkBiC,MAAK,CACtB3B,SAAU,CACR4B,YACEjI,EAACwG,EAAI,CAACC,KAAK,cAAcC,KAAM5D,GAAAA,YAAAA,EAAOoF,YAAYrH,SAChDb,EAACkI,GAAW,CAAClH,UAAAA,CAAAA,CAAuB,CAAA,CAChC,EAERmH,aACEnI,EAACwG,EAAI,CAACC,KAAK,eAAeC,KAAM5D,GAAAA,YAAAA,EAAOsF,aAAavH,SAClDb,EAACoI,GAAc,EAAA,CAAA,CACX,CAEV,CAAA,CACD,EAIL,OACElH,EAAC6E,EAAiB,CAChBtG,UAAAA,EACA4I,OAAQrI,EAACsI,KAAa,EACtBC,UAAWpF,IAAUwC,EAAc6C,QAAQ,GACvCtF,EAASrC,UAEZkH,IACAjC,GAAY,CAAA,CACI,CAEvB","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"Checkout.js","sources":["../../node_modules/@adobe/elsie/src/icons/Cart.svg","../../node_modules/@adobe/elsie/src/icons/OrderError.svg","../../src/components/EmptyCart/EmptyCart.tsx","../../src/components/OutOfStock/OutOfStock.tsx","../../src/components/ServerError/ServerError.tsx","../../src/containers/Checkout/constants.ts","../../src/hooks/useAuthentication/useAuthentication.tsx","../../src/containers/Checkout/Checkout.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgCart = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"g\", { clipPath: \"url(#clip0_102_196)\" }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M18.3601 18.16H6.5601L4.8801 3H2.3501M19.6701 19.59C19.6701 20.3687 19.0388 21 18.2601 21C17.4814 21 16.8501 20.3687 16.8501 19.59C16.8501 18.8113 17.4814 18.18 18.2601 18.18C19.0388 18.18 19.6701 18.8113 19.6701 19.59ZM7.42986 19.59C7.42986 20.3687 6.79858 21 6.01986 21C5.24114 21 4.60986 20.3687 4.60986 19.59C4.60986 18.8113 5.24114 18.18 6.01986 18.18C6.79858 18.18 7.42986 18.8113 7.42986 19.59Z\", stroke: \"currentColor\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M5.25 6.37L20.89 8.06L20.14 14.8H6.19\", stroke: \"currentColor\", strokeLinejoin: \"round\" })), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"clipPath\", { id: \"clip0_102_196\" }, /* @__PURE__ */ React.createElement(\"rect\", { vectorEffect: \"non-scaling-stroke\", width: 19.29, height: 19.5, fill: \"white\", transform: \"translate(2.3501 2.25)\" }))));\nexport default SvgCart;\n","import * as React from \"react\";\nconst SvgOrderError = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"g\", { clipPath: \"url(#clip0_4797_15331)\" }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M10.25 20.91L1.5 17.55V6.51996L10.25 9.92996V20.91Z\", stroke: \"currentColor\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M6.24023 4.64001L14.9902 8.06001V11.42\", stroke: \"currentColor\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { className: \"error-icon\", vectorEffect: \"non-scaling-stroke\", d: \"M19 13.31L15.5 19.37H22.5L19 13.31Z\", stroke: \"currentColor\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { className: \"error-icon\", vectorEffect: \"non-scaling-stroke\", d: \"M19.0202 17.11H18.9802L18.9502 15.56H19.0502L19.0202 17.11ZM18.9602 18.29V18.06H19.0502V18.29H18.9602Z\", stroke: \"currentColor\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M19 12.16V6.51996L10.25 9.92996V20.91L14.27 19.37L14.4 19.32\", stroke: \"currentColor\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M1.5 6.51999L10.25 3.04999L19 6.51999L10.25 9.92999L1.5 6.51999Z\", stroke: \"currentColor\", strokeLinecap: \"round\", strokeLinejoin: \"round\" })), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"clipPath\", { id: \"clip0_4797_15331\" }, /* @__PURE__ */ React.createElement(\"rect\", { width: 22, height: 18.86, fill: \"white\", transform: \"translate(1 2.54999)\" }))));\nexport default SvgOrderError;\n","import { FunctionComponent } from 'preact';\nimport { HTMLAttributes } from 'preact/compat';\nimport { classes } from '@adobe/elsie/lib';\nimport '@/checkout/components/EmptyCart/EmptyCart.css';\nimport { Button, Icon, IllustratedMessage } from '@adobe/elsie/components';\nimport { Cart } from '@adobe/elsie/icons';\nimport { useText } from '@adobe/elsie/i18n';\n\nexport interface EmptyCartProps extends HTMLAttributes<HTMLDivElement> {\n title?: string;\n routeHome?: () => string;\n}\n\nexport const EmptyCart: FunctionComponent<EmptyCartProps> = ({\n className,\n title,\n routeHome,\n ...props\n}) => {\n const translations = useText({\n Title: 'Checkout.EmptyCart.title',\n Button: 'Checkout.EmptyCart.button',\n });\n\n return (\n <IllustratedMessage\n {...props}\n data-testid=\"checkout-empty-cart\"\n className={classes(['checkout-empty-cart', className])}\n heading={title ?? translations.Title}\n icon={\n <Icon\n className={classes(['checkout-empty-cart__icon'])}\n source={Cart}\n />\n }\n action={\n routeHome?.() ? (\n <Button\n className=\"checkout-empty-cart__button\"\n size=\"medium\"\n variant=\"primary\"\n key=\"routeHome\"\n type=\"submit\"\n href={routeHome?.()}\n >\n {translations.Button}\n </Button>\n ) : undefined\n }\n />\n );\n};\n","import { FunctionComponent, JSX } from 'preact';\nimport { HTMLAttributes } from 'preact/compat';\nimport { classes } from '@adobe/elsie/lib';\nimport '@/checkout/components/OutOfStock/OutOfStock.css';\nimport { Text, useText } from '@adobe/elsie/i18n';\nimport { Button, Icon, IllustratedMessage } from '@adobe/elsie/components';\nimport { OrderError } from '@adobe/elsie/icons';\n\nexport interface OutOfStockProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'icon'> {\n icon?: FunctionComponent<JSX.SVGAttributes<SVGElement>>;\n routeCart?: () => string;\n}\n\nexport const OutOfStock: FunctionComponent<OutOfStockProps> = ({\n className,\n icon,\n routeCart,\n ...props\n}) => {\n const translations = useText({\n Title: 'Checkout.OutOfStock.title',\n Message: 'Checkout.OutOfStock.message',\n });\n\n return (\n <div\n {...props}\n className={classes(['checkout-out-of-stock', className])}\n data-testid=\"checkout-out-of-stock\"\n >\n <IllustratedMessage\n heading={translations.Title}\n message={<p>{translations.Message}</p>}\n icon={\n <Icon\n source={icon ?? OrderError}\n className={classes(['checkout-out-of-stock__icon'])}\n />\n }\n />\n\n {routeCart?.() && (\n <Button\n className=\"checkout-out-of-stock__button\"\n size=\"medium\"\n variant=\"primary\"\n key=\"routeCart\"\n type=\"submit\"\n href={routeCart?.()}\n >\n <Text id=\"Checkout.OutOfStock.button\" />\n </Button>\n )}\n </div>\n );\n};\n","import { FunctionComponent } from 'preact';\nimport { HTMLAttributes } from 'preact/compat';\nimport { classes } from '@adobe/elsie/lib';\nimport '@/checkout/components/ServerError/ServerError.css';\nimport { MarkupText, useText } from '@adobe/elsie/i18n';\nimport { Button, Icon, IllustratedMessage } from '@adobe/elsie/components';\nimport { OrderError } from '@adobe/elsie/icons';\n\nexport interface ServerErrorProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'icon'> {\n errorMessage: string;\n contactSupport?: string;\n onClick?: (e: any) => void;\n}\n\nexport const ServerError: FunctionComponent<ServerErrorProps> = ({\n className,\n errorMessage,\n contactSupport,\n ...props\n}) => {\n const { onClick } = props;\n\n const translations = useText({\n Title: 'Checkout.ServerError.title',\n Message: 'Checkout.ServerError.message',\n ContactSupport: 'Checkout.ServerError.contactSupport',\n Button: 'Checkout.ServerError.button',\n });\n\n return (\n <IllustratedMessage\n aria-invalid=\"true\"\n aria-describedby=\"checkout-server-error__message\"\n aria-live=\"polite\"\n className={classes(['checkout-server-error', className])}\n data-testid=\"checkout-server-error\"\n heading={errorMessage ?? translations.Title}\n message={\n <p id={classes(['checkout-server-error__message'])}>\n {translations.Message}\n <br />\n <MarkupText id=\"\">\n {contactSupport ?? translations.ContactSupport}\n </MarkupText>\n </p>\n }\n icon={\n <Icon\n className={classes(['checkout-server-error__icon'])}\n source={OrderError}\n />\n }\n action={\n <Button\n className={classes(['checkout-server-error__button'])}\n onClick={onClick}\n >\n {translations.Button}\n </Button>\n }\n />\n );\n};\n","export const OUT_OF_STOCK = 'OUT_OF_STOCK';\n","import { useEffect } from 'preact/hooks';\nimport { events } from '@adobe/event-bus';\nimport { isAuthenticatedSignal } from '@/checkout/signals/AuthenticationSignal';\nimport { CheckoutEvent, useCheckoutState } from '@/checkout/context/checkout';\n\nexport function useAuthentication() {\n const { dispatch } = useCheckoutState();\n\n useEffect(() => {\n const onAuthenticated = events.on(\n 'authenticated',\n (isAuthenticated) => {\n isAuthenticatedSignal.value = isAuthenticated;\n\n if (isAuthenticated)\n dispatch({ type: CheckoutEvent.USER_AUTHENTICATED });\n else dispatch({ type: CheckoutEvent.USER_UNAUTHENTICATED });\n },\n { eager: true }\n );\n\n return () => {\n onAuthenticated?.off();\n };\n }, [dispatch]);\n}\n","import { ProductStockStatus } from '@/checkout/__generated__/types';\nimport {\n getCart,\n getCustomer,\n getStockStatus,\n placeOrder,\n UnexpectedError,\n} from '@/checkout/api';\nimport {\n Checkout as CheckoutComponent,\n EmptyCart,\n OutOfStock,\n ServerError,\n} from '@/checkout/components';\nimport {\n BillingForm,\n BillToShippingAddress,\n CartSummary,\n ErrorBanner,\n LoginForm as Login,\n OrderSummary,\n PaymentMethods,\n PlaceOrder,\n ShippingForm,\n ShippingMethods,\n} from '@/checkout/containers';\nimport { PaymentMethodSlotContext } from '@/checkout/containers/PaymentMethods';\nimport {\n CheckoutEvent,\n CheckoutState,\n useCheckoutState,\n} from '@/checkout/context/checkout';\nimport { useAuthentication } from '@/checkout/hooks/useAuthentication';\nimport { cartSignal, isBillToShippingSignal } from '@/checkout/signals';\nimport { isAuthenticatedSignal } from '@/checkout/signals/AuthenticationSignal';\nimport { useText } from '@adobe/elsie/i18n';\nimport { classes, Slot, SlotProps } from '@adobe/elsie/lib';\nimport { events } from '@adobe/event-bus';\nimport {\n HTMLAttributes,\n useCallback,\n useEffect,\n useState,\n} from 'preact/compat';\nimport { Divider } from '@adobe/elsie/components';\n\nexport type PreselectedAddressFields = {\n countryCode?: string;\n region?: string;\n postCode?: string;\n};\n\nexport type PreselectedShippingMethod = {\n carrierCode: string;\n methodCode: string;\n};\n\nexport type PreselectedCartData = {\n address?: PreselectedAddressFields;\n shippingMethod?: PreselectedShippingMethod;\n};\n\nexport interface CheckoutProps extends HTMLAttributes<HTMLDivElement> {\n routeHome?: () => string;\n routeCart?: () => string;\n slots?: {\n BillingForm?: SlotProps;\n BillToShipping?: SlotProps;\n CartSummary?: SlotProps;\n Login?: SlotProps;\n OrderSummary?: SlotProps;\n PaymentMethods?: SlotProps<PaymentMethodSlotContext>;\n PlaceOrder?: SlotProps;\n ShippingForm?: SlotProps;\n ShippingMethods?: SlotProps;\n };\n preselectedCartData?: PreselectedCartData;\n onSignInClick?: () => void;\n onSignOutClick?: () => void;\n}\n\nexport const Checkout = (props: CheckoutProps) => {\n const {\n className,\n slots,\n routeHome,\n routeCart,\n preselectedCartData,\n onSignInClick,\n onSignOutClick,\n ...restProps\n } = props;\n const { state, dispatch } = useCheckoutState();\n\n const [serverError, setServerError] = useState('');\n const hasErrors = serverError !== '';\n\n const [handlePlaceOrder, setHandlePlaceOrder] =\n useState<() => Promise<void> | undefined>();\n\n const [hasOutOfStock, setHasOutOfStock] = useState(false);\n\n const cart = cartSignal.value.data;\n const isVirtual = Boolean(cart?.virtual);\n\n const translations = useText({\n CheckoutUnexpectedError: 'Checkout.ServerError.unexpected',\n });\n\n const defaultPlaceOrderHandler = useCallback(async () => {\n if (!cart) return;\n await placeOrder(cart.id);\n cartSignal.value = { pending: false };\n dispatch({ type: CheckoutEvent.ORDER_PLACED });\n }, [cart, dispatch]);\n\n const onPlaceOrder = (fn: () => Promise<void>) => {\n setHandlePlaceOrder(() => fn);\n };\n\n const dismissError = async () => {\n setServerError('');\n if (!cart) return;\n\n if (isAuthenticatedSignal.value) {\n await loadCustomerData();\n } else {\n await loadGuestData(cart.id);\n }\n };\n\n const handleServerError = (error: any) => {\n setServerError(\n error instanceof TypeError || error instanceof UnexpectedError\n ? translations.CheckoutUnexpectedError\n : error.message\n );\n };\n\n const loadGuestData = useCallback(\n async (cartId: string) => {\n const cart = await getCart(cartId);\n dispatch({ type: CheckoutEvent.CART_UPDATED, payload: cart });\n },\n [dispatch]\n );\n\n const loadCustomerData = useCallback(async () => {\n const cart = await getCart();\n await getCustomer();\n dispatch({ type: CheckoutEvent.CART_UPDATED, payload: cart });\n }, [dispatch]);\n\n const checkStockStatus = async (cartId?: string) => {\n const result = await getStockStatus(cartId);\n setHasOutOfStock(result === ProductStockStatus.OutOfStock);\n };\n\n useAuthentication();\n\n useEffect(() => {\n const onCartData = events.on(\n 'cart/data',\n (cart) => {\n if (isAuthenticatedSignal.value) {\n loadCustomerData();\n checkStockStatus();\n return;\n }\n\n if (cart && cart.id) {\n cartSignal.value = { ...cartSignal.value, pending: true };\n loadGuestData(cart.id);\n checkStockStatus(cart.id);\n return;\n }\n\n cartSignal.value = { data: null, pending: false };\n dispatch({ type: CheckoutEvent.CART_UPDATED, payload: null });\n },\n { eager: true }\n );\n\n return () => {\n onCartData?.off();\n };\n }, [dispatch, loadCustomerData, loadGuestData]);\n\n if (state === CheckoutState.COMPLETE) {\n return null;\n }\n\n if (state === CheckoutState.EMPTY) {\n return <EmptyCart routeHome={routeHome} />;\n }\n\n if (hasErrors) {\n return <ServerError errorMessage={serverError} onClick={dismissError} />;\n }\n\n const renderMain = () => {\n if (hasOutOfStock) {\n return (\n <CheckoutComponent.Main\n outOfStock={<OutOfStock routeCart={routeCart} />}\n />\n );\n }\n\n const billingAddressVisibilityToggle = isBillToShippingSignal.value.checked\n ? 'checkout-billing-form__hidden'\n : 'checkout-billing-form__visible';\n\n return (\n <CheckoutComponent.Main\n sections={{\n billingAddress: (\n <>\n <Slot\n name=\"BillingForm\"\n className={billingAddressVisibilityToggle}\n slot={slots?.BillingForm}\n >\n <BillingForm />\n </Slot>\n <Divider\n className={classes([\n `${billingAddressVisibilityToggle}`,\n 'checkout-billing-form__divider',\n ])}\n variant=\"primary\"\n />\n </>\n ),\n billToShippingAddress: isVirtual ? undefined : (\n <Slot name=\"BillToShipping\" slot={slots?.BillToShipping}>\n <BillToShippingAddress />\n </Slot>\n ),\n login: (\n <Slot name=\"Login\" slot={slots?.Login}>\n <Login\n onSignInClick={onSignInClick}\n onSignOutClick={() => {\n dispatch({ type: CheckoutEvent.USER_SIGN_OUT });\n onSignOutClick?.();\n }}\n />\n </Slot>\n ),\n paymentMethods: (\n <PaymentMethods\n isShippingInfoRequired={!isVirtual}\n onPlaceOrder={onPlaceOrder}\n handleServerError={handleServerError}\n paymentMethodsSlot={slots?.PaymentMethods}\n />\n ),\n placeOrder: (\n <PlaceOrder\n onClick={handlePlaceOrder ?? defaultPlaceOrderHandler}\n handleServerError={handleServerError}\n />\n ),\n shippingAddress: isVirtual ? undefined : (\n <Slot name=\"ShippingForm\" slot={slots?.ShippingForm}>\n <ShippingForm preselectedFields={preselectedCartData?.address} />\n </Slot>\n ),\n shippingMethods: isVirtual ? undefined : (\n <Slot name=\"ShippingMethods\" slot={slots?.ShippingMethods}>\n <ShippingMethods\n preSelectedMethod={preselectedCartData?.shippingMethod}\n />\n </Slot>\n ),\n }}\n />\n );\n };\n\n const renderAside = () => {\n return (\n <CheckoutComponent.Aside\n sections={{\n cartSummary: (\n <Slot name=\"CartSummary\" slot={slots?.CartSummary}>\n <CartSummary routeCart={routeCart} />\n </Slot>\n ),\n orderSummary: (\n <Slot name=\"OrderSummary\" slot={slots?.OrderSummary}>\n <OrderSummary />\n </Slot>\n ),\n }}\n />\n );\n };\n\n return (\n <CheckoutComponent\n className={className}\n banner={<ErrorBanner />}\n isLoading={state === CheckoutState.LOADING}\n {...restProps}\n >\n {renderAside()}\n {renderMain()}\n </CheckoutComponent>\n );\n};\n"],"names":["SvgCart","props","React","SvgOrderError","EmptyCart","className","title","routeHome","translations","useText","Title","Button","_jsx","IllustratedMessage","classes","heading","icon","Icon","source","Cart","action","size","variant","type","href","children","undefined","OutOfStock","routeCart","Message","_jsxs","message","OrderError","Text","id","ServerError","errorMessage","contactSupport","onClick","ContactSupport","MarkupText","OUT_OF_STOCK","useAuthentication","dispatch","useCheckoutState","useEffect","onAuthenticated","events","on","isAuthenticated","isAuthenticatedSignal","value","CheckoutEvent","USER_AUTHENTICATED","USER_UNAUTHENTICATED","eager","off","Checkout","slots","preselectedCartData","onSignInClick","onSignOutClick","restProps","state","serverError","setServerError","useState","hasErrors","handlePlaceOrder","setHandlePlaceOrder","hasOutOfStock","setHasOutOfStock","cart","cartSignal","data","isVirtual","Boolean","virtual","CheckoutUnexpectedError","defaultPlaceOrderHandler","useCallback","placeOrder","pending","ORDER_PLACED","onPlaceOrder","fn","dismissError","loadCustomerData","loadGuestData","handleServerError","error","TypeError","UnexpectedError","cartId","getCart","CART_UPDATED","payload","getCustomer","checkStockStatus","result","getStockStatus","ProductStockStatus","onCartData","CheckoutState","COMPLETE","EMPTY","renderMain","CheckoutComponent","Main","outOfStock","billingAddressVisibilityToggle","isBillToShippingSignal","checked","sections","billingAddress","_Fragment","Slot","name","slot","BillingForm","Divider","billToShippingAddress","BillToShipping","BillToShippingAddress","login","Login","USER_SIGN_OUT","paymentMethods","PaymentMethods","isShippingInfoRequired","paymentMethodsSlot","PlaceOrder","shippingAddress","ShippingForm","preselectedFields","address","shippingMethods","ShippingMethods","preSelectedMethod","shippingMethod","renderAside","Aside","cartSummary","CartSummary","orderSummary","OrderSummary","banner","ErrorBanner","isLoading","LOADING"],"mappings":"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","x_google_ignoreList":[0,1]}
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name": "@dropins/storefront-checkout", "version": "0.1.0-alpha32", "dependencies": { "@dropins/tools": "0.23.0" } }
1
+ {"name": "@dropins/storefront-checkout", "version": "0.1.0-alpha33", "dependencies": { "@dropins/tools": "0.23.0" } }
package/render.js CHANGED
@@ -1,4 +1,4 @@
1
1
  (function(a,r){try{if(typeof document<"u"){const t=document.createElement("style"),n=r.styleId;for(const e in r.attributes)t.setAttribute(e,r.attributes[e]);t.setAttribute("data-dropin",n),t.appendChild(document.createTextNode(a));const o=document.querySelector('style[data-dropin="sdk"]');if(o)o.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{display:grid}.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
- .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}.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-cart-summary .dropin-card__content{gap:var(--spacing-xsmall)}.checkout-cart-summary__heading{display:grid;grid-template-columns:1fr max-content;grid-auto-rows:max-content}.checkout-cart-summary__title{color:var(--color-neutral-800);font:var(--type-headline-2-default-font);letter-spacing:var(--type-headline-2-default-letter-spacing);margin:0}.checkout-cart-summary__edit{font:var(--type-body-2-strong-font);letter-spacing:var(--type-body-2-strong-letter-spacing);align-self:flex-end;justify-self:flex-end;margin:0;cursor:pointer}.checkout-cart-summary__edit a{font:var(--type-body-2-strong-font);letter-spacing:var(--type-body-2-strong-letter-spacing)}.checkout-cart-summary .checkout-cart-summary__divider-top{margin:0 0 var(--spacing-medium) 0}.checkout-cart-summary .checkout-cart-summary__divider-bottom{margin:var(--spacing-medium) 0 var(--spacing-small) 0}.checkout-cart-summary__items{display:grid;gap:var(--spacing-medium)}.checkout-cart-summary__action{font:var(--type-body-2-strong-font);letter-spacing:var(--type-body-2-strong-letter-spacing);color:var(--color-brand-500);background:none;margin:0 auto;border:0;text-align:center;white-space:nowrap;text-decoration:none;cursor:pointer;width:auto}.checkout-cart-summary__action:hover{text-decoration:underline;text-underline-offset:var(--spacing-xxsmall);background-color:transparent;color:var(--color-brand-700)}.dropin-accordion{background-color:var(--color-neutral-200)}.dropin-accordion .dropin-divider:first-child{margin-top:0}.dropin-accordion .dropin-divider:last-child{margin-bottom:0}.dropin-accordion-section{padding:0 var(--spacing-medium)}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout-cart-summary .dropin-accordion-section__content-container{gap:0}.checkout-cart-summary-item{margin-bottom:var(--spacing-medium)}.dropin-accordion-section__content-container .checkout-cart-summary-item:last-of-type{margin-bottom:0}}.checkout-cart-summary-item .dropin-cart-item__title{font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.checkout-cart-summary-item .dropin-cart-item__price{margin:var(--spacing-xxsmall) 0}.checkout-cart-summary-item .dropin-price--sale,.checkout-cart-summary-item .dropin-cart-item__warning{color:var(--color-alert-800)}.dropin-cart-item__total{align-items:flex-end}.checkout__content{display:grid;align-items:start;grid-template-columns:repeat(var(--grid-4-columns),1fr);grid-template-areas:"main aside";column-gap:var(--grid-4-gutters)}.checkout__main{display:grid;grid-area:main;grid-column:1 / span 7;row-gap:var(--spacing-xbig)}.checkout__aside{display:grid;grid-area:aside;grid-column:9 / span 4;row-gap:var(--spacing-xbig)}.checkout__banner{margin-bottom:var(--spacing-xbig)}.checkout-title{color:var(--color-neutral-800);font:var(--type-headline-1-font);letter-spacing:var(--type-headline-1-letter-spacing);border-bottom:var(--shape-border-width-3) solid var(--color-neutral-400);padding-bottom:var(--spacing-xsmall);padding-top:var(--spacing-small);margin:0}.checkout__content .dropin-divider{margin:0;width:100%}.checkout__content .visible{display:block}.checkout__content .hidden{display:none}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout__content{grid-template-columns:1fr;grid-template-areas:"header" "cartSummary" "login" "shippingAddress" "billToShippingAddress" "shippingMethods" "paymentMethods" "billingAddress" "orderSummary" "placeOrder";row-gap:var(--spacing-big)}.checkout-cart-summary{grid-area:cartSummary}.checkout-order-summary{grid-area:orderSummary}.checkout-cart-summary .dropin-divider{margin:var(--spacing-medium) 0}}.checkout-login-form{display:grid}.checkout-login-form__heading{display:grid;grid-template-columns:repeat(2,1fr [col-start]);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-order-summary .dropin-card__content{gap:var(--spacing-xsmall)}.checkout-order-summary__title{color:var(--color-neutral-800);font:var(--type-headline-2-default-font);letter-spacing:var(--type-headline-2-default-letter-spacing);margin:0}.checkout-order-summary .dropin-divider--primary{margin:0 0 var(--spacing-medium) 0!important}.checkout-order-summary .dropin-divider--secondary{margin:var(--spacing-xsmall) 0 var(--spacing-xsmall) 0!important}.checkout-order-summary__breakdown{margin:var(--spacing-big) 0 var(--spacing-medium) 0}.checkout-order-summary__breakdown .dropin-divider:last-child{margin-bottom:0}.checkout-order-summary__row{display:flex;justify-content:space-between;color:var(--color-neutral-800);font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.checkout-order-summary__row--margin-top{margin-top:var(--spacing-xsmall)}.checkout-order-summary__row--margin-bottom{margin-bottom:var(--spacing-xsmall)}.checkout-order-summary__row .checkout-order-summary__price{color:var(--color-neutral-800);font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.checkout-order-summary__row p{margin:0}.checkout-order-summary__row--strong{font:var(--type-body-1-strong-font);letter-spacing:var(--type-body-1-strong-letter-spacing)}.checkout-order-summary__row--strong .checkout-order-summary__price{color:var(--color-neutral-800);font:var(--type-body-1-strong-font);letter-spacing:var(--type-body-1-strong-letter-spacing)}.checkout-order-summary__row--emphasized{font:var(--type-body-1-emphasized-font);letter-spacing:var(--type-body-1-emphasized-letter-spacing);margin-top:var(--spacing-small)}.checkout-order-summary__row--emphasized .checkout-order-summary__price{color:var(--color-neutral-800);font:var(--type-body-1-emphasized-font);letter-spacing:var(--type-body-1-emphasized-letter-spacing)}.checkout-order-summary__row--muted{color:var(--color-neutral-700);font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);margin-top:calc(-1 * var(--spacing-xxsmall))}.checkout-order-summary__row--muted .checkout-order-summary__price{color:var(--color-neutral-700);font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing)}.checkout-order-summary--loading .checkout-order-summary__row{opacity:.4;pointer-events:none}.checkout-order-summary__spinner{margin:0 auto;position:absolute;z-index:999;left:0;right:0;top:50%;bottom:0}.order-summary__skeleton{margin-top:var(--spacing-medium)}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout-order-summary{border-top:var(--shape-border-width-2) solid var(--color-neutral-400);border-bottom:var(--shape-border-width-2) solid var(--color-neutral-400);border-radius:0}.checkout-order-summary__title,.checkout-order-summary .dropin-divider{display:none}.checkout-order-summary__breakdown{margin-top:0}}.checkout-out-of-stock{display:grid}.checkout-out-of-stock__button{margin-top:var(--spacing-medium);align-self:flex-end;justify-self:flex-end}.checkout-out-of-stock__icon .OrderError_svg__error-icon{color:var(--color-warning-500)}.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-payment-methods{position:relative;display:block}.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}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout-payment-methods__methods{grid-template-columns:1fr}}.checkout-place-order{display:grid}.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__button{align-self:center;justify-self:stretch}}.checkout-server-error{position:relative;text-align:center;display:grid}.checkout-server-error__icon .OrderError_svg__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)}`,{styleId:"checkout"});
2
+ .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}.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-cart-summary .dropin-card__content{gap:var(--spacing-xsmall)}.checkout-cart-summary__heading{display:grid;grid-template-columns:1fr max-content;grid-auto-rows:max-content}.checkout-cart-summary__title{color:var(--color-neutral-800);font:var(--type-headline-2-default-font);letter-spacing:var(--type-headline-2-default-letter-spacing);margin:0}.checkout-cart-summary__edit{font:var(--type-body-2-strong-font);letter-spacing:var(--type-body-2-strong-letter-spacing);align-self:flex-end;justify-self:flex-end;margin:0;cursor:pointer}.checkout-cart-summary__edit a{font:var(--type-body-2-strong-font);letter-spacing:var(--type-body-2-strong-letter-spacing)}.checkout-cart-summary .checkout-cart-summary__divider-top{margin:0 0 var(--spacing-medium) 0}.checkout-cart-summary .checkout-cart-summary__divider-bottom{margin:var(--spacing-medium) 0 var(--spacing-small) 0}.checkout-cart-summary__items{display:grid;gap:var(--spacing-medium)}.checkout-cart-summary__action{font:var(--type-body-2-strong-font);letter-spacing:var(--type-body-2-strong-letter-spacing);color:var(--color-brand-500);background:none;margin:0 auto;border:0;text-align:center;white-space:nowrap;text-decoration:none;cursor:pointer;width:auto}.checkout-cart-summary__action:hover{text-decoration:underline;text-underline-offset:var(--spacing-xxsmall);background-color:transparent;color:var(--color-brand-700)}.dropin-accordion{background-color:var(--color-neutral-200)}.dropin-accordion .dropin-divider:first-child{margin-top:0}.dropin-accordion .dropin-divider:last-child{margin-bottom:0}.dropin-accordion-section{padding:0 var(--spacing-medium)}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout-cart-summary .dropin-accordion-section__content-container{gap:0}.checkout-cart-summary-item{margin-bottom:var(--spacing-medium)}.dropin-accordion-section__content-container .checkout-cart-summary-item:last-of-type{margin-bottom:0}}.checkout-cart-summary-item .dropin-cart-item__title{font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.checkout-cart-summary-item .dropin-cart-item__price{margin:var(--spacing-xxsmall) 0}.checkout-cart-summary-item .dropin-price--sale,.checkout-cart-summary-item .dropin-cart-item__warning{color:var(--color-alert-800)}.dropin-cart-item__total{align-items:flex-end}.checkout__content{display:grid;align-items:start;grid-template-columns:repeat(var(--grid-4-columns),1fr);grid-template-areas:"main aside";column-gap:var(--grid-4-gutters)}.checkout__main{display:grid;grid-area:main;grid-column:1 / span 7;row-gap:var(--spacing-xbig)}.checkout__aside{display:grid;grid-area:aside;grid-column:9 / span 4;row-gap:var(--spacing-xbig)}.checkout__banner{margin-bottom:var(--spacing-xbig)}.checkout-title{color:var(--color-neutral-800);font:var(--type-headline-1-font);letter-spacing:var(--type-headline-1-letter-spacing);border-bottom:var(--shape-border-width-3) solid var(--color-neutral-400);padding-bottom:var(--spacing-xsmall);padding-top:var(--spacing-small);margin:0}.checkout__content .dropin-divider{margin-bottom:0;width:100%}.checkout__content .checkout-billing-form__divider{margin-top:0}.checkout__content .checkout-billing-form__visible{display:block}.checkout__content .checkout-billing-form__hidden{display:none}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout__content{grid-template-columns:1fr;grid-template-areas:"header" "cartSummary" "login" "shippingAddress" "billToShippingAddress" "shippingMethods" "paymentMethods" "billingAddress" "orderSummary" "placeOrder";row-gap:var(--spacing-big)}.checkout-cart-summary{grid-area:cartSummary}.checkout-order-summary{grid-area:orderSummary}.checkout-cart-summary .dropin-divider{margin:var(--spacing-medium) 0}}.checkout-login-form{display:grid}.checkout-login-form__heading{display:grid;grid-template-columns:repeat(2,1fr [col-start]);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-order-summary .dropin-card__content{gap:var(--spacing-xsmall)}.checkout-order-summary__title{color:var(--color-neutral-800);font:var(--type-headline-2-default-font);letter-spacing:var(--type-headline-2-default-letter-spacing);margin:0}.checkout-order-summary .dropin-divider--primary{margin:0 0 var(--spacing-medium) 0!important}.checkout-order-summary .dropin-divider--secondary{margin:var(--spacing-xsmall) 0 var(--spacing-xsmall) 0!important}.checkout-order-summary__breakdown{margin:var(--spacing-big) 0 var(--spacing-medium) 0}.checkout-order-summary__breakdown .dropin-divider:last-child{margin-bottom:0}.checkout-order-summary__row{display:flex;justify-content:space-between;color:var(--color-neutral-800);font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.checkout-order-summary__row--margin-top{margin-top:var(--spacing-xsmall)}.checkout-order-summary__row--margin-bottom{margin-bottom:var(--spacing-xsmall)}.checkout-order-summary__row .checkout-order-summary__price{color:var(--color-neutral-800);font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.checkout-order-summary__row p{margin:0}.checkout-order-summary__row--strong{font:var(--type-body-1-strong-font);letter-spacing:var(--type-body-1-strong-letter-spacing)}.checkout-order-summary__row--strong .checkout-order-summary__price{color:var(--color-neutral-800);font:var(--type-body-1-strong-font);letter-spacing:var(--type-body-1-strong-letter-spacing)}.checkout-order-summary__row--emphasized{font:var(--type-body-1-emphasized-font);letter-spacing:var(--type-body-1-emphasized-letter-spacing);margin-top:var(--spacing-small)}.checkout-order-summary__row--emphasized .checkout-order-summary__price{color:var(--color-neutral-800);font:var(--type-body-1-emphasized-font);letter-spacing:var(--type-body-1-emphasized-letter-spacing)}.checkout-order-summary__row--muted{color:var(--color-neutral-700);font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);margin-top:calc(-1 * var(--spacing-xxsmall))}.checkout-order-summary__row--muted .checkout-order-summary__price{color:var(--color-neutral-700);font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing)}.checkout-order-summary--loading .checkout-order-summary__row{opacity:.4;pointer-events:none}.checkout-order-summary__spinner{margin:0 auto;position:absolute;z-index:999;left:0;right:0;top:50%;bottom:0}.order-summary__skeleton{margin-top:var(--spacing-medium)}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout-order-summary{border-top:var(--shape-border-width-2) solid var(--color-neutral-400);border-bottom:var(--shape-border-width-2) solid var(--color-neutral-400);border-radius:0}.checkout-order-summary__title,.checkout-order-summary .dropin-divider{display:none}.checkout-order-summary__breakdown{margin-top:0}}.checkout-out-of-stock{display:grid}.checkout-out-of-stock__button{margin-top:var(--spacing-medium);align-self:flex-end;justify-self:flex-end}.checkout-out-of-stock__icon .OrderError_svg__error-icon{color:var(--color-warning-500)}.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-payment-methods{position:relative;display:block}.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}.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__button{align-self:center;justify-self:stretch}}.checkout-server-error{position:relative;text-align:center;display:grid}.checkout-server-error__icon .OrderError_svg__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)}`,{styleId:"checkout"});
3
3
  var p=Object.defineProperty;var g=(r,e,t)=>e in r?p(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var u=(r,e,t)=>(g(r,typeof e!="symbol"?e+"":e,t),t);import{Render as h}from"@dropins/tools/lib.js";import{events as y}from"@dropins/tools/event-bus.js";import{S as b,q as v,A as S,C as w,t as O}from"./chunks/getStoreConfig.js";import{c as E}from"./chunks/initialize.js";import{UIProvider as A}from"@dropins/tools/components.js";import{useState as I,useEffect as M,useMemo as P}from"@dropins/tools/preact-hooks.js";import{jsx as n}from"@dropins/tools/preact-jsx-runtime.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/preact.js";class j{isAvailable(){return!!window.localStorage}getKeys(){return this.isAvailable()?Object.keys(window.localStorage):[]}setItem(e,t){this.isAvailable()&&window.localStorage.setItem(e,t)}getItem(e){return this.isAvailable()?window.localStorage.getItem(e):null}removeItem(e){this.isAvailable()&&window.localStorage.removeItem(e)}}class T{constructor(e,t){u(this,"namespace");u(this,"repository");this.namespace=e,this.repository=t}namespaced(e){return`${this.namespace}:${e}`}backup(e,t){return this.repository.setItem(this.namespaced(e),JSON.stringify(t))}restore(e){const t=this.repository.getItem(this.namespaced(e));return t?JSON.parse(t):null}remove(e){return this.repository.removeItem(this.namespaced(e))}clear(){this.repository.getKeys().filter(e=>e.startsWith(this.namespace)).forEach(e=>{this.repository.removeItem(e)})}}function C(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var x=function(e){return D(e)&&!k(e)};function D(r){return!!r&&typeof r=="object"}function k(r){var e=Object.prototype.toString.call(r);return e==="[object RegExp]"||e==="[object Date]"||N(r)}var F=typeof Symbol=="function"&&Symbol.for,L=F?Symbol.for("react.element"):60103;function N(r){return r.$$typeof===L}function U(r){return Array.isArray(r)?[]:{}}function s(r,e){return e.clone!==!1&&e.isMergeableObject(r)?o(U(r),r,e):r}function _(r,e,t){return r.concat(e).map(function(i){return s(i,t)})}function B(r,e){if(!e.customMerge)return o;var t=e.customMerge(r);return typeof t=="function"?t:o}function R(r){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(r).filter(function(e){return Object.propertyIsEnumerable.call(r,e)}):[]}function f(r){return Object.keys(r).concat(R(r))}function m(r,e){try{return e in r}catch{return!1}}function K(r,e){return m(r,e)&&!(Object.hasOwnProperty.call(r,e)&&Object.propertyIsEnumerable.call(r,e))}function $(r,e,t){var i={};return t.isMergeableObject(r)&&f(r).forEach(function(a){i[a]=s(r[a],t)}),f(e).forEach(function(a){K(r,a)||(m(r,a)&&t.isMergeableObject(e[a])?i[a]=B(a,t)(r[a],e[a],t):i[a]=s(e[a],t))}),i}function o(r,e,t){t=t||{},t.arrayMerge=t.arrayMerge||_,t.isMergeableObject=t.isMergeableObject||x,t.cloneUnlessOtherwiseSpecified=s;var i=Array.isArray(e),a=Array.isArray(r),l=i===a;return l?i?t.arrayMerge(r,e,t):$(r,e,t):s(e,t)}o.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce(function(i,a){return o(i,a,t)},{})};var V=o,Y=V;const q=C(Y),H={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"},OrderSummary:{title:"Order summary",total:"Total",totalExclTax:"Total excluding taxes",subtotal:"Subtotal",tax:"Tax",taxTotal:"Tax total",taxBreakdown:"Taxes",includingTaxes:"Including taxes",shipping:"Shipping",estimatedShipping:"Estimated shipping",freeShipping:"Free"},CartSummary:{title:"Your cart",editCart:"Edit",viewAll:"View all in cart",viewMore:"View more",GiftCard:{sender:"From",recipient:"To",message:"Note"},Downloadable:{download:"Download",files:{none:"No files",one:"1 file",many:"{{count}} files"}}},OutOfStock:{title:"Out of stock",message:"Your cart contains items that are out of stock or have limited availability. Please review your cart before placing the order.",button:"Review cart",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."}},J={Checkout:H},W={default:J},G=({children:r})=>{var l;const[e,t]=I(),i=(l=E.getConfig())==null?void 0:l.langDefinitions;M(()=>{const c=y.on("locale",d=>{d!==e&&t(d)},{eager:!0});return()=>{c==null||c.off()}},[e]);const a=q(W,i??{});return n(A,{lang:e,langDefinitions:a,children:r})},z=({children:r})=>{const e=P(()=>new T("DROPIN__CHECKOUT",new j),[]);return n(b,{services:{backupService:e},children:n(v,{children:n(S,{children:n(w,{children:n(O,{children:r})})})})})},Q=({children:r})=>n(z,{children:n(G,{children:r})}),le=new h(n(Q,{}));export{Q as Provider,le as render};
4
4
  //# sourceMappingURL=render.js.map