@dropins/storefront-cart 1.3.0-alpha6 → 1.3.0-beta2
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/fetch-graphql/fetch-graphql.d.ts +3 -3
- package/api/initialize/initialize.d.ts +3 -3
- package/api/updateProductsFromCart/updateProductsFromCart.d.ts +7 -0
- package/api.js +2 -23
- package/chunks/CartSummaryGrid.js +1 -1
- package/chunks/CartSummaryList.js +1 -1
- package/chunks/EmptyCart.js +1 -1
- package/chunks/OrderSummary.js +1 -1
- package/chunks/refreshCart.js +4 -4
- package/chunks/resetCart.js +1 -1
- package/chunks/updateProductsFromCart.js +25 -4
- package/components/GiftOptions/Elements/GiftOptionModal.d.ts +3 -1
- package/components/GiftOptions/GiftOptions.d.ts +3 -1
- package/containers/CartSummaryGrid/CartSummaryGrid.d.ts +8 -1
- package/containers/CartSummaryList/CartSummaryList.d.ts +7 -2
- package/containers/Coupons/Coupons.d.ts +1 -1
- package/containers/Coupons.js +1 -1
- package/containers/EmptyCart/EmptyCart.d.ts +1 -1
- package/containers/EstimateShipping/EstimateShipping.d.ts +1 -1
- package/containers/EstimateShipping.js +1 -1
- package/containers/GiftCards/GiftCards.d.ts +1 -1
- package/containers/GiftCards.js +1 -1
- package/containers/GiftOptions/GiftOptions.d.ts +9 -1
- package/containers/GiftOptions.js +1 -1
- package/containers/MiniCart/MiniCart.d.ts +7 -1
- package/containers/MiniCart.js +1 -1
- package/containers/OrderSummary/OrderSummary.d.ts +1 -1
- package/containers/OrderSummary.js +1 -1
- package/containers/OrderSummaryLine/OrderSummaryLine.d.ts +1 -1
- package/data/transforms/__fixtures__/productTypesData.d.ts +15 -0
- package/fragments.js +1 -0
- package/package.json +1 -1
- package/render/render.d.ts +1 -1
|
@@ -14,11 +14,11 @@
|
|
|
14
14
|
* is strictly forbidden unless prior written permission is obtained
|
|
15
15
|
* from Adobe.
|
|
16
16
|
*******************************************************************/
|
|
17
|
-
export declare const setEndpoint: (endpoint: string) => void, setFetchGraphQlHeader: (key: string, value: string | null) => void, removeFetchGraphQlHeader: (key: string) => void, setFetchGraphQlHeaders: (header: import('@adobe/fetch-graphql').Header) => void, fetchGraphQl: <T = any>(query: string, options?: import('@adobe/fetch-graphql').FetchOptions | undefined) => Promise<{
|
|
18
|
-
errors?: import('@adobe/fetch-graphql').FetchQueryError | undefined;
|
|
17
|
+
export declare const setEndpoint: (endpoint: string) => void, setFetchGraphQlHeader: (key: string, value: string | null) => void, removeFetchGraphQlHeader: (key: string) => void, setFetchGraphQlHeaders: (header: import('@adobe-commerce/fetch-graphql').Header) => void, fetchGraphQl: <T = any>(query: string, options?: import('@adobe-commerce/fetch-graphql').FetchOptions | undefined) => Promise<{
|
|
18
|
+
errors?: import('@adobe-commerce/fetch-graphql').FetchQueryError | undefined;
|
|
19
19
|
data: T;
|
|
20
20
|
}>, getConfig: () => {
|
|
21
21
|
endpoint: string | undefined;
|
|
22
|
-
fetchGraphQlHeaders: import('@adobe/fetch-graphql').Header | undefined;
|
|
22
|
+
fetchGraphQlHeaders: import('@adobe-commerce/fetch-graphql').Header | undefined;
|
|
23
23
|
};
|
|
24
24
|
//# sourceMappingURL=fetch-graphql.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Initializer, Model } from '
|
|
2
|
-
import { Lang } from '
|
|
1
|
+
import { Initializer, Model } from '../../../@adobe-commerce/elsie/src/lib';
|
|
2
|
+
import { Lang } from '../../../@adobe-commerce/elsie/src/i18n';
|
|
3
3
|
import { CartModel } from '../../data/models';
|
|
4
4
|
|
|
5
5
|
type ConfigProps = {
|
|
@@ -10,6 +10,6 @@ type ConfigProps = {
|
|
|
10
10
|
};
|
|
11
11
|
};
|
|
12
12
|
export declare const initialize: Initializer<ConfigProps>;
|
|
13
|
-
export declare const config: import('
|
|
13
|
+
export declare const config: import('../../../@adobe-commerce/elsie/src/lib').Config<ConfigProps>;
|
|
14
14
|
export {};
|
|
15
15
|
//# sourceMappingURL=initialize.d.ts.map
|
|
@@ -3,6 +3,13 @@ import { CartModel } from '../../data/models';
|
|
|
3
3
|
type UpdateProductsFromCart = Array<{
|
|
4
4
|
uid: string;
|
|
5
5
|
quantity: number;
|
|
6
|
+
sku?: string;
|
|
7
|
+
parentSku?: string;
|
|
8
|
+
optionsUIDs?: string[];
|
|
9
|
+
enteredOptions?: {
|
|
10
|
+
uid: string;
|
|
11
|
+
value: string;
|
|
12
|
+
}[];
|
|
6
13
|
giftOptions?: {
|
|
7
14
|
gift_wrapping_id?: string | null;
|
|
8
15
|
gift_message: {
|
package/api.js
CHANGED
|
@@ -1,27 +1,6 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{s as
|
|
4
|
-
mutation ADD_PRODUCTS_TO_CART_MUTATION(
|
|
5
|
-
$cartId: String!,
|
|
6
|
-
$cartItems: [CartItemInput!]!,
|
|
7
|
-
${A}
|
|
8
|
-
) {
|
|
9
|
-
addProductsToCart(
|
|
10
|
-
cartId: $cartId
|
|
11
|
-
cartItems: $cartItems
|
|
12
|
-
) {
|
|
13
|
-
cart {
|
|
14
|
-
...CART_FRAGMENT
|
|
15
|
-
}
|
|
16
|
-
user_errors {
|
|
17
|
-
code
|
|
18
|
-
message
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
${G}
|
|
24
|
-
`,$=async e=>{let r=!1;const p=c.cartId||await y().then(o=>(r=!0,o));return T(O,{variables:{cartId:p,cartItems:e.map(({sku:o,parentSku:a,quantity:d,optionsUIDs:t,enteredOptions:i})=>({sku:o,parent_sku:a,quantity:d,selected_options:t,entered_options:i}))}}).then(({errors:o,data:a})=>{var f;const d=[...((f=a==null?void 0:a.addProductsToCart)==null?void 0:f.user_errors)??[],...o??[]];if(d.length>0)return I(d);const t=_(a.addProductsToCart.cart),i=g(),l=(i==null?void 0:i.items)||[];if(C.emit("cart/updated",t),C.emit("cart/data",t),t){const n=t.items.filter(s=>!l.some(u=>u.sku===s.sku)),m=t.items.filter(s=>{const u=l.find(h=>h.sku===s.sku);return u&&s.quantity!==u.quantity});n.length>0&&C.emit("cart/product/added",n),m.length>0&&C.emit("cart/product/updated",m)}if(t){const n=t.items.filter(m=>e.some(({sku:s})=>s===m.topLevelSku));r?S(t,n,c.locale??"en-US"):R(t,n,c.locale??"en-US")}return t})},b=`
|
|
3
|
+
import{s as p,f as g,h as E}from"./chunks/resetCart.js";import{g as q,r as z,d as V,a as L,b as $,c as j}from"./chunks/resetCart.js";import{t as G,c as I}from"./chunks/refreshCart.js";import{g as J,b as K,d as W,e as X,i as Y,a as Z,r as tt}from"./chunks/refreshCart.js";import{events as C}from"@dropins/tools/event-bus.js";import{g as h}from"./chunks/persisted-data.js";import{A as S}from"./chunks/updateProductsFromCart.js";import{u as rt}from"./chunks/updateProductsFromCart.js";import{b as A,a as _,c as b}from"./chunks/acdl.js";import{g as st,b as ot,a as it}from"./chunks/getEstimateShipping.js";import{g as pt}from"./chunks/getEstimatedTotals.js";import{A as mt,a as ut}from"./chunks/applyCouponsToCart.js";import{a as Ct,r as lt}from"./chunks/removeGiftCardFromCart.js";import{s as gt}from"./chunks/setGiftOptionsOnCart.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/lib.js";import"./fragments.js";const N=async r=>{let e=!1;const c=p.cartId||await U().then(o=>(e=!0,o));return g(S,{variables:{cartId:c,cartItems:r.map(({sku:o,parentSku:a,quantity:m,optionsUIDs:t,enteredOptions:i})=>({sku:o,parent_sku:a,quantity:m,selected_options:t,entered_options:i}))}}).then(({errors:o,data:a})=>{var f;const m=[...((f=a==null?void 0:a.addProductsToCart)==null?void 0:f.user_errors)??[],...o??[]];if(m.length>0)return E(m);const t=G(a.addProductsToCart.cart),i=h(),l=(i==null?void 0:i.items)||[];if(C.emit("cart/updated",t),C.emit("cart/data",t),t){const n=t.items.filter(s=>!l.some(d=>d.sku===s.sku)),u=t.items.filter(s=>{const d=l.find(T=>T.sku===s.sku);return d&&s.quantity!==d.quantity});n.length>0&&C.emit("cart/product/added",n),u.length>0&&C.emit("cart/product/updated",u)}if(t){const n=t.items.filter(u=>r.some(({sku:s})=>s===u.topLevelSku));e?A(t,n,p.locale??"en-US"):_(t,n,p.locale??"en-US")}return t})},y=`
|
|
25
4
|
mutation CREATE_GUEST_CART_MUTATION {
|
|
26
5
|
createGuestCart {
|
|
27
6
|
cart {
|
|
@@ -29,4 +8,4 @@ import{s as c,f as T,h as I}from"./chunks/resetCart.js";import{g as q,r as z,d a
|
|
|
29
8
|
}
|
|
30
9
|
}
|
|
31
10
|
}
|
|
32
|
-
`,
|
|
11
|
+
`,U=async()=>{const{disableGuestCart:r}=I.getConfig();if(r)throw new Error("Guest cart is disabled");return await g(y).then(({data:e})=>{const c=e.createGuestCart.cart.id;return p.cartId=c,c})},Q=()=>{const r=p.locale??"en-US",e=h();e&&b(e,r)};export{mt as ApplyCouponsStrategy,N as addProductsToCart,ut as applyCouponsToCart,Ct as applyGiftCardToCart,I as config,U as createGuestCart,g as fetchGraphQl,J as getCartData,h as getCartDataFromCache,q as getConfig,st as getCountries,K as getCustomerCartPayload,ot as getEstimateShipping,pt as getEstimatedTotals,W as getGuestCartPayload,it as getRegions,X as getStoreConfig,Y as initialize,Z as initializeCart,Q as publishShoppingCartViewEvent,tt as refreshCart,z as removeFetchGraphQlHeader,lt as removeGiftCardFromCart,V as resetCart,L as setEndpoint,$ as setFetchGraphQlHeader,j as setFetchGraphQlHeaders,gt as setGiftOptionsOnCart,rt as updateProductsFromCart};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{jsx as
|
|
3
|
+
import{jsx as a,Fragment as g}from"@dropins/tools/preact-jsx-runtime.js";import{useState as _,useEffect as C}from"@dropins/tools/preact-compat.js";import{E as b}from"./EmptyCart.js";import{classes as l,VComponent as v,Slot as I}from"@dropins/tools/lib.js";/* empty css */import{Image as N}from"@dropins/tools/components.js";import"@dropins/tools/preact-hooks.js";import{events as S}from"@dropins/tools/event-bus.js";import{g as j}from"./persisted-data.js";const D=({className:c,children:i,emptyCart:m,products:e,...n})=>a("div",{...n,className:l(["cart-cart-summary-grid",c]),children:a(g,{children:a("div",{className:l(["cart-cart-summary-grid__content",["cart-cart-summary-grid__content--empty",!e]]),children:e||a(v,{node:m,className:"cart-cart-summary-grid__empty-cart"})})})}),L=({children:c,initialData:i=null,routeProduct:m,routeEmptyCartCTA:e,slots:n,...p})=>{const[o,u]=_(i);C(()=>{const r=S.on("cart/data",t=>{u(t)},{eager:!0});return()=>{r==null||r.off()}},[]);const f=(r,t)=>{const y=r.selectedOptions?`${r.name}: ${Object.entries(r.selectedOptions).join("; ")}`:r.name,s={loading:t<4?"eager":"lazy",src:r.image.src,alt:r.image.alt},d=a(N,{"data-testid":"cart-grid-item-image","aria-label":y,width:"100%",...s});return a("div",{className:"cart-cart-summary-grid__item-container",children:a(I,{name:"Thumbnail",slot:n==null?void 0:n.Thumbnail,context:{item:r,defaultImageProps:s},children:m?a("a",{href:m(r),children:d}):d})},t)},h=o&&a(g,{children:o.items.map((r,t)=>f(r,t))});return a(D,{...p,emptyCart:a(b,{ctaLinkURL:e?e():void 0}),products:h})};L.getInitialData=async function(){return j()};export{L as C};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{jsx as n,jsxs as y,Fragment as j}from"@dropins/tools/preact-jsx-runtime.js";import*as o from"@dropins/tools/preact-compat.js";import{useState as N,useCallback as Ft,useEffect as ot}from"@dropins/tools/preact-compat.js";import{classes as L,VComponent as X,Slot as w}from"@dropins/tools/lib.js";import{E as Mt}from"./EmptyCart.js";/* empty css */import{Divider as st,Skeleton as zt,SkeletonRow as qt,InLineAlert as Tt,Icon as q,CartList as lt,Button as T,Accordion as Ut,AccordionSection as Wt,CartItem as Jt,Price as O,Image as Kt}from"@dropins/tools/components.js";import"@dropins/tools/preact-hooks.js";import{g as Rt}from"./persisted-data.js";import{events as Yt}from"@dropins/tools/event-bus.js";import{s as Ht}from"./resetCart.js";import{u as ut}from"./updateProductsFromCart.js";import{S as Dt}from"./ChevronDown.js";import{useText as te}from"@dropins/tools/i18n.js";const ee=d=>o.createElement("svg",{id:"Icon_Chevron_right_Base","data-name":"Icon \\u2013 Chevron right \\u2013 Base",xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",...d},o.createElement("g",{id:"Large"},o.createElement("rect",{id:"Placement_area","data-name":"Placement area",width:24,height:24,fill:"#fff",opacity:0}),o.createElement("g",{id:"Chevron_right_icon","data-name":"Chevron right icon"},o.createElement("path",{vectorEffect:"non-scaling-stroke",id:"chevron",d:"M199.75,367.5l4.255,-4.255-4.255,-4.255",transform:"translate(-189.25 -351.0)",fill:"none",stroke:"currentColor"})))),dt=d=>o.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...d},o.createElement("g",{clipPath:"url(#clip0_4797_15331)"},o.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M10.25 20.91L1.5 17.55V6.51996L10.25 9.92996V20.91Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),o.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M6.24023 4.64001L14.9902 8.06001V11.42",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),o.createElement("path",{className:"error-icon",vectorEffect:"non-scaling-stroke",d:"M19 13.31L15.5 19.37H22.5L19 13.31Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),o.createElement("path",{className:"error-icon",vectorEffect:"non-scaling-stroke",d:"M19.0202 17.11H18.9802L18.9502 15.56H19.0502L19.0202 17.11ZM18.9602 18.29V18.06H19.0502V18.29H18.9602Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),o.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M19 12.16V6.51996L10.25 9.92996V20.91L14.27 19.37L14.4 19.32",stroke:"currentColor",strokeLinejoin:"round"}),o.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M1.5 6.51999L10.25 3.04999L19 6.51999L10.25 9.92999L1.5 6.51999Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"})),o.createElement("defs",null,o.createElement("clipPath",{id:"clip0_4797_15331"},o.createElement("rect",{width:22,height:18.86,fill:"white",transform:"translate(1 2.54999)"})))),ne=d=>o.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...d},o.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M0.75 12C0.75 5.78421 5.78421 0.75 12 0.75C18.2158 0.75 23.25 5.78421 23.25 12C23.25 18.2158 18.2158 23.25 12 23.25C5.78421 23.25 0.75 18.2158 0.75 12Z",stroke:"currentColor"}),o.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M11.75 5.88423V4.75H12.25V5.88423L12.0485 13.0713H11.9515L11.75 5.88423ZM11.7994 18.25V16.9868H12.2253V18.25H11.7994Z",stroke:"currentColor"})),gt=({className:d,children:U,heading:k,footer:v,emptyCart:_,products:u,outOfStockMessage:m,variant:S="primary",loading:h=!0,...c})=>n("div",{...c,className:L(["cart-cart-summary-list",d,`cart-cart-summary-list__background--${S}`]),children:h?n(re,{}):y(j,{children:[(k||m)&&y("div",{"data-testid":"cart-summary-list-heading-wrapper",className:L(["cart-cart-summary-list__heading",["cart-cart-summary-list__heading--full-width",!u]]),children:[k&&y(j,{children:[n(X,{node:k,className:"cart-cart-summary-list__heading-text"}),n(st,{variant:"primary",className:L(["cart-cart-summary-list__heading-divider"])})]}),m&&n(X,{node:m,className:"cart-cart-summary-list__out-of-stock-message"})]}),n("div",{className:L(["cart-cart-summary-list__content",["cart-cart-summary-list__content--empty",!u]]),children:u||n(X,{node:_,className:"cart-cart-summary-list__empty-cart"})}),v&&y(j,{children:[n(st,{variant:"primary",className:L(["cart-cart-summary-list__footer-divider"])}),n(X,{node:v,className:"cart-cart-summary-list__footer-text"})]})]})}),re=()=>n(zt,{"data-testid":"cart-summary-list-skeleton",className:"cart-cart-summary-list__skeleton",rowGap:"medium",children:n(qt,{variant:"row",size:"xlarge",fullWidth:!0,lines:3,multilineGap:"small"})}),ae=({initialData:d=null,hideHeading:U,hideFooter:k,routeProduct:v,routeEmptyCartCTA:_,routeCart:u,onItemUpdate:m,onItemRemove:S,maxItems:h,slots:c,attributesToHide:l=[],enableRemoveItem:$,enableUpdateItemQuantity:W,onItemsErrorsChange:Z,accordion:ft=!1,variant:B="primary",isLoading:mt,showMaxItems:J,showDiscount:ht,showSavings:yt,quantityType:vt,dropdownOptions:pt,...K})=>{var rt;const[F,kt]=N(!d),[a,Ct]=N(d),[E,wt]=N(new Set),[A,Lt]=N(new Map),s=(rt=Ht.config)==null?void 0:rt.shoppingCartDisplaySetting,[Q,_t]=N(J?!0:!h&&!J),i=te({file:"Cart.CartItem.file",files:"Cart.CartItem.files",heading:"Cart.Cart.heading",message:"Cart.CartItem.message",recipient:"Cart.CartItem.recipient",regularPrice:"Cart.CartItem.regularPrice",discountedPrice:"Cart.CartItem.discountedPrice",sender:"Cart.CartItem.sender",lowInventory:"Cart.CartItem.lowInventory",insufficientQuantity:"Cart.CartItem.insufficientQuantity",insufficientQuantityGeneral:"Cart.CartItem.insufficientQuantityGeneral",outOfStockHeading:"Cart.OutOfStockMessage.heading",outOfStockDescription:"Cart.OutOfStockMessage.message",outOfStockAlert:"Cart.OutOfStockMessage.alert",removeAction:"Cart.OutOfStockMessage.action",notAvailableMessage:"Cart.CartItem.notAvailableMessage",viewMore:"Cart.Cart.viewMore",viewAll:"Cart.Cart.viewAll",discountPercent:"Cart.CartItem.discountPercentage",savingsAmount:"Cart.CartItem.savingsAmount"}),G=(t,e)=>{wt(r=>(e?r.add(t):r.delete(t),new Set(r)))},M=(t,e)=>{Lt(r=>(e?r.set(t,e):r.delete(t),new Map(r)))},z=(t,e)=>{G(t.uid,!0),M(t.uid),$&&e===0?ut([{uid:t.uid,quantity:e}]).then(()=>{S==null||S({item:t})}).finally(()=>{G(t.uid,!1)}).catch(r=>{console.warn(r)}):W&&ut([{uid:t.uid,quantity:e}]).then(()=>{m==null||m({item:t})}).finally(()=>{G(t.uid,!1)}).catch(r=>{console.warn(r),M(t.uid,r.message)})},St=Ft(()=>{_t(t=>!t)},[]);ot(()=>{const t=Yt.on("cart/data",e=>{Ct(e),kt(!!mt)},{eager:!0});return()=>{t==null||t.off()}},[]),ot(()=>{Z&&Z(A)},[A,Z]);const Et=(t,e)=>{if(l.includes("image"))return;const r=n(Kt,{"data-testid":"cart-list-item-image",loading:e<4?"eager":"lazy",src:t.image.src,alt:t.image.alt,width:"300",height:"300",params:{width:300}});return n(w,{name:"Thumbnail",slot:c==null?void 0:c.Thumbnail,context:{item:t},children:v?n("a",{href:v(t),children:r}):r})},It=t=>{if(!l.includes("name"))return n("span",{"data-testid":"cart-list-item-title",children:v?n("a",{href:v(t),children:t.name}):t.name})},xt=t=>{if(l.includes("configurations"))return;const e={...t.bundleOptions,...t.selectedOptions,...t.customizableOptions,...t.recipient?{[i.recipient]:t.recipient}:null,...t.recipientEmail&&t.recipient?{[i.recipient]:`${t.recipient} (${t.recipientEmail})`}:null,...t.sender?{[i.sender]:t.sender}:null,...t.senderEmail&&t.sender?{[i.sender]:`${t.sender} (${t.senderEmail})`}:{},...t.message?{[i.message]:t.message}:null,...t.links&&t.links.count?t.links.count>1?{[i.files.replace("{count}",t.links.count.toString())]:t.links.result}:{[i.file.replace("{count}",t.links.count.toString())]:t.links.result}:null};if(Object.keys(e).length!==0)return e},Pt=t=>{var e,r,f,g;return(s==null?void 0:s.price)==="INCLUDING_TAX"?t.discounted?{amount:t.regularPrice.value,currency:t.regularPrice.currency,style:{font:"inherit"},"data-testid":"including-tax-item-price"}:{amount:(e=t.taxedPrice)==null?void 0:e.value,currency:(r=t.taxedPrice)==null?void 0:r.currency,style:{font:"inherit"},"data-testid":"including-tax-item-price"}:{amount:(f=t.regularPrice)==null?void 0:f.value,currency:(g=t.regularPrice)==null?void 0:g.currency,style:{font:"inherit"},"data-testid":"regular-item-price"}},Nt=t=>{var e,r;return{amount:(e=t.savingsAmount)==null?void 0:e.value,currency:(r=t.savingsAmount)==null?void 0:r.currency,style:{font:"inherit"},"data-testid":"item-savings-amount"}},Ot=t=>(s==null?void 0:s.price)==="INCLUDING_EXCLUDING_TAX"?n(O,{amount:t.rowTotal.value,currency:t.rowTotal.currency,"data-testid":"excluding-tax-total","aria-label":i.regularPrice}):void 0,At=t=>{var f,g,p,C,I,x,P,at,it,ct;const e={"aria-label":i.regularPrice},r=t.discounted?{}:null;return["INCLUDING_TAX","INCLUDING_EXCLUDING_TAX"].includes(s==null?void 0:s.price)?(e.amount=(f=t.rowTotalIncludingTax)==null?void 0:f.value,e.currency=(g=t.rowTotalIncludingTax)==null?void 0:g.currency,e.variant=t.discounted?"strikethrough":"default",e["data-testid"]="including-tax-item-total",r&&(e.amount=(p=t.total)==null?void 0:p.value,e.currency=(C=t.total)==null?void 0:C.currency,r.amount=(I=t.rowTotalIncludingTax)==null?void 0:I.value,r.currency=(x=t.rowTotalIncludingTax)==null?void 0:x.currency,r.sale=!0,r["aria-label"]=i.discountedPrice,r["data-testid"]="discount-total")):(e.amount=(P=t.total)==null?void 0:P.value,e.currency=(at=t.total)==null?void 0:at.currency,e.variant=t.discounted?"strikethrough":"default",e["data-testid"]="regular-item-total",r&&(r.amount=(it=t.discountedTotal)==null?void 0:it.value,r.currency=(ct=t.discountedTotal)==null?void 0:ct.currency,r.sale=!0,r["aria-label"]=i.regularPrice,r["data-testid"]="discount-total")),{totalProps:e,discountProps:r}},Qt=t=>{var I,x,P;if(l.includes("warning"))return;const e=A.get(t.uid),r=(I=A.get(t.uid))==null?void 0:I.includes("The requested qty is not available"),f=E.has(t.uid),g=t.insufficientQuantity&&t.stockLevel?t.stockLevel==="noNumber"?i.insufficientQuantityGeneral:i.insufficientQuantity.replace("{inventory}",(x=t.stockLevel)==null?void 0:x.toString()).replace("{count}",t.quantity.toString()):"",p=t.lowInventory&&t.onlyXLeftInStock&&i.lowInventory.replace("{count}",(P=t.onlyXLeftInStock)==null?void 0:P.toString()),C=!t.outOfStock&&e&&r?i.notAvailableMessage:e;return!f&&(e||t.insufficientQuantity||t.lowInventory)?y("span",{"data-testid":"item-warning",children:[n(q,{source:ne,size:"16"}),C||g||p]}):void 0},Gt=t=>l!=null&&l.includes("alert")?void 0:!E.has(t.uid)&&t.outOfStock?y("span",{"data-testid":"item-alert",children:[n(q,{source:dt,size:"16"}),i.outOfStockAlert]}):void 0,Vt=t=>n(w,{name:"ProductAttributes",slot:c==null?void 0:c.ProductAttributes,context:{item:t}}),bt=t=>{if(!l.includes("sku"))return n("span",{"data-testid":"cart-list-item-sku",children:t.sku})},Xt=t=>n(w,{name:"Footer",slot:c==null?void 0:c.Footer,context:{item:t,handleItemsLoading:G,handleItemsError:M,onItemUpdate:m}}),R=t=>a!=null&&a.totalQuantity?a.items.filter(t).map((e,r)=>{var p;const{totalProps:f,discountProps:g}=At(e);return n(Jt,{updating:E==null?void 0:E.has(e.uid),loading:F,"data-testid":`cart-list-item-entry-${e.uid}`,image:Et(e,r),title:It(e),sku:bt(e),price:l.includes("price")?void 0:n(O,{...Pt(e)}),quantity:l.includes("quantity")?void 0:e.quantity,total:y(j,{children:[l.includes("total")?void 0:n(O,{...f}),l.includes("totalDiscount")?void 0:g&&n(O,{...g})]}),attributes:Vt(e),configurations:xt(e),totalExcludingTax:l.includes("totalExcludingTax")?void 0:Ot(e),taxIncluded:(s==null?void 0:s.price)==="INCLUDING_TAX",taxExcluded:!l.includes("totalExcludingTax")&&(s==null?void 0:s.price)==="INCLUDING_EXCLUDING_TAX",warning:Qt(e),alert:Gt(e),quantityType:vt,dropdownOptions:pt,onQuantity:W?C=>{z(e,C)}:void 0,onRemove:$?()=>z(e,0):void 0,discount:ht&&e.discounted&&e.discountPercentage?n("div",{"data-testid":"item-discount-percent",children:i.discountPercent.replace("{discount}",((p=e.discountPercentage)==null?void 0:p.toString())??"")}):void 0,savings:yt&&e.discounted&&e.savingsAmount?y("div",{children:[n("span",{children:n(O,{...Nt(e)})})," ",i.savingsAmount]}):void 0,footer:Xt(e)},e.uid)}):null,Y=n(w,{name:"EmptyCart",slot:c==null?void 0:c.EmptyCart,context:{},children:n(Mt,{"data-testid":"empty-cart",ctaLinkURL:_==null?void 0:_()})}),H=n(w,{name:"Heading",slot:c==null?void 0:c.Heading,context:{count:a==null?void 0:a.totalQuantity},children:n("div",{"data-testid":"default-cart-heading",children:i.heading.replace("({count})",a!=null&&a.totalQuantity?`(${a==null?void 0:a.totalQuantity.toString()})`:"")})}),jt=H.props.children.props.children,$t=()=>{const t=a==null?void 0:a.items.filter(e=>e.outOfStock);t==null||t.forEach(e=>{z(e,0)})},Zt=R(t=>t.outOfStock||t.insufficientQuantity||!1),D=a!=null&&a.hasOutOfStockItems?n(Tt,{"data-testid":"cart-out-of-stock-message",icon:n(q,{source:dt,size:"16"}),itemList:n(lt,{"data-testid":"out-of-stock-cart-items",children:Zt}),type:"warning",heading:i.outOfStockHeading,description:i.outOfStockDescription,variant:"primary",actionButtonPosition:"bottom",additionalActions:a!=null&&a.hasFullyOutOfStockItems&&$?[{label:i.removeAction,onClick:$t}]:void 0}):void 0,V=R(t=>!t.outOfStock&&!t.insufficientQuantity),tt=Q?Math.max(h||5,5):Math.min((a==null?void 0:a.totalQuantity)||5,5),et=(a==null?void 0:a.totalQuantity)>tt,Bt=et&&!Q&&tt!=h,b=a!=null&&a.totalQuantity&&V?n(w,{name:"Footer",slot:c==null?void 0:c.CartSummaryFooter,context:{displayMaxItems:Q,routeCart:u},"data-testid":"cart-cart-summary-footer-slot",children:n("div",{"data-testid":"cart-cart-summary-footer",children:et?Bt?n(T,{className:"cart-cart-summary-list-footer__action",onClick:St,"data-testid":"view-more-items-button",variant:"tertiary",children:i.viewMore}):u&&n(T,{className:"cart-cart-summary-list-footer__action",href:u(),variant:"tertiary","data-testid":"view-cart-or-less-items-button",children:i.viewAll}):u&&n(T,{className:"cart-cart-summary-list-footer__action",href:u(),variant:"tertiary","data-testid":"view-cart-button",children:i.viewAll})})}):null,nt=a!=null&&a.totalQuantity?n(lt,{"data-testid":"cart-list",children:V==null?void 0:V.slice(0,Q?Math.max(h||(a==null?void 0:a.totalQuantity),5):Math.min(h??5,5))}):null;return ft?n(Ut,{"data-testid":"cart-summary-list-accordion",className:L(["cart-cart-summary-list-accordion",`cart-cart-summary-list__background--${B}`]),iconOpen:ee,iconClose:Dt,children:n(Wt,{title:jt,"data-testid":"cart-summary-list-accordion__section",open:!0,renderContentWhenClosed:!0,children:n(gt,{...K,"aria-expanded":!0,"aria-label":"TEST",className:"cart-cart-summary-list-accordion__list",loading:F,footer:k?void 0:b||(u?b:void 0),emptyCart:Y,products:nt,outOfStockMessage:D,variant:B})})}):n(gt,{...K,heading:U?void 0:H,footer:k?void 0:b||(u?b:void 0),loading:F,emptyCart:Y,products:nt,outOfStockMessage:D,variant:B})};ae.getInitialData=async function(){return Rt()};export{ae as C};
|
|
3
|
+
import{jsx as n,jsxs as y,Fragment as M}from"@dropins/tools/preact-jsx-runtime.js";import*as o from"@dropins/tools/preact-compat.js";import{useState as N,useCallback as Bt,useEffect as It}from"@dropins/tools/preact-compat.js";import{classes as I,VComponent as b,Slot as C}from"@dropins/tools/lib.js";import{E as Ft}from"./EmptyCart.js";/* empty css */import{Divider as Et,Skeleton as zt,SkeletonRow as Wt,InLineAlert as qt,CartList as St,Icon as W,Button as q,Accordion as Ut,AccordionSection as Tt,CartItem as Jt,Price as A,Image as Kt}from"@dropins/tools/components.js";import"@dropins/tools/preact-hooks.js";import{g as Yt}from"./persisted-data.js";import{events as Rt}from"@dropins/tools/event-bus.js";import{s as Ht}from"./resetCart.js";import{u as Pt}from"./updateProductsFromCart.js";import{S as Dt}from"./ChevronDown.js";import{useText as te}from"@dropins/tools/i18n.js";const ee=g=>o.createElement("svg",{id:"Icon_Chevron_right_Base","data-name":"Icon \\u2013 Chevron right \\u2013 Base",xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",...g},o.createElement("g",{id:"Large"},o.createElement("rect",{id:"Placement_area","data-name":"Placement area",width:24,height:24,fill:"#fff",opacity:0}),o.createElement("g",{id:"Chevron_right_icon","data-name":"Chevron right icon"},o.createElement("path",{vectorEffect:"non-scaling-stroke",id:"chevron",d:"M199.75,367.5l4.255,-4.255-4.255,-4.255",transform:"translate(-189.25 -351.0)",fill:"none",stroke:"currentColor"})))),xt=g=>o.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...g},o.createElement("g",{clipPath:"url(#clip0_4797_15331)"},o.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M10.25 20.91L1.5 17.55V6.51996L10.25 9.92996V20.91Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),o.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M6.24023 4.64001L14.9902 8.06001V11.42",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),o.createElement("path",{className:"error-icon",vectorEffect:"non-scaling-stroke",d:"M19 13.31L15.5 19.37H22.5L19 13.31Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),o.createElement("path",{className:"error-icon",vectorEffect:"non-scaling-stroke",d:"M19.0202 17.11H18.9802L18.9502 15.56H19.0502L19.0202 17.11ZM18.9602 18.29V18.06H19.0502V18.29H18.9602Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),o.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M19 12.16V6.51996L10.25 9.92996V20.91L14.27 19.37L14.4 19.32",stroke:"currentColor",strokeLinejoin:"round"}),o.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M1.5 6.51999L10.25 3.04999L19 6.51999L10.25 9.92999L1.5 6.51999Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"})),o.createElement("defs",null,o.createElement("clipPath",{id:"clip0_4797_15331"},o.createElement("rect",{width:22,height:18.86,fill:"white",transform:"translate(1 2.54999)"})))),ne=g=>o.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...g},o.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M0.75 12C0.75 5.78421 5.78421 0.75 12 0.75C18.2158 0.75 23.25 5.78421 23.25 12C23.25 18.2158 18.2158 23.25 12 23.25C5.78421 23.25 0.75 18.2158 0.75 12Z",stroke:"currentColor"}),o.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M11.75 5.88423V4.75H12.25V5.88423L12.0485 13.0713H11.9515L11.75 5.88423ZM11.7994 18.25V16.9868H12.2253V18.25H11.7994Z",stroke:"currentColor"})),Nt=({className:g,children:U,heading:w,footer:v,emptyCart:E,products:d,outOfStockMessage:m,variant:S="primary",loading:h=!0,...c})=>n("div",{...c,className:I(["cart-cart-summary-list",g,`cart-cart-summary-list__background--${S}`]),children:h?n(re,{}):y(M,{children:[(w||m)&&y("div",{"data-testid":"cart-summary-list-heading-wrapper",className:I(["cart-cart-summary-list__heading",["cart-cart-summary-list__heading--full-width",!d]]),children:[w&&y(M,{children:[n(b,{node:w,className:"cart-cart-summary-list__heading-text"}),n(Et,{variant:"primary",className:I(["cart-cart-summary-list__heading-divider"])})]}),m&&n(b,{node:m,className:"cart-cart-summary-list__out-of-stock-message"})]}),n("div",{className:I(["cart-cart-summary-list__content",["cart-cart-summary-list__content--empty",!d]]),children:d||n(b,{node:E,className:"cart-cart-summary-list__empty-cart"})}),v&&y(M,{children:[n(Et,{variant:"primary",className:I(["cart-cart-summary-list__footer-divider"])}),n(b,{node:v,className:"cart-cart-summary-list__footer-text"})]})]})}),re=()=>n(zt,{"data-testid":"cart-summary-list-skeleton",className:"cart-cart-summary-list__skeleton",rowGap:"medium",children:n(Wt,{variant:"row",size:"xlarge",fullWidth:!0,lines:3,multilineGap:"small"})}),ae=({initialData:g=null,hideHeading:U,hideFooter:w,routeProduct:v,routeEmptyCartCTA:E,routeCart:d,onItemUpdate:m,onItemRemove:S,maxItems:h,slots:c,attributesToHide:l=[],enableRemoveItem:O,enableUpdateItemQuantity:Z,onItemsErrorsChange:B,accordion:At=!1,variant:F="primary",isLoading:Ot,showMaxItems:T,showDiscount:J,showSavings:K,quantityType:Y,dropdownOptions:R,...H})=>{var Ct;const[Q,Qt]=N(!g),[a,Gt]=N(g),[L,Vt]=N(new Set),[G,D]=N(new Map),s=(Ct=Ht.config)==null?void 0:Ct.shoppingCartDisplaySetting,[V,Xt]=N(T?!0:!h&&!T),i=te({file:"Cart.CartItem.file",files:"Cart.CartItem.files",heading:"Cart.Cart.heading",message:"Cart.CartItem.message",recipient:"Cart.CartItem.recipient",regularPrice:"Cart.CartItem.regularPrice",discountedPrice:"Cart.CartItem.discountedPrice",sender:"Cart.CartItem.sender",lowInventory:"Cart.CartItem.lowInventory",insufficientQuantity:"Cart.CartItem.insufficientQuantity",insufficientQuantityGeneral:"Cart.CartItem.insufficientQuantityGeneral",outOfStockHeading:"Cart.OutOfStockMessage.heading",outOfStockDescription:"Cart.OutOfStockMessage.message",outOfStockAlert:"Cart.OutOfStockMessage.alert",removeAction:"Cart.OutOfStockMessage.action",notAvailableMessage:"Cart.CartItem.notAvailableMessage",viewMore:"Cart.Cart.viewMore",viewAll:"Cart.Cart.viewAll",discountPercent:"Cart.CartItem.discountPercentage",savingsAmount:"Cart.CartItem.savingsAmount"}),X=(t,e)=>{Vt(r=>(e?r.add(t):r.delete(t),new Set(r)))},tt=(t,e)=>{D(r=>(e?r.set(t,e):r.delete(t),new Map(r)))},z=(t,e)=>{X(t.uid,!0),D(new Map),O&&e===0?Pt([{uid:t.uid,quantity:e}]).then(()=>{S==null||S({item:t})}).finally(()=>{X(t.uid,!1)}).catch(r=>{console.warn(r)}):Z&&Pt([{uid:t.uid,quantity:e}]).then(()=>{m==null||m({item:t})}).finally(()=>{X(t.uid,!1)}).catch(r=>{tt(t.uid,r.message)})},jt=Bt(()=>{Xt(t=>!t)},[]);It(()=>{const t=Rt.on("cart/data",e=>{Gt(e),Qt(!!Ot)},{eager:!0});return()=>{t==null||t.off()}},[]),It(()=>{B&&B(G)},[G,B]);const et=(t,e)=>{if(l.includes("image"))return;const r={loading:e<4?"eager":"lazy",src:t.image.src,alt:t.image.alt,width:"300",height:"300",params:{width:300}},u=n(Kt,{"data-testid":"cart-list-item-image",...r});return n(C,{name:"Thumbnail",slot:c==null?void 0:c.Thumbnail,context:{item:t,defaultImageProps:r},children:v?n("a",{href:v(t),children:u}):u})},nt=t=>{if(!l.includes("name"))return n("span",{"data-testid":"cart-list-item-title",children:v?n("a",{href:v(t),children:t.name}):t.name})},rt=t=>{if(l.includes("configurations"))return;const e={...t.bundleOptions,...t.selectedOptions,...t.customizableOptions,...t.recipient?{[i.recipient]:t.recipient}:null,...t.recipientEmail&&t.recipient?{[i.recipient]:`${t.recipient} (${t.recipientEmail})`}:null,...t.sender?{[i.sender]:t.sender}:null,...t.senderEmail&&t.sender?{[i.sender]:`${t.sender} (${t.senderEmail})`}:{},...t.message?{[i.message]:t.message}:null,...t.links&&t.links.count?t.links.count>1?{[i.files.replace("{count}",t.links.count.toString())]:t.links.result}:{[i.file.replace("{count}",t.links.count.toString())]:t.links.result}:null};if(Object.keys(e).length!==0)return e},at=t=>{var e,r,u,f;return(s==null?void 0:s.price)==="INCLUDING_TAX"?t.discounted?{amount:t.regularPrice.value,currency:t.regularPrice.currency,style:{font:"inherit"},"data-testid":"including-tax-item-price"}:{amount:(e=t.taxedPrice)==null?void 0:e.value,currency:(r=t.taxedPrice)==null?void 0:r.currency,style:{font:"inherit"},"data-testid":"including-tax-item-price"}:{amount:(u=t.regularPrice)==null?void 0:u.value,currency:(f=t.regularPrice)==null?void 0:f.currency,style:{font:"inherit"},"data-testid":"regular-item-price"}},it=t=>{var e,r;return{amount:(e=t.savingsAmount)==null?void 0:e.value,currency:(r=t.savingsAmount)==null?void 0:r.currency,style:{font:"inherit"},"data-testid":"item-savings-amount"}},ct=t=>(s==null?void 0:s.price)==="INCLUDING_EXCLUDING_TAX"?n(A,{amount:t.rowTotal.value,currency:t.rowTotal.currency,"data-testid":"excluding-tax-total","aria-label":i.regularPrice}):void 0,ot=t=>{var u,f,_,p,k,P,x,wt,Lt,_t;const e={"aria-label":i.regularPrice},r=t.discounted?{}:null;return["INCLUDING_TAX","INCLUDING_EXCLUDING_TAX"].includes(s==null?void 0:s.price)?(e.amount=(u=t.rowTotalIncludingTax)==null?void 0:u.value,e.currency=(f=t.rowTotalIncludingTax)==null?void 0:f.currency,e.variant=t.discounted?"strikethrough":"default",e["data-testid"]="including-tax-item-total",r&&(e.amount=(_=t.total)==null?void 0:_.value,e.currency=(p=t.total)==null?void 0:p.currency,r.amount=(k=t.rowTotalIncludingTax)==null?void 0:k.value,r.currency=(P=t.rowTotalIncludingTax)==null?void 0:P.currency,r.sale=!0,r["aria-label"]=i.discountedPrice,r["data-testid"]="discount-total")):(e.amount=(x=t.total)==null?void 0:x.value,e.currency=(wt=t.total)==null?void 0:wt.currency,e.variant=t.discounted?"strikethrough":"default",e["data-testid"]="regular-item-total",r&&(r.amount=(Lt=t.discountedTotal)==null?void 0:Lt.value,r.currency=(_t=t.discountedTotal)==null?void 0:_t.currency,r.sale=!0,r["aria-label"]=i.regularPrice,r["data-testid"]="discount-total")),{totalProps:e,discountProps:r}},st=t=>{var k,P,x;if(l.includes("warning"))return;const e=G.get(t.uid),r=(k=G.get(t.uid))==null?void 0:k.includes("The requested qty is not available"),u=L.has(t.uid),f=t.insufficientQuantity&&t.stockLevel?t.stockLevel==="noNumber"?i.insufficientQuantityGeneral:i.insufficientQuantity.replace("{inventory}",(P=t.stockLevel)==null?void 0:P.toString()).replace("{count}",t.quantity.toString()):"",_=t.lowInventory&&t.onlyXLeftInStock&&i.lowInventory.replace("{count}",(x=t.onlyXLeftInStock)==null?void 0:x.toString()),p=!t.outOfStock&&e&&r?i.notAvailableMessage:e;return!u&&(e||t.insufficientQuantity||t.lowInventory)?y("span",{"data-testid":"item-warning",children:[n(W,{source:ne,size:"16"}),p||f||_]}):void 0},lt=t=>l!=null&&l.includes("alert")?void 0:!L.has(t.uid)&&t.outOfStock?y("span",{"data-testid":"item-alert",children:[n(W,{source:xt,size:"16"}),i.outOfStockAlert]}):void 0,ut=t=>n(C,{name:"ProductAttributes",slot:c==null?void 0:c.ProductAttributes,context:{item:t}}),dt=t=>{if(!l.includes("sku"))return n("span",{"data-testid":"cart-list-item-sku",children:t.sku})},gt=t=>n(C,{name:"Footer",slot:c==null?void 0:c.Footer,context:{item:t,handleItemsLoading:X,handleItemsError:tt,onItemUpdate:m}}),ft=t=>a!=null&&a.totalQuantity?a.items.filter(t).map((e,r)=>{var p;const{totalProps:u,discountProps:f}=ot(e),_=n(Jt,{updating:L==null?void 0:L.has(e.uid),loading:Q,"data-testid":`cart-list-item-entry-${e.uid}`,image:et(e,r),title:nt(e),sku:dt(e),price:l.includes("price")?void 0:n(A,{...at(e)}),quantity:l.includes("quantity")?void 0:e.quantity,total:y(M,{children:[l.includes("total")?void 0:n(A,{...u}),l.includes("totalDiscount")?void 0:f&&n(A,{...f})]}),attributes:ut(e),configurations:rt(e),totalExcludingTax:l.includes("totalExcludingTax")?void 0:ct(e),taxIncluded:(s==null?void 0:s.price)==="INCLUDING_TAX",taxExcluded:!l.includes("totalExcludingTax")&&(s==null?void 0:s.price)==="INCLUDING_EXCLUDING_TAX",warning:st(e),alert:lt(e),quantityType:Y,dropdownOptions:R,onQuantity:Z?k=>{z(e,k)}:void 0,onRemove:O?()=>z(e,0):void 0,discount:J&&e.discounted&&e.discountPercentage?n("div",{"data-testid":"item-discount-percent",children:i.discountPercent.replace("{discount}",((p=e.discountPercentage)==null?void 0:p.toString())??"")}):void 0,savings:K&&e.discounted&&e.savingsAmount?y("div",{children:[n("span",{children:n(A,{...it(e)})})," ",i.savingsAmount]}):void 0,footer:gt(e)},e.uid);return n(C,{name:"CartItem",slot:c==null?void 0:c.CartItem,context:{item:e,index:r,enableUpdateItemQuantity:Z,enableRemoveItem:O,itemsLoading:L,loading:Q,attributesToHide:l,cartTaxesConfig:s,quantityType:Y,dropdownOptions:R,showDiscount:J,showSavings:K,dictionary:i,getImage:et,getTitle:nt,getSku:dt,getPriceProps:at,getTotalPriceProps:ot,getProductAttributes:ut,getConfiguration:rt,getTotalExcludingTax:ct,getWarning:st,getAlert:lt,getFooter:gt,getSavingsAmount:it},children:_},e.uid)}):null,mt=n(C,{name:"EmptyCart",slot:c==null?void 0:c.EmptyCart,context:{},children:n(Ft,{"data-testid":"empty-cart",ctaLinkURL:E==null?void 0:E()})}),ht=n(C,{name:"Heading",slot:c==null?void 0:c.Heading,context:{count:a==null?void 0:a.totalQuantity},children:n("div",{"data-testid":"default-cart-heading",children:i.heading.replace("({count})",a!=null&&a.totalQuantity?`(${a==null?void 0:a.totalQuantity.toString()})`:"")})}),$t=ht.props.children.props.children,bt=()=>{const t=a==null?void 0:a.items.filter(e=>e.outOfStock);t==null||t.forEach(e=>{z(e,0)})},Mt=ft(t=>t.outOfStock||t.insufficientQuantity||!1),yt=a!=null&&a.hasOutOfStockItems?n(qt,{"data-testid":"cart-out-of-stock-message",icon:n(W,{source:xt,size:"16"}),itemList:n(St,{"data-testid":"out-of-stock-cart-items",children:Mt}),type:"warning",heading:i.outOfStockHeading,description:i.outOfStockDescription,variant:"primary",actionButtonPosition:"bottom",additionalActions:a!=null&&a.hasFullyOutOfStockItems&&O?[{label:i.removeAction,onClick:bt}]:void 0}):void 0,j=ft(t=>!t.outOfStock&&!t.insufficientQuantity),vt=V?Math.max(h||5,5):Math.min((a==null?void 0:a.totalQuantity)||5,5),pt=(a==null?void 0:a.totalQuantity)>vt,Zt=pt&&!V&&vt!=h,$=a!=null&&a.totalQuantity&&j?n(C,{name:"Footer",slot:c==null?void 0:c.CartSummaryFooter,context:{displayMaxItems:V,routeCart:d},"data-testid":"cart-cart-summary-footer-slot",children:n("div",{"data-testid":"cart-cart-summary-footer",children:pt?Zt?n(q,{className:"cart-cart-summary-list-footer__action",onClick:jt,"data-testid":"view-more-items-button",variant:"tertiary",children:i.viewMore}):d&&n(q,{className:"cart-cart-summary-list-footer__action",href:d(),variant:"tertiary","data-testid":"view-cart-or-less-items-button",children:i.viewAll}):d&&n(q,{className:"cart-cart-summary-list-footer__action",href:d(),variant:"tertiary","data-testid":"view-cart-button",children:i.viewAll})})}):null,kt=a!=null&&a.totalQuantity?n(St,{"data-testid":"cart-list",children:j==null?void 0:j.slice(0,V?Math.max(h||(a==null?void 0:a.totalQuantity),5):Math.min(h??5,5))}):null;return At?n(Ut,{"data-testid":"cart-summary-list-accordion",className:I(["cart-cart-summary-list-accordion",`cart-cart-summary-list__background--${F}`]),iconOpen:ee,iconClose:Dt,children:n(Tt,{title:$t,"data-testid":"cart-summary-list-accordion__section",open:!0,renderContentWhenClosed:!0,children:n(Nt,{...H,"aria-expanded":!0,"aria-label":"TEST",className:"cart-cart-summary-list-accordion__list",loading:Q,footer:w?void 0:$||(d?$:void 0),emptyCart:mt,products:kt,outOfStockMessage:yt,variant:F})})}):n(Nt,{...H,heading:U?void 0:ht,footer:w?void 0:$||(d?$:void 0),loading:Q,emptyCart:mt,products:kt,outOfStockMessage:yt,variant:F})};ae.getInitialData=async function(){return Yt()};export{ae as C};
|
package/chunks/EmptyCart.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{jsx as r}from"@dropins/tools/preact-jsx-runtime.js";import{classes as o}from"@dropins/tools/lib.js";import{IllustratedMessage as i,
|
|
3
|
+
import{jsx as r}from"@dropins/tools/preact-jsx-runtime.js";import{classes as o}from"@dropins/tools/lib.js";import{IllustratedMessage as i,Button as s,Icon as m}from"@dropins/tools/components.js";/* empty css */import*as t from"@dropins/tools/preact-compat.js";import{useText as l}from"@dropins/tools/i18n.js";const p=e=>t.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},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)"})))),g=({className:e,children:d,ctaLinkURL:a,...n})=>{const c=l({emptyCart:"Cart.EmptyCart.heading",cta:"Cart.EmptyCart.cta"});return r("div",{...n,className:o(["cart-empty-cart",e]),children:r(i,{className:o(["cart-empty-cart__wrapper",e]),"data-testid":"cart-empty-cart",heading:c.emptyCart,icon:r(m,{className:"cart-empty-cart__icon",source:p}),action:a?r(s,{"data-testid":"cart-empty-cart-button",size:"medium",variant:"primary",type:"submit",href:a,children:c.cta},"routeHome"):void 0})})};export{g as E};
|
package/chunks/OrderSummary.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{jsx as r,jsxs as p,Fragment as xr}from"@dropins/tools/preact-jsx-runtime.js";import{useState as M,useEffect as ne,useCallback as pr,Fragment as gr}from"@dropins/tools/preact-compat.js";import{VComponent as L,classes as nr,Slot as ce}from"@dropins/tools/lib.js";import{events as cr}from"@dropins/tools/event-bus.js";import{g as Tr}from"./persisted-data.js";import{s as re}from"./resetCart.js";import{g as yr}from"./getEstimatedTotals.js";import{p as hr}from"./acdl.js";import"@dropins/tools/preact-hooks.js";import{Accordion as ir,AccordionSection as lr,ProgressSpinner as Cr,Divider as Sr,Price as u,Icon as ur,Button as Ir}from"@dropins/tools/components.js";/* empty css */import{O as C}from"./OrderSummaryLine.js";import{S as or}from"./ChevronDown.js";import{S as sr}from"./ChevronUp.js";import{useText as mr,Text as dr}from"@dropins/tools/i18n.js";import{S as br}from"./Coupon.js";import{S as fr}from"./GiftCard.js";const vr=({className:ee,children:V,variant:k="primary",heading:d,loading:B=!0,subTotal:b,shipping:T,discounts:f,taxTotal:S,taxesApplied:w,total:e,primaryAction:F,coupons:o,giftCards:A,totalSaved:v,appliedGiftCards:m,printedCard:t,itemsGiftWrapping:x,orderGiftWrapping:g,updateLineItems:s=_=>_,...W})=>{const[_,P]=M(!1),l=mr({checkout:"Cart.PriceSummary.checkout",discountedPrice:"Cart.CartItem.discountedPrice",download:"Cart.CartItem.download",heading:"Cart.Cart.heading",message:"Cart.CartItem.message",regularPrice:"Cart.CartItem.regularPrice",recipient:"Cart.CartItem.recipient",sender:"Cart.CartItem.sender",file:"Cart.CartItem.file",files:"Cart.CartItem.files",orderSummary:"Cart.PriceSummary.orderSummary",taxesBreakdownTitle:"Cart.PriceSummary.taxes.breakdown",taxTotal:"Cart.PriceSummary.taxes.total",taxEstimated:"Cart.PriceSummary.taxes.estimated",taxTotalOnly:"Cart.PriceSummary.taxes.totalOnly",showTaxBreakdown:"Cart.PriceSummary.taxes.showBreakdown",hideTaxBreakdown:"Cart.PriceSummary.taxes.hideBreakdown",taxToBeDetermined:"Cart.PriceSummary.taxToBeDetermined",subtotalLabel:"Cart.PriceSummary.subTotal.label",subtotalWithTaxes:"Cart.PriceSummary.subTotal.withTaxes",subtotalWithoutTaxes:"Cart.PriceSummary.subTotal.withoutTaxes",totalEstimated:"Cart.PriceSummary.total.estimated",totalLabel:"Cart.PriceSummary.total.label",totalWithoutTax:"Cart.PriceSummary.total.withoutTax",totalSaved:"Cart.PriceSummary.total.saved",shippingLabel:"Cart.PriceSummary.shipping.label",zipPlaceholder:"Cart.PriceSummary.shipping.zipPlaceholder",editZipAction:"Cart.PriceSummary.shipping.editZipAction",shippingWithTaxes:"Cart.PriceSummary.shipping.withTaxes",shippingWithoutTaxes:"Cart.PriceSummary.shipping.withoutTaxes",shippingEstimated:"Cart.PriceSummary.shipping.estimated",shippingEstimatedByState:"Cart.PriceSummary.shipping.alternateField.state",shippingEstimatedByZip:"Cart.PriceSummary.shipping.alternateField.zip",destinationLinkAriaLabel:"Cart.PriceSummary.shipping.destinationLinkAriaLabel",applyButton:"Cart.PriceSummary.estimatedShippingForm.apply.label",countryField:"Cart.PriceSummary.estimatedShippingForm.country.placeholder",freeShipping:"Cart.PriceSummary.freeShipping",stateField:"Cart.PriceSummary.estimatedShippingForm.state.placeholder",zipField:"Cart.PriceSummary.estimatedShippingForm.zip.placeholder",printedCardTitle:"Cart.PriceSummary.giftOptionsTax.printedCard.title",printedCardInclTax:"Cart.PriceSummary.giftOptionsTax.printedCard.inclTax",printedCardExclTax:"Cart.PriceSummary.giftOptionsTax.printedCard.exclTax",itemGiftWrappingTitle:"Cart.PriceSummary.giftOptionsTax.itemGiftWrapping.title",itemGiftWrappingInclTax:"Cart.PriceSummary.giftOptionsTax.itemGiftWrapping.inclTax",itemGiftWrappingExclTax:"Cart.PriceSummary.giftOptionsTax.itemGiftWrapping.exclTax",orderGiftWrappingTitle:"Cart.PriceSummary.giftOptionsTax.orderGiftWrapping.title",orderGiftWrappingInclTax:"Cart.PriceSummary.giftOptionsTax.orderGiftWrapping.inclTax",orderGiftWrappingExclTax:"Cart.PriceSummary.giftOptionsTax.orderGiftWrapping.exclTax"}),O=m?r(C,{label:m==null?void 0:m.label,price:m==null?void 0:m.price,classSuffixes:["applied-gift-cards"],children:m==null?void 0:m.content}):null,E=b&&p(C,{label:l.subtotalLabel,price:b.price,classSuffixes:["subTotal"],children:[b.taxIncluded&&r("div",{"data-testid":"sub-total-tax-caption",className:"cart-order-summary__caption",children:r("span",{children:l.subtotalWithTaxes})}),b.taxExcluded?r("div",{"data-testid":"sub-total-tax-caption-excluded",className:"cart-order-summary__caption",children:p("span",{children:[b.priceExcludingTax," ",l.subtotalWithoutTaxes]})}):void 0]}),D=f&&f.length>0&&r(xr,{children:f.map(c=>p(C,{label:c.label,price:c.price,classSuffixes:["discount"],children:[c.coupon&&r(L,{node:c.coupon,className:"cart-order-summary__coupon__code"}),c.caption&&r(L,{node:c.caption,className:"cart-order-summary__caption"})]}))}),a=w&&w.length>0?r(ir,{"data-testid":"tax-breakdown",className:"cart-order-summary__taxes",iconOpen:or,iconClose:sr,children:p(lr,{title:l.taxesBreakdownTitle,secondaryText:!_&&S?r(L,{node:S.price,className:"cart-order-summary__price"}):void 0,renderContentWhenClosed:!1,onStateChange:P,children:[r("div",{className:"cart-order-summary__appliedTaxes",children:w.map(c=>r(C,{label:c.label,price:c.price,classSuffixes:["taxEntry"],labelClassSuffix:"muted"}))}),S&&r(C,{label:l.taxTotal,price:S.price,classSuffixes:["taxTotal"],labelClassSuffix:"muted"})]})}):S&&r(C,{label:S.estimated?l.taxEstimated:l.taxTotalOnly,price:S.price,classSuffixes:["taxTotal"],testId:"tax-total-only"}),y=t!=null&&t.renderContent?p(C,{label:l.printedCardTitle,price:t.taxInclAndExcl||t.taxIncluded?t.priceInclTax:t.priceExclTax,classSuffixes:["printedCardContent"],children:[t.taxIncluded&&r("div",{"data-testid":"printed-card-incl",className:"cart-order-summary__caption",children:r("span",{children:l.printedCardInclTax})}),t.taxInclAndExcl?r("div",{"data-testid":"printed-card-incl-excl",className:"cart-order-summary__caption",children:p("span",{children:[t.priceExclTax," ",l.printedCardExclTax]})}):void 0]}):null,I=x!=null&&x.renderContent?p(C,{label:l.itemGiftWrappingTitle,price:x.taxInclAndExcl||x.taxIncluded?x.priceInclTax:x.priceExclTax,classSuffixes:["itemsGiftWrappingContent"],children:[x.taxIncluded?r("div",{"data-testid":"item-gift-wrapping-incl",className:"cart-order-summary__caption",children:r("span",{children:l.itemGiftWrappingInclTax})}):null,x.taxInclAndExcl?r("div",{"data-testid":"item-gift-wrapping-incl-excl",className:"cart-order-summary__caption",children:p("span",{children:[x.priceExclTax," ",l.itemGiftWrappingExclTax]})}):null]}):null,U=g!=null&&g.renderContent?p(C,{label:l.orderGiftWrappingTitle,price:g.taxInclAndExcl||g.taxIncluded?g.priceInclTax:g.priceExclTax,classSuffixes:["orderGiftWrappingContent"],children:[g.taxIncluded&&r("div",{"data-testid":"order-gift-wrapping-incl",className:"cart-order-summary__caption",children:r("span",{children:l.orderGiftWrappingInclTax})}),g.taxInclAndExcl?r("div",{"data-testid":"order-gift-wrapping-incl-excl",className:"cart-order-summary__caption",children:p("span",{children:[g.priceExclTax," ",l.orderGiftWrappingExclTax]})}):void 0]}):null,X=[{key:"subTotalContent",sortOrder:100,content:E},...T?[{key:"shippingContent",sortOrder:200,content:r(L,{node:T,className:"cart-order-summary__shipping"})}]:[],{key:"printedCard",sortOrder:300,content:y},{key:"itemsGiftWrappingContent",sortOrder:400,content:I},{key:"orderGiftWrappingContent",sortOrder:500,content:U},{key:"discountsContent",sortOrder:600,content:D},{key:"appliedGiftCardsContent",sortOrder:700,content:O},{key:"taxContent",sortOrder:800,content:a},...e?[{key:"taxContent",sortOrder:900,content:r(C,{label:e.estimated?l.totalEstimated:l.totalLabel,price:e.price,classSuffixes:["total","total--padded"],testId:"total-content",labelClassSuffix:"bold"})}]:[],...e!=null&&e.priceWithoutTax?[{key:"totalWithoutTaxContent",sortOrder:1e3,content:r(C,{label:l.totalWithoutTax,price:e.priceWithoutTax,classSuffixes:["totalWithoutTax"],testId:"total-without-tax",labelClassSuffix:"muted"})}]:[],...v?[{key:"totalSavedContent",sortOrder:1100,content:r(C,{label:l.totalSaved,price:v,classSuffixes:["saved"],testId:"total-saved",labelClassSuffix:"muted"})}]:[],...F?[{key:"primaryActionContent",sortOrder:1200,content:r("div",{className:nr(["cart-order-summary__entry","cart-order-summary__primaryAction"]),children:F})}]:[],...o?[{key:"couponsContent",sortOrder:1300,content:r(L,{node:o,className:"cart-order-summary__coupons"})}]:[],...A?[{key:"giftCardsContent",sortOrder:1400,content:r(L,{node:A,className:"cart-order-summary__gift-cards"})}]:[]],z=s(X).sort((c,h)=>c.sortOrder-h.sortOrder);return p("div",{...W,className:nr(["cart-order-summary",["cart-order-summary--loading",B],[`cart-order-summary__${k}`,k],ee]),children:[B&&r(Cr,{className:"cart-order-summary__spinner"}),p("div",{className:"cart-order-summary__heading",children:[d&&r(L,{node:d,className:"cart-order-summary__heading-text"}),r(Sr,{variant:"primary",className:"cart-order-summary__divider-primary"})]}),r("div",{className:"cart-order-summary__content",children:z.map(c=>Array.isArray(c.content)?r(ir,{className:c.className,actionIconPosition:"right",iconOpen:or,iconClose:sr,children:r(lr,{defaultOpen:!1,title:c.title,renderContentWhenClosed:!1,children:c.content.map(h=>h.content)})},c.key):c.content)})]})},_r=()=>{const[ee,V]=M(!1),[k,d]=M();return{handleEstimateTotals:(b,T)=>{V(!0);const{shippingCountry:f,shippingState:S="",shippingStateId:w,shippingZip:e=""}=b,F={countryCode:f,postcode:e,region:{region:S,id:w},shipping_method:{carrier_code:(T==null?void 0:T.carrier_code)||"",method_code:(T==null?void 0:T.method_code)||""}};yr(F).then(o=>{var A,v,m,t,x,g,s,W,_,P,l,O,E,D,a,y,I,U,X,z;o&&d({estimatedTaxTotal:{amount:(A=o.totalTax)==null?void 0:A.value,currency:(v=o.totalTax)==null?void 0:v.currency},estimatedSubTotal:{excludingTax:{amount:(t=(m=o.subtotal)==null?void 0:m.excludingTax)==null?void 0:t.value,currency:(g=(x=o.subtotal)==null?void 0:x.excludingTax)==null?void 0:g.currency},includingTax:{amount:(W=(s=o.subtotal)==null?void 0:s.includingTax)==null?void 0:W.value,currency:(P=(_=o.subtotal)==null?void 0:_.includingTax)==null?void 0:P.currency},includingDiscountOnly:{amount:(O=(l=o.subtotal)==null?void 0:l.includingDiscountOnly)==null?void 0:O.value,currency:(D=(E=o.subtotal)==null?void 0:E.includingDiscountOnly)==null?void 0:D.currency}},estimatedGrandTotalPrice:{includingTax:{amount:(a=o.total)==null?void 0:a.includingTax.value,currency:(y=o.total)==null?void 0:y.includingTax.currency},excludingTax:{amount:(I=o.total)==null?void 0:I.excludingTax.value,currency:(U=o.total)==null?void 0:U.excludingTax.currency}},estimatedAppliedTaxes:{taxes:(X=o.appliedTaxes)==null?void 0:X.map(c=>{var h,N;return{label:c.label,amount:{value:(h=c.amount)==null?void 0:h.value,currency:(N=c.amount)==null?void 0:N.currency}}})},estimatedItems:{items:(z=o.items)==null?void 0:z.map(c=>{var h,N,Z,j,Q,$,H,q,J,K;return{uid:c.uid,price:{amount:(h=c.price)==null?void 0:h.value,currency:(N=c.price)==null?void 0:N.currency},taxedPrice:{amount:(Z=c.taxedPrice)==null?void 0:Z.value,currency:(j=c.taxedPrice)==null?void 0:j.currency},rowTotal:{amount:(Q=c.rowTotal)==null?void 0:Q.value,currency:($=c.rowTotal)==null?void 0:$.currency},rowTotalIncludingTax:{amount:(H=c.rowTotalIncludingTax)==null?void 0:H.value,currency:(q=c.rowTotalIncludingTax)==null?void 0:q.currency},regularPrice:{amount:(J=c.regularPrice)==null?void 0:J.value,currency:(K=c.regularPrice)==null?void 0:K.currency}}})}})}).finally(()=>{V(!1)})},estimatedTotals:k,setEstimatedTotals:d,loading:ee}},Pr=({children:ee,initialData:V=null,routeCheckout:k,slots:d,errors:B,showTotalSaved:b,enableCoupons:T,enableGiftCards:f,updateLineItems:S=e=>e,...w})=>{var h,N,Z,j,Q,$,H,q,J,K,ie,le,ue,oe,se,de,me,xe,pe,ge,Te,ye,he,Ce,Se,Ie,be,fe,ve,_e,Pe,Ee,Ne,ke,we,Ae,We,De,Le,Be,Fe,Oe,Ue,Xe,ze,Ve,Ze,je,Qe,$e,He,qe,Je,Ke,Re,Ye,Ge,Me,er;const[e,F]=M(V),[o,A]=M(!1),v=e==null?void 0:e.isVirtual;T=T??!0,f=f??!0;const{handleEstimateTotals:m,estimatedTotals:t,setEstimatedTotals:x,loading:g}=_r(),s=(h=re.config)==null?void 0:h.shoppingCartDisplaySetting,W=(s==null?void 0:s.subtotal)==="INCLUDING_TAX",_=(s==null?void 0:s.subtotal)==="INCLUDING_EXCLUDING_TAX",P=s==null?void 0:s.zeroTax,l=()=>(e==null?void 0:e.appliedGiftCards.reduce((i,n)=>i+n.appliedBalance.value,0))??0,O=i=>i!=null&&i.code?p(gr,{children:[p("span",{className:"cart-order-summary__coupon__code",children:[r(ur,{source:fr,size:"16"}),r("span",{children:i==null?void 0:i.code})]}),p("span",{className:"cart-order-summary__caption",children:[r(dr,{id:"Cart.PriceSummary.giftCard.appliedGiftCards.remainingBalance"}),r(u,{className:"cart-order-summary__caption",weight:"normal",size:"small",amount:i.giftCardBalance.value,currency:i.giftCardBalance.currency})]})]},i.code):null,E=(N=re.config)==null?void 0:N.cartGiftWrapping,D=(Z=re.config)==null?void 0:Z.cartPrintedCard,a=e==null?void 0:e.totalGiftOptions;ne(()=>{const i=cr.on("cart/data",n=>{var R,Y,G;F(n);const te=(R=n==null?void 0:n.addresses)==null?void 0:R.shipping,ae=n==null?void 0:n.isVirtual;(te||ae)&&x(null),t==null&&x({estimatedTaxTotal:{amount:(Y=n==null?void 0:n.totalTax)==null?void 0:Y.value,currency:(G=n==null?void 0:n.totalTax)==null?void 0:G.currency}})},{eager:!0});return()=>{i==null||i.off()}},[]),ne(()=>{A(B)},[B]),ne(()=>{const i=cr.on("shipping/estimate",n=>{var R,Y,G,rr,tr,ar;const te={shippingCountry:(R=n==null?void 0:n.address)==null?void 0:R.countryCode,shippingState:(Y=n==null?void 0:n.address)==null?void 0:Y.region,shippingStateId:(G=n==null?void 0:n.address)==null?void 0:G.regionId,shippingZip:(rr=n==null?void 0:n.address)==null?void 0:rr.postCode},ae={carrier_code:((tr=n==null?void 0:n.shippingMethod)==null?void 0:tr.carrierCode)||"",method_code:((ar=n==null?void 0:n.shippingMethod)==null?void 0:ar.methodCode)||""};m(te,ae)});return()=>{i==null||i.off()}},[m]);const y=mr({checkout:"Cart.PriceSummary.checkout",free:"Cart.PriceSummary.total.free",orderSummary:"Cart.PriceSummary.orderSummary",taxToBeDetermined:"Cart.PriceSummary.taxToBeDetermined"}),I=(e==null?void 0:e.hasOutOfStockItems)||o,U=pr(()=>{!I&&e&&hr(e,re.locale)},[I,e]),X=!v&&(d!=null&&d.EstimateShipping)?r(ce,{name:"EstimateShipping",slot:d.EstimateShipping},"estimateShippingId"):void 0;if(!Object.keys(e??{}).length||(e==null?void 0:e.totalQuantity)===0)return null;const z=T&&(d!=null&&d.Coupons)?r(ce,{name:"Coupons",slot:d.Coupons},"couponsId"):void 0,c=f&&(d!=null&&d.GiftCards)?r(ce,{name:"GiftCards",slot:d.GiftCards},"giftCardId"):void 0;return r(vr,{...w,"data-testid":"cart-order-summary",heading:r("div",{children:y.orderSummary}),shipping:X,coupons:z,giftCards:c,loading:g,updateLineItems:S,appliedGiftCards:(j=e==null?void 0:e.appliedGiftCards)!=null&&j.length?{label:r(dr,{id:"Cart.PriceSummary.giftCard.appliedGiftCards.label",plural:(Q=e==null?void 0:e.appliedGiftCards)==null?void 0:Q.length,fields:{count:($=e==null?void 0:e.appliedGiftCards)==null?void 0:$.length}}),price:r(u,{className:"cart-order-summary__price",amount:-l(),currency:(q=(H=e==null?void 0:e.appliedGiftCards)==null?void 0:H[0])==null?void 0:q.appliedBalance.currency}),content:(J=e==null?void 0:e.appliedGiftCards)==null?void 0:J.map(O).filter(Boolean)}:void 0,printedCard:{renderContent:!!((K=a==null?void 0:a.printedCard)!=null&&K.value),taxIncluded:D==="INCLUDING_TAX",taxInclAndExcl:D==="INCLUDING_EXCLUDING_TAX",priceExclTax:r(u,{"data-testid":"printed-card",amount:(ie=a==null?void 0:a.printedCard)==null?void 0:ie.value,currency:(le=a==null?void 0:a.printedCard)==null?void 0:le.currency}),priceInclTax:r(u,{amount:(ue=a==null?void 0:a.printedCardInclTax)==null?void 0:ue.value,currency:(oe=a==null?void 0:a.printedCardInclTax)==null?void 0:oe.currency})},itemsGiftWrapping:{renderContent:!!((se=a==null?void 0:a.giftWrappingForItems)!=null&&se.value),taxIncluded:E==="INCLUDING_TAX",taxInclAndExcl:E==="INCLUDING_EXCLUDING_TAX",priceExclTax:r(u,{amount:(de=a==null?void 0:a.giftWrappingForItems)==null?void 0:de.value,currency:(me=a==null?void 0:a.giftWrappingForItems)==null?void 0:me.currency}),priceInclTax:r(u,{amount:(xe=a==null?void 0:a.giftWrappingForItemsInclTax)==null?void 0:xe.value,currency:(pe=a==null?void 0:a.giftWrappingForItemsInclTax)==null?void 0:pe.currency})},orderGiftWrapping:{renderContent:!!((ge=a==null?void 0:a.giftWrappingForOrder)!=null&&ge.value),taxIncluded:E==="INCLUDING_TAX",taxInclAndExcl:E==="INCLUDING_EXCLUDING_TAX",priceExclTax:r(u,{amount:(Te=a==null?void 0:a.giftWrappingForOrder)==null?void 0:Te.value,currency:(ye=a==null?void 0:a.giftWrappingForOrder)==null?void 0:ye.currency}),priceInclTax:r(u,{amount:(he=a==null?void 0:a.giftWrappingForOrderInclTax)==null?void 0:he.value,currency:(Ce=a==null?void 0:a.giftWrappingForOrderInclTax)==null?void 0:Ce.currency})},subTotal:{taxIncluded:W&&!P,taxExcluded:_,zeroTaxSubtotal:P,priceExcludingTax:(Se=t==null?void 0:t.estimatedSubTotal)!=null&&Se.excludingTax?r(u,{"data-testid":"subtotal",...(Ie=t==null?void 0:t.estimatedSubTotal)==null?void 0:Ie.excludingTax}):r(u,{"data-testid":"subtotal",amount:(fe=(be=e==null?void 0:e.subtotal)==null?void 0:be.excludingTax)==null?void 0:fe.value,currency:(_e=(ve=e==null?void 0:e.subtotal)==null?void 0:ve.excludingTax)==null?void 0:_e.currency}),price:!P&&W||!P&&_?(Pe=t==null?void 0:t.estimatedSubTotal)!=null&&Pe.includingTax?r(u,{"data-testid":"subtotal",...(Ee=t==null?void 0:t.estimatedSubTotal)==null?void 0:Ee.includingTax}):r(u,{"data-testid":"subtotal",amount:(Ne=e==null?void 0:e.subtotal.includingTax)==null?void 0:Ne.value,currency:(ke=e==null?void 0:e.subtotal.includingTax)==null?void 0:ke.currency}):r(u,{"data-testid":"subtotal",amount:(Ae=(we=e==null?void 0:e.subtotal)==null?void 0:we.excludingTax)==null?void 0:Ae.value,currency:(De=(We=e==null?void 0:e.subtotal)==null?void 0:We.excludingTax)==null?void 0:De.currency})},discounts:(Le=e==null?void 0:e.appliedDiscounts)==null?void 0:Le.map(i=>{var n;return{label:i.label,price:r(u,{"data-testid":"summary-discount-total",amount:-i.amount.value,currency:i.amount.currency,sale:!0}),coupon:i!=null&&i.coupon?p("span",{children:[r(ur,{source:br,size:"16"}),(n=i==null?void 0:i.coupon)==null?void 0:n.code]}):void 0}}),taxTotal:v||t&&t.estimatedTaxTotal==null?{price:r("span",{"data-testid":"tax-total-tbd",children:y.taxToBeDetermined})}:{price:t!=null&&t.estimatedTaxTotal?r(u,{"data-testid":"tax-total-estimated",...t==null?void 0:t.estimatedTaxTotal}):r(u,{"data-testid":"tax-total-actual",amount:(Be=e==null?void 0:e.totalTax)==null?void 0:Be.value,currency:(Fe=e==null?void 0:e.totalTax)==null?void 0:Fe.currency}),estimated:(!t||!t.estimatedTaxTotal)&&!((Oe=e==null?void 0:e.addresses)!=null&&Oe.shipping)},taxesApplied:v?void 0:s!=null&&s.fullSummary?(Xe=((Ue=t==null?void 0:t.estimatedAppliedTaxes)==null?void 0:Ue.taxes)||(e==null?void 0:e.appliedTaxes))==null?void 0:Xe.map(i=>({label:i.label,price:r(u,{"data-testid":"applied-taxes",amount:i.amount.value,currency:i.amount.currency})})):void 0,total:{price:t!=null&&t.estimatedGrandTotalPrice?((Ve=(ze=t==null?void 0:t.estimatedGrandTotalPrice)==null?void 0:ze.includingTax)==null?void 0:Ve.amount)===0?r("span",{"data-testid":"total-including-tax",children:y.free}):r(u,{"data-testid":"total-including-tax-estimated",...(Ze=t==null?void 0:t.estimatedGrandTotalPrice)==null?void 0:Ze.includingTax}):((je=e==null?void 0:e.total)==null?void 0:je.includingTax.value)===0?r("span",{"data-testid":"total-including-tax",children:y.free}):r(u,{"data-testid":"total-including-tax-actual",amount:(Qe=e==null?void 0:e.total)==null?void 0:Qe.includingTax.value,currency:($e=e==null?void 0:e.total)==null?void 0:$e.includingTax.currency}),estimated:(!t||!!(t!=null&&t.estimatedTaxTotal))&&!((He=e==null?void 0:e.addresses)!=null&&He.shipping),priceWithoutTax:s!=null&&s.grandTotal?t!=null&&t.estimatedAppliedTaxes?((Je=(qe=t==null?void 0:t.estimatedGrandTotalPrice)==null?void 0:qe.excludingTax)==null?void 0:Je.amount)===0?r("span",{"data-testid":"total-excluding-tax",children:y.free}):r(u,{"data-testid":"total-excluding-tax",...(Ke=t==null?void 0:t.estimatedGrandTotalPrice)==null?void 0:Ke.excludingTax}):((Re=e==null?void 0:e.total)==null?void 0:Re.excludingTax.value)===0?r("span",{"data-testid":"total-excluding-tax",children:y.free}):r(u,{"data-testid":"total-excluding-tax",amount:(Ye=e==null?void 0:e.total)==null?void 0:Ye.excludingTax.value,currency:(Ge=e==null?void 0:e.total)==null?void 0:Ge.excludingTax.currency}):void 0},primaryAction:k&&r(Ir,{"data-testid":"checkout-button",variant:"primary",disabled:I,"aria-disabled":I,href:I?void 0:k({cartId:e.id}),onClick:U,children:y.checkout}),totalSaved:b?r(u,{amount:(Me=e==null?void 0:e.discount)==null?void 0:Me.value,currency:(er=e==null?void 0:e.total)==null?void 0:er.includingTax.currency}):void 0})};Pr.getInitialData=async function(){return Tr()};export{Pr as O};
|
|
3
|
+
import{jsx as r,jsxs as p,Fragment as xr}from"@dropins/tools/preact-jsx-runtime.js";import{useState as G,useEffect as ne,useCallback as pr,Fragment as gr}from"@dropins/tools/preact-compat.js";import{VComponent as L,classes as nr,Slot as ce}from"@dropins/tools/lib.js";import{events as cr}from"@dropins/tools/event-bus.js";import{g as Tr}from"./persisted-data.js";import{s as re}from"./resetCart.js";import{g as yr}from"./getEstimatedTotals.js";import{p as hr}from"./acdl.js";import"@dropins/tools/preact-hooks.js";import{Accordion as ir,AccordionSection as lr,ProgressSpinner as Cr,Divider as Sr,Price as u,Button as Ir,Icon as ur}from"@dropins/tools/components.js";/* empty css */import{O as C}from"./OrderSummaryLine.js";import{S as or}from"./ChevronUp.js";import{S as sr}from"./ChevronDown.js";import{useText as dr,Text as mr}from"@dropins/tools/i18n.js";import{S as br}from"./Coupon.js";import{S as fr}from"./GiftCard.js";const vr=({className:ee,children:V,variant:k="primary",heading:d,loading:B=!0,subTotal:b,shipping:T,discounts:f,taxTotal:S,taxesApplied:w,total:e,primaryAction:F,coupons:o,giftCards:W,totalSaved:v,appliedGiftCards:m,printedCard:t,itemsGiftWrapping:x,orderGiftWrapping:g,updateLineItems:s=_=>_,...A})=>{const[_,P]=G(!1),l=dr({checkout:"Cart.PriceSummary.checkout",discountedPrice:"Cart.CartItem.discountedPrice",download:"Cart.CartItem.download",heading:"Cart.Cart.heading",message:"Cart.CartItem.message",regularPrice:"Cart.CartItem.regularPrice",recipient:"Cart.CartItem.recipient",sender:"Cart.CartItem.sender",file:"Cart.CartItem.file",files:"Cart.CartItem.files",orderSummary:"Cart.PriceSummary.orderSummary",taxesBreakdownTitle:"Cart.PriceSummary.taxes.breakdown",taxTotal:"Cart.PriceSummary.taxes.total",taxEstimated:"Cart.PriceSummary.taxes.estimated",taxTotalOnly:"Cart.PriceSummary.taxes.totalOnly",showTaxBreakdown:"Cart.PriceSummary.taxes.showBreakdown",hideTaxBreakdown:"Cart.PriceSummary.taxes.hideBreakdown",taxToBeDetermined:"Cart.PriceSummary.taxToBeDetermined",subtotalLabel:"Cart.PriceSummary.subTotal.label",subtotalWithTaxes:"Cart.PriceSummary.subTotal.withTaxes",subtotalWithoutTaxes:"Cart.PriceSummary.subTotal.withoutTaxes",totalEstimated:"Cart.PriceSummary.total.estimated",totalLabel:"Cart.PriceSummary.total.label",totalWithoutTax:"Cart.PriceSummary.total.withoutTax",totalSaved:"Cart.PriceSummary.total.saved",shippingLabel:"Cart.PriceSummary.shipping.label",zipPlaceholder:"Cart.PriceSummary.shipping.zipPlaceholder",editZipAction:"Cart.PriceSummary.shipping.editZipAction",shippingWithTaxes:"Cart.PriceSummary.shipping.withTaxes",shippingWithoutTaxes:"Cart.PriceSummary.shipping.withoutTaxes",shippingEstimated:"Cart.PriceSummary.shipping.estimated",shippingEstimatedByState:"Cart.PriceSummary.shipping.alternateField.state",shippingEstimatedByZip:"Cart.PriceSummary.shipping.alternateField.zip",destinationLinkAriaLabel:"Cart.PriceSummary.shipping.destinationLinkAriaLabel",applyButton:"Cart.PriceSummary.estimatedShippingForm.apply.label",countryField:"Cart.PriceSummary.estimatedShippingForm.country.placeholder",freeShipping:"Cart.PriceSummary.freeShipping",stateField:"Cart.PriceSummary.estimatedShippingForm.state.placeholder",zipField:"Cart.PriceSummary.estimatedShippingForm.zip.placeholder",printedCardTitle:"Cart.PriceSummary.giftOptionsTax.printedCard.title",printedCardInclTax:"Cart.PriceSummary.giftOptionsTax.printedCard.inclTax",printedCardExclTax:"Cart.PriceSummary.giftOptionsTax.printedCard.exclTax",itemGiftWrappingTitle:"Cart.PriceSummary.giftOptionsTax.itemGiftWrapping.title",itemGiftWrappingInclTax:"Cart.PriceSummary.giftOptionsTax.itemGiftWrapping.inclTax",itemGiftWrappingExclTax:"Cart.PriceSummary.giftOptionsTax.itemGiftWrapping.exclTax",orderGiftWrappingTitle:"Cart.PriceSummary.giftOptionsTax.orderGiftWrapping.title",orderGiftWrappingInclTax:"Cart.PriceSummary.giftOptionsTax.orderGiftWrapping.inclTax",orderGiftWrappingExclTax:"Cart.PriceSummary.giftOptionsTax.orderGiftWrapping.exclTax"}),O=m?r(C,{label:m==null?void 0:m.label,price:m==null?void 0:m.price,classSuffixes:["applied-gift-cards"],children:m==null?void 0:m.content},m==null?void 0:m.label):null,E=b&&p(C,{label:l.subtotalLabel,price:b.price,classSuffixes:["subTotal"],children:[b.taxIncluded&&r("div",{"data-testid":"sub-total-tax-caption",className:"cart-order-summary__caption",children:r("span",{children:l.subtotalWithTaxes})}),b.taxExcluded?r("div",{"data-testid":"sub-total-tax-caption-excluded",className:"cart-order-summary__caption",children:p("span",{children:[b.priceExcludingTax," ",l.subtotalWithoutTaxes]})}):void 0]},l.subtotalLabel),D=f&&f.length>0&&r(xr,{children:f.map(n=>p(C,{label:n.label,price:n.price,classSuffixes:["discount"],children:[n.coupon&&r(L,{node:n.coupon,className:"cart-order-summary__coupon__code"}),n.caption&&r(L,{node:n.caption,className:"cart-order-summary__caption"})]},n.label))}),a=w&&w.length>0?r(ir,{"data-testid":"tax-breakdown",className:"cart-order-summary__taxes",iconOpen:sr,iconClose:or,children:p(lr,{title:l.taxesBreakdownTitle,secondaryText:!_&&S?r(L,{node:S.price,className:"cart-order-summary__price"}):void 0,renderContentWhenClosed:!1,onStateChange:P,children:[r("div",{className:"cart-order-summary__appliedTaxes",children:w.map(n=>r(C,{label:n.label,price:n.price,classSuffixes:["taxEntry"],labelClassSuffix:"muted"},n.label))}),S&&r(C,{label:l.taxTotal,price:S.price,classSuffixes:["taxTotal"],labelClassSuffix:"muted"})]})}):S&&r(C,{label:S.estimated?l.taxEstimated:l.taxTotalOnly,price:S.price,classSuffixes:["taxTotal"],testId:"tax-total-only"}),y=t!=null&&t.renderContent?p(C,{label:l.printedCardTitle,price:t.taxInclAndExcl||t.taxIncluded?t.priceInclTax:t.priceExclTax,classSuffixes:["printedCardContent"],children:[t.taxIncluded&&r("div",{"data-testid":"printed-card-incl",className:"cart-order-summary__caption",children:r("span",{children:l.printedCardInclTax})}),t.taxInclAndExcl?r("div",{"data-testid":"printed-card-incl-excl",className:"cart-order-summary__caption",children:p("span",{children:[t.priceExclTax," ",l.printedCardExclTax]})}):void 0]},l.printedCardTitle):null,I=x!=null&&x.renderContent?p(C,{label:l.itemGiftWrappingTitle,price:x.taxInclAndExcl||x.taxIncluded?x.priceInclTax:x.priceExclTax,classSuffixes:["itemsGiftWrappingContent"],children:[x.taxIncluded?r("div",{"data-testid":"item-gift-wrapping-incl",className:"cart-order-summary__caption",children:r("span",{children:l.itemGiftWrappingInclTax})}):null,x.taxInclAndExcl?r("div",{"data-testid":"item-gift-wrapping-incl-excl",className:"cart-order-summary__caption",children:p("span",{children:[x.priceExclTax," ",l.itemGiftWrappingExclTax]})}):null]},l.itemGiftWrappingTitle):null,U=g!=null&&g.renderContent?p(C,{label:l.orderGiftWrappingTitle,price:g.taxInclAndExcl||g.taxIncluded?g.priceInclTax:g.priceExclTax,classSuffixes:["orderGiftWrappingContent"],children:[g.taxIncluded&&r("div",{"data-testid":"order-gift-wrapping-incl",className:"cart-order-summary__caption",children:r("span",{children:l.orderGiftWrappingInclTax})}),g.taxInclAndExcl?r("div",{"data-testid":"order-gift-wrapping-incl-excl",className:"cart-order-summary__caption",children:p("span",{children:[g.priceExclTax," ",l.orderGiftWrappingExclTax]})}):void 0]},l.orderGiftWrappingTitle):null,X=[{key:"subTotalContent",sortOrder:100,content:E},...T?[{key:"shippingContent",sortOrder:200,content:r(L,{node:T,className:"cart-order-summary__shipping"})}]:[],{key:"printedCard",sortOrder:300,content:y},{key:"itemsGiftWrappingContent",sortOrder:400,content:I},{key:"orderGiftWrappingContent",sortOrder:500,content:U},{key:"discountsContent",sortOrder:600,content:D},{key:"appliedGiftCardsContent",sortOrder:700,content:O},{key:"taxContent",sortOrder:800,content:a},...e?[{key:"taxContent",sortOrder:900,content:r(C,{label:e.estimated?l.totalEstimated:l.totalLabel,price:e.price,classSuffixes:["total","total--padded"],testId:"total-content",labelClassSuffix:"bold"})}]:[],...e!=null&&e.priceWithoutTax?[{key:"totalWithoutTaxContent",sortOrder:1e3,content:r(C,{label:l.totalWithoutTax,price:e.priceWithoutTax,classSuffixes:["totalWithoutTax"],testId:"total-without-tax",labelClassSuffix:"muted"})}]:[],...v?[{key:"totalSavedContent",sortOrder:1100,content:r(C,{label:l.totalSaved,price:v,classSuffixes:["saved"],testId:"total-saved",labelClassSuffix:"muted"})}]:[],...F?[{key:"primaryActionContent",sortOrder:1200,content:r("div",{className:nr(["cart-order-summary__entry","cart-order-summary__primaryAction"]),children:F})}]:[],...o?[{key:"couponsContent",sortOrder:1300,content:r(L,{node:o,className:"cart-order-summary__coupons"})}]:[],...W?[{key:"giftCardsContent",sortOrder:1400,content:r(L,{node:W,className:"cart-order-summary__gift-cards"})}]:[]],z=s(X).sort((n,h)=>n.sortOrder-h.sortOrder);return p("div",{...A,className:nr(["cart-order-summary",["cart-order-summary--loading",B],[`cart-order-summary__${k}`,k],ee]),children:[B&&r(Cr,{className:"cart-order-summary__spinner"}),p("div",{className:"cart-order-summary__heading",children:[d&&r(L,{node:d,className:"cart-order-summary__heading-text"}),r(Sr,{variant:"primary",className:"cart-order-summary__divider-primary"})]}),r("div",{className:"cart-order-summary__content",children:z.map(n=>Array.isArray(n.content)?r(ir,{className:n.className,actionIconPosition:"right",iconOpen:sr,iconClose:or,children:r(lr,{defaultOpen:!1,title:n.title,renderContentWhenClosed:!1,children:n.content.map(h=>h.content)})},n.key):n.content)})]})},_r=()=>{const[ee,V]=G(!1),[k,d]=G();return{handleEstimateTotals:(b,T)=>{V(!0);const{shippingCountry:f,shippingState:S="",shippingStateId:w,shippingZip:e=""}=b,F={countryCode:f,postcode:e,region:{region:S,id:w},shipping_method:{carrier_code:(T==null?void 0:T.carrier_code)||"",method_code:(T==null?void 0:T.method_code)||""}};yr(F).then(o=>{var W,v,m,t,x,g,s,A,_,P,l,O,E,D,a,y,I,U,X,z;o&&d({estimatedTaxTotal:{amount:(W=o.totalTax)==null?void 0:W.value,currency:(v=o.totalTax)==null?void 0:v.currency},estimatedSubTotal:{excludingTax:{amount:(t=(m=o.subtotal)==null?void 0:m.excludingTax)==null?void 0:t.value,currency:(g=(x=o.subtotal)==null?void 0:x.excludingTax)==null?void 0:g.currency},includingTax:{amount:(A=(s=o.subtotal)==null?void 0:s.includingTax)==null?void 0:A.value,currency:(P=(_=o.subtotal)==null?void 0:_.includingTax)==null?void 0:P.currency},includingDiscountOnly:{amount:(O=(l=o.subtotal)==null?void 0:l.includingDiscountOnly)==null?void 0:O.value,currency:(D=(E=o.subtotal)==null?void 0:E.includingDiscountOnly)==null?void 0:D.currency}},estimatedGrandTotalPrice:{includingTax:{amount:(a=o.total)==null?void 0:a.includingTax.value,currency:(y=o.total)==null?void 0:y.includingTax.currency},excludingTax:{amount:(I=o.total)==null?void 0:I.excludingTax.value,currency:(U=o.total)==null?void 0:U.excludingTax.currency}},estimatedAppliedTaxes:{taxes:(X=o.appliedTaxes)==null?void 0:X.map(n=>{var h,N;return{label:n.label,amount:{value:(h=n.amount)==null?void 0:h.value,currency:(N=n.amount)==null?void 0:N.currency}}})},estimatedItems:{items:(z=o.items)==null?void 0:z.map(n=>{var h,N,Z,j,Q,$,H,q,J,K;return{uid:n.uid,price:{amount:(h=n.price)==null?void 0:h.value,currency:(N=n.price)==null?void 0:N.currency},taxedPrice:{amount:(Z=n.taxedPrice)==null?void 0:Z.value,currency:(j=n.taxedPrice)==null?void 0:j.currency},rowTotal:{amount:(Q=n.rowTotal)==null?void 0:Q.value,currency:($=n.rowTotal)==null?void 0:$.currency},rowTotalIncludingTax:{amount:(H=n.rowTotalIncludingTax)==null?void 0:H.value,currency:(q=n.rowTotalIncludingTax)==null?void 0:q.currency},regularPrice:{amount:(J=n.regularPrice)==null?void 0:J.value,currency:(K=n.regularPrice)==null?void 0:K.currency}}})}})}).finally(()=>{V(!1)})},estimatedTotals:k,setEstimatedTotals:d,loading:ee}},Pr=({children:ee,initialData:V=null,routeCheckout:k,slots:d,errors:B,showTotalSaved:b,enableCoupons:T,enableGiftCards:f,updateLineItems:S=e=>e,...w})=>{var h,N,Z,j,Q,$,H,q,J,K,ie,le,ue,oe,se,me,de,xe,pe,ge,Te,ye,he,Ce,Se,Ie,be,fe,ve,_e,Pe,Ee,Ne,ke,we,We,Ae,De,Le,Be,Fe,Oe,Ue,Xe,ze,Ve,Ze,je,Qe,$e,He,qe,Je,Ke,Re,Ye,Me,Ge,er;const[e,F]=G(V),[o,W]=G(!1),v=e==null?void 0:e.isVirtual;T=T??!0,f=f??!0;const{handleEstimateTotals:m,estimatedTotals:t,setEstimatedTotals:x,loading:g}=_r(),s=(h=re.config)==null?void 0:h.shoppingCartDisplaySetting,A=(s==null?void 0:s.subtotal)==="INCLUDING_TAX",_=(s==null?void 0:s.subtotal)==="INCLUDING_EXCLUDING_TAX",P=s==null?void 0:s.zeroTax,l=()=>(e==null?void 0:e.appliedGiftCards.reduce((i,c)=>i+c.appliedBalance.value,0))??0,O=i=>i!=null&&i.code?p(gr,{children:[p("span",{className:"cart-order-summary__coupon__code",children:[r(ur,{source:fr,size:"16"}),r("span",{children:i==null?void 0:i.code})]}),p("span",{className:"cart-order-summary__caption",children:[r(mr,{id:"Cart.PriceSummary.giftCard.appliedGiftCards.remainingBalance"}),r(u,{className:"cart-order-summary__caption",weight:"normal",size:"small",amount:i.giftCardBalance.value,currency:i.giftCardBalance.currency})]})]},i.code):null,E=(N=re.config)==null?void 0:N.cartGiftWrapping,D=(Z=re.config)==null?void 0:Z.cartPrintedCard,a=e==null?void 0:e.totalGiftOptions;ne(()=>{const i=cr.on("cart/data",c=>{var R,Y,M;F(c);const te=(R=c==null?void 0:c.addresses)==null?void 0:R.shipping,ae=c==null?void 0:c.isVirtual;(te||ae)&&x(null),t==null&&x({estimatedTaxTotal:{amount:(Y=c==null?void 0:c.totalTax)==null?void 0:Y.value,currency:(M=c==null?void 0:c.totalTax)==null?void 0:M.currency}})},{eager:!0});return()=>{i==null||i.off()}},[]),ne(()=>{W(B)},[B]),ne(()=>{const i=cr.on("shipping/estimate",c=>{var R,Y,M,rr,tr,ar;const te={shippingCountry:(R=c==null?void 0:c.address)==null?void 0:R.countryCode,shippingState:(Y=c==null?void 0:c.address)==null?void 0:Y.region,shippingStateId:(M=c==null?void 0:c.address)==null?void 0:M.regionId,shippingZip:(rr=c==null?void 0:c.address)==null?void 0:rr.postCode},ae={carrier_code:((tr=c==null?void 0:c.shippingMethod)==null?void 0:tr.carrierCode)||"",method_code:((ar=c==null?void 0:c.shippingMethod)==null?void 0:ar.methodCode)||""};m(te,ae)});return()=>{i==null||i.off()}},[m]);const y=dr({checkout:"Cart.PriceSummary.checkout",free:"Cart.PriceSummary.total.free",orderSummary:"Cart.PriceSummary.orderSummary",taxToBeDetermined:"Cart.PriceSummary.taxToBeDetermined"}),I=(e==null?void 0:e.hasOutOfStockItems)||o,U=pr(()=>{!I&&e&&hr(e,re.locale)},[I,e]),X=!v&&(d!=null&&d.EstimateShipping)?r(ce,{name:"EstimateShipping",slot:d.EstimateShipping},"estimateShippingId"):void 0;if(!Object.keys(e??{}).length||(e==null?void 0:e.totalQuantity)===0)return null;const z=T&&(d!=null&&d.Coupons)?r(ce,{name:"Coupons",slot:d.Coupons},"couponsId"):void 0,n=f&&(d!=null&&d.GiftCards)?r(ce,{name:"GiftCards",slot:d.GiftCards},"giftCardId"):void 0;return r(vr,{...w,"data-testid":"cart-order-summary",heading:r("div",{children:y.orderSummary}),shipping:X,coupons:z,giftCards:n,loading:g,updateLineItems:S,appliedGiftCards:(j=e==null?void 0:e.appliedGiftCards)!=null&&j.length?{label:r(mr,{id:"Cart.PriceSummary.giftCard.appliedGiftCards.label",plural:(Q=e==null?void 0:e.appliedGiftCards)==null?void 0:Q.length,fields:{count:($=e==null?void 0:e.appliedGiftCards)==null?void 0:$.length}}),price:r(u,{className:"cart-order-summary__price",amount:-l(),currency:(q=(H=e==null?void 0:e.appliedGiftCards)==null?void 0:H[0])==null?void 0:q.appliedBalance.currency}),content:(J=e==null?void 0:e.appliedGiftCards)==null?void 0:J.map(O).filter(Boolean)}:void 0,printedCard:{renderContent:!!((K=a==null?void 0:a.printedCard)!=null&&K.value),taxIncluded:D==="INCLUDING_TAX",taxInclAndExcl:D==="INCLUDING_EXCLUDING_TAX",priceExclTax:r(u,{"data-testid":"printed-card",amount:(ie=a==null?void 0:a.printedCard)==null?void 0:ie.value,currency:(le=a==null?void 0:a.printedCard)==null?void 0:le.currency}),priceInclTax:r(u,{amount:(ue=a==null?void 0:a.printedCardInclTax)==null?void 0:ue.value,currency:(oe=a==null?void 0:a.printedCardInclTax)==null?void 0:oe.currency})},itemsGiftWrapping:{renderContent:!!((se=a==null?void 0:a.giftWrappingForItems)!=null&&se.value),taxIncluded:E==="INCLUDING_TAX",taxInclAndExcl:E==="INCLUDING_EXCLUDING_TAX",priceExclTax:r(u,{amount:(me=a==null?void 0:a.giftWrappingForItems)==null?void 0:me.value,currency:(de=a==null?void 0:a.giftWrappingForItems)==null?void 0:de.currency}),priceInclTax:r(u,{amount:(xe=a==null?void 0:a.giftWrappingForItemsInclTax)==null?void 0:xe.value,currency:(pe=a==null?void 0:a.giftWrappingForItemsInclTax)==null?void 0:pe.currency})},orderGiftWrapping:{renderContent:!!((ge=a==null?void 0:a.giftWrappingForOrder)!=null&&ge.value),taxIncluded:E==="INCLUDING_TAX",taxInclAndExcl:E==="INCLUDING_EXCLUDING_TAX",priceExclTax:r(u,{amount:(Te=a==null?void 0:a.giftWrappingForOrder)==null?void 0:Te.value,currency:(ye=a==null?void 0:a.giftWrappingForOrder)==null?void 0:ye.currency}),priceInclTax:r(u,{amount:(he=a==null?void 0:a.giftWrappingForOrderInclTax)==null?void 0:he.value,currency:(Ce=a==null?void 0:a.giftWrappingForOrderInclTax)==null?void 0:Ce.currency})},subTotal:{taxIncluded:A&&!P,taxExcluded:_,zeroTaxSubtotal:P,priceExcludingTax:(Se=t==null?void 0:t.estimatedSubTotal)!=null&&Se.excludingTax?r(u,{"data-testid":"subtotal",...(Ie=t==null?void 0:t.estimatedSubTotal)==null?void 0:Ie.excludingTax}):r(u,{"data-testid":"subtotal",amount:(fe=(be=e==null?void 0:e.subtotal)==null?void 0:be.excludingTax)==null?void 0:fe.value,currency:(_e=(ve=e==null?void 0:e.subtotal)==null?void 0:ve.excludingTax)==null?void 0:_e.currency}),price:!P&&A||!P&&_?(Pe=t==null?void 0:t.estimatedSubTotal)!=null&&Pe.includingTax?r(u,{"data-testid":"subtotal",...(Ee=t==null?void 0:t.estimatedSubTotal)==null?void 0:Ee.includingTax}):r(u,{"data-testid":"subtotal",amount:(Ne=e==null?void 0:e.subtotal.includingTax)==null?void 0:Ne.value,currency:(ke=e==null?void 0:e.subtotal.includingTax)==null?void 0:ke.currency}):r(u,{"data-testid":"subtotal",amount:(We=(we=e==null?void 0:e.subtotal)==null?void 0:we.excludingTax)==null?void 0:We.value,currency:(De=(Ae=e==null?void 0:e.subtotal)==null?void 0:Ae.excludingTax)==null?void 0:De.currency})},discounts:(Le=e==null?void 0:e.appliedDiscounts)==null?void 0:Le.map(i=>{var c;return{label:i.label,price:r(u,{"data-testid":"summary-discount-total",amount:-i.amount.value,currency:i.amount.currency,sale:!0}),coupon:i!=null&&i.coupon?p("span",{children:[r(ur,{source:br,size:"16"}),(c=i==null?void 0:i.coupon)==null?void 0:c.code]}):void 0}}),taxTotal:v||t&&t.estimatedTaxTotal==null?{price:r("span",{"data-testid":"tax-total-tbd",children:y.taxToBeDetermined})}:{price:t!=null&&t.estimatedTaxTotal?r(u,{"data-testid":"tax-total-estimated",...t==null?void 0:t.estimatedTaxTotal}):r(u,{"data-testid":"tax-total-actual",amount:(Be=e==null?void 0:e.totalTax)==null?void 0:Be.value,currency:(Fe=e==null?void 0:e.totalTax)==null?void 0:Fe.currency}),estimated:(!t||!t.estimatedTaxTotal)&&!((Oe=e==null?void 0:e.addresses)!=null&&Oe.shipping)},taxesApplied:v?void 0:s!=null&&s.fullSummary?(Xe=((Ue=t==null?void 0:t.estimatedAppliedTaxes)==null?void 0:Ue.taxes)||(e==null?void 0:e.appliedTaxes))==null?void 0:Xe.map(i=>({label:i.label,price:r(u,{"data-testid":"applied-taxes",amount:i.amount.value,currency:i.amount.currency})})):void 0,total:{price:t!=null&&t.estimatedGrandTotalPrice?((Ve=(ze=t==null?void 0:t.estimatedGrandTotalPrice)==null?void 0:ze.includingTax)==null?void 0:Ve.amount)===0?r("span",{"data-testid":"total-including-tax",children:y.free}):r(u,{"data-testid":"total-including-tax-estimated",...(Ze=t==null?void 0:t.estimatedGrandTotalPrice)==null?void 0:Ze.includingTax}):((je=e==null?void 0:e.total)==null?void 0:je.includingTax.value)===0?r("span",{"data-testid":"total-including-tax",children:y.free}):r(u,{"data-testid":"total-including-tax-actual",amount:(Qe=e==null?void 0:e.total)==null?void 0:Qe.includingTax.value,currency:($e=e==null?void 0:e.total)==null?void 0:$e.includingTax.currency}),estimated:(!t||!!(t!=null&&t.estimatedTaxTotal))&&!((He=e==null?void 0:e.addresses)!=null&&He.shipping),priceWithoutTax:s!=null&&s.grandTotal?t!=null&&t.estimatedAppliedTaxes?((Je=(qe=t==null?void 0:t.estimatedGrandTotalPrice)==null?void 0:qe.excludingTax)==null?void 0:Je.amount)===0?r("span",{"data-testid":"total-excluding-tax",children:y.free}):r(u,{"data-testid":"total-excluding-tax",...(Ke=t==null?void 0:t.estimatedGrandTotalPrice)==null?void 0:Ke.excludingTax}):((Re=e==null?void 0:e.total)==null?void 0:Re.excludingTax.value)===0?r("span",{"data-testid":"total-excluding-tax",children:y.free}):r(u,{"data-testid":"total-excluding-tax",amount:(Ye=e==null?void 0:e.total)==null?void 0:Ye.excludingTax.value,currency:(Me=e==null?void 0:e.total)==null?void 0:Me.excludingTax.currency}):void 0},primaryAction:k&&r(Ir,{"data-testid":"checkout-button",variant:"primary",disabled:I,"aria-disabled":I,href:I?void 0:k({cartId:e.id}),onClick:U,children:y.checkout}),totalSaved:b?r(u,{amount:(Ge=e==null?void 0:e.discount)==null?void 0:Ge.value,currency:(er=e==null?void 0:e.total)==null?void 0:er.includingTax.currency}):void 0})};Pr.getInitialData=async function(){return Tr()};export{Pr as O};
|
package/chunks/refreshCart.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{s as o,d as q,f as S,h as I}from"./resetCart.js";import{events as y}from"@dropins/tools/event-bus.js";import{Initializer as L,merge as X}from"@dropins/tools/lib.js";import{a as K}from"./persisted-data.js";import{CART_FRAGMENT as U}from"../fragments.js";const $=new L({init:async r=>{const n={disableGuestCart:!1,...r};$.config.setConfig(n),E().catch(console.error)},listeners:()=>[y.on("authenticated",r=>{o.authenticated&&!r?y.emit("cart/reset",void 0):r&&!o.authenticated&&(o.authenticated=r,E().catch(console.error))},{eager:!0}),y.on("locale",async r=>{r!==o.locale&&(o.locale=r,E().catch(console.error))}),y.on("cart/reset",()=>{q().catch(console.error),y.emit("cart/data",null)}),y.on("cart/data",r=>{K(r)}),y.on("checkout/updated",r=>{r&&xr().catch(console.error)})]}),V=$.config;function k(r){var c,e,u,l,s,a,_,p,f,i,m,v,C,h,d,R;if(!r)return null;const n={appliedGiftCards:((c=r==null?void 0:r.applied_gift_cards)==null?void 0:c.map(t=>{var w,M,N;const g={code:t.code??"",appliedBalance:{value:t.applied_balance.value??0,currency:t.applied_balance.currency??"USD"},currentBalance:{value:t.current_balance.value??0,currency:t.current_balance.currency??"USD"},expirationDate:t.expiration_date??""},b=(w=g==null?void 0:g.currentBalance)==null?void 0:w.value,x=(M=g==null?void 0:g.appliedBalance)==null?void 0:M.value,T=(N=g==null?void 0:g.currentBalance)==null?void 0:N.currency,Q=b-x>0?b-x:0;return{...g,giftCardBalance:{value:Q,currency:T}}}))??[],id:r.id,totalQuantity:lr(r),totalUniqueItems:r.itemsV2.items.length,totalGiftOptions:Y((e=r==null?void 0:r.prices)==null?void 0:e.gift_options),giftReceiptIncluded:(r==null?void 0:r.gift_receipt_included)??!1,printedCardIncluded:(r==null?void 0:r.printed_card_included)??!1,cartGiftWrapping:((u=r==null?void 0:r.available_gift_wrappings)==null?void 0:u.map(t=>{var g,b,x,T,G;return{design:t.design??"",uid:t.uid,selected:((g=r==null?void 0:r.gift_wrapping)==null?void 0:g.uid)===t.uid,image:{url:((b=t==null?void 0:t.image)==null?void 0:b.url)??"",label:((x=t.image)==null?void 0:x.label)??""},price:{currency:((T=t==null?void 0:t.price)==null?void 0:T.currency)??"USD",value:((G=t==null?void 0:t.price)==null?void 0:G.value)??0}}}))??[],giftMessage:{senderName:((l=r==null?void 0:r.gift_message)==null?void 0:l.from)??"",recipientName:((s=r==null?void 0:r.gift_message)==null?void 0:s.to)??"",message:((a=r==null?void 0:r.gift_message)==null?void 0:a.message)??""},errors:er(r==null?void 0:r.itemsV2),items:F(r==null?void 0:r.itemsV2),miniCartMaxItems:F(r==null?void 0:r.itemsV2).slice(0,((_=o.config)==null?void 0:_.miniCartMaxItemsDisplay)??10),total:{includingTax:{value:r.prices.grand_total.value,currency:r.prices.grand_total.currency},excludingTax:{value:r.prices.grand_total_excluding_tax.value,currency:r.prices.grand_total_excluding_tax.currency}},discount:P(r.prices.discounts,r.prices.grand_total.currency),subtotal:{excludingTax:{value:(p=r.prices.subtotal_excluding_tax)==null?void 0:p.value,currency:(f=r.prices.subtotal_excluding_tax)==null?void 0:f.currency},includingTax:{value:(i=r.prices.subtotal_including_tax)==null?void 0:i.value,currency:(m=r.prices.subtotal_including_tax)==null?void 0:m.currency},includingDiscountOnly:{value:(v=r.prices.subtotal_with_discount_excluding_tax)==null?void 0:v.value,currency:(C=r.prices.subtotal_with_discount_excluding_tax)==null?void 0:C.currency}},appliedTaxes:z(r.prices.applied_taxes),totalTax:P(r.prices.applied_taxes,r.prices.grand_total.currency),appliedDiscounts:z(r.prices.discounts),isVirtual:r.is_virtual,addresses:{shipping:r.shipping_addresses&&sr(r)},isGuestCart:!o.authenticated,hasOutOfStockItems:or(r),hasFullyOutOfStockItems:_r(r),appliedCoupons:r.applied_coupons};return X(n,(R=(d=(h=V.getConfig().models)==null?void 0:h.CartModel)==null?void 0:d.transformer)==null?void 0:R.call(d,r))}function Y(r){var n,c,e,u,l,s,a,_,p,f,i,m;return{giftWrappingForItems:{value:((n=r==null?void 0:r.gift_wrapping_for_items)==null?void 0:n.value)??0,currency:((c=r==null?void 0:r.gift_wrapping_for_items)==null?void 0:c.currency)??"USD"},giftWrappingForItemsInclTax:{value:((e=r==null?void 0:r.gift_wrapping_for_items_incl_tax)==null?void 0:e.value)??0,currency:((u=r==null?void 0:r.gift_wrapping_for_items_incl_tax)==null?void 0:u.currency)??"USD"},giftWrappingForOrder:{value:((l=r==null?void 0:r.gift_wrapping_for_order)==null?void 0:l.value)??0,currency:((s=r==null?void 0:r.gift_wrapping_for_order)==null?void 0:s.currency)??"USD"},giftWrappingForOrderInclTax:{value:((a=r==null?void 0:r.gift_wrapping_for_order_incl_tax)==null?void 0:a.value)??0,currency:((_=r==null?void 0:r.gift_wrapping_for_order_incl_tax)==null?void 0:_.currency)??"USD"},printedCard:{value:((p=r==null?void 0:r.printed_card)==null?void 0:p.value)??0,currency:((f=r==null?void 0:r.printed_card)==null?void 0:f.currency)??"USD"},printedCardInclTax:{value:((i=r==null?void 0:r.printed_card_incl_tax)==null?void 0:i.value)??0,currency:((m=r==null?void 0:r.printed_card_incl_tax)==null?void 0:m.currency)??"USD"}}}function P(r,n){return r!=null&&r.length?r.reduce((c,e)=>({value:c.value+e.amount.value,currency:e.amount.currency}),{value:0,currency:n}):{value:0,currency:n}}function j(r,n){var c,e,u,l;return{src:r!=null&&r.useConfigurableParentThumbnail?n.product.thumbnail.url:((e=(c=n.configured_variant)==null?void 0:c.thumbnail)==null?void 0:e.url)||n.product.thumbnail.url,alt:r!=null&&r.useConfigurableParentThumbnail?n.product.thumbnail.label:((l=(u=n.configured_variant)==null?void 0:u.thumbnail)==null?void 0:l.label)||n.product.thumbnail.label}}function H(r){var n,c,e,u;return r.__typename==="ConfigurableCartItem"?{value:(c=(n=r.configured_variant)==null?void 0:n.price_range)==null?void 0:c.maximum_price.regular_price.value,currency:(u=(e=r.configured_variant)==null?void 0:e.price_range)==null?void 0:u.maximum_price.regular_price.currency}:r.__typename==="GiftCardCartItem"?{value:r.prices.price.value,currency:r.prices.price.currency}:{value:r.prices.original_item_price.value,currency:r.prices.original_item_price.currency}}function O(r){var n,c,e;return r.__typename==="ConfigurableCartItem"?((c=(n=r.configured_variant)==null?void 0:n.price_range)==null?void 0:c.maximum_price.discount.amount_off)>0:((e=r.product.price_range)==null?void 0:e.maximum_price.discount.amount_off)>0}function J(r){var n,c,e;return{senderName:((n=r==null?void 0:r.gift_message)==null?void 0:n.from)??"",recipientName:((c=r==null?void 0:r.gift_message)==null?void 0:c.to)??"",message:((e=r==null?void 0:r.gift_message)==null?void 0:e.message)??""}}function Z(r){return{currency:(r==null?void 0:r.currency)??"USD",value:(r==null?void 0:r.value)??0}}function F(r){var c;if(!((c=r==null?void 0:r.items)!=null&&c.length))return[];const n=o.config;return r.items.map(e=>{var u,l,s,a,_,p,f;return{giftWrappingAvailable:((u=e==null?void 0:e.product)==null?void 0:u.gift_wrapping_available)??!1,giftWrappingPrice:Z((l=e==null?void 0:e.product)==null?void 0:l.gift_wrapping_price),giftMessage:J(e),productGiftWrapping:((s=e==null?void 0:e.available_gift_wrapping)==null?void 0:s.map(i=>{var m,v,C,h,d;return{design:i.design??"",uid:i.uid,selected:((m=e.gift_wrapping)==null?void 0:m.uid)===i.uid,image:{url:((v=i==null?void 0:i.image)==null?void 0:v.url)??"",label:((C=i.image)==null?void 0:C.label)??""},price:{currency:((h=i==null?void 0:i.price)==null?void 0:h.currency)??"USD",value:((d=i==null?void 0:i.price)==null?void 0:d.value)??0}}}))??[],itemType:e.__typename,uid:e.uid,giftMessageAvailable:rr(e.product.gift_message_available),url:{urlKey:e.product.url_key,categories:e.product.categories.map(i=>i.url_key)},canonicalUrl:e.product.canonical_url,categories:e.product.categories.map(i=>i.name),quantity:e.quantity,sku:pr(e),topLevelSku:e.product.sku,name:e.product.name,image:j(n,e),price:{value:e.prices.price.value,currency:e.prices.price.currency},taxedPrice:{value:e.prices.price_including_tax.value,currency:e.prices.price_including_tax.currency},fixedProductTaxes:e.prices.fixed_product_taxes,rowTotal:{value:e.prices.row_total.value,currency:e.prices.row_total.currency},rowTotalIncludingTax:{value:e.prices.row_total_including_tax.value,currency:e.prices.row_total_including_tax.currency},links:ir(e.links),total:{value:(a=e.prices.original_row_total)==null?void 0:a.value,currency:(_=e.prices.original_row_total)==null?void 0:_.currency},discount:{value:e.prices.total_item_discount.value,currency:e.prices.total_item_discount.currency,label:(p=e.prices.discounts)==null?void 0:p.map(i=>i.label)},regularPrice:H(e),discounted:O(e),bundleOptions:e.__typename==="BundleCartItem"?nr(e.bundle_options):null,selectedOptions:cr(e.configurable_options),customizableOptions:ur(e.customizable_options),sender:e.__typename==="GiftCardCartItem"?e.sender_name:null,senderEmail:e.__typename==="GiftCardCartItem"?e.sender_email:null,recipient:e.__typename==="GiftCardCartItem"?e.recipient_name:null,recipientEmail:e.__typename==="GiftCardCartItem"?e.recipient_email:null,message:e.__typename==="GiftCardCartItem"?e.message:null,discountedTotal:{value:e.prices.row_total.value,currency:e.prices.row_total.currency},onlyXLeftInStock:e.__typename==="ConfigurableCartItem"?(f=e.configured_variant)==null?void 0:f.only_x_left_in_stock:e.product.only_x_left_in_stock,lowInventory:e.is_available&&e.product.only_x_left_in_stock!==null,insufficientQuantity:(e.__typename==="ConfigurableCartItem"?e.configured_variant:e.product).stock_status==="IN_STOCK"&&!e.is_available,outOfStock:e.product.stock_status==="OUT_OF_STOCK",stockLevel:tr(e),discountPercentage:ar(e),savingsAmount:gr(e),productAttributes:fr(e)}})}function rr(r){switch(+r){case 0:return!1;case 1:return!0;case 2:return null;default:return!1}}function er(r){var c;const n=(c=r==null?void 0:r.items)==null?void 0:c.reduce((e,u)=>{var l;return(l=u.errors)==null||l.forEach(s=>{e.push({uid:u.uid,text:s.message})}),e},[]);return n!=null&&n.length?n:null}function z(r){return r!=null&&r.length?r.map(n=>({amount:{value:n.amount.value,currency:n.amount.currency},label:n.label,coupon:n.coupon})):[]}function nr(r){const n=r==null?void 0:r.map(e=>({uid:e.uid,label:e.label,value:e.values.map(u=>u.label).join(", ")})),c={};return n==null||n.forEach(e=>{c[e.label]=e.value}),Object.keys(c).length>0?c:null}function cr(r){const n=r==null?void 0:r.map(e=>({uid:e.configurable_product_option_uid,label:e.option_label,value:e.value_label})),c={};return n==null||n.forEach(e=>{c[e.label]=e.value}),Object.keys(c).length>0?c:null}function ur(r){const n=r==null?void 0:r.map(e=>({uid:e.customizable_option_uid,label:e.label,type:e.type,values:e.values.map(u=>({uid:u.customizable_option_value_uid,label:u.label,value:u.value}))})),c={};return n==null||n.forEach(e=>{var u;switch(e.type){case"field":case"area":case"date_time":c[e.label]=e.values[0].value;break;case"radio":case"drop_down":c[e.label]=e.values[0].label;break;case"multiple":case"checkbox":c[e.label]=e.values.reduce((p,f)=>p?`${p}, ${f.label}`:f.label,"");break;case"file":const l=new DOMParser,s=e.values[0].value,_=((u=l.parseFromString(s,"text/html").querySelector("a"))==null?void 0:u.textContent)||"";c[e.label]=_;break}}),c}function lr(r){var n,c;return((n=o.config)==null?void 0:n.cartSummaryDisplayTotal)===0?r.itemsV2.items.length:((c=o.config)==null?void 0:c.cartSummaryDisplayTotal)===1?r.total_quantity:r.itemsV2.items.length}function ir(r){return(r==null?void 0:r.length)>0?{count:r.length,result:r.map(n=>n.title).join(", ")}:null}function sr(r){var n,c,e,u;return(n=r.shipping_addresses)!=null&&n.length?(c=r.shipping_addresses)==null?void 0:c.map(l=>({countryCode:l.country.code,zipCode:l.postcode,regionCode:l.region.code})):(e=r.addresses)!=null&&e.length?(u=r.addresses)==null?void 0:u.filter(l=>l.default_shipping).map(l=>{var s;return l.default_shipping&&{countryCode:l.country_code,zipCode:l.postcode,regionCode:(s=l.region)==null?void 0:s.region_code}}):null}function or(r){var n,c;return(c=(n=r==null?void 0:r.itemsV2)==null?void 0:n.items)==null?void 0:c.some(e=>{var u;return((u=e==null?void 0:e.product)==null?void 0:u.stock_status)==="OUT_OF_STOCK"||e.product.stock_status==="IN_STOCK"&&!e.is_available})}function tr(r){if(!r.not_available_message)return null;const n=r.not_available_message.match(/-?\d+/);return n?parseInt(n[0]):"noNumber"}function _r(r){var n,c;return(c=(n=r==null?void 0:r.itemsV2)==null?void 0:n.items)==null?void 0:c.some(e=>{var u;return((u=e==null?void 0:e.product)==null?void 0:u.stock_status)==="OUT_OF_STOCK"})}function ar(r){var c,e,u,l,s,a,_,p;let n;if(r.__typename==="ConfigurableCartItem")n=(l=(u=(e=(c=r==null?void 0:r.configured_variant)==null?void 0:c.price_range)==null?void 0:e.maximum_price)==null?void 0:u.discount)==null?void 0:l.percent_off;else{if(r.__typename==="BundleCartItem")return;n=(p=(_=(a=(s=r==null?void 0:r.product)==null?void 0:s.price_range)==null?void 0:a.maximum_price)==null?void 0:_.discount)==null?void 0:p.percent_off}if(n!==0)return Math.round(n)}function pr(r){var n;return r.__typename==="ConfigurableCartItem"?r.configured_variant.sku:((n=r.product)==null?void 0:n.variantSku)||r.product.sku}function gr(r){var e,u,l,s,a,_;let n,c;if(n=((u=(e=r==null?void 0:r.prices)==null?void 0:e.original_row_total)==null?void 0:u.value)-((s=(l=r==null?void 0:r.prices)==null?void 0:l.row_total)==null?void 0:s.value),c=(_=(a=r==null?void 0:r.prices)==null?void 0:a.row_total)==null?void 0:_.currency,n!==0)return{value:n,currency:c}}function fr(r){var n,c,e;return(e=(c=(n=r==null?void 0:r.product)==null?void 0:n.custom_attributesV2)==null?void 0:c.items)==null?void 0:e.map(u=>{const l=u.code.split("_").map(s=>s.charAt(0).toUpperCase()+s.slice(1)).join(" ");return{...u,code:l}})}function yr(r){var e,u;if(!r)return null;const n=l=>{switch(l){case 1:return"EXCLUDING_TAX";case 2:return"INCLUDING_TAX";case 3:return"INCLUDING_EXCLUDING_TAX";default:return"EXCLUDING_TAX"}},c=l=>{switch(+l){case 0:return!1;case 1:return!0;case 2:return null;default:return!1}};return{displayMiniCart:r.minicart_display,miniCartMaxItemsDisplay:r.minicart_max_items,cartExpiresInDays:r.cart_expires_in_days,cartSummaryDisplayTotal:r.cart_summary_display_quantity,cartSummaryMaxItems:r.max_items_in_order_summary,defaultCountry:r.default_country,categoryFixedProductTaxDisplaySetting:r.category_fixed_product_tax_display_setting,productFixedProductTaxDisplaySetting:r.product_fixed_product_tax_display_setting,salesFixedProductTaxDisplaySetting:r.sales_fixed_product_tax_display_setting,shoppingCartDisplaySetting:{zeroTax:r.shopping_cart_display_zero_tax,subtotal:n(r.shopping_cart_display_subtotal),price:n(r.shopping_cart_display_price),shipping:n(r.shopping_cart_display_shipping),fullSummary:r.shopping_cart_display_full_summary,grandTotal:r.shopping_cart_display_grand_total,taxGiftWrapping:r.shopping_cart_display_tax_gift_wrapping},useConfigurableParentThumbnail:r.configurable_thumbnail_source==="parent",allowGiftWrappingOnOrder:c(r==null?void 0:r.allow_gift_wrapping_on_order),allowGiftWrappingOnOrderItems:c(r==null?void 0:r.allow_gift_wrapping_on_order_items),allowGiftMessageOnOrder:c(r==null?void 0:r.allow_order),allowGiftMessageOnOrderItems:c(r==null?void 0:r.allow_items),allowGiftReceipt:!!+(r==null?void 0:r.allow_gift_receipt),allowPrintedCard:!!+(r==null?void 0:r.allow_printed_card),printedCardPrice:{currency:((e=r==null?void 0:r.printed_card_priceV2)==null?void 0:e.currency)??"",value:((u=r==null?void 0:r.printed_card_priceV2)==null?void 0:u.value)!=null?+r.printed_card_priceV2.value:0},cartGiftWrapping:n(+r.cart_gift_wrapping),cartPrintedCard:n(+r.cart_printed_card)}}const A=`
|
|
3
|
+
import{s as o,d as Q,f as S,h as D}from"./resetCart.js";import{events as f}from"@dropins/tools/event-bus.js";import{Initializer as L,merge as X}from"@dropins/tools/lib.js";import{a as K}from"./persisted-data.js";import{CART_FRAGMENT as U}from"../fragments.js";const $=new L({init:async r=>{const n={disableGuestCart:!1,...r};$.config.setConfig(n),E().catch(console.error)},listeners:()=>[f.on("authenticated",r=>{o.authenticated&&!r?f.emit("cart/reset",void 0):r&&!o.authenticated&&(o.authenticated=r,E().catch(console.error))},{eager:!0}),f.on("locale",async r=>{r!==o.locale&&(o.locale=r,E().catch(console.error))}),f.on("cart/reset",()=>{Q().catch(console.error),f.emit("cart/data",null)}),f.on("cart/data",r=>{K(r)}),f.on("checkout/updated",r=>{r&&xr().catch(console.error)})]}),V=$.config;function k(r){var c,e,u,l,i,a,_,g,y,s,m,v,C,h,d,R;if(!r)return null;const n={appliedGiftCards:((c=r==null?void 0:r.applied_gift_cards)==null?void 0:c.map(t=>{var w,M,N;const p={code:t.code??"",appliedBalance:{value:t.applied_balance.value??0,currency:t.applied_balance.currency??"USD"},currentBalance:{value:t.current_balance.value??0,currency:t.current_balance.currency??"USD"},expirationDate:t.expiration_date??""},b=(w=p==null?void 0:p.currentBalance)==null?void 0:w.value,x=(M=p==null?void 0:p.appliedBalance)==null?void 0:M.value,T=(N=p==null?void 0:p.currentBalance)==null?void 0:N.currency,q=b-x>0?b-x:0;return{...p,giftCardBalance:{value:q,currency:T}}}))??[],id:r.id,totalQuantity:lr(r),totalUniqueItems:r.itemsV2.items.length,totalGiftOptions:Y((e=r==null?void 0:r.prices)==null?void 0:e.gift_options),giftReceiptIncluded:(r==null?void 0:r.gift_receipt_included)??!1,printedCardIncluded:(r==null?void 0:r.printed_card_included)??!1,cartGiftWrapping:((u=r==null?void 0:r.available_gift_wrappings)==null?void 0:u.map(t=>{var p,b,x,T,G;return{design:t.design??"",uid:t.uid,selected:((p=r==null?void 0:r.gift_wrapping)==null?void 0:p.uid)===t.uid,image:{url:((b=t==null?void 0:t.image)==null?void 0:b.url)??"",label:((x=t.image)==null?void 0:x.label)??""},price:{currency:((T=t==null?void 0:t.price)==null?void 0:T.currency)??"USD",value:((G=t==null?void 0:t.price)==null?void 0:G.value)??0}}}))??[],giftMessage:{senderName:((l=r==null?void 0:r.gift_message)==null?void 0:l.from)??"",recipientName:((i=r==null?void 0:r.gift_message)==null?void 0:i.to)??"",message:((a=r==null?void 0:r.gift_message)==null?void 0:a.message)??""},errors:er(r==null?void 0:r.itemsV2),items:F(r==null?void 0:r.itemsV2),miniCartMaxItems:F(r==null?void 0:r.itemsV2).slice(0,((_=o.config)==null?void 0:_.miniCartMaxItemsDisplay)??10),total:{includingTax:{value:r.prices.grand_total.value,currency:r.prices.grand_total.currency},excludingTax:{value:r.prices.grand_total_excluding_tax.value,currency:r.prices.grand_total_excluding_tax.currency}},discount:P(r.prices.discounts,r.prices.grand_total.currency),subtotal:{excludingTax:{value:(g=r.prices.subtotal_excluding_tax)==null?void 0:g.value,currency:(y=r.prices.subtotal_excluding_tax)==null?void 0:y.currency},includingTax:{value:(s=r.prices.subtotal_including_tax)==null?void 0:s.value,currency:(m=r.prices.subtotal_including_tax)==null?void 0:m.currency},includingDiscountOnly:{value:(v=r.prices.subtotal_with_discount_excluding_tax)==null?void 0:v.value,currency:(C=r.prices.subtotal_with_discount_excluding_tax)==null?void 0:C.currency}},appliedTaxes:z(r.prices.applied_taxes),totalTax:P(r.prices.applied_taxes,r.prices.grand_total.currency),appliedDiscounts:z(r.prices.discounts),isVirtual:r.is_virtual,addresses:{shipping:r.shipping_addresses&&sr(r)},isGuestCart:!o.authenticated,hasOutOfStockItems:or(r),hasFullyOutOfStockItems:_r(r),appliedCoupons:r.applied_coupons};return X(n,(R=(d=(h=V.getConfig().models)==null?void 0:h.CartModel)==null?void 0:d.transformer)==null?void 0:R.call(d,r))}function Y(r){var n,c,e,u,l,i,a,_,g,y,s,m;return{giftWrappingForItems:{value:((n=r==null?void 0:r.gift_wrapping_for_items)==null?void 0:n.value)??0,currency:((c=r==null?void 0:r.gift_wrapping_for_items)==null?void 0:c.currency)??"USD"},giftWrappingForItemsInclTax:{value:((e=r==null?void 0:r.gift_wrapping_for_items_incl_tax)==null?void 0:e.value)??0,currency:((u=r==null?void 0:r.gift_wrapping_for_items_incl_tax)==null?void 0:u.currency)??"USD"},giftWrappingForOrder:{value:((l=r==null?void 0:r.gift_wrapping_for_order)==null?void 0:l.value)??0,currency:((i=r==null?void 0:r.gift_wrapping_for_order)==null?void 0:i.currency)??"USD"},giftWrappingForOrderInclTax:{value:((a=r==null?void 0:r.gift_wrapping_for_order_incl_tax)==null?void 0:a.value)??0,currency:((_=r==null?void 0:r.gift_wrapping_for_order_incl_tax)==null?void 0:_.currency)??"USD"},printedCard:{value:((g=r==null?void 0:r.printed_card)==null?void 0:g.value)??0,currency:((y=r==null?void 0:r.printed_card)==null?void 0:y.currency)??"USD"},printedCardInclTax:{value:((s=r==null?void 0:r.printed_card_incl_tax)==null?void 0:s.value)??0,currency:((m=r==null?void 0:r.printed_card_incl_tax)==null?void 0:m.currency)??"USD"}}}function P(r,n){return r!=null&&r.length?r.reduce((c,e)=>({value:c.value+e.amount.value,currency:e.amount.currency}),{value:0,currency:n}):{value:0,currency:n}}function j(r,n){var c,e,u,l;return{src:r!=null&&r.useConfigurableParentThumbnail?n.product.thumbnail.url:((e=(c=n.configured_variant)==null?void 0:c.thumbnail)==null?void 0:e.url)||n.product.thumbnail.url,alt:r!=null&&r.useConfigurableParentThumbnail?n.product.thumbnail.label:((l=(u=n.configured_variant)==null?void 0:u.thumbnail)==null?void 0:l.label)||n.product.thumbnail.label}}function H(r){var n,c,e,u;return r.__typename==="ConfigurableCartItem"?{value:(c=(n=r.configured_variant)==null?void 0:n.price_range)==null?void 0:c.maximum_price.regular_price.value,currency:(u=(e=r.configured_variant)==null?void 0:e.price_range)==null?void 0:u.maximum_price.regular_price.currency}:r.__typename==="GiftCardCartItem"?{value:r.prices.price.value,currency:r.prices.price.currency}:{value:r.prices.original_item_price.value,currency:r.prices.original_item_price.currency}}function O(r){var n,c,e;return r.__typename==="ConfigurableCartItem"?((c=(n=r.configured_variant)==null?void 0:n.price_range)==null?void 0:c.maximum_price.discount.amount_off)>0:((e=r.product.price_range)==null?void 0:e.maximum_price.discount.amount_off)>0}function J(r){var n,c,e;return{senderName:((n=r==null?void 0:r.gift_message)==null?void 0:n.from)??"",recipientName:((c=r==null?void 0:r.gift_message)==null?void 0:c.to)??"",message:((e=r==null?void 0:r.gift_message)==null?void 0:e.message)??""}}function Z(r){return{currency:(r==null?void 0:r.currency)??"USD",value:(r==null?void 0:r.value)??0}}function F(r){var c;if(!((c=r==null?void 0:r.items)!=null&&c.length))return[];const n=o.config;return r.items.map(e=>{var u,l,i,a,_,g,y;return{giftWrappingAvailable:((u=e==null?void 0:e.product)==null?void 0:u.gift_wrapping_available)??!1,giftWrappingPrice:Z((l=e==null?void 0:e.product)==null?void 0:l.gift_wrapping_price),giftMessage:J(e),productGiftWrapping:((i=e==null?void 0:e.available_gift_wrapping)==null?void 0:i.map(s=>{var m,v,C,h,d;return{design:s.design??"",uid:s.uid,selected:((m=e.gift_wrapping)==null?void 0:m.uid)===s.uid,image:{url:((v=s==null?void 0:s.image)==null?void 0:v.url)??"",label:((C=s.image)==null?void 0:C.label)??""},price:{currency:((h=s==null?void 0:s.price)==null?void 0:h.currency)??"USD",value:((d=s==null?void 0:s.price)==null?void 0:d.value)??0}}}))??[],itemType:e.__typename,uid:e.uid,giftMessageAvailable:rr(e.product.gift_message_available),url:{urlKey:e.product.url_key,categories:e.product.categories.map(s=>s.url_key)},canonicalUrl:e.product.canonical_url,categories:e.product.categories.map(s=>s.name),quantity:e.quantity,sku:pr(e),topLevelSku:e.product.sku,name:e.product.name,image:j(n,e),price:{value:e.prices.price.value,currency:e.prices.price.currency},taxedPrice:{value:e.prices.price_including_tax.value,currency:e.prices.price_including_tax.currency},fixedProductTaxes:e.prices.fixed_product_taxes,rowTotal:{value:e.prices.row_total.value,currency:e.prices.row_total.currency},rowTotalIncludingTax:{value:e.prices.row_total_including_tax.value,currency:e.prices.row_total_including_tax.currency},links:ir(e.links),total:{value:(a=e.prices.original_row_total)==null?void 0:a.value,currency:(_=e.prices.original_row_total)==null?void 0:_.currency},discount:{value:e.prices.total_item_discount.value,currency:e.prices.total_item_discount.currency,label:(g=e.prices.discounts)==null?void 0:g.map(s=>s.label)},regularPrice:H(e),discounted:O(e),bundleOptions:e.__typename==="BundleCartItem"?nr(e.bundle_options):null,selectedOptions:cr(e.configurable_options),customizableOptions:ur(e.customizable_options),sender:e.__typename==="GiftCardCartItem"?e.sender_name:null,senderEmail:e.__typename==="GiftCardCartItem"?e.sender_email:null,recipient:e.__typename==="GiftCardCartItem"?e.recipient_name:null,recipientEmail:e.__typename==="GiftCardCartItem"?e.recipient_email:null,message:e.__typename==="GiftCardCartItem"?e.message:null,discountedTotal:{value:e.prices.row_total.value,currency:e.prices.row_total.currency},onlyXLeftInStock:e.__typename==="ConfigurableCartItem"?(y=e.configured_variant)==null?void 0:y.only_x_left_in_stock:e.product.only_x_left_in_stock,lowInventory:e.is_available&&e.product.only_x_left_in_stock!==null,insufficientQuantity:(e.__typename==="ConfigurableCartItem"?e.configured_variant:e.product).stock_status==="IN_STOCK"&&!e.is_available,outOfStock:e.product.stock_status==="OUT_OF_STOCK",stockLevel:tr(e),discountPercentage:ar(e),savingsAmount:gr(e),productAttributes:fr(e)}})}function rr(r){switch(+r){case 0:return!1;case 1:return!0;case 2:return null;default:return!1}}function er(r){var c;const n=(c=r==null?void 0:r.items)==null?void 0:c.reduce((e,u)=>{var l;return(l=u.errors)==null||l.forEach(i=>{e.push({uid:u.uid,text:i.message})}),e},[]);return n!=null&&n.length?n:null}function z(r){return r!=null&&r.length?r.map(n=>({amount:{value:n.amount.value,currency:n.amount.currency},label:n.label,coupon:n.coupon})):[]}function nr(r){const n=r==null?void 0:r.map(e=>({uid:e.uid,label:e.label,value:e.values.map(u=>u.label).join(", ")})),c={};return n==null||n.forEach(e=>{c[e.label]=e.value}),Object.keys(c).length>0?c:null}function cr(r){const n=r==null?void 0:r.map(e=>({uid:e.configurable_product_option_uid,label:e.option_label,value:e.value_label})),c={};return n==null||n.forEach(e=>{c[e.label]=e.value}),Object.keys(c).length>0?c:null}function ur(r){const n=r==null?void 0:r.map(e=>({uid:e.customizable_option_uid,label:e.label,type:e.type,values:e.values.map(u=>({uid:u.customizable_option_value_uid,label:u.label,value:u.value}))})),c={};return n==null||n.forEach(e=>{var u;switch(e.type){case"field":case"area":case"date_time":c[e.label]=e.values[0].value;break;case"radio":case"drop_down":c[e.label]=e.values[0].label;break;case"multiple":case"checkbox":c[e.label]=e.values.reduce((l,i)=>l?`${l}, ${i.label}`:i.label,"");break;case"file":{const l=new DOMParser,i=e.values[0].value,_=((u=l.parseFromString(i,"text/html").querySelector("a"))==null?void 0:u.textContent)||"";c[e.label]=_;break}}}),c}function lr(r){var n,c;return((n=o.config)==null?void 0:n.cartSummaryDisplayTotal)===0?r.itemsV2.items.length:((c=o.config)==null?void 0:c.cartSummaryDisplayTotal)===1?r.total_quantity:r.itemsV2.items.length}function ir(r){return(r==null?void 0:r.length)>0?{count:r.length,result:r.map(n=>n.title).join(", ")}:null}function sr(r){var n,c,e,u;return(n=r.shipping_addresses)!=null&&n.length?(c=r.shipping_addresses)==null?void 0:c.map(l=>({countryCode:l.country.code,zipCode:l.postcode,regionCode:l.region.code})):(e=r.addresses)!=null&&e.length?(u=r.addresses)==null?void 0:u.filter(l=>l.default_shipping).map(l=>{var i;return l.default_shipping&&{countryCode:l.country_code,zipCode:l.postcode,regionCode:(i=l.region)==null?void 0:i.region_code}}):null}function or(r){var n,c;return(c=(n=r==null?void 0:r.itemsV2)==null?void 0:n.items)==null?void 0:c.some(e=>{var u;return((u=e==null?void 0:e.product)==null?void 0:u.stock_status)==="OUT_OF_STOCK"||e.product.stock_status==="IN_STOCK"&&!e.is_available})}function tr(r){return r.not_available_message?r.product.quantity!=null?r.product.quantity:"noNumber":null}function _r(r){var n,c;return(c=(n=r==null?void 0:r.itemsV2)==null?void 0:n.items)==null?void 0:c.some(e=>{var u;return((u=e==null?void 0:e.product)==null?void 0:u.stock_status)==="OUT_OF_STOCK"})}function ar(r){var c,e,u,l,i,a,_,g;let n;if(r.__typename==="ConfigurableCartItem")n=(l=(u=(e=(c=r==null?void 0:r.configured_variant)==null?void 0:c.price_range)==null?void 0:e.maximum_price)==null?void 0:u.discount)==null?void 0:l.percent_off;else{if(r.__typename==="BundleCartItem")return;n=(g=(_=(a=(i=r==null?void 0:r.product)==null?void 0:i.price_range)==null?void 0:a.maximum_price)==null?void 0:_.discount)==null?void 0:g.percent_off}if(n!==0)return Math.round(n)}function pr(r){var n;return r.__typename==="ConfigurableCartItem"?r.configured_variant.sku:((n=r.product)==null?void 0:n.variantSku)||r.product.sku}function gr(r){var e,u,l,i,a,_;let n,c;if(n=((u=(e=r==null?void 0:r.prices)==null?void 0:e.original_row_total)==null?void 0:u.value)-((i=(l=r==null?void 0:r.prices)==null?void 0:l.row_total)==null?void 0:i.value),c=(_=(a=r==null?void 0:r.prices)==null?void 0:a.row_total)==null?void 0:_.currency,n!==0)return{value:n,currency:c}}function fr(r){var n,c,e;return(e=(c=(n=r==null?void 0:r.product)==null?void 0:n.custom_attributesV2)==null?void 0:c.items)==null?void 0:e.map(u=>{const l=u.code.split("_").map(i=>i.charAt(0).toUpperCase()+i.slice(1)).join(" ");return{...u,code:l}})}function yr(r){var e,u;if(!r)return null;const n=l=>{switch(l){case 1:return"EXCLUDING_TAX";case 2:return"INCLUDING_TAX";case 3:return"INCLUDING_EXCLUDING_TAX";default:return"EXCLUDING_TAX"}},c=l=>{switch(+l){case 0:return!1;case 1:return!0;case 2:return null;default:return!1}};return{displayMiniCart:r.minicart_display,miniCartMaxItemsDisplay:r.minicart_max_items,cartExpiresInDays:r.cart_expires_in_days,cartSummaryDisplayTotal:r.cart_summary_display_quantity,cartSummaryMaxItems:r.max_items_in_order_summary,defaultCountry:r.default_country,categoryFixedProductTaxDisplaySetting:r.category_fixed_product_tax_display_setting,productFixedProductTaxDisplaySetting:r.product_fixed_product_tax_display_setting,salesFixedProductTaxDisplaySetting:r.sales_fixed_product_tax_display_setting,shoppingCartDisplaySetting:{zeroTax:r.shopping_cart_display_zero_tax,subtotal:n(r.shopping_cart_display_subtotal),price:n(r.shopping_cart_display_price),shipping:n(r.shopping_cart_display_shipping),fullSummary:r.shopping_cart_display_full_summary,grandTotal:r.shopping_cart_display_grand_total,taxGiftWrapping:r.shopping_cart_display_tax_gift_wrapping},useConfigurableParentThumbnail:r.configurable_thumbnail_source==="parent",allowGiftWrappingOnOrder:c(r==null?void 0:r.allow_gift_wrapping_on_order),allowGiftWrappingOnOrderItems:c(r==null?void 0:r.allow_gift_wrapping_on_order_items),allowGiftMessageOnOrder:c(r==null?void 0:r.allow_order),allowGiftMessageOnOrderItems:c(r==null?void 0:r.allow_items),allowGiftReceipt:!!+(r==null?void 0:r.allow_gift_receipt),allowPrintedCard:!!+(r==null?void 0:r.allow_printed_card),printedCardPrice:{currency:((e=r==null?void 0:r.printed_card_priceV2)==null?void 0:e.currency)??"",value:((u=r==null?void 0:r.printed_card_priceV2)==null?void 0:u.value)!=null?+r.printed_card_priceV2.value:0},cartGiftWrapping:n(+r.cart_gift_wrapping),cartPrintedCard:n(+r.cart_printed_card)}}const A=`
|
|
4
4
|
$pageSize: Int! = 100,
|
|
5
5
|
$currentPage: Int! = 1,
|
|
6
6
|
$itemsSortInput: QuoteItemsSortInput! = {field: CREATED_AT, order: DESC}
|
|
@@ -45,7 +45,7 @@ import{s as o,d as q,f as S,h as I}from"./resetCart.js";import{events as y}from"
|
|
|
45
45
|
|
|
46
46
|
${mr}
|
|
47
47
|
${U}
|
|
48
|
-
`,
|
|
48
|
+
`,I=async()=>{const r=o.authenticated,n=o.cartId;if(r)return S(vr,{method:"POST"}).then(({errors:c,data:e})=>{if(c)return D(c);const u={...e.cart,...e.customer};return k(u)});if(!n)throw new Error("No cart ID found");return S(dr,{method:"POST",cache:"no-cache",variables:{cartId:n}}).then(({errors:c,data:e})=>c?D(c):k(e.cart))},Cr=`
|
|
49
49
|
mutation MERGE_CARTS_MUTATION(
|
|
50
50
|
$guestCartId: String!,
|
|
51
51
|
$customerCartId: String!,
|
|
@@ -60,7 +60,7 @@ import{s as o,d as q,f as S,h as I}from"./resetCart.js";import{events as y}from"
|
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
${U}
|
|
63
|
-
`,E=async()=>{if(o.initializing)return null;o.initializing=!0,o.config||(o.config=await br());const r=o.authenticated?await B():await W();return
|
|
63
|
+
`,E=async()=>{if(o.initializing)return null;o.initializing=!0,o.config||(o.config=await br());const r=o.authenticated?await B():await W();return f.emit("cart/initialized",r),f.emit("cart/data",r),o.initializing=!1,r};async function B(){const r=o.cartId,n=await I();return n?(o.cartId=n.id,!r||n.id===r?n:await S(Cr,{variables:{guestCartId:r,customerCartId:n.id}}).then(()=>I()).then(c=>{const e={oldCartItems:n.items,newCart:c};return f.emit("cart/merged",e),c}).catch(()=>(console.error("Could not merge carts"),n))):null}async function W(){if(V.getConfig().disableGuestCart===!0||!o.cartId)return null;try{return await I()}catch(r){return console.error(r),null}}const hr=`
|
|
64
64
|
query STORE_CONFIG_QUERY {
|
|
65
65
|
storeConfig {
|
|
66
66
|
minicart_display
|
|
@@ -94,4 +94,4 @@ query STORE_CONFIG_QUERY {
|
|
|
94
94
|
cart_printed_card
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
|
-
`,br=async()=>S(hr,{method:"GET",cache:"force-cache"}).then(({errors:r,data:n})=>r?
|
|
97
|
+
`,br=async()=>S(hr,{method:"GET",cache:"force-cache"}).then(({errors:r,data:n})=>r?D(r):yr(n.storeConfig)),xr=async()=>{const r=o.authenticated?await B():await W();return f.emit("cart/data",r),r};export{A as C,E as a,B as b,V as c,W as d,br as e,I as g,$ as i,xr as r,k as t};
|
package/chunks/resetCart.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{FetchGraphQL as
|
|
3
|
+
import{FetchGraphQL as s}from"@dropins/tools/fetch-graphql.js";import"@dropins/tools/event-bus.js";import{g as u}from"./persisted-data.js";function d(r){const e=document.cookie.split(";");for(let a=0;a<e.length;a++){const n=e[a].trim();if(n.indexOf(`${r}=`)===0)return n.substring(r.length+1)}return null}const l=(()=>{const r=u();return{cartId:null,authenticated:r?!r.isGuestCart:!1}})(),i=new Proxy(l,{set(r,e,a){var n;if(r[e]=a,e==="cartId"){if(a===i.cartId)return!0;if(a===null)return document.cookie="DROPIN__CART__CART-ID=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/",!0;const c=(n=i.config)==null?void 0:n.cartExpiresInDays;c||console.warn('Missing "expiresInDays" config. Cookie expiration will default to 30 days.');const t=new Date;t.setDate(t.getDate()+(c??30)),document.cookie=`DROPIN__CART__CART-ID=${a}; expires=${t.toUTCString()}; path=/`}return!0},get(r,e){return e==="cartId"?d("DROPIN__CART__CART-ID"):r[e]}}),{setEndpoint:C,setFetchGraphQlHeader:I,removeFetchGraphQlHeader:D,setFetchGraphQlHeaders:m,fetchGraphQl:_,getConfig:T}=new s().getMethods(),R=r=>{const e=r.findIndex(({extensions:t})=>(t==null?void 0:t.category)==="graphql-authorization")>-1,a=r.findIndex(({path:t,extensions:o})=>(o==null?void 0:o.category)==="graphql-no-such-entity"&&!(t!=null&&t.includes("applyCouponsToCart")))>-1,n=r.map(t=>t.message).join(" "),c=r.findIndex(({path:t,extensions:o})=>(o==null?void 0:o.category)==="graphql-input"&&(t==null?void 0:t.includes("cart")))>-1;if(e||a||c)return g(),console.error(n),null;throw Error(n)},g=()=>(i.cartId=null,i.authenticated=!1,Promise.resolve(null));export{C as a,I as b,m as c,g as d,_ as f,T as g,R as h,D as r,i as s};
|
|
@@ -1,10 +1,31 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{s as
|
|
3
|
+
import{s as h,f as C,h as f}from"./resetCart.js";import{C as l,t as U}from"./refreshCart.js";import{events as d}from"@dropins/tools/event-bus.js";import{g as R}from"./persisted-data.js";import{CART_FRAGMENT as E}from"../fragments.js";import{a as A}from"./acdl.js";const D=`
|
|
4
|
+
mutation ADD_PRODUCTS_TO_CART_MUTATION(
|
|
5
|
+
$cartId: String!,
|
|
6
|
+
$cartItems: [CartItemInput!]!,
|
|
7
|
+
${l}
|
|
8
|
+
) {
|
|
9
|
+
addProductsToCart(
|
|
10
|
+
cartId: $cartId
|
|
11
|
+
cartItems: $cartItems
|
|
12
|
+
) {
|
|
13
|
+
cart {
|
|
14
|
+
...CART_FRAGMENT
|
|
15
|
+
}
|
|
16
|
+
user_errors {
|
|
17
|
+
code
|
|
18
|
+
message
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
${E}
|
|
24
|
+
`,O=`
|
|
4
25
|
mutation UPDATE_PRODUCTS_FROM_CART_MUTATION(
|
|
5
26
|
$cartId: String!,
|
|
6
27
|
$cartItems: [CartItemUpdateInput!]!,
|
|
7
|
-
${
|
|
28
|
+
${l}
|
|
8
29
|
) {
|
|
9
30
|
updateCartItems(
|
|
10
31
|
input: {
|
|
@@ -19,5 +40,5 @@ import{s as m,f as i,h as p}from"./resetCart.js";import{C as _,t as I}from"./ref
|
|
|
19
40
|
}
|
|
20
41
|
}
|
|
21
42
|
|
|
22
|
-
${
|
|
23
|
-
`,
|
|
43
|
+
${E}
|
|
44
|
+
`,g=(a,c)=>{const n=[];return a.filter(r=>r.errors&&c.some(o=>o===r.uid)).forEach(r=>{var o;(o=r.errors)==null||o.forEach(e=>{n.push({message:e.message,path:[r.uid],extensions:{category:e.code}})})}),n},w=async a=>{const c=h.cartId,n=R(),r=0;let o=[];if(!c)throw Error("Cart ID is not set");const e=a.filter(t=>t.optionsUIDs&&t.optionsUIDs.length>0);if(!n.items)throw console.error("Cart items are null or undefined"),Error("Error filtering existing cart items.");if(o=n.items.filter(t=>e.some(s=>s.uid===t.uid)),e.length>0&&o.length===0)throw Error("Invalid Cart Item UID: No matching cart entry found");if(e.length>0&&o.length>0)return C(D,{variables:{cartId:c,cartItems:e.map(({sku:t,parentSku:s,quantity:u,optionsUIDs:m,enteredOptions:i})=>({sku:t,parent_sku:s,quantity:u,selected_options:m,entered_options:i}))}}).then(({errors:t,data:s})=>{var i,p,T;const u=g(((p=(i=s==null?void 0:s.addProductsToCart)==null?void 0:i.cart)==null?void 0:p.itemsV2.items)||[],e.map(I=>I.uid)),m=[...((T=s==null?void 0:s.addProductsToCart)==null?void 0:T.user_errors)??[],...t??[],...u];return m.length>0?f(m):_(c,e.map(({uid:I})=>({uid:I,quantity:r}))).catch(I=>{throw Error(`Failed to update products in cart: ${I}`)})}).then(t=>{d.emit("cart/updated",t),d.emit("cart/data",t),t&&A(t,a,h.locale??"en-US")}).catch(t=>{throw Error(`Failed to add products to cart: ${t}`)});if(e.length===0)return _(c,a).catch(t=>{throw Error(t)})},_=async(a,c)=>C(O,{variables:{cartId:a,cartItems:c.map(({uid:n,quantity:r,giftOptions:o})=>({cart_item_uid:n,quantity:r,...o}))}}).then(({errors:n,data:r})=>{var s,u,m;const o=g(((u=(s=r==null?void 0:r.updateCartItems)==null?void 0:s.cart)==null?void 0:u.itemsV2.items)||[],c.map(i=>i.uid)),e=[...((m=r==null?void 0:r.updateCartItems)==null?void 0:m.user_errors)??[],...n??[],...o],t=(r==null?void 0:r.updateCartItems)&&U(r.updateCartItems.cart);if(t&&d.emit("cart/data",t),e.length>0)return f(e);if(d.emit("cart/updated",t),t){const i=t.items.filter(p=>c.some(T=>T.uid===p.uid));i.length>0&&d.emit("cart/product/updated",i)}return t&&A(t,c,h.locale??"en-US"),t});export{D as A,w as u};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { FunctionComponent } from 'preact';
|
|
1
|
+
import { FunctionComponent, JSX, VNode } from 'preact';
|
|
2
|
+
import { ImageNodeRenderProps } from '../../../../@adobe-commerce/elsie/src/components';
|
|
2
3
|
import { GiftWrappingConfigProps, GiftOptionsViewProps } from '../../../types';
|
|
3
4
|
|
|
4
5
|
interface GiftOptionModalProps {
|
|
@@ -6,6 +7,7 @@ interface GiftOptionModalProps {
|
|
|
6
7
|
showModal: boolean;
|
|
7
8
|
productName: string;
|
|
8
9
|
view: GiftOptionsViewProps;
|
|
10
|
+
imageSwatchImageNode?: VNode | ((props: ImageNodeRenderProps) => JSX.Element);
|
|
9
11
|
setShowModal: () => void;
|
|
10
12
|
updateGiftOptions: (name: string, value?: string | boolean | number, extraGiftOptions?: Record<string, string | boolean | number>) => void;
|
|
11
13
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { StateUpdater, Dispatch } from 'preact/hooks';
|
|
2
|
-
import { FunctionComponent } from 'preact';
|
|
2
|
+
import { FunctionComponent, JSX, VNode } from 'preact';
|
|
3
|
+
import { ImageNodeRenderProps } from '../../../@adobe-commerce/elsie/src/components';
|
|
3
4
|
import { GiftWrappingConfigProps, GiftOptionsViewProps, GiftFormDataType, GiftOptionsReadOnlyViewProps, ProductGiftOptionsConfig } from '../../types';
|
|
4
5
|
import { CartModel, Item } from '../../data/models';
|
|
5
6
|
|
|
@@ -17,6 +18,7 @@ export interface GiftOptionsProps {
|
|
|
17
18
|
areGiftOptionsVisible: Record<string, boolean>;
|
|
18
19
|
view: GiftOptionsViewProps;
|
|
19
20
|
giftOptions: GiftFormDataType;
|
|
21
|
+
imageSwatchImageNode?: VNode | ((props: ImageNodeRenderProps) => JSX.Element);
|
|
20
22
|
item: Item | ProductGiftOptionsConfig;
|
|
21
23
|
giftWrappingConfig: GiftWrappingConfigProps[] | [];
|
|
22
24
|
updateGiftOptions: (name: string, value?: string | boolean | number, extraGiftOptions?: Record<string, string | boolean | number>) => void;
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
import { HTMLAttributes } from 'preact/compat';
|
|
2
2
|
import { CartModel } from '../../data/models';
|
|
3
|
-
import { Container } from '
|
|
3
|
+
import { Container, SlotProps } from '../../../@adobe-commerce/elsie/src/lib';
|
|
4
|
+
import { ImageProps } from '../../../@adobe-commerce/elsie/src/components';
|
|
4
5
|
|
|
5
6
|
export interface CartSummaryGridProps extends HTMLAttributes<HTMLDivElement> {
|
|
6
7
|
routeProduct?: (item: CartModel['items'][0]) => string;
|
|
7
8
|
routeEmptyCartCTA?: () => string;
|
|
9
|
+
slots?: {
|
|
10
|
+
Thumbnail?: SlotProps<{
|
|
11
|
+
item: CartModel['items'][number];
|
|
12
|
+
defaultImageProps: ImageProps;
|
|
13
|
+
}>;
|
|
14
|
+
};
|
|
8
15
|
}
|
|
9
16
|
export declare const CartSummaryGrid: Container<CartSummaryGridProps, CartModel | null>;
|
|
10
17
|
//# sourceMappingURL=CartSummaryGrid.d.ts.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { HTMLAttributes } from 'preact/compat';
|
|
2
|
-
import { Container, SlotProps } from '
|
|
2
|
+
import { Container, SlotProps } from '../../../@adobe-commerce/elsie/src/lib';
|
|
3
3
|
import { CartModel } from '../../data/models/cart-model';
|
|
4
|
+
import { ImageProps } from '../../../@adobe-commerce/elsie/src/components';
|
|
4
5
|
|
|
5
6
|
export interface CartSummaryListProps extends HTMLAttributes<HTMLDivElement> {
|
|
6
7
|
hideHeading?: boolean;
|
|
@@ -21,9 +22,13 @@ export interface CartSummaryListProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
21
22
|
Heading?: SlotProps;
|
|
22
23
|
EmptyCart?: SlotProps;
|
|
23
24
|
Footer?: SlotProps;
|
|
24
|
-
Thumbnail?: SlotProps
|
|
25
|
+
Thumbnail?: SlotProps<{
|
|
26
|
+
item: CartModel['items'][number];
|
|
27
|
+
defaultImageProps: ImageProps;
|
|
28
|
+
}>;
|
|
25
29
|
ProductAttributes?: SlotProps;
|
|
26
30
|
CartSummaryFooter?: SlotProps;
|
|
31
|
+
CartItem?: SlotProps;
|
|
27
32
|
};
|
|
28
33
|
enableRemoveItem?: boolean;
|
|
29
34
|
enableUpdateItemQuantity?: boolean;
|
package/containers/Coupons.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{jsxs as E,jsx as t}from"@dropins/tools/preact-jsx-runtime.js";import{useState as l,useEffect as m}from"@dropins/tools/preact-compat.js";import"@dropins/tools/lib.js";import{Tag as b,Icon as x,
|
|
3
|
+
import{jsxs as E,jsx as t}from"@dropins/tools/preact-jsx-runtime.js";import{useState as l,useEffect as m}from"@dropins/tools/preact-compat.js";import"@dropins/tools/lib.js";import{Tag as b,Icon as x,Button as L,Input as R}from"@dropins/tools/components.js";/* empty css */import{S as P,C as B}from"../chunks/Coupons.js";import"@dropins/tools/preact-hooks.js";import"../chunks/resetCart.js";import{events as S}from"@dropins/tools/event-bus.js";import{a as f,A as h}from"../chunks/applyCouponsToCart.js";import{useText as $}from"@dropins/tools/i18n.js";import"../chunks/Coupon.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/persisted-data.js";import"../chunks/refreshCart.js";import"../fragments.js";const U=({children:z,...w})=>{const[d,c]=l(new Set),[i,C]=l([]),[u,p]=l(new Set),s=$({applyButton:"Cart.PriceSummary.coupon.applyAction",placeholder:"Cart.PriceSummary.coupon.placeholder",ariaLabelRemove:"Cart.PriceSummary.coupon.ariaLabelRemove"}),y=async o=>{const e=o.coupon,r=new Set(d);r.add(e),p(new Set);const n=Array.from(r);f(n,h.REPLACE).then(a=>{if(a===null)throw new Error("Error adding coupon code");c(r)}).catch(a=>{console.warn(a),p(new Set([a.message]))})},A=o=>{const e=new Set(d);e.delete(o),p(new Set);const r=Array.from(e);f(r,h.REPLACE).then(n=>{if(n===null)throw new Error("Error removing coupon code");c(e)}).catch(n=>{console.warn(n),p(new Set([n.message]))})};m(()=>{const o=S.on("cart/data",e=>{const r=e==null?void 0:e.appliedCoupons;if(!r){C([]),p(new Set);return}const n=r.map(a=>a.code);C(n),p(new Set)},{eager:!0});return()=>{o==null||o.off()}},[]),m(()=>{c(new Set(i))},[i]),m(()=>{const o=S.on("shipping/estimate",()=>{p(new Set)},{eager:!0});return()=>{o==null||o.off()}},[]);const g=i.map((o,e)=>E(b,{className:"coupon-code-form__applied-item",children:[t("span",{children:o}),t("button",{"aria-label":`${s.ariaLabelRemove} ${o}`,onClick:()=>A(o),"data-testid":`remove-coupon-${e+1}`,children:t(x,{source:P,size:"16"})})]},o)),v=u.size>0?t("div",{"data-testid":"coupon-code-error",children:Array.from(u)[0]}):void 0;return t(B,{...w,couponCodeField:t(R,{"aria-label":s.placeholder,type:"text",placeholder:s.placeholder,name:"coupon",variant:"primary",value:"","data-testid":"coupon-code-input",maxLength:50,error:u.size>0}),applyCouponsButton:t(L,{variant:"secondary",children:s.applyButton}),error:v,appliedCoupons:t("div",{children:g}),onApplyCoupon:y})};export{U as Coupons,U as default};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { HTMLAttributes } from 'preact/compat';
|
|
2
|
-
import { Container } from '
|
|
2
|
+
import { Container } from '../../../@adobe-commerce/elsie/src/lib';
|
|
3
3
|
|
|
4
4
|
export interface EmptyCartProps extends HTMLAttributes<HTMLDivElement> {
|
|
5
5
|
routeCTA?: () => string;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{jsxs as T,jsx as e,Fragment as V}from"@dropins/tools/preact-jsx-runtime.js";import{classes as
|
|
3
|
+
import{jsxs as T,jsx as e,Fragment as V}from"@dropins/tools/preact-jsx-runtime.js";import{classes as D,VComponent as B,getFormValues as $}from"@dropins/tools/lib.js";import{Button as q,Input as w,Picker as G,Price as U}from"@dropins/tools/components.js";/* empty css */import{useRef as H,useState as s,useEffect as Z,useCallback as J}from"@dropins/tools/preact-compat.js";import{useText as M,Text as k}from"@dropins/tools/i18n.js";import"@dropins/tools/preact-hooks.js";import{s as X}from"../chunks/resetCart.js";import{events as R}from"@dropins/tools/event-bus.js";import{s as j}from"../chunks/persisted-data.js";import{g as O,a as Q,b as W}from"../chunks/getEstimateShipping.js";import"@dropins/tools/fetch-graphql.js";const Y=({countryField:z,destinationText:f,estimateButton:I,estimated:A,loading:N,onEstimate:l,price:S,priceExcludingTax:F,priceIncludingTax:n,stateField:C,taxExcluded:y,taxIncluded:P,zipField:m})=>{const d=H(null),[L,x]=s(!0),[E,i]=s("zip"),r=M({editZipAction:"Cart.EstimateShipping.editZipAction",destinationLinkAriaLabel:"Cart.EstimateShipping.destinationLinkAriaLabel",shippingLabel:"Cart.EstimateShipping.label",zipPlaceholder:"Cart.EstimateShipping.zipPlaceholder"}),_=p=>{p.preventDefault(),x(b=>!b)},t=p=>{p.preventDefault(),x(!0),i(b=>b==="zip"?"state":"zip")},h=p=>{p.preventDefault(),x(!1);const b=$(d.current);l==null||l(b)},v=r.destinationLinkAriaLabel.replace("{destination}",f);return T("div",{"data-testid":"estimate-shipping",className:D(["cart-estimate-shipping",["cart-estimate-shipping--loading",N]]),children:[e("span",{className:"cart-estimate-shipping__label",children:A?f?T(V,{children:[e(k,{id:"Cart.EstimateShipping.estimatedDestination"})," ",e("a",{className:"cart-estimate-shippingLink",role:"button",href:"",onClick:_,onKeyDown:p=>{(p.key==="Enter"||p.key===" ")&&_(p)},tabIndex:0,"aria-label":v,"data-testid":"shipping-destination-link",children:f})]}):e(k,{id:"Cart.EstimateShipping.estimated"}):e(k,{id:"Cart.EstimateShipping.label"})}),e(B,{node:S,className:"cart-estimate-shipping__price"}),A&&T(V,{children:[e("div",{className:D(["cart-estimate-shipping__caption"]),children:e("a",{href:"#",className:"cart-estimate-shipping__link",onClick:t,"data-testid":"shipping-alternate-field-link",children:E==="zip"?e(k,{id:"Cart.EstimateShipping.alternateField.state"}):e(k,{id:"Cart.EstimateShipping.alternateField.zip"})})}),T("form",{className:D(["cart-estimate-shipping--edit",["cart-estimate-shipping--hide",!L]]),ref:d,"data-testid":"shipping-estimate-form",children:[z&&e(B,{node:z,className:D(["cart-estimate-shipping--country"])}),E==="state"?C&&e(B,{node:C,className:D(["cart-estimate-shipping--state"])}):m&&e(B,{node:m,className:D(["cart-estimate-shipping--zip"])}),I&&e(B,{node:I,className:D(["cart-estimate-shipping--action"]),onClick:h,type:"submit"})]})]}),P&&e("div",{"data-testid":"shipping-tax-included",className:D(["cart-estimate-shipping__caption"]),children:T("span",{children:[n," ",e(k,{id:"Cart.EstimateShipping.withTaxes"})]})}),y?e("div",{"data-testid":"shipping-tax-included-excluded",className:D(["cart-estimate-shipping__caption"]),children:T("span",{children:[F," ",e(k,{id:"Cart.EstimateShipping.withoutTaxes"})]})}):void 0]})},ee=()=>{const[z,f]=s(!1),[I,A]=s([]),[N,l]=s("US"),[S,F]=s(""),[n,C]=s(""),[y,P]=s([]),[m,d]=s(!1),[L,x]=s(),[E,i]=s(),[r,_]=s(""),[t,h]=s(!1),v=()=>{l("US"),F(""),C(""),x(null),i(null),_(""),h(!1)},p=async u=>{const{shippingCountry:a,shippingState:o="",shippingZip:c=""}=u,K={countryCode:a,postcode:c,region:{region:o}};return f(!0),W(K).then(g=>(g&&(x({amount:g.amount.value,currency:g.amount.currency,priceIncludingtax:{amount:g.price_incl_tax.value,currency:g.price_incl_tax.currency},priceExcludingtax:{amount:g.price_excl_tax.value,currency:g.price_excl_tax.currency}}),i({carrier_code:g.carrier_code,method_code:g.method_code}),l(a),F(o),C(c),_(o||c||a),h(!0)),l(a),F(o),C(c),_(o||c||a),g)).finally(()=>{f(!1)})},b=u=>{u.preventDefault(),F(""),C("");const a=u.target.value;l(a)};return Z(()=>{O().then(u=>{let a="US";const o=u.map(c=>(c.isDefaultCountry&&(a=c.id),{text:c.label,value:c.id}));A(o),l(a)})},[]),Z(()=>{d(!0),Q(N).then(u=>{const a=u.map(o=>({text:o.name,value:o.code}));P(a)}).finally(()=>{d(!1)})},[N,d]),{loading:z,regionsLoading:m,estimatedDestinationText:r,countries:I,selectedCountry:N,selectedRegion:S,selectedZip:n,regions:y,estimatedShippingPrice:L,estimatedShippingMethod:E,shippingEstimated:t,handleEstimateShipping:p,handleCountrySelected:b,resetValues:v,setPriceSummaryLoading:f}},he=({showDefaultEstimatedShippingCost:z})=>{var _;const[f,I]=s(!1),{loading:A,countries:N,regions:l,selectedCountry:S,estimatedDestinationText:F,estimatedShippingPrice:n,handleCountrySelected:C,handleEstimateShipping:y,regionsLoading:P,selectedRegion:m,selectedZip:d,shippingEstimated:L,resetValues:x}=ee(),E=J(t=>{y(t).then(()=>{j(t)})},[y]);Z(()=>{const t=R.on("cart/data",h=>{var a,o,c;I((h==null?void 0:h.isVirtual)||!1);const v=(o=(a=h==null?void 0:h.addresses)==null?void 0:a.shipping)==null?void 0:o[0];if(z&&!v&&y({shippingCountry:((c=X.config)==null?void 0:c.defaultCountry)??""}),!v)return;const{countryCode:p,regionCode:b,zipCode:u}=v;E({shippingCountry:p,shippingState:b,shippingZip:u})},{eager:!0});return()=>{t==null||t.off()}},[]),Z(()=>{const t=R.on("cart/updated",()=>{L&&y({shippingCountry:S,shippingState:m,shippingZip:d})});return()=>{t==null||t.off()}},[L,S,m,d,y]),Z(()=>{const t=R.on("cart/reset",()=>{x(),j(null)});return()=>{t==null||t.off()}},[x]),Z(()=>{const t=R.on("cart/merged",()=>{L&&E({shippingCountry:S,shippingState:m,shippingZip:d})});return()=>{t==null||t.off()}},[L,S,m,d,E]);const i=M({applyButton:"Cart.PriceSummary.estimatedShippingForm.apply.label",countryField:"Cart.PriceSummary.estimatedShippingForm.country.placeholder",freeShipping:"Cart.PriceSummary.freeShipping",stateField:"Cart.PriceSummary.estimatedShippingForm.state.placeholder",taxToBeDetermined:"Cart.PriceSummary.taxToBeDetermined",zipField:"Cart.PriceSummary.estimatedShippingForm.zip.placeholder"});if(f)return null;const r=(_=X.config)==null?void 0:_.shoppingCartDisplaySetting;return e(Y,{loading:A,taxIncluded:(r==null?void 0:r.shipping)==="INCLUDING_TAX",taxExcluded:(r==null?void 0:r.shipping)==="INCLUDING_EXCLUDING_TAX",price:(n==null?void 0:n.amount)==0?e("span",{"data-testId":"free-shipping",children:i.freeShipping}):(r==null?void 0:r.shipping)==="INCLUDING_TAX"&&n?e(U,{"data-testid":"shipping",...n.priceIncludingtax}):n?e(U,{...n}):e("span",{children:i.taxToBeDetermined}),estimated:!0,priceExcludingTax:n!=null&&n.priceExcludingtax?e(U,{"data-testid":"shipping-excluding-tax",...n.priceExcludingtax}):e("span",{children:i.taxToBeDetermined}),countryField:e(G,{name:"shippingCountry",placeholder:i.countryField,value:S,variant:"primary",options:N,handleSelect:C,"data-testid":"estimate-shipping-country-selector"}),stateField:l.length>0?e(G,{name:"shippingState",placeholder:i.stateField,variant:"primary",options:l,value:m,"data-testid":"estimate-shipping-state-selector",disabled:P}):e(w,{"aria-label":i.stateField,name:"shippingState",placeholder:i.stateField,variant:"primary",value:m,disabled:P,"data-testid":"estimate-shipping-state-input",maxLength:50}),zipField:e(w,{"aria-label":i.zipField,name:"shippingZip",placeholder:i.zipField,variant:"primary","data-testid":"estimate-shipping-zip-input",value:d,maxLength:12}),estimateButton:e(q,{variant:"secondary","data-testid":"estimate-shipping-apply-button","aria-label":i.applyButton,children:i.applyButton}),destinationText:F||i.taxToBeDetermined,onEstimate:E})};export{he as EstimateShipping,he as default};
|
package/containers/GiftCards.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{jsxs as y,jsx as a}from"@dropins/tools/preact-jsx-runtime.js";import{useState as p,useEffect as l}from"@dropins/tools/preact-compat.js";import"@dropins/tools/lib.js";import{Tag as G,Icon as v,
|
|
3
|
+
import{jsxs as y,jsx as a}from"@dropins/tools/preact-jsx-runtime.js";import{useState as p,useEffect as l}from"@dropins/tools/preact-compat.js";import"@dropins/tools/lib.js";import{Tag as G,Icon as v,Button as b,Input as A}from"@dropins/tools/components.js";/* empty css */import{S as L,C as x}from"../chunks/Coupons.js";import"@dropins/tools/preact-hooks.js";import"../chunks/resetCart.js";import{events as E}from"@dropins/tools/event-bus.js";import{r as P,a as T}from"../chunks/removeGiftCardFromCart.js";import{S as B}from"../chunks/GiftCard.js";import{useText as R}from"@dropins/tools/i18n.js";import"../chunks/Coupon.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/persisted-data.js";import"../chunks/refreshCart.js";import"../fragments.js";import"../chunks/acdl.js";const X=({children:z,...C})=>{const[m,d]=p(new Set),[s,f]=p([]),[c,i]=p(new Set),o=R({giftCardTitle:"Cart.PriceSummary.giftCard.title",applyButton:"Cart.PriceSummary.giftCard.applyAction",placeholder:"Cart.PriceSummary.giftCard.placeholder",ariaLabel:"Cart.PriceSummary.giftCard.ariaLabel",ariaLabelRemove:"Cart.PriceSummary.giftCard.ariaLabelRemove",empty:"Cart.PriceSummary.giftCard.errors.empty"}),u=async r=>{const t=r==null?void 0:r.giftCardCode;if(t==="")return i(new Set([o.empty])),!0;const e=new Set(m);e.add(t),i(new Set),T(t).then(n=>{if(n===null)throw new Error("Error adding gift card code");d(e)}).catch(n=>{console.warn(n),i(new Set([n.message]))})},S=r=>{const t=new Set(m);t.delete(r),i(new Set),P(r).then(e=>{if(e===null)throw new Error("Error removing gift card code");d(t)}).catch(e=>{console.warn(e),i(new Set([e.message]))})};l(()=>{const r=E.on("cart/data",t=>{const e=t==null?void 0:t.appliedGiftCards;if(!e){f([]),i(new Set);return}const n=e.map(({code:w})=>w);f(n),i(new Set)},{eager:!0});return()=>{r==null||r.off()}},[]),l(()=>{d(new Set(s))},[s]);const g=s.map((r,t)=>y(G,{className:"coupon-code-form__applied-item",children:[a("span",{children:r}),a("button",{"aria-label":`${o.ariaLabelRemove} ${r}`,onClick:()=>S(r),"data-testid":`remove-giftcard-${t+1}`,children:a(v,{source:L,size:"16"})})]},r)),h=c.size>0?a("div",{"data-testid":"giftcard-code-error",children:Array.from(c)[0]}):void 0;return a(x,{...C,className:"cart-gift-cards",accordionSectionTitle:o.giftCardTitle,accordionSectionIcon:B,couponCodeField:a(A,{"aria-label":o.ariaLabel,type:"text",placeholder:o.placeholder,name:"giftCardCode",variant:"primary",value:"","data-testid":"giftcard-code-input",maxLength:50,error:c.size>0}),applyCouponsButton:a(b,{variant:"secondary",children:o.applyButton}),error:h,appliedCoupons:a("div",{children:g}),onApplyCoupon:u})};export{X as GiftCards,X as default};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Item } from '../../data/models';
|
|
2
|
-
import { Container } from '
|
|
2
|
+
import { Container, SlotProps } from '../../../@adobe-commerce/elsie/src/lib';
|
|
3
3
|
import { GiftOptionsViewProps, GiftOptionsDataSourcesProps, GiftFormDataType, ProductGiftOptionsConfig, GiftOptionsReadOnlyViewProps } from '../../types';
|
|
4
|
+
import { ImageNodeRenderProps, ImageProps } from '../../../@adobe-commerce/elsie/src/components';
|
|
4
5
|
|
|
5
6
|
export interface GiftOptionsProps {
|
|
6
7
|
item: Item | ProductGiftOptionsConfig;
|
|
@@ -15,6 +16,13 @@ export interface GiftOptionsProps {
|
|
|
15
16
|
item: Item;
|
|
16
17
|
}) => void;
|
|
17
18
|
onGiftOptionsChange?: (data: GiftFormDataType) => void;
|
|
19
|
+
slots?: {
|
|
20
|
+
SwatchImage?: SlotProps<{
|
|
21
|
+
item: Item | ProductGiftOptionsConfig;
|
|
22
|
+
imageSwatchContext: ImageNodeRenderProps['imageSwatchContext'];
|
|
23
|
+
defaultImageProps: ImageProps;
|
|
24
|
+
}>;
|
|
25
|
+
};
|
|
18
26
|
}
|
|
19
27
|
export declare const GiftOptions: Container<GiftOptionsProps>;
|
|
20
28
|
//# sourceMappingURL=GiftOptions.d.ts.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{jsx as t,jsxs as f,Fragment as I}from"@dropins/tools/preact-jsx-runtime.js";import{classes as xe}from"@dropins/tools/lib.js";import{Modal as Ze,Price as se,ContentGrid as De,ImageSwatch as Xe,Button as le,Skeleton as Je,SkeletonRow as Qe,Field as j,Checkbox as ne,Input as _e,TextArea as Ye,Accordion as Me,AccordionSection as We,Icon as D,Card as Pe,ProgressSpinner as Ue}from"@dropins/tools/components.js";/* empty css */import*as X from"@dropins/tools/preact-compat.js";import{useRef as et,useEffect as J,useState as M,useId as Ne,useCallback as K,useMemo as oe}from"@dropins/tools/preact-hooks.js";import{useText as Z}from"@dropins/tools/i18n.js";import{s as A}from"../chunks/resetCart.js";import{S as Ve}from"../chunks/ChevronUp.js";import{S as $e}from"../chunks/ChevronDown.js";import{events as tt}from"@dropins/tools/event-bus.js";import{u as rt}from"../chunks/updateProductsFromCart.js";import{s as it}from"../chunks/setGiftOptionsOnCart.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/persisted-data.js";import"../chunks/refreshCart.js";import"../fragments.js";import"../chunks/acdl.js";const U=e=>X.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},X.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M0.75 12C0.75 5.78421 5.78421 0.75 12 0.75C18.2158 0.75 23.25 5.78421 23.25 12C23.25 18.2158 18.2158 23.25 12 23.25C5.78421 23.25 0.75 18.2158 0.75 12Z",stroke:"currentColor"}),X.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M6.75 12.762L10.2385 15.75L17.25 9",stroke:"currentColor"})),ae=e=>X.createElement("svg",{width:20,height:23,viewBox:"0 0 20 23",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},X.createElement("path",{d:"M10 6L10 21.5M10 6H12.25C13.4926 6 14.5 4.99264 14.5 3.75C14.5 2.50736 13.4926 1.5 12.25 1.5C11.0074 1.5 10 2.50736 10 3.75M10 6V3.75M10 6H7.75C6.50736 6 5.5 4.99264 5.5 3.75C5.5 2.50736 6.50736 1.5 7.75 1.5C8.99264 1.5 10 2.50736 10 3.75M3.25 10.75H16.75C17.9926 10.75 19 9.74264 19 8.5C19 7.25736 17.9926 6.25 16.75 6.25H3.25C2.00736 6.25 1 7.25736 1 8.5C1 9.74264 2.00736 10.75 3.25 10.75ZM4.75 21.5H15.25C16.4926 21.5 17.5 20.4926 17.5 19.25V13.25C17.5 12.0074 16.4926 11 15.25 11H4.75C3.50736 11 2.5 12.0074 2.5 13.25V19.25C2.5 20.4926 3.50736 21.5 4.75 21.5Z",stroke:"currentColor",strokeWidth:1.5}));function nt(e){const i=et(null);return J(()=>{if(!e||!i.current)return;const s=i.current,d=s.querySelectorAll('a, button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])');if(d.length===0)return;const r=d[0],c=d[d.length-1];function g(o){o.key==="Tab"&&(o.shiftKey&&document.activeElement===r?(o.preventDefault(),c.focus()):!o.shiftKey&&document.activeElement===c&&(o.preventDefault(),r.focus()))}return s.addEventListener("keydown",g),()=>{s.removeEventListener("keydown",g)}},[e]),i}const ot=({view:e,showModal:i,productName:s,giftWrappingConfig:d,setShowModal:r,updateGiftOptions:c})=>{var l;const g=nt(i),o=Z({modalTitle:"Cart.GiftOptions.modal.title",defaultTitle:"Cart.GiftOptions.modal.defaultTitle",modalWrappingText:"Cart.GiftOptions.modal.wrappingText",modalWrappingSubText:"Cart.GiftOptions.modal.wrappingSubText",modalConfirmButton:"Cart.GiftOptions.modal.modalConfirmButton",modalCancelButton:"Cart.GiftOptions.modal.modalCancelButton",ariaLabelModal:"Cart.GiftOptions.modal.ariaLabelModal",ariaLabelModalOpen:"Cart.GiftOptions.modal.ariaLabelModalOpen",ariaLabelModalClose:"Cart.GiftOptions.modal.ariaLabelModalClose",ariaLabelWrapping:"Cart.GiftOptions.modal.ariaLabelWrapping"}),[n,O]=M();if(J(()=>{const p=d.find(v=>v.selected)??d[0];O(p)},[d]),J(()=>{const p=document==null?void 0:document.querySelector(".cart-gift-options-view__modal-wrapper");p&&(p==null||p.focus())},[]),!i||!d.length)return null;const C=s?`${o.modalTitle} ${s}`:o.defaultTitle;return t("div",{ref:g,className:"cart-gift-options-view__modal-wrapper",tabIndex:0,"aria-label":`${o.ariaLabelModal} ${i?o.ariaLabelModalOpen:o.ariaLabelModalClose} ${s}`,children:f(Ze,{"data-testid":`gift-option-modal-${e}`,className:"cart-gift-options-view__modal",size:"medium",title:f(I,{children:[t("span",{children:C}),n&&((l=n==null?void 0:n.price)==null?void 0:l.value)>0?t(se,{amount:n.price.value,currency:n.price.currency,weight:"normal"}):null]}),centered:!0,onClose:r,children:[f("div",{className:"cart-gift-options-view__modal-content",children:[t("span",{className:"cart-gift-options-view__modal-text",children:o.modalWrappingText}),t(De,{emptyGridContent:t(I,{}),maxColumns:6,columnWidth:"100px",className:"cart-gift-options-view__modal-grid",children:d.map(p=>t(Xe,{groupAriaLabel:o.ariaLabelWrapping,selected:(n==null?void 0:n.uid)===(p==null?void 0:p.uid),onValue:()=>{O(p)},name:"giftWrappingId",value:p.uid,src:p.image.url,alt:p.design,label:p.design,"data-testid":`gift-option-modal-image-${p.uid}`,className:"cart-gift-options-view__modal-grid-item"},p.uid))}),t("span",{className:"cart-gift-options-view__modal-sub-text",children:n==null?void 0:n.design})]}),t(le,{"data-testid":"gift-option-modal-confirm-button",type:"button",onClick:()=>{c("giftWrappingId",n==null?void 0:n.uid,{isGiftWrappingSelected:!0}),r()},children:o.modalConfirmButton}),t(le,{type:"button",variant:"secondary",onClick:r,"data-testid":"gift-option-modal-cancel-button",children:o.modalCancelButton})]})})},lt=()=>t(Je,{children:t(Qe,{variant:"row",size:"small",fullWidth:!0,lines:1,multilineGap:"small"})}),at=({className:e,view:i,item:s,giftOptions:d,disabled:r,cartData:c,giftWrappingConfig:g,setShowModal:o,onInputChange:n,areGiftOptionsVisible:O})=>{var N,$,B,z;const C=Ne(),l=Z({customize:`Cart.GiftOptions.${i}.customize`,giftReceiptIncludedTitle:`Cart.GiftOptions.${i}.giftReceiptIncluded.title`,giftReceiptIncludedText:`Cart.GiftOptions.${i}.giftReceiptIncluded.subtitle`,printedCardIncludedTitle:`Cart.GiftOptions.${i}.printedCardIncluded.title`,printedCardIncludedText:`Cart.GiftOptions.${i}.printedCardIncluded.subtitle`,giftOptionsWrapTitle:`Cart.GiftOptions.${i}.giftOptionsWrap.title`,giftOptionsWrapText:`Cart.GiftOptions.${i}.giftOptionsWrap.subtitle`,requiredFieldError:"Cart.GiftOptions.formText.requiredFieldError"}),p=s==null?void 0:s.productGiftWrapping,v=c==null?void 0:c.cartGiftWrapping,w=i==="product"?p:v,G=w==null?void 0:w.find(k=>k.uid===d.giftWrappingId),W=(G==null?void 0:G.design)??"",m=s==null?void 0:s.giftWrappingPrice,T=W?`${l.giftOptionsWrapText} ${W}`:"",_=+((($=(N=A.config)==null?void 0:N.printedCardPrice)==null?void 0:$.value)??0)>0?(B=A.config)==null?void 0:B.printedCardPrice:null;let F=null;m!=null&&m.value?F=m:(z=G==null?void 0:G.price)!=null&&z.value&&(F=G.price);const P=k=>k?f("span",{children:[" (+",t(se,{amount:k.value,currency:k.currency,weight:"normal"}),")"]}):null;return f("div",{className:xe([e,[`${e}--hidden`,!O.isGiftOptionsVisible]]),children:[O.isGiftReceiptVisible?t(j,{disabled:r,className:"cart-gift-options-view__field-gift-receipt",children:t(ne,{id:`giftReceiptIncluded-${C}`,disabled:r,name:"giftReceiptIncluded",checked:d.giftReceiptIncluded,placeholder:l.giftReceiptIncludedTitle,label:l.giftReceiptIncludedTitle,description:l.giftReceiptIncludedText,onChange:n})}):null,O.isPrintedCartVisible?t(j,{disabled:r,className:"cart-gift-options-view__field-printed-card",children:t(ne,{id:`printedCardIncluded-${C}`,disabled:r,name:"printedCardIncluded",checked:d.printedCardIncluded,placeholder:l.printedCardIncludedTitle,label:f(I,{children:[l.printedCardIncludedTitle,P(_)]}),description:l.printedCardIncludedText,onChange:n})}):null,O.isGiftWrappingVisible?f(I,{children:[t(j,{disabled:r,className:"cart-gift-options-view__field-gift-wrap",children:t(ne,{id:`giftOptionsWrap-${C}`,disabled:r,name:"isGiftWrappingSelected",checked:d.isGiftWrappingSelected,placeholder:l.giftOptionsWrapTitle,label:f(I,{children:[l.giftOptionsWrapTitle,P(F)]}),description:T,onChange:n})}),t(le,{disabled:r||!g.length,type:"button","data-testid":`gift-option-customize-${i}`,variant:"tertiary",onClick:()=>o(!0),children:l.customize})]}):null]})},st=({view:e,giftOptions:i,disabled:s,errorMessage:d,onInputChange:r,onBlur:c,isGiftMessageVisible:g})=>{const o=Ne(),n=Z({formTitle:`Cart.GiftOptions.${e}.formContent.formTitle`,formTo:`Cart.GiftOptions.${e}.formContent.formTo`,formFrom:`Cart.GiftOptions.${e}.formContent.formFrom`,giftMessageTitle:`Cart.GiftOptions.${e}.formContent.giftMessageTitle`,formToPlaceholder:`Cart.GiftOptions.${e}.formContent.formToPlaceholder`,formFromPlaceholder:`Cart.GiftOptions.${e}.formContent.formFromPlaceholder`,formMessagePlaceholder:`Cart.GiftOptions.${e}.formContent.formMessagePlaceholder`});return g?f(I,{children:[t("span",{children:n.formTitle}),f("div",{children:[t("span",{children:n.formTo}),t(j,{disabled:s,error:d.recipientName,children:t(_e,{id:`recipientName-${o}`,disabled:s,type:"text",name:"recipientName",value:i.recipientName,placeholder:n.formToPlaceholder,onChange:r,onBlur:c})})]}),f("div",{children:[t("span",{children:n.formFrom}),t(j,{disabled:s,error:d.senderName,children:t(_e,{id:`senderName-${o}`,disabled:s,type:"text",name:"senderName",value:i.senderName,placeholder:n.formFromPlaceholder,onChange:r,onBlur:c})})]}),f("div",{children:[t("span",{children:n.giftMessageTitle}),t(j,{disabled:s,children:t(Ye,{id:`message-${o}`,errorMessage:d.message,disabled:s,name:"message",value:i.message,label:n.formMessagePlaceholder,onChange:r,onBlur:c})})]})]}):null},dt=({view:e,giftOptions:i,giftWrappingConfig:s,readOnlyFormOrderView:d})=>{const r=Z({readOnlyProductTitle:"Cart.GiftOptions.product.readOnlyFormView.title",wrapping:"Cart.GiftOptions.product.readOnlyFormView.wrapping",recipient:"Cart.GiftOptions.product.readOnlyFormView.recipient",sender:"Cart.GiftOptions.product.readOnlyFormView.sender",message:"Cart.GiftOptions.product.readOnlyFormView.message",readOnlyOrderTitle:"Cart.GiftOptions.order.readOnlyFormView.title",readOnlyOrderGiftReceiptTitle:"Cart.GiftOptions.order.readOnlyFormView.giftReceipt",readOnlyOrderGiftReceiptText:"Cart.GiftOptions.order.readOnlyFormView.giftReceiptText",readOnlyOrderGiftPrintCardTitle:"Cart.GiftOptions.order.readOnlyFormView.printCard",readOnlyOrderGiftPrintCardText:"Cart.GiftOptions.order.readOnlyFormView.printCardText",readOnlyOrderGiftWrapTitle:"Cart.GiftOptions.order.readOnlyFormView.giftWrap",readOnlyOrderGiftWrapOptionsText:"Cart.GiftOptions.order.readOnlyFormView.giftWrapOptions",readOnlyOrderFormTitle:"Cart.GiftOptions.order.readOnlyFormView.formTitle",readOnlyOrderFormTo:"Cart.GiftOptions.order.readOnlyFormView.formTo",readOnlyOrderFormFrom:"Cart.GiftOptions.order.readOnlyFormView.formFrom",readOnlyOrderFormMessageTitle:"Cart.GiftOptions.order.readOnlyFormView.formMessageTitle"}),{recipientName:c,senderName:g,message:o,giftReceiptIncluded:n,printedCardIncluded:O,isGiftWrappingSelected:C}=i,l=s==null?void 0:s.find(({uid:m})=>m===(i==null?void 0:i.giftWrappingId)),p=!!c||!!g||!!o,v=l==null?void 0:l.design,w=n||O||(l==null?void 0:l.selected),G=[{id:1,title:r.wrapping,message:C?v:""},{id:2,title:r.recipient,message:c},{id:3,title:r.sender,message:g},{id:4,title:r.message,message:o}],W=G.every(({message:m})=>!m);if(e==="product"&&!W)return t(Me,{"data-testid":"gift-options-product",iconClose:Ve,iconOpen:$e,actionIconPosition:"right",children:t(We,{title:r.readOnlyProductTitle,showIconLeft:!0,iconLeft:ae,defaultOpen:!1,renderContentWhenClosed:!1,children:t("div",{children:G.filter(m=>m.message).map(m=>f("p",{children:[m.title," ",m.message]},m.id))})})});if(e==="order"&&(p||w)){const m=f("div",{className:"cart-gift-options-readonly__header",children:[t(D,{source:ae,size:"24"}),t("span",{children:r.readOnlyOrderTitle})]}),T=f(I,{children:[n?f("div",{className:"cart-gift-options-readonly__checkboxes cart-gift-options-readonly__checkboxes--gift-receipt",children:[t(D,{source:U,size:"16"}),t("p",{children:r.readOnlyOrderGiftReceiptTitle}),t("p",{children:r.readOnlyOrderGiftReceiptText})]}):null,O?f("div",{className:"cart-gift-options-readonly__checkboxes cart-gift-options-readonly__checkboxes--print-card",children:[t(D,{source:U,size:"16"}),t("p",{children:r.readOnlyOrderGiftPrintCardTitle}),t("p",{children:r.readOnlyOrderGiftPrintCardText})]}):null,l!=null&&l.selected?f("div",{className:"cart-gift-options-readonly__checkboxes cart-gift-options-readonly__checkboxes--gift-wrap",children:[t(D,{source:U,size:"16"}),f("p",{children:[r.readOnlyOrderGiftWrapTitle," (+",t(se,{amount:l.price.value,currency:l.price.currency,weight:"normal"}),")"]}),t("p",{children:`${r.readOnlyOrderGiftWrapOptionsText} ${l==null?void 0:l.design}`})]}):null]}),_=p?f("div",{className:"cart-gift-options-readonly__form",children:[t("div",{children:r.readOnlyOrderFormTitle}),f("div",{children:[f("p",{children:[t("span",{children:r.readOnlyOrderFormTo}),t("span",{children:c})]}),f("p",{children:[t("span",{children:r.readOnlyOrderFormFrom}),t("span",{children:g})]})]}),f("div",{children:[t("p",{children:r.readOnlyOrderFormMessageTitle}),t("p",{children:o})]})]}):null;return f(Pe,{variant:d,children:[m,T,_]})}return null},ct=({item:e,view:i,loading:s,giftOptions:d,showModal:r,isEditable:c,errorsField:g,updateLoading:o,cartData:n,fieldsDisabled:O,isGiftOptionsApplied:C,giftWrappingConfig:l,readOnlyFormOrderView:p,isGiftMessageVisible:v,areGiftOptionsVisible:w,onBlur:G,setShowModal:W,updateGiftOptions:m,onInputChange:T,handleFormMouseLeave:_})=>{const F=Z({accordionHeading:`Cart.GiftOptions.${i}.accordionHeading`}),P=K(N=>t(Me,{"data-testid":"gift-options-product",iconClose:Ve,iconOpen:$e,actionIconPosition:"right",children:t(We,{title:f("div",{className:"cart-gift-options-view__icon--success",children:[t("span",{children:F.accordionHeading}),C?t(D,{source:U,size:"16"}):null]}),ariaLabelTitle:F.accordionHeading,showIconLeft:!0,iconLeft:ae,defaultOpen:C||N,renderContentWhenClosed:!1,children:f(I,{children:[t(at,{className:"cart-gift-options-view__top",view:i,item:e,giftOptions:d,disabled:O,onInputChange:T,cartData:n,giftWrappingConfig:l,setShowModal:W,areGiftOptionsVisible:w}),t("form",{className:"cart-gift-options-view__footer",onMouseLeave:_,children:t(st,{view:i,giftOptions:d,disabled:O,errorMessage:g,onInputChange:T,onBlur:G,isGiftMessageVisible:v})})]})})}),[i,e,n,F,g,d,O,l,w,C,v,G,W,T,_]);return!w.isGiftOptionsVisible&&!v?null:f("div",{id:"cart-gift-options-view",className:xe(["cart-gift-options-view",`cart-gift-options-view--${i}`,["cart-gift-options-view--loading",o]]),children:[o?t(Ue,{className:"cart-gift-options-view__spinner"}):null,s?t(lt,{}):f(I,{children:[c?null:t("div",{className:"cart-gift-options-view--readonly",children:t(dt,{view:i,giftOptions:d,giftWrappingConfig:l,readOnlyFormOrderView:p})}),r?t(ot,{view:i,productName:e&&"name"in e?e==null?void 0:e.name:"",showModal:r,giftWrappingConfig:l,setShowModal:()=>W(!1),updateGiftOptions:m}):null,i==="product"&&c?P(!1):null,i==="order"&&c?t(Pe,{variant:"secondary",children:P(!0)}):null]})]})},Y={recipientName:"",senderName:"",message:""},ft={giftReceiptIncluded:!1,printedCardIncluded:!1,isGiftWrappingSelected:!1},Re=(e,i)=>{var d,r;if(!i)return!!((d=A.config)!=null&&d.allowGiftMessageOnOrder);const s=((r=A.config)==null?void 0:r.allowGiftMessageOnOrderItems)??!1;return typeof(e==null?void 0:e.giftMessageAvailable)=="boolean"?e==null?void 0:e.giftMessageAvailable:s},pt=(e,i)=>{const{allowGiftWrappingOnOrder:s,allowGiftWrappingOnOrderItems:d,allowGiftMessageOnOrder:r,allowGiftMessageOnOrderItems:c,allowGiftReceipt:g,allowPrintedCard:o}=A.config||{},n=!c&&!d&&!Re(i,!0),O=!s&&!r&&!g&&!o;return!!(e==="product"&&n||e==="order"&&O)},ut=({item:e,view:i,dataSource:s,initialLoading:d,handleItemsLoading:r,handleItemsError:c,onItemUpdate:g,onGiftOptionsChange:o})=>{var ce,fe,pe,ue,ge,me;const n=i==="product",O=Z({requiredFieldError:"Cart.GiftOptions.formText.requiredFieldError"}),[C,l]=M(()=>d),[p,v]=M({isGiftReceiptVisible:!0,isPrintedCartVisible:!0,isGiftWrappingVisible:!0,isGiftOptionsVisible:!0}),[w,G]=M(!0),[W,m]=M(!1),[T,_]=M(!1),[F,P]=M(!1),[N,$]=M(!1),[B,z]=M(!1),[k,ke]=M([]),[h,Se]=M(null),[Le,ee]=M(Y),[y,de]=M(()=>({giftWrappingId:"",...Y,...ft})),te=((ce=y.recipientName)==null?void 0:ce.trim())&&((fe=y.senderName)==null?void 0:fe.trim())&&((pe=y.message)==null?void 0:pe.trim()),Q=!((ue=y.recipientName)!=null&&ue.trim())&&!((ge=y.senderName)!=null&&ge.trim())&&!((me=y.message)!=null&&me.trim()),R=K(async a=>{switch(m(i==="order"),_(!0),i){case"product":{"uid"in e&&(r==null||r(e.uid,!0),c==null||c(e.uid));const{recipientName:u,senderName:x,message:b,giftWrappingId:E,isGiftWrappingSelected:S}=a,H={gift_message:{to:u??"",from:x??"",message:b??""},gift_wrapping_id:S?E:null};"uid"in e&&"quantity"in e&&await rt([{uid:e.uid,quantity:e.quantity,giftOptions:H}]).then(()=>{g==null||g({item:e})}).finally(()=>{r==null||r(e.uid,!1),_(!1),P(!1),m(!1)}).catch(V=>{console.warn(V)})}break;case"order":await it(a).finally(()=>{_(!1),P(!1),m(!1)});break;default:console.error('Incorrect "view" prop value provided for GiftOptions container (storefront-cart)');break}},[c,r,e,g,i]),re=K((a,u,x={})=>{de(b=>{const E=L=>L in b,S=L=>E(L)?b[L]:void 0;if(!(S(a)!==u||Object.keys(x).some(L=>S(L)!==x[L])))return o==null||o(b),b;const V={...b,[a]:u,...x};return!V.recipientName&&!V.senderName&&!V.message&&$(!0),(typeof u=="boolean"||["giftWrappingId","giftReceiptIncluded","printedCardIncluded"].includes(a))&&($(!1),typeof o=="function"?o(V):R(V)),P(!0),o==null||o(V),V})},[R,o]),Ae=K(async()=>{T||typeof o!="function"&&(Q&&N&&(ee(Y),$(!1),await R(y)),F&&te&&($(!0),await R(y)))},[R,y,F,Q,N,T,o]),Ie=K(async a=>{if(T||typeof o=="function")return;const{name:u,value:x}=a.target;ee(b=>({...b,[u]:x.trim()?"":O.requiredFieldError})),Q&&N&&(ee(Y),$(!1),await R(y)),F&&te&&await R(y)},[T,Q,N,F,te,O,R,y,o]),Ee=K(a=>{const u=a.target,x=u.name,b=u.type==="checkbox"?u.checked:u.value;re(x,b)},[re]);J(()=>{if(n)return;const a=tt.on(s==="cart"?"cart/data":"order/data",u=>{var E,S;Se(u);const x=(E=u==null?void 0:u.items)==null?void 0:E.every(({giftWrappingAvailable:H})=>H),b=(S=u==null?void 0:u.cartGiftWrapping)==null?void 0:S.some(H=>H.selected);!x&&b&&R({...y,giftWrappingId:"",isGiftWrappingSelected:!1})},{eager:!0});return()=>{a==null||a.off()}},[R,s,y,n]);const ie=oe(()=>{var Ge,ye,Te,be,Fe,ve;if(!h&&!e)return null;const a=n?(Ge=e==null?void 0:e.productGiftWrapping)==null?void 0:Ge.map(q=>{var we;return{...q,price:e!=null&&e.giftWrappingPrice&&((we=e==null?void 0:e.giftWrappingPrice)==null?void 0:we.value)>0?e.giftWrappingPrice:q.price}}):(h==null?void 0:h.cartGiftWrapping)||[],u=a==null?void 0:a.find(q=>q.selected),x=(u==null?void 0:u.uid)??((ye=a==null?void 0:a[0])==null?void 0:ye.uid),b=!!u,E=n?e.giftMessage:h==null?void 0:h.giftMessage,S=h==null?void 0:h.printedCardIncluded,H=h==null?void 0:h.giftReceiptIncluded,V=Re(e,n),L=(Te=A.config)==null?void 0:Te.allowGiftWrappingOnOrder,ze=(be=A.config)==null?void 0:be.allowGiftReceipt,qe=(Fe=A.config)==null?void 0:Fe.allowPrintedCard,Ke=(ve=h==null?void 0:h.items)==null?void 0:ve.every(q=>q.giftWrappingAvailable),je=e==null?void 0:e.giftWrappingAvailable,Oe=n?!1:!!ze,he=n?!1:!!qe,Ce=n?!!je&&!!a.length:!!L&&!!a.length&&!!Ke;return v({isGiftReceiptVisible:Oe,isPrintedCartVisible:he,isGiftWrappingVisible:Ce,isGiftOptionsVisible:!(!Oe&&!he&&!Ce)}),G(V),{...e&&"uid"in e?{itemId:e.uid}:{},...n?{}:{printedCardIncluded:S,giftReceiptIncluded:H},...E,giftWrappingId:x,isGiftWrappingSelected:b,giftWrappingOptions:a}},[h,e,n]);J(()=>{if(!ie)return;const{giftWrappingOptions:a,...u}=ie;de(u),a!=null&&a.length&&ke(a),l(!1)},[ie]);const He=oe(()=>Object.entries(y).filter(([a])=>a!=="itemId"&&a!=="giftWrappingId").some(([,a])=>!!a),[y]),Be=oe(()=>{var a;return!C&&!!((a=A)!=null&&a.config)&&pt(i,e)},[e,C,i]);return{loading:C,giftOptions:y,showModal:B,errorsField:Le,updateLoading:W,cartData:h,fieldsDisabled:T,isGiftOptionsApplied:He,giftWrappingConfig:k,setFieldsDisabled:_,handleFormMouseLeave:Ae,onInputChange:Ee,updateGiftOptions:re,setShowModal:z,handleBlur:Ie,isGiftMessageVisible:w,areGiftOptionsVisible:p,isGiftOptionsHidden:Be}},Vt=({item:e,view:i="order",readOnlyFormOrderView:s="primary",dataSource:d="cart",isEditable:r=!0,initialLoading:c=!0,handleItemsLoading:g,handleItemsError:o,onItemUpdate:n,onGiftOptionsChange:O})=>{const{isGiftMessageVisible:C,areGiftOptionsVisible:l,loading:p,giftOptions:v,showModal:w,errorsField:G,updateLoading:W,cartData:m,isGiftOptionsApplied:T,fieldsDisabled:_,giftWrappingConfig:F,handleFormMouseLeave:P,updateGiftOptions:N,setShowModal:$,onInputChange:B,handleBlur:z,isGiftOptionsHidden:k}=ut({item:e,view:i,dataSource:d,initialLoading:c,handleItemsLoading:g,handleItemsError:o,onItemUpdate:n,onGiftOptionsChange:O});return k?null:t(ct,{item:e,view:i,loading:p,onBlur:z,giftOptions:v,showModal:w,isEditable:r,errorsField:G,setShowModal:$,updateLoading:W,updateGiftOptions:N,cartData:m,isGiftOptionsApplied:T,fieldsDisabled:_,giftWrappingConfig:F,handleFormMouseLeave:P,readOnlyFormOrderView:s,onInputChange:B,isGiftMessageVisible:C,areGiftOptionsVisible:l})};export{Vt as GiftOptions,Vt as default};
|
|
3
|
+
import{jsx as t,jsxs as u,Fragment as A}from"@dropins/tools/preact-jsx-runtime.js";import{classes as We,Slot as Ze}from"@dropins/tools/lib.js";import{Modal as De,ContentGrid as Xe,ImageSwatch as Je,Button as se,Price as ce,Skeleton as Qe,SkeletonRow as Ye,Field as j,Checkbox as ae,Input as Me,TextArea as Ue,Accordion as Ne,AccordionSection as Pe,Icon as D,Card as Ve,ProgressSpinner as et}from"@dropins/tools/components.js";/* empty css */import*as X from"@dropins/tools/preact-compat.js";import{useRef as tt,useEffect as J,useState as M,useId as $e,useCallback as K,useMemo as le}from"@dropins/tools/preact-hooks.js";import{useText as Z}from"@dropins/tools/i18n.js";import{s as L}from"../chunks/resetCart.js";import{S as Re}from"../chunks/ChevronDown.js";import{S as Se}from"../chunks/ChevronUp.js";import{events as rt}from"@dropins/tools/event-bus.js";import{u as it}from"../chunks/updateProductsFromCart.js";import{s as nt}from"../chunks/setGiftOptionsOnCart.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/persisted-data.js";import"../chunks/refreshCart.js";import"../fragments.js";import"../chunks/acdl.js";const ee=e=>X.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},X.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M0.75 12C0.75 5.78421 5.78421 0.75 12 0.75C18.2158 0.75 23.25 5.78421 23.25 12C23.25 18.2158 18.2158 23.25 12 23.25C5.78421 23.25 0.75 18.2158 0.75 12Z",stroke:"currentColor"}),X.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M6.75 12.762L10.2385 15.75L17.25 9",stroke:"currentColor"})),de=e=>X.createElement("svg",{width:20,height:23,viewBox:"0 0 20 23",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},X.createElement("path",{d:"M10 6L10 21.5M10 6H12.25C13.4926 6 14.5 4.99264 14.5 3.75C14.5 2.50736 13.4926 1.5 12.25 1.5C11.0074 1.5 10 2.50736 10 3.75M10 6V3.75M10 6H7.75C6.50736 6 5.5 4.99264 5.5 3.75C5.5 2.50736 6.50736 1.5 7.75 1.5C8.99264 1.5 10 2.50736 10 3.75M3.25 10.75H16.75C17.9926 10.75 19 9.74264 19 8.5C19 7.25736 17.9926 6.25 16.75 6.25H3.25C2.00736 6.25 1 7.25736 1 8.5C1 9.74264 2.00736 10.75 3.25 10.75ZM4.75 21.5H15.25C16.4926 21.5 17.5 20.4926 17.5 19.25V13.25C17.5 12.0074 16.4926 11 15.25 11H4.75C3.50736 11 2.5 12.0074 2.5 13.25V19.25C2.5 20.4926 3.50736 21.5 4.75 21.5Z",stroke:"currentColor",strokeWidth:1.5}));function ot(e){const i=tt(null);return J(()=>{if(!e||!i.current)return;const l=i.current,d=l.querySelectorAll('a, button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])');if(d.length===0)return;const r=d[0],f=d[d.length-1];function g(o){o.key==="Tab"&&(o.shiftKey&&document.activeElement===r?(o.preventDefault(),f.focus()):!o.shiftKey&&document.activeElement===f&&(o.preventDefault(),r.focus()))}return l.addEventListener("keydown",g),()=>{l.removeEventListener("keydown",g)}},[e]),i}const at=({view:e,showModal:i,productName:l,giftWrappingConfig:d,imageSwatchImageNode:r,setShowModal:f,updateGiftOptions:g})=>{var w;const o=ot(i),n=Z({modalTitle:"Cart.GiftOptions.modal.title",defaultTitle:"Cart.GiftOptions.modal.defaultTitle",modalWrappingText:"Cart.GiftOptions.modal.wrappingText",modalWrappingSubText:"Cart.GiftOptions.modal.wrappingSubText",modalConfirmButton:"Cart.GiftOptions.modal.modalConfirmButton",modalCancelButton:"Cart.GiftOptions.modal.modalCancelButton",ariaLabelModal:"Cart.GiftOptions.modal.ariaLabelModal",ariaLabelModalOpen:"Cart.GiftOptions.modal.ariaLabelModalOpen",ariaLabelModalClose:"Cart.GiftOptions.modal.ariaLabelModalClose",ariaLabelWrapping:"Cart.GiftOptions.modal.ariaLabelWrapping"}),[c,C]=M();if(J(()=>{const p=d.find(T=>T.selected)??d[0];C(p)},[d]),J(()=>{const p=document==null?void 0:document.querySelector(".cart-gift-options-view__modal-wrapper");p&&(p==null||p.focus())},[]),!i||!d.length)return null;const s=l?`${n.modalTitle} ${l}`:n.defaultTitle;return t("div",{ref:o,className:"cart-gift-options-view__modal-wrapper",tabIndex:0,"aria-label":`${n.ariaLabelModal} ${i?n.ariaLabelModalOpen:n.ariaLabelModalClose} ${l}`,children:u(De,{"data-testid":`gift-option-modal-${e}`,className:"cart-gift-options-view__modal",size:"medium",title:u(A,{children:[t("span",{children:s}),c&&((w=c==null?void 0:c.price)==null?void 0:w.value)>0?t(ce,{amount:c.price.value,currency:c.price.currency,weight:"normal"}):null]}),centered:!0,onClose:f,children:[u("div",{className:"cart-gift-options-view__modal-content",children:[t("span",{className:"cart-gift-options-view__modal-text",children:n.modalWrappingText}),t(Xe,{emptyGridContent:t(A,{}),maxColumns:6,columnWidth:"100px",className:"cart-gift-options-view__modal-grid",children:d.map(p=>t(Je,{groupAriaLabel:n.ariaLabelWrapping,selected:(c==null?void 0:c.uid)===(p==null?void 0:p.uid),onValue:()=>{C(p)},imageNode:r,name:"giftWrappingId",value:p.uid,src:p.image.url,alt:p.design,label:p.design,"data-testid":`gift-option-modal-image-${p.uid}`,className:"cart-gift-options-view__modal-grid-item"},p.uid))}),t("span",{className:"cart-gift-options-view__modal-sub-text",children:c==null?void 0:c.design})]}),t(se,{"data-testid":"gift-option-modal-confirm-button",type:"button",onClick:()=>{g("giftWrappingId",c==null?void 0:c.uid,{isGiftWrappingSelected:!0}),f()},children:n.modalConfirmButton}),t(se,{type:"button",variant:"secondary",onClick:f,"data-testid":"gift-option-modal-cancel-button",children:n.modalCancelButton})]})})},lt=()=>t(Qe,{children:t(Ye,{variant:"row",size:"small",fullWidth:!0,lines:1,multilineGap:"small"})}),st=({className:e,view:i,item:l,giftOptions:d,disabled:r,cartData:f,giftWrappingConfig:g,setShowModal:o,onInputChange:n,areGiftOptionsVisible:c})=>{var N,P,B,z;const C=$e(),s=Z({customize:`Cart.GiftOptions.${i}.customize`,giftReceiptIncludedTitle:`Cart.GiftOptions.${i}.giftReceiptIncluded.title`,giftReceiptIncludedText:`Cart.GiftOptions.${i}.giftReceiptIncluded.subtitle`,printedCardIncludedTitle:`Cart.GiftOptions.${i}.printedCardIncluded.title`,printedCardIncludedText:`Cart.GiftOptions.${i}.printedCardIncluded.subtitle`,giftOptionsWrapTitle:`Cart.GiftOptions.${i}.giftOptionsWrap.title`,giftOptionsWrapText:`Cart.GiftOptions.${i}.giftOptionsWrap.subtitle`,requiredFieldError:"Cart.GiftOptions.formText.requiredFieldError"}),w=l==null?void 0:l.productGiftWrapping,p=f==null?void 0:f.cartGiftWrapping,T=i==="product"?w:p,y=T==null?void 0:T.find(S=>S.uid===d.giftWrappingId),V=(y==null?void 0:y.design)??"",O=l==null?void 0:l.giftWrappingPrice,v=V?`${s.giftOptionsWrapText} ${V}`:"",F=+(((P=(N=L.config)==null?void 0:N.printedCardPrice)==null?void 0:P.value)??0)>0?(B=L.config)==null?void 0:B.printedCardPrice:null;let _=null;O!=null&&O.value?_=O:(z=y==null?void 0:y.price)!=null&&z.value&&(_=y.price);const W=S=>S?u("span",{children:[" (+",t(ce,{amount:S.value,currency:S.currency,weight:"normal"}),")"]}):null;return u("div",{className:We([e,[`${e}--hidden`,!c.isGiftOptionsVisible]]),children:[c.isGiftReceiptVisible?t(j,{disabled:r,className:"cart-gift-options-view__field-gift-receipt",children:t(ae,{id:`giftReceiptIncluded-${C}`,disabled:r,name:"giftReceiptIncluded",checked:d.giftReceiptIncluded,placeholder:s.giftReceiptIncludedTitle,label:s.giftReceiptIncludedTitle,description:s.giftReceiptIncludedText,onChange:n})}):null,c.isPrintedCartVisible?t(j,{disabled:r,className:"cart-gift-options-view__field-printed-card",children:t(ae,{id:`printedCardIncluded-${C}`,disabled:r,name:"printedCardIncluded",checked:d.printedCardIncluded,placeholder:s.printedCardIncludedTitle,label:u(A,{children:[s.printedCardIncludedTitle,W(F)]}),description:s.printedCardIncludedText,onChange:n})}):null,c.isGiftWrappingVisible?u(A,{children:[t(j,{disabled:r,className:"cart-gift-options-view__field-gift-wrap",children:t(ae,{id:`giftOptionsWrap-${C}`,disabled:r,name:"isGiftWrappingSelected",checked:d.isGiftWrappingSelected,placeholder:s.giftOptionsWrapTitle,label:u(A,{children:[s.giftOptionsWrapTitle,W(_)]}),description:v,onChange:n})}),t(se,{disabled:r||!g.length,type:"button","data-testid":`gift-option-customize-${i}`,variant:"tertiary",onClick:()=>o(!0),children:s.customize})]}):null]})},dt=({view:e,giftOptions:i,disabled:l,errorMessage:d,onInputChange:r,onBlur:f,isGiftMessageVisible:g})=>{const o=$e(),n=Z({formTitle:`Cart.GiftOptions.${e}.formContent.formTitle`,formTo:`Cart.GiftOptions.${e}.formContent.formTo`,formFrom:`Cart.GiftOptions.${e}.formContent.formFrom`,giftMessageTitle:`Cart.GiftOptions.${e}.formContent.giftMessageTitle`,formToPlaceholder:`Cart.GiftOptions.${e}.formContent.formToPlaceholder`,formFromPlaceholder:`Cart.GiftOptions.${e}.formContent.formFromPlaceholder`,formMessagePlaceholder:`Cart.GiftOptions.${e}.formContent.formMessagePlaceholder`});return g?u(A,{children:[t("span",{children:n.formTitle}),u("div",{children:[t("span",{children:n.formTo}),t(j,{disabled:l,error:d.recipientName,children:t(Me,{id:`recipientName-${o}`,disabled:l,type:"text",name:"recipientName",value:i.recipientName,placeholder:n.formToPlaceholder,onChange:r,onBlur:f})})]}),u("div",{children:[t("span",{children:n.formFrom}),t(j,{disabled:l,error:d.senderName,children:t(Me,{id:`senderName-${o}`,disabled:l,type:"text",name:"senderName",value:i.senderName,placeholder:n.formFromPlaceholder,onChange:r,onBlur:f})})]}),u("div",{children:[t("span",{children:n.giftMessageTitle}),t(j,{disabled:l,children:t(Ue,{id:`message-${o}`,errorMessage:d.message,disabled:l,name:"message",value:i.message,label:n.formMessagePlaceholder,onChange:r,onBlur:f})})]})]}):null},ct=({view:e,giftOptions:i,giftWrappingConfig:l,readOnlyFormOrderView:d})=>{const r=Z({readOnlyProductTitle:"Cart.GiftOptions.product.readOnlyFormView.title",wrapping:"Cart.GiftOptions.product.readOnlyFormView.wrapping",recipient:"Cart.GiftOptions.product.readOnlyFormView.recipient",sender:"Cart.GiftOptions.product.readOnlyFormView.sender",message:"Cart.GiftOptions.product.readOnlyFormView.message",readOnlyOrderTitle:"Cart.GiftOptions.order.readOnlyFormView.title",readOnlyOrderGiftReceiptTitle:"Cart.GiftOptions.order.readOnlyFormView.giftReceipt",readOnlyOrderGiftReceiptText:"Cart.GiftOptions.order.readOnlyFormView.giftReceiptText",readOnlyOrderGiftPrintCardTitle:"Cart.GiftOptions.order.readOnlyFormView.printCard",readOnlyOrderGiftPrintCardText:"Cart.GiftOptions.order.readOnlyFormView.printCardText",readOnlyOrderGiftWrapTitle:"Cart.GiftOptions.order.readOnlyFormView.giftWrap",readOnlyOrderGiftWrapOptionsText:"Cart.GiftOptions.order.readOnlyFormView.giftWrapOptions",readOnlyOrderFormTitle:"Cart.GiftOptions.order.readOnlyFormView.formTitle",readOnlyOrderFormTo:"Cart.GiftOptions.order.readOnlyFormView.formTo",readOnlyOrderFormFrom:"Cart.GiftOptions.order.readOnlyFormView.formFrom",readOnlyOrderFormMessageTitle:"Cart.GiftOptions.order.readOnlyFormView.formMessageTitle"}),{recipientName:f,senderName:g,message:o,giftReceiptIncluded:n,printedCardIncluded:c,isGiftWrappingSelected:C}=i,s=l==null?void 0:l.find(({uid:O})=>O===(i==null?void 0:i.giftWrappingId)),w=!!f||!!g||!!o,p=s==null?void 0:s.design,T=n||c||(s==null?void 0:s.selected),y=[{id:1,title:r.wrapping,message:C?p:""},{id:2,title:r.recipient,message:f},{id:3,title:r.sender,message:g},{id:4,title:r.message,message:o}],V=y.every(({message:O})=>!O);if(e==="product"&&!V)return t(Ne,{"data-testid":"gift-options-product",iconClose:Se,iconOpen:Re,actionIconPosition:"right",children:t(Pe,{title:r.readOnlyProductTitle,showIconLeft:!0,iconLeft:de,defaultOpen:!1,renderContentWhenClosed:!1,children:t("div",{children:y.filter(O=>O.message).map(O=>u("p",{children:[O.title," ",O.message]},O.id))})})});if(e==="order"&&(w||T)){const O=u("div",{className:"cart-gift-options-readonly__header",children:[t(D,{source:de,size:"24"}),t("span",{children:r.readOnlyOrderTitle})]}),v=u(A,{children:[n?u("div",{className:"cart-gift-options-readonly__checkboxes cart-gift-options-readonly__checkboxes--gift-receipt",children:[t(D,{source:ee,size:"16"}),t("p",{children:r.readOnlyOrderGiftReceiptTitle}),t("p",{children:r.readOnlyOrderGiftReceiptText})]}):null,c?u("div",{className:"cart-gift-options-readonly__checkboxes cart-gift-options-readonly__checkboxes--print-card",children:[t(D,{source:ee,size:"16"}),t("p",{children:r.readOnlyOrderGiftPrintCardTitle}),t("p",{children:r.readOnlyOrderGiftPrintCardText})]}):null,s!=null&&s.selected?u("div",{className:"cart-gift-options-readonly__checkboxes cart-gift-options-readonly__checkboxes--gift-wrap",children:[t(D,{source:ee,size:"16"}),u("p",{children:[r.readOnlyOrderGiftWrapTitle," (+",t(ce,{amount:s.price.value,currency:s.price.currency,weight:"normal"}),")"]}),t("p",{children:`${r.readOnlyOrderGiftWrapOptionsText} ${s==null?void 0:s.design}`})]}):null]}),F=w?u("div",{className:"cart-gift-options-readonly__form",children:[t("div",{children:r.readOnlyOrderFormTitle}),u("div",{children:[u("p",{children:[t("span",{children:r.readOnlyOrderFormTo}),t("span",{children:f})]}),u("p",{children:[t("span",{children:r.readOnlyOrderFormFrom}),t("span",{children:g})]})]}),u("div",{children:[t("p",{children:r.readOnlyOrderFormMessageTitle}),t("p",{children:o})]})]}):null;return u(Ve,{variant:d,children:[O,v,F]})}return null},ft=({item:e,view:i,loading:l,giftOptions:d,showModal:r,isEditable:f,errorsField:g,updateLoading:o,cartData:n,fieldsDisabled:c,isGiftOptionsApplied:C,giftWrappingConfig:s,readOnlyFormOrderView:w,isGiftMessageVisible:p,areGiftOptionsVisible:T,imageSwatchImageNode:y,onBlur:V,setShowModal:O,updateGiftOptions:v,onInputChange:F,handleFormMouseLeave:_})=>{const W=Z({accordionHeading:`Cart.GiftOptions.${i}.accordionHeading`}),N=K(P=>t(Ne,{"data-testid":"gift-options-product",iconClose:Se,iconOpen:Re,actionIconPosition:"right",children:t(Pe,{title:u("div",{className:"cart-gift-options-view__icon--success",children:[t("span",{children:W.accordionHeading}),C?t(D,{source:ee,size:"16"}):null]}),ariaLabelTitle:W.accordionHeading,showIconLeft:!0,iconLeft:de,defaultOpen:C||P,renderContentWhenClosed:!1,children:u(A,{children:[t(st,{className:"cart-gift-options-view__top",view:i,item:e,giftOptions:d,disabled:c,onInputChange:F,cartData:n,giftWrappingConfig:s,setShowModal:O,areGiftOptionsVisible:T}),t("form",{className:"cart-gift-options-view__footer",onMouseLeave:_,children:t(dt,{view:i,giftOptions:d,disabled:c,errorMessage:g,onInputChange:F,onBlur:V,isGiftMessageVisible:p})})]})})}),[i,e,n,W,g,d,c,s,T,C,p,V,O,F,_]);return!T.isGiftOptionsVisible&&!p?null:u("div",{id:"cart-gift-options-view",className:We(["cart-gift-options-view",`cart-gift-options-view--${i}`,["cart-gift-options-view--loading",o]]),children:[o?t(et,{className:"cart-gift-options-view__spinner"}):null,l?t(lt,{}):u(A,{children:[f?null:t("div",{className:"cart-gift-options-view--readonly",children:t(ct,{view:i,giftOptions:d,giftWrappingConfig:s,readOnlyFormOrderView:w})}),r?t(at,{view:i,productName:e&&"name"in e?e==null?void 0:e.name:"",showModal:r,giftWrappingConfig:s,setShowModal:()=>O(!1),updateGiftOptions:v,imageSwatchImageNode:y}):null,i==="product"&&f?N(!1):null,i==="order"&&f?t(Ve,{variant:"secondary",children:N(!0)}):null]})]})},U={recipientName:"",senderName:"",message:""},pt={giftReceiptIncluded:!1,printedCardIncluded:!1,isGiftWrappingSelected:!1},ke=(e,i)=>{var d,r;if(!i)return!!((d=L.config)!=null&&d.allowGiftMessageOnOrder);const l=((r=L.config)==null?void 0:r.allowGiftMessageOnOrderItems)??!1;return typeof(e==null?void 0:e.giftMessageAvailable)=="boolean"?e==null?void 0:e.giftMessageAvailable:l},ut=(e,i)=>{const{allowGiftWrappingOnOrder:l,allowGiftWrappingOnOrderItems:d,allowGiftMessageOnOrder:r,allowGiftMessageOnOrderItems:f,allowGiftReceipt:g,allowPrintedCard:o}=L.config||{},n=!f&&!d&&!ke(i,!0),c=!l&&!r&&!g&&!o;return!!(e==="product"&&n||e==="order"&&c)},gt=({item:e,view:i,dataSource:l,initialLoading:d,handleItemsLoading:r,handleItemsError:f,onItemUpdate:g,onGiftOptionsChange:o})=>{var pe,ue,ge,me,Oe,he;const n=i==="product",c=Z({requiredFieldError:"Cart.GiftOptions.formText.requiredFieldError"}),[C,s]=M(()=>d),[w,p]=M({isGiftReceiptVisible:!0,isPrintedCartVisible:!0,isGiftWrappingVisible:!0,isGiftOptionsVisible:!0}),[T,y]=M(!0),[V,O]=M(!1),[v,F]=M(!1),[_,W]=M(!1),[N,P]=M(!1),[B,z]=M(!1),[S,te]=M([]),[h,re]=M(null),[Ie,ie]=M(U),[G,fe]=M(()=>({giftWrappingId:"",...U,...pt})),Q=((pe=G.recipientName)==null?void 0:pe.trim())&&((ue=G.senderName)==null?void 0:ue.trim())&&((ge=G.message)==null?void 0:ge.trim()),Y=!((me=G.recipientName)!=null&&me.trim())&&!((Oe=G.senderName)!=null&&Oe.trim())&&!((he=G.message)!=null&&he.trim()),R=K(async a=>{switch(O(i==="order"),F(!0),i){case"product":{"uid"in e&&(r==null||r(e.uid,!0),f==null||f(e.uid));const{recipientName:m,senderName:x,message:b,giftWrappingId:E,isGiftWrappingSelected:k}=a,H={gift_message:{to:m??"",from:x??"",message:b??""},gift_wrapping_id:k?E:null};"uid"in e&&"quantity"in e&&await it([{uid:e.uid,quantity:e.quantity,giftOptions:H}]).then(()=>{g==null||g({item:e})}).finally(()=>{r==null||r(e.uid,!1),F(!1),W(!1),O(!1)}).catch($=>{console.warn($)})}break;case"order":await nt(a).finally(()=>{F(!1),W(!1),O(!1)});break;default:console.error('Incorrect "view" prop value provided for GiftOptions container (storefront-cart)');break}},[f,r,e,g,i]),ne=K((a,m,x={})=>{fe(b=>{const E=I=>I in b,k=I=>E(I)?b[I]:void 0;if(!(k(a)!==m||Object.keys(x).some(I=>k(I)!==x[I])))return o==null||o(b),b;const $={...b,[a]:m,...x};return!$.recipientName&&!$.senderName&&!$.message&&P(!0),(typeof m=="boolean"||["giftWrappingId","giftReceiptIncluded","printedCardIncluded"].includes(a))&&(P(!1),typeof o=="function"?o($):R($)),W(!0),o==null||o($),$})},[R,o]),Le=K(async()=>{v||typeof o!="function"&&(Y&&N&&(ie(U),P(!1),await R(G)),_&&Q&&(P(!0),await R(G)))},[R,G,_,Y,N,v,o,Q]),Ae=K(async a=>{if(v||typeof o=="function")return;const{name:m,value:x}=a.target;ie(b=>({...b,[m]:x.trim()?"":c.requiredFieldError})),Y&&N&&(ie(U),P(!1),await R(G)),_&&Q&&await R(G)},[v,Y,N,_,Q,c,R,G,o]),Ee=K(a=>{const m=a.target,x=m.name,b=m.type==="checkbox"?m.checked:m.value;ne(x,b)},[ne]);J(()=>{if(n)return;const a=rt.on(l==="cart"?"cart/data":"order/data",m=>{var E,k;re(m);const x=(E=m==null?void 0:m.items)==null?void 0:E.every(({giftWrappingAvailable:H})=>H),b=(k=m==null?void 0:m.cartGiftWrapping)==null?void 0:k.some(H=>H.selected);!x&&b&&R({...G,giftWrappingId:"",isGiftWrappingSelected:!1})},{eager:!0});return()=>{a==null||a.off()}},[R,l,G,n]);const oe=le(()=>{var Te,be,Fe,we,ve,_e;if(!h&&!e)return null;const a=n?(Te=e==null?void 0:e.productGiftWrapping)==null?void 0:Te.map(q=>{var xe;return{...q,price:e!=null&&e.giftWrappingPrice&&((xe=e==null?void 0:e.giftWrappingPrice)==null?void 0:xe.value)>0?e.giftWrappingPrice:q.price}}):(h==null?void 0:h.cartGiftWrapping)||[],m=a==null?void 0:a.find(q=>q.selected),x=(m==null?void 0:m.uid)??((be=a==null?void 0:a[0])==null?void 0:be.uid),b=!!m,E=n?e.giftMessage:h==null?void 0:h.giftMessage,k=h==null?void 0:h.printedCardIncluded,H=h==null?void 0:h.giftReceiptIncluded,$=ke(e,n),I=(Fe=L.config)==null?void 0:Fe.allowGiftWrappingOnOrder,ze=(we=L.config)==null?void 0:we.allowGiftReceipt,qe=(ve=L.config)==null?void 0:ve.allowPrintedCard,Ke=(_e=h==null?void 0:h.items)==null?void 0:_e.every(q=>q.giftWrappingAvailable),je=e==null?void 0:e.giftWrappingAvailable,Ce=n?!1:!!ze,Ge=n?!1:!!qe,ye=n?!!je&&!!a.length:!!I&&!!a.length&&!!Ke;return p({isGiftReceiptVisible:Ce,isPrintedCartVisible:Ge,isGiftWrappingVisible:ye,isGiftOptionsVisible:!(!Ce&&!Ge&&!ye)}),y($),{...e&&"uid"in e?{itemId:e.uid}:{},...n?{}:{printedCardIncluded:k,giftReceiptIncluded:H},...E,giftWrappingId:x,isGiftWrappingSelected:b,giftWrappingOptions:a}},[h,e,n]);J(()=>{if(!oe)return;const{giftWrappingOptions:a,...m}=oe;fe(m),a!=null&&a.length&&te(a),s(!1)},[oe]);const He=le(()=>Object.entries(G).filter(([a])=>a!=="itemId"&&a!=="giftWrappingId").some(([,a])=>!!a),[G]),Be=le(()=>{var a;return!C&&!!((a=L)!=null&&a.config)&&ut(i,e)},[e,C,i]);return{loading:C,giftOptions:G,showModal:B,errorsField:Ie,updateLoading:V,cartData:h,fieldsDisabled:v,isGiftOptionsApplied:He,giftWrappingConfig:S,setFieldsDisabled:F,handleFormMouseLeave:Le,onInputChange:Ee,updateGiftOptions:ne,setShowModal:z,handleBlur:Ae,isGiftMessageVisible:T,areGiftOptionsVisible:w,isGiftOptionsHidden:Be}},$t=({item:e,view:i="order",readOnlyFormOrderView:l="primary",dataSource:d="cart",isEditable:r=!0,initialLoading:f=!0,slots:g,handleItemsLoading:o,handleItemsError:n,onItemUpdate:c,onGiftOptionsChange:C})=>{const{isGiftMessageVisible:s,areGiftOptionsVisible:w,loading:p,giftOptions:T,showModal:y,errorsField:V,updateLoading:O,cartData:v,isGiftOptionsApplied:F,fieldsDisabled:_,giftWrappingConfig:W,handleFormMouseLeave:N,updateGiftOptions:P,setShowModal:B,onInputChange:z,handleBlur:S,isGiftOptionsHidden:te}=gt({item:e,view:i,dataSource:d,initialLoading:f,handleItemsLoading:o,handleItemsError:n,onItemUpdate:c,onGiftOptionsChange:C});return te?null:t(ft,{item:e,view:i,loading:p,onBlur:S,giftOptions:T,showModal:y,isEditable:r,errorsField:V,setShowModal:B,updateLoading:O,updateGiftOptions:P,cartData:v,isGiftOptionsApplied:F,fieldsDisabled:_,giftWrappingConfig:W,handleFormMouseLeave:N,readOnlyFormOrderView:l,onInputChange:z,isGiftMessageVisible:s,areGiftOptionsVisible:w,imageSwatchImageNode:g!=null&&g.SwatchImage?({imageSwatchContext:h,...re})=>t(Ze,{name:"SwatchImage",slotTag:"span",contentTag:"span",slot:g.SwatchImage,context:{item:e,imageSwatchContext:h,defaultImageProps:re}}):void 0})};export{$t as GiftOptions,$t as default};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { HTMLAttributes } from 'preact/compat';
|
|
2
|
-
import { Container, SlotProps } from '
|
|
2
|
+
import { Container, SlotProps } from '../../../@adobe-commerce/elsie/src/lib';
|
|
3
3
|
import { CartModel } from '../../data/models';
|
|
4
|
+
import { ImageProps } from '../../../@adobe-commerce/elsie/src/components';
|
|
4
5
|
|
|
5
6
|
export interface MiniCartProps extends HTMLAttributes<HTMLDivElement> {
|
|
6
7
|
routeProduct?: (item: CartModel['items'][0]) => string;
|
|
@@ -11,6 +12,10 @@ export interface MiniCartProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
11
12
|
ProductList?: SlotProps;
|
|
12
13
|
ProductListFooter?: SlotProps;
|
|
13
14
|
PreCheckoutSection?: SlotProps;
|
|
15
|
+
Thumbnail?: SlotProps<{
|
|
16
|
+
item: CartModel['items'][number];
|
|
17
|
+
defaultImageProps: ImageProps;
|
|
18
|
+
}>;
|
|
14
19
|
};
|
|
15
20
|
hideFooter?: boolean;
|
|
16
21
|
displayAllItems?: boolean;
|
|
@@ -18,6 +23,7 @@ export interface MiniCartProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
18
23
|
showSavings?: boolean;
|
|
19
24
|
enableItemRemoval?: boolean;
|
|
20
25
|
enableQuantityUpdate?: boolean;
|
|
26
|
+
hideHeading?: boolean;
|
|
21
27
|
}
|
|
22
28
|
export declare const MiniCart: Container<MiniCartProps, CartModel | null>;
|
|
23
29
|
//# sourceMappingURL=MiniCart.d.ts.map
|
package/containers/MiniCart.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{jsx as i,jsxs as s,Fragment as
|
|
3
|
+
import{jsx as i,jsxs as s,Fragment as R}from"@dropins/tools/preact-jsx-runtime.js";import{useState as j,useEffect as w,useCallback as O}from"@dropins/tools/preact-compat.js";import{classes as h,VComponent as u,Slot as y}from"@dropins/tools/lib.js";import{g as B}from"../chunks/persisted-data.js";import{events as V}from"@dropins/tools/event-bus.js";import{Button as L,Price as N}from"@dropins/tools/components.js";/* empty css */import{useText as D}from"@dropins/tools/i18n.js";import"@dropins/tools/preact-hooks.js";import{s as b}from"../chunks/resetCart.js";import{p as $}from"../chunks/acdl.js";import{u as q}from"../chunks/updateProductsFromCart.js";import"../chunks/CartSummaryGrid.js";import{C as z}from"../chunks/CartSummaryList.js";import"../chunks/OrderSummary.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/refreshCart.js";import"../fragments.js";import"../chunks/EmptyCart.js";import"../chunks/ChevronDown.js";import"../chunks/getEstimatedTotals.js";import"../chunks/OrderSummaryLine.js";import"../chunks/ChevronUp.js";import"../chunks/Coupon.js";import"../chunks/GiftCard.js";const J=({className:_,products:m,productListFooter:l,subtotal:e,subtotalExcludingTaxes:d,preCheckoutSection:n,ctas:o,...x})=>{const p=D({subtotal:"Cart.MiniCart.subtotal",subtotalExcludingTaxes:"Cart.MiniCart.subtotalExcludingTaxes"});return i("div",{...x,className:h(["cart-mini-cart",_]),children:m&&s(R,{children:[i("div",{className:"cart-mini-cart__products","data-testid":"mini-cart-products-wrapper",children:m}),l&&i("div",{className:h(["cart-mini-cart__productListFooter"]),"data-testid":"mini-cart-product-list-footer",children:i(u,{node:l})}),s("div",{className:"cart-mini-cart__footer","data-testid":"mini-cart-subtotals",children:[e&&s("div",{className:"cart-mini-cart__footer__estimated-total","data-testid":"mini-cart-subtotal",children:[p.subtotal,i(u,{node:e})]}),d&&s("div",{className:"cart-mini-cart__footer__estimated-total-excluding-taxes","data-testid":"mini-cart-subtotal-excluding-taxes",children:[p.subtotalExcludingTaxes,i(u,{node:d,className:h(["dropin-price-summary__price","dropin-price-summary__price--muted"])})]}),n&&i("div",{className:h(["cart-mini-cart__preCheckoutSection"]),"data-testid":"mini-cart-pre-checkout-section",children:i(u,{node:n})}),o&&i(u,{node:o,className:"cart-mini-cart__footer__ctas"})]})]})})},K=({children:_,initialData:m=null,hideFooter:l=!0,slots:e,routeProduct:d,routeCart:n,routeCheckout:o,routeEmptyCartCTA:x,showDiscount:p,showSavings:P,enableItemRemoval:S=!0,enableQuantityUpdate:T=!1,hideHeading:M=!1,...Q})=>{var v,k,I;const[t,U]=j(m),a=(v=b.config)==null?void 0:v.shoppingCartDisplaySetting;w(()=>{const r=V.on("cart/data",f=>{U(f)},{eager:!0});return()=>{r==null||r.off()}},[]);const g=D({cartLink:"Cart.MiniCart.cartLink",checkoutLink:"Cart.MiniCart.checkoutLink"}),C=(r,f)=>q([{uid:r,quantity:f}]),E=r=>C(r,0),c=t==null?void 0:t.hasOutOfStockItems,F=O(()=>{t&&!c&&$(t,b.locale)},[t,c]),G=i(y,{name:"ProductList",slot:e==null?void 0:e.ProductList,context:{itemQuantityUpdateHandler:C,itemRemoveHandler:E,totalQuantity:t==null?void 0:t.totalQuantity},children:i(z,{"data-testid":"default-cart-summary-list",routeProduct:d,routeEmptyCartCTA:x,initialData:t,maxItems:(k=b.config)==null?void 0:k.miniCartMaxItemsDisplay,showMaxItems:!!((I=b.config)!=null&&I.miniCartMaxItemsDisplay),hideHeading:M||!(t!=null&&t.totalQuantity),hideFooter:l,enableRemoveItem:S,enableUpdateItemQuantity:T,showDiscount:p,showSavings:P,slots:{Thumbnail:e==null?void 0:e.Thumbnail}})}),X=r=>i(y,{name:"ProductListFooter",slot:e==null?void 0:e.ProductListFooter,context:{data:r}}),A=r=>i(y,{name:"PreCheckoutSection",slot:e==null?void 0:e.PreCheckoutSection,context:{data:r}}),H=()=>(a==null?void 0:a.subtotal)==="INCLUDING_TAX"||(a==null?void 0:a.subtotal)==="INCLUDING_EXCLUDING_TAX"?{amount:t==null?void 0:t.subtotal.includingTax.value,currency:t==null?void 0:t.subtotal.includingTax.currency,"data-testid":"subtotal-including-tax",style:{font:"inherit"}}:{amount:t==null?void 0:t.subtotal.excludingTax.value,currency:t==null?void 0:t.subtotal.excludingTax.currency,"data-testid":"subtotal-excluding-tax",style:{font:"inherit"}};return i(J,{...Q,productListFooter:X(t),subtotal:t!=null&&t.totalQuantity?(t==null?void 0:t.subtotal)&&i(N,{...H()}):void 0,subtotalExcludingTaxes:t!=null&&t.totalQuantity?(t==null?void 0:t.subtotal)&&((a==null?void 0:a.subtotal)==="INCLUDING_EXCLUDING_TAX"?i(N,{amount:t==null?void 0:t.subtotal.excludingTax.value,currency:t==null?void 0:t.subtotal.excludingTax.currency,"data-testid":"subtotal-including-excluding-tax",style:{font:"inherit"}}):void 0):void 0,preCheckoutSection:A(t),ctas:t!=null&&t.totalQuantity?s("div",{children:[o&&i(L,{"data-testid":"route-checkout-button",variant:"primary",href:c?void 0:o(),disabled:c,"aria-disabled":c,onClick:F,children:g.checkoutLink}),n&&i(L,{"data-testid":"route-cart-button",variant:"tertiary",href:n(),children:g.cartLink})]}):void 0,products:G})};K.getInitialData=async function(){return B()};export{K as MiniCart,K as default};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { HTMLAttributes } from 'preact/compat';
|
|
2
|
-
import { Container, SlotProps } from '
|
|
2
|
+
import { Container, SlotProps } from '../../../@adobe-commerce/elsie/src/lib';
|
|
3
3
|
import { CartModel } from '../../data/models';
|
|
4
4
|
import { OrderSummaryLineItem } from '../../components';
|
|
5
5
|
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{O as k,O as n}from"../chunks/OrderSummary.js";import"@dropins/tools/preact-jsx-runtime.js";import"@dropins/tools/preact-compat.js";import"@dropins/tools/lib.js";import"@dropins/tools/event-bus.js";import"../chunks/persisted-data.js";import"../chunks/resetCart.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/getEstimatedTotals.js";import"../chunks/refreshCart.js";import"../fragments.js";import"../chunks/acdl.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/components.js";/* empty css */import"../chunks/OrderSummaryLine.js";import"../chunks/
|
|
3
|
+
import{O as k,O as n}from"../chunks/OrderSummary.js";import"@dropins/tools/preact-jsx-runtime.js";import"@dropins/tools/preact-compat.js";import"@dropins/tools/lib.js";import"@dropins/tools/event-bus.js";import"../chunks/persisted-data.js";import"../chunks/resetCart.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/getEstimatedTotals.js";import"../chunks/refreshCart.js";import"../fragments.js";import"../chunks/acdl.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/components.js";/* empty css */import"../chunks/OrderSummaryLine.js";import"../chunks/ChevronUp.js";import"../chunks/ChevronDown.js";import"@dropins/tools/i18n.js";import"../chunks/Coupon.js";import"../chunks/GiftCard.js";export{k as OrderSummary,n as default};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { HTMLAttributes } from 'preact/compat';
|
|
2
|
-
import { Container } from '
|
|
2
|
+
import { Container } from '../../../@adobe-commerce/elsie/src/lib';
|
|
3
3
|
import { VNode } from 'preact';
|
|
4
4
|
|
|
5
5
|
export interface OrderSummaryLineProps extends Omit<HTMLAttributes<HTMLDivElement>, 'label'> {
|
|
@@ -62,6 +62,7 @@ declare const bundleOptions: {
|
|
|
62
62
|
product: {
|
|
63
63
|
name: string;
|
|
64
64
|
sku: string;
|
|
65
|
+
quantity: number;
|
|
65
66
|
thumbnail: {
|
|
66
67
|
url: string;
|
|
67
68
|
label: string;
|
|
@@ -128,6 +129,7 @@ declare const bundleOptionsEmpty: {
|
|
|
128
129
|
product: {
|
|
129
130
|
name: string;
|
|
130
131
|
sku: string;
|
|
132
|
+
quantity: number;
|
|
131
133
|
thumbnail: {
|
|
132
134
|
url: string;
|
|
133
135
|
label: string;
|
|
@@ -196,6 +198,7 @@ declare const giftCardPhysical: {
|
|
|
196
198
|
product: {
|
|
197
199
|
name: string;
|
|
198
200
|
sku: string;
|
|
201
|
+
quantity: number;
|
|
199
202
|
thumbnail: {
|
|
200
203
|
url: string;
|
|
201
204
|
label: string;
|
|
@@ -266,6 +269,7 @@ declare const giftCardVirtual: {
|
|
|
266
269
|
product: {
|
|
267
270
|
name: string;
|
|
268
271
|
sku: string;
|
|
272
|
+
quantity: number;
|
|
269
273
|
thumbnail: {
|
|
270
274
|
url: string;
|
|
271
275
|
label: string;
|
|
@@ -330,6 +334,7 @@ declare const simple: {
|
|
|
330
334
|
product: {
|
|
331
335
|
name: string;
|
|
332
336
|
sku: string;
|
|
337
|
+
quantity: number;
|
|
333
338
|
thumbnail: {
|
|
334
339
|
url: string;
|
|
335
340
|
label: string;
|
|
@@ -413,6 +418,7 @@ declare const simpleCustomizable: {
|
|
|
413
418
|
product: {
|
|
414
419
|
name: string;
|
|
415
420
|
sku: string;
|
|
421
|
+
quantity: number;
|
|
416
422
|
thumbnail: {
|
|
417
423
|
url: string;
|
|
418
424
|
label: string;
|
|
@@ -506,6 +512,7 @@ declare const configurable: {
|
|
|
506
512
|
product: {
|
|
507
513
|
name: string;
|
|
508
514
|
sku: string;
|
|
515
|
+
quantity: number;
|
|
509
516
|
thumbnail: {
|
|
510
517
|
url: string;
|
|
511
518
|
label: string;
|
|
@@ -617,6 +624,7 @@ declare const configurableCustomizable: {
|
|
|
617
624
|
product: {
|
|
618
625
|
name: string;
|
|
619
626
|
sku: string;
|
|
627
|
+
quantity: number;
|
|
620
628
|
thumbnail: {
|
|
621
629
|
url: string;
|
|
622
630
|
label: string;
|
|
@@ -682,6 +690,7 @@ declare const giftCard: {
|
|
|
682
690
|
product: {
|
|
683
691
|
name: string;
|
|
684
692
|
sku: string;
|
|
693
|
+
quantity: number;
|
|
685
694
|
thumbnail: {
|
|
686
695
|
url: string;
|
|
687
696
|
label: string;
|
|
@@ -751,6 +760,7 @@ declare const downloadbleWithMultipleLinks: {
|
|
|
751
760
|
product: {
|
|
752
761
|
name: string;
|
|
753
762
|
sku: string;
|
|
763
|
+
quantity: number;
|
|
754
764
|
thumbnail: {
|
|
755
765
|
url: string;
|
|
756
766
|
label: string;
|
|
@@ -786,6 +796,7 @@ declare const simpleLowInventory: {
|
|
|
786
796
|
only_x_left_in_stock: number;
|
|
787
797
|
name: string;
|
|
788
798
|
sku: string;
|
|
799
|
+
quantity: number;
|
|
789
800
|
thumbnail: {
|
|
790
801
|
url: string;
|
|
791
802
|
label: string;
|
|
@@ -854,6 +865,7 @@ declare const complexInsufficientQuantity: {
|
|
|
854
865
|
stock_status: string;
|
|
855
866
|
name: string;
|
|
856
867
|
sku: string;
|
|
868
|
+
quantity: number;
|
|
857
869
|
thumbnail: {
|
|
858
870
|
url: string;
|
|
859
871
|
label: string;
|
|
@@ -927,6 +939,7 @@ declare const complexInsufficientQuantityGeneralMessage: {
|
|
|
927
939
|
stock_status: string;
|
|
928
940
|
name: string;
|
|
929
941
|
sku: string;
|
|
942
|
+
quantity: number;
|
|
930
943
|
thumbnail: {
|
|
931
944
|
url: string;
|
|
932
945
|
label: string;
|
|
@@ -1010,6 +1023,7 @@ declare const complexWithProductAttributes: {
|
|
|
1010
1023
|
};
|
|
1011
1024
|
name: string;
|
|
1012
1025
|
sku: string;
|
|
1026
|
+
quantity: number;
|
|
1013
1027
|
thumbnail: {
|
|
1014
1028
|
url: string;
|
|
1015
1029
|
label: string;
|
|
@@ -1124,6 +1138,7 @@ declare const simpleWithNoDiscount: {
|
|
|
1124
1138
|
};
|
|
1125
1139
|
name: string;
|
|
1126
1140
|
sku: string;
|
|
1141
|
+
quantity: number;
|
|
1127
1142
|
thumbnail: {
|
|
1128
1143
|
url: string;
|
|
1129
1144
|
label: string;
|
package/fragments.js
CHANGED
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name": "@dropins/storefront-cart", "version": "1.3.0-
|
|
1
|
+
{"name": "@dropins/storefront-cart", "version": "1.3.0-beta2", "@dropins/tools": "~1.2.0", "license": "SEE LICENSE IN LICENSE.md"}
|
package/render/render.d.ts
CHANGED