@dropins/storefront-checkout 0.1.0-alpha40 → 0.1.0-alpha42

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.
Files changed (61) hide show
  1. package/api.js +1 -1
  2. package/chunks/BillToShippingAddress.js +1 -0
  3. package/chunks/EmptyCart.js +1 -0
  4. package/chunks/OutOfStock.js +1 -1
  5. package/chunks/ShippingMethods.js +1 -1
  6. package/chunks/getCart.graphql.js +20 -6
  7. package/chunks/getCustomer.js +1 -1
  8. package/chunks/placeOrder.js +127 -0
  9. package/chunks/resetCustomer.js +1 -1
  10. package/chunks/setBillingAddress.js +3 -3
  11. package/chunks/setShippingMethods.js +85 -3
  12. package/components/AddressForm/useCheckoutAddressEventEmitter.d.ts +2 -1
  13. package/components/Checkout/Checkout.d.ts +8 -12
  14. package/components/ShippingMethods/ShippingMethods.d.ts +1 -1
  15. package/containers/BillToShippingAddress/BillToShippingAddress.d.ts +4 -2
  16. package/containers/BillToShippingAddress.js +1 -1
  17. package/containers/BillingForm/BillingForm.d.ts +4 -2
  18. package/containers/BillingForm.js +1 -1
  19. package/containers/Checkout/Checkout.d.ts +2 -6
  20. package/containers/Checkout.js +1 -1
  21. package/containers/EmptyCart/EmptyCart.d.ts +8 -0
  22. package/containers/EmptyCart/index.d.ts +3 -0
  23. package/containers/EmptyCart.d.ts +3 -0
  24. package/containers/EmptyCart.js +1 -0
  25. package/containers/EstimateShipping.js +1 -1
  26. package/containers/LoginForm/LoginForm.d.ts +4 -2
  27. package/containers/LoginForm.js +1 -1
  28. package/containers/OutOfStock.js +1 -1
  29. package/containers/PaymentMethods/PaymentMethods.d.ts +6 -4
  30. package/containers/PaymentMethods.js +1 -1
  31. package/containers/PlaceOrder/PlaceOrder.d.ts +4 -2
  32. package/containers/PlaceOrder.js +1 -1
  33. package/containers/ShippingForm/ShippingForm.d.ts +5 -3
  34. package/containers/ShippingForm.js +1 -1
  35. package/containers/ShippingMethods/ShippingMethods.d.ts +4 -2
  36. package/containers/ShippingMethods.js +1 -1
  37. package/containers/index.d.ts +1 -0
  38. package/hocs/index.d.ts +1 -0
  39. package/hocs/withConditionalRendering.d.ts +13 -0
  40. package/i18n/en_US.json.d.ts +8 -0
  41. package/package.json +1 -1
  42. package/render.js +3 -3
  43. package/utils/getDisplayName/getDisplayName.d.ts +4 -0
  44. package/utils/getDisplayName/index.d.ts +2 -0
  45. package/utils/index.d.ts +1 -0
  46. package/chunks/BillToShippingAddress2.js +0 -1
  47. package/chunks/BillingForm.js +0 -1
  48. package/chunks/LoginForm.js +0 -1
  49. package/chunks/PlaceOrder.js +0 -1
  50. package/chunks/ShippingForm.js +0 -1
  51. package/chunks/ToggleButton.js +0 -1
  52. package/chunks/ToggleButton2.js +0 -1
  53. package/chunks/constants.js +0 -1
  54. package/chunks/constants2.js +0 -1
  55. package/chunks/constants3.js +0 -1
  56. package/chunks/fixtures.js +0 -15
  57. package/chunks/getMultilineValues.js +0 -43
  58. package/chunks/placeOrder2.js +0 -127
  59. package/chunks/setGuestEmailOnCart.js +0 -17
  60. package/chunks/setPaymentMethod.js +0 -13
  61. package/chunks/setShippingAddress.js +0 -13
@@ -22,14 +22,10 @@ export interface CheckoutProps extends HTMLAttributes<HTMLDivElement> {
22
22
  onCheckoutDataUpdate?: () => Promise<void>;
23
23
  onCartProductsUpdate?: (items: UpdateProductsFromCart) => void;
24
24
  slots?: {
25
- BillingForm?: SlotProps;
26
- BillToShipping?: SlotProps;
27
- Login?: SlotProps;
25
+ CartSummaryList?: SlotProps;
26
+ OrderSummary?: SlotProps;
28
27
  PaymentMethods?: SlotProps<PaymentMethodSlotContext>;
29
- PlaceOrder?: SlotProps;
30
- ShippingForm?: SlotProps;
31
28
  ShippingMethods?: SlotProps;
32
- OrderSummary?: SlotProps;
33
29
  };
34
30
  preselectedCartData?: PreselectedCartData;
35
31
  onSignInClick?: () => void;
@@ -1 +1 @@
1
- import{jsx as r,jsxs as f,Fragment as z}from"@dropins/tools/preact-jsx-runtime.js";import{o as G,n as J,m as _,k as Q,U as W}from"../chunks/fixtures.js";import"@dropins/tools/event-bus.js";import{a as X}from"../chunks/getCustomer.js";import{p as Y}from"../chunks/placeOrder2.js";import{C as u}from"../chunks/ToggleButton.js";import"@dropins/tools/preact-hooks.js";import{Slot as d,classes as m}from"@dropins/tools/lib.js";import{Divider as H,IllustratedMessage as y,Icon as M,Button as b}from"@dropins/tools/components.js";/* empty css */import{useText as v,MarkupText as D}from"@dropins/tools/i18n.js";import{O as rr,S as er}from"../chunks/OutOfStock.js";import{B as tr}from"../chunks/BillingForm.js";import{B as ir}from"../chunks/BillToShippingAddress2.js";import*as s from"@dropins/tools/preact-compat.js";import{useState as g,useCallback as or}from"@dropins/tools/preact-compat.js";import{L as nr}from"../chunks/LoginForm.js";import{P as cr}from"../chunks/ToggleButton2.js";import{P as ar}from"../chunks/PlaceOrder.js";import{S as sr}from"../chunks/ShippingForm.js";import{S as mr}from"../chunks/ShippingMethods.js";import"@dropins/tools/preact.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/getCart.graphql.js";import"../chunks/getMultilineValues.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";import"../chunks/setBillingAddress.js";import"../chunks/setShippingAddress.js";import"../chunks/constants2.js";import"../chunks/setGuestEmailOnCart.js";import"../chunks/constants3.js";import"../chunks/setPaymentMethod.js";import"../chunks/constants.js";import"../chunks/setShippingMethods.js";const pr=c=>s.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...c},s.createElement("g",{clipPath:"url(#clip0_102_196)"},s.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"}),s.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M5.25 6.37L20.89 8.06L20.14 14.8H6.19",stroke:"currentColor",strokeLinejoin:"round"})),s.createElement("defs",null,s.createElement("clipPath",{id:"clip0_102_196"},s.createElement("rect",{vectorEffect:"non-scaling-stroke",width:19.29,height:19.5,fill:"white",transform:"translate(2.3501 2.25)"})))),Jr="OUT_OF_STOCK",Qr=({className:c,slots:e,routeHome:t,onCartProductsUpdate:p,onCheckoutDataUpdate:a,preselectedCartData:i,onSignInClick:O,onSignOutClick:h,...T})=>{const B=G.authenticated,[P,x]=g(!1),[k,S]=g(""),F=k!=="",[L,w]=g(),{data:o,pending:A}=J.value,l=!!(o!=null&&o.isVirtual),N=o===null||(o==null?void 0:o.isEmpty),{data:E,pending:U}=_.value,j=A&&B&&!E,I=v({CheckoutUnexpectedError:"Checkout.ServerError.unexpected"}),V=or(async()=>{o&&(await Y(),x(!0))},[o]),$=n=>{w(()=>n)},K=async()=>{S(""),o&&X()},C=n=>{const q=n instanceof TypeError||n instanceof W?I.CheckoutUnexpectedError:n.message;S(q)};if(P)return null;if(N)return r(dr,{routeHome:t});if(F)return r(lr,{errorMessage:k,onClick:K});const R=()=>{const n=Q.value.checked?"checkout-billing-form__hidden":"checkout-billing-form__visible";return r(u.Main,{sections:{outOfStock:r(rr,{routeCart:t,onCartProductsUpdate:p}),billingAddress:f(z,{children:[r(d,{name:"BillingForm",className:n,slot:e==null?void 0:e.BillingForm,children:r(tr,{})}),r(H,{className:m([`${n}`,"checkout-billing-form__divider"]),variant:"primary"})]}),billToShippingAddress:l?void 0:r(ir,{},`bill-to-shipping-address${E?"-customer":""}`),login:r(d,{name:"Login",slot:e==null?void 0:e.Login,children:r(nr,{onSignInClick:O,onSignOutClick:()=>{h==null||h(),_.value.pending=!0}})}),paymentMethods:r(cr,{isShippingInfoRequired:!l,onPlaceOrder:$,handleServerError:C,paymentMethodsSlot:e==null?void 0:e.PaymentMethods}),placeOrder:r(ar,{onClick:L??V,handleServerError:C}),shippingAddress:l?void 0:r(d,{name:"ShippingForm",slot:e==null?void 0:e.ShippingForm,children:r(sr,{onCheckoutDataUpdate:a,preselectedFields:i==null?void 0:i.address})}),shippingMethods:l?void 0:r(d,{name:"ShippingMethods",slot:e==null?void 0:e.ShippingMethods,children:r(mr,{onCheckoutDataUpdate:a,preSelectedMethod:i==null?void 0:i.shippingMethod})})}})},Z=()=>r(u.Aside,{sections:{orderSummary:r(d,{name:"OrderSummary",slot:e==null?void 0:e.OrderSummary})}});return f(u,{className:c,isLoading:j||U,...T,children:[R(),Z()]})},dr=({className:c,title:e,routeHome:t,...p})=>{const a=v({Title:"Checkout.EmptyCart.title",Button:"Checkout.EmptyCart.button"});return r(y,{...p,"data-testid":"checkout-empty-cart",className:m(["checkout-empty-cart",c]),heading:e??a.Title,icon:r(M,{className:m(["checkout-empty-cart__icon"]),source:pr}),action:t!=null&&t()?r(b,{className:"checkout-empty-cart__button",size:"medium",variant:"primary",type:"submit",href:t==null?void 0:t(),children:a.Button},"routeHome"):void 0})},lr=({className:c,errorMessage:e,contactSupport:t,...p})=>{const{onClick:a}=p,i=v({Title:"Checkout.ServerError.title",Message:"Checkout.ServerError.message",ContactSupport:"Checkout.ServerError.contactSupport",Button:"Checkout.ServerError.button"});return r(y,{"aria-invalid":"true","aria-describedby":"checkout-server-error__message","aria-live":"polite",className:m(["checkout-server-error",c]),"data-testid":"checkout-server-error",heading:e??i.Title,message:f("p",{id:m(["checkout-server-error__message"]),children:[i.Message,r("br",{}),r(D,{id:"",children:t??i.ContactSupport})]}),icon:r(M,{className:m(["checkout-server-error__icon"]),source:er}),action:r(b,{className:m(["checkout-server-error__button"]),onClick:a,children:i.Button})})};export{Qr as Checkout,Jr as OUT_OF_STOCK,Qr as default};
1
+ import{jsx as r,jsxs as N}from"@dropins/tools/preact-jsx-runtime.js";import{k as V,n as j,o as f,U as K}from"../chunks/getCart.graphql.js";import"@dropins/tools/event-bus.js";import{a as $}from"../chunks/getCustomer.js";import{p as w}from"../chunks/placeOrder.js";import{C as v,B as H,L as q,c as z,P as G,a as J,S as Q}from"../chunks/ShippingMethods.js";import"@dropins/tools/preact-hooks.js";import{Slot as u,classes as a}from"@dropins/tools/lib.js";import{IllustratedMessage as R,Icon as W,Button as X}from"@dropins/tools/components.js";import{B as Y}from"../chunks/BillToShippingAddress.js";import{O as Z,S as D}from"../chunks/OutOfStock.js";import{useText as k}from"@dropins/tools/i18n.js";import{useState as p,useCallback as rr}from"@dropins/tools/preact-compat.js";import{E as er}from"../chunks/EmptyCart.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/setShippingMethods.js";import"../chunks/setBillingAddress.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";const yr="OUT_OF_STOCK",_r=({className:s,slots:e,routeHome:i,onCartProductsUpdate:c,onCheckoutDataUpdate:n,preselectedCartData:t,onSignInClick:C,onSignOutClick:m,...O})=>{const E=V.authenticated,[M,y]=p(!1),[h,l]=p(""),_=h!=="",[P,b]=p(),{data:d,pending:T}=j.value,{data:g,pending:x}=f.value,B=T&&E&&!g,F=k({CheckoutUnexpectedError:"Checkout.ServerError.unexpected"}),L=rr(async()=>{d&&(await w(),y(!0))},[d]),A=o=>{b(o?()=>o:void 0)},U=async()=>{l(""),d&&$()},S=o=>{const I=o instanceof TypeError||o instanceof K?F.CheckoutUnexpectedError:o.message;l(I)};return M?null:_?r(tr,{errorMessage:h,onClick:U}):r(v,{className:s,isLoading:B||x,...O,children:r(v.Main,{blocks:{cartSummaryList:r(u,{name:"CartSummaryList",slot:e==null?void 0:e.CartSummaryList}),orderSummary:r(u,{name:"OrderSummary",slot:e==null?void 0:e.OrderSummary}),outOfStock:r(Z,{routeCart:i,onCartProductsUpdate:c}),emptyCart:r(er,{routeHome:i}),billingAddress:r(H,{}),billToShippingAddress:r(Y,{hideOnVirtualCart:!0},`bill-to-shipping-address${g?"-customer":""}`),login:r(q,{onSignInClick:C,onSignOutClick:()=>{m==null||m(),f.value.pending=!0}}),paymentMethods:r(z,{onPlaceOrder:A,handleServerError:S,paymentMethodsSlot:e==null?void 0:e.PaymentMethods}),placeOrder:r(G,{onClick:P??L,handleServerError:S}),shippingAddress:r(J,{hideOnVirtualCart:!0,onCheckoutDataUpdate:n,preselectedFields:t==null?void 0:t.address}),shippingMethods:r(u,{name:"ShippingMethods",slot:e==null?void 0:e.ShippingMethods,children:r(Q,{name:"shipping-methods",hideOnVirtualCart:!0,onCheckoutDataUpdate:n,preSelectedMethod:t==null?void 0:t.shippingMethod})})}})})},tr=({className:s,errorMessage:e,contactSupport:i,...c})=>{const{onClick:n}=c,t=k({Title:"Checkout.ServerError.title",Message:"Checkout.ServerError.message",ContactSupport:"Checkout.ServerError.contactSupport",Button:"Checkout.ServerError.button"});return r(R,{"aria-invalid":"true","aria-describedby":"checkout-server-error__message","aria-live":"polite",className:a(["checkout-server-error",s]),"data-testid":"checkout-server-error",heading:e??t.Title,message:N("p",{id:a(["checkout-server-error__message"]),children:[t.Message,r("br",{}),r("span",{children:i??t.ContactSupport})]}),icon:r(W,{className:a(["checkout-server-error__icon"]),source:D}),action:r(X,{className:a(["checkout-server-error__button"]),onClick:n,children:t.Button})})};export{_r as Checkout,yr as OUT_OF_STOCK,_r as default};
@@ -0,0 +1,8 @@
1
+ import { Container } from '@dropins/tools/types/elsie/src/lib';
2
+ import { HTMLAttributes } from 'preact/compat';
3
+
4
+ export interface EmptyCartProps extends HTMLAttributes<HTMLDivElement> {
5
+ routeHome?: () => string;
6
+ }
7
+ export declare const EmptyCart: Container<EmptyCartProps>;
8
+ //# sourceMappingURL=EmptyCart.d.ts.map
@@ -0,0 +1,3 @@
1
+ export * from './EmptyCart';
2
+ export { EmptyCart as default } from './EmptyCart';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,3 @@
1
+ export * from './EmptyCart/index'
2
+ import _default from './EmptyCart/index'
3
+ export default _default
@@ -0,0 +1 @@
1
+ import{E as c,E as g}from"../chunks/EmptyCart.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/ShippingMethods.js";import"../chunks/setShippingMethods.js";import"../chunks/getCart.graphql.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/lib.js";import"@dropins/tools/i18n.js";import"@dropins/tools/components.js";import"../chunks/BillToShippingAddress.js";import"../chunks/setBillingAddress.js";import"@dropins/tools/preact-compat.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";export{c as EmptyCart,g as default};
@@ -1 +1 @@
1
- import{jsx as t,jsxs as E}from"@dropins/tools/preact-jsx-runtime.js";import"../chunks/ToggleButton.js";import{events as S}from"@dropins/tools/event-bus.js";import{useState as L,useEffect as k}from"@dropins/tools/preact-hooks.js";import{q as M,T as I}from"../chunks/fixtures.js";import{VComponent as w,classes as C}from"@dropins/tools/lib.js";import{Skeleton as A,SkeletonRow as B,Price as h}from"@dropins/tools/components.js";/* empty css */import{useText as G,Text as c}from"@dropins/tools/i18n.js";import"../chunks/getMultilineValues.js";import"@dropins/tools/preact-compat.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";import"@dropins/tools/preact.js";import"@dropins/tools/fetch-graphql.js";const P=()=>t(A,{"data-testid":"estimate-shipping-skeleton",children:t(B,{size:"xsmall"})}),Y=()=>{const[e,p]=L(),r=e!==void 0,a=(e==null?void 0:e.amount.value)===0,{data:n,pending:_}=M.value,y=_||n===void 0,l=n==null?void 0:n.shoppingCartDisplaySetting.shipping,D=l===I.INCLUDING_EXCLUDING_TAX,g=l===I.INCLUDING_TAX,x=G({freeShipping:"Checkout.EstimateShipping.freeShipping",taxToBeDetermined:"Checkout.EstimateShipping.taxToBeDetermined"});if(k(()=>{const i=S.on("shipping/estimate",s=>{const o=s.shippingMethod,{amount:m,amountExclTax:d,amountInclTax:u}=o;p({estimated:!0,amount:m,amountExclTax:d,amountInclTax:u})});return()=>{i==null||i.off()}},[]),k(()=>{const i=S.on("checkout/data",s=>{var f,T;const o=(T=(f=s==null?void 0:s.shippingAddresses)==null?void 0:f[0])==null?void 0:T.selectedShippingMethod;if(!o)return;const{amount:m,amountExclTax:d,amountInclTax:u}=o;p({estimated:!1,amount:m,amountExclTax:d,amountInclTax:u})});return()=>{i==null||i.off()}},[]),!r||y)return t(P,{});const N=()=>a?t("span",{"data-testId":"free-shipping",children:x.freeShipping}):g&&e.amountInclTax?t(h,{"data-testid":"shipping",amount:e.amountInclTax.value,currency:e.amountInclTax.currency}):t(h,{"data-testid":"shipping",amount:e.amount.value,currency:e.amount.currency}),v=()=>e.amountExclTax?t(h,{"data-testid":"shipping-excluding-tax",amount:e.amountExclTax.value,currency:e.amountExclTax.currency}):t("span",{children:x.taxToBeDetermined});return t(U,{estimated:e.estimated,price:N(),taxExcluded:D&&!a,taxIncluded:g&&!a,priceExclTax:v()})},U=({estimated:e=!1,price:p,priceExclTax:r,taxExcluded:a=!1,taxIncluded:n=!1})=>E("div",{"data-testid":"estimate-shipping",className:"checkout-estimate-shipping",children:[t("span",{className:"checkout-estimate-shipping__label",children:e?t(c,{id:"Checkout.EstimateShipping.estimated"}):t(c,{id:"Checkout.EstimateShipping.label"})}),t(w,{node:p,className:"checkout-estimate-shipping__price"}),n&&t("span",{"data-testid":"shipping-tax-included",className:C(["checkout-estimate-shipping__caption"]),children:t(c,{id:"Checkout.EstimateShipping.withTaxes"})}),a&&E("span",{"data-testid":"shipping-tax-included-excluded",className:C(["checkout-estimate-shipping__caption"]),children:[r," ",t(c,{id:"Checkout.EstimateShipping.withoutTaxes"})]})]});export{Y as EstimateShipping,Y as default};
1
+ import{jsx as t,jsxs as E}from"@dropins/tools/preact-jsx-runtime.js";import"../chunks/ShippingMethods.js";import{events as S}from"@dropins/tools/event-bus.js";import{useState as L,useEffect as k}from"@dropins/tools/preact-hooks.js";import{m as M,T as I}from"../chunks/getCart.graphql.js";import{VComponent as w,classes as C}from"@dropins/tools/lib.js";import{Skeleton as A,SkeletonRow as B,Price as h}from"@dropins/tools/components.js";import"../chunks/BillToShippingAddress.js";import{useText as G,Text as c}from"@dropins/tools/i18n.js";import"../chunks/setShippingMethods.js";import"../chunks/setBillingAddress.js";import"@dropins/tools/preact-compat.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";const P=()=>t(A,{"data-testid":"estimate-shipping-skeleton",children:t(B,{size:"xsmall"})}),Z=()=>{const[e,p]=L(),r=e!==void 0,a=(e==null?void 0:e.amount.value)===0,{data:n,pending:_}=M.value,y=_||n===void 0,l=n==null?void 0:n.shoppingCartDisplaySetting.shipping,D=l===I.INCLUDING_EXCLUDING_TAX,g=l===I.INCLUDING_TAX,x=G({freeShipping:"Checkout.EstimateShipping.freeShipping",taxToBeDetermined:"Checkout.EstimateShipping.taxToBeDetermined"});if(k(()=>{const i=S.on("shipping/estimate",s=>{const o=s.shippingMethod,{amount:m,amountExclTax:d,amountInclTax:u}=o;p({estimated:!0,amount:m,amountExclTax:d,amountInclTax:u})});return()=>{i==null||i.off()}},[]),k(()=>{const i=S.on("checkout/data",s=>{var f,T;const o=(T=(f=s==null?void 0:s.shippingAddresses)==null?void 0:f[0])==null?void 0:T.selectedShippingMethod;if(!o)return;const{amount:m,amountExclTax:d,amountInclTax:u}=o;p({estimated:!1,amount:m,amountExclTax:d,amountInclTax:u})});return()=>{i==null||i.off()}},[]),!r||y)return t(P,{});const N=()=>a?t("span",{"data-testId":"free-shipping",children:x.freeShipping}):g&&e.amountInclTax?t(h,{"data-testid":"shipping",amount:e.amountInclTax.value,currency:e.amountInclTax.currency}):t(h,{"data-testid":"shipping",amount:e.amount.value,currency:e.amount.currency}),v=()=>e.amountExclTax?t(h,{"data-testid":"shipping-excluding-tax",amount:e.amountExclTax.value,currency:e.amountExclTax.currency}):t("span",{children:x.taxToBeDetermined});return t(U,{estimated:e.estimated,price:N(),taxExcluded:D&&!a,taxIncluded:g&&!a,priceExclTax:v()})},U=({estimated:e=!1,price:p,priceExclTax:r,taxExcluded:a=!1,taxIncluded:n=!1})=>E("div",{"data-testid":"estimate-shipping",className:"checkout-estimate-shipping",children:[t("span",{className:"checkout-estimate-shipping__label",children:e?t(c,{id:"Checkout.EstimateShipping.estimated"}):t(c,{id:"Checkout.EstimateShipping.label"})}),t(w,{node:p,className:"checkout-estimate-shipping__price"}),n&&t("span",{"data-testid":"shipping-tax-included",className:C(["checkout-estimate-shipping__caption"]),children:t(c,{id:"Checkout.EstimateShipping.withTaxes"})}),a&&E("span",{"data-testid":"shipping-tax-included-excluded",className:C(["checkout-estimate-shipping__caption"]),children:[r," ",t(c,{id:"Checkout.EstimateShipping.withoutTaxes"})]})]});export{Z as EstimateShipping,Z as default};
@@ -1,4 +1,3 @@
1
- import { FunctionComponent } from 'preact';
2
1
  import { HTMLAttributes } from 'preact/compat';
