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

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 (66) hide show
  1. package/api/errors/errors.d.ts +1 -1
  2. package/api/fetch-graphql/fetch-graphql.d.ts +1 -0
  3. package/api/fetchAddressFormFields/fetchAddressFormFields.d.ts +1 -3
  4. package/api/initializeCheckout/initializeCheckout.d.ts +1 -1
  5. package/api/placeOrder/graphql/placeOrder.graphql.d.ts +1 -1
  6. package/api/utils/dispatchApiCall.d.ts +5 -1
  7. package/api/utils/filterControlledErrors.d.ts +1 -1
  8. package/api.js +1 -1
  9. package/chunks/BillToShippingAddress2.js +1 -1
  10. package/chunks/BillingForm.js +1 -1
  11. package/chunks/ErrorBanner.js +1 -1
  12. package/chunks/LoginForm.js +1 -1
  13. package/chunks/MergedCartBanner.js +1 -1
  14. package/chunks/OutOfStock.js +1 -0
  15. package/chunks/PlaceOrder.js +1 -1
  16. package/chunks/ShippingForm.js +1 -1
  17. package/chunks/ShippingMethods.js +1 -1
  18. package/chunks/ToggleButton.js +1 -1
  19. package/chunks/ToggleButton2.js +1 -1
  20. package/chunks/fixtures.js +2 -31
  21. package/chunks/getMultilineValues.js +1 -1
  22. package/chunks/placeOrder2.js +2 -7
  23. package/chunks/resetCustomer.js +31 -2
  24. package/chunks/setGuestEmailOnCart.js +4 -4
  25. package/chunks/setShippingMethods.js +2 -2
  26. package/components/AddressForm/AddressForm.d.ts +1 -0
  27. package/components/AddressForm/useAddressForm.d.ts +4 -3
  28. package/components/Checkout/Checkout.d.ts +8 -1
  29. package/components/OutOfStock/OutOfStock.d.ts +6 -4
  30. package/components/PlaceOrder/PlaceOrder.d.ts +1 -1
  31. package/containers/BillToShippingAddress/BillToShippingAddress.d.ts +3 -3
  32. package/containers/BillToShippingAddress.js +1 -1
  33. package/containers/BillingForm.js +1 -1
  34. package/containers/Checkout/Checkout.d.ts +6 -2
  35. package/containers/Checkout.js +1 -1
  36. package/containers/ErrorBanner.js +1 -1
  37. package/containers/EstimateShipping.js +1 -1
  38. package/containers/LoginForm.js +1 -1
  39. package/containers/MergedCartBanner.js +1 -1
  40. package/containers/OutOfStock/OutOfStock.d.ts +13 -0
  41. package/containers/OutOfStock/index.d.ts +3 -0
  42. package/containers/OutOfStock.d.ts +3 -0
  43. package/containers/OutOfStock.js +1 -0
  44. package/containers/PaymentMethods.js +1 -1
  45. package/containers/PlaceOrder/PlaceOrder.d.ts +1 -1
  46. package/containers/PlaceOrder.js +1 -1
  47. package/containers/ShippingForm/ShippingForm.d.ts +1 -0
  48. package/containers/ShippingForm.js +1 -1
  49. package/containers/ShippingMethods/ShippingMethods.d.ts +1 -0
  50. package/containers/ShippingMethods.js +1 -1
  51. package/containers/index.d.ts +2 -1
  52. package/hooks/index.d.ts +4 -0
  53. package/hooks/useBreakpoint/index.d.ts +2 -0
  54. package/hooks/useBreakpoint/useBreakpoint.d.ts +2 -0
  55. package/i18n/en_US.json.d.ts +7 -4
  56. package/package.json +1 -1
  57. package/render/Provider.d.ts +0 -2
  58. package/render.js +3 -3
  59. package/signals/AddressFormFieldsSignal.d.ts +7 -0
  60. package/signals/index.d.ts +1 -0
  61. package/tests/integration/utils/setup.d.ts +2 -1
  62. package/chunks/address-form-fields.js +0 -1
  63. package/context/address-form-fields.d.ts +0 -13
  64. package/context/index.d.ts +0 -2
  65. package/tests/index.d.ts +0 -2
  66. package/tests/render.d.ts +0 -4
