@dropins/storefront-cart 1.2.2 → 1.2.3-alpha2

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.
@@ -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 '@dropins/tools/types/elsie/src/lib';
2
- import { Lang } from '@dropins/tools/types/elsie/src/i18n';
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('@dropins/tools/types/elsie/src/lib').Config<ConfigProps>;
13
+ export declare const config: import('../../../@adobe-commerce/elsie/src/lib').Config<ConfigProps>;
14
14
  export {};
15
15
  //# sourceMappingURL=initialize.d.ts.map
package/api.js CHANGED
@@ -1,10 +1,10 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- import{s as o,f as m,h as l}from"./chunks/resetCart.js";import{g as $,r as Q,d as H,a as k,b as z,c as V}from"./chunks/resetCart.js";import{C as T,t as f,c as g}from"./chunks/refreshCart.js";import{g as j,b as q,d as B,e as J,i as K,a as W,r as X}from"./chunks/refreshCart.js";import{events as C}from"@dropins/tools/event-bus.js";import{CART_FRAGMENT as h}from"./fragments.js";import{b as A,a as I,c as _}from"./chunks/acdl.js";import{u as Z}from"./chunks/updateProductsFromCart.js";import{g as rt,b as at,a as et}from"./chunks/getEstimateShipping.js";import{g as ot}from"./chunks/getEstimatedTotals.js";import{g as E}from"./chunks/persisted-data.js";import{A as nt,a as ct}from"./chunks/applyCouponsToCart.js";import{a as Ct,r as mt}from"./chunks/removeGiftCardFromCart.js";import{s as ut}from"./chunks/setGiftOptionsOnCart.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/lib.js";const G=`
3
+ import{s as c,f as T,h as I}from"./chunks/resetCart.js";import{g as q,r as z,d as V,a as L,b as j,c as B}from"./chunks/resetCart.js";import{C as A,t as _,c as E}from"./chunks/refreshCart.js";import{g as K,b as W,d as X,e as Y,i as Z,a as tt,r as rt}from"./chunks/refreshCart.js";import{events as C}from"@dropins/tools/event-bus.js";import{g}from"./chunks/persisted-data.js";import{CART_FRAGMENT as G}from"./fragments.js";import{b as S,a as R,c as U}from"./chunks/acdl.js";import{u as at}from"./chunks/updateProductsFromCart.js";import{g as ot,b as it,a as nt}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 lt,r as ft}from"./chunks/removeGiftCardFromCart.js";import{s as gt}from"./chunks/setGiftOptionsOnCart.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/lib.js";const O=`
4
4
  mutation ADD_PRODUCTS_TO_CART_MUTATION(
5
5
  $cartId: String!,
6
6
  $cartItems: [CartItemInput!]!,
7
- ${T}
7
+ ${A}
8
8
  ) {
9
9
  addProductsToCart(
10
10
  cartId: $cartId
@@ -20,8 +20,8 @@ import{s as o,f as m,h as l}from"./chunks/resetCart.js";import{g as $,r as Q,d a
20
20
  }
21
21
  }
22
22
 
23
- ${h}
24
- `,y=async a=>{let r=!1;const i=o.cartId||await R().then(s=>(r=!0,s));return m(G,{variables:{cartId:i,cartItems:a.map(({sku:s,parentSku:e,quantity:n,optionsUIDs:t,enteredOptions:c})=>({sku:s,parent_sku:e,quantity:n,selected_options:t,entered_options:c}))}}).then(({errors:s,data:e})=>{var c;const n=[...((c=e==null?void 0:e.addProductsToCart)==null?void 0:c.user_errors)??[],...s??[]];if(n.length>0)return l(n);const t=f(e.addProductsToCart.cart);if(C.emit("cart/updated",t),C.emit("cart/data",t),t){const p=t.items.filter(d=>a.some(({sku:u})=>u===d.topLevelSku));r?A(t,p,o.locale??"en-US"):I(t,p,o.locale??"en-US")}return t})},S=`
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=`
25
25
  mutation CREATE_GUEST_CART_MUTATION {
26
26
  createGuestCart {
27
27
  cart {
@@ -29,4 +29,4 @@ import{s as o,f as m,h as l}from"./chunks/resetCart.js";import{g as $,r as Q,d a
29
29
  }
30
30
  }
31
31
  }
32
- `,R=async()=>{const{disableGuestCart:a}=g.getConfig();if(a)throw new Error("Guest cart is disabled");return await m(S).then(({data:r})=>{const i=r.createGuestCart.cart.id;return o.cartId=i,i})},F=()=>{const a=o.locale??"en-US",r=E();r&&_(r,a)};export{nt as ApplyCouponsStrategy,y as addProductsToCart,ct as applyCouponsToCart,Ct as applyGiftCardToCart,g as config,R as createGuestCart,m as fetchGraphQl,j as getCartData,E as getCartDataFromCache,$ as getConfig,rt as getCountries,q as getCustomerCartPayload,at as getEstimateShipping,ot as getEstimatedTotals,B as getGuestCartPayload,et as getRegions,J as getStoreConfig,K as initialize,W as initializeCart,F as publishShoppingCartViewEvent,X as refreshCart,Q as removeFetchGraphQlHeader,mt as removeGiftCardFromCart,H as resetCart,k as setEndpoint,z as setFetchGraphQlHeader,V as setFetchGraphQlHeaders,ut as setGiftOptionsOnCart,Z as updateProductsFromCart};
32
+ `,y=async()=>{const{disableGuestCart:e}=E.getConfig();if(e)throw new Error("Guest cart is disabled");return await T(b).then(({data:r})=>{const p=r.createGuestCart.cart.id;return c.cartId=p,p})},k=()=>{const e=c.locale??"en-US",r=g();r&&U(r,e)};export{mt as ApplyCouponsStrategy,$ as addProductsToCart,ut as applyCouponsToCart,lt as applyGiftCardToCart,E as config,y as createGuestCart,T as fetchGraphQl,K as getCartData,g as getCartDataFromCache,q as getConfig,ot as getCountries,W as getCustomerCartPayload,it as getEstimateShipping,pt as getEstimatedTotals,X as getGuestCartPayload,nt as getRegions,Y as getStoreConfig,Z as initialize,tt as initializeCart,k as publishShoppingCartViewEvent,rt as refreshCart,z as removeFetchGraphQlHeader,ft as removeGiftCardFromCart,V as resetCart,L as setEndpoint,j as setFetchGraphQlHeader,B as setFetchGraphQlHeaders,gt as setGiftOptionsOnCart,at as updateProductsFromCart};
@@ -1,3 +1,3 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- import{jsx as t,Fragment as l}from"@dropins/tools/preact-jsx-runtime.js";import{useState as y,useEffect as h}from"@dropins/tools/preact-compat.js";import{E as _}from"./EmptyCart.js";import{classes as d,VComponent as C}from"@dropins/tools/lib.js";/* empty css */import{Image as v}from"@dropins/tools/components.js";import"@dropins/tools/preact-hooks.js";import{events as N}from"@dropins/tools/event-bus.js";import{g as b}from"./persisted-data.js";const j=({className:c,children:i,emptyCart:n,products:e,...m})=>t("div",{...m,className:d(["cart-cart-summary-grid",c]),children:t(l,{children:t("div",{className:d(["cart-cart-summary-grid__content",["cart-cart-summary-grid__content--empty",!e]]),children:e||t(C,{node:n,className:"cart-cart-summary-grid__empty-cart"})})})}),D=({children:c,initialData:i=null,routeProduct:n,routeEmptyCartCTA:e,...m})=>{const[s,g]=y(i);h(()=>{const r=N.on("cart/data",a=>{g(a)},{eager:!0});return()=>{r==null||r.off()}},[]);const p=(r,a)=>{const f=r.selectedOptions?`${r.name}: ${Object.entries(r.selectedOptions).join("; ")}`:r.name,o=t(v,{"data-testid":"cart-grid-item-image",loading:a<4?"eager":"lazy",src:r.image.src,alt:r.image.alt,"aria-label":f,width:"100%"});return n?t("div",{className:"cart-cart-summary-grid__item-container",children:t("a",{href:n(r),children:o})},a):o},u=s&&t(l,{children:s.items.map((r,a)=>p(r,a))});return t(j,{...m,emptyCart:t(_,{ctaLinkURL:e?e():void 0}),products:u})};D.getInitialData=async function(){return b()};export{D as C};
3
+ import{jsx as a,Fragment as l}from"@dropins/tools/preact-jsx-runtime.js";import{useState as y,useEffect as _}from"@dropins/tools/preact-compat.js";import{E as C}from"./EmptyCart.js";import{classes as d,VComponent as b,Slot as v}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:d(["cart-cart-summary-grid",c]),children:a(l,{children:a("div",{className:d(["cart-cart-summary-grid__content",["cart-cart-summary-grid__content--empty",!e]]),children:e||a(b,{node:m,className:"cart-cart-summary-grid__empty-cart"})})})}),I=({children:c,initialData:i=null,routeProduct:m,routeEmptyCartCTA:e,slots:n,...g})=>{const[o,p]=y(i);_(()=>{const r=S.on("cart/data",t=>{p(t)},{eager:!0});return()=>{r==null||r.off()}},[]);const u=(r,t)=>{const f=r.selectedOptions?`${r.name}: ${Object.entries(r.selectedOptions).join("; ")}`:r.name,s=a(N,{"data-testid":"cart-grid-item-image",loading:t<4?"eager":"lazy",src:r.image.src,alt:r.image.alt,"aria-label":f,width:"100%"});return a("div",{className:"cart-cart-summary-grid__item-container",children:a(v,{name:"Thumbnail",slot:n==null?void 0:n.Thumbnail,context:{item:r},children:m?a("a",{href:m(r),children:s}):s})},t)},h=o&&a(l,{children:o.items.map((r,t)=>u(r,t))});return a(D,{...g,emptyCart:a(C,{ctaLinkURL:e?e():void 0}),products:h})};I.getInitialData=async function(){return j()};export{I 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 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,CartList as lt,Icon as q,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};
@@ -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,Icon as s,Button 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(s,{className:"cart-empty-cart__icon",source:p}),action:a?r(m,{"data-testid":"cart-empty-cart-button",size:"medium",variant:"primary",type:"submit",href:a,children:c.cta},"routeHome"):void 0})})};export{g as E};
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};
@@ -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 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,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 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: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(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:sr,iconClose:or,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};
@@ -1,10 +1,15 @@
1
1
  import { HTMLAttributes } from 'preact/compat';
2
2
  import { CartModel } from '../../data/models';
3
- import { Container } from '@dropins/tools/types/elsie/src/lib';
3
+ import { Container, SlotProps } from '../../../@adobe-commerce/elsie/src/lib';
4
4
 
5
5
  export interface CartSummaryGridProps extends HTMLAttributes<HTMLDivElement> {
6
6
  routeProduct?: (item: CartModel['items'][0]) => string;
7
7
  routeEmptyCartCTA?: () => string;
8
+ slots?: {
9
+ Thumbnail?: SlotProps<{
10
+ item: CartModel['items'][number];
11
+ }>;
12
+ };
8
13
  }
9
14
  export declare const CartSummaryGrid: Container<CartSummaryGridProps, CartModel | null>;
10
15
  //# sourceMappingURL=CartSummaryGrid.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { HTMLAttributes } from 'preact/compat';
2
- import { Container, SlotProps } from '@dropins/tools/types/elsie/src/lib';
2
+ import { Container, SlotProps } from '../../../@adobe-commerce/elsie/src/lib';
3
3
  import { CartModel } from '../../data/models/cart-model';
4
4
 
5
5
  export interface CartSummaryListProps extends HTMLAttributes<HTMLDivElement> {
@@ -1,5 +1,5 @@
1
1
  import { HTMLAttributes } from 'preact/compat';
2
- import { Container } from '@dropins/tools/types/elsie/src/lib';
2
+ import { Container } from '../../../@adobe-commerce/elsie/src/lib';
3
3
 
4
4
  export interface CouponsProps extends HTMLAttributes<HTMLDivElement> {
5
5
  }
@@ -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,Input as L,Button 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(L,{"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(R,{variant:"secondary",children:s.applyButton}),error:v,appliedCoupons:t("div",{children:g}),onApplyCoupon:y})};export{U as Coupons,U as default};
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 '@dropins/tools/types/elsie/src/lib';
2
+ import { Container } from '../../../@adobe-commerce/elsie/src/lib';
3
3
 
4
4
  export interface EmptyCartProps extends HTMLAttributes<HTMLDivElement> {
5
5
  routeCTA?: () => string;
@@ -1,4 +1,4 @@
1
- import { Container } from '@dropins/tools/types/elsie/src/lib';
1
+ import { Container } from '../../../@adobe-commerce/elsie/src/lib';
2
2
  import { HTMLAttributes } from 'preact/compat';
3
3
 
4
4
  export interface EstimateShippingProps extends HTMLAttributes<HTMLDivElement> {
@@ -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 b,VComponent as B,getFormValues as $}from"@dropins/tools/lib.js";import{Price as U,Picker as w,Input as G,Button as q}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:D,priceIncludingTax:n,stateField:C,taxExcluded:F,taxIncluded:P,zipField:m})=>{const d=H(null),[L,y]=s(!0),[x,i]=s("zip"),r=M({editZipAction:"Cart.EstimateShipping.editZipAction",destinationLinkAriaLabel:"Cart.EstimateShipping.destinationLinkAriaLabel",shippingLabel:"Cart.EstimateShipping.label",zipPlaceholder:"Cart.EstimateShipping.zipPlaceholder"}),E=p=>{p.preventDefault(),y(_=>!_)},t=p=>{p.preventDefault(),y(!0),i(_=>_==="zip"?"state":"zip")},h=p=>{p.preventDefault(),y(!1);const _=$(d.current);l==null||l(_)},v=r.destinationLinkAriaLabel.replace("{destination}",f);return T("div",{"data-testid":"estimate-shipping",className:b(["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:E,onKeyDown:p=>{(p.key==="Enter"||p.key===" ")&&E(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:b(["cart-estimate-shipping__caption"]),children:e("a",{href:"#",className:"cart-estimate-shipping__link",onClick:t,"data-testid":"shipping-alternate-field-link",children:x==="zip"?e(k,{id:"Cart.EstimateShipping.alternateField.state"}):e(k,{id:"Cart.EstimateShipping.alternateField.zip"})})}),T("form",{className:b(["cart-estimate-shipping--edit",["cart-estimate-shipping--hide",!L]]),ref:d,"data-testid":"shipping-estimate-form",children:[z&&e(B,{node:z,className:b(["cart-estimate-shipping--country"])}),x==="state"?C&&e(B,{node:C,className:b(["cart-estimate-shipping--state"])}):m&&e(B,{node:m,className:b(["cart-estimate-shipping--zip"])}),I&&e(B,{node:I,className:b(["cart-estimate-shipping--action"]),onClick:h,type:"submit"})]})]}),P&&e("div",{"data-testid":"shipping-tax-included",className:b(["cart-estimate-shipping__caption"]),children:T("span",{children:[n," ",e(k,{id:"Cart.EstimateShipping.withTaxes"})]})}),F?e("div",{"data-testid":"shipping-tax-included-excluded",className:b(["cart-estimate-shipping__caption"]),children:T("span",{children:[D," ",e(k,{id:"Cart.EstimateShipping.withoutTaxes"})]})}):void 0]})},ee=()=>{const[z,f]=s(!1),[I,A]=s([]),[N,l]=s("US"),[S,D]=s(""),[n,C]=s(""),[F,P]=s([]),[m,d]=s(!1),[L,y]=s(),[x,i]=s(),[r,E]=s(""),[t,h]=s(!1),v=()=>{l("US"),D(""),C(""),y(null),i(null),E(""),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&&(y({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),D(o),C(c),E(o||c||a),h(!0)),l(a),D(o),C(c),E(o||c||a),g)).finally(()=>{f(!1)})},_=u=>{u.preventDefault(),D(""),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:F,estimatedShippingPrice:L,estimatedShippingMethod:x,shippingEstimated:t,handleEstimateShipping:p,handleCountrySelected:_,resetValues:v,setPriceSummaryLoading:f}},he=({showDefaultEstimatedShippingCost:z})=>{var E;const[f,I]=s(!1),{loading:A,countries:N,regions:l,selectedCountry:S,estimatedDestinationText:D,estimatedShippingPrice:n,handleCountrySelected:C,handleEstimateShipping:F,regionsLoading:P,selectedRegion:m,selectedZip:d,shippingEstimated:L,resetValues:y}=ee(),x=J(t=>{F(t).then(()=>{j(t)})},[F]);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&&F({shippingCountry:((c=X.config)==null?void 0:c.defaultCountry)??""}),!v)return;const{countryCode:p,regionCode:_,zipCode:u}=v;x({shippingCountry:p,shippingState:_,shippingZip:u})},{eager:!0});return()=>{t==null||t.off()}},[]),Z(()=>{const t=R.on("cart/updated",()=>{L&&F({shippingCountry:S,shippingState:m,shippingZip:d})});return()=>{t==null||t.off()}},[L,S,m,d]),Z(()=>{const t=R.on("cart/reset",()=>{y(),j(null)});return()=>{t==null||t.off()}},[y]),Z(()=>{const t=R.on("cart/merged",()=>{L&&x({shippingCountry:S,shippingState:m,shippingZip:d})});return()=>{t==null||t.off()}},[L,S,m,d,x]);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=(E=X.config)==null?void 0:E.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(w,{name:"shippingCountry",placeholder:i.countryField,value:S,variant:"primary",options:N,handleSelect:C,"data-testid":"estimate-shipping-country-selector"}),stateField:l.length>0?e(w,{name:"shippingState",placeholder:i.stateField,variant:"primary",options:l,value:m,"data-testid":"estimate-shipping-state-selector",disabled:P}):e(G,{"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(G,{"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:D||i.taxToBeDetermined,onEstimate:x})};export{he as EstimateShipping,he as default};
3
+ import{jsxs as T,jsx as e,Fragment as V}from"@dropins/tools/preact-jsx-runtime.js";import{classes as b,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:D,priceIncludingTax:n,stateField:C,taxExcluded:F,taxIncluded:P,zipField:m})=>{const d=H(null),[L,y]=s(!0),[x,i]=s("zip"),r=M({editZipAction:"Cart.EstimateShipping.editZipAction",destinationLinkAriaLabel:"Cart.EstimateShipping.destinationLinkAriaLabel",shippingLabel:"Cart.EstimateShipping.label",zipPlaceholder:"Cart.EstimateShipping.zipPlaceholder"}),E=p=>{p.preventDefault(),y(_=>!_)},t=p=>{p.preventDefault(),y(!0),i(_=>_==="zip"?"state":"zip")},h=p=>{p.preventDefault(),y(!1);const _=$(d.current);l==null||l(_)},v=r.destinationLinkAriaLabel.replace("{destination}",f);return T("div",{"data-testid":"estimate-shipping",className:b(["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:E,onKeyDown:p=>{(p.key==="Enter"||p.key===" ")&&E(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:b(["cart-estimate-shipping__caption"]),children:e("a",{href:"#",className:"cart-estimate-shipping__link",onClick:t,"data-testid":"shipping-alternate-field-link",children:x==="zip"?e(k,{id:"Cart.EstimateShipping.alternateField.state"}):e(k,{id:"Cart.EstimateShipping.alternateField.zip"})})}),T("form",{className:b(["cart-estimate-shipping--edit",["cart-estimate-shipping--hide",!L]]),ref:d,"data-testid":"shipping-estimate-form",children:[z&&e(B,{node:z,className:b(["cart-estimate-shipping--country"])}),x==="state"?C&&e(B,{node:C,className:b(["cart-estimate-shipping--state"])}):m&&e(B,{node:m,className:b(["cart-estimate-shipping--zip"])}),I&&e(B,{node:I,className:b(["cart-estimate-shipping--action"]),onClick:h,type:"submit"})]})]}),P&&e("div",{"data-testid":"shipping-tax-included",className:b(["cart-estimate-shipping__caption"]),children:T("span",{children:[n," ",e(k,{id:"Cart.EstimateShipping.withTaxes"})]})}),F?e("div",{"data-testid":"shipping-tax-included-excluded",className:b(["cart-estimate-shipping__caption"]),children:T("span",{children:[D," ",e(k,{id:"Cart.EstimateShipping.withoutTaxes"})]})}):void 0]})},ee=()=>{const[z,f]=s(!1),[I,A]=s([]),[N,l]=s("US"),[S,D]=s(""),[n,C]=s(""),[F,P]=s([]),[m,d]=s(!1),[L,y]=s(),[x,i]=s(),[r,E]=s(""),[t,h]=s(!1),v=()=>{l("US"),D(""),C(""),y(null),i(null),E(""),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&&(y({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),D(o),C(c),E(o||c||a),h(!0)),l(a),D(o),C(c),E(o||c||a),g)).finally(()=>{f(!1)})},_=u=>{u.preventDefault(),D(""),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:F,estimatedShippingPrice:L,estimatedShippingMethod:x,shippingEstimated:t,handleEstimateShipping:p,handleCountrySelected:_,resetValues:v,setPriceSummaryLoading:f}},he=({showDefaultEstimatedShippingCost:z})=>{var E;const[f,I]=s(!1),{loading:A,countries:N,regions:l,selectedCountry:S,estimatedDestinationText:D,estimatedShippingPrice:n,handleCountrySelected:C,handleEstimateShipping:F,regionsLoading:P,selectedRegion:m,selectedZip:d,shippingEstimated:L,resetValues:y}=ee(),x=J(t=>{F(t).then(()=>{j(t)})},[F]);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&&F({shippingCountry:((c=X.config)==null?void 0:c.defaultCountry)??""}),!v)return;const{countryCode:p,regionCode:_,zipCode:u}=v;x({shippingCountry:p,shippingState:_,shippingZip:u})},{eager:!0});return()=>{t==null||t.off()}},[]),Z(()=>{const t=R.on("cart/updated",()=>{L&&F({shippingCountry:S,shippingState:m,shippingZip:d})});return()=>{t==null||t.off()}},[L,S,m,d]),Z(()=>{const t=R.on("cart/reset",()=>{y(),j(null)});return()=>{t==null||t.off()}},[y]),Z(()=>{const t=R.on("cart/merged",()=>{L&&x({shippingCountry:S,shippingState:m,shippingZip:d})});return()=>{t==null||t.off()}},[L,S,m,d,x]);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=(E=X.config)==null?void 0:E.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:D||i.taxToBeDetermined,onEstimate:x})};export{he as EstimateShipping,he as default};
@@ -1,5 +1,5 @@
1
1
  import { HTMLAttributes } from 'preact/compat';
2
- import { Container } from '@dropins/tools/types/elsie/src/lib';
2
+ import { Container } from '../../../@adobe-commerce/elsie/src/lib';
3
3
 
4
4
  export interface GiftCardsProps extends HTMLAttributes<HTMLDivElement> {
5
5
  }
@@ -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,Input as b,Button 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{a as P,r 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),P(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),T(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(b,{"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(A,{variant:"secondary",children:o.applyButton}),error:h,appliedCoupons:a("div",{children:g}),onApplyCoupon:u})};export{X as GiftCards,X as default};
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,5 +1,5 @@
1
1
  import { Item } from '../../data/models';
2
- import { Container } from '@dropins/tools/types/elsie/src/lib';
2
+ import { Container } from '../../../@adobe-commerce/elsie/src/lib';
3
3
  import { GiftOptionsViewProps, GiftOptionsDataSourcesProps, GiftFormDataType, ProductGiftOptionsConfig, GiftOptionsReadOnlyViewProps } from '../../types';
4
4
 
5
5
  export interface GiftOptionsProps {
@@ -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,R,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}`:"",_=+(((R=(N=A.config)==null?void 0:N.printedCardPrice)==null?void 0:R.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,R]=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()),$=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&&R(!0),(typeof u=="boolean"||["giftWrappingId","giftReceiptIncluded","printedCardIncluded"].includes(a))&&(typeof o=="function"?o(V):$(V)),P(!0),o==null||o(V),V})},[$,o]),Ae=K(async()=>{T||typeof o!="function"&&(Q&&N&&(ee(Y),R(!1),await $(y)),F&&te&&(R(!0),await $(y)))},[$,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),R(!1),await $(y)),F&&te&&await $(y)},[T,Q,N,F,te,O,$,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&&$({...y,giftWrappingId:"",isGiftWrappingSelected:!1})},{eager:!0});return()=>{a==null||a.off()}},[$,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:R,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:R,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 f,Fragment as I}from"@dropins/tools/preact-jsx-runtime.js";import{classes as xe}from"@dropins/tools/lib.js";import{Modal as Ze,ContentGrid as De,ImageSwatch as Xe,Button as le,Price as se,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/ChevronDown.js";import{S as $e}from"../chunks/ChevronUp.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:$e,iconOpen:Ve,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:$e,iconOpen:Ve,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};
@@ -1,5 +1,5 @@
1
1
  import { HTMLAttributes } from 'preact/compat';