3
2
 
4
3
  export interface LoginFormProps extends HTMLAttributes<HTMLDivElement> {
@@ -6,5 +5,8 @@ export interface LoginFormProps extends HTMLAttributes<HTMLDivElement> {
6
5
  onSignInClick?: (email: string | null) => void;
7
6
  onSignOutClick?: () => void;
8
7
  }
9
- export declare const LoginForm: FunctionComponent<LoginFormProps>;
8
+ export declare const LoginForm: {
9
+ ({ hideOnEmptyCart, hideOnVirtualCart, ...props }: import('../../hocs/withConditionalRendering').ConditionalProps & LoginFormProps): import("preact/compat").JSX.Element | null;
10
+ displayName: string;
11
+ };
10
12
  //# sourceMappingURL=LoginForm.d.ts.map
@@ -1 +1 @@
1
- import{L as l}from"../chunks/constants3.js";import{L as u,L as A}from"../chunks/LoginForm.js";import"@dropins/tools/preact-jsx-runtime.js";import"@dropins/tools/event-bus.js";import"../chunks/fixtures.js";import"@dropins/tools/preact.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/setGuestEmailOnCart.js";import"../chunks/getCart.graphql.js";import"../chunks/ToggleButton.js";import"../chunks/getMultilineValues.js";import"@dropins/tools/lib.js";import"@dropins/tools/i18n.js";import"@dropins/tools/components.js";/* empty css */import"@dropins/tools/preact-compat.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";export{l as LOGIN_FORM_NAME,u as LoginForm,A as default};
1
+ import{d as g,L as l,L as n}from"../chunks/ShippingMethods.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/setShippingMethods.js";import"../chunks/getCart.graphql.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/lib.js";import"@dropins/tools/i18n.js";import"@dropins/tools/components.js";import"../chunks/BillToShippingAddress.js";import"../chunks/setBillingAddress.js";import"@dropins/tools/preact-compat.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";export{g as LOGIN_FORM_NAME,l as LoginForm,n as default};
@@ -1 +1 @@
1
- import{O as S,O as b}from"../chunks/OutOfStock.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/ToggleButton.js";import"@dropins/tools/event-bus.js";import"../chunks/fixtures.js";import"@dropins/tools/preact.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/getMultilineValues.js";import"@dropins/tools/lib.js";import"@dropins/tools/i18n.js";import"@dropins/tools/components.js";/* empty css */import"@dropins/tools/preact-compat.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";export{S as OutOfStock,b as default};
1
+ import{O as b,O as g}from"../chunks/OutOfStock.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/ShippingMethods.js";import"../chunks/setShippingMethods.js";import"../chunks/getCart.graphql.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/lib.js";import"@dropins/tools/i18n.js";import"@dropins/tools/components.js";import"../chunks/BillToShippingAddress.js";import"../chunks/setBillingAddress.js";import"@dropins/tools/preact-compat.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";export{b as OutOfStock,g as default};
@@ -1,4 +1,4 @@
1
- import { Container, SlotProps } from '@dropins/tools/types/elsie/src/lib';
1
+ import { SlotProps } from '@dropins/tools/types/elsie/src/lib';
2
2
  import { HTMLAttributes } from 'preact/compat';
3
3
 
4
4
  export interface PaymentMethodSlotContext {
@@ -15,9 +15,11 @@ export interface PaymentMethodContentSlotContext {
15
15
  }
16
16
  export interface PaymentMethodsProps extends HTMLAttributes<HTMLDivElement> {
17
17
  paymentMethodsSlot?: SlotProps<PaymentMethodSlotContext>;
18
- onPlaceOrder: (fn: () => Promise<void>) => void;
18
+ onPlaceOrder: (fn?: () => Promise<void>) => void;
19
19
  handleServerError: (error: any) => void;
20
- isShippingInfoRequired?: boolean;
21
20
  }
22
- export declare const PaymentMethods: Container<PaymentMethodsProps>;
21
+ export declare const PaymentMethods: {
22
+ ({ hideOnEmptyCart, hideOnVirtualCart, ...props }: import('../../hocs/withConditionalRendering').ConditionalProps & PaymentMethodsProps): import("preact/compat").JSX.Element | null;
23
+ displayName: string;
24
+ };
23
25
  //# sourceMappingURL=PaymentMethods.d.ts.map
@@ -1 +1 @@
1
- import{P as b,P as c}from"../chunks/ToggleButton2.js";import"@dropins/tools/preact-jsx-runtime.js";import"@dropins/tools/event-bus.js";import"../chunks/fixtures.js";import"@dropins/tools/preact.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/setPaymentMethod.js";import"../chunks/getCart.graphql.js";import"../chunks/ToggleButton.js";import"../chunks/getMultilineValues.js";import"@dropins/tools/lib.js";import"@dropins/tools/i18n.js";import"@dropins/tools/components.js";/* empty css */import"@dropins/tools/preact-compat.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";export{b as PaymentMethods,c as default};
1
+ import{c as y,c as M}from"../chunks/ShippingMethods.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/setShippingMethods.js";import"../chunks/getCart.graphql.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/lib.js";import"@dropins/tools/i18n.js";import"@dropins/tools/components.js";import"../chunks/BillToShippingAddress.js";import"../chunks/setBillingAddress.js";import"@dropins/tools/preact-compat.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";export{y as PaymentMethods,M as default};
@@ -1,9 +1,11 @@
1
- import { Container } from '@dropins/tools/types/elsie/src/lib';
2
1
  import { HTMLAttributes } from 'preact/compat';
3
2
 
4
3
  export interface PlaceOrderProps extends HTMLAttributes<HTMLDivElement> {
5
4
  onClick: () => void;
6
5
  handleServerError: (error: any) => void;
7
6
  }
8
- export declare const PlaceOrder: Container<PlaceOrderProps>;
7
+ export declare const PlaceOrder: {
8
+ ({ hideOnEmptyCart, hideOnVirtualCart, ...props }: import('../../hocs/withConditionalRendering').ConditionalProps & PlaceOrderProps): import("preact/compat").JSX.Element | null;
9
+ displayName: string;
10
+ };
9
11
  //# sourceMappingURL=PlaceOrder.d.ts.map
@@ -1 +1 @@
1
- import{P as j,P as k}from"../chunks/PlaceOrder.js";import"@dropins/tools/preact-jsx-runtime.js";import"@dropins/tools/lib.js";import"../chunks/ToggleButton.js";import"@dropins/tools/event-bus.js";import"../chunks/fixtures.js";import"@dropins/tools/preact.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/getMultilineValues.js";import"@dropins/tools/i18n.js";import"@dropins/tools/components.js";/* empty css */import"@dropins/tools/preact-compat.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";import"../chunks/constants2.js";import"../chunks/constants3.js";import"../chunks/constants.js";export{j as PlaceOrder,k as default};
1
+ import{P as b,P as g}from"../chunks/ShippingMethods.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/setShippingMethods.js";import"../chunks/getCart.graphql.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/lib.js";import"@dropins/tools/i18n.js";import"@dropins/tools/components.js";import"../chunks/BillToShippingAddress.js";import"../chunks/setBillingAddress.js";import"@dropins/tools/preact-compat.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";export{b as PlaceOrder,g as default};
@@ -1,10 +1,12 @@
1
- import { Container } from '@dropins/tools/types/elsie/src/lib';
2
- import { HTMLAttributes } from 'preact/compat';
3
1
  import { PreselectedAddressFields } from '..';
2
+ import { HTMLAttributes } from 'preact/compat';
4
3
 
5
4
  export interface ShippingFormProps extends HTMLAttributes<HTMLDivElement> {
6
5
  onCheckoutDataUpdate?: () => Promise<void>;
7
6
  preselectedFields?: PreselectedAddressFields;
8
7
  }
9
- export declare const ShippingForm: Container<ShippingFormProps>;
8
+ export declare const ShippingForm: {
9
+ ({ hideOnEmptyCart, hideOnVirtualCart, ...props }: import('../../hocs/withConditionalRendering').ConditionalProps & ShippingFormProps): import("preact/compat").JSX.Element | null;
10
+ displayName: string;
11
+ };
10
12
  //# sourceMappingURL=ShippingForm.d.ts.map
@@ -1 +1 @@
1
- import{S as h,S as l}from"../chunks/ShippingForm.js";import{S as u}from"../chunks/constants.js";import"@dropins/tools/preact-jsx-runtime.js";import"@dropins/tools/event-bus.js";import"../chunks/fixtures.js";import"@dropins/tools/preact.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/getMultilineValues.js";import"../chunks/setBillingAddress.js";import"../chunks/getCart.graphql.js";import"../chunks/setShippingAddress.js";import"../chunks/ToggleButton.js";import"@dropins/tools/lib.js";import"@dropins/tools/i18n.js";import"@dropins/tools/components.js";/* empty css */import"@dropins/tools/preact-compat.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";export{u as SHIPPING_FORM_NAME,h as ShippingForm,l as default};
1
+ import{b,a as d,a as g}from"../chunks/ShippingMethods.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/setShippingMethods.js";import"../chunks/getCart.graphql.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/lib.js";import"@dropins/tools/i18n.js";import"@dropins/tools/components.js";import"../chunks/BillToShippingAddress.js";import"../chunks/setBillingAddress.js";import"@dropins/tools/preact-compat.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";export{b as SHIPPING_FORM_NAME,d as ShippingForm,g as default};
@@ -1,10 +1,12 @@
1
1
  import { PreselectedShippingMethod } from '../Checkout';
2
- import { Container } from '@dropins/tools/types/elsie/src/lib';
3
2
  import { HTMLAttributes } from 'preact/compat';
4
3
 
5
4
  export interface ShippingMethodsProps extends HTMLAttributes<HTMLDivElement> {
6
5
  onCheckoutDataUpdate?: () => Promise<void>;
7
6
  preSelectedMethod?: PreselectedShippingMethod;
8
7
  }
9
- export declare const ShippingMethods: Container<ShippingMethodsProps>;
8
+ export declare const ShippingMethods: {
9
+ ({ hideOnEmptyCart, hideOnVirtualCart, ...props }: import('../../hocs/withConditionalRendering').ConditionalProps & ShippingMethodsProps): import("preact/compat").JSX.Element | null;
10
+ displayName: string;
11
+ };
10
12
  //# sourceMappingURL=ShippingMethods.d.ts.map
@@ -1 +1 @@
1
- import{S as b,S as c}from"../chunks/ShippingMethods.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/getMultilineValues.js";import"../chunks/fixtures.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/preact.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/setShippingMethods.js";import"../chunks/getCart.graphql.js";import"@dropins/tools/lib.js";import"../chunks/ToggleButton.js";import"@dropins/tools/i18n.js";import"@dropins/tools/components.js";/* empty css */import"@dropins/tools/preact-compat.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";export{b as ShippingMethods,c as default};
1
+ import{S as x,S as M}from"../chunks/ShippingMethods.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/setShippingMethods.js";import"../chunks/getCart.graphql.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/lib.js";import"@dropins/tools/i18n.js";import"@dropins/tools/components.js";import"../chunks/BillToShippingAddress.js";import"../chunks/setBillingAddress.js";import"@dropins/tools/preact-compat.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";export{x as ShippingMethods,M as default};
@@ -1,6 +1,7 @@
1
1
  export * from './BillingForm';
2
2
  export * from './BillToShippingAddress';
3
3
  export * from './Checkout';
4
+ export * from './EmptyCart';
4
5
  export * from './ErrorBanner';
5
6
  export * from './EstimateShipping';
6
7
  export * from './LoginForm';
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,13 @@
1
+ import { Container } from '@dropins/tools/types/elsie/src/lib';
2
+
3
+ export interface ConditionalProps {
4
+ hideOnEmptyCart?: boolean;
5
+ hideOnVirtualCart?: boolean;
6
+ }
7
+ export declare const withConditionalRendering: <P extends object>(WrappedContainer: Container<P, {
8
+ [key: string]: any;
9
+ }>) => {
10
+ ({ hideOnEmptyCart, hideOnVirtualCart, ...props }: ConditionalProps & P): import("preact").JSX.Element | null;
11
+ displayName: string;
12
+ };
13
+ //# sourceMappingURL=withConditionalRendering.d.ts.map
@@ -89,6 +89,14 @@ declare const _default: {
89
89
  "taxToBeDetermined": "TBD",
90
90
  "withTaxes": "Including taxes",
91
91
  "withoutTaxes": "Excluding taxes"
92
+ },
93
+ "Slots": {
94
+ "CartSummaryList": {
95
+ "Heading": {
96
+ "title": "Your Cart ({count})",
97
+ "editLink": "Edit"
98
+ }
99
+ }
92
100
  }
93
101
  }
94
102
  }
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name": "@dropins/storefront-checkout", "version": "0.1.0-alpha40", "@dropins/tools": "~0.27.1"}
1
+ {"name": "@dropins/storefront-checkout", "version": "0.1.0-alpha42", "@dropins/tools": "~0.28.0-beta2"}
package/render.js CHANGED
@@ -1,3 +1,3 @@
1
- (function(a,o){try{if(typeof document<"u"){const t=document.createElement("style"),i=o.styleId;for(const e in o.attributes)t.setAttribute(e,o.attributes[e]);t.setAttribute("data-dropin",i),t.appendChild(document.createTextNode(a));const r=document.querySelector('style[data-dropin="sdk"]');if(r)r.after(t);else{const e=document.querySelector('link[rel="stylesheet"], style');e?e.before(t):document.head.append(t)}}}catch(t){console.error("dropin-styles (injectCodeFunction)",t)}})(`.checkout-bill-to-shipping-address{display:grid;grid-area:billToShippingAddress}.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{display:grid;grid-area:shippingMethods}.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-fields-form{display:grid}div[data-slot=ShippingForm]{display:grid;grid-area:shippingAddress}div[data-slot=BillingForm]{display:grid;grid-area:billingAddress}.checkout-shipping-address__skeleton{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-medium);flex-wrap:wrap;min-width:384px}.checkout-address-form__company,.checkout-address-form__street{grid-column:1 / -1}.checkout-address-form__street .dropin-input-container{margin-bottom:var(--spacing-medium)}.checkout-address-form__street .dropin-input-container:last-child{margin-bottom:0}.checkout-address-form__street .dropin-field__content{display:grid;grid-auto-flow:row;gap:var(--spacing-xxsmall)}.checkout-address-form__country_id .dropin-picker__options-container,.checkout-address-form__region .dropin-picker__options-container{z-index:100}.checkout-address-form__save{grid-column:1 / -1;justify-self:center}.checkout-fields-form__title{color:var(--color-neutral-800);font:var(--type-headline-2-default-font);letter-spacing:var(--type-headline-2-default-letter-spacing);margin:0 0 var(--spacing-medium) 0}.checkout-fields-form__form{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-medium)}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout-fields-form__form{grid-template-columns:1fr}}@media only screen and (min-width: 768px){.dropin-field--multiline{grid-column:span 2}}.checkout__content{display:grid;align-items:start;grid-template-columns:repeat(var(--grid-4-columns),1fr);grid-template-areas:"main aside";column-gap:var(--grid-4-gutters)}.checkout__main{display:grid;grid-area:main;grid-template-areas:"header" "login" "shippingAddress" "billToShippingAddress" "shippingMethods" "paymentMethods" "billingAddress" "placeOrder";grid-column:1 / span 7;row-gap:var(--spacing-xbig)}.checkout__aside{display:grid;grid-area:aside;grid-column:9 / span 4}.checkout__banner{margin-bottom:var(--spacing-xbig)}.checkout-heading__title{display:grid;grid-area:header;color:var(--color-neutral-800);font:var(--type-headline-1-font);letter-spacing:var(--type-headline-1-letter-spacing);padding:var(--spacing-small) 0;margin:0}.checkout-heading__divider-primary{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}.cart-order-summary__taxes.dropin-accordion .dropin-divider{margin:var(--spacing-medium) auto}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout__content{grid-template-columns:1fr;grid-template-areas:"header" "login" "shippingAddress" "billToShippingAddress" "shippingMethods" "paymentMethods" "billingAddress" "orderSummary" "placeOrder";row-gap:var(--spacing-big);column-gap:0}.checkout__content>*:nth-last-child(2){margin-top:calc(var(--spacing-big) * -1)}div[data-slot=OrderSummary]{display:grid;grid-area:orderSummary}}.checkout-login-form{display:grid;grid-area:login}.checkout-login-form__heading{display:grid;grid-template-columns:1fr max-content;grid-auto-rows:max-content}.checkout-login-form__content{grid-auto-rows:max-content}.checkout-login-form__customer-details{display:grid;grid-auto-flow:row;gap:var(--spacing-xxsmall)}.checkout-login-form__customer-name{font:var(--type-body-1-strong-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.checkout-login-form__customer-email{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);color:var(--color-neutral-700)}.checkout-login-form__title{grid-column-start:1;color:var(--color-neutral-800);font:var(--type-headline-2-default-font);letter-spacing:var(--type-headline-2-default-letter-spacing);margin-top:0}.checkout-login-form__sign-in,.checkout-login-form__sign-out{grid-column-start:2;color:var(--color-neutral-800);font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);justify-self:flex-end;margin-top:var(--spacing-xxsmall)}a.checkout-login-form__link{font:var(--type-body-2-strong-font);margin-left:var(--spacing-xxsmall)}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout-login-form__heading{grid-template-columns:repeat(1,1fr [col-start]);grid-template-rows:1fr}.checkout-login-form__sign-in,.checkout-login-form__sign-out{grid-column-start:1;align-self:flex-start;justify-self:flex-start;margin-top:0;margin-bottom:var(--spacing-medium)}}.checkout-payment-methods{position:relative;display:grid;grid-area:paymentMethods}.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;grid-area:placeOrder;padding-bottom:var(--spacing-big)}.checkout-place-order__button{align-self:flex-end;justify-self:flex-end}@media only screen and (min-width:320px) and (max-width: 768px){.checkout-place-order{background-color:var(--color-neutral-200);padding:var(--spacing-medium) var(--spacing-medium) var(--spacing-big) var(--spacing-medium)}.checkout-place-order__button{align-self:center;justify-self:stretch}}.checkout-estimate-shipping{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xxsmall);align-items:center;color:var(--color-neutral-800)}.checkout-estimate-shipping__label,.checkout-estimate-shipping__price{font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.checkout-estimate-shipping__label--muted{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);color:var(--color-neutral-700)}.checkout-estimate-shipping__price--muted{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing)}.checkout-estimate-shipping__price{text-align:right}.checkout-estimate-shipping__label--bold,.checkout-estimate-shipping__price--bold{font:var(--type-body-1-emphasized-font);letter-spacing:var(--type-body-1-emphasized-letter-spacing)}.checkout-estimate-shipping__caption{font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing);color:var(--color-neutral-700)}.cart-order-summary__shipping .dropin-skeleton{grid-template-columns:1fr}.checkout-out-of-stock.dropin-card{border-color:var(--color-warning-500)}.checkout-out-of-stock .dropin-card__content{gap:var(--spacing-small);padding:var(--spacing-small)}.checkout-out-of-stock__title{color:var(--color-neutral-900);font:var(--type-body-2-strong-font);margin:0;display:flex;gap:var(--spacing-xxsmall);align-items:center;justify-content:left;text-align:center}.checkout-out-of-stock__message{color:var(--color-neutral-800);font:var(--type-body-2-default-font);margin:0}.checkout-out-of-stock__items{display:grid;grid-template-columns:repeat(5,100px);grid-gap:var(--spacing-small);list-style:none;padding:0;margin:0}.checkout-out-of-stock__item img{width:100%;height:auto}.checkout-out-of-stock__actions{display:flex;gap:var(--spacing-small);justify-content:flex-end}a.checkout-out-of-stock__action{font:var(--type-details-caption-1-font)}.checkout-out-of-stock__action{background:none;border:none;padding:0;cursor:pointer}.checkout-out-of-stock__action:hover{--textColor: var(--color-brand-700);text-decoration:solid underline var(--textColor);text-underline-offset:6px}.checkout-overlay-loader{align-items:center;background:var(--color-neutral-50);display:flex;height:100vh;justify-content:center;left:0;opacity:.5;position:fixed;top:0;width:100%;z-index:9999}.checkout-server-error{position:relative;text-align:center;display:grid}.checkout-server-error__icon .error-icon{color:var(--color-alert-500)}.checkout-server-error a{font:var(--type-body-2-strong-font);letter-spacing:var(--type-body-2-strong-letter-spacing)}.checkout-toggle-button{display:block;position:relative;width:100%}.checkout-toggle-button__actionButton{cursor:pointer;background-color:var(--color-neutral-200);border:var(--shape-border-width-1) solid var(--color-neutral-400);border-radius:var(--shape-border-radius-1);font:var(--type-body-2-strong-font);letter-spacing:var(--type-body-2-strong-letter-spacing);padding:var(--spacing-medium);align-items:center;display:grid}.checkout-toggle-button__selected .checkout-toggle-button__actionButton{background-color:var(--color-neutral-50);border:var(--shape-border-width-1) solid var(--color-neutral-800)}.checkout-toggle-button:has(input:focus-visible){outline:0 none;box-shadow:0 0 0 var(--shape-icon-stroke-4) var(--color-neutral-400);-webkit-box-shadow:0 0 0 var(--shape-icon-stroke-4) var(--color-neutral-400);-moz-box-shadow:0 0 0 var(--shape-icon-stroke-4) var(--color-neutral-400);border-radius:var(--shape-border-radius-1)}.checkout-toggle-button__radioButton.dropin-radio-button{cursor:pointer;position:absolute}.checkout-toggle-button__radioButton .dropin-radio-button__label:before{cursor:pointer;margin-right:0}.checkout-toggle-button__radioButton .dropin-radio-button__input:focus-visible+.dropin-radio-button__label:before{box-shadow:0 0 0 var(--shape-border-width-1) var(--color-neutral-600)}.checkout-toggle-button__content{display:flex;align-items:center;justify-content:center;margin-left:var(--spacing-big)}.checkout-toggle-button__icon{height:24px;margin-right:var(--spacing-xsmall)}`,{styleId:"checkout"});
3
- import{jsx as d}from"@dropins/tools/preact-jsx-runtime.js";import{Render as m}from"@dropins/tools/lib.js";import{events as g}from"@dropins/tools/event-bus.js";import"./chunks/fixtures.js";import{c as p}from"./chunks/resetCustomer.js";import{UIProvider as y}from"@dropins/tools/components.js";import{useState as h,useEffect as b}from"@dropins/tools/preact-hooks.js";import"@dropins/tools/preact.js";import"@dropins/tools/fetch-graphql.js";import"./chunks/getCustomer.js";import"./chunks/getCart.graphql.js";function O(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var v=function(r){return w(r)&&!S(r)};function w(e){return!!e&&typeof e=="object"}function S(e){var r=Object.prototype.toString.call(e);return r==="[object RegExp]"||r==="[object Date]"||j(e)}var E=typeof Symbol=="function"&&Symbol.for,M=E?Symbol.for("react.element"):60103;function j(e){return e.$$typeof===M}function A(e){return Array.isArray(e)?[]:{}}function o(e,r){return r.clone!==!1&&r.isMergeableObject(e)?i(A(e),e,r):e}function P(e,r,t){return e.concat(r).map(function(a){return o(a,t)})}function I(e,r){if(!r.customMerge)return i;var t=r.customMerge(e);return typeof t=="function"?t:i}function T(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(r){return Object.propertyIsEnumerable.call(e,r)}):[]}function u(e){return Object.keys(e).concat(T(e))}function f(e,r){try{return r in e}catch{return!1}}function C(e,r){return f(e,r)&&!(Object.hasOwnProperty.call(e,r)&&Object.propertyIsEnumerable.call(e,r))}function x(e,r,t){var a={};return t.isMergeableObject(e)&&u(e).forEach(function(n){a[n]=o(e[n],t)}),u(r).forEach(function(n){C(e,n)||(f(e,n)&&t.isMergeableObject(r[n])?a[n]=I(n,t)(e[n],r[n],t):a[n]=o(r[n],t))}),a}function i(e,r,t){t=t||{},t.arrayMerge=t.arrayMerge||P,t.isMergeableObject=t.isMergeableObject||v,t.cloneUnlessOtherwiseSpecified=o;var a=Array.isArray(r),n=Array.isArray(e),s=a===n;return s?a?t.arrayMerge(e,r,t):x(e,r,t):o(r,t)}i.all=function(r,t){if(!Array.isArray(r))throw new Error("first argument should be an array");return r.reduce(function(a,n){return i(a,n,t)},{})};var D=i,B=D;const L=O(B),U={title:"Checkout",LoginForm:{title:"Contact details",account:"Already have an account?",ariaLabel:"Email",invalidEmailError:"Please enter a valid email address.",missingEmailError:"Enter an email address.",emailExists:{alreadyHaveAccount:"It looks like you already have an account.",signInButton:"Sign in",forFasterCheckout:"for a faster checkout."},floatingLabel:"Email *",placeholder:"Enter your email address",signIn:"Sign In",switch:"Do you want to switch account?",signOut:"Sign Out"},ShippingMethods:{title:"Shipping options",emptyState:"This order can't be shipped to the address provided. Please review the address details you entered and make sure they're correct."},ShippingAddress:{title:"Delivery"},BillingAddress:{title:"Billing Address"},AddressForm:{Validity:{badInput:"Provide a valid {field}.",patternMismatch:"Ensure you have entered a correct {field} format.",rangeOverflow:"Choose a valid {field} within the allowed range.",rangeUnderflow:"Choose a valid {field} within the allowed range.",tooLong:"This entry is too long. Keep it under {field} characters.",tooShort:"Use at least {field} characters.",typeMismatch:"Enter a valid {field}.",valueMissing:"Enter a {field}, this field is required."}},BillToShippingAddress:{title:"Bill to shipping address"},PaymentMethods:{title:"Payment",emptyState:"No payment methods available"},OutOfStock:{title:"Your cart contains items that are out of stock",message:"The following items are out of stock:",actions:{reviewCart:"Review cart",removeOutOfStock:"Remove out of stock items"},lowInventory:{one:"Last item!",many:"Only {{count}} left!"},alert:"Out of stock!"},PlaceOrder:{button:"Place Order"},ServerError:{title:"We were unable to process your order",contactSupport:"If you continue to have issues, please contact support.",unexpected:"An unexpected error occurred while processing your order. Please try again later.",button:"Try again"},EmptyCart:{title:"Your cart is empty",button:"Start shopping"},ErrorBanner:{genericMessage:"Server error detected. Please check your connection and try again."},MergedCartBanner:{items:{one:"1 item from a previous session was added to your cart. Please review your new subtotal.",many:"{{count}} items from a previous session were added to your cart. Please review your new subtotal."}},EstimateShipping:{estimated:"Estimated Shipping",freeShipping:"Free",label:"Shipping",taxToBeDetermined:"TBD",withTaxes:"Including taxes",withoutTaxes:"Excluding taxes"}},_={Checkout:U},F={default:_},R=({children:e})=>{var s;const[r,t]=h(),a=(s=p.getConfig())==null?void 0:s.langDefinitions;b(()=>{const c=g.on("locale",l=>{l!==r&&t(l)},{eager:!0});return()=>{c==null||c.off()}},[r]);const n=L(F,a??{});return d(y,{lang:r,langDefinitions:n,children:e})},J=new m(d(R,{}));export{R as Provider,J as render};
1
+ (function(a,o){try{if(typeof document<"u"){const t=document.createElement("style"),n=o.styleId;for(const e in o.attributes)t.setAttribute(e,o.attributes[e]);t.setAttribute("data-dropin",n),t.appendChild(document.createTextNode(a));const r=document.querySelector('style[data-dropin="sdk"]');if(r)r.after(t);else{const e=document.querySelector('link[rel="stylesheet"], style');e?e.before(t):document.head.append(t)}}}catch(t){console.error("dropin-styles (injectCodeFunction)",t)}})(`.checkout-bill-to-shipping-address label{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);gap:0}
2
+ .checkout-fields-form{display:block}.checkout-shipping-address__skeleton{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-medium);flex-wrap:wrap;min-width:384px}.checkout-address-form__company,.checkout-address-form__street{grid-column:1 / -1}.checkout-address-form__street .dropin-input-container{margin-bottom:var(--spacing-medium)}.checkout-address-form__street .dropin-input-container:last-child{margin-bottom:0}.checkout-address-form__street .dropin-field__content{display:grid;grid-auto-flow:row;gap:var(--spacing-xxsmall)}.checkout-address-form__country_id .dropin-picker__options-container,.checkout-address-form__region .dropin-picker__options-container{z-index:100}.checkout-address-form__save{grid-column:1 / -1;justify-self:center}.checkout-fields-form__title{color:var(--color-neutral-800);font:var(--type-headline-2-default-font);letter-spacing:var(--type-headline-2-default-letter-spacing);margin:0 0 var(--spacing-medium) 0}.checkout-fields-form__form{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-medium)}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout-fields-form__form{grid-template-columns:1fr}}@media only screen and (min-width: 768px){.dropin-field--multiline{grid-column:span 2}}.checkout__content{display:grid;align-items:start;grid-template-columns:repeat(var(--grid-4-columns),1fr);column-gap:var(--grid-4-gutters)}.checkout__main{display:grid;grid-column:1 / span 7;row-gap:var(--spacing-xbig)}.checkout__aside{display:grid;grid-column:9 / span 4;gap:var(--spacing-xbig)}.checkout__banner{margin-bottom:var(--spacing-xbig)}.checkout-empty-cart~.dropin-divider{display:none}.dropin-divider+.dropin-divider{display:none}.checkout-heading__title{color:var(--color-neutral-800);font:var(--type-headline-1-font);letter-spacing:var(--type-headline-1-letter-spacing);padding:var(--spacing-small) 0;margin:0}.checkout__content .dropin-divider{margin:0}.checkout__content .checkout-billing-form__visible{display:block}.checkout__content .checkout-billing-form__hidden{display:none}.cart-order-summary__taxes.dropin-accordion .dropin-divider{margin:var(--spacing-medium) auto}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout__content{grid-template-columns:1fr;row-gap:var(--spacing-big);column-gap:0}.checkout__content>*:nth-last-child(1){margin-top:calc(var(--spacing-big) * -1)}}.checkout-login-form__heading{display:grid;grid-template-columns:1fr max-content;grid-auto-rows:max-content}.checkout-login-form__content{grid-auto-rows:max-content}.checkout-login-form__customer-details{display:grid;grid-auto-flow:row;gap:var(--spacing-xxsmall)}.checkout-login-form__customer-name{font:var(--type-body-1-strong-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.checkout-login-form__customer-email{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);color:var(--color-neutral-700)}.checkout-login-form__title{grid-column-start:1;color:var(--color-neutral-800);font:var(--type-headline-2-default-font);letter-spacing:var(--type-headline-2-default-letter-spacing);margin-top:0}.checkout-login-form__sign-in,.checkout-login-form__sign-out{grid-column-start:2;color:var(--color-neutral-800);font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);justify-self:flex-end;margin-top:var(--spacing-xxsmall)}a.checkout-login-form__link{font:var(--type-body-2-strong-font);margin-left:var(--spacing-xxsmall)}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout-login-form__heading{grid-template-columns:repeat(1,1fr [col-start]);grid-template-rows:1fr}.checkout-login-form__sign-in,.checkout-login-form__sign-out{grid-column-start:1;align-self:flex-start;justify-self:flex-start;margin-top:0;margin-bottom:var(--spacing-medium)}}.checkout-payment-methods__title{font:var(--type-headline-2-default-font);letter-spacing:var(--type-headline-2-default-letter-spacing);margin:0 0 var(--spacing-medium) 0}.checkout-payment-methods__wrapper{position:relative;display:grid}.checkout-payment-methods__methods{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-medium)}.checkout-payment-methods__content{margin-top:var(--spacing-medium)}.checkout-payment-methods--full-width{grid-template-columns:1fr}.checkout-payment-methods--loading{opacity:.4;pointer-events:none}.checkout-payment-methods__spinner{margin:0 auto;position:absolute;z-index:999;left:0;right:0;top:calc(50% - (var(--size) / 2));bottom:0}.checkout__content [data-slot=PaymentMethods]:empty{display:none}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout-payment-methods__methods{grid-template-columns:1fr}}.checkout-place-order{display:grid;padding-bottom:var(--spacing-big)}.checkout-place-order__button{align-self:flex-end;justify-self:flex-end}@media only screen and (min-width:320px) and (max-width: 768px){.checkout-place-order{background-color:var(--color-neutral-200);padding:var(--spacing-medium) var(--spacing-medium) var(--spacing-big) var(--spacing-medium)}.checkout-place-order__button{align-self:center;justify-self:stretch}}.checkout-estimate-shipping{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xxsmall);align-items:center;color:var(--color-neutral-800)}.checkout-estimate-shipping__label,.checkout-estimate-shipping__price{font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.checkout-estimate-shipping__label--muted{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);color:var(--color-neutral-700)}.checkout-estimate-shipping__price--muted{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing)}.checkout-estimate-shipping__price{text-align:right}.checkout-estimate-shipping__label--bold,.checkout-estimate-shipping__price--bold{font:var(--type-body-1-emphasized-font);letter-spacing:var(--type-body-1-emphasized-letter-spacing)}.checkout-estimate-shipping__caption{font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing);color:var(--color-neutral-700)}.cart-order-summary__shipping .dropin-skeleton{grid-template-columns:1fr}.checkout-out-of-stock.dropin-card{border-color:var(--color-warning-500)}.checkout-out-of-stock .dropin-card__content{gap:var(--spacing-small);padding:var(--spacing-small)}.checkout-out-of-stock__title{color:var(--color-neutral-900);font:var(--type-body-2-strong-font);margin:0;display:flex;gap:var(--spacing-xxsmall);align-items:center;justify-content:left;text-align:center}.checkout-out-of-stock__message{color:var(--color-neutral-800);font:var(--type-body-2-default-font);margin:0}.checkout-out-of-stock__items{display:grid;grid-template-columns:repeat(5,100px);grid-gap:var(--spacing-small);list-style:none;padding:0;margin:0}.checkout-out-of-stock__item img{width:100%;height:auto}.checkout-out-of-stock__actions{display:flex;gap:var(--spacing-small);justify-content:flex-end}a.checkout-out-of-stock__action{font:var(--type-details-caption-1-font)}.checkout-out-of-stock__action{background:none;border:none;padding:0;cursor:pointer}.checkout-out-of-stock__action:hover{--textColor: var(--color-brand-700);text-decoration:solid underline var(--textColor);text-underline-offset:6px}.checkout-overlay-loader{align-items:center;background:var(--color-neutral-50);display:flex;height:100vh;justify-content:center;left:0;opacity:.5;position:fixed;top:0;width:100%;z-index:9999}.checkout-server-error{position:relative;text-align:center;display:grid}.checkout-server-error__icon .error-icon{color:var(--color-alert-500)}.checkout-server-error a{font:var(--type-body-2-strong-font);letter-spacing:var(--type-body-2-strong-letter-spacing)}.checkout-toggle-button{display:block;position:relative;width:100%}.checkout-toggle-button__actionButton{cursor:pointer;background-color:var(--color-neutral-200);border:var(--shape-border-width-1) solid var(--color-neutral-400);border-radius:var(--shape-border-radius-1);font:var(--type-body-2-strong-font);letter-spacing:var(--type-body-2-strong-letter-spacing);padding:var(--spacing-medium);align-items:center;display:grid}.checkout-toggle-button__selected .checkout-toggle-button__actionButton{background-color:var(--color-neutral-50);border:var(--shape-border-width-1) solid var(--color-neutral-800)}.checkout-toggle-button:has(input:focus-visible){outline:0 none;box-shadow:0 0 0 var(--shape-icon-stroke-4) var(--color-neutral-400);-webkit-box-shadow:0 0 0 var(--shape-icon-stroke-4) var(--color-neutral-400);-moz-box-shadow:0 0 0 var(--shape-icon-stroke-4) var(--color-neutral-400);border-radius:var(--shape-border-radius-1)}.checkout-toggle-button__radioButton.dropin-radio-button{cursor:pointer;position:absolute}.checkout-toggle-button__radioButton .dropin-radio-button__label:before{cursor:pointer;margin-right:0}.checkout-toggle-button__radioButton .dropin-radio-button__input:focus-visible+.dropin-radio-button__label:before{box-shadow:0 0 0 var(--shape-border-width-1) var(--color-neutral-600)}.checkout-toggle-button__content{display:flex;align-items:center;justify-content:center;margin-left:var(--spacing-big)}.checkout-toggle-button__icon{height:24px;margin-right:var(--spacing-xsmall)}.checkout-shipping-methods__title{color:var(--color-neutral-800);font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing);margin:0 0 var(--spacing-medium) 0}.checkout-shipping-methods__content{position:relative;display:block}.checkout-shipping-methods__method{margin-bottom:var(--spacing-medium);width:fit-content;cursor:pointer;font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing)}.checkout-shipping-methods__method:last-child{margin-bottom:0}.dropin-radio-button__label .dropin-price{color:var(--color-neutral-800);font-weight:400}.checkout-shipping-methods__options--loading{opacity:.4;pointer-events:none}.checkout-shipping-methods__spinner{margin:0 auto;position:absolute;z-index:999;left:0;right:0;top:calc(50% - (var(--size) / 2));bottom:0}`,{styleId:"checkout"});
3
+ import{jsx as d}from"@dropins/tools/preact-jsx-runtime.js";import{Render as m}from"@dropins/tools/lib.js";import{events as g}from"@dropins/tools/event-bus.js";import"./chunks/getCart.graphql.js";import{c as p}from"./chunks/resetCustomer.js";import{UIProvider as y}from"@dropins/tools/components.js";import{useState as h,useEffect as b}from"@dropins/tools/preact-hooks.js";import"@dropins/tools/signals.js";import"@dropins/tools/fetch-graphql.js";import"./chunks/getCustomer.js";function O(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var v=function(r){return S(r)&&!w(r)};function S(e){return!!e&&typeof e=="object"}function w(e){var r=Object.prototype.toString.call(e);return r==="[object RegExp]"||r==="[object Date]"||j(e)}var E=typeof Symbol=="function"&&Symbol.for,M=E?Symbol.for("react.element"):60103;function j(e){return e.$$typeof===M}function A(e){return Array.isArray(e)?[]:{}}function o(e,r){return r.clone!==!1&&r.isMergeableObject(e)?i(A(e),e,r):e}function P(e,r,t){return e.concat(r).map(function(a){return o(a,t)})}function C(e,r){if(!r.customMerge)return i;var t=r.customMerge(e);return typeof t=="function"?t:i}function I(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(r){return Object.propertyIsEnumerable.call(e,r)}):[]}function u(e){return Object.keys(e).concat(I(e))}function f(e,r){try{return r in e}catch{return!1}}function T(e,r){return f(e,r)&&!(Object.hasOwnProperty.call(e,r)&&Object.propertyIsEnumerable.call(e,r))}function x(e,r,t){var a={};return t.isMergeableObject(e)&&u(e).forEach(function(n){a[n]=o(e[n],t)}),u(r).forEach(function(n){T(e,n)||(f(e,n)&&t.isMergeableObject(r[n])?a[n]=C(n,t)(e[n],r[n],t):a[n]=o(r[n],t))}),a}function i(e,r,t){t=t||{},t.arrayMerge=t.arrayMerge||P,t.isMergeableObject=t.isMergeableObject||v,t.cloneUnlessOtherwiseSpecified=o;var a=Array.isArray(r),n=Array.isArray(e),s=a===n;return s?a?t.arrayMerge(e,r,t):x(e,r,t):o(r,t)}i.all=function(r,t){if(!Array.isArray(r))throw new Error("first argument should be an array");return r.reduce(function(a,n){return i(a,n,t)},{})};var D=i,L=D;const B=O(L),U={title:"Checkout",LoginForm:{title:"Contact details",account:"Already have an account?",ariaLabel:"Email",invalidEmailError:"Please enter a valid email address.",missingEmailError:"Enter an email address.",emailExists:{alreadyHaveAccount:"It looks like you already have an account.",signInButton:"Sign in",forFasterCheckout:"for a faster checkout."},floatingLabel:"Email *",placeholder:"Enter your email address",signIn:"Sign In",switch:"Do you want to switch account?",signOut:"Sign Out"},ShippingMethods:{title:"Shipping options",emptyState:"This order can't be shipped to the address provided. Please review the address details you entered and make sure they're correct."},ShippingAddress:{title:"Delivery"},BillingAddress:{title:"Billing Address"},AddressForm:{Validity:{badInput:"Provide a valid {field}.",patternMismatch:"Ensure you have entered a correct {field} format.",rangeOverflow:"Choose a valid {field} within the allowed range.",rangeUnderflow:"Choose a valid {field} within the allowed range.",tooLong:"This entry is too long. Keep it under {field} characters.",tooShort:"Use at least {field} characters.",typeMismatch:"Enter a valid {field}.",valueMissing:"Enter a {field}, this field is required."}},BillToShippingAddress:{title:"Bill to shipping address"},PaymentMethods:{title:"Payment",emptyState:"No payment methods available"},OutOfStock:{title:"Your cart contains items that are out of stock",message:"The following items are out of stock:",actions:{reviewCart:"Review cart",removeOutOfStock:"Remove out of stock items"},lowInventory:{one:"Last item!",many:"Only {{count}} left!"},alert:"Out of stock!"},PlaceOrder:{button:"Place Order"},ServerError:{title:"We were unable to process your order",contactSupport:"If you continue to have issues, please contact support.",unexpected:"An unexpected error occurred while processing your order. Please try again later.",button:"Try again"},EmptyCart:{title:"Your cart is empty",button:"Start shopping"},ErrorBanner:{genericMessage:"Server error detected. Please check your connection and try again."},MergedCartBanner:{items:{one:"1 item from a previous session was added to your cart. Please review your new subtotal.",many:"{{count}} items from a previous session were added to your cart. Please review your new subtotal."}},EstimateShipping:{estimated:"Estimated Shipping",freeShipping:"Free",label:"Shipping",taxToBeDetermined:"TBD",withTaxes:"Including taxes",withoutTaxes:"Excluding taxes"},Slots:{CartSummaryList:{Heading:{title:"Your Cart ({count})",editLink:"Edit"}}}},_={Checkout:U},k={default:_},F=({children:e})=>{var s;const[r,t]=h(),a=(s=p.getConfig())==null?void 0:s.langDefinitions;b(()=>{const c=g.on("locale",l=>{l!==r&&t(l)},{eager:!0});return()=>{c==null||c.off()}},[r]);const n=B(k,a??{});return d(y,{lang:r,langDefinitions:n,children:e})},G=new m(d(F,{}));export{F as Provider,G as render};
@@ -0,0 +1,4 @@
1
+ import { Container } from '@dropins/tools/types/elsie/src/lib/types';
2
+
3
+ export declare function getDisplayName(WrappedComponent: Container<any>): string;
4
+ //# sourceMappingURL=getDisplayName.d.ts.map
@@ -0,0 +1,2 @@
1
+ export * from './getDisplayName';
2
+ //# sourceMappingURL=index.d.ts.map
package/utils/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './autocompleteFieldCodes';
2
+ export * from './getDisplayName';
2
3
  export * from './getMultilineValues';