@@ -1,7 +1,36 @@
1
- import{events as i}from"@dropins/tools/event-bus.js";import{p as s,o as a,k as l,n as c,m as u}from"./fixtures.js";import{Initializer as f}from"@dropins/tools/lib.js";import{a as g}from"./getCustomer.js";const m=e=>{if(e)return e.filter(t=>!!t).filter(t=>{const{two_letter_abbreviation:n,full_name_locale:o}=t;return!!n&&!!o}).map(t=>{const{two_letter_abbreviation:n,full_name_locale:o}=t;return{value:n,label:o}})},p=`
1
+ import{events as n}from"@dropins/tools/event-bus.js";import{p as l,o as a,j as d,n as c,m as f}from"./fixtures.js";import{Initializer as m}from"@dropins/tools/lib.js";import{a as i}from"./getCustomer.js";const _=e=>e?e.filter(Boolean).filter(r=>(r==null?void 0:r.label)&&(r==null?void 0:r.value)).map(r=>({text:r.label,value:r.value})):[],g=e=>e?e.filter(Boolean).filter(t=>(t==null?void 0:t.name)&&(t==null?void 0:t.value)):[],v=e=>e?e.filter(Boolean).map(r=>({code:r.code,defaultValue:r.default_value||void 0,frontendInput:r.frontend_input||void 0,isDisabled:!1,isRequired:r.is_required,label:r.label||void 0,multilineCount:r.multiline_count||void 0,options:_(r.options),sortOrder:r.sort_order||void 0,validateRules:g(r.validate_rules)})):[],p=e=>{if(e)return e.filter(t=>!!t).filter(t=>{const{two_letter_abbreviation:r,full_name_locale:s}=t;return!!r&&!!s}).map(t=>{const{two_letter_abbreviation:r,full_name_locale:s}=t;return{value:r,label:s}})},y=`
2
+ query fetchAddressFormFields {
3
+ attributesForm(formCode: "customer_register_address") {
4
+ items {
5
+ frontend_input
6
+ code
7
+ label
8
+ default_value
9
+ is_required
10
+ options {
11
+ label
12
+ value
13
+ is_default
14
+ }
15
+ ... on CustomerAttributeMetadata {
16
+ multiline_count
17
+ sort_order
18
+ validate_rules {
19
+ name
20
+ value
21
+ }
22
+ }
23
+ }
24
+ errors {
25
+ message
26
+ type
27
+ }
28
+ }
29
+ }
30
+ `,b=async()=>await l({type:"query",query:y,options:{method:"GET",cache:"no-cache"},path:"attributesForm.items",signalType:"addressFormFields",transformer:v,defaultValueOnFail:[]}),h=`
2
31
  query getCountries {
3
32
  countries {
4
33
  two_letter_abbreviation
5
34
  full_name_locale
6
35
  }
7
- }`,d=async()=>await s({type:"query",query:p,options:{method:"GET",cache:"no-cache"},path:"countries",signalType:"countryList",transformer:m,defaultValueOnFail:[]}),C=()=>[i.on("cart/data",e=>{const t=(e==null?void 0:e.id)||null;a.cartId=t,t?g():h()},{eager:!0}),i.on("authenticated",e=>{a.authenticated=e,e||y()},{eager:!0})],r=new f({init:async e=>{const t={guestViewCookieExpirationDays:30,...e};r.config.setConfig(t),_()},listeners:C}),I=r.config,_=async()=>Promise.all([l(),d()]),h=()=>{a.cartId=null,c.value={pending:!1,data:null}},y=()=>{a.authenticated=!1,u.value={pending:!1,data:null}};export{_ as a,y as b,I as c,d as g,r as i,h as r};
36
+ }`,C=async()=>await l({type:"query",query:h,options:{method:"GET",cache:"no-cache"},path:"countries",signalType:"countryList",transformer:p,defaultValueOnFail:[]}),F=()=>[n.on("cart/initialized",e=>{const t=(e==null?void 0:e.id)||null;a.cartId=t,t?i():o()},{eager:!0}),n.on("cart/data",e=>{const t=(e==null?void 0:e.id)||null;t!==a.cartId&&(a.cartId=t,t?i():o())},{eager:!0}),n.on("authenticated",e=>{a.authenticated=e,e||I()},{eager:!0})],u=new m({init:async e=>{const t={guestViewCookieExpirationDays:30,...e};u.config.setConfig(t),q()},listeners:F}),V=u.config,q=async()=>Promise.all([d(),C(),b()]),o=()=>{a.cartId=null,c.value={pending:!1,data:null}},I=()=>{a.authenticated=!1,f.value={pending:!1,data:null}};export{q as a,I as b,V as c,b as f,C as g,u as i,o as r};
@@ -1,10 +1,10 @@
1
- import{a as r,g as s,v as e,w as l,o as n,M as o,p as m}from"./fixtures.js";import"@dropins/tools/event-bus.js";import{C as c,t as E}from"./getCart.graphql.js";const u=a=>!!(a!=null&&a.is_email_available),h=`
1
+ import{a as r,g as s,v as e,o as l,M as n,p as o}from"./fixtures.js";import"@dropins/tools/event-bus.js";import{C as m,t as c}from"./getCart.graphql.js";const E=a=>!!(a!=null&&a.is_email_available),u=`
2
2
  query isEmailAvailable($email: String!) {
3
3
  isEmailAvailable(email: $email) {
4
4
  is_email_available
5
5
  }
6
6
  }
7
- `,C=async a=>{if(!a)throw new r;const{data:t,errors:i}=await s(h,{method:"GET",cache:"no-cache",variables:{email:a}}).catch(e);return i&&l(i),u(t.isEmailAvailable)},p=`
7
+ `,h=a=>{if(!(!a||a.length===0))throw Error(a.map(t=>t.message).join(" "))},A=async a=>{if(!a)throw new r;const{data:t,errors:i}=await s(u,{method:"GET",cache:"no-cache",variables:{email:a}}).catch(e);return i&&h(i),E(t.isEmailAvailable)},p=`
8
8
  mutation setGuestEmail($cartId: String!, $email: String!) {
9
9
  setGuestEmailOnCart(input: { cart_id: $cartId, email: $email }) {
10
10
  cart {
@@ -13,5 +13,5 @@ import{a as r,g as s,v as e,w as l,o as n,M as o,p as m}from"./fixtures.js";impo
13
13
  }
14
14
  }
15
15
  }
16
- ${c}
17
- `,f=async a=>{const t=n.cartId;if(!t)throw new o;return await m({type:"mutation",query:p,options:{variables:{cartId:t,email:a}},path:"setGuestEmailOnCart.cart",signalType:"cart",transformer:E})};export{C as i,f as s};
16
+ ${m}
17
+ `,C=async a=>{const t=l.cartId;if(!t)throw new n;return await o({type:"mutation",query:p,options:{variables:{cartId:t,email:a}},path:"setGuestEmailOnCart.cart",signalType:"cart",transformer:c})};export{A as i,C as s};
@@ -1,4 +1,4 @@
1
- import{o as s,M as a,p}from"./fixtures.js";import{C as r,t as n}from"./getCart.graphql.js";import"@dropins/tools/event-bus.js";const o=`
1
+ import{o as a,M as s,p}from"./fixtures.js";import{C as r,t as n}from"./getCart.graphql.js";import"@dropins/tools/event-bus.js";const o=`
2
2
  mutation setShippingMethods(
3
3
  $cartId: String!
4
4
  $shippingMethods: [ShippingMethodInput]!
@@ -13,4 +13,4 @@ import{o as s,M as a,p}from"./fixtures.js";import{C as r,t as n}from"./getCart.g
13
13
  }
14
14
  }
15
15
  ${r}
16
- `,c=async i=>{const t=s.cartId;if(!t)throw new a;return p({type:"mutation",query:o,options:{variables:{cartId:t,shippingMethods:i}},path:"setShippingMethodsOnCart.cart",signalType:"cart",transformer:n})};export{c as s};
16
+ `,c=async i=>{const t=a.cartId;if(!t)throw new s;return await p({type:"mutation",query:o,options:{variables:{cartId:t,shippingMethods:i}},path:"setShippingMethodsOnCart.cart",signalType:"cart",transformer:n})};export{c as s};
@@ -9,6 +9,7 @@ export interface AddressFormProps extends HTMLAttributes<HTMLDivElement> {
9
9
  autoFill?: boolean;
10
10
  headingId: string;
11
11
  name: string;
12
+ onCheckoutDataUpdate?: () => Promise<void>;
12
13
  preselectedFields?: PreselectedAddressFields;
13
14
  saveAddressHandler: (command: SaveAddressCommand) => Promise<typeof cartSignal.value.data>;
14
15
  }