2
- import { Container, SlotProps } from '@dropins/tools/types/elsie/src/lib';
2
+ import { Container, SlotProps } from '../../../@adobe-commerce/elsie/src/lib';
3
3
  import { CartModel } from '../../data/models';
4
4
 
5
5
  export interface MiniCartProps extends HTMLAttributes<HTMLDivElement> {
@@ -11,11 +11,16 @@ export interface MiniCartProps extends HTMLAttributes<HTMLDivElement> {
11
11
  ProductList?: SlotProps;
12
12
  ProductListFooter?: SlotProps;
13
13
  PreCheckoutSection?: SlotProps;
14
+ Thumbnail?: SlotProps<{
15
+ item: CartModel['items'][number];
16
+ }>;
14
17
  };
15
18
  hideFooter?: boolean;
16
19
  displayAllItems?: boolean;
17
20
  showDiscount?: boolean;
18
21
  showSavings?: boolean;
22
+ enableItemRemoval?: boolean;
23
+ enableQuantityUpdate?: boolean;
19
24
  }
20
25
  export declare const MiniCart: Container<MiniCartProps, CartModel | null>;
21
26
  //# sourceMappingURL=MiniCart.d.ts.map
@@ -1,3 +1,3 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- import{jsx as i,jsxs as s,Fragment as X}from"@dropins/tools/preact-jsx-runtime.js";import{useState as A,useEffect as H,useCallback as R}from"@dropins/tools/preact-compat.js";import{classes as h,VComponent as u,Slot as _}from"@dropins/tools/lib.js";import{g as j}from"../chunks/persisted-data.js";import{events as w}from"@dropins/tools/event-bus.js";import{Price as I,Button 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 O}from"../chunks/acdl.js";import{u as B}from"../chunks/updateProductsFromCart.js";import"../chunks/CartSummaryGrid.js";import{C as V}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 $=({className:f,products:m,productListFooter:l,subtotal:e,subtotalExcludingTaxes:d,preCheckoutSection:o,ctas:n,...x})=>{const p=D({subtotal:"Cart.MiniCart.subtotal",subtotalExcludingTaxes:"Cart.MiniCart.subtotalExcludingTaxes"});return i("div",{...x,className:h(["cart-mini-cart",f]),children:m&&s(X,{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"])})]}),o&&i("div",{className:h(["cart-mini-cart__preCheckoutSection"]),"data-testid":"mini-cart-pre-checkout-section",children:i(u,{node:o})}),n&&i(u,{node:n,className:"cart-mini-cart__footer__ctas"})]})]})})},q=({children:f,initialData:m=null,hideFooter:l=!0,slots:e,routeProduct:d,routeCart:o,routeCheckout:n,routeEmptyCartCTA:x,showDiscount:p,showSavings:P,...S})=>{var v,k,L;const[t,M]=A(m),a=(v=b.config)==null?void 0:v.shoppingCartDisplaySetting;H(()=>{const r=w.on("cart/data",y=>{M(y)},{eager:!0});return()=>{r==null||r.off()}},[]);const g=D({cartLink:"Cart.MiniCart.cartLink",checkoutLink:"Cart.MiniCart.checkoutLink"}),C=(r,y)=>B([{uid:r,quantity:y}]),Q=r=>C(r,0),c=t==null?void 0:t.hasOutOfStockItems,T=R(()=>{t&&!c&&O(t,b.locale)},[t,c]),E=i(_,{name:"ProductList",slot:e==null?void 0:e.ProductList,context:{itemQuantityUpdateHandler:C,itemRemoveHandler:Q,totalQuantity:t==null?void 0:t.totalQuantity},children:i(V,{"data-testid":"default-cart-summary-list",routeProduct:d,routeEmptyCartCTA:x,initialData:t,maxItems:(k=b.config)==null?void 0:k.miniCartMaxItemsDisplay,showMaxItems:!!((L=b.config)!=null&&L.miniCartMaxItemsDisplay),hideHeading:!(t!=null&&t.totalQuantity),hideFooter:l,enableRemoveItem:!0,showDiscount:p,showSavings:P})}),U=r=>i(_,{name:"ProductListFooter",slot:e==null?void 0:e.ProductListFooter,context:{data:r}}),F=r=>i(_,{name:"PreCheckoutSection",slot:e==null?void 0:e.PreCheckoutSection,context:{data:r}}),G=()=>(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($,{...S,productListFooter:U(t),subtotal:t!=null&&t.totalQuantity?(t==null?void 0:t.subtotal)&&i(I,{...G()}):void 0,subtotalExcludingTaxes:t!=null&&t.totalQuantity?(t==null?void 0:t.subtotal)&&((a==null?void 0:a.subtotal)==="INCLUDING_EXCLUDING_TAX"?i(I,{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:F(t),ctas:t!=null&&t.totalQuantity?s("div",{children:[n&&i(N,{"data-testid":"route-checkout-button",variant:"primary",href:c?void 0:n(),disabled:c,"aria-disabled":c,onClick:T,children:g.checkoutLink}),o&&i(N,{"data-testid":"route-cart-button",variant:"tertiary",href:o(),children:g.cartLink})]}):void 0,products:E})};q.getInitialData=async function(){return j()};export{q as MiniCart,q as default};
3
+ import{jsx as i,jsxs as m,Fragment as H}from"@dropins/tools/preact-jsx-runtime.js";import{useState as R,useEffect as j,useCallback as w}from"@dropins/tools/preact-compat.js";import{classes as h,VComponent as u,Slot as f}from"@dropins/tools/lib.js";import{g as O}from"../chunks/persisted-data.js";import{events as B}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 V}from"../chunks/acdl.js";import{u as $}from"../chunks/updateProductsFromCart.js";import"../chunks/CartSummaryGrid.js";import{C as q}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 z=({className:_,products:s,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:s&&m(H,{children:[i("div",{className:"cart-mini-cart__products","data-testid":"mini-cart-products-wrapper",children:s}),l&&i("div",{className:h(["cart-mini-cart__productListFooter"]),"data-testid":"mini-cart-product-list-footer",children:i(u,{node:l})}),m("div",{className:"cart-mini-cart__footer","data-testid":"mini-cart-subtotals",children:[e&&m("div",{className:"cart-mini-cart__footer__estimated-total","data-testid":"mini-cart-subtotal",children:[p.subtotal,i(u,{node:e})]}),d&&m("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"})]})]})})},J=({children:_,initialData:s=null,hideFooter:l=!0,slots:e,routeProduct:d,routeCart:n,routeCheckout:o,routeEmptyCartCTA:x,showDiscount:p,showSavings:P,enableItemRemoval:S=!0,enableQuantityUpdate:T=!1,...M})=>{var v,k,I;const[t,Q]=R(s),a=(v=b.config)==null?void 0:v.shoppingCartDisplaySetting;j(()=>{const r=B.on("cart/data",y=>{Q(y)},{eager:!0});return()=>{r==null||r.off()}},[]);const g=D({cartLink:"Cart.MiniCart.cartLink",checkoutLink:"Cart.MiniCart.checkoutLink"}),C=(r,y)=>$([{uid:r,quantity:y}]),U=r=>C(r,0),c=t==null?void 0:t.hasOutOfStockItems,E=w(()=>{t&&!c&&V(t,b.locale)},[t,c]),F=i(f,{name:"ProductList",slot:e==null?void 0:e.ProductList,context:{itemQuantityUpdateHandler:C,itemRemoveHandler:U,totalQuantity:t==null?void 0:t.totalQuantity},children:i(q,{"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:!(t!=null&&t.totalQuantity),hideFooter:l,enableRemoveItem:S,enableUpdateItemQuantity:T,showDiscount:p,showSavings:P,slots:{Thumbnail:e==null?void 0:e.Thumbnail}})}),G=r=>i(f,{name:"ProductListFooter",slot:e==null?void 0:e.ProductListFooter,context:{data:r}}),X=r=>i(f,{name:"PreCheckoutSection",slot:e==null?void 0:e.PreCheckoutSection,context:{data:r}}),A=()=>(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(z,{...M,productListFooter:G(t),subtotal:t!=null&&t.totalQuantity?(t==null?void 0:t.subtotal)&&i(N,{...A()}):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:X(t),ctas:t!=null&&t.totalQuantity?m("div",{children:[o&&i(L,{"data-testid":"route-checkout-button",variant:"primary",href:c?void 0:o(),disabled:c,"aria-disabled":c,onClick:E,children:g.checkoutLink}),n&&i(L,{"data-testid":"route-cart-button",variant:"tertiary",href:n(),children:g.cartLink})]}):void 0,products:F})};J.getInitialData=async function(){return O()};export{J as MiniCart,J as default};
@@ -1,5 +1,5 @@
1
1
  import { HTMLAttributes } from 'preact/compat';
2
- import { Container, SlotProps } from '@dropins/tools/types/elsie/src/lib';
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/ChevronDown.js";import"../chunks/ChevronUp.js";import"@dropins/tools/i18n.js";import"../chunks/Coupon.js";import"../chunks/GiftCard.js";export{k as OrderSummary,n as default};
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 '@dropins/tools/types/elsie/src/lib';
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'> {
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name": "@dropins/storefront-cart", "version": "1.2.2", "@dropins/tools": "~0.42.0", "license": "SEE LICENSE IN LICENSE.md"}
1
+ {"name": "@dropins/storefront-cart", "version": "1.2.3-alpha2", "@dropins/tools": "1.1.0-alpha6", "license": "SEE LICENSE IN LICENSE.md"}
@@ -1,4 +1,4 @@
1
- import { Render } from '@dropins/tools/types/elsie/src/lib';
1
+ import { Render } from '../../@adobe-commerce/elsie/src/lib';
2
2
 
3
3
  export declare const render: Render;
4
4
  //# sourceMappingURL=render.d.ts.map