3
4
  export * from './isEmpty';
4
5
  export * from './parseRegionId';
@@ -1 +0,0 @@
1
- import{jsx as o}from"@dropins/tools/preact-jsx-runtime.js";import"@dropins/tools/event-bus.js";import{k as p,n as f,l as k}from"./fixtures.js";import{s as b}from"./setBillingAddress.js";import{classes as S}from"@dropins/tools/lib.js";import{Checkbox as _,Skeleton as v,SkeletonRow as A}from"@dropins/tools/components.js";/* empty css */import{useText as B}from"@dropins/tools/i18n.js";import{useState as I,useEffect as g}from"@dropins/tools/preact-compat.js";const x=({className:r,isInitialized:s=!0,checked:i=!0,...t})=>{const e=B({title:"Checkout.BillToShippingAddress.title"});return s?o("div",{className:S(["checkout-bill-to-shipping-address",r]),children:o(_,{"data-testid":"bill-to-shipping-checkbox",className:"checkout-bill-to-shipping-address__checkbox",checked:i,name:"checkout-bill-to-shipping-address__checkbox",label:e.title,...t})}):o(C,{})},C=()=>o(v,{className:"bill-to-shipping-address__skeleton",children:o(A,{variant:"row",size:"small"})}),m="is_bill_to_shipping_address";function y(r,s,i){const t=r[i],e=s[i];return t===void 0&&e===void 0||t===null&&e===null?!0:typeof t=="object"&&typeof e=="object"?JSON.stringify(t)===JSON.stringify(e):t===e}function N(r,s,i){return!s&&!i?!0:!s||!i?!1:r.every(t=>{const e=t.code;return y(s,i,e)})}const T=({isBillToShipping:r})=>{var d;const[s,i]=I(!1),t=k.value.data,e=f.value.data,h=(e==null?void 0:e.id)||"",l=!!e,a=e==null?void 0:e.billingAddress,n=(d=e==null?void 0:e.shippingAddresses)==null?void 0:d[0],c=!!n;return g(()=>{if(s)return;const u=localStorage.getItem(m);u&&(i(!0),r.value={checked:u==="true",setByUser:!1})},[s,r]),g(()=>{if(s||!t||!l)return;i(!0);const u=N(t,a,n);r.value={checked:a?u:r.value.checked,setByUser:!1}},[a,t,l,r,s,n]),{cartId:h,isInitialized:s,hasShippingAddress:c}},L=({children:r,...s})=>{const i=p.value.checked,{hasShippingAddress:t,isInitialized:e}=T({isBillToShipping:p});return o(x,{...s,checked:i,isInitialized:e,onChange:l=>{const n=l.target.checked;if(p.value={checked:n,setByUser:!0},localStorage.setItem(m,n.toString()),!e||!n||!t)return;const c=new AbortController;return b({signal:c.signal,input:{same_as_shipping:!0}}).catch(d=>{console.error(d)}),()=>{c.abort()}},disabled:f.value.pending})};export{L as B,m as a,N as c};
@@ -1 +0,0 @@
1
- import{jsx as c}from"@dropins/tools/preact-jsx-runtime.js";import"@dropins/tools/event-bus.js";import{l as A,m as B,n as F,k as b}from"./fixtures.js";import{A as h}from"./getMultilineValues.js";import{s as v}from"./setBillingAddress.js";import{p as S}from"./setShippingAddress.js";import{A as k}from"./ToggleButton.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/lib.js";import{c as y}from"./BillToShippingAddress2.js";import{useRef as I,useMemo as L,useCallback as _,useEffect as C}from"@dropins/tools/preact-compat.js";import{B as M}from"./constants2.js";const q=f=>{var p;const d=I(null),i=A.value.data,o=B.value.data,a=o==null?void 0:o.defaultBillingAddress,s=F.value.data,t=s==null?void 0:s.billingAddress,n=(p=s==null?void 0:s.shippingAddresses)==null?void 0:p[0],{checked:r,setByUser:m}=b.value,l=!r,u=L(()=>!i||!l?!1:t?!y(i,t,n):!!a,[l,i,t,n,a]),g=_(e=>v({signal:e.signal,input:{address:r?void 0:S(e.address),same_as_shipping:r}}),[r]);return C(()=>{if(!m)return;const e=new AbortController;return r||d.current.triggerSaveAddress(e.signal),()=>{e.abort()}},[r,m]),c(k,{...f,addressType:h.BILLING,autoFill:u,"data-testid":"billing-form",headingId:"Checkout.BillingAddress.title",name:M,ref:d,saveAddressHandler:g,style:{display:l?"block":"none"}})};export{q as B};
@@ -1 +0,0 @@
1
- import{jsx as e,jsxs as c,Fragment as T}from"@dropins/tools/preact-jsx-runtime.js";import"@dropins/tools/event-bus.js";import{n as B,m as z,o as V}from"./fixtures.js";import{i as $,s as j}from"./setGuestEmailOnCart.js";import{H as q,p as G}from"./ToggleButton.js";import{useState as F,useEffect as O}from"@dropins/tools/preact-hooks.js";import{classes as x}from"@dropins/tools/lib.js";import{Field as P,Input as w,Divider as D}from"@dropins/tools/components.js";/* empty css */import{useText as b,Text as L}from"@dropins/tools/i18n.js";import{L as R}from"./constants3.js";const U=({value:o,error:l,hint:t,onChange:u,onBlur:d,onInvalid:s})=>{const i=b({LoginFormLabel:"Checkout.LoginForm.ariaLabel",LoginFormFloatingLabel:"Checkout.LoginForm.floatingLabel",LoginFormPlaceholder:"Checkout.LoginForm.placeholder"});return e(P,{size:"medium",error:l,hint:t,children:e(w,{id:"customer-email",name:"customer-email",type:"email",value:o,autocomplete:"email",placeholder:i.LoginFormPlaceholder,floatingLabel:i.LoginFormFloatingLabel,onChange:u,onBlur:d,onInvalid:s,required:!0,"aria-label":i.LoginFormLabel,"aria-required":!0})})},J=({onSignInClick:o,email:l})=>c("div",{className:"checkout-login-form__sign-in",children:[e(L,{id:"Checkout.LoginForm.account"}),e("a",{"data-testid":"sign-in-link",className:"checkout-login-form__link",href:"#",target:"_blank",rel:"noreferrer",onClick:t=>{t.preventDefault(),o==null||o(l)},children:e(L,{id:"Checkout.LoginForm.signIn"})})]}),K=({name:o,className:l,currentEmail:t,hint:u,error:d=null,onEmailChange:s,onEmailBlur:i,onEmailInvalid:v,onSignInClick:p,onSignOutClick:g,customer:a,..._})=>{const n=b({Title:"Checkout.LoginForm.title"}),h=!!a;return c("div",{..._,className:x(["checkout-login-form",l]),"data-testid":"checkout-login-form",children:[c("div",{className:"checkout-login-form__heading",children:[e(q,{level:2,className:"checkout-login-form__title",children:n.Title}),h?e(Q,{onSignOutClick:g}):e(J,{onSignInClick:p,email:t})]}),a?c("div",{className:"checkout-login-form__customer-details",children:[e("div",{className:"checkout-login-form__customer-name",children:`${a==null?void 0:a.firstName} ${a==null?void 0:a.lastName}`}),e("div",{className:"checkout-login-form__customer-email",children:a==null?void 0:a.email})]}):e("div",{className:"checkout-login-form__content",children:c("form",{className:x(["dropin-login-form__form",l]),name:o,noValidate:!0,children:[e("button",{type:"submit",disabled:!0,style:"display: none","aria-hidden":"true"}),e(U,{value:t||void 0,error:d||"",hint:u,onChange:s,onBlur:i,onInvalid:v})]})}),e(D,{variant:"primary"})]})},Q=({onSignOutClick:o})=>c("p",{className:"checkout-login-form__sign-out",children:[e(L,{id:"Checkout.LoginForm.switch"}),e("a",{className:"checkout-login-form__link",href:"#",target:"_blank",rel:"noreferrer",onClick:l=>{l.preventDefault(),o==null||o()},children:e(L,{id:"Checkout.LoginForm.signOut"})})]}),W=o=>G.email.test(o),X=1e3,me=({className:o,email:l=null,onSignInClick:t,onSignOutClick:u,...d})=>{const s=b({LoginFormInvalidEmailError:"Checkout.LoginForm.invalidEmailError",LoginFormMissingEmailError:"Checkout.LoginForm.missingEmailError",LoginFormEmailExistsAlreadyHaveAccount:"Checkout.LoginForm.emailExists.alreadyHaveAccount",LoginFormEmailExistsSignInButton:"Checkout.LoginForm.emailExists.signInButton",LoginFormEmailExistsForFasterCheckout:"Checkout.LoginForm.emailExists.forFasterCheckout"}),{data:i}=B.value,v=(i==null?void 0:i.id)||"",p=!!i,g=(i==null?void 0:i.email)||"",[a,_]=F(!1),[n,h]=F(l),[E,f]=F(null),[C,k]=F(!0),N=r=>r.valid?null:r.valueMissing?s.LoginFormMissingEmailError:s.LoginFormInvalidEmailError,y=z.value.data,A=r=>{const{value:m}=r.target;h(m),f(null),k(!0)},I=r=>{const{validity:m}=r.target;f(N(m))},H=r=>{const{validity:m}=r.target;f(N(m))};!a&&p&&(_(!0),h((i==null?void 0:i.email)||l)),O(()=>{if(E!==null&&E!==""||n===null||n===""||V.authenticated)return;const r=setTimeout(()=>{$(n).then(m=>{k(m),g!==n&&j(n).catch(console.error)}).catch(m=>{console.log(m),f(s.LoginFormInvalidEmailError),k(!0)})},X);return()=>{r&&clearTimeout(r)}},[g,v,n,E,s.LoginFormInvalidEmailError]);const M=C?"":c(T,{children:[s.LoginFormEmailExistsAlreadyHaveAccount," ",e("a",{href:"#",onClick:r=>{r.preventDefault(),t==null||t(n)},children:s.LoginFormEmailExistsSignInButton})," ",s.LoginFormEmailExistsForFasterCheckout]});return e(K,{className:o,currentEmail:n,error:E,hint:M,name:R,onEmailBlur:I,onEmailChange:A,onEmailInvalid:H,onSignInClick:r=>{const m=n?W(n):!1;t==null||t(m?r:null)},onSignOutClick:u,customer:y,...d})};export{me as L};
@@ -1 +0,0 @@
1
- import{jsx as n}from"@dropins/tools/preact-jsx-runtime.js";import{classes as l}from"@dropins/tools/lib.js";import"./ToggleButton.js";import{Button as u}from"@dropins/tools/components.js";import{Text as d}from"@dropins/tools/i18n.js";import{events as p}from"@dropins/tools/event-bus.js";import{n as O}from"./fixtures.js";import"@dropins/tools/preact-hooks.js";/* empty css */import{useState as h,useEffect as P}from"@dropins/tools/preact-compat.js";import{B as v}from"./constants2.js";import{L as I}from"./constants3.js";import{S as F}from"./constants.js";const S=({className:e,onClick:r=()=>{},disabled:o=!1})=>n("div",{className:l(["checkout-place-order",e]),children:n(u,{className:l(["checkout-place-order__button",e]),"data-testid":"place-order-button",disabled:o,onClick:r,size:"medium",type:"submit",variant:"primary",children:n(d,{id:"Checkout.PlaceOrder.button"})},"placeOrder")}),_=[I,F,v],k=e=>{const r=e.querySelector(":invalid");r&&(r.scrollIntoView({behavior:"smooth"}),r.focus())},y=()=>{const r=(Array.from(document.forms)||[]).filter(t=>_.includes(t.name)).filter(t=>t.offsetParent!==null).filter(t=>!t.checkValidity()),o=r.length===0;if(!o){const t=r[0];k(t)}return o},w=({onClick:e,handleServerError:r})=>{const[o,t]=h(!1),a=O.value.pending,m=async()=>{if(y())try{await e()}catch(i){r(i)}};return P(()=>{const i=p.on("cart/initialized",c=>{const f=(c==null?void 0:c.items)||[];t(f.some(s=>s.outOfStock||s.insufficientQuantity))},{eager:!0});return()=>{i==null||i.off()}},[]),n(S,{onClick:m,disabled:a||o})};export{w as P};
@@ -1 +0,0 @@
1
- import{jsx as t}from"@dropins/tools/preact-jsx-runtime.js";import"@dropins/tools/event-bus.js";import{k as a}from"./fixtures.js";import{A as d}from"./getMultilineValues.js";import{s as m}from"./setBillingAddress.js";import{s as n,p as l}from"./setShippingAddress.js";import{A as g}from"./ToggleButton.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/lib.js";import{useCallback as h}from"@dropins/tools/preact-compat.js";import{S as A}from"./constants.js";const H=({onCheckoutDataUpdate:i,preselectedFields:e,...p})=>{const s=a.value.checked,o=h(r=>n({signal:r.signal,address:l(r.address)}).then(()=>{if(s)return m({input:{same_as_shipping:!0}})}),[s]);return t(g,{...p,addressType:d.SHIPPING,headingId:"Checkout.ShippingAddress.title",name:A,onCheckoutDataUpdate:i,preselectedFields:e,saveAddressHandler:o})};export{H as S};
@@ -1 +0,0 @@
1
- import{jsx as o,Fragment as T,jsxs as B}from"@dropins/tools/preact-jsx-runtime.js";import{events as ne}from"@dropins/tools/event-bus.js";import{A as P,y as N,n as oe,V as _,l as Fe,z as Ie,q as Ee,m as Ae}from"./fixtures.js";import{b as Q,a as p,A as L,e as Ce,D as G,g as ke,M as ee,c as te}from"./getMultilineValues.js";import{useState as H,useCallback as O,useEffect as x,useRef as Se,useMemo as be}from"@dropins/tools/preact-hooks.js";import{classes as V,getFormErrors as we,VComponent as y}from"@dropins/tools/lib.js";import{Text as ae,useText as Me}from"@dropins/tools/i18n.js";import{Field as Z,Input as se,Picker as Re,Skeleton as $e,SkeletonRow as b,Divider as ye,ProgressSpinner as Le}from"@dropins/tools/components.js";/* empty css */import{forwardRef as Ne,useRef as _e,useImperativeHandle as De,useState as j,useEffect as X}from"@dropins/tools/preact-compat.js";import{E as xe}from"./ErrorBanner.js";import{M as ze}from"./MergedCartBanner.js";const J={firstname:"given-name",lastname:"family-name",company:"organization",country:"country",region:"address-level1",city:"address-level2",postcode:"postal-code",telephone:"tel",street:"address-line1",email:"email",middlename:"additional-name",prefix:"honorific-prefix",suffix:"honorific-suffix"};function ie(e){return Object.keys(e).length===0&&e.constructor===Object}const Pe=e=>e.map(t=>{var n;const r=((n=t==null?void 0:t.id)==null?void 0:n.toString())||t.code;return{text:t.name,value:r}}),Be=e=>e?e.map(t=>({text:t.label,value:t.value})):[];function Oe({address:e,addressType:t,availableCountries:r,availableRegions:n,config:a,dismissError:s,errors:i,fields:u,onBlur:d,onChange:v,onInvalid:c,onSelection:h,setAddress:F}){const I=()=>{F(l=>({...l,[p.Region]:"",[p.RegionId]:""})),s(p.Region)},A=l=>{F(w=>({...w,[p.RegionId]:l}))};return u.map(l=>{var f;let w,g=l.frontendInput,S=h,M=v,R=l.isDisabled,D=l.isRequired,$=[],k;return g===P.Multiline?(k=Q(l.code,e),w=Q(l.code,i)):(k=e[l.code],w=i[l.code]||""),l.code===p.Country&&($=Be(r),t===L.SHIPPING&&(N.value.country=k,S=m=>{const E=m.target,{value:C}=E;C&&W({country_code:C}),h(m),I()})),l.code===p.RegionId&&t===L.SHIPPING&&(N.value.selectedRegionId=k),l.code===p.Region&&(t===N.value.addressType&&(R=N.value.pending),D=a.countriesWithRequiredRegion.includes(e==null?void 0:e.country_id),$=Pe(n),!D&&!a.displayStateIfOptional&&(g=P.Undefined),g=$.length>0?P.Select:P.Text,g===P.Select?t===L.SHIPPING?(N.value.selectedRegion=k,S=m=>{const C=m.target.value;W({country_code:N.value.country,region_id:C}),h(m),A(C)}):S=m=>{h(m);const C=m.target.value;A(C)}:g===P.Text&&t===L.SHIPPING&&(N.value.selectedRegion=k,M=m=>{const E=m.target,{value:C}=E;N.value.country&&W({country_code:N.value.country,region_name:C}),v(m)}),k=$.length>0?((f=$.find(m=>m.value===k))==null?void 0:f.value)||"":k),l.code===p.PostCode&&(D=!a.countriesWithOptionalZipCode.includes(e==null?void 0:e.country_id)),{...l,error:w,frontendInput:g,handleSelect:S,isDisabled:R,isRequired:D,onBlur:d,onChange:M,onInvalid:c,options:$,value:k}})}let re;function W(e){var s;const t=oe.value.data,r=!!t,n=(s=t==null?void 0:t.shippingAddresses)==null?void 0:s[0],a=n==null?void 0:n.availableShippingMethods;r&&!a&&(clearTimeout(re),re=setTimeout(()=>{Ce({criteria:e})},G))}const U=({addressType:e,code:t,index:r})=>r?`${e}-${t}-${r}`:`${e}-${t}`,q=e=>`checkout-address-form__${e}`,Ve=({addressType:e,element:t})=>{const{code:r,value:n,defaultValue:a}=t;return o("input",{className:q(r),id:U({addressType:e,code:r}),name:r,type:"hidden",value:n||a},r)},Te=({addressType:e,element:t})=>{const{code:r,error:n,isDisabled:a,label:s,onBlur:i,onChange:u,onInvalid:d,validateRules:v,value:c}=t,h=ce(v);return o(Z,{disabled:a,error:n,children:o(se,{"aria-label":s,autocomplete:J[r]||"off",className:q(r),floatingLabel:`${s} ${t.isRequired?"*":""}`,id:U({addressType:e,code:r}),onBlur:i,onChange:u,onInvalid:d,placeholder:s,required:t.isRequired||!1,type:"text",name:r,value:c??void 0,...h})})},Ge=({addressType:e,element:t})=>{const{code:r,error:n,isDisabled:a,isRequired:s,label:i,multilineCount:u,onBlur:d,onChange:v,onInvalid:c,validateRules:h,value:F}=t,I=u??0,A=ce(h);return o(T,{children:Array.from(Array(I).keys()).map(l=>o(Z,{disabled:a,error:(n==null?void 0:n[l])||"",className:"dropin-field--multiline",children:o(se,{id:U({addressType:e,code:r,index:l}),className:q(r),floatingLabel:`${i} ${l!=0?l:""} ${s&&l===0?"*":""}`,autocomplete:l===0?J[r]:"off","aria-label":i,placeholder:`${i} ${l!=0?l:""}`,type:"text",required:s&&l===0,onChange:v,onBlur:d,onInvalid:c,name:`${r}-${l}`,value:(F==null?void 0:F[l])||void 0,...A})},`${r}-${l}`))})},He=({addressType:e,element:t})=>{const{code:r,error:n,handleSelect:a,isDisabled:s,isRequired:i,label:u,onBlur:d,onInvalid:v,options:c,value:h}=t,F=a?{handleSelect:a}:{};return o(Z,{disabled:s,error:n,children:o(Re,{id:U({addressType:e,code:r}),className:q(r),name:r,floatingLabel:`${u} ${i?"*":""}`,required:i,placeholder:u,"aria-label":u,options:c,value:h,autocomplete:J[r]||"off",onBlur:d,onInvalid:v,...F},r)})},Ue=({addressType:e,element:t})=>{switch(t.frontendInput){case"BOOLEAN":case"DATE":case"DATETIME":case"FILE":case"GALLERY":case"IMAGE":case"MEDIA_IMAGE":case"MULTISELECT":case"PRICE":case"TEXTAREA":case"UNDEFINED":case"WEIGHT":return null;case"HIDDEN":return Ve({addressType:e,element:t});case"TEXT":return Te({addressType:e,element:t});case"MULTILINE":return Ge({addressType:e,element:t});case"SELECT":return He({addressType:e,element:t});default:return null}},ce=e=>e?e.reduce((t,r)=>{switch(r.name){case _.DateRangeMax:return{...t,max:r.value};case _.DateRangeMin:return{...t,min:r.value};case _.FileExtensions:return{...t,accept:r.value};case _.InputValidation:return{...t,pattern:qe(r.value)};case _.MaxFileSize:case _.MaxImageHeight:case _.MaxImageWidth:return t;case _.MaxTextLength:return{...t,maxLength:r.value};case _.MinTextLength:return{...t,minLength:r.value};default:throw new Error(`Unknown rule: ${r.name}`)}},{}):{},z={alpha:/^[a-zA-Z]+$/,alphanumeric:/^[a-zA-Z0-9]+$/,"alphanumeric-w-space":/^[a-zA-Z0-9 ]+$/,"alphanum-with-spaces":/^[a-zA-Z0-9 ]+$/,email:/^([a-z0-9,!#$%&'*+/=?^_`{|}~-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z0-9,!#$%&'*+/=?^_`{|}~-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*@([a-z0-9-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z0-9-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*\.(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]){2,})$/i,numeric:/^[0-9]+$/,url:/^((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=+$,\w]+@)?[A-Za-z0-9.-]+|(?:www\.|[-;:&=+$,\w]+@)[A-Za-z0-9.-]+)((?:\/[+~%/.\w\-_]*)?\??(?:[-+=&;%@.\w_]*)#?(?:[.!/\\\w]*))?)$/},qe=e=>{switch(e){case"alpha":return z.alpha.source;case"alphanumeric":return z.alphanumeric.source;case"alphanumeric-w-space":return z["alphanumeric-w-space"].source;case"alphanum-with-spaces":return z["alphanum-with-spaces"].source;case"url":return z.url.source;case"numeric":return z.numeric.source;case"email":return z.email.source;default:throw new Error(`Unknown validation type: ${e}`)}},We=e=>B($e,{...e,children:[o(b,{variant:"heading",size:"medium"}),o(b,{variant:"empty",size:"medium"}),o(b,{size:"large"}),o(b,{size:"large"}),o(b,{size:"large",fullWidth:!0}),o(b,{size:"large",fullWidth:!0,lines:3}),o(b,{size:"large"}),o(b,{size:"large"}),o(b,{size:"large"}),o(b,{size:"large"}),o(b,{size:"large"}),o(b,{size:"large"}),o(b,{size:"large"})]}),Ze=({addressType:e,className:t,fields:r,formRef:n,headingId:a,name:s,...i})=>B("div",{...i,className:V(["checkout-fields-form",t]),children:[o(me,{level:2,children:o(ae,{id:a}),className:"checkout-fields-form__title"}),o("form",{name:s,ref:n,className:V(["checkout-fields-form__form",t]),noValidate:!0,children:r.sort((u,d)=>!u.sortOrder||!d.sortOrder?u.code<d.code?-1:1:u.sortOrder-d.sortOrder).map(u=>Ue({element:u,addressType:e}))})]}),je=e=>{const t=new FormData(e),r=Object.fromEntries(t);return Object.entries(r).reduce((a,[s])=>{const i=e.elements[s];return i!=null&&i.validationMessage?{...a,[s]:i.validationMessage}:{...a}},{})};function Xe(e){const[t,r]=j({});return X(()=>{e&&r(n=>({...n,country_id:e}))},[e]),{defaultValues:t}}function Je({country:e,addressType:t}){const[r,n]=j([]);return X(()=>{if(!e){n([]);return}ke(e,t).then(a=>{n(a||[])}).catch(a=>{console.error(a)})},[n,e,t]),{availableRegions:r}}function Ke({autoFill:e,addressType:t,dismissError:r,loadAutoFill:n}){const[a,s]=j(!1),i=Ae.value.data,u=!!i,d=oe.value.data,v=!!d;X(()=>{var w;if(!e||!v||a)return;let c,h=!1;c=gt({addressType:t,cart:d}),!c&&u&&(c=mt({addressType:t,customer:i}),h=!0);const F=g=>g?g.split(te).length>1:!1;if(!c)return;s(!0);const I={[p.City]:c.city,[p.Company]:c.company||"",[p.Country]:c.country.value,[p.FirstName]:c.firstName,[p.LastName]:c.lastName,[p.PostCode]:c.postCode||"",[p.Telephone]:c.telephone||"",[p.Vat]:c.vatId||""},A=c.region;if(A){const g=(w=A==null?void 0:A.id)==null?void 0:w.toString();g?(I[p.Region]=g,I[p.RegionId]=g):I[p.Region]=A.code}c!=null&&c.street&&c.street.length>0&&c.street.forEach((g,S)=>{I[`${p.Street}${ee}${S}`]=g}),((c==null?void 0:c.customAttributes)||[]).forEach(g=>{F(g.code)?g.value.split(te).forEach((M,R)=>{I[`${g.code}${ee}${R}`]=M}):I[g.code]=g.value}),n({values:I,triggerAutoSave:h})},[t,e,d,i,a,v,u,n,r])}const Nt=Ne(({addressType:e,autoFill:t=!0,children:r,headingId:n,name:a,preselectedFields:s,saveAddressHandler:i,onCheckoutDataUpdate:u,...d},v)=>{const{data:c,pending:h}=Fe.value,F=Ie.value.data,I=F===void 0,A=c===void 0||h,l=Ee.value.data,w=l===void 0,{defaultValues:g}=Xe(l==null?void 0:l.defaultCountry),S=dt({fields:c,preselectedFields:s}),M=_e(null),{address:R,errors:D,loadAutoFill:$,onBlur:k,dismissError:f,onChange:m,onInvalid:E,onSelection:C,setAddress:ge}=lt({defaultValues:g,formRef:M,onCheckoutDataUpdate:u,preselection:S,saveAddressHandler:i,type:e}),{availableRegions:fe}=Je({country:R.country_id,addressType:e});if(De(v,()=>({triggerSaveAddress:pe=>{if(!M.current)return;const ve=je(M.current);if(ie(ve))return i({signal:pe,address:R})}})),Ke({addressType:e,autoFill:t,loadAutoFill:$,dismissError:f}),A||I||w)return o(We,{"data-testid":`${e}-skeleton`});const he=Oe({address:R,addressType:e,availableCountries:F,availableRegions:fe,config:l,dismissError:f,errors:D,fields:c,onBlur:k,onChange:m,onInvalid:E,onSelection:C,setAddress:ge}),Y={[L.SHIPPING]:"shipping",[L.BILLING]:"billing"};return o(Ze,{...d,name:a,addressType:e,className:`checkout-${Y[e]}-form`,"data-testid":`${Y[e]}-form`,fields:he,formRef:M,headingId:n})}),Ye="DROPIN__CHECKOUT",K=e=>`${Ye}__${e.toUpperCase()}`,Qe=(e,t)=>{window.localStorage.setItem(K(e),JSON.stringify(t))},et=e=>{const t=window.localStorage.getItem(K(e));return t?JSON.parse(t):null},tt=e=>{window.localStorage.removeItem(K(e))};function rt(e){const[t,r]=H(null),n=O(s=>setTimeout(()=>{Qe(e,s)},G),[e]),a=O(()=>{tt(e)},[e]);return x(()=>{const s=et(e);s&&r(s)},[e]),x(()=>{const s=ne.on("checkout/order",()=>{a()});return()=>{s==null||s.off()}},[a]),{addressBackup:t,backupAddress:n,removeAddressBackup:a}}const nt={[L.BILLING]:"billing",[L.SHIPPING]:"shipping"};function ot({address:e,type:t}){x(()=>{const r=setTimeout(()=>{ne.emit("checkout/address",{type:nt[t],address:e})},G);return()=>{clearTimeout(r)}},[e,t])}const at={badInput:"aria-label",patternMismatch:"aria-label",rangeOverflow:"max",rangeUnderflow:"min",tooLong:"maxlength",tooShort:"minlength",typeMismatch:"aria-label",valueMissing:"aria-label"},st=["badInput","patternMismatch","rangeOverflow","rangeUnderflow","tooLong","tooShort","typeMismatch","valueMissing"],it=e=>{const[t,r]=H({}),n=O(i=>{const{name:u,validity:d,validationMessage:v}=i;let c=d.valid?"":v;st.forEach(h=>{if(!d[h])return;const F=e[h];if(!F)return;const I=at[h];c=F.replace("{field}",i.getAttribute(I)||"")}),r(h=>({...h,[u]:c}))},[e]);return{errors:t,dismissError:i=>{t[i]&&r(u=>{const{[i]:d,...v}=u;return v})},validateFormElement:n,resetErrors:()=>{r({})}}},ct=e=>{const t=e.current;if(!t)return!1;const r=we(t);return ie(r)},lt=({defaultValues:e={},formRef:t,onCheckoutDataUpdate:r,preselection:n={},saveAddressHandler:a,type:s})=>{const i=Me({badInput:"Checkout.AddressForm.Validity.badInput",patternMismatch:"Checkout.AddressForm.Validity.patternMismatch",rangeUnderflow:"Checkout.AddressForm.Validity.rangeUnderflow",tooLong:"Checkout.AddressForm.Validity.tooLong",tooShort:"Checkout.AddressForm.Validity.tooShort",typeMismatch:"Checkout.AddressForm.Validity.typeMismatch",valueMissing:"Checkout.AddressForm.Validity.valueMissing"}),u=Se(!1),[d,v]=H({});ot({address:d,type:s});const{addressBackup:c,backupAddress:h,removeAddressBackup:F}=rt(s),{errors:I,validateFormElement:A,dismissError:l,resetErrors:w}=it(i),g=O(f=>{u.current=!1,a(f).then(()=>{F(),r==null||r()}).catch(m=>{u.current=!0,console.error("Saving address form failed:",m)})},[F,a,r]),S=(f,m)=>{v(E=>({...E,[f]:m})),u.current=!0},M=({values:f,triggerAutoSave:m=!1})=>{w(),v(E=>({...E,...f})),m&&(u.current=!0)},R=f=>{const m=f.target,{name:E,value:C}=m;S(E,C),A(m)},D=f=>{const m=f.target;A(m)},$=f=>{const m=f.target,{name:E,value:C}=m;S(E,C),A(m)},k=f=>{f.target.checkValidity()};return x(()=>{v(f=>({...e,...n,...c,...f}))},[e,n,c]),x(()=>{if(!u.current)return;const f=h(d);return()=>{clearTimeout(f)}},[d,h]),x(()=>{if(!u.current||!ct(t))return;const f=new AbortController,m=f.signal,E=setTimeout(()=>{g({signal:m,address:d})},G);return()=>{clearTimeout(E),f.abort()}},[d,t,g]),{address:d,errors:I,loadAutoFill:M,dismissError:l,onChange:R,onSelection:$,onBlur:k,onInvalid:D,setAddress:v}},ut={countryCode:p.Country,region:p.Region,postCode:p.PostCode};function dt({fields:e,preselectedFields:t}){return be(()=>!(!!e&&e.length>0)||!!!t?{}:Object.keys(t).reduce((a,s)=>{const i=ut[s];return!i||!e.some(d=>d.code===i)?a:{...a,[i]:t[s]}},{}),[e,t])}const mt=({addressType:e,customer:t})=>e===L.BILLING?t.defaultBillingAddress:t.defaultShippingAddress,gt=({addressType:e,cart:t})=>{if(e===L.BILLING)return t.billingAddress;const r=t.shippingAddresses;if(!(!r||r.length===0))return r[0]},le=()=>{const e=()=>window.innerWidth>=1920?"xxlarge":window.innerWidth>=1366?"xlarge":window.innerWidth>=1024?"large":window.innerWidth>=768?"medium":"small",[t,r]=H(e());return x(()=>{let n;const a=()=>{n&&clearTimeout(n),n=setTimeout(()=>r(e()),50)};return window.addEventListener("resize",a),()=>{window.removeEventListener("resize",a),n&&clearTimeout(n)}},[]),t},ft=()=>{const e=O(()=>{document.body.style.overflow="hidden"},[]),t=O(()=>{document.body.style.overflow=""},[]);return{lockScroll:e,unlockScroll:t}},ue=({children:e,className:t})=>le()==="small"?o(T,{children:e}):o("div",{className:t,children:e}),ht=({sections:e})=>o(ue,{className:"checkout__aside",children:e.orderSummary&&o(y,{node:e.orderSummary})}),pt=({billingAddress:e,billToShippingAddress:t,login:r,outOfStock:n,paymentMethods:a,placeOrder:s,shippingAddress:i,shippingMethods:u})=>{const d=le();return B(T,{children:[o(y,{node:n}),o(y,{node:r}),i&&o(y,{node:i}),t&&o(y,{node:t}),u&&o(y,{node:u}),o(y,{node:a}),o(y,{node:e}),o(y,{node:s}),d==="small"&&o(y,{node:n})]})},vt=({sections:e})=>o(ue,{className:"checkout__main",children:B(T,{children:[B("div",{className:"checkout-heading",children:[o(me,{level:1,className:"checkout-heading__title",children:o(ae,{id:"Checkout.title"})}),o(ye,{variant:"primary",className:"checkout-heading__divider-primary"})]}),e&&o(pt,{...e})]})}),de=({children:e,className:t,isLoading:r=!1,...n})=>B("div",{"data-testid":"checkout",className:V(["checkout",t]),...n,children:[r&&o(Ft,{}),o(xe,{}),o(ze,{}),o("div",{className:"checkout__content",children:e})]});de.Main=vt;de.Aside=ht;const me=({className:e,children:t,level:r=2})=>{const n=r>=1&&r<=6?`h${r}`:"h2";return o(n,{className:e,children:t})},Ft=({className:e})=>{const{lockScroll:t,unlockScroll:r}=ft();return x(()=>(t(),r),[t,r]),o("div",{"data-testid":"checkout-overlay-loader",className:V(["checkout-overlay-loader",e]),children:o(Le,{})})};export{Nt as A,de as C,me as H,z as p};
@@ -1 +0,0 @@
1
- import{jsxs as y,jsx as e,Fragment as z}from"@dropins/tools/preact-jsx-runtime.js";import"@dropins/tools/event-bus.js";import{n as L}from"./fixtures.js";import{s as O}from"./setPaymentMethod.js";import{H as U}from"./ToggleButton.js";import"@dropins/tools/preact-hooks.js";import{classes as f,Slot as E}from"@dropins/tools/lib.js";import{Skeleton as $,SkeletonRow as v,IllustratedMessage as q,Icon as Z,ProgressSpinner as F,Divider as G,RadioButton as J}from"@dropins/tools/components.js";/* empty css */import*as M from"@dropins/tools/preact-compat.js";import{useState as P,useCallback as x,useEffect as N}from"@dropins/tools/preact-compat.js";import{useText as K}from"@dropins/tools/i18n.js";const Q=t=>M.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},M.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M17.93 14.8V18.75H5.97C4.75 18.75 3.75 17.97 3.75 17V6.5M3.75 6.5C3.75 5.53 4.74 4.75 5.97 4.75H15.94V8.25H5.97C4.75 8.25 3.75 7.47 3.75 6.5Z",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),M.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M19.35 11.64H14.04V14.81H19.35V11.64Z",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),M.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M17.9304 11.64V8.25H15.1504",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"})),X=()=>y($,{"data-testid":"payment-methods-skeleton",children:[e(v,{variant:"heading",size:"medium"}),e(v,{variant:"empty",size:"medium"}),e(v,{size:"xlarge",fullWidth:!0}),e(v,{size:"xlarge",fullWidth:!0})]}),Y=({code:t,isLoading:n,isSelected:d,onChange:s,title:o})=>e(te,{className:"checkout-payment-methods__method",label:o,name:"payment-method",value:t,selected:d,onChange:s,radioButtonProps:{"aria-busy":n}}),D=({className:t,paymentMethodContent:n,isLoading:d,onChange:s=()=>{},options:o,selection:u})=>{const l=K({Title:"Checkout.PaymentMethods.title",EmptyState:"Checkout.PaymentMethods.emptyState"});return o===void 0?e(X,{}):y("div",{className:f(["checkout-payment-methods",t]),children:[e(U,{level:2,className:"checkout-payment-methods__title",children:l.Title}),!d&&o.length===0&&e(q,{icon:e(Z,{source:Q}),message:e("p",{children:l.EmptyState})}),y("div",{className:f(["checkout-payment-methods__wrapper"]),children:[d&&e(F,{className:"checkout-payment-methods__spinner"}),e("div",{className:f(["checkout-payment-methods__methods",["checkout-payment-methods--loading",d],["checkout-payment-methods--full-width",o.length%2!==0]]),children:o==null?void 0:o.map(m=>e(Y,{code:m.code,onChange:s,isSelected:m.code===u,title:m.title},m.code))}),n&&e("div",{className:"checkout-payment-methods__content",children:n})]}),e(G,{variant:"primary"})]})},T={free:{render:t=>{const n=document.createElement("div");n.innerText="",t.replaceHTML(n)}},checkmo:{render:t=>{const n=document.createElement("div");n.innerText="",t.replaceHTML(n)}}};function ee(t){var w;const{onPlaceOrder:n,handleServerError:d,paymentMethodsSlot:s,isShippingInfoRequired:o}=t,[u,l]=P(),[m,g]=P(),[h,_]=P(T),[C,I]=P(!0),{data:a}=L.value,W=(a==null?void 0:a.id)??"",H=!!a,b=!!((w=a==null?void 0:a.shippingAddresses)!=null&&w[0]),i=a==null?void 0:a.availablePaymentMethods,c=a==null?void 0:a.selectedPaymentMethod,k=x(async r=>{try{if(l(r),!b&&o||r===(c==null?void 0:c.code))return;await O(r)}catch(p){console.error("setting payment method failed:",p)}},[b,o,c]);N(()=>{H&&(c!=null&&c.code?(i==null?void 0:i.some(p=>p.code===c.code))?l(c.code):i!=null&&i.length?k(i[0].code):l(void 0):i[0]&&k(m||i[0].code))},[i,H,c,k,m]);const B=async r=>{await k(r),c!=null&&c.code||g(r)},V=x((r,p)=>{if(!r){console.warn("Payment method handler is ignored because it has no code");return}if(!p){console.warn("Payment method handler is ignored because it is empty");return}_(R=>({...R,[r]:p}))},[]),j=s?e(E,{name:"PaymentMethods",slot:s,context:{addPaymentMethodHandler:V,replaceHTML(r){this.replaceWith(r),I(!1)}}}):null,S=u?h[u]:null,A=S?e(E,{name:"PaymentMethodContent",slot:S.render,context:{cartId:W,onPlaceOrder:n,handleServerError:d,replaceHTML(r){this.replaceWith(r)}}},S):void 0;return N(()=>{!C&&h!=T&&console.warn("Payment method handlers you have added are ignored because the default content has been replaced")},[C,h]),{availablePaymentMethods:i,selectedPaymentMethod:u,onPaymentMethodChange:B,paymentMethodContent:A,mainSlotContent:j,isDefaultContentUsed:C}}const ue=t=>{const{onPlaceOrder:n,handleServerError:d,paymentMethodsSlot:s,isShippingInfoRequired:o=!0}=t,{availablePaymentMethods:u,selectedPaymentMethod:l,onPaymentMethodChange:m,paymentMethodContent:g,mainSlotContent:h,isDefaultContentUsed:_}=ee({onPlaceOrder:n,handleServerError:d,paymentMethodsSlot:s,isShippingInfoRequired:o});return y(z,{children:[h&&e(h.type,{ref:h.ref,...h.props}),_&&e(D,{options:u,selection:l,onChange:m,paymentMethodContent:g,isLoading:L.value.pending})]})},te=({label:t,name:n,value:d,icon:s,selected:o,onChange:u,className:l,children:m,radioButtonProps:g,...h})=>e("div",{className:f(["checkout-toggle-button",l,["checkout-toggle-button__selected",o]]),...h,children:y("label",{className:"checkout-toggle-button__actionButton",children:[e(J,{...g,label:"",name:n,value:d,checked:o,onChange:()=>u(d),"aria-label":t,className:f([l,"checkout-toggle-button__radioButton"])}),y("div",{className:"checkout-toggle-button__content",children:[s&&e(s.type,{...s==null?void 0:s.props,className:"checkout-toggle-button__icon"}),t]})]})});export{ue as P};
@@ -1 +0,0 @@
1
- const s="shipping_address";export{s as S};
@@ -1 +0,0 @@
1
- const s="billing_address";export{s as B};
@@ -1 +0,0 @@
1
- const o="login-form";export{o as L};
@@ -1,15 +0,0 @@
1
- import{events as k}from"@dropins/tools/event-bus.js";import{Component as V,options as O,isValidElement as z}from"@dropins/tools/preact.js";import{useMemo as $}from"@dropins/tools/preact-hooks.js";import{FetchGraphQL as Y}from"@dropins/tools/fetch-graphql.js";class J extends Error{constructor(i){super(i.map(t=>t.message).join(" ")),this.name="FetchError"}}class m extends Error{constructor(i){super(i),this.name="InvalidArgument"}}class Me extends Error{constructor(i){super(i),this.name="UnexpectedError"}}class Ue extends m{constructor(){super("Cart ID is required")}}class we extends m{constructor(){super("Email is required")}}class Ge extends m{constructor(){super("Payment method code is required")}}class Le extends m{constructor(){super("Billing address is required")}}class Ae extends m{constructor(){super("Country Code is required")}}const D=[];function K(e){return new Promise((i,t)=>{D.push(e);const r=()=>{D[0]===e?e().then(i).catch(t).finally(()=>D.shift()):setTimeout(r,100)};r()})}const ee=["sender_email","recipient_email"];function ie(e){return e.filter(i=>!i.path||!ee.some(t=>{var r;return((r=i.path)==null?void 0:r.at(-1))===t}))}const R=e=>{throw e instanceof DOMException&&e.name==="AbortError"||k.emit("error",{source:"checkout",type:"network",error:e}),e};var te=Symbol.for("preact-signals");function w(){if(g>1)g--;else{for(var e,i=!1;E!==void 0;){var t=E;for(E=void 0,U++;t!==void 0;){var r=t.o;if(t.o=void 0,t.f&=-3,!(8&t.f)&&F(t))try{t.c()}catch(o){i||(e=o,i=!0)}t=r}}if(U=0,g--,i)throw e}}var n=void 0,E=void 0,g=0,U=0,I=0;function P(e){if(n!==void 0){var i=e.n;if(i===void 0||i.t!==n)return i={i:0,S:e,p:n.s,n:void 0,t:n,e:void 0,x:void 0,r:i},n.s!==void 0&&(n.s.n=i),n.s=i,e.n=i,32&n.f&&e.S(i),i;if(i.i===-1)return i.i=0,i.n!==void 0&&(i.n.p=i.p,i.p!==void 0&&(i.p.n=i.n),i.p=n.s,i.n=void 0,n.s.n=i,n.s=i),i}}function l(e){this.v=e,this.i=0,this.n=void 0,this.t=void 0}l.prototype.brand=te;l.prototype.h=function(){return!0};l.prototype.S=function(e){this.t!==e&&e.e===void 0&&(e.x=this.t,this.t!==void 0&&(this.t.e=e),this.t=e)};l.prototype.U=function(e){if(this.t!==void 0){var i=e.e,t=e.x;i!==void 0&&(i.x=t,e.e=void 0),t!==void 0&&(t.e=i,e.x=void 0),e===this.t&&(this.t=t)}};l.prototype.subscribe=function(e){var i=this;return x(function(){var t=i.value,r=n;n=void 0;try{e(t)}finally{n=r}})};l.prototype.valueOf=function(){return this.value};l.prototype.toString=function(){return this.value+""};l.prototype.toJSON=function(){return this.value};l.prototype.peek=function(){var e=n;n=void 0;try{return this.value}finally{n=e}};Object.defineProperty(l.prototype,"value",{get:function(){var e=P(this);return e!==void 0&&(e.i=this.i),this.v},set:function(e){if(e!==this.v){if(U>100)throw new Error("Cycle detected");this.v=e,this.i++,I++,g++;try{for(var i=this.t;i!==void 0;i=i.x)i.t.N()}finally{w()}}}});function d(e){return new l(e)}function F(e){for(var i=e.s;i!==void 0;i=i.n)if(i.S.i!==i.i||!i.S.h()||i.S.i!==i.i)return!0;return!1}function H(e){for(var i=e.s;i!==void 0;i=i.n){var t=i.S.n;if(t!==void 0&&(i.r=t),i.S.n=i,i.i=-1,i.n===void 0){e.s=i;break}}}function W(e){for(var i=e.s,t=void 0;i!==void 0;){var r=i.p;i.i===-1?(i.S.U(i),r!==void 0&&(r.n=i.n),i.n!==void 0&&(i.n.p=r)):t=i,i.S.n=i.r,i.r!==void 0&&(i.r=void 0),i=r}e.s=t}function y(e){l.call(this,void 0),this.x=e,this.s=void 0,this.g=I-1,this.f=4}(y.prototype=new l).h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===I))return!0;if(this.g=I,this.f|=1,this.i>0&&!F(this))return this.f&=-2,!0;var e=n;try{H(this),n=this;var i=this.x();(16&this.f||this.v!==i||this.i===0)&&(this.v=i,this.f&=-17,this.i++)}catch(t){this.v=t,this.f|=16,this.i++}return n=e,W(this),this.f&=-2,!0};y.prototype.S=function(e){if(this.t===void 0){this.f|=36;for(var i=this.s;i!==void 0;i=i.n)i.S.S(i)}l.prototype.S.call(this,e)};y.prototype.U=function(e){if(this.t!==void 0&&(l.prototype.U.call(this,e),this.t===void 0)){this.f&=-33;for(var i=this.s;i!==void 0;i=i.n)i.S.U(i)}};y.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var e=this.t;e!==void 0;e=e.x)e.t.N()}};Object.defineProperty(y.prototype,"value",{get:function(){if(1&this.f)throw new Error("Cycle detected");var e=P(this);if(this.h(),e!==void 0&&(e.i=this.i),16&this.f)throw this.v;return this.v}});function re(e){return new y(e)}function B(e){var i=e.u;if(e.u=void 0,typeof i=="function"){g++;var t=n;n=void 0;try{i()}catch(r){throw e.f&=-2,e.f|=8,G(e),r}finally{n=t,w()}}}function G(e){for(var i=e.s;i!==void 0;i=i.n)i.S.U(i);e.x=void 0,e.s=void 0,B(e)}function se(e){if(n!==this)throw new Error("Out-of-order effect");W(this),n=e,this.f&=-2,8&this.f&&G(this),w()}function C(e){this.x=e,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32}C.prototype.c=function(){var e=this.S();try{if(8&this.f||this.x===void 0)return;var i=this.x();typeof i=="function"&&(this.u=i)}finally{e()}};C.prototype.S=function(){if(1&this.f)throw new Error("Cycle detected");this.f|=1,this.f&=-9,B(this),H(this),g++;var e=n;return n=this,se.bind(this,e)};C.prototype.N=function(){2&this.f||(this.f|=2,this.o=E,E=this)};C.prototype.d=function(){this.f|=8,1&this.f||G(this)};function x(e){var i=new C(e);try{i.c()}catch(t){throw i.d(),t}return i.d.bind(i)}var M;function S(e,i){O[e]=i.bind(null,O[e]||function(){})}function N(e){M&&M(),M=e&&e.S()}function Q(e){var i=this,t=e.data,r=ne(t);r.value=t;var o=$(function(){for(var s=i.__v;s=s.__;)if(s.__c){s.__c.__$f|=4;break}return i.__$u.c=function(){var a;!z(o.peek())&&((a=i.base)==null?void 0:a.nodeType)===3?i.base.data=o.peek():(i.__$f|=1,i.setState({}))},re(function(){var a=r.value.value;return a===0?0:a===!0?"":a||""})},[]);return o.value}Q.displayName="_st";Object.defineProperties(l.prototype,{constructor:{configurable:!0,value:void 0},type:{configurable:!0,value:Q},props:{configurable:!0,get:function(){return{data:this}}},__b:{configurable:!0,value:1}});S("__b",function(e,i){if(typeof i.type=="string"){var t,r=i.props;for(var o in r)if(o!=="children"){var s=r[o];s instanceof l&&(t||(i.__np=t={}),t[o]=s,r[o]=s.peek())}}e(i)});S("__r",function(e,i){N();var t,r=i.__c;r&&(r.__$f&=-2,(t=r.__$u)===void 0&&(r.__$u=t=function(o){var s;return x(function(){s=this}),s.c=function(){r.__$f|=1,r.setState({})},s}())),N(t),e(i)});S("__e",function(e,i,t,r){N(),e(i,t,r)});S("diffed",function(e,i){N();var t;if(typeof i.type=="string"&&(t=i.__e)){var r=i.__np,o=i.props;if(r){var s=t.U;if(s)for(var a in s){var u=s[a];u!==void 0&&!(a in r)&&(u.d(),s[a]=void 0)}else t.U=s={};for(var f in r){var p=s[f],v=r[f];p===void 0?(p=oe(t,f,v,o),s[f]=p):p.o(v,o)}}}e(i)});function oe(e,i,t,r){var o=i in e&&e.ownerSVGElement===void 0,s=d(t);return{o:function(a,u){s.value=a,r=u},d:x(function(){var a=s.value.value;r[i]!==a&&(r[i]=a,o?e[i]=a:a?e.setAttribute(i,a):e.removeAttribute(i))})}}S("unmount",function(e,i){if(typeof i.type=="string"){var t=i.__e;if(t){var r=t.U;if(r){t.U=void 0;for(var o in r){var s=r[o];s&&s.d()}}}}else{var a=i.__c;if(a){var u=a.__$u;u&&(a.__$u=void 0,u.d())}}e(i)});S("__h",function(e,i,t,r){(r<3||r===9)&&(i.__$f|=2),e(i,t,r)});V.prototype.shouldComponentUpdate=function(e,i){var t=this.__$u;if(!(t&&t.s!==void 0||4&this.__$f)||3&this.__$f)return!0;for(var r in i)return!0;for(var o in e)if(o!=="__source"&&e[o]!==this.props[o])return!0;for(var s in this.props)if(!(s in e))return!0;return!1};function ne(e){return $(function(){return d(e)},[])}const ae=d({data:void 0,pending:!1}),le=d({checked:!0,setByUser:!1}),b=d({pending:!1,data:void 0});x(()=>{var e;(e=b.value.data)!=null&&e.isVirtual&&(le.value={checked:!1,setByUser:!1})});x(()=>{b.value.pending||k.emit("checkout/data",b.value.data||null)});const fe=d({data:void 0,pending:!1}),ue=d({pending:!1,data:void 0}),ce=d({pending:!1,data:void 0}),de=d({pending:!1,data:void 0}),he=d({data:void 0,pending:!1}),pe={cart:b,customer:ue,estimateShippingMethods:ce,regions:de,storeConfig:he,countryList:fe,addressFormFields:ae};function ve(e,i){return i.split(".").reduce((t,r)=>t&&t[r]!==void 0?t[r]:void 0,e)}const X={cart:null,customer:null,estimateShippingMethods:null,regions:null,storeConfig:null,countryList:null,addressFormFields:null};async function _e(e){const{defaultValueOnFail:i,query:t,options:r,path:o,signalType:s,type:a,transformer:u}=e,f=pe[s],p=Symbol();X[s]=p,f.value={...f.value,pending:!0};try{const{data:v,errors:L}=await(a==="mutation"?K(()=>q(t,r).catch(R)):q(t,{method:"GET",cache:"no-cache",...r}).catch(R));if(L){const A=ie(L);if(A.length>0)throw new J(A)}let T=ve(v,o);if(T===void 0)throw new Error(`No data found at path: ${o}`);return u&&(T=u(T)),f.value={...f.value,data:T},setTimeout(()=>{f.value={...f.value,pending:X[s]===p?!1:f.value.pending}},0),T}catch(v){if(i)return f.value={pending:!1,data:i},i;if(v.name==="AbortError")return;throw f.value={...f.value,pending:!1},v}}const ge={cartId:null,authenticated:!1},Oe=new Proxy(ge,{set(e,i,t){return e[i]=t,!0},get(e,i){return e[i]}}),ye=e=>e==null,Se=(e,i)=>e.amount.value-i.amount.value,j=e=>!(!e||!e.method_code||!e.method_title||ye(e.amount.value)||!e.amount.currency),Z=e=>({amount:{value:e.amount.value,currency:e.amount.currency},title:e.method_title,code:e.method_code,carrier:{code:e.carrier_code,title:e.carrier_title},value:`${e.carrier_code} - ${e.method_code}`,...e.price_excl_tax&&{amountExclTax:{value:e.price_excl_tax.value,currency:e.price_excl_tax.currency}},...e.price_incl_tax&&{amountInclTax:{value:e.price_incl_tax.value,currency:e.price_incl_tax.currency}}}),Re=e=>{if(j(e))return Z(e)},Xe=e=>{if(e)return e.filter(j).map(i=>Z(i)).sort(Se)},Te=`
2
- query getStoreConfig {
3
- storeConfig {
4
- countries_with_required_region
5
- default_country
6
- display_state_if_optional
7
- is_guest_checkout_enabled
8
- is_one_page_checkout_enabled
9
- locale
10
- optional_zip_countries
11
- shopping_cart_display_shipping
12
- store_code
13
- }
14
- }
15
- `;var _=(e=>(e.EXCLUDING_TAX="EXCLUDING_TAX",e.INCLUDING_EXCLUDING_TAX="INCLUDING_AND_EXCLUDING_TAX",e.INCLUDING_TAX="INCLUDING_TAX",e))(_||{});const Ee="US",h={defaultCountry:Ee,countriesWithRequiredRegion:[],displayStateIfOptional:!1,countriesWithOptionalZipCode:[],isGuestCheckoutEnabled:!1,isOnePageCheckoutEnabled:!1,shoppingCartDisplaySetting:{shipping:_.EXCLUDING_TAX}},qe=async()=>await _e({type:"query",query:Te,options:{method:"GET",cache:"no-cache"},path:"storeConfig",signalType:"storeConfig",transformer:Ce,defaultValueOnFail:h});function me(e){switch(e){case 1:return _.EXCLUDING_TAX;case 2:return _.INCLUDING_TAX;case 3:return _.INCLUDING_EXCLUDING_TAX;default:return _.EXCLUDING_TAX}}function Ce(e){if(!e)return h;const{default_country:i,countries_with_required_region:t,display_state_if_optional:r,optional_zip_countries:o,is_guest_checkout_enabled:s,is_one_page_checkout_enabled:a,shopping_cart_display_shipping:u}=e;return{defaultCountry:i||h.defaultCountry,countriesWithRequiredRegion:(t==null?void 0:t.split(","))||h.countriesWithRequiredRegion,displayStateIfOptional:r||h.displayStateIfOptional,countriesWithOptionalZipCode:(o==null?void 0:o.split(","))||h.countriesWithOptionalZipCode,isGuestCheckoutEnabled:s||h.isGuestCheckoutEnabled,isOnePageCheckoutEnabled:a||h.isOnePageCheckoutEnabled,shoppingCartDisplaySetting:{shipping:me(u)}}}const{setEndpoint:ke,setFetchGraphQlHeader:$e,removeFetchGraphQlHeader:Pe,setFetchGraphQlHeaders:Fe,fetchGraphQl:q,getConfig:He}=new Y().getMethods();var c=(e=>(e.Boolean="BOOLEAN",e.Date="DATE",e.Datetime="DATETIME",e.File="FILE",e.Gallery="GALLERY",e.Hidden="HIDDEN",e.Image="IMAGE",e.MediaImage="MEDIA_IMAGE",e.Multiline="MULTILINE",e.Multiselect="MULTISELECT",e.Price="PRICE",e.Select="SELECT",e.Text="TEXT",e.Textarea="TEXTAREA",e.Undefined="UNDEFINED",e.Weight="WEIGHT",e))(c||{}),xe=(e=>(e.DateRangeMax="DATE_RANGE_MAX",e.DateRangeMin="DATE_RANGE_MIN",e.FileExtensions="FILE_EXTENSIONS",e.InputValidation="INPUT_VALIDATION",e.MaxFileSize="MAX_FILE_SIZE",e.MaxImageHeight="MAX_IMAGE_HEIGHT",e.MaxImageWidth="MAX_IMAGE_WIDTH",e.MaxTextLength="MAX_TEXT_LENGTH",e.MinTextLength="MIN_TEXT_LENGTH",e))(xe||{});const We=[{frontendInput:c.Text,code:"firstname",label:"First Name",isRequired:!0,isDisabled:!1,options:[],validateRules:[],sortOrder:10},{frontendInput:c.Text,code:"lastname",label:"Last Name",isRequired:!0,isDisabled:!1,options:[],validateRules:[],sortOrder:20},{frontendInput:c.Text,code:"company",label:"Company",isRequired:!1,isDisabled:!1,options:[],validateRules:[],sortOrder:30},{frontendInput:c.Multiline,code:"street",label:"Street Address",isRequired:!0,isDisabled:!1,options:[],validateRules:[],sortOrder:40},{frontendInput:c.Text,code:"city",label:"City",isRequired:!0,isDisabled:!1,options:[],validateRules:[],sortOrder:50},{frontendInput:c.Select,code:"country_id",label:"Country",isRequired:!0,isDisabled:!1,options:[{text:"United States",value:"US"},{text:"Spain",value:"ES"},{text:"France",value:"FR"}],validateRules:[],sortOrder:60},{frontendInput:c.Text,code:"region",label:"State/Province",isRequired:!1,isDisabled:!1,options:[],validateRules:[],sortOrder:70},{frontendInput:c.Hidden,code:"region_id",label:"State/Province",isRequired:!1,isDisabled:!1,options:[],validateRules:[],sortOrder:80},{frontendInput:c.Text,code:"postcode",label:"Zip/Postal Code",isRequired:!1,isDisabled:!1,options:[],validateRules:[],sortOrder:90},{frontendInput:c.Text,code:"telephone",label:"Phone Number",isRequired:!0,isDisabled:!1,options:[],validateRules:[],sortOrder:100},{frontendInput:c.Text,code:"vat_id",label:"VAT Number",isRequired:!1,isDisabled:!1,options:[],validateRules:[],sortOrder:110}];export{c as A,Ee as D,J as F,m as I,Ue as M,h as S,_ as T,Me as U,xe as V,we as a,Ge as b,Le as c,Ae as d,$e as e,Fe as f,q as g,He as h,We as i,qe as j,le as k,ae as l,ue as m,b as n,Oe as o,_e as p,he as q,Pe as r,ke as s,Xe as t,Re as u,R as v,d as w,ce as x,de as y,fe as z};