@@ -18,13 +18,14 @@ export type LoadAutoFillProps = {
18
18
  triggerAutoSave: boolean;
19
19
  };
20
20
  export type UseAddressFormProps = {
21
- formRef: RefObject<HTMLFormElement>;
22
- type: AddressFormType;
23
21
  defaultValues?: DefaultValues;
22
+ formRef: RefObject<HTMLFormElement>;
23
+ onCheckoutDataUpdate?: () => Promise<void>;
24
24
  preselection?: AddressFormValues;
25
25
  saveAddressHandler: (command: SaveAddressCommand) => Promise<typeof cartSignal.value.data>;
26
+ type: AddressFormType;
26
27
  };
27
- export declare const useAddressForm: ({ formRef, type, defaultValues, preselection, saveAddressHandler, }: UseAddressFormProps) => {
28
+ export declare const useAddressForm: ({ defaultValues, formRef, onCheckoutDataUpdate, preselection, saveAddressHandler, type, }: UseAddressFormProps) => {
28
29
  address: AddressFormValues;
29
30
  errors: Record<string, string>;
30
31
  loadAutoFill: ({ values, triggerAutoSave, }: LoadAutoFillProps) => void;
@@ -1,11 +1,17 @@
1
1
  import { FunctionComponent, VNode } from 'preact';
2
2
  import { HTMLAttributes } from 'preact/compat';
3
3
 
4
+ export type AsideSections = {
5
+ orderSummary?: VNode;
6
+ };
7
+ declare const Aside: FunctionComponent<{
8
+ sections: AsideSections;
9
+ }>;
4
10
  export type MainSections = {
5
- outOfStock?: VNode;
6
11
  billingAddress: VNode;
7
12
  billToShippingAddress?: VNode;
8
13
  login: VNode;
14
+ outOfStock: VNode;
9
15
  paymentMethods: VNode;
10
16
  placeOrder: VNode;
11
17
  shippingAddress?: VNode;
@@ -19,6 +25,7 @@ export interface CheckoutProps extends HTMLAttributes<HTMLDivElement> {
19
25
  }
20
26
  interface CheckoutComponent extends FunctionComponent<CheckoutProps> {
21
27
  Main: typeof Main;
28
+ Aside: typeof Aside;
22
29
  }
23
30
  export declare const Checkout: CheckoutComponent;
24
31
  export {};
@@ -1,9 +1,11 @@
1
- import { FunctionComponent, JSX } from 'preact';
1
+ import { Item as CartItem } from '../../types/cart';
2
+ import { FunctionComponent } from 'preact';
2
3
  import { HTMLAttributes } from 'preact/compat';
3
4
 
4
- export interface OutOfStockProps extends Omit<HTMLAttributes<HTMLDivElement>, 'icon'> {
5
- icon?: FunctionComponent<JSX.SVGAttributes<SVGElement>>;
6
- routeCart?: () => string;
5
+ export interface OutOfStockProps extends HTMLAttributes<HTMLDivElement> {
6
+ items: CartItem[];
7
+ onRemoveOutOfStock?: (event: Event) => void;
8
+ routeCart?: string;
7
9
  }
8
10
  export declare const OutOfStock: FunctionComponent<OutOfStockProps>;
9
11
  //# sourceMappingURL=OutOfStock.d.ts.map
@@ -2,8 +2,8 @@ import { FunctionComponent } from 'preact';
2
2
  import { HTMLAttributes } from 'preact/compat';
3
3
 
4
4
  export interface PlaceOrderProps extends HTMLAttributes<HTMLButtonElement> {
5
+ disabled?: boolean;
5
6
  onClick?: (e: any) => void;
6
- isLoading?: boolean;
7
7
  }
8
8
  export declare const PlaceOrder: FunctionComponent<PlaceOrderProps>;
9
9
  //# sourceMappingURL=PlaceOrder.d.ts.map
@@ -1,7 +1,7 @@
1
- import { Container } from '@dropins/tools/types/elsie/src/lib';
2
- import { CheckboxProps } from '@dropins/tools/types/elsie/src/components';
3
- import { ShippingAddress, BillingAddress } from '../../data/models/address';
1
+ import { BillingAddress, ShippingAddress } from '../../data/models/address';
4
2
  import { AddressFormField } from '../../data/models/address-form-fields';
3
+ import { CheckboxProps } from '@dropins/tools/types/elsie/src/components';
4
+ import { Container } from '@dropins/tools/types/elsie/src/lib';
5
5
 
6
6
  export declare function compareAddresses(addressFormFields: AddressFormField[], first: BillingAddress | undefined, second: ShippingAddress | undefined): boolean;
7
7
  export interface BillToShippingAddressProps extends Omit<CheckboxProps, 'name' | 'label'> {
@@ -1 +1 @@
1
- import{a as A,B as L,c as P,B as S}from"../chunks/BillToShippingAddress2.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/setBillingAddress.js";import"../chunks/getCart.graphql.js";import"@dropins/tools/lib.js";import"@dropins/tools/components.js";/* empty css */import"@dropins/tools/preact-jsx-runtime.js";import"@dropins/tools/i18n.js";import"@dropins/tools/preact-compat.js";import"../chunks/address-form-fields.js";export{A as BILL_TO_SHIPPING_KEY,L as BillToShippingAddress,P as compareAddresses,S as default};
1
+ import{a as f,B as A,c as L,B as P}from"../chunks/BillToShippingAddress2.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/setBillingAddress.js";import"../chunks/getCart.graphql.js";import"@dropins/tools/lib.js";import"@dropins/tools/components.js";/* empty css */import"@dropins/tools/i18n.js";import"@dropins/tools/preact-compat.js";export{f as BILL_TO_SHIPPING_KEY,A as BillToShippingAddress,L as compareAddresses,P as default};
@@ -1 +1 @@
1
- import{B as u,B as A}from"../chunks/BillingForm.js";import{B as G}from"../chunks/constants2.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-jsx-runtime.js";import"@dropins/tools/preact-compat.js";import"../chunks/address-form-fields.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";import"../chunks/BillToShippingAddress2.js";export{G as BILLING_FORM_NAME,u as BillingForm,A as default};
1
+ import{B as n,B as u}from"../chunks/BillingForm.js";import{B as E}from"../chunks/constants2.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";import"../chunks/BillToShippingAddress2.js";export{E as BILLING_FORM_NAME,n as BillingForm,u as default};
@@ -1,5 +1,6 @@
1
+ import { UpdateProductsFromCart } from '../OutOfStock';
1
2
  import { PaymentMethodSlotContext } from '../PaymentMethods';
2
- import { SlotProps } from '@dropins/tools/types/elsie/src/lib';
3
+ import { Container, SlotProps } from '@dropins/tools/types/elsie/src/lib';
3
4
  import { HTMLAttributes } from 'preact/compat';
4
5
 
5
6
  export type PreselectedAddressFields = {
@@ -18,6 +19,8 @@ export type PreselectedCartData = {
18
19
  export interface CheckoutProps extends HTMLAttributes<HTMLDivElement> {
19
20
  routeHome?: () => string;
20
21
  routeCart?: () => string;
22
+ onCheckoutDataUpdate?: () => Promise<void>;
23
+ onCartProductsUpdate?: (items: UpdateProductsFromCart) => void;
21
24
  slots?: {
22
25
  BillingForm?: SlotProps;
23
26
  BillToShipping?: SlotProps;
@@ -26,10 +29,11 @@ export interface CheckoutProps extends HTMLAttributes<HTMLDivElement> {
26
29
  PlaceOrder?: SlotProps;
27
30
  ShippingForm?: SlotProps;
28
31
  ShippingMethods?: SlotProps;
32
+ OrderSummary?: SlotProps;
29
33
  };
30
34
  preselectedCartData?: PreselectedCartData;
31
35
  onSignInClick?: () => void;
32
36
  onSignOutClick?: () => void;
33
37
  }
34
- export declare const Checkout: (props: CheckoutProps) => import("preact/compat").JSX.Element | null;
38
+ export declare const Checkout: Container<CheckoutProps>;
35
39
  //# sourceMappingURL=Checkout.d.ts.map
@@ -1 +1 @@
1
- import{o as $,n as K,m as C,l as R,U as q}from"../chunks/fixtures.js";import"@dropins/tools/event-bus.js";import{a as z}from"../chunks/getCustomer.js";import{p as G}from"../chunks/placeOrder2.js";import{C as L}from"../chunks/ToggleButton.js";import"@dropins/tools/preact-hooks.js";import{Slot as d,classes as c}from"@dropins/tools/lib.js";import{Divider as J,IllustratedMessage as S,Icon as M,Button as _}from"@dropins/tools/components.js";/* empty css */import{jsx as r,jsxs as y,Fragment as Q}from"@dropins/tools/preact-jsx-runtime.js";import{useText as g,MarkupText as W}from"@dropins/tools/i18n.js";import{B as X}from"../chunks/BillToShippingAddress2.js";import{B as Y}from"../chunks/BillingForm.js";import*as t from"@dropins/tools/preact-compat.js";import{useState as u,useCallback as D}from"@dropins/tools/preact-compat.js";import{L as ee}from"../chunks/LoginForm.js";import{P as re}from"../chunks/ToggleButton2.js";import{P as te}from"../chunks/PlaceOrder.js";import{S as oe}from"../chunks/ShippingForm.js";import{S as ne}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/address-form-fields.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 ie=i=>t.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...i},t.createElement("g",{clipPath:"url(#clip0_102_196)"},t.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"}),t.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M5.25 6.37L20.89 8.06L20.14 14.8H6.19",stroke:"currentColor",strokeLinejoin:"round"})),t.createElement("defs",null,t.createElement("clipPath",{id:"clip0_102_196"},t.createElement("rect",{vectorEffect:"non-scaling-stroke",width:19.29,height:19.5,fill:"white",transform:"translate(2.3501 2.25)"})))),se=i=>t.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...i},t.createElement("g",{clipPath:"url(#clip0_4797_15331)"},t.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M10.25 20.91L1.5 17.55V6.51996L10.25 9.92996V20.91Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),t.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M6.24023 4.64001L14.9902 8.06001V11.42",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),t.createElement("path",{className:"error-icon",vectorEffect:"non-scaling-stroke",d:"M19 13.31L15.5 19.37H22.5L19 13.31Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),t.createElement("path",{className:"error-icon",vectorEffect:"non-scaling-stroke",d:"M19.0202 17.11H18.9802L18.9502 15.56H19.0502L19.0202 17.11ZM18.9602 18.29V18.06H19.0502V18.29H18.9602Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),t.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M19 12.16V6.51996L10.25 9.92996V20.91L14.27 19.37L14.4 19.32",stroke:"currentColor",strokeLinejoin:"round"}),t.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M1.5 6.51999L10.25 3.04999L19 6.51999L10.25 9.92999L1.5 6.51999Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"})),t.createElement("defs",null,t.createElement("clipPath",{id:"clip0_4797_15331"},t.createElement("rect",{width:22,height:18.86,fill:"white",transform:"translate(1 2.54999)"})))),Re="OUT_OF_STOCK",qe=i=>{const{className:l,slots:e,routeHome:m,preselectedCartData:o,onSignInClick:a,onSignOutClick:h,...b}=i,w=$.authenticated,[P,B]=u(!1),[k,f]=u(""),T=k!=="",[O,x]=u(),{data:n,pending:F}=K.value,p=!!(n!=null&&n.isVirtual),N=n===null||(n==null?void 0:n.isEmpty),{data:E,pending:j}=C.value,V=F&&w&&!E,Z=g({CheckoutUnexpectedError:"Checkout.ServerError.unexpected"}),A=D(async()=>{n&&(await G(),B(!0))},[n]),U=s=>{x(()=>s)},I=async()=>{f(""),n&&z()},v=s=>{const H=s instanceof TypeError||s instanceof q?Z.CheckoutUnexpectedError:s.message;f(H)};return P?null:N?r(ce,{routeHome:m}):T?r(ae,{errorMessage:k,onClick:I}):r(L,{className:l,isLoading:V||j,...b,children:(()=>{const s=R.value.checked?"checkout-billing-form__hidden":"checkout-billing-form__visible";return r(L.Main,{sections:{billingAddress:y(Q,{children:[r(d,{name:"BillingForm",className:s,slot:e==null?void 0:e.BillingForm,children:r(Y,{})}),r(J,{className:c([`${s}`,"checkout-billing-form__divider"]),variant:"primary"})]}),billToShippingAddress:p?void 0:r(X,{},`bill-to-shipping-address${E?"-customer":""}`),login:r(d,{name:"Login",slot:e==null?void 0:e.Login,children:r(ee,{onSignInClick:a,onSignOutClick:()=>{h==null||h(),C.value.pending=!0}})}),paymentMethods:r(re,{isShippingInfoRequired:!p,onPlaceOrder:U,handleServerError:v,paymentMethodsSlot:e==null?void 0:e.PaymentMethods}),placeOrder:r(te,{onClick:O??A,handleServerError:v}),shippingAddress:p?void 0:r(d,{name:"ShippingForm",slot:e==null?void 0:e.ShippingForm,children:r(oe,{preselectedFields:o==null?void 0:o.address})}),shippingMethods:p?void 0:r(d,{name:"ShippingMethods",slot:e==null?void 0:e.ShippingMethods,children:r(ne,{preSelectedMethod:o==null?void 0:o.shippingMethod})})}})})()})},ce=({className:i,title:l,routeHome:e,...m})=>{const o=g({Title:"Checkout.EmptyCart.title",Button:"Checkout.EmptyCart.button"});return r(S,{...m,"data-testid":"checkout-empty-cart",className:c(["checkout-empty-cart",i]),heading:l??o.Title,icon:r(M,{className:c(["checkout-empty-cart__icon"]),source:ie}),action:e!=null&&e()?r(_,{className:"checkout-empty-cart__button",size:"medium",variant:"primary",type:"submit",href:e==null?void 0:e(),children:o.Button},"routeHome"):void 0})},ae=({className:i,errorMessage:l,contactSupport:e,...m})=>{const{onClick:o}=m,a=g({Title:"Checkout.ServerError.title",Message:"Checkout.ServerError.message",ContactSupport:"Checkout.ServerError.contactSupport",Button:"Checkout.ServerError.button"});return r(S,{"aria-invalid":"true","aria-describedby":"checkout-server-error__message","aria-live":"polite",className:c(["checkout-server-error",i]),"data-testid":"checkout-server-error",heading:l??a.Title,message:y("p",{id:c(["checkout-server-error__message"]),children:[a.Message,r("br",{}),r(W,{id:"",children:e??a.ContactSupport})]}),icon:r(M,{className:c(["checkout-server-error__icon"]),source:se}),action:r(_,{className:c(["checkout-server-error__button"]),onClick:o,children:a.Button})})};export{qe as Checkout,Re as OUT_OF_STOCK,qe as default};
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 +1 @@
1
- import{E as e,E}from"../chunks/ErrorBanner.js";import"@dropins/tools/preact-compat.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/components.js";import"@dropins/tools/preact-jsx-runtime.js";import"@dropins/tools/i18n.js";export{e as ErrorBanner,E as default};
1
+ import{E as e,E}from"../chunks/ErrorBanner.js";import"@dropins/tools/preact-jsx-runtime.js";import"@dropins/tools/preact-compat.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/components.js";import"@dropins/tools/i18n.js";export{e as ErrorBanner,E as default};
@@ -1 +1 @@
1
- import"../chunks/ToggleButton.js";import{events as S}from"@dropins/tools/event-bus.js";import{useState as L,useEffect as E}from"@dropins/tools/preact-hooks.js";import{q as M,T as k}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{jsx as t,jsxs as I}from"@dropins/tools/preact-jsx-runtime.js";import{useText as G,Text as o}from"@dropins/tools/i18n.js";import"../chunks/getMultilineValues.js";import"@dropins/tools/preact-compat.js";import"../chunks/address-form-fields.js";import"@dropins/tools/preact.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";import"@dropins/tools/fetch-graphql.js";const P=()=>t(A,{"data-testid":"estimate-shipping-skeleton",children:t(B,{size:"small"})}),Z=()=>{const[e,s]=L(),c=e!==void 0,r=(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===k.INCLUDING_EXCLUDING_TAX,g=l===k.INCLUDING_TAX,x=G({freeShipping:"Checkout.EstimateShipping.freeShipping",taxToBeDetermined:"Checkout.EstimateShipping.taxToBeDetermined"});if(E(()=>{const i=S.on("shipping/estimate",a=>{const p=a.shippingMethod,{amount:m,amountExclTax:u,amountInclTax:d}=p;s({estimated:!0,amount:m,amountExclTax:u,amountInclTax:d})});return()=>{i==null||i.off()}},[]),E(()=>{const i=S.on("checkout/data",a=>{var f,T;const p=(T=(f=a==null?void 0:a.shippingAddresses)==null?void 0:f[0])==null?void 0:T.selectedShippingMethod;if(!p)return;const{amount:m,amountExclTax:u,amountInclTax:d}=p;s({estimated:!1,amount:m,amountExclTax:u,amountInclTax:d})});return()=>{i==null||i.off()}},[]),!c||y)return t(P,{});const N=()=>r?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,taxIncluded:g,priceExclTax:v()})},U=({estimated:e=!1,price:s,priceExclTax:c,taxExcluded:r=!1,taxIncluded:n=!1})=>I("div",{"data-testid":"estimate-shipping",className:"checkout-estimate-shipping",children:[t("span",{className:"checkout-estimate-shipping__label",children:e?t(o,{id:"Checkout.EstimateShipping.estimated"}):t(o,{id:"Checkout.EstimateShipping.label"})}),t(w,{node:s,className:"checkout-estimate-shipping__price"}),n&&t("span",{"data-testid":"shipping-tax-included",className:C(["checkout-estimate-shipping__caption"]),children:t(o,{id:"Checkout.EstimateShipping.withTaxes"})}),r&&I("span",{"data-testid":"shipping-tax-included-excluded",className:C(["checkout-estimate-shipping__caption"]),children:[c,t(o,{id:"Checkout.EstimateShipping.withoutTaxes"})]})]});export{Z as EstimateShipping,Z as default};
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 +1 @@
1
- import{L as n}from"../chunks/constants3.js";import{L as A,L as E}from"../chunks/LoginForm.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-jsx-runtime.js";import"@dropins/tools/preact-compat.js";import"../chunks/address-form-fields.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";export{n as LOGIN_FORM_NAME,A as LoginForm,E as default};
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 +1 @@
1
- import{M as i,M}from"../chunks/MergedCartBanner.js";import"@dropins/tools/components.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/preact-compat.js";import"@dropins/tools/preact-jsx-runtime.js";import"@dropins/tools/i18n.js";export{i as MergedCartBanner,M as default};
1
+ import{M as i,M}from"../chunks/MergedCartBanner.js";import"@dropins/tools/preact-jsx-runtime.js";import"@dropins/tools/components.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/preact-compat.js";import"@dropins/tools/i18n.js";export{i as MergedCartBanner,M as default};
@@ -0,0 +1,13 @@
1
+ import { Container } from '@dropins/tools/types/elsie/src/lib';
2
+ import { HTMLAttributes } from 'preact/compat';
3
+
4
+ export type UpdateProductsFromCart = Array<{
5
+ uid: string;
6
+ quantity: number;
7
+ }>;
8
+ export interface OutOfStockProps extends Omit<HTMLAttributes<HTMLDivElement>, 'icon'> {
9
+ onCartProductsUpdate?: (items: UpdateProductsFromCart) => void;
10
+ routeCart?: () => string;
11
+ }
12
+ export declare const OutOfStock: Container<OutOfStockProps>;
13
+ //# sourceMappingURL=OutOfStock.d.ts.map
@@ -0,0 +1,3 @@
1
+ export * from './OutOfStock';
2
+ export { OutOfStock as default } from './OutOfStock';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,3 @@
1
+ export * from './OutOfStock/index'
2
+ import _default from './OutOfStock/index'
3
+ export default _default
@@ -0,0 +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 +1 @@
1
- import{P as c,P as g}from"../chunks/ToggleButton2.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-jsx-runtime.js";import"@dropins/tools/preact-compat.js";import"../chunks/address-form-fields.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";export{c as PaymentMethods,g as default};
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,5 +1,5 @@
1
- import { HTMLAttributes } from 'preact/compat';
2
1
  import { Container } from '@dropins/tools/types/elsie/src/lib';
2
+ import { HTMLAttributes } from 'preact/compat';
3
3
 
4
4
  export interface PlaceOrderProps extends HTMLAttributes<HTMLDivElement> {
5
5
  onClick: () => void;
@@ -1 +1 @@
1
- import{P as k,P as n}from"../chunks/PlaceOrder.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-jsx-runtime.js";import"@dropins/tools/preact-compat.js";import"../chunks/address-form-fields.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";import"../chunks/constants2.js";import"../chunks/constants3.js";import"../chunks/constants.js";export{k as PlaceOrder,n as default};
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};
@@ -3,6 +3,7 @@ import { HTMLAttributes } from 'preact/compat';
3
3
  import { PreselectedAddressFields } from '..';
4
4
 
5
5
  export interface ShippingFormProps extends HTMLAttributes<HTMLDivElement> {
6
+ onCheckoutDataUpdate?: () => Promise<void>;
6
7
  preselectedFields?: PreselectedAddressFields;
7
8
  }
8
9
  export declare const ShippingForm: Container<ShippingFormProps>;
@@ -1 +1 @@
1
- import{S as l,S as n}from"../chunks/ShippingForm.js";import{S as A}from"../chunks/constants.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-jsx-runtime.js";import"@dropins/tools/preact-compat.js";import"../chunks/address-form-fields.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";export{A as SHIPPING_FORM_NAME,l as ShippingForm,n as default};
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};
@@ -3,6 +3,7 @@ import { Container } from '@dropins/tools/types/elsie/src/lib';
3
3
  import { HTMLAttributes } from 'preact/compat';
