@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.
- package/api/errors/errors.d.ts +1 -1
- package/api/fetch-graphql/fetch-graphql.d.ts +1 -0
- package/api/fetchAddressFormFields/fetchAddressFormFields.d.ts +1 -3
- package/api/initializeCheckout/initializeCheckout.d.ts +1 -1
- package/api/placeOrder/graphql/placeOrder.graphql.d.ts +1 -1
- package/api/utils/dispatchApiCall.d.ts +5 -1
- package/api/utils/filterControlledErrors.d.ts +1 -1
- package/api.js +1 -1
- package/chunks/BillToShippingAddress2.js +1 -1
- package/chunks/BillingForm.js +1 -1
- package/chunks/ErrorBanner.js +1 -1
- package/chunks/LoginForm.js +1 -1
- package/chunks/MergedCartBanner.js +1 -1
- package/chunks/OutOfStock.js +1 -0
- package/chunks/PlaceOrder.js +1 -1
- package/chunks/ShippingForm.js +1 -1
- package/chunks/ShippingMethods.js +1 -1
- package/chunks/ToggleButton.js +1 -1
- package/chunks/ToggleButton2.js +1 -1
- package/chunks/fixtures.js +2 -31
- package/chunks/getMultilineValues.js +1 -1
- package/chunks/placeOrder2.js +2 -7
- package/chunks/resetCustomer.js +31 -2
- package/chunks/setGuestEmailOnCart.js +4 -4
- package/chunks/setShippingMethods.js +2 -2
- package/components/AddressForm/AddressForm.d.ts +1 -0
- package/components/AddressForm/useAddressForm.d.ts +4 -3
- package/components/Checkout/Checkout.d.ts +8 -1
- package/components/OutOfStock/OutOfStock.d.ts +6 -4
- package/components/PlaceOrder/PlaceOrder.d.ts +1 -1
- package/containers/BillToShippingAddress/BillToShippingAddress.d.ts +3 -3
- package/containers/BillToShippingAddress.js +1 -1
- package/containers/BillingForm.js +1 -1
- package/containers/Checkout/Checkout.d.ts +6 -2
- package/containers/Checkout.js +1 -1
- package/containers/ErrorBanner.js +1 -1
- package/containers/EstimateShipping.js +1 -1
- package/containers/LoginForm.js +1 -1
- package/containers/MergedCartBanner.js +1 -1
- package/containers/OutOfStock/OutOfStock.d.ts +13 -0
- package/containers/OutOfStock/index.d.ts +3 -0
- package/containers/OutOfStock.d.ts +3 -0
- package/containers/OutOfStock.js +1 -0
- package/containers/PaymentMethods.js +1 -1
- package/containers/PlaceOrder/PlaceOrder.d.ts +1 -1
- package/containers/PlaceOrder.js +1 -1
- package/containers/ShippingForm/ShippingForm.d.ts +1 -0
- package/containers/ShippingForm.js +1 -1
- package/containers/ShippingMethods/ShippingMethods.d.ts +1 -0
- package/containers/ShippingMethods.js +1 -1
- package/containers/index.d.ts +2 -1
- package/hooks/index.d.ts +4 -0
- package/hooks/useBreakpoint/index.d.ts +2 -0
- package/hooks/useBreakpoint/useBreakpoint.d.ts +2 -0
- package/i18n/en_US.json.d.ts +7 -4
- package/package.json +1 -1
- package/render/Provider.d.ts +0 -2
- package/render.js +3 -3
- package/signals/AddressFormFieldsSignal.d.ts +7 -0
- package/signals/index.d.ts +1 -0
- package/tests/integration/utils/setup.d.ts +2 -1
- package/chunks/address-form-fields.js +0 -1
- package/context/address-form-fields.d.ts +0 -13
- package/context/index.d.ts +0 -2
- package/tests/index.d.ts +0 -2
- package/tests/render.d.ts +0 -4
package/chunks/resetCustomer.js
CHANGED
|
@@ -1,7 +1,36 @@
|
|
|
1
|
-
import{events as
|
|
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
|
-
}`,
|
|
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,
|
|
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
|
-
`,
|
|
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
|
-
${
|
|
17
|
-
`,
|
|
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
|
|
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=
|
|
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: ({
|
|
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 {
|
|
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
|
|
5
|
-
|
|
6
|
-
|
|
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 {
|
|
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
|
|
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
|
|
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:
|
|
38
|
+
export declare const Checkout: Container<CheckoutProps>;
|
|
35
39
|
//# sourceMappingURL=Checkout.d.ts.map
|
package/containers/Checkout.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as
|
|
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-
|
|
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
|
|
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};
|
package/containers/LoginForm.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{L as
|
|
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/
|
|
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 @@
|
|
|
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
|
|
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};
|
package/containers/PlaceOrder.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{P as
|
|
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
|
|
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
|
|
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};
|
package/containers/index.d.ts
CHANGED
|
@@ -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';
|
package/hooks/index.d.ts
ADDED
package/i18n/en_US.json.d.ts
CHANGED
|
@@ -48,9 +48,12 @@ declare const _default: {
|
|
|
48
48
|
"emptyState": "No payment methods available"
|
|
49
49
|
},
|
|
50
50
|
"OutOfStock": {
|
|
51
|
-
"title": "
|
|
52
|
-
"message": "
|
|
53
|
-
"
|
|
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": "
|
|
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-
|
|
1
|
+
{"name": "@dropins/storefront-checkout", "version": "0.1.0-alpha40", "@dropins/tools": "~0.27.1"}
|
package/render/Provider.d.ts
CHANGED
|
@@ -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(
|
|
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
|
|
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};
|
package/signals/index.d.ts
CHANGED
|
@@ -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};
|