4
4
 
5
5
  export interface ShippingMethodsProps extends HTMLAttributes<HTMLDivElement> {
6
+ onCheckoutDataUpdate?: () => Promise<void>;
6
7
  preSelectedMethod?: PreselectedShippingMethod;
7
8
  }
8
9
  export declare const ShippingMethods: Container<ShippingMethodsProps>;
@@ -1 +1 @@
1
- import{S as c,S as j}from"../chunks/ShippingMethods.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-jsx-runtime.js";import"@dropins/tools/preact-compat.js";import"../chunks/address-form-fields.js";import"../chunks/ErrorBanner.js";import"../chunks/MergedCartBanner.js";export{c as ShippingMethods,j as default};
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,10 +1,11 @@
1
- export * from './BillToShippingAddress';
2
1
  export * from './BillingForm';
2
+ export * from './BillToShippingAddress';
3
3
  export * from './Checkout';
4
4
  export * from './ErrorBanner';
5
5
  export * from './EstimateShipping';
6
6
  export * from './LoginForm';
7
7
  export * from './MergedCartBanner';
8
+ export * from './OutOfStock';
8
9
  export * from './PaymentMethods';
9
10
  export * from './PlaceOrder';
10
11
  export * from './ShippingForm';
@@ -0,0 +1,4 @@
1
+ export * from './useBreakpoint';
2
+ export * from './useLockScroll';
3
+ export * from './useValidity';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,2 @@
1
+ export * from './useBreakpoint';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,2 @@
1
+ export declare const useBreakpoint: () => "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ //# sourceMappingURL=useBreakpoint.d.ts.map
@@ -48,9 +48,12 @@ declare const _default: {
48
48
  "emptyState": "No payment methods available"
49
49
  },
50
50
  "OutOfStock": {
51
- "title": "Out of stock",
52
- "message": "Your cart contains items that are out of stock or have limited availability. Please review your cart before placing the order.",
53
- "button": "Review cart",
51
+ "title": "Your cart contains items that are out of stock",
52
+ "message": "The following items are out of stock:",
53
+ "actions": {
54
+ "reviewCart": "Review cart",
55
+ "removeOutOfStock": "Remove out of stock items"
56
+ },
54
57
  "lowInventory": {
55
58
  "one": "Last item!",
56
59
  "many": "Only {{count}} left!"
@@ -81,7 +84,7 @@ declare const _default: {
81
84
  },
82
85
  "EstimateShipping": {
83
86
  "estimated": "Estimated Shipping",
84
- "freeShipping": "free",
87
+ "freeShipping": "Free",
85
88
  "label": "Shipping",
86
89
  "taxToBeDetermined": "TBD",
87
90
  "withTaxes": "Including taxes",
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name": "@dropins/storefront-checkout", "version": "0.1.0-alpha39", "@dropins/tools": "~0.26.0"}
1
+ {"name": "@dropins/storefront-checkout", "version": "0.1.0-alpha40", "@dropins/tools": "~0.27.1"}
@@ -3,8 +3,6 @@ import { FunctionComponent } from 'preact';
3
3
  interface IntlProviderProps {
4
4
  children?: any;
5
5
  }
6
- export declare const IntlProvider: FunctionComponent<IntlProviderProps>;
7
- export declare const DataProvider: FunctionComponent<IntlProviderProps>;
8
6
  export declare const Provider: FunctionComponent<IntlProviderProps>;
9
7
  export {};
10
8
  //# sourceMappingURL=Provider.d.ts.map
package/render.js CHANGED
@@ -1,3 +1,3 @@
1
- (function(i,o){try{if(typeof document<"u"){const t=document.createElement("style"),a=o.styleId;for(const e in o.attributes)t.setAttribute(e,o.attributes[e]);t.setAttribute("data-dropin",a),t.appendChild(document.createTextNode(i));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}.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}.checkout-shipping-methods__title{color:var(--color-neutral-800);font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing);margin:0 0 var(--spacing-medium) 0}.checkout-shipping-methods__content{position:relative;display:block}.checkout-shipping-methods__method{margin-bottom:var(--spacing-medium);width:fit-content;cursor:pointer;font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing)}.checkout-shipping-methods__method:last-child{margin-bottom:0}.dropin-radio-button__label .dropin-price{color:var(--color-neutral-800);font-weight:400}.checkout-shipping-methods__options--loading{opacity:.4;pointer-events:none}.checkout-shipping-methods__spinner{margin:0 auto;position:absolute;z-index:999;left:0;right:0;top:calc(50% - (var(--size) / 2));bottom:0}.checkout-shipping-address__skeleton{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-medium);flex-wrap:wrap;min-width:384px}.checkout-address-form__company,.checkout-address-form__street{grid-column:1 / -1}.checkout-address-form__street .dropin-input-container{margin-bottom:var(--spacing-medium)}.checkout-address-form__street .dropin-input-container:last-child{margin-bottom:0}.checkout-address-form__street .dropin-field__content{display:grid;grid-auto-flow:row;gap:var(--spacing-xxsmall)}.checkout-address-form__country_id .dropin-picker__options-container,.checkout-address-form__region .dropin-picker__options-container{z-index:100}.checkout-address-form__save{grid-column:1 / -1;justify-self:center}.checkout-fields-form__title{color:var(--color-neutral-800);font:var(--type-headline-2-default-font);letter-spacing:var(--type-headline-2-default-letter-spacing);margin:0 0 var(--spacing-medium) 0}.checkout-fields-form__form{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-medium)}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout-fields-form__form{grid-template-columns:1fr}}@media only screen and (min-width: 768px){.dropin-field--multiline{grid-column:span 2}}.checkout__content{display:grid;align-items:start;row-gap:var(--spacing-xbig)}.checkout__banner{margin-bottom:var(--spacing-xbig)}.checkout-title{color:var(--color-neutral-800);font:var(--type-headline-1-font);letter-spacing:var(--type-headline-1-letter-spacing);border-bottom:var(--shape-border-width-3) solid var(--color-neutral-400);padding-bottom:var(--spacing-xsmall);padding-top:var(--spacing-small);margin:0}.checkout__content .dropin-divider{margin-bottom:0;width:100%}.checkout__content .checkout-billing-form__divider{margin-top:0}.checkout__content .checkout-billing-form__visible{display:block}.checkout__content .checkout-billing-form__hidden{display:none}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout__content{row-gap:var(--spacing-big)}.checkout-cart-summary .dropin-divider{margin:var(--spacing-medium) 0}}.checkout-login-form{display:grid}.checkout-login-form__heading{display:grid;grid-template-columns:repeat(2,1fr [col-start]);grid-auto-rows:max-content}.checkout-login-form__content{grid-auto-rows:max-content}.checkout-login-form__customer-details{display:grid;grid-auto-flow:row;gap:var(--spacing-xxsmall)}.checkout-login-form__customer-name{font:var(--type-body-1-strong-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.checkout-login-form__customer-email{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);color:var(--color-neutral-700)}.checkout-login-form__title{grid-column-start:1;color:var(--color-neutral-800);font:var(--type-headline-2-default-font);letter-spacing:var(--type-headline-2-default-letter-spacing);margin-top:0}.checkout-login-form__sign-in,.checkout-login-form__sign-out{grid-column-start:2;color:var(--color-neutral-800);font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);justify-self:flex-end;margin-top:var(--spacing-xxsmall)}a.checkout-login-form__link{font:var(--type-body-2-strong-font);margin-left:var(--spacing-xxsmall)}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout-login-form__heading{grid-template-columns:repeat(1,1fr [col-start]);grid-template-rows:1fr}.checkout-login-form__sign-in,.checkout-login-form__sign-out{grid-column-start:1;align-self:flex-start;justify-self:flex-start;margin-top:0;margin-bottom:var(--spacing-medium)}}.checkout-payment-methods{position:relative;display:grid}.checkout-payment-methods__title{font:var(--type-headline-2-default-font);letter-spacing:var(--type-headline-2-default-letter-spacing);margin:0 0 var(--spacing-medium) 0}.checkout-payment-methods__wrapper{position:relative;display:grid}.checkout-payment-methods__methods{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-medium)}.checkout-payment-methods__content{margin-top:var(--spacing-medium)}.checkout-payment-methods--full-width{grid-template-columns:1fr}.checkout-payment-methods--loading{opacity:.4;pointer-events:none}.checkout-payment-methods__spinner{margin:0 auto;position:absolute;z-index:999;left:0;right:0;top:calc(50% - (var(--size) / 2));bottom:0}.checkout__content [data-slot=PaymentMethods]:empty{display:none}@media only screen and (min-width: 320px) and (max-width: 768px){.checkout-payment-methods__methods{grid-template-columns:1fr}}.checkout-place-order{display:grid}.checkout-place-order__button{align-self:flex-end;justify-self:flex-end}@media only screen and (min-width:320px) and (max-width: 768px){.checkout-place-order__button{align-self:center;justify-self:stretch}}.checkout-estimate-shipping{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xxsmall);align-items:center;color:var(--color-neutral-700)}.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)}.checkout-out-of-stock{display:grid}.checkout-out-of-stock__button{margin-top:var(--spacing-medium);align-self:flex-end;justify-self:flex-end}.checkout-out-of-stock__icon .error-icon{color:var(--color-warning-500)}.checkout-overlay-loader{align-items:center;background:var(--color-neutral-50);display:flex;height:100vh;justify-content:center;left:0;opacity:.5;position:fixed;top:0;width:100%;z-index:9999}.checkout-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{Render as m}from"@dropins/tools/lib.js";import{events as p}from"@dropins/tools/event-bus.js";import"./chunks/fixtures.js";import{c as g}from"./chunks/resetCustomer.js";import{A as y}from"./chunks/address-form-fields.js";import{UIProvider as h}from"@dropins/tools/components.js";import{useState as b,useEffect as v}from"@dropins/tools/preact-hooks.js";import{jsx as o}from"@dropins/tools/preact-jsx-runtime.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 w=function(r){return E(r)&&!S(r)};function E(e){return!!e&&typeof e=="object"}function S(e){var r=Object.prototype.toString.call(e);return r==="[object RegExp]"||r==="[object Date]"||A(e)}var M=typeof Symbol=="function"&&Symbol.for,j=M?Symbol.for("react.element"):60103;function A(e){return e.$$typeof===j}function P(e){return Array.isArray(e)?[]:{}}function s(e,r){return r.clone!==!1&&r.isMergeableObject(e)?i(P(e),e,r):e}function I(e,r,t){return e.concat(r).map(function(a){return s(a,t)})}function T(e,r){if(!r.customMerge)return i;var t=r.customMerge(e);return typeof t=="function"?t:i}function C(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(r){return Object.propertyIsEnumerable.call(e,r)}):[]}function d(e){return Object.keys(e).concat(C(e))}function f(e,r){try{return r in e}catch{return!1}}function D(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)&&d(e).forEach(function(n){a[n]=s(e[n],t)}),d(r).forEach(function(n){D(e,n)||(f(e,n)&&t.isMergeableObject(r[n])?a[n]=T(n,t)(e[n],r[n],t):a[n]=s(r[n],t))}),a}function i(e,r,t){t=t||{},t.arrayMerge=t.arrayMerge||I,t.isMergeableObject=t.isMergeableObject||w,t.cloneUnlessOtherwiseSpecified=s;var a=Array.isArray(r),n=Array.isArray(e),c=a===n;return c?a?t.arrayMerge(e,r,t):x(e,r,t):s(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 B=i,L=B;const U=O(L),F={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:"Out of stock",message:"Your cart contains items that are out of stock or have limited availability. Please review your cart before placing the order.",button:"Review cart",lowInventory:{one:"Last item!",many:"Only {{count}} left!"},alert:"Out of stock!"},PlaceOrder:{button:"Place Order"},ServerError:{title:"We were unable to process your order",contactSupport:"If you continue to have issues, please contact support.",unexpected:"An unexpected error occurred while processing your order. Please try again later.",button:"Try again"},EmptyCart:{title:"Your cart is empty",button:"Start shopping"},ErrorBanner:{genericMessage:"Server error detected. Please check your connection and try again."},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:F},R={default:_},N=({children:e})=>{var c;const[r,t]=b(),a=(c=g.getConfig())==null?void 0:c.langDefinitions;v(()=>{const l=p.on("locale",u=>{u!==r&&t(u)},{eager:!0});return()=>{l==null||l.off()}},[r]);const n=U(R,a??{});return o(h,{lang:r,langDefinitions:n,children:e})},k=({children:e})=>o(y,{children:e}),Y=({children:e})=>o(k,{children:o(N,{children:e})}),ee=new m(o(Y,{}));export{Y as Provider,ee as render};
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};
@@ -0,0 +1,7 @@
1
+ import { AddressFormField } from '../data/models';
2
+
3
+ export declare const addressFormFieldsSignal: import('@preact/signals-core').Signal<{
4
+ data?: AddressFormField[] | undefined;
5
+ pending: boolean;
6
+ }>;
7
+ //# sourceMappingURL=AddressFormFieldsSignal.d.ts.map
@@ -1,3 +1,4 @@
1
+ export * from './AddressFormFieldsSignal';
1
2
  export * from './CartSignal';
2
3
  export * from './CountryListSignal';
3
4
  export * from './CustomerSignal';
@@ -1,5 +1,6 @@
1
- export declare function setupCheckout({ clearLocalStorage, dropinProps, }?: {
1
+ export declare function setupCheckout({ clearLocalStorage, dropinProps, registerCheckoutListeners, }?: {
2
2
  clearLocalStorage?: boolean | undefined;
3
3
  dropinProps?: {} | undefined;
4
+ registerCheckoutListeners?: boolean | undefined;
4
5
  }): Promise<void>;
5
6
  //# sourceMappingURL=setup.d.ts.map
@@ -1 +0,0 @@
1
- import"@dropins/tools/event-bus.js";import{i as d}from"./fixtures.js";import{createContext as i}from"@dropins/tools/preact.js";import{useContext as n,useState as m,useEffect as u}from"@dropins/tools/preact-hooks.js";import{jsx as F}from"@dropins/tools/preact-jsx-runtime.js";const r=i(void 0);function p({children:e}){const[s,t]=m({});return u(()=>{d().then(o=>t({fields:o}))},[]),F(r.Provider,{value:s,children:e})}function v(){const e=n(r);if(e!==void 0)return e;throw new Error("useAddressFormFields must be used within an AddressFormFieldsProvider")}export{p as A,v as u};