@dropins/storefront-cart 1.6.0-alpha1 → 1.6.0-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.
- package/chunks/OrderSummary.js +1 -1
- package/chunks/OrderSummary.js.map +1 -1
- package/chunks/OrderSummaryLine.js +1 -1
- package/chunks/OrderSummaryLine.js.map +1 -1
- package/chunks/OrderSummaryLine2.js +4 -0
- package/chunks/OrderSummaryLine2.js.map +1 -0
- package/chunks/ShippingOrderSummaryLine.js +1 -1
- package/chunks/ShippingOrderSummaryLine.js.map +1 -1
- package/containers/MiniCart.js +1 -1
- package/containers/OrderSummary.js +1 -1
- package/containers/OrderSummaryLine.js +1 -1
- package/containers/ShippingOrderSummaryLine.js +1 -1
- package/package.json +1 -1
- package/render.js +2 -2
package/chunks/OrderSummary.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{jsx as r,jsxs as g,Fragment as hr}from"@dropins/tools/preact-jsx-runtime.js";import{useState as V,useEffect as ne,useCallback as yr,Fragment as Ir}from"@dropins/tools/preact-compat.js";import{classes as R,VComponent as v,Slot as M}from"@dropins/tools/lib.js";import{events as ie}from"@dropins/tools/event-bus.js";import{g as Tr}from"./persisted-data.js";import{s as Q}from"./state.js";import{g as Sr}from"./getEstimatedTotals.js";import{c as Cr}from"./acdl.js";import"@dropins/tools/preact-hooks.js";import{Accordion as mr,AccordionSection as dr,ProgressSpinner as br,Divider as _r,Button as oe,Price as s,Icon as sr}from"@dropins/tools/components.js";/* empty css */import{O as f}from"./OrderSummaryLine.js";import{S as xr}from"./ChevronUp.js";import{S as pr}from"./ChevronDown.js";import{useText as ce,Text as gr}from"@dropins/tools/i18n.js";import{S as fr}from"./ShippingOrderSummaryLine.js";import{u as vr}from"./updateProductsFromCart.js";import"./CartSummaryGrid.js";import{C as Pr}from"./CartSummaryList.js";import"./CartSummaryTable2.js";import{S as Nr}from"./Coupon.js";import{S as kr}from"./GiftCard.js";const Er=({className:z,products:D,productListFooter:_,subtotal:t,subtotalExcludingTaxes:P,preCheckoutSection:C,ctas:h,...b})=>{const T=ce({subtotal:"Cart.MiniCart.subtotal",subtotalExcludingTaxes:"Cart.MiniCart.subtotalExcludingTaxes"});return r("div",{...b,className:R(["cart-mini-cart",z]),children:D&&g(hr,{children:[r("div",{className:"cart-mini-cart__products","data-testid":"mini-cart-products-wrapper",children:D}),_&&r("div",{className:R(["cart-mini-cart__productListFooter"]),"data-testid":"mini-cart-product-list-footer",children:r(v,{node:_})}),g("div",{className:"cart-mini-cart__footer","data-testid":"mini-cart-subtotals",children:[t&&g("div",{className:"cart-mini-cart__footer__estimated-total","data-testid":"mini-cart-subtotal",children:[T.subtotal,r(v,{node:t})]}),P&&g("div",{className:"cart-mini-cart__footer__estimated-total-excluding-taxes","data-testid":"mini-cart-subtotal-excluding-taxes",children:[T.subtotalExcludingTaxes,r(v,{node:P,className:R(["dropin-price-summary__price","dropin-price-summary__price--muted"])})]}),C&&r("div",{className:R(["cart-mini-cart__preCheckoutSection"]),"data-testid":"mini-cart-pre-checkout-section",children:r(v,{node:C})}),h&&r(v,{node:h,className:"cart-mini-cart__footer__ctas"})]})]})})},Lr=({className:z,children:D,variant:_="primary",heading:t,loading:P=!0,subTotal:C,shipping:h,discounts:b,taxTotal:T,taxesApplied:A,total:e,primaryAction:O,coupons:p,giftCards:w,totalSaved:N,appliedGiftCards:a,printedCard:n,itemsGiftWrapping:m,orderGiftWrapping:y,updateLineItems:x=I=>I,...W})=>{const[I,k]=V(!1),o=ce({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"}),X=a?r(f,{label:a==null?void 0:a.label,price:a==null?void 0:a.price,classSuffixes:["applied-gift-cards"],children:a==null?void 0:a.content},a==null?void 0:a.label):null,E=C&&g(f,{label:o.subtotalLabel,price:C.price,classSuffixes:["subTotal"],children:[C.taxIncluded&&r("div",{"data-testid":"sub-total-tax-caption",className:"cart-order-summary__caption",children:r("span",{children:o.subtotalWithTaxes})}),C.taxExcluded?r("div",{"data-testid":"sub-total-tax-caption-excluded",className:"cart-order-summary__caption",children:g("span",{children:[C.priceExcludingTax," ",o.subtotalWithoutTaxes]})}):void 0]},o.subtotalLabel),F=b&&b.length>0&&r(hr,{children:b.map(c=>g(f,{label:c.label,price:c.price,classSuffixes:["discount"],children:[c.coupon&&r(v,{node:c.coupon,className:"cart-order-summary__coupon__code"}),c.caption&&r(v,{node:c.caption,className:"cart-order-summary__caption"})]},c.label))}),i=A&&A.length>0?r(mr,{"data-testid":"tax-breakdown",className:"cart-order-summary__taxes",iconOpen:pr,iconClose:xr,children:g(dr,{title:o.taxesBreakdownTitle,secondaryText:!I&&T?r(v,{node:T.price,className:"cart-order-summary__price"}):void 0,renderContentWhenClosed:!1,onStateChange:k,children:[r("div",{className:"cart-order-summary__appliedTaxes",children:A.map(c=>r(f,{label:c.label,price:c.price,classSuffixes:["taxEntry"],labelClassSuffix:"muted"},c.label))}),T&&r(f,{label:o.taxTotal,price:T.price,classSuffixes:["taxTotal"],labelClassSuffix:"muted"})]})}):T&&r(f,{label:T.estimated?o.taxEstimated:o.taxTotalOnly,price:T.price,classSuffixes:["taxTotal"],testId:"tax-total-only"}),B=n!=null&&n.renderContent?g(f,{label:o.printedCardTitle,price:n.taxInclAndExcl||n.taxIncluded?n.priceInclTax:n.priceExclTax,classSuffixes:["printedCardContent"],children:[n.taxIncluded&&r("div",{"data-testid":"printed-card-incl",className:"cart-order-summary__caption",children:r("span",{children:o.printedCardInclTax})}),n.taxInclAndExcl?r("div",{"data-testid":"printed-card-incl-excl",className:"cart-order-summary__caption",children:g("span",{children:[n.priceExclTax," ",o.printedCardExclTax]})}):void 0]},o.printedCardTitle):null,U=m!=null&&m.renderContent?g(f,{label:o.itemGiftWrappingTitle,price:m.taxInclAndExcl||m.taxIncluded?m.priceInclTax:m.priceExclTax,classSuffixes:["itemsGiftWrappingContent"],children:[m.taxIncluded?r("div",{"data-testid":"item-gift-wrapping-incl",className:"cart-order-summary__caption",children:r("span",{children:o.itemGiftWrappingInclTax})}):null,m.taxInclAndExcl?r("div",{"data-testid":"item-gift-wrapping-incl-excl",className:"cart-order-summary__caption",children:g("span",{children:[m.priceExclTax," ",o.itemGiftWrappingExclTax]})}):null]},o.itemGiftWrappingTitle):null,d=y!=null&&y.renderContent?g(f,{label:o.orderGiftWrappingTitle,price:y.taxInclAndExcl||y.taxIncluded?y.priceInclTax:y.priceExclTax,classSuffixes:["orderGiftWrappingContent"],children:[y.taxIncluded&&r("div",{"data-testid":"order-gift-wrapping-incl",className:"cart-order-summary__caption",children:r("span",{children:o.orderGiftWrappingInclTax})}),y.taxInclAndExcl?r("div",{"data-testid":"order-gift-wrapping-incl-excl",className:"cart-order-summary__caption",children:g("span",{children:[y.priceExclTax," ",o.orderGiftWrappingExclTax]})}):void 0]},o.orderGiftWrappingTitle):null,S=[{key:"subTotalContent",sortOrder:100,content:E},...h?[{key:"shippingContent",sortOrder:200,content:r(v,{node:h,className:"cart-order-summary__shipping"})}]:[],{key:"printedCard",sortOrder:300,content:B},{key:"itemsGiftWrappingContent",sortOrder:400,content:U},{key:"orderGiftWrappingContent",sortOrder:500,content:d},{key:"discountsContent",sortOrder:600,content:F},{key:"appliedGiftCardsContent",sortOrder:700,content:X},{key:"taxContent",sortOrder:800,content:i},...e?[{key:"taxContent",sortOrder:900,content:r(f,{label:e.estimated?o.totalEstimated:o.totalLabel,price:e.price,classSuffixes:["total","total--padded"],testId:"total-content",labelClassSuffix:"bold"})}]:[],...e!=null&&e.priceWithoutTax?[{key:"totalWithoutTaxContent",sortOrder:1e3,content:r(f,{label:o.totalWithoutTax,price:e.priceWithoutTax,classSuffixes:["totalWithoutTax"],testId:"total-without-tax",labelClassSuffix:"muted"})}]:[],...N?[{key:"totalSavedContent",sortOrder:1100,content:r(f,{label:o.totalSaved,price:N,classSuffixes:["saved"],testId:"total-saved",labelClassSuffix:"muted"})}]:[],...O?[{key:"primaryActionContent",sortOrder:1200,content:r("div",{className:R(["cart-order-summary__entry","cart-order-summary__primaryAction"]),children:O})}]:[],...p?[{key:"couponsContent",sortOrder:1300,content:r(v,{node:p,className:"cart-order-summary__coupons"})}]:[],...w?[{key:"giftCardsContent",sortOrder:1400,content:r(v,{node:w,className:"cart-order-summary__gift-cards"})}]:[]],Z=x(S).sort((c,L)=>c.sortOrder-L.sortOrder);return g("div",{...W,className:R(["cart-order-summary",["cart-order-summary--loading",P],[`cart-order-summary__${_}`,_],z]),children:[P&&r(br,{className:"cart-order-summary__spinner"}),g("div",{className:"cart-order-summary__heading",children:[t&&r(v,{node:t,className:"cart-order-summary__heading-text"}),r(_r,{variant:"primary",className:"cart-order-summary__divider-primary"})]}),r("div",{className:"cart-order-summary__content",children:Z.map(c=>Array.isArray(c.content)?r(mr,{className:c.className,actionIconPosition:"right",iconOpen:pr,iconClose:xr,children:r(dr,{defaultOpen:!1,title:c.title,renderContentWhenClosed:!1,children:c.content.map(L=>L.content)})},c.key):c.content)})]})},Dr=()=>{const[z,D]=V(!1),[_,t]=V();return{handleEstimateTotals:(C,h)=>{D(!0);const{shippingCountry:b,shippingState:T="",shippingStateId:A,shippingZip:e=""}=C,O={countryCode:b,postcode:e,region:{region:T,id:A},shipping_method:{carrier_code:(h==null?void 0:h.carrier_code)||"",method_code:(h==null?void 0:h.method_code)||""}};Sr(O).then(p=>{var w,N,a,n,m,y,x,W,I,k,o,X,E,F,i,B,U,d,S,Z;p&&t({estimatedTaxTotal:{amount:(w=p.totalTax)==null?void 0:w.value,currency:(N=p.totalTax)==null?void 0:N.currency},estimatedSubTotal:{excludingTax:{amount:(n=(a=p.subtotal)==null?void 0:a.excludingTax)==null?void 0:n.value,currency:(y=(m=p.subtotal)==null?void 0:m.excludingTax)==null?void 0:y.currency},includingTax:{amount:(W=(x=p.subtotal)==null?void 0:x.includingTax)==null?void 0:W.value,currency:(k=(I=p.subtotal)==null?void 0:I.includingTax)==null?void 0:k.currency},includingDiscountOnly:{amount:(X=(o=p.subtotal)==null?void 0:o.includingDiscountOnly)==null?void 0:X.value,currency:(F=(E=p.subtotal)==null?void 0:E.includingDiscountOnly)==null?void 0:F.currency}},estimatedGrandTotalPrice:{includingTax:{amount:(i=p.total)==null?void 0:i.includingTax.value,currency:(B=p.total)==null?void 0:B.includingTax.currency},excludingTax:{amount:(U=p.total)==null?void 0:U.excludingTax.value,currency:(d=p.total)==null?void 0:d.excludingTax.currency}},estimatedAppliedTaxes:{taxes:(S=p.appliedTaxes)==null?void 0:S.map(c=>{var L,H;return{label:c.label,amount:{value:(L=c.amount)==null?void 0:L.value,currency:(H=c.amount)==null?void 0:H.currency}}})},estimatedItems:{items:(Z=p.items)==null?void 0:Z.map(c=>{var L,H,$,j,q,J,K,Y,G,ee;return{uid:c.uid,price:{amount:(L=c.price)==null?void 0:L.value,currency:(H=c.price)==null?void 0:H.currency},taxedPrice:{amount:($=c.taxedPrice)==null?void 0:$.value,currency:(j=c.taxedPrice)==null?void 0:j.currency},rowTotal:{amount:(q=c.rowTotal)==null?void 0:q.value,currency:(J=c.rowTotal)==null?void 0:J.currency},rowTotalIncludingTax:{amount:(K=c.rowTotalIncludingTax)==null?void 0:K.value,currency:(Y=c.rowTotalIncludingTax)==null?void 0:Y.currency},regularPrice:{amount:(G=c.regularPrice)==null?void 0:G.value,currency:(ee=c.regularPrice)==null?void 0:ee.currency}}})}})}).finally(()=>{D(!1)})},estimatedTotals:_,setEstimatedTotals:t,loading:z}},Ar=({children:z,initialData:D=null,hideFooter:_=!0,slots:t,routeProduct:P,routeCart:C,routeCheckout:h,routeEmptyCartCTA:b,showDiscount:T,showSavings:A,enableItemRemoval:e=!0,enableQuantityUpdate:O=!1,hideHeading:p=!1,undo:w=!1,...N})=>{var i,B,U;const[a,n]=V(D),m=(i=Q.config)==null?void 0:i.shoppingCartDisplaySetting;ne(()=>{const d=ie.on("cart/data",S=>{n(S)},{eager:!0});return()=>{d==null||d.off()}},[]);const y=ce({cartLink:"Cart.MiniCart.cartLink",checkoutLink:"Cart.MiniCart.checkoutLink"}),x=(d,S)=>vr([{uid:d,quantity:S}]),W=d=>x(d,0),I=a==null?void 0:a.hasOutOfStockItems,k=yr(()=>{a&&!I&&Cr(a,Q.locale)},[a,I]),o=r(M,{name:"ProductList",slot:t==null?void 0:t.ProductList,context:{itemQuantityUpdateHandler:x,itemRemoveHandler:W,totalQuantity:a==null?void 0:a.totalQuantity},children:r(Pr,{"data-testid":"default-cart-summary-list",routeProduct:P,routeEmptyCartCTA:b,initialData:a,maxItems:(B=Q.config)==null?void 0:B.miniCartMaxItemsDisplay,showMaxItems:!!((U=Q.config)!=null&&U.miniCartMaxItemsDisplay),hideHeading:p||!(a!=null&&a.totalQuantity),hideFooter:_,enableRemoveItem:e,enableUpdateItemQuantity:O,showDiscount:T,showSavings:A,undo:w,slots:{Thumbnail:t==null?void 0:t.Thumbnail,Heading:t==null?void 0:t.Heading,EmptyCart:t==null?void 0:t.EmptyCart,Footer:t==null?void 0:t.Footer,ProductAttributes:t==null?void 0:t.ProductAttributes,CartSummaryFooter:t==null?void 0:t.CartSummaryFooter,CartItem:t==null?void 0:t.CartItem,UndoBanner:t==null?void 0:t.UndoBanner,ItemTitle:t==null?void 0:t.ItemTitle,ItemPrice:t==null?void 0:t.ItemPrice,ItemQuantity:t==null?void 0:t.ItemQuantity,ItemTotal:t==null?void 0:t.ItemTotal,ItemSku:t==null?void 0:t.ItemSku,ItemRemoveAction:t==null?void 0:t.ItemRemoveAction}})}),X=d=>r(M,{name:"ProductListFooter",slot:t==null?void 0:t.ProductListFooter,context:{data:d}}),E=d=>r(M,{name:"PreCheckoutSection",slot:t==null?void 0:t.PreCheckoutSection,context:{data:d}}),F=()=>(m==null?void 0:m.subtotal)==="INCLUDING_TAX"||(m==null?void 0:m.subtotal)==="INCLUDING_EXCLUDING_TAX"?{amount:a==null?void 0:a.subtotal.includingTax.value,currency:a==null?void 0:a.subtotal.includingTax.currency,"data-testid":"subtotal-including-tax",style:{font:"inherit"}}:{amount:a==null?void 0:a.subtotal.excludingTax.value,currency:a==null?void 0:a.subtotal.excludingTax.currency,"data-testid":"subtotal-excluding-tax",style:{font:"inherit"}};return r(Er,{...N,productListFooter:X(a),subtotal:a!=null&&a.totalQuantity?(a==null?void 0:a.subtotal)&&r(s,{...F()}):void 0,subtotalExcludingTaxes:a!=null&&a.totalQuantity?(a==null?void 0:a.subtotal)&&((m==null?void 0:m.subtotal)==="INCLUDING_EXCLUDING_TAX"?r(s,{amount:a==null?void 0:a.subtotal.excludingTax.value,currency:a==null?void 0:a.subtotal.excludingTax.currency,"data-testid":"subtotal-including-excluding-tax",style:{font:"inherit"}}):void 0):void 0,preCheckoutSection:E(a),ctas:a!=null&&a.totalQuantity?g("div",{children:[h&&r(oe,{"data-testid":"route-checkout-button",variant:"primary",href:I?void 0:h(),disabled:I,"aria-disabled":I,onClick:k,children:y.checkoutLink}),C&&r(oe,{"data-testid":"route-cart-button",variant:"tertiary",href:C(),children:y.cartLink})]}):void 0,products:o})};Ar.getInitialData=async function(){return Tr()};const wr=({children:z,initialData:D=null,routeCheckout:_,slots:t,errors:P,showTotalSaved:C,enableCoupons:h,enableGiftCards:b,updateLineItems:T=e=>e,...A})=>{var $,j,q,J,K,Y,G,ee,me,de,se,xe,pe,ge,he,ye,Te,Ce,Ie,Se,be,_e,fe,ve,Pe,Ne,ke,Ee,Le,De,Ae,we,We,Fe,Be,Ue,Oe,Xe,Qe,ze,He,Ve,Ze,Re,Me,$e,je,qe,Je,Ke,Ye,Ge,er,rr,tr,ar,nr,ir,cr;const[e,O]=V(D),[p,w]=V(!1),N=e==null?void 0:e.isVirtual;h=h??!0,b=b??!0;const{handleEstimateTotals:a,estimatedTotals:n,setEstimatedTotals:m,loading:y}=Dr(),x=($=Q.config)==null?void 0:$.shoppingCartDisplaySetting,W=(x==null?void 0:x.subtotal)==="INCLUDING_TAX",I=(x==null?void 0:x.subtotal)==="INCLUDING_EXCLUDING_TAX",k=x==null?void 0:x.zeroTax,o=()=>(e==null?void 0:e.appliedGiftCards.reduce((u,l)=>u+l.appliedBalance.value,0))??0,X=u=>u!=null&&u.code?g(Ir,{children:[g("span",{className:"cart-order-summary__coupon__code",children:[r(sr,{source:kr,size:"16"}),r("span",{children:u==null?void 0:u.code})]}),g("span",{className:"cart-order-summary__caption",children:[r(gr,{id:"Cart.PriceSummary.giftCard.appliedGiftCards.remainingBalance"}),r(s,{className:"cart-order-summary__caption",weight:"normal",size:"small",amount:u.giftCardBalance.value,currency:u.giftCardBalance.currency})]})]},u.code):null,E=(j=Q.config)==null?void 0:j.cartGiftWrapping,F=(q=Q.config)==null?void 0:q.cartPrintedCard,i=e==null?void 0:e.totalGiftOptions;ne(()=>{const u=ie.on("cart/data",l=>{var re,te,ae;O(l);const ue=(re=l==null?void 0:l.addresses)==null?void 0:re.shipping,le=l==null?void 0:l.isVirtual;(ue||le)&&m(null),n==null&&m({estimatedTaxTotal:{amount:(te=l==null?void 0:l.totalTax)==null?void 0:te.value,currency:(ae=l==null?void 0:l.totalTax)==null?void 0:ae.currency}})},{eager:!0});return()=>{u==null||u.off()}},[]),ne(()=>{w(P)},[P]),ne(()=>{const u=ie.on("shipping/estimate",l=>{var re,te,ae,ur,lr,or;const ue={shippingCountry:(re=l==null?void 0:l.address)==null?void 0:re.countryCode,shippingState:(te=l==null?void 0:l.address)==null?void 0:te.region,shippingStateId:(ae=l==null?void 0:l.address)==null?void 0:ae.regionId,shippingZip:(ur=l==null?void 0:l.address)==null?void 0:ur.postCode},le={carrier_code:((lr=l==null?void 0:l.shippingMethod)==null?void 0:lr.carrierCode)||"",method_code:((or=l==null?void 0:l.shippingMethod)==null?void 0:or.methodCode)||""};a(ue,le)});return()=>{u==null||u.off()}},[a]);const[B,U]=V(!1);ne(()=>{const u=ie.on("checkout/initialized",()=>{U(!0)});return()=>{u==null||u.off()}},[]);const d=ce({checkout:"Cart.PriceSummary.checkout",free:"Cart.PriceSummary.total.free",orderSummary:"Cart.PriceSummary.orderSummary",taxToBeDetermined:"Cart.PriceSummary.taxToBeDetermined"}),S=(e==null?void 0:e.hasOutOfStockItems)||p,Z=yr(()=>{!S&&e&&Cr(e,Q.locale)},[S,e]),c=N?void 0:t!=null&&t.EstimateShipping?r(M,{name:"EstimateShipping",slot:t.EstimateShipping},"estimateShippingId"):r(fr,{});if(!Object.keys(e??{}).length||(e==null?void 0:e.totalQuantity)===0)return null;const L=h&&(t!=null&&t.Coupons)?r(M,{name:"Coupons",slot:t.Coupons},"couponsId"):void 0,H=b&&(t!=null&&t.GiftCards)?r(M,{name:"GiftCards",slot:t.GiftCards},"giftCardId"):void 0;return r(Lr,{...A,"data-testid":"cart-order-summary",heading:r("div",{children:d.orderSummary}),shipping:c,coupons:L,giftCards:H,loading:y,updateLineItems:T,appliedGiftCards:(J=e==null?void 0:e.appliedGiftCards)!=null&&J.length?{label:r(gr,{id:"Cart.PriceSummary.giftCard.appliedGiftCards.label",plural:(K=e==null?void 0:e.appliedGiftCards)==null?void 0:K.length,fields:{count:(Y=e==null?void 0:e.appliedGiftCards)==null?void 0:Y.length}}),price:r(s,{className:"cart-order-summary__price",amount:-o(),currency:(ee=(G=e==null?void 0:e.appliedGiftCards)==null?void 0:G[0])==null?void 0:ee.appliedBalance.currency}),content:(me=e==null?void 0:e.appliedGiftCards)==null?void 0:me.map(X).filter(Boolean)}:void 0,printedCard:{renderContent:!!((de=i==null?void 0:i.printedCard)!=null&&de.value),taxIncluded:F==="INCLUDING_TAX",taxInclAndExcl:F==="INCLUDING_EXCLUDING_TAX",priceExclTax:r(s,{"data-testid":"printed-card",amount:(se=i==null?void 0:i.printedCard)==null?void 0:se.value,currency:(xe=i==null?void 0:i.printedCard)==null?void 0:xe.currency}),priceInclTax:r(s,{amount:(pe=i==null?void 0:i.printedCardInclTax)==null?void 0:pe.value,currency:(ge=i==null?void 0:i.printedCardInclTax)==null?void 0:ge.currency})},itemsGiftWrapping:{renderContent:!!((he=i==null?void 0:i.giftWrappingForItems)!=null&&he.value),taxIncluded:E==="INCLUDING_TAX",taxInclAndExcl:E==="INCLUDING_EXCLUDING_TAX",priceExclTax:r(s,{amount:(ye=i==null?void 0:i.giftWrappingForItems)==null?void 0:ye.value,currency:(Te=i==null?void 0:i.giftWrappingForItems)==null?void 0:Te.currency}),priceInclTax:r(s,{amount:(Ce=i==null?void 0:i.giftWrappingForItemsInclTax)==null?void 0:Ce.value,currency:(Ie=i==null?void 0:i.giftWrappingForItemsInclTax)==null?void 0:Ie.currency})},orderGiftWrapping:{renderContent:!!((Se=i==null?void 0:i.giftWrappingForOrder)!=null&&Se.value),taxIncluded:E==="INCLUDING_TAX",taxInclAndExcl:E==="INCLUDING_EXCLUDING_TAX",priceExclTax:r(s,{amount:(be=i==null?void 0:i.giftWrappingForOrder)==null?void 0:be.value,currency:(_e=i==null?void 0:i.giftWrappingForOrder)==null?void 0:_e.currency}),priceInclTax:r(s,{amount:(fe=i==null?void 0:i.giftWrappingForOrderInclTax)==null?void 0:fe.value,currency:(ve=i==null?void 0:i.giftWrappingForOrderInclTax)==null?void 0:ve.currency})},subTotal:{taxIncluded:W&&!k,taxExcluded:I,zeroTaxSubtotal:k,priceExcludingTax:(Pe=n==null?void 0:n.estimatedSubTotal)!=null&&Pe.excludingTax?r(s,{"data-testid":"subtotal",...(Ne=n==null?void 0:n.estimatedSubTotal)==null?void 0:Ne.excludingTax}):r(s,{"data-testid":"subtotal",amount:(Ee=(ke=e==null?void 0:e.subtotal)==null?void 0:ke.excludingTax)==null?void 0:Ee.value,currency:(De=(Le=e==null?void 0:e.subtotal)==null?void 0:Le.excludingTax)==null?void 0:De.currency}),price:!k&&W||!k&&I?(Ae=n==null?void 0:n.estimatedSubTotal)!=null&&Ae.includingTax?r(s,{"data-testid":"subtotal",...(we=n==null?void 0:n.estimatedSubTotal)==null?void 0:we.includingTax}):r(s,{"data-testid":"subtotal",amount:(We=e==null?void 0:e.subtotal.includingTax)==null?void 0:We.value,currency:(Fe=e==null?void 0:e.subtotal.includingTax)==null?void 0:Fe.currency}):r(s,{"data-testid":"subtotal",amount:(Ue=(Be=e==null?void 0:e.subtotal)==null?void 0:Be.excludingTax)==null?void 0:Ue.value,currency:(Xe=(Oe=e==null?void 0:e.subtotal)==null?void 0:Oe.excludingTax)==null?void 0:Xe.currency})},discounts:(Qe=e==null?void 0:e.appliedDiscounts)==null?void 0:Qe.map(u=>{var l;return{label:u.label,price:r(s,{"data-testid":"summary-discount-total",amount:-u.amount.value,currency:u.amount.currency,sale:!0}),coupon:u!=null&&u.coupon?g("span",{children:[r(sr,{source:Nr,size:"16"}),(l=u==null?void 0:u.coupon)==null?void 0:l.code]}):void 0}}),taxTotal:N&&!(e!=null&&e.appliedTaxes.length)&&!B||n&&n.estimatedTaxTotal==null?{price:r("span",{"data-testid":"tax-total-tbd",children:d.taxToBeDetermined})}:{price:n!=null&&n.estimatedTaxTotal?r(s,{"data-testid":"tax-total-estimated",...n==null?void 0:n.estimatedTaxTotal}):r(s,{"data-testid":"tax-total-actual",amount:(ze=e==null?void 0:e.totalTax)==null?void 0:ze.value,currency:(He=e==null?void 0:e.totalTax)==null?void 0:He.currency}),estimated:(!n||!n.estimatedTaxTotal)&&!((Ve=e==null?void 0:e.addresses)!=null&&Ve.shipping)},taxesApplied:N?void 0:x!=null&&x.fullSummary?(Re=((Ze=n==null?void 0:n.estimatedAppliedTaxes)==null?void 0:Ze.taxes)||(e==null?void 0:e.appliedTaxes))==null?void 0:Re.map(u=>({label:u.label,price:r(s,{"data-testid":"applied-taxes",amount:u.amount.value,currency:u.amount.currency})})):void 0,total:{price:n!=null&&n.estimatedGrandTotalPrice?(($e=(Me=n==null?void 0:n.estimatedGrandTotalPrice)==null?void 0:Me.includingTax)==null?void 0:$e.amount)===0?r("span",{"data-testid":"total-including-tax",children:d.free}):r(s,{"data-testid":"total-including-tax-estimated",...(je=n==null?void 0:n.estimatedGrandTotalPrice)==null?void 0:je.includingTax}):((qe=e==null?void 0:e.total)==null?void 0:qe.includingTax.value)===0?r("span",{"data-testid":"total-including-tax",children:d.free}):r(s,{"data-testid":"total-including-tax-actual",amount:(Je=e==null?void 0:e.total)==null?void 0:Je.includingTax.value,currency:(Ke=e==null?void 0:e.total)==null?void 0:Ke.includingTax.currency}),estimated:(!n||!!(n!=null&&n.estimatedTaxTotal))&&!((Ye=e==null?void 0:e.addresses)!=null&&Ye.shipping),priceWithoutTax:x!=null&&x.grandTotal?n!=null&&n.estimatedAppliedTaxes?((er=(Ge=n==null?void 0:n.estimatedGrandTotalPrice)==null?void 0:Ge.excludingTax)==null?void 0:er.amount)===0?r("span",{"data-testid":"total-excluding-tax",children:d.free}):r(s,{"data-testid":"total-excluding-tax",...(rr=n==null?void 0:n.estimatedGrandTotalPrice)==null?void 0:rr.excludingTax}):((tr=e==null?void 0:e.total)==null?void 0:tr.excludingTax.value)===0?r("span",{"data-testid":"total-excluding-tax",children:d.free}):r(s,{"data-testid":"total-excluding-tax",amount:(ar=e==null?void 0:e.total)==null?void 0:ar.excludingTax.value,currency:(nr=e==null?void 0:e.total)==null?void 0:nr.excludingTax.currency}):void 0},primaryAction:_&&r(oe,{"data-testid":"checkout-button",variant:"primary",disabled:S,"aria-disabled":S,href:S?void 0:_({cartId:e.id}),onClick:Z,children:d.checkout}),totalSaved:C?r(s,{amount:(ir=e==null?void 0:e.discount)==null?void 0:ir.value,currency:(cr=e==null?void 0:e.total)==null?void 0:cr.includingTax.currency}):void 0})};wr.getInitialData=async function(){return Tr()};export{Ar as M,wr as O};
|
|
3
|
+
import{jsx as r,jsxs as g,Fragment as hr}from"@dropins/tools/preact-jsx-runtime.js";import{useState as V,useEffect as ne,useCallback as yr,Fragment as Ir}from"@dropins/tools/preact-compat.js";import{classes as R,VComponent as v,Slot as M}from"@dropins/tools/lib.js";import{events as ie}from"@dropins/tools/event-bus.js";import{g as Tr}from"./persisted-data.js";import{s as Q}from"./state.js";import{g as Sr}from"./getEstimatedTotals.js";import{c as Cr}from"./acdl.js";import"@dropins/tools/preact-hooks.js";import{Accordion as mr,AccordionSection as dr,ProgressSpinner as br,Divider as _r,Button as oe,Price as s,Icon as sr}from"@dropins/tools/components.js";/* empty css */import{O as f}from"./OrderSummaryLine2.js";import{S as xr}from"./ChevronUp.js";import{S as pr}from"./ChevronDown.js";import{useText as ce,Text as gr}from"@dropins/tools/i18n.js";import{S as fr}from"./ShippingOrderSummaryLine.js";import{u as vr}from"./updateProductsFromCart.js";import"./CartSummaryGrid.js";import{C as Pr}from"./CartSummaryList.js";import"./CartSummaryTable2.js";import{S as Nr}from"./Coupon.js";import{S as kr}from"./GiftCard.js";const Er=({className:z,products:D,productListFooter:_,subtotal:t,subtotalExcludingTaxes:P,preCheckoutSection:C,ctas:h,...b})=>{const T=ce({subtotal:"Cart.MiniCart.subtotal",subtotalExcludingTaxes:"Cart.MiniCart.subtotalExcludingTaxes"});return r("div",{...b,className:R(["cart-mini-cart",z]),children:D&&g(hr,{children:[r("div",{className:"cart-mini-cart__products","data-testid":"mini-cart-products-wrapper",children:D}),_&&r("div",{className:R(["cart-mini-cart__productListFooter"]),"data-testid":"mini-cart-product-list-footer",children:r(v,{node:_})}),g("div",{className:"cart-mini-cart__footer","data-testid":"mini-cart-subtotals",children:[t&&g("div",{className:"cart-mini-cart__footer__estimated-total","data-testid":"mini-cart-subtotal",children:[T.subtotal,r(v,{node:t})]}),P&&g("div",{className:"cart-mini-cart__footer__estimated-total-excluding-taxes","data-testid":"mini-cart-subtotal-excluding-taxes",children:[T.subtotalExcludingTaxes,r(v,{node:P,className:R(["dropin-price-summary__price","dropin-price-summary__price--muted"])})]}),C&&r("div",{className:R(["cart-mini-cart__preCheckoutSection"]),"data-testid":"mini-cart-pre-checkout-section",children:r(v,{node:C})}),h&&r(v,{node:h,className:"cart-mini-cart__footer__ctas"})]})]})})},Lr=({className:z,children:D,variant:_="primary",heading:t,loading:P=!0,subTotal:C,shipping:h,discounts:b,taxTotal:T,taxesApplied:A,total:e,primaryAction:O,coupons:p,giftCards:w,totalSaved:N,appliedGiftCards:a,printedCard:n,itemsGiftWrapping:m,orderGiftWrapping:y,updateLineItems:x=I=>I,...W})=>{const[I,k]=V(!1),o=ce({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"}),X=a?r(f,{label:a==null?void 0:a.label,price:a==null?void 0:a.price,classSuffixes:["applied-gift-cards"],children:a==null?void 0:a.content},a==null?void 0:a.label):null,E=C&&g(f,{label:o.subtotalLabel,price:C.price,classSuffixes:["subTotal"],children:[C.taxIncluded&&r("div",{"data-testid":"sub-total-tax-caption",className:"cart-order-summary__caption",children:r("span",{children:o.subtotalWithTaxes})}),C.taxExcluded?r("div",{"data-testid":"sub-total-tax-caption-excluded",className:"cart-order-summary__caption",children:g("span",{children:[C.priceExcludingTax," ",o.subtotalWithoutTaxes]})}):void 0]},o.subtotalLabel),F=b&&b.length>0&&r(hr,{children:b.map(c=>g(f,{label:c.label,price:c.price,classSuffixes:["discount"],children:[c.coupon&&r(v,{node:c.coupon,className:"cart-order-summary__coupon__code"}),c.caption&&r(v,{node:c.caption,className:"cart-order-summary__caption"})]},c.label))}),i=A&&A.length>0?r(mr,{"data-testid":"tax-breakdown",className:"cart-order-summary__taxes",iconOpen:pr,iconClose:xr,children:g(dr,{title:o.taxesBreakdownTitle,secondaryText:!I&&T?r(v,{node:T.price,className:"cart-order-summary__price"}):void 0,renderContentWhenClosed:!1,onStateChange:k,children:[r("div",{className:"cart-order-summary__appliedTaxes",children:A.map(c=>r(f,{label:c.label,price:c.price,classSuffixes:["taxEntry"],labelClassSuffix:"muted"},c.label))}),T&&r(f,{label:o.taxTotal,price:T.price,classSuffixes:["taxTotal"],labelClassSuffix:"muted"})]})}):T&&r(f,{label:T.estimated?o.taxEstimated:o.taxTotalOnly,price:T.price,classSuffixes:["taxTotal"],testId:"tax-total-only"}),B=n!=null&&n.renderContent?g(f,{label:o.printedCardTitle,price:n.taxInclAndExcl||n.taxIncluded?n.priceInclTax:n.priceExclTax,classSuffixes:["printedCardContent"],children:[n.taxIncluded&&r("div",{"data-testid":"printed-card-incl",className:"cart-order-summary__caption",children:r("span",{children:o.printedCardInclTax})}),n.taxInclAndExcl?r("div",{"data-testid":"printed-card-incl-excl",className:"cart-order-summary__caption",children:g("span",{children:[n.priceExclTax," ",o.printedCardExclTax]})}):void 0]},o.printedCardTitle):null,U=m!=null&&m.renderContent?g(f,{label:o.itemGiftWrappingTitle,price:m.taxInclAndExcl||m.taxIncluded?m.priceInclTax:m.priceExclTax,classSuffixes:["itemsGiftWrappingContent"],children:[m.taxIncluded?r("div",{"data-testid":"item-gift-wrapping-incl",className:"cart-order-summary__caption",children:r("span",{children:o.itemGiftWrappingInclTax})}):null,m.taxInclAndExcl?r("div",{"data-testid":"item-gift-wrapping-incl-excl",className:"cart-order-summary__caption",children:g("span",{children:[m.priceExclTax," ",o.itemGiftWrappingExclTax]})}):null]},o.itemGiftWrappingTitle):null,d=y!=null&&y.renderContent?g(f,{label:o.orderGiftWrappingTitle,price:y.taxInclAndExcl||y.taxIncluded?y.priceInclTax:y.priceExclTax,classSuffixes:["orderGiftWrappingContent"],children:[y.taxIncluded&&r("div",{"data-testid":"order-gift-wrapping-incl",className:"cart-order-summary__caption",children:r("span",{children:o.orderGiftWrappingInclTax})}),y.taxInclAndExcl?r("div",{"data-testid":"order-gift-wrapping-incl-excl",className:"cart-order-summary__caption",children:g("span",{children:[y.priceExclTax," ",o.orderGiftWrappingExclTax]})}):void 0]},o.orderGiftWrappingTitle):null,S=[{key:"subTotalContent",sortOrder:100,content:E},...h?[{key:"shippingContent",sortOrder:200,content:r(v,{node:h,className:"cart-order-summary__shipping"})}]:[],{key:"printedCard",sortOrder:300,content:B},{key:"itemsGiftWrappingContent",sortOrder:400,content:U},{key:"orderGiftWrappingContent",sortOrder:500,content:d},{key:"discountsContent",sortOrder:600,content:F},{key:"appliedGiftCardsContent",sortOrder:700,content:X},{key:"taxContent",sortOrder:800,content:i},...e?[{key:"taxContent",sortOrder:900,content:r(f,{label:e.estimated?o.totalEstimated:o.totalLabel,price:e.price,classSuffixes:["total","total--padded"],testId:"total-content",labelClassSuffix:"bold"})}]:[],...e!=null&&e.priceWithoutTax?[{key:"totalWithoutTaxContent",sortOrder:1e3,content:r(f,{label:o.totalWithoutTax,price:e.priceWithoutTax,classSuffixes:["totalWithoutTax"],testId:"total-without-tax",labelClassSuffix:"muted"})}]:[],...N?[{key:"totalSavedContent",sortOrder:1100,content:r(f,{label:o.totalSaved,price:N,classSuffixes:["saved"],testId:"total-saved",labelClassSuffix:"muted"})}]:[],...O?[{key:"primaryActionContent",sortOrder:1200,content:r("div",{className:R(["cart-order-summary__entry","cart-order-summary__primaryAction"]),children:O})}]:[],...p?[{key:"couponsContent",sortOrder:1300,content:r(v,{node:p,className:"cart-order-summary__coupons"})}]:[],...w?[{key:"giftCardsContent",sortOrder:1400,content:r(v,{node:w,className:"cart-order-summary__gift-cards"})}]:[]],Z=x(S).sort((c,L)=>c.sortOrder-L.sortOrder);return g("div",{...W,className:R(["cart-order-summary",["cart-order-summary--loading",P],[`cart-order-summary__${_}`,_],z]),children:[P&&r(br,{className:"cart-order-summary__spinner"}),g("div",{className:"cart-order-summary__heading",children:[t&&r(v,{node:t,className:"cart-order-summary__heading-text"}),r(_r,{variant:"primary",className:"cart-order-summary__divider-primary"})]}),r("div",{className:"cart-order-summary__content",children:Z.map(c=>Array.isArray(c.content)?r(mr,{className:c.className,actionIconPosition:"right",iconOpen:pr,iconClose:xr,children:r(dr,{defaultOpen:!1,title:c.title,renderContentWhenClosed:!1,children:c.content.map(L=>L.content)})},c.key):c.content)})]})},Dr=()=>{const[z,D]=V(!1),[_,t]=V();return{handleEstimateTotals:(C,h)=>{D(!0);const{shippingCountry:b,shippingState:T="",shippingStateId:A,shippingZip:e=""}=C,O={countryCode:b,postcode:e,region:{region:T,id:A},shipping_method:{carrier_code:(h==null?void 0:h.carrier_code)||"",method_code:(h==null?void 0:h.method_code)||""}};Sr(O).then(p=>{var w,N,a,n,m,y,x,W,I,k,o,X,E,F,i,B,U,d,S,Z;p&&t({estimatedTaxTotal:{amount:(w=p.totalTax)==null?void 0:w.value,currency:(N=p.totalTax)==null?void 0:N.currency},estimatedSubTotal:{excludingTax:{amount:(n=(a=p.subtotal)==null?void 0:a.excludingTax)==null?void 0:n.value,currency:(y=(m=p.subtotal)==null?void 0:m.excludingTax)==null?void 0:y.currency},includingTax:{amount:(W=(x=p.subtotal)==null?void 0:x.includingTax)==null?void 0:W.value,currency:(k=(I=p.subtotal)==null?void 0:I.includingTax)==null?void 0:k.currency},includingDiscountOnly:{amount:(X=(o=p.subtotal)==null?void 0:o.includingDiscountOnly)==null?void 0:X.value,currency:(F=(E=p.subtotal)==null?void 0:E.includingDiscountOnly)==null?void 0:F.currency}},estimatedGrandTotalPrice:{includingTax:{amount:(i=p.total)==null?void 0:i.includingTax.value,currency:(B=p.total)==null?void 0:B.includingTax.currency},excludingTax:{amount:(U=p.total)==null?void 0:U.excludingTax.value,currency:(d=p.total)==null?void 0:d.excludingTax.currency}},estimatedAppliedTaxes:{taxes:(S=p.appliedTaxes)==null?void 0:S.map(c=>{var L,H;return{label:c.label,amount:{value:(L=c.amount)==null?void 0:L.value,currency:(H=c.amount)==null?void 0:H.currency}}})},estimatedItems:{items:(Z=p.items)==null?void 0:Z.map(c=>{var L,H,$,j,q,J,K,Y,G,ee;return{uid:c.uid,price:{amount:(L=c.price)==null?void 0:L.value,currency:(H=c.price)==null?void 0:H.currency},taxedPrice:{amount:($=c.taxedPrice)==null?void 0:$.value,currency:(j=c.taxedPrice)==null?void 0:j.currency},rowTotal:{amount:(q=c.rowTotal)==null?void 0:q.value,currency:(J=c.rowTotal)==null?void 0:J.currency},rowTotalIncludingTax:{amount:(K=c.rowTotalIncludingTax)==null?void 0:K.value,currency:(Y=c.rowTotalIncludingTax)==null?void 0:Y.currency},regularPrice:{amount:(G=c.regularPrice)==null?void 0:G.value,currency:(ee=c.regularPrice)==null?void 0:ee.currency}}})}})}).finally(()=>{D(!1)})},estimatedTotals:_,setEstimatedTotals:t,loading:z}},Ar=({children:z,initialData:D=null,hideFooter:_=!0,slots:t,routeProduct:P,routeCart:C,routeCheckout:h,routeEmptyCartCTA:b,showDiscount:T,showSavings:A,enableItemRemoval:e=!0,enableQuantityUpdate:O=!1,hideHeading:p=!1,undo:w=!1,...N})=>{var i,B,U;const[a,n]=V(D),m=(i=Q.config)==null?void 0:i.shoppingCartDisplaySetting;ne(()=>{const d=ie.on("cart/data",S=>{n(S)},{eager:!0});return()=>{d==null||d.off()}},[]);const y=ce({cartLink:"Cart.MiniCart.cartLink",checkoutLink:"Cart.MiniCart.checkoutLink"}),x=(d,S)=>vr([{uid:d,quantity:S}]),W=d=>x(d,0),I=a==null?void 0:a.hasOutOfStockItems,k=yr(()=>{a&&!I&&Cr(a,Q.locale)},[a,I]),o=r(M,{name:"ProductList",slot:t==null?void 0:t.ProductList,context:{itemQuantityUpdateHandler:x,itemRemoveHandler:W,totalQuantity:a==null?void 0:a.totalQuantity},children:r(Pr,{"data-testid":"default-cart-summary-list",routeProduct:P,routeEmptyCartCTA:b,initialData:a,maxItems:(B=Q.config)==null?void 0:B.miniCartMaxItemsDisplay,showMaxItems:!!((U=Q.config)!=null&&U.miniCartMaxItemsDisplay),hideHeading:p||!(a!=null&&a.totalQuantity),hideFooter:_,enableRemoveItem:e,enableUpdateItemQuantity:O,showDiscount:T,showSavings:A,undo:w,slots:{Thumbnail:t==null?void 0:t.Thumbnail,Heading:t==null?void 0:t.Heading,EmptyCart:t==null?void 0:t.EmptyCart,Footer:t==null?void 0:t.Footer,ProductAttributes:t==null?void 0:t.ProductAttributes,CartSummaryFooter:t==null?void 0:t.CartSummaryFooter,CartItem:t==null?void 0:t.CartItem,UndoBanner:t==null?void 0:t.UndoBanner,ItemTitle:t==null?void 0:t.ItemTitle,ItemPrice:t==null?void 0:t.ItemPrice,ItemQuantity:t==null?void 0:t.ItemQuantity,ItemTotal:t==null?void 0:t.ItemTotal,ItemSku:t==null?void 0:t.ItemSku,ItemRemoveAction:t==null?void 0:t.ItemRemoveAction}})}),X=d=>r(M,{name:"ProductListFooter",slot:t==null?void 0:t.ProductListFooter,context:{data:d}}),E=d=>r(M,{name:"PreCheckoutSection",slot:t==null?void 0:t.PreCheckoutSection,context:{data:d}}),F=()=>(m==null?void 0:m.subtotal)==="INCLUDING_TAX"||(m==null?void 0:m.subtotal)==="INCLUDING_EXCLUDING_TAX"?{amount:a==null?void 0:a.subtotal.includingTax.value,currency:a==null?void 0:a.subtotal.includingTax.currency,"data-testid":"subtotal-including-tax",style:{font:"inherit"}}:{amount:a==null?void 0:a.subtotal.excludingTax.value,currency:a==null?void 0:a.subtotal.excludingTax.currency,"data-testid":"subtotal-excluding-tax",style:{font:"inherit"}};return r(Er,{...N,productListFooter:X(a),subtotal:a!=null&&a.totalQuantity?(a==null?void 0:a.subtotal)&&r(s,{...F()}):void 0,subtotalExcludingTaxes:a!=null&&a.totalQuantity?(a==null?void 0:a.subtotal)&&((m==null?void 0:m.subtotal)==="INCLUDING_EXCLUDING_TAX"?r(s,{amount:a==null?void 0:a.subtotal.excludingTax.value,currency:a==null?void 0:a.subtotal.excludingTax.currency,"data-testid":"subtotal-including-excluding-tax",style:{font:"inherit"}}):void 0):void 0,preCheckoutSection:E(a),ctas:a!=null&&a.totalQuantity?g("div",{children:[h&&r(oe,{"data-testid":"route-checkout-button",variant:"primary",href:I?void 0:h(),disabled:I,"aria-disabled":I,onClick:k,children:y.checkoutLink}),C&&r(oe,{"data-testid":"route-cart-button",variant:"tertiary",href:C(),children:y.cartLink})]}):void 0,products:o})};Ar.getInitialData=async function(){return Tr()};const wr=({children:z,initialData:D=null,routeCheckout:_,slots:t,errors:P,showTotalSaved:C,enableCoupons:h,enableGiftCards:b,updateLineItems:T=e=>e,...A})=>{var $,j,q,J,K,Y,G,ee,me,de,se,xe,pe,ge,he,ye,Te,Ce,Ie,Se,be,_e,fe,ve,Pe,Ne,ke,Ee,Le,De,Ae,we,We,Fe,Be,Ue,Oe,Xe,Qe,ze,He,Ve,Ze,Re,Me,$e,je,qe,Je,Ke,Ye,Ge,er,rr,tr,ar,nr,ir,cr;const[e,O]=V(D),[p,w]=V(!1),N=e==null?void 0:e.isVirtual;h=h??!0,b=b??!0;const{handleEstimateTotals:a,estimatedTotals:n,setEstimatedTotals:m,loading:y}=Dr(),x=($=Q.config)==null?void 0:$.shoppingCartDisplaySetting,W=(x==null?void 0:x.subtotal)==="INCLUDING_TAX",I=(x==null?void 0:x.subtotal)==="INCLUDING_EXCLUDING_TAX",k=x==null?void 0:x.zeroTax,o=()=>(e==null?void 0:e.appliedGiftCards.reduce((u,l)=>u+l.appliedBalance.value,0))??0,X=u=>u!=null&&u.code?g(Ir,{children:[g("span",{className:"cart-order-summary__coupon__code",children:[r(sr,{source:kr,size:"16"}),r("span",{children:u==null?void 0:u.code})]}),g("span",{className:"cart-order-summary__caption",children:[r(gr,{id:"Cart.PriceSummary.giftCard.appliedGiftCards.remainingBalance"}),r(s,{className:"cart-order-summary__caption",weight:"normal",size:"small",amount:u.giftCardBalance.value,currency:u.giftCardBalance.currency})]})]},u.code):null,E=(j=Q.config)==null?void 0:j.cartGiftWrapping,F=(q=Q.config)==null?void 0:q.cartPrintedCard,i=e==null?void 0:e.totalGiftOptions;ne(()=>{const u=ie.on("cart/data",l=>{var re,te,ae;O(l);const ue=(re=l==null?void 0:l.addresses)==null?void 0:re.shipping,le=l==null?void 0:l.isVirtual;(ue||le)&&m(null),n==null&&m({estimatedTaxTotal:{amount:(te=l==null?void 0:l.totalTax)==null?void 0:te.value,currency:(ae=l==null?void 0:l.totalTax)==null?void 0:ae.currency}})},{eager:!0});return()=>{u==null||u.off()}},[]),ne(()=>{w(P)},[P]),ne(()=>{const u=ie.on("shipping/estimate",l=>{var re,te,ae,ur,lr,or;const ue={shippingCountry:(re=l==null?void 0:l.address)==null?void 0:re.countryCode,shippingState:(te=l==null?void 0:l.address)==null?void 0:te.region,shippingStateId:(ae=l==null?void 0:l.address)==null?void 0:ae.regionId,shippingZip:(ur=l==null?void 0:l.address)==null?void 0:ur.postCode},le={carrier_code:((lr=l==null?void 0:l.shippingMethod)==null?void 0:lr.carrierCode)||"",method_code:((or=l==null?void 0:l.shippingMethod)==null?void 0:or.methodCode)||""};a(ue,le)});return()=>{u==null||u.off()}},[a]);const[B,U]=V(!1);ne(()=>{const u=ie.on("checkout/initialized",()=>{U(!0)});return()=>{u==null||u.off()}},[]);const d=ce({checkout:"Cart.PriceSummary.checkout",free:"Cart.PriceSummary.total.free",orderSummary:"Cart.PriceSummary.orderSummary",taxToBeDetermined:"Cart.PriceSummary.taxToBeDetermined"}),S=(e==null?void 0:e.hasOutOfStockItems)||p,Z=yr(()=>{!S&&e&&Cr(e,Q.locale)},[S,e]),c=N?void 0:t!=null&&t.EstimateShipping?r(M,{name:"EstimateShipping",slot:t.EstimateShipping},"estimateShippingId"):r(fr,{});if(!Object.keys(e??{}).length||(e==null?void 0:e.totalQuantity)===0)return null;const L=h&&(t!=null&&t.Coupons)?r(M,{name:"Coupons",slot:t.Coupons},"couponsId"):void 0,H=b&&(t!=null&&t.GiftCards)?r(M,{name:"GiftCards",slot:t.GiftCards},"giftCardId"):void 0;return r(Lr,{...A,"data-testid":"cart-order-summary",heading:r("div",{children:d.orderSummary}),shipping:c,coupons:L,giftCards:H,loading:y,updateLineItems:T,appliedGiftCards:(J=e==null?void 0:e.appliedGiftCards)!=null&&J.length?{label:r(gr,{id:"Cart.PriceSummary.giftCard.appliedGiftCards.label",plural:(K=e==null?void 0:e.appliedGiftCards)==null?void 0:K.length,fields:{count:(Y=e==null?void 0:e.appliedGiftCards)==null?void 0:Y.length}}),price:r(s,{className:"cart-order-summary__price",amount:-o(),currency:(ee=(G=e==null?void 0:e.appliedGiftCards)==null?void 0:G[0])==null?void 0:ee.appliedBalance.currency}),content:(me=e==null?void 0:e.appliedGiftCards)==null?void 0:me.map(X).filter(Boolean)}:void 0,printedCard:{renderContent:!!((de=i==null?void 0:i.printedCard)!=null&&de.value),taxIncluded:F==="INCLUDING_TAX",taxInclAndExcl:F==="INCLUDING_EXCLUDING_TAX",priceExclTax:r(s,{"data-testid":"printed-card",amount:(se=i==null?void 0:i.printedCard)==null?void 0:se.value,currency:(xe=i==null?void 0:i.printedCard)==null?void 0:xe.currency}),priceInclTax:r(s,{amount:(pe=i==null?void 0:i.printedCardInclTax)==null?void 0:pe.value,currency:(ge=i==null?void 0:i.printedCardInclTax)==null?void 0:ge.currency})},itemsGiftWrapping:{renderContent:!!((he=i==null?void 0:i.giftWrappingForItems)!=null&&he.value),taxIncluded:E==="INCLUDING_TAX",taxInclAndExcl:E==="INCLUDING_EXCLUDING_TAX",priceExclTax:r(s,{amount:(ye=i==null?void 0:i.giftWrappingForItems)==null?void 0:ye.value,currency:(Te=i==null?void 0:i.giftWrappingForItems)==null?void 0:Te.currency}),priceInclTax:r(s,{amount:(Ce=i==null?void 0:i.giftWrappingForItemsInclTax)==null?void 0:Ce.value,currency:(Ie=i==null?void 0:i.giftWrappingForItemsInclTax)==null?void 0:Ie.currency})},orderGiftWrapping:{renderContent:!!((Se=i==null?void 0:i.giftWrappingForOrder)!=null&&Se.value),taxIncluded:E==="INCLUDING_TAX",taxInclAndExcl:E==="INCLUDING_EXCLUDING_TAX",priceExclTax:r(s,{amount:(be=i==null?void 0:i.giftWrappingForOrder)==null?void 0:be.value,currency:(_e=i==null?void 0:i.giftWrappingForOrder)==null?void 0:_e.currency}),priceInclTax:r(s,{amount:(fe=i==null?void 0:i.giftWrappingForOrderInclTax)==null?void 0:fe.value,currency:(ve=i==null?void 0:i.giftWrappingForOrderInclTax)==null?void 0:ve.currency})},subTotal:{taxIncluded:W&&!k,taxExcluded:I,zeroTaxSubtotal:k,priceExcludingTax:(Pe=n==null?void 0:n.estimatedSubTotal)!=null&&Pe.excludingTax?r(s,{"data-testid":"subtotal",...(Ne=n==null?void 0:n.estimatedSubTotal)==null?void 0:Ne.excludingTax}):r(s,{"data-testid":"subtotal",amount:(Ee=(ke=e==null?void 0:e.subtotal)==null?void 0:ke.excludingTax)==null?void 0:Ee.value,currency:(De=(Le=e==null?void 0:e.subtotal)==null?void 0:Le.excludingTax)==null?void 0:De.currency}),price:!k&&W||!k&&I?(Ae=n==null?void 0:n.estimatedSubTotal)!=null&&Ae.includingTax?r(s,{"data-testid":"subtotal",...(we=n==null?void 0:n.estimatedSubTotal)==null?void 0:we.includingTax}):r(s,{"data-testid":"subtotal",amount:(We=e==null?void 0:e.subtotal.includingTax)==null?void 0:We.value,currency:(Fe=e==null?void 0:e.subtotal.includingTax)==null?void 0:Fe.currency}):r(s,{"data-testid":"subtotal",amount:(Ue=(Be=e==null?void 0:e.subtotal)==null?void 0:Be.excludingTax)==null?void 0:Ue.value,currency:(Xe=(Oe=e==null?void 0:e.subtotal)==null?void 0:Oe.excludingTax)==null?void 0:Xe.currency})},discounts:(Qe=e==null?void 0:e.appliedDiscounts)==null?void 0:Qe.map(u=>{var l;return{label:u.label,price:r(s,{"data-testid":"summary-discount-total",amount:-u.amount.value,currency:u.amount.currency,sale:!0}),coupon:u!=null&&u.coupon?g("span",{children:[r(sr,{source:Nr,size:"16"}),(l=u==null?void 0:u.coupon)==null?void 0:l.code]}):void 0}}),taxTotal:N&&!(e!=null&&e.appliedTaxes.length)&&!B||n&&n.estimatedTaxTotal==null?{price:r("span",{"data-testid":"tax-total-tbd",children:d.taxToBeDetermined})}:{price:n!=null&&n.estimatedTaxTotal?r(s,{"data-testid":"tax-total-estimated",...n==null?void 0:n.estimatedTaxTotal}):r(s,{"data-testid":"tax-total-actual",amount:(ze=e==null?void 0:e.totalTax)==null?void 0:ze.value,currency:(He=e==null?void 0:e.totalTax)==null?void 0:He.currency}),estimated:(!n||!n.estimatedTaxTotal)&&!((Ve=e==null?void 0:e.addresses)!=null&&Ve.shipping)},taxesApplied:N?void 0:x!=null&&x.fullSummary?(Re=((Ze=n==null?void 0:n.estimatedAppliedTaxes)==null?void 0:Ze.taxes)||(e==null?void 0:e.appliedTaxes))==null?void 0:Re.map(u=>({label:u.label,price:r(s,{"data-testid":"applied-taxes",amount:u.amount.value,currency:u.amount.currency})})):void 0,total:{price:n!=null&&n.estimatedGrandTotalPrice?(($e=(Me=n==null?void 0:n.estimatedGrandTotalPrice)==null?void 0:Me.includingTax)==null?void 0:$e.amount)===0?r("span",{"data-testid":"total-including-tax",children:d.free}):r(s,{"data-testid":"total-including-tax-estimated",...(je=n==null?void 0:n.estimatedGrandTotalPrice)==null?void 0:je.includingTax}):((qe=e==null?void 0:e.total)==null?void 0:qe.includingTax.value)===0?r("span",{"data-testid":"total-including-tax",children:d.free}):r(s,{"data-testid":"total-including-tax-actual",amount:(Je=e==null?void 0:e.total)==null?void 0:Je.includingTax.value,currency:(Ke=e==null?void 0:e.total)==null?void 0:Ke.includingTax.currency}),estimated:(!n||!!(n!=null&&n.estimatedTaxTotal))&&!((Ye=e==null?void 0:e.addresses)!=null&&Ye.shipping),priceWithoutTax:x!=null&&x.grandTotal?n!=null&&n.estimatedAppliedTaxes?((er=(Ge=n==null?void 0:n.estimatedGrandTotalPrice)==null?void 0:Ge.excludingTax)==null?void 0:er.amount)===0?r("span",{"data-testid":"total-excluding-tax",children:d.free}):r(s,{"data-testid":"total-excluding-tax",...(rr=n==null?void 0:n.estimatedGrandTotalPrice)==null?void 0:rr.excludingTax}):((tr=e==null?void 0:e.total)==null?void 0:tr.excludingTax.value)===0?r("span",{"data-testid":"total-excluding-tax",children:d.free}):r(s,{"data-testid":"total-excluding-tax",amount:(ar=e==null?void 0:e.total)==null?void 0:ar.excludingTax.value,currency:(nr=e==null?void 0:e.total)==null?void 0:nr.excludingTax.currency}):void 0},primaryAction:_&&r(oe,{"data-testid":"checkout-button",variant:"primary",disabled:S,"aria-disabled":S,href:S?void 0:_({cartId:e.id}),onClick:Z,children:d.checkout}),totalSaved:C?r(s,{amount:(ir=e==null?void 0:e.discount)==null?void 0:ir.value,currency:(cr=e==null?void 0:e.total)==null?void 0:cr.includingTax.currency}):void 0})};wr.getInitialData=async function(){return Tr()};export{Ar as M,wr as O};
|
|
4
4
|
//# sourceMappingURL=OrderSummary.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderSummary.js","sources":["/@dropins/storefront-cart/src/components/MiniCart/MiniCart.tsx","/@dropins/storefront-cart/src/components/OrderSummary/OrderSummary.tsx","/@dropins/storefront-cart/src/hooks/useEstimatedTotals.tsx","/@dropins/storefront-cart/src/containers/MiniCart/MiniCart.tsx","/@dropins/storefront-cart/src/containers/OrderSummary/OrderSummary.tsx"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { FunctionComponent, VNode } from 'preact';\nimport { HTMLAttributes } from 'preact/compat';\nimport { VComponent, classes } from '@adobe-commerce/elsie/lib';\nimport { useText } from '@adobe-commerce/elsie/i18n';\n\nimport '@/cart/components/MiniCart/MiniCart.css';\n\nexport interface MiniCartProps extends HTMLAttributes<HTMLDivElement> {\n products?: VNode;\n productListFooter?: VNode;\n subtotal?: VNode;\n subtotalExcludingTaxes?: VNode;\n preCheckoutSection?: VNode;\n ctas?: VNode;\n}\n\nexport const MiniCart: FunctionComponent<MiniCartProps> = ({\n className,\n products,\n productListFooter,\n subtotal,\n subtotalExcludingTaxes,\n preCheckoutSection,\n ctas,\n ...props\n}) => {\n const dictionary = useText({\n subtotal: 'Cart.MiniCart.subtotal',\n subtotalExcludingTaxes: 'Cart.MiniCart.subtotalExcludingTaxes',\n });\n\n return (\n <div {...props} className={classes(['cart-mini-cart', className])}>\n {/* Content */}\n {products && (\n <>\n <div\n className=\"cart-mini-cart__products\"\n data-testid=\"mini-cart-products-wrapper\"\n >\n {products}\n </div>\n\n {/* Product List Footer */}\n {productListFooter && (\n <div\n className={classes(['cart-mini-cart__productListFooter'])}\n data-testid=\"mini-cart-product-list-footer\"\n >\n <VComponent node={productListFooter} />\n </div>\n )}\n\n <div\n className=\"cart-mini-cart__footer\"\n data-testid=\"mini-cart-subtotals\"\n >\n {/* Subtotal */}\n {subtotal && (\n <div\n className=\"cart-mini-cart__footer__estimated-total\"\n data-testid=\"mini-cart-subtotal\"\n >\n {dictionary.subtotal}\n <VComponent node={subtotal} />\n </div>\n )}\n {/* Subtotal Excluding Taxes */}\n {subtotalExcludingTaxes && (\n <div\n className=\"cart-mini-cart__footer__estimated-total-excluding-taxes\"\n data-testid=\"mini-cart-subtotal-excluding-taxes\"\n >\n {dictionary.subtotalExcludingTaxes}\n <VComponent\n node={subtotalExcludingTaxes}\n className={classes([\n 'dropin-price-summary__price',\n 'dropin-price-summary__price--muted',\n ])}\n />\n </div>\n )}\n\n {/* Pre-checkout section */}\n {preCheckoutSection && (\n <div\n className={classes(['cart-mini-cart__preCheckoutSection'])}\n data-testid=\"mini-cart-pre-checkout-section\"\n >\n <VComponent node={preCheckoutSection} />\n </div>\n )}\n\n {ctas && (\n <VComponent\n node={ctas}\n className=\"cart-mini-cart__footer__ctas\"\n />\n )}\n </div>\n </>\n )}\n </div>\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { FunctionComponent, VNode } from 'preact';\nimport { HTMLAttributes, useState } from 'preact/compat';\nimport { classes, VComponent } from '@adobe-commerce/elsie/lib';\nimport '@/cart/components/OrderSummary/OrderSummary.css';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { ChevronDown, ChevronUp } from '@adobe-commerce/elsie/icons';\nimport {\n Accordion,\n AccordionSection,\n Divider,\n ProgressSpinner,\n} from '@adobe-commerce/elsie/components';\nimport { JSXInternal } from 'preact/src/jsx';\nimport { OrderSummaryLine } from '@/cart/containers/OrderSummaryLine/OrderSummaryLine';\n\nexport interface OrderSummaryLineItem {\n key: string;\n title?: string;\n className?: string;\n sortOrder: number;\n content:\n | string\n | JSXInternal.Element\n | VNode<HTMLAttributes<HTMLDivElement>>\n | OrderSummaryLineItem[]\n | undefined;\n}\n\nexport interface OrderSummaryProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'loading'> {\n variant?: 'primary' | 'secondary';\n heading?: VNode<HTMLAttributes<HTMLDivElement>>;\n loading?: boolean;\n subTotal?: {\n price: VNode<HTMLAttributes<HTMLSpanElement>>;\n priceExcludingTax?: VNode<HTMLAttributes<HTMLSpanElement>>;\n taxIncluded?: boolean;\n taxExcluded?: boolean;\n zeroTaxSubtotal?: boolean;\n };\n shipping?: VNode<HTMLAttributes<HTMLDivElement>>;\n discounts?: {\n label: string;\n price: VNode<HTMLAttributes<HTMLSpanElement>>;\n caption?: VNode<HTMLAttributes<HTMLDivElement>>;\n coupon?: VNode<HTMLAttributes<HTMLSpanElement>>;\n }[];\n taxTotal?: {\n price: VNode<HTMLAttributes<HTMLSpanElement>>;\n estimated?: boolean;\n };\n taxesApplied?: {\n label: string;\n price: VNode<HTMLAttributes<HTMLSpanElement>>;\n }[];\n total?: {\n price: VNode<HTMLAttributes<HTMLSpanElement>>;\n estimated?: boolean;\n priceWithoutTax?: VNode<HTMLAttributes<HTMLSpanElement>>;\n };\n printedCard?: {\n renderContent: boolean;\n taxIncluded: boolean;\n taxInclAndExcl: boolean;\n priceExclTax: VNode<HTMLAttributes<HTMLSpanElement>>;\n priceInclTax: VNode<HTMLAttributes<HTMLSpanElement>>;\n };\n itemsGiftWrapping?: {\n renderContent: boolean;\n taxIncluded: boolean;\n taxInclAndExcl: boolean;\n priceExclTax: VNode<HTMLAttributes<HTMLSpanElement>>;\n priceInclTax: VNode<HTMLAttributes<HTMLSpanElement>>;\n };\n orderGiftWrapping?: {\n renderContent: boolean;\n taxIncluded: boolean;\n taxInclAndExcl: boolean;\n priceExclTax: VNode<HTMLAttributes<HTMLSpanElement>>;\n priceInclTax: VNode<HTMLAttributes<HTMLSpanElement>>;\n };\n primaryAction?: VNode<HTMLAttributes<HTMLButtonElement>>;\n coupons?: VNode<HTMLAttributes<HTMLDivElement>>;\n giftCards?: VNode<HTMLAttributes<HTMLDivElement>>;\n totalSaved?: VNode<HTMLAttributes<HTMLSpanElement>>;\n appliedGiftCards?: {\n label: VNode<HTMLAttributes<HTMLSpanElement>> | string;\n price: VNode<HTMLAttributes<HTMLSpanElement>>;\n content?: VNode[];\n };\n updateLineItems?: (\n lineItems: Array<OrderSummaryLineItem>\n ) => Array<OrderSummaryLineItem>;\n}\n\nexport const OrderSummary: FunctionComponent<OrderSummaryProps> = ({\n className,\n children,\n variant = 'primary',\n heading,\n loading = true,\n subTotal,\n shipping,\n discounts,\n taxTotal,\n taxesApplied,\n total,\n primaryAction,\n coupons,\n giftCards,\n totalSaved,\n appliedGiftCards,\n printedCard,\n itemsGiftWrapping,\n orderGiftWrapping,\n updateLineItems = (lineItems) => lineItems,\n ...props\n}) => {\n const [showTaxBreakdown, setShowTaxBreakdown] = useState(false);\n\n const translations = useText({\n checkout: 'Cart.PriceSummary.checkout',\n discountedPrice: 'Cart.CartItem.discountedPrice',\n download: 'Cart.CartItem.download',\n heading: 'Cart.Cart.heading',\n message: 'Cart.CartItem.message',\n regularPrice: 'Cart.CartItem.regularPrice',\n recipient: 'Cart.CartItem.recipient',\n sender: 'Cart.CartItem.sender',\n file: 'Cart.CartItem.file',\n files: 'Cart.CartItem.files',\n\n orderSummary: 'Cart.PriceSummary.orderSummary',\n // Taxes\n taxesBreakdownTitle: 'Cart.PriceSummary.taxes.breakdown',\n taxTotal: 'Cart.PriceSummary.taxes.total',\n taxEstimated: 'Cart.PriceSummary.taxes.estimated',\n taxTotalOnly: 'Cart.PriceSummary.taxes.totalOnly',\n showTaxBreakdown: 'Cart.PriceSummary.taxes.showBreakdown',\n hideTaxBreakdown: 'Cart.PriceSummary.taxes.hideBreakdown',\n taxToBeDetermined: 'Cart.PriceSummary.taxToBeDetermined',\n\n // Subtotal\n subtotalLabel: 'Cart.PriceSummary.subTotal.label',\n subtotalWithTaxes: 'Cart.PriceSummary.subTotal.withTaxes',\n subtotalWithoutTaxes: 'Cart.PriceSummary.subTotal.withoutTaxes',\n\n // Total\n totalEstimated: 'Cart.PriceSummary.total.estimated',\n totalLabel: 'Cart.PriceSummary.total.label',\n totalWithoutTax: 'Cart.PriceSummary.total.withoutTax',\n totalSaved: 'Cart.PriceSummary.total.saved',\n\n // Shipping\n shippingLabel: 'Cart.PriceSummary.shipping.label',\n zipPlaceholder: 'Cart.PriceSummary.shipping.zipPlaceholder',\n editZipAction: 'Cart.PriceSummary.shipping.editZipAction',\n shippingWithTaxes: 'Cart.PriceSummary.shipping.withTaxes',\n shippingWithoutTaxes: 'Cart.PriceSummary.shipping.withoutTaxes',\n shippingEstimated: 'Cart.PriceSummary.shipping.estimated',\n shippingEstimatedByState: 'Cart.PriceSummary.shipping.alternateField.state',\n shippingEstimatedByZip: 'Cart.PriceSummary.shipping.alternateField.zip',\n destinationLinkAriaLabel:\n 'Cart.PriceSummary.shipping.destinationLinkAriaLabel',\n applyButton: 'Cart.PriceSummary.estimatedShippingForm.apply.label',\n countryField: 'Cart.PriceSummary.estimatedShippingForm.country.placeholder',\n freeShipping: 'Cart.PriceSummary.freeShipping',\n stateField: 'Cart.PriceSummary.estimatedShippingForm.state.placeholder',\n zipField: 'Cart.PriceSummary.estimatedShippingForm.zip.placeholder',\n\n // Printed Card\n printedCardTitle: 'Cart.PriceSummary.giftOptionsTax.printedCard.title',\n printedCardInclTax: 'Cart.PriceSummary.giftOptionsTax.printedCard.inclTax',\n printedCardExclTax: 'Cart.PriceSummary.giftOptionsTax.printedCard.exclTax',\n\n // Gift Wrapping Item\n itemGiftWrappingTitle:\n 'Cart.PriceSummary.giftOptionsTax.itemGiftWrapping.title',\n itemGiftWrappingInclTax:\n 'Cart.PriceSummary.giftOptionsTax.itemGiftWrapping.inclTax',\n itemGiftWrappingExclTax:\n 'Cart.PriceSummary.giftOptionsTax.itemGiftWrapping.exclTax',\n\n // Gift Wrapping Order\n orderGiftWrappingTitle:\n 'Cart.PriceSummary.giftOptionsTax.orderGiftWrapping.title',\n orderGiftWrappingInclTax:\n 'Cart.PriceSummary.giftOptionsTax.orderGiftWrapping.inclTax',\n orderGiftWrappingExclTax:\n 'Cart.PriceSummary.giftOptionsTax.orderGiftWrapping.exclTax',\n });\n\n const appliedGiftCardsContent = appliedGiftCards ? (\n <OrderSummaryLine\n key={appliedGiftCards?.label}\n label={appliedGiftCards?.label}\n price={appliedGiftCards?.price}\n classSuffixes={['applied-gift-cards']}\n >\n {appliedGiftCards?.content}\n </OrderSummaryLine>\n ) : null;\n\n const subTotalContent = subTotal && (\n <OrderSummaryLine\n key={translations.subtotalLabel}\n label={translations.subtotalLabel}\n price={subTotal.price}\n classSuffixes={['subTotal']}\n >\n {subTotal.taxIncluded && (\n <div\n data-testid=\"sub-total-tax-caption\"\n className=\"cart-order-summary__caption\"\n >\n <span>{translations.subtotalWithTaxes}</span>\n </div>\n )}\n\n {subTotal.taxExcluded ? (\n <div\n data-testid=\"sub-total-tax-caption-excluded\"\n className=\"cart-order-summary__caption\"\n >\n <span>\n {subTotal.priceExcludingTax}\n \n {translations.subtotalWithoutTaxes}\n </span>\n </div>\n ) : undefined}\n </OrderSummaryLine>\n );\n\n const discountsContent = discounts && discounts.length > 0 && (\n <>\n {discounts.map((discount) => (\n <OrderSummaryLine\n key={discount.label}\n label={discount.label}\n price={discount.price}\n classSuffixes={['discount']}\n >\n {discount.coupon && (\n <VComponent\n node={discount.coupon}\n className=\"cart-order-summary__coupon__code\"\n />\n )}\n\n {discount.caption && (\n <VComponent\n node={discount.caption}\n className=\"cart-order-summary__caption\"\n />\n )}\n </OrderSummaryLine>\n ))}\n </>\n );\n\n const taxContent =\n taxesApplied && taxesApplied.length > 0 ? (\n /* Show breakdown if provided */\n <Accordion\n data-testid=\"tax-breakdown\"\n className=\"cart-order-summary__taxes\"\n iconOpen={ChevronDown}\n iconClose={ChevronUp}\n >\n <AccordionSection\n title={translations.taxesBreakdownTitle}\n secondaryText={\n !showTaxBreakdown && taxTotal ? (\n <VComponent\n node={taxTotal.price}\n className=\"cart-order-summary__price\"\n />\n ) : undefined\n }\n renderContentWhenClosed={false}\n onStateChange={setShowTaxBreakdown}\n >\n <div className=\"cart-order-summary__appliedTaxes\">\n {taxesApplied.map((tax) => (\n <OrderSummaryLine\n key={tax.label}\n label={tax.label}\n price={tax.price}\n classSuffixes={['taxEntry']}\n labelClassSuffix=\"muted\"\n />\n ))}\n </div>\n\n {taxTotal && (\n <OrderSummaryLine\n label={translations.taxTotal}\n price={taxTotal.price}\n classSuffixes={['taxTotal']}\n labelClassSuffix=\"muted\"\n />\n )}\n </AccordionSection>\n </Accordion>\n ) : (\n taxTotal && (\n <OrderSummaryLine\n label={\n taxTotal.estimated\n ? translations.taxEstimated\n : translations.taxTotalOnly\n }\n price={taxTotal.price}\n classSuffixes={['taxTotal']}\n testId=\"tax-total-only\"\n />\n )\n );\n\n const printedCardContent = printedCard?.renderContent ? (\n <OrderSummaryLine\n key={translations.printedCardTitle}\n label={translations.printedCardTitle}\n price={\n printedCard.taxInclAndExcl || printedCard.taxIncluded\n ? printedCard.priceInclTax\n : printedCard.priceExclTax\n }\n classSuffixes={['printedCardContent']}\n >\n {printedCard.taxIncluded && (\n <div\n data-testid=\"printed-card-incl\"\n className=\"cart-order-summary__caption\"\n >\n <span>{translations.printedCardInclTax}</span>\n </div>\n )}\n\n {printedCard.taxInclAndExcl ? (\n <div\n data-testid=\"printed-card-incl-excl\"\n className=\"cart-order-summary__caption\"\n >\n <span>\n {printedCard.priceExclTax}\n \n {translations.printedCardExclTax}\n </span>\n </div>\n ) : undefined}\n </OrderSummaryLine>\n ) : null;\n\n const itemsGiftWrappingContent = itemsGiftWrapping?.renderContent ? (\n <OrderSummaryLine\n key={translations.itemGiftWrappingTitle}\n label={translations.itemGiftWrappingTitle}\n price={\n itemsGiftWrapping.taxInclAndExcl || itemsGiftWrapping.taxIncluded\n ? itemsGiftWrapping.priceInclTax\n : itemsGiftWrapping.priceExclTax\n }\n classSuffixes={['itemsGiftWrappingContent']}\n >\n {itemsGiftWrapping.taxIncluded ? (\n <div\n data-testid=\"item-gift-wrapping-incl\"\n className=\"cart-order-summary__caption\"\n >\n <span>{translations.itemGiftWrappingInclTax}</span>\n </div>\n ) : null}\n\n {itemsGiftWrapping.taxInclAndExcl ? (\n <div\n data-testid=\"item-gift-wrapping-incl-excl\"\n className=\"cart-order-summary__caption\"\n >\n <span>\n {itemsGiftWrapping.priceExclTax}\n \n {translations.itemGiftWrappingExclTax}\n </span>\n </div>\n ) : null}\n </OrderSummaryLine>\n ) : null;\n\n const orderGiftWrappingContent = orderGiftWrapping?.renderContent ? (\n <OrderSummaryLine\n key={translations.orderGiftWrappingTitle}\n label={translations.orderGiftWrappingTitle}\n price={\n orderGiftWrapping.taxInclAndExcl || orderGiftWrapping.taxIncluded\n ? orderGiftWrapping.priceInclTax\n : orderGiftWrapping.priceExclTax\n }\n classSuffixes={['orderGiftWrappingContent']}\n >\n {orderGiftWrapping.taxIncluded && (\n <div\n data-testid=\"order-gift-wrapping-incl\"\n className=\"cart-order-summary__caption\"\n >\n <span>{translations.orderGiftWrappingInclTax}</span>\n </div>\n )}\n\n {orderGiftWrapping.taxInclAndExcl ? (\n <div\n data-testid=\"order-gift-wrapping-incl-excl\"\n className=\"cart-order-summary__caption\"\n >\n <span>\n {orderGiftWrapping.priceExclTax}\n \n {translations.orderGiftWrappingExclTax}\n </span>\n </div>\n ) : undefined}\n </OrderSummaryLine>\n ) : null;\n\n const lineItems: Array<OrderSummaryLineItem> = [\n {\n key: 'subTotalContent',\n sortOrder: 100,\n content: subTotalContent,\n },\n ...(shipping\n ? [\n {\n key: 'shippingContent',\n sortOrder: 200,\n content: (\n <VComponent\n node={shipping}\n className=\"cart-order-summary__shipping\"\n />\n ),\n },\n ]\n : []),\n {\n key: 'printedCard',\n sortOrder: 300,\n content: printedCardContent,\n },\n {\n key: 'itemsGiftWrappingContent',\n sortOrder: 400,\n content: itemsGiftWrappingContent,\n },\n {\n key: 'orderGiftWrappingContent',\n sortOrder: 500,\n content: orderGiftWrappingContent,\n },\n {\n key: 'discountsContent',\n sortOrder: 600,\n content: discountsContent,\n },\n {\n key: 'appliedGiftCardsContent',\n sortOrder: 700,\n content: appliedGiftCardsContent,\n },\n {\n key: 'taxContent',\n sortOrder: 800,\n content: taxContent,\n },\n ...(total\n ? [\n {\n key: 'taxContent',\n sortOrder: 900,\n content: (\n <OrderSummaryLine\n label={\n total.estimated\n ? translations.totalEstimated\n : translations.totalLabel\n }\n price={total.price}\n classSuffixes={['total', 'total--padded']}\n testId=\"total-content\"\n labelClassSuffix=\"bold\"\n />\n ),\n },\n ]\n : []),\n ...(total?.priceWithoutTax\n ? [\n {\n key: 'totalWithoutTaxContent',\n sortOrder: 1000,\n content: (\n <OrderSummaryLine\n label={translations.totalWithoutTax}\n price={total.priceWithoutTax}\n classSuffixes={['totalWithoutTax']}\n testId=\"total-without-tax\"\n labelClassSuffix=\"muted\"\n />\n ),\n },\n ]\n : []),\n ...(totalSaved\n ? [\n {\n key: 'totalSavedContent',\n sortOrder: 1100,\n content: (\n <OrderSummaryLine\n label={translations.totalSaved}\n price={totalSaved}\n classSuffixes={['saved']}\n testId=\"total-saved\"\n labelClassSuffix=\"muted\"\n />\n ),\n },\n ]\n : []),\n ...(primaryAction\n ? [\n {\n key: 'primaryActionContent',\n sortOrder: 1200,\n content: (\n <div\n className={classes([\n 'cart-order-summary__entry',\n 'cart-order-summary__primaryAction',\n ])}\n >\n {primaryAction}\n </div>\n ),\n },\n ]\n : []),\n ...(coupons\n ? [\n {\n key: 'couponsContent',\n sortOrder: 1300,\n content: (\n <VComponent\n node={coupons}\n className=\"cart-order-summary__coupons\"\n />\n ),\n },\n ]\n : []),\n ...(giftCards\n ? [\n {\n key: 'giftCardsContent',\n sortOrder: 1400,\n content: (\n <VComponent\n node={giftCards}\n className=\"cart-order-summary__gift-cards\"\n />\n ),\n },\n ]\n : []),\n ];\n\n const updatedLineItems: Array<OrderSummaryLineItem> = updateLineItems(\n lineItems\n ).sort(\n (currentLine: OrderSummaryLineItem, nextLine: OrderSummaryLineItem) => {\n return currentLine.sortOrder - nextLine.sortOrder;\n }\n );\n\n return (\n <div\n {...props}\n className={classes([\n 'cart-order-summary',\n ['cart-order-summary--loading', loading],\n [`cart-order-summary__${variant}`, variant],\n className,\n ])}\n >\n {loading && <ProgressSpinner className=\"cart-order-summary__spinner\" />}\n\n <div className=\"cart-order-summary__heading\">\n {heading && (\n <VComponent\n node={heading}\n className=\"cart-order-summary__heading-text\"\n />\n )}\n\n <Divider\n variant=\"primary\"\n className=\"cart-order-summary__divider-primary\"\n />\n </div>\n\n <div className=\"cart-order-summary__content\">\n {updatedLineItems.map((line: OrderSummaryLineItem) => {\n if (Array.isArray(line.content)) {\n return (\n <Accordion\n key={line.key}\n className={line.className}\n actionIconPosition={'right'}\n iconOpen={ChevronDown}\n iconClose={ChevronUp}\n >\n <AccordionSection\n defaultOpen={false}\n title={line.title}\n renderContentWhenClosed={false}\n >\n {line.content.map((innerLine) => {\n return innerLine.content;\n })}\n </AccordionSection>\n </Accordion>\n );\n }\n return line.content;\n })}\n </div>\n </div>\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { useState } from 'preact/compat';\nimport { PriceProps } from '@adobe-commerce/elsie/components';\n\nimport { getEstimatedTotals } from '@/cart/api';\n\nexport const useEstimatedTotals = () => {\n const [loading, setLoading] = useState<boolean>(false);\n\n const [estimatedTotals, setEstimatedTotals] = useState<any>();\n\n const handleEstimateTotals = (\n formValues: {\n shippingCountry: string;\n shippingState?: string;\n shippingStateId?: number;\n shippingZip?: string;\n },\n shippingMethods?: {\n carrier_code: string;\n method_code: string;\n }\n ) => {\n setLoading(true);\n\n const {\n shippingCountry,\n shippingState = '',\n shippingStateId,\n shippingZip = '',\n } = formValues;\n\n const inputData = {\n countryCode: shippingCountry,\n postcode: shippingZip,\n region: {\n region: shippingState,\n id: shippingStateId,\n },\n shipping_method: {\n carrier_code: shippingMethods?.carrier_code || '',\n method_code: shippingMethods?.method_code || '',\n },\n };\n\n getEstimatedTotals(inputData)\n .then((data) => {\n if (data) {\n setEstimatedTotals({\n estimatedTaxTotal: {\n amount: data.totalTax?.value,\n currency: data.totalTax?.currency,\n },\n estimatedSubTotal: {\n excludingTax: {\n amount: data.subtotal?.excludingTax?.value,\n currency: data.subtotal?.excludingTax?.currency,\n },\n includingTax: {\n amount: data.subtotal?.includingTax?.value,\n currency: data.subtotal?.includingTax?.currency,\n },\n includingDiscountOnly: {\n amount: data.subtotal?.includingDiscountOnly?.value,\n currency: data.subtotal?.includingDiscountOnly?.currency,\n },\n },\n estimatedGrandTotalPrice: {\n includingTax: {\n amount: data.total?.includingTax.value,\n currency: data.total?.includingTax.currency,\n },\n excludingTax: {\n amount: data.total?.excludingTax.value,\n currency: data.total?.excludingTax.currency,\n },\n },\n estimatedAppliedTaxes: {\n taxes: data.appliedTaxes?.map((tax) => {\n return {\n label: tax.label,\n amount: {\n value: tax.amount?.value,\n currency: tax.amount?.currency,\n },\n };\n }),\n },\n estimatedItems: {\n items: data.items?.map((item) => {\n return {\n uid: item.uid,\n price: {\n amount: item.price?.value,\n currency: item.price?.currency,\n },\n taxedPrice: {\n amount: item.taxedPrice?.value,\n currency: item.taxedPrice?.currency,\n },\n rowTotal: {\n amount: item.rowTotal?.value,\n currency: item.rowTotal?.currency,\n },\n rowTotalIncludingTax: {\n amount: item.rowTotalIncludingTax?.value,\n currency: item.rowTotalIncludingTax?.currency,\n },\n regularPrice: {\n amount: item.regularPrice?.value,\n currency: item.regularPrice?.currency,\n },\n };\n }),\n },\n } as PriceProps);\n }\n })\n .finally(() => {\n setLoading(false);\n });\n };\n\n return {\n handleEstimateTotals,\n estimatedTotals,\n setEstimatedTotals,\n loading,\n };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport {\n HTMLAttributes,\n useCallback,\n useEffect,\n useState,\n} from 'preact/compat';\nimport { Container, Slot, SlotProps } from '@adobe-commerce/elsie/lib';\nimport { CartModel } from '@/cart/data/models';\nimport { getPersistedCartData } from '@/cart/lib/persisted-data';\nimport { events } from '@adobe-commerce/event-bus';\nimport { MiniCart as MiniCartComponent } from '@/cart/components';\nimport { CartSummaryList } from '@/cart/containers';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { Button, ImageProps, Price } from '@adobe-commerce/elsie/components';\nimport { updateProductsFromCart } from '@/cart/api';\nimport { publishInitiateCheckoutEvent } from '@/cart/lib/acdl';\nimport { state } from '@/cart/lib/state';\n\nexport interface MiniCartProps extends HTMLAttributes<HTMLDivElement> {\n routeProduct?: (item: CartModel['items'][0]) => string;\n routeCart?: () => string;\n routeCheckout?: () => string;\n routeEmptyCartCTA?: () => string;\n slots?: {\n ProductList?: SlotProps;\n ProductListFooter?: SlotProps;\n PreCheckoutSection?: SlotProps;\n Thumbnail?: SlotProps<{\n item: CartModel['items'][number];\n defaultImageProps: ImageProps;\n }>;\n Heading?: SlotProps;\n EmptyCart?: SlotProps;\n Footer?: SlotProps;\n ProductAttributes?: SlotProps;\n CartSummaryFooter?: SlotProps;\n CartItem?: SlotProps; // For backward compatibility\n UndoBanner?: SlotProps<{\n item: CartModel['items'][0];\n loading: boolean;\n error?: string;\n onUndo: () => void;\n onDismiss: () => void;\n }>;\n ItemTitle?: SlotProps<{ item: CartModel['items'][number] }>;\n ItemPrice?: SlotProps<{ item: CartModel['items'][number] }>;\n ItemQuantity?: SlotProps<{\n item: CartModel['items'][number];\n enableUpdateItemQuantity: boolean;\n handleItemQuantityUpdate: (\n item: CartModel['items'][number],\n quantity: number\n ) => void;\n itemsLoading: Set<string>;\n handleItemsError: (uid: string, message?: string) => void;\n handleItemsLoading: (uid: string, state: boolean) => void;\n onItemUpdate?: ({ item }: { item: CartModel['items'][number] }) => void;\n }>;\n ItemTotal?: SlotProps<{ item: CartModel['items'][number] }>;\n ItemSku?: SlotProps<{ item: CartModel['items'][number] }>;\n ItemRemoveAction?: SlotProps<{\n item: CartModel['items'][number];\n enableRemoveItem: boolean;\n handleItemQuantityUpdate: (\n item: CartModel['items'][number],\n quantity: number\n ) => void;\n handleItemsError: (uid: string, message?: string) => void;\n handleItemsLoading: (uid: string, state: boolean) => void;\n onItemUpdate?: ({ item }: { item: CartModel['items'][number] }) => void;\n itemsLoading: Set<string>;\n }>;\n };\n hideFooter?: boolean;\n displayAllItems?: boolean;\n showDiscount?: boolean;\n showSavings?: boolean;\n enableItemRemoval?: boolean;\n enableQuantityUpdate?: boolean;\n hideHeading?: boolean;\n undo?: boolean;\n}\n\nexport const MiniCart: Container<MiniCartProps, CartModel | null> = ({\n children,\n initialData = null,\n hideFooter = true, // Default to true for MiniCart\n slots,\n routeProduct,\n routeCart,\n routeCheckout,\n routeEmptyCartCTA,\n showDiscount,\n showSavings,\n enableItemRemoval = true, // Default to true for MiniCart\n enableQuantityUpdate = false, // Default to false for MiniCart\n hideHeading = false, // Default to false for MiniCart\n undo = false,\n ...props\n}) => {\n const [data, setData] = useState<CartModel | null>(initialData);\n const cartTaxesConfig = state.config?.shoppingCartDisplaySetting;\n\n useEffect(() => {\n const event = events.on(\n 'cart/data',\n (payload) => {\n setData(payload as CartModel);\n },\n { eager: true }\n );\n\n return () => {\n event?.off();\n };\n }, []);\n\n const dictionary = useText({\n cartLink: 'Cart.MiniCart.cartLink',\n checkoutLink: 'Cart.MiniCart.checkoutLink',\n });\n\n const handleItemQuantityUpdate = (uid: string, quantity: number) => {\n return updateProductsFromCart([{ uid, quantity }]);\n };\n\n const handleItemRemove = (uid: string) => handleItemQuantityUpdate(uid, 0);\n\n const checkoutLinkDisabled = data?.hasOutOfStockItems;\n\n const handleInitiateCheckout = useCallback(() => {\n if (data && !checkoutLinkDisabled) {\n publishInitiateCheckoutEvent(data, state.locale);\n }\n }, [data, checkoutLinkDisabled]);\n\n const productList = (\n <Slot\n name=\"ProductList\"\n slot={slots?.ProductList}\n context={{\n itemQuantityUpdateHandler: handleItemQuantityUpdate,\n itemRemoveHandler: handleItemRemove,\n totalQuantity: data?.totalQuantity,\n }}\n >\n <CartSummaryList\n data-testid=\"default-cart-summary-list\"\n routeProduct={routeProduct}\n routeEmptyCartCTA={routeEmptyCartCTA}\n initialData={data}\n maxItems={state.config?.miniCartMaxItemsDisplay}\n showMaxItems={!!state.config?.miniCartMaxItemsDisplay}\n hideHeading={hideHeading || !data?.totalQuantity}\n hideFooter={hideFooter}\n enableRemoveItem={enableItemRemoval}\n enableUpdateItemQuantity={enableQuantityUpdate}\n showDiscount={showDiscount}\n showSavings={showSavings}\n undo={undo}\n slots={{\n Thumbnail: slots?.Thumbnail,\n Heading: slots?.Heading,\n EmptyCart: slots?.EmptyCart,\n Footer: slots?.Footer,\n ProductAttributes: slots?.ProductAttributes,\n CartSummaryFooter: slots?.CartSummaryFooter,\n CartItem: slots?.CartItem, // Keep for backward compatibility\n UndoBanner: slots?.UndoBanner,\n ItemTitle: slots?.ItemTitle,\n ItemPrice: slots?.ItemPrice,\n ItemQuantity: slots?.ItemQuantity,\n ItemTotal: slots?.ItemTotal,\n ItemSku: slots?.ItemSku,\n ItemRemoveAction: slots?.ItemRemoveAction,\n }}\n />\n </Slot>\n );\n\n const getProductListFooter = (data: CartModel | null) => {\n return (\n <Slot\n name=\"ProductListFooter\"\n slot={slots?.ProductListFooter}\n context={{\n data,\n }}\n />\n );\n };\n\n const getPreCheckoutSection = (data: CartModel | null) => {\n return (\n <Slot\n name=\"PreCheckoutSection\"\n slot={slots?.PreCheckoutSection}\n context={{\n data,\n }}\n />\n );\n };\n\n const getSubtotalPriceProps = () =>\n cartTaxesConfig?.subtotal === 'INCLUDING_TAX' ||\n cartTaxesConfig?.subtotal === 'INCLUDING_EXCLUDING_TAX'\n ? {\n amount: data?.subtotal.includingTax.value,\n currency: data?.subtotal.includingTax.currency,\n 'data-testid': 'subtotal-including-tax',\n style: { font: 'inherit' },\n }\n : {\n amount: data?.subtotal.excludingTax.value,\n currency: data?.subtotal.excludingTax.currency,\n 'data-testid': 'subtotal-excluding-tax',\n style: { font: 'inherit' },\n };\n\n return (\n <MiniCartComponent\n {...props}\n productListFooter={getProductListFooter(data)}\n subtotal={\n !data?.totalQuantity\n ? undefined\n : data?.subtotal && <Price {...getSubtotalPriceProps()} />\n }\n subtotalExcludingTaxes={\n !data?.totalQuantity\n ? undefined\n : data?.subtotal &&\n (cartTaxesConfig?.subtotal === 'INCLUDING_EXCLUDING_TAX' ? (\n <Price\n amount={data?.subtotal.excludingTax.value}\n currency={data?.subtotal.excludingTax.currency}\n data-testid=\"subtotal-including-excluding-tax\"\n style={{ font: 'inherit' }}\n />\n ) : undefined)\n }\n preCheckoutSection={getPreCheckoutSection(data)}\n ctas={\n !data?.totalQuantity ? undefined : (\n <div>\n {routeCheckout && (\n <Button\n data-testid=\"route-checkout-button\"\n variant=\"primary\"\n href={checkoutLinkDisabled ? undefined : routeCheckout()}\n disabled={checkoutLinkDisabled}\n aria-disabled={checkoutLinkDisabled}\n onClick={handleInitiateCheckout}\n >\n {dictionary.checkoutLink}\n </Button>\n )}\n {routeCart && (\n <Button\n data-testid=\"route-cart-button\"\n variant=\"tertiary\"\n href={routeCart()}\n >\n {dictionary.cartLink}\n </Button>\n )}\n </div>\n )\n }\n products={productList}\n />\n );\n};\n\nMiniCart.getInitialData = async function () {\n return getPersistedCartData();\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { VNode } from 'preact';\nimport {\n HTMLAttributes,\n useCallback,\n useEffect,\n useState,\n Fragment,\n} from 'preact/compat';\nimport { Container, Slot, SlotProps } from '@adobe-commerce/elsie/lib';\nimport { events } from '@adobe-commerce/event-bus';\nimport {\n CartModel,\n AppliedGiftCardProps,\n} from '@/cart/data/models';\nimport { getPersistedCartData } from '@/cart/lib/persisted-data';\nimport { useEstimatedTotals } from '@/cart/hooks';\nimport { state } from '@/cart/lib/state';\nimport { Button, Price, Icon } from '@adobe-commerce/elsie/components';\nimport { useText, Text } from '@adobe-commerce/elsie/i18n';\nimport {\n OrderSummary as OrderSummaryComponent,\n OrderSummaryLineItem,\n} from '@/cart/components';\nimport { ShippingOrderSummaryLine } from '@/cart/containers';\nimport { publishInitiateCheckoutEvent } from '@/cart/lib/acdl';\nimport { Coupon, GiftCard } from '@adobe-commerce/elsie/icons';\n\ninterface CheckoutRouteContext {\n cartId: string;\n}\n\nexport interface OrderSummaryProps extends HTMLAttributes<HTMLDivElement> {\n routeCheckout?: (context: CheckoutRouteContext) => string;\n slots?: {\n EstimateShipping?: SlotProps;\n Coupons?: SlotProps;\n GiftCards?: SlotProps;\n };\n enableCoupons?: boolean;\n enableGiftCards?: boolean;\n errors: boolean;\n showTotalSaved?: boolean;\n updateLineItems?: (\n lineItems: Array<OrderSummaryLineItem>\n ) => Array<OrderSummaryLineItem>;\n}\n\nexport const OrderSummary: Container<OrderSummaryProps, CartModel | null> = ({\n children,\n initialData = null,\n routeCheckout,\n slots,\n errors,\n showTotalSaved,\n enableCoupons,\n enableGiftCards,\n updateLineItems = (lineItems) => lineItems,\n ...props\n}) => {\n const [data, setData] = useState<CartModel | null>(initialData);\n const [hasQuantityErrors, setHasQuantityErrors] = useState(false);\n const isVirtual = data?.isVirtual;\n\n enableCoupons = enableCoupons ?? true;\n enableGiftCards = enableGiftCards ?? true;\n\n const {\n handleEstimateTotals,\n estimatedTotals,\n setEstimatedTotals,\n loading: handleEstimateLoading,\n } = useEstimatedTotals();\n\n const cartTaxesConfig = state.config?.shoppingCartDisplaySetting;\n const isIncludingTax = cartTaxesConfig?.subtotal === 'INCLUDING_TAX';\n const isIncludingAndExcludingTax =\n cartTaxesConfig?.subtotal === 'INCLUDING_EXCLUDING_TAX';\n const isZeroTax = cartTaxesConfig?.zeroTax;\n const calculateTotalGiftCardAmount = () => {\n return (\n data?.appliedGiftCards.reduce((acc: number, current: any) => {\n return acc + current.appliedBalance.value;\n }, 0) ?? 0\n );\n };\n const appliedGiftCardsPriceConfig = (giftCard: AppliedGiftCardProps) => {\n if (!giftCard?.code) return null;\n\n return (\n <Fragment key={giftCard.code}>\n <span className=\"cart-order-summary__coupon__code\">\n <Icon source={GiftCard} size=\"16\" />\n <span>{giftCard?.code}</span>\n </span>\n <span className=\"cart-order-summary__caption\">\n <Text id=\"Cart.PriceSummary.giftCard.appliedGiftCards.remainingBalance\" />\n <Price\n className=\"cart-order-summary__caption\"\n weight=\"normal\"\n size=\"small\"\n amount={giftCard.giftCardBalance.value}\n currency={giftCard.giftCardBalance.currency}\n />\n </span>\n </Fragment>\n );\n };\n const cartGiftWrappingTax = state.config?.cartGiftWrapping;\n const cartPrintedCardTax = state.config?.cartPrintedCard;\n const totalGiftOptions = data?.totalGiftOptions;\n\n useEffect(() => {\n const dataEvent = events.on(\n 'cart/data',\n (payload) => {\n setData(payload as CartModel);\n\n const shippingAddress = payload?.addresses?.shipping;\n const isVirtual = payload?.isVirtual;\n\n if (shippingAddress || isVirtual) {\n setEstimatedTotals(null);\n }\n\n if (estimatedTotals == null) {\n setEstimatedTotals({\n estimatedTaxTotal: {\n amount: payload?.totalTax?.value,\n currency: payload?.totalTax?.currency,\n },\n });\n }\n },\n { eager: true }\n );\n\n return () => {\n dataEvent?.off();\n };\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n useEffect(() => {\n setHasQuantityErrors(errors);\n }, [errors]);\n\n useEffect(() => {\n const shippingEvent = events.on('shipping/estimate', (payload) => {\n const formValues = {\n shippingCountry: payload?.address?.countryCode,\n shippingState: payload?.address?.region,\n shippingStateId: payload?.address?.regionId,\n shippingZip: payload?.address?.postCode,\n };\n\n const shippingMethods = {\n carrier_code: payload?.shippingMethod?.carrierCode || '',\n method_code: payload?.shippingMethod?.methodCode || '',\n };\n\n handleEstimateTotals(formValues, shippingMethods);\n });\n\n return () => {\n shippingEvent?.off();\n };\n }, [handleEstimateTotals]);\n\n const [isCheckoutInitialized, setIsCheckoutInitialized] = useState(false);\n\n useEffect(() => {\n const checkoutEvent = events.on('checkout/initialized', () => {\n setIsCheckoutInitialized(true);\n });\n\n return () => {\n checkoutEvent?.off();\n };\n }, []);\n\n const translations = useText({\n checkout: 'Cart.PriceSummary.checkout',\n free: 'Cart.PriceSummary.total.free',\n orderSummary: 'Cart.PriceSummary.orderSummary',\n taxToBeDetermined: 'Cart.PriceSummary.taxToBeDetermined',\n });\n\n const checkoutLinkDisabled = data?.hasOutOfStockItems || hasQuantityErrors;\n\n const handleInitiateCheckout = useCallback(() => {\n if (!checkoutLinkDisabled && data) {\n publishInitiateCheckoutEvent(data, state.locale);\n }\n }, [checkoutLinkDisabled, data]);\n\n const shipping = !isVirtual ? (\n slots?.EstimateShipping ? (\n <Slot\n name=\"EstimateShipping\"\n slot={slots.EstimateShipping}\n key=\"estimateShippingId\"\n />\n ) : (\n <ShippingOrderSummaryLine />\n )\n ) : undefined;\n\n if (!Object.keys(data ?? {}).length || data?.totalQuantity === 0) {\n return null;\n }\n\n const coupons =\n enableCoupons && slots?.Coupons ? (\n <Slot name=\"Coupons\" slot={slots.Coupons} key=\"couponsId\" />\n ) : undefined;\n\n const giftCards =\n enableGiftCards && slots?.GiftCards ? (\n <Slot name=\"GiftCards\" slot={slots.GiftCards} key=\"giftCardId\" />\n ) : undefined;\n\n return (\n <OrderSummaryComponent\n {...props}\n data-testid=\"cart-order-summary\"\n heading={<div>{translations.orderSummary}</div>}\n shipping={shipping}\n coupons={coupons}\n giftCards={giftCards}\n loading={handleEstimateLoading}\n updateLineItems={updateLineItems}\n appliedGiftCards={\n !data?.appliedGiftCards?.length\n ? undefined\n : {\n label: (\n <Text\n id=\"Cart.PriceSummary.giftCard.appliedGiftCards.label\"\n plural={data?.appliedGiftCards?.length}\n fields={{\n count: data?.appliedGiftCards?.length,\n }}\n />\n ),\n price: (\n <Price\n className=\"cart-order-summary__price\"\n amount={-calculateTotalGiftCardAmount()}\n currency={\n data?.appliedGiftCards?.[0]?.appliedBalance.currency\n }\n />\n ),\n content: data?.appliedGiftCards\n ?.map(appliedGiftCardsPriceConfig)\n .filter(Boolean) as VNode[],\n }\n }\n printedCard={{\n renderContent: !!totalGiftOptions?.printedCard?.value,\n taxIncluded: cartPrintedCardTax === 'INCLUDING_TAX',\n taxInclAndExcl: cartPrintedCardTax === 'INCLUDING_EXCLUDING_TAX',\n priceExclTax: (\n <Price\n data-testid=\"printed-card\"\n amount={totalGiftOptions?.printedCard?.value}\n currency={totalGiftOptions?.printedCard?.currency}\n />\n ),\n priceInclTax: (\n <Price\n amount={totalGiftOptions?.printedCardInclTax?.value}\n currency={totalGiftOptions?.printedCardInclTax?.currency}\n />\n ),\n }}\n itemsGiftWrapping={{\n renderContent: !!totalGiftOptions?.giftWrappingForItems?.value,\n taxIncluded: cartGiftWrappingTax === 'INCLUDING_TAX',\n taxInclAndExcl: cartGiftWrappingTax === 'INCLUDING_EXCLUDING_TAX',\n priceExclTax: (\n <Price\n amount={totalGiftOptions?.giftWrappingForItems?.value}\n currency={totalGiftOptions?.giftWrappingForItems?.currency}\n />\n ),\n priceInclTax: (\n <Price\n amount={totalGiftOptions?.giftWrappingForItemsInclTax?.value}\n currency={totalGiftOptions?.giftWrappingForItemsInclTax?.currency}\n />\n ),\n }}\n orderGiftWrapping={{\n renderContent: !!totalGiftOptions?.giftWrappingForOrder?.value,\n taxIncluded: cartGiftWrappingTax === 'INCLUDING_TAX',\n taxInclAndExcl: cartGiftWrappingTax === 'INCLUDING_EXCLUDING_TAX',\n priceExclTax: (\n <Price\n amount={totalGiftOptions?.giftWrappingForOrder?.value}\n currency={totalGiftOptions?.giftWrappingForOrder?.currency}\n />\n ),\n priceInclTax: (\n <Price\n amount={totalGiftOptions?.giftWrappingForOrderInclTax?.value}\n currency={totalGiftOptions?.giftWrappingForOrderInclTax?.currency}\n />\n ),\n }}\n subTotal={{\n taxIncluded: isIncludingTax && !isZeroTax,\n taxExcluded: isIncludingAndExcludingTax,\n zeroTaxSubtotal: isZeroTax,\n priceExcludingTax: estimatedTotals?.estimatedSubTotal?.excludingTax ? (\n <Price\n data-testid=\"subtotal\"\n {...estimatedTotals?.estimatedSubTotal?.excludingTax}\n />\n ) : (\n <Price\n data-testid=\"subtotal\"\n amount={data?.subtotal?.excludingTax?.value}\n currency={data?.subtotal?.excludingTax?.currency}\n />\n ),\n price:\n (!isZeroTax && isIncludingTax) ||\n (!isZeroTax && isIncludingAndExcludingTax) ? (\n estimatedTotals?.estimatedSubTotal?.includingTax ? (\n <Price\n data-testid=\"subtotal\"\n {...estimatedTotals?.estimatedSubTotal?.includingTax}\n />\n ) : (\n <Price\n data-testid=\"subtotal\"\n amount={data?.subtotal.includingTax?.value}\n currency={data?.subtotal.includingTax?.currency}\n />\n )\n ) : (\n <Price\n data-testid=\"subtotal\"\n amount={data?.subtotal?.excludingTax?.value}\n currency={data?.subtotal?.excludingTax?.currency}\n />\n ),\n }}\n discounts={data?.appliedDiscounts?.map((discount) => {\n return {\n label: discount.label,\n price: (\n <Price\n data-testid=\"summary-discount-total\"\n amount={-discount.amount.value}\n currency={discount.amount.currency}\n sale={true}\n />\n ),\n coupon: discount?.coupon ? (\n <span>\n <Icon source={Coupon} size=\"16\" />\n {discount?.coupon?.code}\n </span>\n ) : undefined,\n };\n })}\n taxTotal={\n (isVirtual && !data?.appliedTaxes.length && !isCheckoutInitialized) ||\n (estimatedTotals && estimatedTotals.estimatedTaxTotal == null)\n ? {\n price: (\n <span data-testid=\"tax-total-tbd\">\n {translations.taxToBeDetermined}\n </span>\n ),\n }\n : {\n price: estimatedTotals?.estimatedTaxTotal ? (\n <Price\n data-testid=\"tax-total-estimated\"\n {...estimatedTotals?.estimatedTaxTotal}\n />\n ) : (\n <Price\n data-testid=\"tax-total-actual\"\n amount={data?.totalTax?.value}\n currency={data?.totalTax?.currency}\n />\n ),\n estimated:\n (!estimatedTotals || !estimatedTotals.estimatedTaxTotal) &&\n !data?.addresses?.shipping,\n }\n }\n taxesApplied={\n isVirtual\n ? undefined\n : cartTaxesConfig?.fullSummary\n ? (\n estimatedTotals?.estimatedAppliedTaxes?.taxes ||\n data?.appliedTaxes\n )?.map((tax: any) => ({\n label: tax.label,\n price: (\n <Price\n data-testid=\"applied-taxes\"\n amount={tax.amount.value}\n currency={tax.amount.currency}\n />\n ),\n }))\n : undefined\n }\n total={{\n price: estimatedTotals?.estimatedGrandTotalPrice ? (\n estimatedTotals?.estimatedGrandTotalPrice?.includingTax?.amount ===\n 0 ? (\n <span data-testid=\"total-including-tax\">{translations.free}</span>\n ) : (\n <Price\n data-testid=\"total-including-tax-estimated\"\n {...estimatedTotals?.estimatedGrandTotalPrice?.includingTax}\n />\n )\n ) : data?.total?.includingTax.value === 0 ? (\n <span data-testid=\"total-including-tax\">{translations.free}</span>\n ) : (\n <Price\n data-testid=\"total-including-tax-actual\"\n amount={data?.total?.includingTax.value}\n currency={data?.total?.includingTax.currency}\n />\n ),\n estimated:\n (!estimatedTotals || !!estimatedTotals?.estimatedTaxTotal) &&\n !data?.addresses?.shipping,\n priceWithoutTax: cartTaxesConfig?.grandTotal ? (\n estimatedTotals?.estimatedAppliedTaxes ? (\n estimatedTotals?.estimatedGrandTotalPrice?.excludingTax?.amount ===\n 0 ? (\n <span data-testid=\"total-excluding-tax\">{translations.free}</span>\n ) : (\n <Price\n data-testid=\"total-excluding-tax\"\n {...estimatedTotals?.estimatedGrandTotalPrice?.excludingTax}\n />\n )\n ) : data?.total?.excludingTax.value === 0 ? (\n <span data-testid=\"total-excluding-tax\">{translations.free}</span>\n ) : (\n <Price\n data-testid=\"total-excluding-tax\"\n amount={data?.total?.excludingTax.value}\n currency={data?.total?.excludingTax.currency}\n />\n )\n ) : undefined,\n }}\n primaryAction={\n routeCheckout && (\n <Button\n data-testid=\"checkout-button\"\n variant=\"primary\"\n disabled={checkoutLinkDisabled}\n aria-disabled={checkoutLinkDisabled}\n href={\n checkoutLinkDisabled\n ? undefined\n : routeCheckout({\n cartId: data!.id,\n })\n }\n onClick={handleInitiateCheckout}\n >\n {translations.checkout}\n </Button>\n )\n }\n totalSaved={\n showTotalSaved ? (\n <Price\n amount={data?.discount?.value}\n currency={data?.total?.includingTax.currency}\n />\n ) : undefined\n }\n />\n );\n};\n\nOrderSummary.getInitialData = async function () {\n return getPersistedCartData();\n};\n"],"names":["MiniCart","className","products","productListFooter","subtotal","subtotalExcludingTaxes","preCheckoutSection","ctas","props","dictionary","useText","jsx","classes","jsxs","Fragment","VComponent","OrderSummary","children","variant","heading","loading","subTotal","shipping","discounts","taxTotal","taxesApplied","total","primaryAction","coupons","giftCards","totalSaved","appliedGiftCards","printedCard","itemsGiftWrapping","orderGiftWrapping","updateLineItems","lineItems","showTaxBreakdown","setShowTaxBreakdown","useState","translations","appliedGiftCardsContent","OrderSummaryLine","subTotalContent","discountsContent","discount","taxContent","Accordion","ChevronDown","ChevronUp","AccordionSection","tax","printedCardContent","itemsGiftWrappingContent","orderGiftWrappingContent","updatedLineItems","currentLine","nextLine","ProgressSpinner","Divider","line","innerLine","useEstimatedTotals","setLoading","estimatedTotals","setEstimatedTotals","formValues","shippingMethods","shippingCountry","shippingState","shippingStateId","shippingZip","inputData","getEstimatedTotals","data","_a","_b","_d","_c","_f","_e","_h","_g","_j","_i","_l","_k","_n","_m","_o","_p","_q","_r","_s","_t","item","initialData","hideFooter","slots","routeProduct","routeCart","routeCheckout","routeEmptyCartCTA","showDiscount","showSavings","enableItemRemoval","enableQuantityUpdate","hideHeading","undo","setData","cartTaxesConfig","state","useEffect","event","events","payload","handleItemQuantityUpdate","uid","quantity","updateProductsFromCart","handleItemRemove","checkoutLinkDisabled","handleInitiateCheckout","useCallback","publishInitiateCheckoutEvent","productList","Slot","CartSummaryList","getProductListFooter","getPreCheckoutSection","getSubtotalPriceProps","MiniCartComponent","Price","Button","getPersistedCartData","errors","showTotalSaved","enableCoupons","enableGiftCards","hasQuantityErrors","setHasQuantityErrors","isVirtual","handleEstimateTotals","handleEstimateLoading","isIncludingTax","isIncludingAndExcludingTax","isZeroTax","calculateTotalGiftCardAmount","acc","current","appliedGiftCardsPriceConfig","giftCard","Icon","GiftCard","Text","cartGiftWrappingTax","cartPrintedCardTax","totalGiftOptions","dataEvent","shippingAddress","shippingEvent","isCheckoutInitialized","setIsCheckoutInitialized","checkoutEvent","ShippingOrderSummaryLine","OrderSummaryComponent","_u","_v","_w","_x","_y","_z","_B","_A","_D","_C","_E","_F","_G","_H","_J","_I","_L","_K","_M","Coupon","_N","_O","_P","_R","_Q","_T","_S","_U","_V","_W","_X","_Y","__","_Z","_$","_aa","_ba","_ca","_da","_ea"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OrderSummary.js","sources":["/@dropins/storefront-cart/src/components/MiniCart/MiniCart.tsx","/@dropins/storefront-cart/src/components/OrderSummary/OrderSummary.tsx","/@dropins/storefront-cart/src/hooks/useEstimatedTotals.tsx","/@dropins/storefront-cart/src/containers/MiniCart/MiniCart.tsx","/@dropins/storefront-cart/src/containers/OrderSummary/OrderSummary.tsx"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { FunctionComponent, VNode } from 'preact';\nimport { HTMLAttributes } from 'preact/compat';\nimport { VComponent, classes } from '@adobe-commerce/elsie/lib';\nimport { useText } from '@adobe-commerce/elsie/i18n';\n\nimport '@/cart/components/MiniCart/MiniCart.css';\n\nexport interface MiniCartProps extends HTMLAttributes<HTMLDivElement> {\n products?: VNode;\n productListFooter?: VNode;\n subtotal?: VNode;\n subtotalExcludingTaxes?: VNode;\n preCheckoutSection?: VNode;\n ctas?: VNode;\n}\n\nexport const MiniCart: FunctionComponent<MiniCartProps> = ({\n className,\n products,\n productListFooter,\n subtotal,\n subtotalExcludingTaxes,\n preCheckoutSection,\n ctas,\n ...props\n}) => {\n const dictionary = useText({\n subtotal: 'Cart.MiniCart.subtotal',\n subtotalExcludingTaxes: 'Cart.MiniCart.subtotalExcludingTaxes',\n });\n\n return (\n <div {...props} className={classes(['cart-mini-cart', className])}>\n {/* Content */}\n {products && (\n <>\n <div\n className=\"cart-mini-cart__products\"\n data-testid=\"mini-cart-products-wrapper\"\n >\n {products}\n </div>\n\n {/* Product List Footer */}\n {productListFooter && (\n <div\n className={classes(['cart-mini-cart__productListFooter'])}\n data-testid=\"mini-cart-product-list-footer\"\n >\n <VComponent node={productListFooter} />\n </div>\n )}\n\n <div\n className=\"cart-mini-cart__footer\"\n data-testid=\"mini-cart-subtotals\"\n >\n {/* Subtotal */}\n {subtotal && (\n <div\n className=\"cart-mini-cart__footer__estimated-total\"\n data-testid=\"mini-cart-subtotal\"\n >\n {dictionary.subtotal}\n <VComponent node={subtotal} />\n </div>\n )}\n {/* Subtotal Excluding Taxes */}\n {subtotalExcludingTaxes && (\n <div\n className=\"cart-mini-cart__footer__estimated-total-excluding-taxes\"\n data-testid=\"mini-cart-subtotal-excluding-taxes\"\n >\n {dictionary.subtotalExcludingTaxes}\n <VComponent\n node={subtotalExcludingTaxes}\n className={classes([\n 'dropin-price-summary__price',\n 'dropin-price-summary__price--muted',\n ])}\n />\n </div>\n )}\n\n {/* Pre-checkout section */}\n {preCheckoutSection && (\n <div\n className={classes(['cart-mini-cart__preCheckoutSection'])}\n data-testid=\"mini-cart-pre-checkout-section\"\n >\n <VComponent node={preCheckoutSection} />\n </div>\n )}\n\n {ctas && (\n <VComponent\n node={ctas}\n className=\"cart-mini-cart__footer__ctas\"\n />\n )}\n </div>\n </>\n )}\n </div>\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { FunctionComponent, VNode } from 'preact';\nimport { HTMLAttributes, useState } from 'preact/compat';\nimport { classes, VComponent } from '@adobe-commerce/elsie/lib';\nimport '@/cart/components/OrderSummary/OrderSummary.css';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { ChevronDown, ChevronUp } from '@adobe-commerce/elsie/icons';\nimport {\n Accordion,\n AccordionSection,\n Divider,\n ProgressSpinner,\n} from '@adobe-commerce/elsie/components';\nimport { JSXInternal } from 'preact/src/jsx';\nimport { OrderSummaryLine } from '@/cart/containers/OrderSummaryLine/OrderSummaryLine';\n\nexport interface OrderSummaryLineItem {\n key: string;\n title?: string;\n className?: string;\n sortOrder: number;\n content:\n | string\n | JSXInternal.Element\n | VNode<HTMLAttributes<HTMLDivElement>>\n | OrderSummaryLineItem[]\n | undefined;\n}\n\nexport interface OrderSummaryProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'loading'> {\n variant?: 'primary' | 'secondary';\n heading?: VNode<HTMLAttributes<HTMLDivElement>>;\n loading?: boolean;\n subTotal?: {\n price: VNode<HTMLAttributes<HTMLSpanElement>>;\n priceExcludingTax?: VNode<HTMLAttributes<HTMLSpanElement>>;\n taxIncluded?: boolean;\n taxExcluded?: boolean;\n zeroTaxSubtotal?: boolean;\n };\n shipping?: VNode<HTMLAttributes<HTMLDivElement>>;\n discounts?: {\n label: string;\n price: VNode<HTMLAttributes<HTMLSpanElement>>;\n caption?: VNode<HTMLAttributes<HTMLDivElement>>;\n coupon?: VNode<HTMLAttributes<HTMLSpanElement>>;\n }[];\n taxTotal?: {\n price: VNode<HTMLAttributes<HTMLSpanElement>>;\n estimated?: boolean;\n };\n taxesApplied?: {\n label: string;\n price: VNode<HTMLAttributes<HTMLSpanElement>>;\n }[];\n total?: {\n price: VNode<HTMLAttributes<HTMLSpanElement>>;\n estimated?: boolean;\n priceWithoutTax?: VNode<HTMLAttributes<HTMLSpanElement>>;\n };\n printedCard?: {\n renderContent: boolean;\n taxIncluded: boolean;\n taxInclAndExcl: boolean;\n priceExclTax: VNode<HTMLAttributes<HTMLSpanElement>>;\n priceInclTax: VNode<HTMLAttributes<HTMLSpanElement>>;\n };\n itemsGiftWrapping?: {\n renderContent: boolean;\n taxIncluded: boolean;\n taxInclAndExcl: boolean;\n priceExclTax: VNode<HTMLAttributes<HTMLSpanElement>>;\n priceInclTax: VNode<HTMLAttributes<HTMLSpanElement>>;\n };\n orderGiftWrapping?: {\n renderContent: boolean;\n taxIncluded: boolean;\n taxInclAndExcl: boolean;\n priceExclTax: VNode<HTMLAttributes<HTMLSpanElement>>;\n priceInclTax: VNode<HTMLAttributes<HTMLSpanElement>>;\n };\n primaryAction?: VNode<HTMLAttributes<HTMLButtonElement>>;\n coupons?: VNode<HTMLAttributes<HTMLDivElement>>;\n giftCards?: VNode<HTMLAttributes<HTMLDivElement>>;\n totalSaved?: VNode<HTMLAttributes<HTMLSpanElement>>;\n appliedGiftCards?: {\n label: VNode<HTMLAttributes<HTMLSpanElement>> | string;\n price: VNode<HTMLAttributes<HTMLSpanElement>>;\n content?: VNode[];\n };\n updateLineItems?: (\n lineItems: Array<OrderSummaryLineItem>\n ) => Array<OrderSummaryLineItem>;\n}\n\nexport const OrderSummary: FunctionComponent<OrderSummaryProps> = ({\n className,\n children,\n variant = 'primary',\n heading,\n loading = true,\n subTotal,\n shipping,\n discounts,\n taxTotal,\n taxesApplied,\n total,\n primaryAction,\n coupons,\n giftCards,\n totalSaved,\n appliedGiftCards,\n printedCard,\n itemsGiftWrapping,\n orderGiftWrapping,\n updateLineItems = (lineItems) => lineItems,\n ...props\n}) => {\n const [showTaxBreakdown, setShowTaxBreakdown] = useState(false);\n\n const translations = useText({\n checkout: 'Cart.PriceSummary.checkout',\n discountedPrice: 'Cart.CartItem.discountedPrice',\n download: 'Cart.CartItem.download',\n heading: 'Cart.Cart.heading',\n message: 'Cart.CartItem.message',\n regularPrice: 'Cart.CartItem.regularPrice',\n recipient: 'Cart.CartItem.recipient',\n sender: 'Cart.CartItem.sender',\n file: 'Cart.CartItem.file',\n files: 'Cart.CartItem.files',\n\n orderSummary: 'Cart.PriceSummary.orderSummary',\n // Taxes\n taxesBreakdownTitle: 'Cart.PriceSummary.taxes.breakdown',\n taxTotal: 'Cart.PriceSummary.taxes.total',\n taxEstimated: 'Cart.PriceSummary.taxes.estimated',\n taxTotalOnly: 'Cart.PriceSummary.taxes.totalOnly',\n showTaxBreakdown: 'Cart.PriceSummary.taxes.showBreakdown',\n hideTaxBreakdown: 'Cart.PriceSummary.taxes.hideBreakdown',\n taxToBeDetermined: 'Cart.PriceSummary.taxToBeDetermined',\n\n // Subtotal\n subtotalLabel: 'Cart.PriceSummary.subTotal.label',\n subtotalWithTaxes: 'Cart.PriceSummary.subTotal.withTaxes',\n subtotalWithoutTaxes: 'Cart.PriceSummary.subTotal.withoutTaxes',\n\n // Total\n totalEstimated: 'Cart.PriceSummary.total.estimated',\n totalLabel: 'Cart.PriceSummary.total.label',\n totalWithoutTax: 'Cart.PriceSummary.total.withoutTax',\n totalSaved: 'Cart.PriceSummary.total.saved',\n\n // Shipping\n shippingLabel: 'Cart.PriceSummary.shipping.label',\n zipPlaceholder: 'Cart.PriceSummary.shipping.zipPlaceholder',\n editZipAction: 'Cart.PriceSummary.shipping.editZipAction',\n shippingWithTaxes: 'Cart.PriceSummary.shipping.withTaxes',\n shippingWithoutTaxes: 'Cart.PriceSummary.shipping.withoutTaxes',\n shippingEstimated: 'Cart.PriceSummary.shipping.estimated',\n shippingEstimatedByState: 'Cart.PriceSummary.shipping.alternateField.state',\n shippingEstimatedByZip: 'Cart.PriceSummary.shipping.alternateField.zip',\n destinationLinkAriaLabel:\n 'Cart.PriceSummary.shipping.destinationLinkAriaLabel',\n applyButton: 'Cart.PriceSummary.estimatedShippingForm.apply.label',\n countryField: 'Cart.PriceSummary.estimatedShippingForm.country.placeholder',\n freeShipping: 'Cart.PriceSummary.freeShipping',\n stateField: 'Cart.PriceSummary.estimatedShippingForm.state.placeholder',\n zipField: 'Cart.PriceSummary.estimatedShippingForm.zip.placeholder',\n\n // Printed Card\n printedCardTitle: 'Cart.PriceSummary.giftOptionsTax.printedCard.title',\n printedCardInclTax: 'Cart.PriceSummary.giftOptionsTax.printedCard.inclTax',\n printedCardExclTax: 'Cart.PriceSummary.giftOptionsTax.printedCard.exclTax',\n\n // Gift Wrapping Item\n itemGiftWrappingTitle:\n 'Cart.PriceSummary.giftOptionsTax.itemGiftWrapping.title',\n itemGiftWrappingInclTax:\n 'Cart.PriceSummary.giftOptionsTax.itemGiftWrapping.inclTax',\n itemGiftWrappingExclTax:\n 'Cart.PriceSummary.giftOptionsTax.itemGiftWrapping.exclTax',\n\n // Gift Wrapping Order\n orderGiftWrappingTitle:\n 'Cart.PriceSummary.giftOptionsTax.orderGiftWrapping.title',\n orderGiftWrappingInclTax:\n 'Cart.PriceSummary.giftOptionsTax.orderGiftWrapping.inclTax',\n orderGiftWrappingExclTax:\n 'Cart.PriceSummary.giftOptionsTax.orderGiftWrapping.exclTax',\n });\n\n const appliedGiftCardsContent = appliedGiftCards ? (\n <OrderSummaryLine\n key={appliedGiftCards?.label}\n label={appliedGiftCards?.label}\n price={appliedGiftCards?.price}\n classSuffixes={['applied-gift-cards']}\n >\n {appliedGiftCards?.content}\n </OrderSummaryLine>\n ) : null;\n\n const subTotalContent = subTotal && (\n <OrderSummaryLine\n key={translations.subtotalLabel}\n label={translations.subtotalLabel}\n price={subTotal.price}\n classSuffixes={['subTotal']}\n >\n {subTotal.taxIncluded && (\n <div\n data-testid=\"sub-total-tax-caption\"\n className=\"cart-order-summary__caption\"\n >\n <span>{translations.subtotalWithTaxes}</span>\n </div>\n )}\n\n {subTotal.taxExcluded ? (\n <div\n data-testid=\"sub-total-tax-caption-excluded\"\n className=\"cart-order-summary__caption\"\n >\n <span>\n {subTotal.priceExcludingTax}\n \n {translations.subtotalWithoutTaxes}\n </span>\n </div>\n ) : undefined}\n </OrderSummaryLine>\n );\n\n const discountsContent = discounts && discounts.length > 0 && (\n <>\n {discounts.map((discount) => (\n <OrderSummaryLine\n key={discount.label}\n label={discount.label}\n price={discount.price}\n classSuffixes={['discount']}\n >\n {discount.coupon && (\n <VComponent\n node={discount.coupon}\n className=\"cart-order-summary__coupon__code\"\n />\n )}\n\n {discount.caption && (\n <VComponent\n node={discount.caption}\n className=\"cart-order-summary__caption\"\n />\n )}\n </OrderSummaryLine>\n ))}\n </>\n );\n\n const taxContent =\n taxesApplied && taxesApplied.length > 0 ? (\n /* Show breakdown if provided */\n <Accordion\n data-testid=\"tax-breakdown\"\n className=\"cart-order-summary__taxes\"\n iconOpen={ChevronDown}\n iconClose={ChevronUp}\n >\n <AccordionSection\n title={translations.taxesBreakdownTitle}\n secondaryText={\n !showTaxBreakdown && taxTotal ? (\n <VComponent\n node={taxTotal.price}\n className=\"cart-order-summary__price\"\n />\n ) : undefined\n }\n renderContentWhenClosed={false}\n onStateChange={setShowTaxBreakdown}\n >\n <div className=\"cart-order-summary__appliedTaxes\">\n {taxesApplied.map((tax) => (\n <OrderSummaryLine\n key={tax.label}\n label={tax.label}\n price={tax.price}\n classSuffixes={['taxEntry']}\n labelClassSuffix=\"muted\"\n />\n ))}\n </div>\n\n {taxTotal && (\n <OrderSummaryLine\n label={translations.taxTotal}\n price={taxTotal.price}\n classSuffixes={['taxTotal']}\n labelClassSuffix=\"muted\"\n />\n )}\n </AccordionSection>\n </Accordion>\n ) : (\n taxTotal && (\n <OrderSummaryLine\n label={\n taxTotal.estimated\n ? translations.taxEstimated\n : translations.taxTotalOnly\n }\n price={taxTotal.price}\n classSuffixes={['taxTotal']}\n testId=\"tax-total-only\"\n />\n )\n );\n\n const printedCardContent = printedCard?.renderContent ? (\n <OrderSummaryLine\n key={translations.printedCardTitle}\n label={translations.printedCardTitle}\n price={\n printedCard.taxInclAndExcl || printedCard.taxIncluded\n ? printedCard.priceInclTax\n : printedCard.priceExclTax\n }\n classSuffixes={['printedCardContent']}\n >\n {printedCard.taxIncluded && (\n <div\n data-testid=\"printed-card-incl\"\n className=\"cart-order-summary__caption\"\n >\n <span>{translations.printedCardInclTax}</span>\n </div>\n )}\n\n {printedCard.taxInclAndExcl ? (\n <div\n data-testid=\"printed-card-incl-excl\"\n className=\"cart-order-summary__caption\"\n >\n <span>\n {printedCard.priceExclTax}\n \n {translations.printedCardExclTax}\n </span>\n </div>\n ) : undefined}\n </OrderSummaryLine>\n ) : null;\n\n const itemsGiftWrappingContent = itemsGiftWrapping?.renderContent ? (\n <OrderSummaryLine\n key={translations.itemGiftWrappingTitle}\n label={translations.itemGiftWrappingTitle}\n price={\n itemsGiftWrapping.taxInclAndExcl || itemsGiftWrapping.taxIncluded\n ? itemsGiftWrapping.priceInclTax\n : itemsGiftWrapping.priceExclTax\n }\n classSuffixes={['itemsGiftWrappingContent']}\n >\n {itemsGiftWrapping.taxIncluded ? (\n <div\n data-testid=\"item-gift-wrapping-incl\"\n className=\"cart-order-summary__caption\"\n >\n <span>{translations.itemGiftWrappingInclTax}</span>\n </div>\n ) : null}\n\n {itemsGiftWrapping.taxInclAndExcl ? (\n <div\n data-testid=\"item-gift-wrapping-incl-excl\"\n className=\"cart-order-summary__caption\"\n >\n <span>\n {itemsGiftWrapping.priceExclTax}\n \n {translations.itemGiftWrappingExclTax}\n </span>\n </div>\n ) : null}\n </OrderSummaryLine>\n ) : null;\n\n const orderGiftWrappingContent = orderGiftWrapping?.renderContent ? (\n <OrderSummaryLine\n key={translations.orderGiftWrappingTitle}\n label={translations.orderGiftWrappingTitle}\n price={\n orderGiftWrapping.taxInclAndExcl || orderGiftWrapping.taxIncluded\n ? orderGiftWrapping.priceInclTax\n : orderGiftWrapping.priceExclTax\n }\n classSuffixes={['orderGiftWrappingContent']}\n >\n {orderGiftWrapping.taxIncluded && (\n <div\n data-testid=\"order-gift-wrapping-incl\"\n className=\"cart-order-summary__caption\"\n >\n <span>{translations.orderGiftWrappingInclTax}</span>\n </div>\n )}\n\n {orderGiftWrapping.taxInclAndExcl ? (\n <div\n data-testid=\"order-gift-wrapping-incl-excl\"\n className=\"cart-order-summary__caption\"\n >\n <span>\n {orderGiftWrapping.priceExclTax}\n \n {translations.orderGiftWrappingExclTax}\n </span>\n </div>\n ) : undefined}\n </OrderSummaryLine>\n ) : null;\n\n const lineItems: Array<OrderSummaryLineItem> = [\n {\n key: 'subTotalContent',\n sortOrder: 100,\n content: subTotalContent,\n },\n ...(shipping\n ? [\n {\n key: 'shippingContent',\n sortOrder: 200,\n content: (\n <VComponent\n node={shipping}\n className=\"cart-order-summary__shipping\"\n />\n ),\n },\n ]\n : []),\n {\n key: 'printedCard',\n sortOrder: 300,\n content: printedCardContent,\n },\n {\n key: 'itemsGiftWrappingContent',\n sortOrder: 400,\n content: itemsGiftWrappingContent,\n },\n {\n key: 'orderGiftWrappingContent',\n sortOrder: 500,\n content: orderGiftWrappingContent,\n },\n {\n key: 'discountsContent',\n sortOrder: 600,\n content: discountsContent,\n },\n {\n key: 'appliedGiftCardsContent',\n sortOrder: 700,\n content: appliedGiftCardsContent,\n },\n {\n key: 'taxContent',\n sortOrder: 800,\n content: taxContent,\n },\n ...(total\n ? [\n {\n key: 'taxContent',\n sortOrder: 900,\n content: (\n <OrderSummaryLine\n label={\n total.estimated\n ? translations.totalEstimated\n : translations.totalLabel\n }\n price={total.price}\n classSuffixes={['total', 'total--padded']}\n testId=\"total-content\"\n labelClassSuffix=\"bold\"\n />\n ),\n },\n ]\n : []),\n ...(total?.priceWithoutTax\n ? [\n {\n key: 'totalWithoutTaxContent',\n sortOrder: 1000,\n content: (\n <OrderSummaryLine\n label={translations.totalWithoutTax}\n price={total.priceWithoutTax}\n classSuffixes={['totalWithoutTax']}\n testId=\"total-without-tax\"\n labelClassSuffix=\"muted\"\n />\n ),\n },\n ]\n : []),\n ...(totalSaved\n ? [\n {\n key: 'totalSavedContent',\n sortOrder: 1100,\n content: (\n <OrderSummaryLine\n label={translations.totalSaved}\n price={totalSaved}\n classSuffixes={['saved']}\n testId=\"total-saved\"\n labelClassSuffix=\"muted\"\n />\n ),\n },\n ]\n : []),\n ...(primaryAction\n ? [\n {\n key: 'primaryActionContent',\n sortOrder: 1200,\n content: (\n <div\n className={classes([\n 'cart-order-summary__entry',\n 'cart-order-summary__primaryAction',\n ])}\n >\n {primaryAction}\n </div>\n ),\n },\n ]\n : []),\n ...(coupons\n ? [\n {\n key: 'couponsContent',\n sortOrder: 1300,\n content: (\n <VComponent\n node={coupons}\n className=\"cart-order-summary__coupons\"\n />\n ),\n },\n ]\n : []),\n ...(giftCards\n ? [\n {\n key: 'giftCardsContent',\n sortOrder: 1400,\n content: (\n <VComponent\n node={giftCards}\n className=\"cart-order-summary__gift-cards\"\n />\n ),\n },\n ]\n : []),\n ];\n\n const updatedLineItems: Array<OrderSummaryLineItem> = updateLineItems(\n lineItems\n ).sort(\n (currentLine: OrderSummaryLineItem, nextLine: OrderSummaryLineItem) => {\n return currentLine.sortOrder - nextLine.sortOrder;\n }\n );\n\n return (\n <div\n {...props}\n className={classes([\n 'cart-order-summary',\n ['cart-order-summary--loading', loading],\n [`cart-order-summary__${variant}`, variant],\n className,\n ])}\n >\n {loading && <ProgressSpinner className=\"cart-order-summary__spinner\" />}\n\n <div className=\"cart-order-summary__heading\">\n {heading && (\n <VComponent\n node={heading}\n className=\"cart-order-summary__heading-text\"\n />\n )}\n\n <Divider\n variant=\"primary\"\n className=\"cart-order-summary__divider-primary\"\n />\n </div>\n\n <div className=\"cart-order-summary__content\">\n {updatedLineItems.map((line: OrderSummaryLineItem) => {\n if (Array.isArray(line.content)) {\n return (\n <Accordion\n key={line.key}\n className={line.className}\n actionIconPosition={'right'}\n iconOpen={ChevronDown}\n iconClose={ChevronUp}\n >\n <AccordionSection\n defaultOpen={false}\n title={line.title}\n renderContentWhenClosed={false}\n >\n {line.content.map((innerLine) => {\n return innerLine.content;\n })}\n </AccordionSection>\n </Accordion>\n );\n }\n return line.content;\n })}\n </div>\n </div>\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { useState } from 'preact/compat';\nimport { PriceProps } from '@adobe-commerce/elsie/components';\n\nimport { getEstimatedTotals } from '@/cart/api';\n\nexport const useEstimatedTotals = () => {\n const [loading, setLoading] = useState<boolean>(false);\n\n const [estimatedTotals, setEstimatedTotals] = useState<any>();\n\n const handleEstimateTotals = (\n formValues: {\n shippingCountry: string;\n shippingState?: string;\n shippingStateId?: number;\n shippingZip?: string;\n },\n shippingMethods?: {\n carrier_code: string;\n method_code: string;\n }\n ) => {\n setLoading(true);\n\n const {\n shippingCountry,\n shippingState = '',\n shippingStateId,\n shippingZip = '',\n } = formValues;\n\n const inputData = {\n countryCode: shippingCountry,\n postcode: shippingZip,\n region: {\n region: shippingState,\n id: shippingStateId,\n },\n shipping_method: {\n carrier_code: shippingMethods?.carrier_code || '',\n method_code: shippingMethods?.method_code || '',\n },\n };\n\n getEstimatedTotals(inputData)\n .then((data) => {\n if (data) {\n setEstimatedTotals({\n estimatedTaxTotal: {\n amount: data.totalTax?.value,\n currency: data.totalTax?.currency,\n },\n estimatedSubTotal: {\n excludingTax: {\n amount: data.subtotal?.excludingTax?.value,\n currency: data.subtotal?.excludingTax?.currency,\n },\n includingTax: {\n amount: data.subtotal?.includingTax?.value,\n currency: data.subtotal?.includingTax?.currency,\n },\n includingDiscountOnly: {\n amount: data.subtotal?.includingDiscountOnly?.value,\n currency: data.subtotal?.includingDiscountOnly?.currency,\n },\n },\n estimatedGrandTotalPrice: {\n includingTax: {\n amount: data.total?.includingTax.value,\n currency: data.total?.includingTax.currency,\n },\n excludingTax: {\n amount: data.total?.excludingTax.value,\n currency: data.total?.excludingTax.currency,\n },\n },\n estimatedAppliedTaxes: {\n taxes: data.appliedTaxes?.map((tax) => {\n return {\n label: tax.label,\n amount: {\n value: tax.amount?.value,\n currency: tax.amount?.currency,\n },\n };\n }),\n },\n estimatedItems: {\n items: data.items?.map((item) => {\n return {\n uid: item.uid,\n price: {\n amount: item.price?.value,\n currency: item.price?.currency,\n },\n taxedPrice: {\n amount: item.taxedPrice?.value,\n currency: item.taxedPrice?.currency,\n },\n rowTotal: {\n amount: item.rowTotal?.value,\n currency: item.rowTotal?.currency,\n },\n rowTotalIncludingTax: {\n amount: item.rowTotalIncludingTax?.value,\n currency: item.rowTotalIncludingTax?.currency,\n },\n regularPrice: {\n amount: item.regularPrice?.value,\n currency: item.regularPrice?.currency,\n },\n };\n }),\n },\n } as PriceProps);\n }\n })\n .finally(() => {\n setLoading(false);\n });\n };\n\n return {\n handleEstimateTotals,\n estimatedTotals,\n setEstimatedTotals,\n loading,\n };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport {\n HTMLAttributes,\n useCallback,\n useEffect,\n useState,\n} from 'preact/compat';\nimport { Container, Slot, SlotProps } from '@adobe-commerce/elsie/lib';\nimport { CartModel } from '@/cart/data/models';\nimport { getPersistedCartData } from '@/cart/lib/persisted-data';\nimport { events } from '@adobe-commerce/event-bus';\nimport { MiniCart as MiniCartComponent } from '@/cart/components';\nimport { CartSummaryList } from '@/cart/containers';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { Button, ImageProps, Price } from '@adobe-commerce/elsie/components';\nimport { updateProductsFromCart } from '@/cart/api';\nimport { publishInitiateCheckoutEvent } from '@/cart/lib/acdl';\nimport { state } from '@/cart/lib/state';\n\nexport interface MiniCartProps extends HTMLAttributes<HTMLDivElement> {\n routeProduct?: (item: CartModel['items'][0]) => string;\n routeCart?: () => string;\n routeCheckout?: () => string;\n routeEmptyCartCTA?: () => string;\n slots?: {\n ProductList?: SlotProps;\n ProductListFooter?: SlotProps;\n PreCheckoutSection?: SlotProps;\n Thumbnail?: SlotProps<{\n item: CartModel['items'][number];\n defaultImageProps: ImageProps;\n }>;\n Heading?: SlotProps;\n EmptyCart?: SlotProps;\n Footer?: SlotProps;\n ProductAttributes?: SlotProps;\n CartSummaryFooter?: SlotProps;\n CartItem?: SlotProps; // For backward compatibility\n UndoBanner?: SlotProps<{\n item: CartModel['items'][0];\n loading: boolean;\n error?: string;\n onUndo: () => void;\n onDismiss: () => void;\n }>;\n ItemTitle?: SlotProps<{ item: CartModel['items'][number] }>;\n ItemPrice?: SlotProps<{ item: CartModel['items'][number] }>;\n ItemQuantity?: SlotProps<{\n item: CartModel['items'][number];\n enableUpdateItemQuantity: boolean;\n handleItemQuantityUpdate: (\n item: CartModel['items'][number],\n quantity: number\n ) => void;\n itemsLoading: Set<string>;\n handleItemsError: (uid: string, message?: string) => void;\n handleItemsLoading: (uid: string, state: boolean) => void;\n onItemUpdate?: ({ item }: { item: CartModel['items'][number] }) => void;\n }>;\n ItemTotal?: SlotProps<{ item: CartModel['items'][number] }>;\n ItemSku?: SlotProps<{ item: CartModel['items'][number] }>;\n ItemRemoveAction?: SlotProps<{\n item: CartModel['items'][number];\n enableRemoveItem: boolean;\n handleItemQuantityUpdate: (\n item: CartModel['items'][number],\n quantity: number\n ) => void;\n handleItemsError: (uid: string, message?: string) => void;\n handleItemsLoading: (uid: string, state: boolean) => void;\n onItemUpdate?: ({ item }: { item: CartModel['items'][number] }) => void;\n itemsLoading: Set<string>;\n }>;\n };\n hideFooter?: boolean;\n displayAllItems?: boolean;\n showDiscount?: boolean;\n showSavings?: boolean;\n enableItemRemoval?: boolean;\n enableQuantityUpdate?: boolean;\n hideHeading?: boolean;\n undo?: boolean;\n}\n\nexport const MiniCart: Container<MiniCartProps, CartModel | null> = ({\n children,\n initialData = null,\n hideFooter = true, // Default to true for MiniCart\n slots,\n routeProduct,\n routeCart,\n routeCheckout,\n routeEmptyCartCTA,\n showDiscount,\n showSavings,\n enableItemRemoval = true, // Default to true for MiniCart\n enableQuantityUpdate = false, // Default to false for MiniCart\n hideHeading = false, // Default to false for MiniCart\n undo = false,\n ...props\n}) => {\n const [data, setData] = useState<CartModel | null>(initialData);\n const cartTaxesConfig = state.config?.shoppingCartDisplaySetting;\n\n useEffect(() => {\n const event = events.on(\n 'cart/data',\n (payload) => {\n setData(payload as CartModel);\n },\n { eager: true }\n );\n\n return () => {\n event?.off();\n };\n }, []);\n\n const dictionary = useText({\n cartLink: 'Cart.MiniCart.cartLink',\n checkoutLink: 'Cart.MiniCart.checkoutLink',\n });\n\n const handleItemQuantityUpdate = (uid: string, quantity: number) => {\n return updateProductsFromCart([{ uid, quantity }]);\n };\n\n const handleItemRemove = (uid: string) => handleItemQuantityUpdate(uid, 0);\n\n const checkoutLinkDisabled = data?.hasOutOfStockItems;\n\n const handleInitiateCheckout = useCallback(() => {\n if (data && !checkoutLinkDisabled) {\n publishInitiateCheckoutEvent(data, state.locale);\n }\n }, [data, checkoutLinkDisabled]);\n\n const productList = (\n <Slot\n name=\"ProductList\"\n slot={slots?.ProductList}\n context={{\n itemQuantityUpdateHandler: handleItemQuantityUpdate,\n itemRemoveHandler: handleItemRemove,\n totalQuantity: data?.totalQuantity,\n }}\n >\n <CartSummaryList\n data-testid=\"default-cart-summary-list\"\n routeProduct={routeProduct}\n routeEmptyCartCTA={routeEmptyCartCTA}\n initialData={data}\n maxItems={state.config?.miniCartMaxItemsDisplay}\n showMaxItems={!!state.config?.miniCartMaxItemsDisplay}\n hideHeading={hideHeading || !data?.totalQuantity}\n hideFooter={hideFooter}\n enableRemoveItem={enableItemRemoval}\n enableUpdateItemQuantity={enableQuantityUpdate}\n showDiscount={showDiscount}\n showSavings={showSavings}\n undo={undo}\n slots={{\n Thumbnail: slots?.Thumbnail,\n Heading: slots?.Heading,\n EmptyCart: slots?.EmptyCart,\n Footer: slots?.Footer,\n ProductAttributes: slots?.ProductAttributes,\n CartSummaryFooter: slots?.CartSummaryFooter,\n CartItem: slots?.CartItem, // Keep for backward compatibility\n UndoBanner: slots?.UndoBanner,\n ItemTitle: slots?.ItemTitle,\n ItemPrice: slots?.ItemPrice,\n ItemQuantity: slots?.ItemQuantity,\n ItemTotal: slots?.ItemTotal,\n ItemSku: slots?.ItemSku,\n ItemRemoveAction: slots?.ItemRemoveAction,\n }}\n />\n </Slot>\n );\n\n const getProductListFooter = (data: CartModel | null) => {\n return (\n <Slot\n name=\"ProductListFooter\"\n slot={slots?.ProductListFooter}\n context={{\n data,\n }}\n />\n );\n };\n\n const getPreCheckoutSection = (data: CartModel | null) => {\n return (\n <Slot\n name=\"PreCheckoutSection\"\n slot={slots?.PreCheckoutSection}\n context={{\n data,\n }}\n />\n );\n };\n\n const getSubtotalPriceProps = () =>\n cartTaxesConfig?.subtotal === 'INCLUDING_TAX' ||\n cartTaxesConfig?.subtotal === 'INCLUDING_EXCLUDING_TAX'\n ? {\n amount: data?.subtotal.includingTax.value,\n currency: data?.subtotal.includingTax.currency,\n 'data-testid': 'subtotal-including-tax',\n style: { font: 'inherit' },\n }\n : {\n amount: data?.subtotal.excludingTax.value,\n currency: data?.subtotal.excludingTax.currency,\n 'data-testid': 'subtotal-excluding-tax',\n style: { font: 'inherit' },\n };\n\n return (\n <MiniCartComponent\n {...props}\n productListFooter={getProductListFooter(data)}\n subtotal={\n !data?.totalQuantity\n ? undefined\n : data?.subtotal && <Price {...getSubtotalPriceProps()} />\n }\n subtotalExcludingTaxes={\n !data?.totalQuantity\n ? undefined\n : data?.subtotal &&\n (cartTaxesConfig?.subtotal === 'INCLUDING_EXCLUDING_TAX' ? (\n <Price\n amount={data?.subtotal.excludingTax.value}\n currency={data?.subtotal.excludingTax.currency}\n data-testid=\"subtotal-including-excluding-tax\"\n style={{ font: 'inherit' }}\n />\n ) : undefined)\n }\n preCheckoutSection={getPreCheckoutSection(data)}\n ctas={\n !data?.totalQuantity ? undefined : (\n <div>\n {routeCheckout && (\n <Button\n data-testid=\"route-checkout-button\"\n variant=\"primary\"\n href={checkoutLinkDisabled ? undefined : routeCheckout()}\n disabled={checkoutLinkDisabled}\n aria-disabled={checkoutLinkDisabled}\n onClick={handleInitiateCheckout}\n >\n {dictionary.checkoutLink}\n </Button>\n )}\n {routeCart && (\n <Button\n data-testid=\"route-cart-button\"\n variant=\"tertiary\"\n href={routeCart()}\n >\n {dictionary.cartLink}\n </Button>\n )}\n </div>\n )\n }\n products={productList}\n />\n );\n};\n\nMiniCart.getInitialData = async function () {\n return getPersistedCartData();\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { VNode } from 'preact';\nimport {\n HTMLAttributes,\n useCallback,\n useEffect,\n useState,\n Fragment,\n} from 'preact/compat';\nimport { Container, Slot, SlotProps } from '@adobe-commerce/elsie/lib';\nimport { events } from '@adobe-commerce/event-bus';\nimport {\n CartModel,\n AppliedGiftCardProps,\n} from '@/cart/data/models';\nimport { getPersistedCartData } from '@/cart/lib/persisted-data';\nimport { useEstimatedTotals } from '@/cart/hooks';\nimport { state } from '@/cart/lib/state';\nimport { Button, Price, Icon } from '@adobe-commerce/elsie/components';\nimport { useText, Text } from '@adobe-commerce/elsie/i18n';\nimport {\n OrderSummary as OrderSummaryComponent,\n OrderSummaryLineItem,\n} from '@/cart/components';\nimport { ShippingOrderSummaryLine } from '@/cart/containers';\nimport { publishInitiateCheckoutEvent } from '@/cart/lib/acdl';\nimport { Coupon, GiftCard } from '@adobe-commerce/elsie/icons';\n\ninterface CheckoutRouteContext {\n cartId: string;\n}\n\nexport interface OrderSummaryProps extends HTMLAttributes<HTMLDivElement> {\n routeCheckout?: (context: CheckoutRouteContext) => string;\n slots?: {\n EstimateShipping?: SlotProps;\n Coupons?: SlotProps;\n GiftCards?: SlotProps;\n };\n enableCoupons?: boolean;\n enableGiftCards?: boolean;\n errors: boolean;\n showTotalSaved?: boolean;\n updateLineItems?: (\n lineItems: Array<OrderSummaryLineItem>\n ) => Array<OrderSummaryLineItem>;\n}\n\nexport const OrderSummary: Container<OrderSummaryProps, CartModel | null> = ({\n children,\n initialData = null,\n routeCheckout,\n slots,\n errors,\n showTotalSaved,\n enableCoupons,\n enableGiftCards,\n updateLineItems = (lineItems) => lineItems,\n ...props\n}) => {\n const [data, setData] = useState<CartModel | null>(initialData);\n const [hasQuantityErrors, setHasQuantityErrors] = useState(false);\n const isVirtual = data?.isVirtual;\n\n enableCoupons = enableCoupons ?? true;\n enableGiftCards = enableGiftCards ?? true;\n\n const {\n handleEstimateTotals,\n estimatedTotals,\n setEstimatedTotals,\n loading: handleEstimateLoading,\n } = useEstimatedTotals();\n\n const cartTaxesConfig = state.config?.shoppingCartDisplaySetting;\n const isIncludingTax = cartTaxesConfig?.subtotal === 'INCLUDING_TAX';\n const isIncludingAndExcludingTax =\n cartTaxesConfig?.subtotal === 'INCLUDING_EXCLUDING_TAX';\n const isZeroTax = cartTaxesConfig?.zeroTax;\n const calculateTotalGiftCardAmount = () => {\n return (\n data?.appliedGiftCards.reduce((acc: number, current: any) => {\n return acc + current.appliedBalance.value;\n }, 0) ?? 0\n );\n };\n const appliedGiftCardsPriceConfig = (giftCard: AppliedGiftCardProps) => {\n if (!giftCard?.code) return null;\n\n return (\n <Fragment key={giftCard.code}>\n <span className=\"cart-order-summary__coupon__code\">\n <Icon source={GiftCard} size=\"16\" />\n <span>{giftCard?.code}</span>\n </span>\n <span className=\"cart-order-summary__caption\">\n <Text id=\"Cart.PriceSummary.giftCard.appliedGiftCards.remainingBalance\" />\n <Price\n className=\"cart-order-summary__caption\"\n weight=\"normal\"\n size=\"small\"\n amount={giftCard.giftCardBalance.value}\n currency={giftCard.giftCardBalance.currency}\n />\n </span>\n </Fragment>\n );\n };\n const cartGiftWrappingTax = state.config?.cartGiftWrapping;\n const cartPrintedCardTax = state.config?.cartPrintedCard;\n const totalGiftOptions = data?.totalGiftOptions;\n\n useEffect(() => {\n const dataEvent = events.on(\n 'cart/data',\n (payload) => {\n setData(payload as CartModel);\n\n const shippingAddress = payload?.addresses?.shipping;\n const isVirtual = payload?.isVirtual;\n\n if (shippingAddress || isVirtual) {\n setEstimatedTotals(null);\n }\n\n if (estimatedTotals == null) {\n setEstimatedTotals({\n estimatedTaxTotal: {\n amount: payload?.totalTax?.value,\n currency: payload?.totalTax?.currency,\n },\n });\n }\n },\n { eager: true }\n );\n\n return () => {\n dataEvent?.off();\n };\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n useEffect(() => {\n setHasQuantityErrors(errors);\n }, [errors]);\n\n useEffect(() => {\n const shippingEvent = events.on('shipping/estimate', (payload) => {\n const formValues = {\n shippingCountry: payload?.address?.countryCode,\n shippingState: payload?.address?.region,\n shippingStateId: payload?.address?.regionId,\n shippingZip: payload?.address?.postCode,\n };\n\n const shippingMethods = {\n carrier_code: payload?.shippingMethod?.carrierCode || '',\n method_code: payload?.shippingMethod?.methodCode || '',\n };\n\n handleEstimateTotals(formValues, shippingMethods);\n });\n\n return () => {\n shippingEvent?.off();\n };\n }, [handleEstimateTotals]);\n\n const [isCheckoutInitialized, setIsCheckoutInitialized] = useState(false);\n\n useEffect(() => {\n const checkoutEvent = events.on('checkout/initialized', () => {\n setIsCheckoutInitialized(true);\n });\n\n return () => {\n checkoutEvent?.off();\n };\n }, []);\n\n const translations = useText({\n checkout: 'Cart.PriceSummary.checkout',\n free: 'Cart.PriceSummary.total.free',\n orderSummary: 'Cart.PriceSummary.orderSummary',\n taxToBeDetermined: 'Cart.PriceSummary.taxToBeDetermined',\n });\n\n const checkoutLinkDisabled = data?.hasOutOfStockItems || hasQuantityErrors;\n\n const handleInitiateCheckout = useCallback(() => {\n if (!checkoutLinkDisabled && data) {\n publishInitiateCheckoutEvent(data, state.locale);\n }\n }, [checkoutLinkDisabled, data]);\n\n const shipping = !isVirtual ? (\n slots?.EstimateShipping ? (\n <Slot\n name=\"EstimateShipping\"\n slot={slots.EstimateShipping}\n key=\"estimateShippingId\"\n />\n ) : (\n <ShippingOrderSummaryLine />\n )\n ) : undefined;\n\n if (!Object.keys(data ?? {}).length || data?.totalQuantity === 0) {\n return null;\n }\n\n const coupons =\n enableCoupons && slots?.Coupons ? (\n <Slot name=\"Coupons\" slot={slots.Coupons} key=\"couponsId\" />\n ) : undefined;\n\n const giftCards =\n enableGiftCards && slots?.GiftCards ? (\n <Slot name=\"GiftCards\" slot={slots.GiftCards} key=\"giftCardId\" />\n ) : undefined;\n\n return (\n <OrderSummaryComponent\n {...props}\n data-testid=\"cart-order-summary\"\n heading={<div>{translations.orderSummary}</div>}\n shipping={shipping}\n coupons={coupons}\n giftCards={giftCards}\n loading={handleEstimateLoading}\n updateLineItems={updateLineItems}\n appliedGiftCards={\n !data?.appliedGiftCards?.length\n ? undefined\n : {\n label: (\n <Text\n id=\"Cart.PriceSummary.giftCard.appliedGiftCards.label\"\n plural={data?.appliedGiftCards?.length}\n fields={{\n count: data?.appliedGiftCards?.length,\n }}\n />\n ),\n price: (\n <Price\n className=\"cart-order-summary__price\"\n amount={-calculateTotalGiftCardAmount()}\n currency={\n data?.appliedGiftCards?.[0]?.appliedBalance.currency\n }\n />\n ),\n content: data?.appliedGiftCards\n ?.map(appliedGiftCardsPriceConfig)\n .filter(Boolean) as VNode[],\n }\n }\n printedCard={{\n renderContent: !!totalGiftOptions?.printedCard?.value,\n taxIncluded: cartPrintedCardTax === 'INCLUDING_TAX',\n taxInclAndExcl: cartPrintedCardTax === 'INCLUDING_EXCLUDING_TAX',\n priceExclTax: (\n <Price\n data-testid=\"printed-card\"\n amount={totalGiftOptions?.printedCard?.value}\n currency={totalGiftOptions?.printedCard?.currency}\n />\n ),\n priceInclTax: (\n <Price\n amount={totalGiftOptions?.printedCardInclTax?.value}\n currency={totalGiftOptions?.printedCardInclTax?.currency}\n />\n ),\n }}\n itemsGiftWrapping={{\n renderContent: !!totalGiftOptions?.giftWrappingForItems?.value,\n taxIncluded: cartGiftWrappingTax === 'INCLUDING_TAX',\n taxInclAndExcl: cartGiftWrappingTax === 'INCLUDING_EXCLUDING_TAX',\n priceExclTax: (\n <Price\n amount={totalGiftOptions?.giftWrappingForItems?.value}\n currency={totalGiftOptions?.giftWrappingForItems?.currency}\n />\n ),\n priceInclTax: (\n <Price\n amount={totalGiftOptions?.giftWrappingForItemsInclTax?.value}\n currency={totalGiftOptions?.giftWrappingForItemsInclTax?.currency}\n />\n ),\n }}\n orderGiftWrapping={{\n renderContent: !!totalGiftOptions?.giftWrappingForOrder?.value,\n taxIncluded: cartGiftWrappingTax === 'INCLUDING_TAX',\n taxInclAndExcl: cartGiftWrappingTax === 'INCLUDING_EXCLUDING_TAX',\n priceExclTax: (\n <Price\n amount={totalGiftOptions?.giftWrappingForOrder?.value}\n currency={totalGiftOptions?.giftWrappingForOrder?.currency}\n />\n ),\n priceInclTax: (\n <Price\n amount={totalGiftOptions?.giftWrappingForOrderInclTax?.value}\n currency={totalGiftOptions?.giftWrappingForOrderInclTax?.currency}\n />\n ),\n }}\n subTotal={{\n taxIncluded: isIncludingTax && !isZeroTax,\n taxExcluded: isIncludingAndExcludingTax,\n zeroTaxSubtotal: isZeroTax,\n priceExcludingTax: estimatedTotals?.estimatedSubTotal?.excludingTax ? (\n <Price\n data-testid=\"subtotal\"\n {...estimatedTotals?.estimatedSubTotal?.excludingTax}\n />\n ) : (\n <Price\n data-testid=\"subtotal\"\n amount={data?.subtotal?.excludingTax?.value}\n currency={data?.subtotal?.excludingTax?.currency}\n />\n ),\n price:\n (!isZeroTax && isIncludingTax) ||\n (!isZeroTax && isIncludingAndExcludingTax) ? (\n estimatedTotals?.estimatedSubTotal?.includingTax ? (\n <Price\n data-testid=\"subtotal\"\n {...estimatedTotals?.estimatedSubTotal?.includingTax}\n />\n ) : (\n <Price\n data-testid=\"subtotal\"\n amount={data?.subtotal.includingTax?.value}\n currency={data?.subtotal.includingTax?.currency}\n />\n )\n ) : (\n <Price\n data-testid=\"subtotal\"\n amount={data?.subtotal?.excludingTax?.value}\n currency={data?.subtotal?.excludingTax?.currency}\n />\n ),\n }}\n discounts={data?.appliedDiscounts?.map((discount) => {\n return {\n label: discount.label,\n price: (\n <Price\n data-testid=\"summary-discount-total\"\n amount={-discount.amount.value}\n currency={discount.amount.currency}\n sale={true}\n />\n ),\n coupon: discount?.coupon ? (\n <span>\n <Icon source={Coupon} size=\"16\" />\n {discount?.coupon?.code}\n </span>\n ) : undefined,\n };\n })}\n taxTotal={\n (isVirtual && !data?.appliedTaxes.length && !isCheckoutInitialized) ||\n (estimatedTotals && estimatedTotals.estimatedTaxTotal == null)\n ? {\n price: (\n <span data-testid=\"tax-total-tbd\">\n {translations.taxToBeDetermined}\n </span>\n ),\n }\n : {\n price: estimatedTotals?.estimatedTaxTotal ? (\n <Price\n data-testid=\"tax-total-estimated\"\n {...estimatedTotals?.estimatedTaxTotal}\n />\n ) : (\n <Price\n data-testid=\"tax-total-actual\"\n amount={data?.totalTax?.value}\n currency={data?.totalTax?.currency}\n />\n ),\n estimated:\n (!estimatedTotals || !estimatedTotals.estimatedTaxTotal) &&\n !data?.addresses?.shipping,\n }\n }\n taxesApplied={\n isVirtual\n ? undefined\n : cartTaxesConfig?.fullSummary\n ? (\n estimatedTotals?.estimatedAppliedTaxes?.taxes ||\n data?.appliedTaxes\n )?.map((tax: any) => ({\n label: tax.label,\n price: (\n <Price\n data-testid=\"applied-taxes\"\n amount={tax.amount.value}\n currency={tax.amount.currency}\n />\n ),\n }))\n : undefined\n }\n total={{\n price: estimatedTotals?.estimatedGrandTotalPrice ? (\n estimatedTotals?.estimatedGrandTotalPrice?.includingTax?.amount ===\n 0 ? (\n <span data-testid=\"total-including-tax\">{translations.free}</span>\n ) : (\n <Price\n data-testid=\"total-including-tax-estimated\"\n {...estimatedTotals?.estimatedGrandTotalPrice?.includingTax}\n />\n )\n ) : data?.total?.includingTax.value === 0 ? (\n <span data-testid=\"total-including-tax\">{translations.free}</span>\n ) : (\n <Price\n data-testid=\"total-including-tax-actual\"\n amount={data?.total?.includingTax.value}\n currency={data?.total?.includingTax.currency}\n />\n ),\n estimated:\n (!estimatedTotals || !!estimatedTotals?.estimatedTaxTotal) &&\n !data?.addresses?.shipping,\n priceWithoutTax: cartTaxesConfig?.grandTotal ? (\n estimatedTotals?.estimatedAppliedTaxes ? (\n estimatedTotals?.estimatedGrandTotalPrice?.excludingTax?.amount ===\n 0 ? (\n <span data-testid=\"total-excluding-tax\">{translations.free}</span>\n ) : (\n <Price\n data-testid=\"total-excluding-tax\"\n {...estimatedTotals?.estimatedGrandTotalPrice?.excludingTax}\n />\n )\n ) : data?.total?.excludingTax.value === 0 ? (\n <span data-testid=\"total-excluding-tax\">{translations.free}</span>\n ) : (\n <Price\n data-testid=\"total-excluding-tax\"\n amount={data?.total?.excludingTax.value}\n currency={data?.total?.excludingTax.currency}\n />\n )\n ) : undefined,\n }}\n primaryAction={\n routeCheckout && (\n <Button\n data-testid=\"checkout-button\"\n variant=\"primary\"\n disabled={checkoutLinkDisabled}\n aria-disabled={checkoutLinkDisabled}\n href={\n checkoutLinkDisabled\n ? undefined\n : routeCheckout({\n cartId: data!.id,\n })\n }\n onClick={handleInitiateCheckout}\n >\n {translations.checkout}\n </Button>\n )\n }\n totalSaved={\n showTotalSaved ? (\n <Price\n amount={data?.discount?.value}\n currency={data?.total?.includingTax.currency}\n />\n ) : undefined\n }\n />\n );\n};\n\nOrderSummary.getInitialData = async function () {\n return getPersistedCartData();\n};\n"],"names":["MiniCart","className","products","productListFooter","subtotal","subtotalExcludingTaxes","preCheckoutSection","ctas","props","dictionary","useText","jsx","classes","jsxs","Fragment","VComponent","OrderSummary","children","variant","heading","loading","subTotal","shipping","discounts","taxTotal","taxesApplied","total","primaryAction","coupons","giftCards","totalSaved","appliedGiftCards","printedCard","itemsGiftWrapping","orderGiftWrapping","updateLineItems","lineItems","showTaxBreakdown","setShowTaxBreakdown","useState","translations","appliedGiftCardsContent","OrderSummaryLine","subTotalContent","discountsContent","discount","taxContent","Accordion","ChevronDown","ChevronUp","AccordionSection","tax","printedCardContent","itemsGiftWrappingContent","orderGiftWrappingContent","updatedLineItems","currentLine","nextLine","ProgressSpinner","Divider","line","innerLine","useEstimatedTotals","setLoading","estimatedTotals","setEstimatedTotals","formValues","shippingMethods","shippingCountry","shippingState","shippingStateId","shippingZip","inputData","getEstimatedTotals","data","_a","_b","_d","_c","_f","_e","_h","_g","_j","_i","_l","_k","_n","_m","_o","_p","_q","_r","_s","_t","item","initialData","hideFooter","slots","routeProduct","routeCart","routeCheckout","routeEmptyCartCTA","showDiscount","showSavings","enableItemRemoval","enableQuantityUpdate","hideHeading","undo","setData","cartTaxesConfig","state","useEffect","event","events","payload","handleItemQuantityUpdate","uid","quantity","updateProductsFromCart","handleItemRemove","checkoutLinkDisabled","handleInitiateCheckout","useCallback","publishInitiateCheckoutEvent","productList","Slot","CartSummaryList","getProductListFooter","getPreCheckoutSection","getSubtotalPriceProps","MiniCartComponent","Price","Button","getPersistedCartData","errors","showTotalSaved","enableCoupons","enableGiftCards","hasQuantityErrors","setHasQuantityErrors","isVirtual","handleEstimateTotals","handleEstimateLoading","isIncludingTax","isIncludingAndExcludingTax","isZeroTax","calculateTotalGiftCardAmount","acc","current","appliedGiftCardsPriceConfig","giftCard","Icon","GiftCard","Text","cartGiftWrappingTax","cartPrintedCardTax","totalGiftOptions","dataEvent","shippingAddress","shippingEvent","isCheckoutInitialized","setIsCheckoutInitialized","checkoutEvent","ShippingOrderSummaryLine","OrderSummaryComponent","_u","_v","_w","_x","_y","_z","_B","_A","_D","_C","_E","_F","_G","_H","_J","_I","_L","_K","_M","Coupon","_N","_O","_P","_R","_Q","_T","_S","_U","_V","_W","_X","_Y","__","_Z","_$","_aa","_ba","_ca","_da","_ea"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{
|
|
3
|
+
import{jsxs as i,jsx as o}from"@dropins/tools/preact-jsx-runtime.js";import{classes as m,VComponent as y}from"@dropins/tools/lib.js";/* empty css */const N=({label:c,price:t,classSuffixes:n=[],labelClassSuffix:r,testId:a,children:d,...p})=>{const s="cart-order-summary__label",e="cart-order-summary__price";return i("div",{...p,...a?{"data-testid":a}:{},className:m(["cart-order-summary__entry",...n.map(_=>`cart-order-summary__${_}`)]),children:[o("span",{className:m([s,...r?[`${s}--${r}`]:[]]),children:c}),o(y,{node:t,className:m([e,...r?[`${e}--${r}`]:[]])}),d]})};export{N as O};
|
|
4
4
|
//# sourceMappingURL=OrderSummaryLine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderSummaryLine.js","sources":["/@dropins/storefront-cart/src/
|
|
1
|
+
{"version":3,"file":"OrderSummaryLine.js","sources":["/@dropins/storefront-cart/src/components/OrderSummaryLine/OrderSummaryLine.tsx"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { HTMLAttributes } from 'preact/compat';\nimport { classes, VComponent } from '@adobe-commerce/elsie/lib';\nimport { FunctionComponent, VNode } from 'preact';\nimport '@/cart/components/OrderSummaryLine/OrderSummaryLine.css';\nexport interface OrderSummaryLineComponentProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'label'> {\n label: VNode | string;\n price: VNode<HTMLAttributes<HTMLSpanElement>>;\n classSuffixes?: Array<string>;\n labelClassSuffix?: string;\n testId?: string;\n children?: any;\n}\n\nexport const OrderSummaryLine: FunctionComponent<\n OrderSummaryLineComponentProps\n> = ({\n label,\n price,\n classSuffixes = [],\n labelClassSuffix,\n testId,\n children,\n ...props\n}) => {\n const labelClass = 'cart-order-summary__label';\n const priceClass = 'cart-order-summary__price';\n return (\n <div\n {...props}\n {...(testId ? { 'data-testid': testId } : {})}\n className={classes([\n 'cart-order-summary__entry',\n ...classSuffixes.map(\n (classSuffix) => `cart-order-summary__${classSuffix}`\n ),\n ])}\n >\n <span\n className={classes([\n labelClass,\n ...(labelClassSuffix ? [`${labelClass}--${labelClassSuffix}`] : []),\n ])}\n >\n {label}\n </span>\n\n <VComponent\n node={price}\n className={classes([\n priceClass,\n ...(labelClassSuffix ? [`${priceClass}--${labelClassSuffix}`] : []),\n ])}\n />\n\n {children}\n </div>\n );\n};\n"],"names":["OrderSummaryLine","label","price","classSuffixes","labelClassSuffix","testId","children","props","labelClass","priceClass","jsxs","classes","classSuffix","jsx","VComponent"],"mappings":"mKA+BO,MAAMA,EAET,CAAC,CACH,MAAAC,EACA,MAAAC,EACA,cAAAC,EAAgB,CAAC,EACjB,iBAAAC,EACA,OAAAC,EACA,SAAAC,EACA,GAAGC,CACL,IAAM,CACJ,MAAMC,EAAa,4BACbC,EAAa,4BAEjB,OAAAC,EAAC,MAAA,CACE,GAAGH,EACH,GAAIF,EAAS,CAAE,cAAeA,GAAW,CAAC,EAC3C,UAAWM,EAAQ,CACjB,4BACA,GAAGR,EAAc,IACdS,GAAgB,uBAAuBA,CAAW,EAAA,CACrD,CACD,EAED,SAAA,CAAAC,EAAC,OAAA,CACC,UAAWF,EAAQ,CACjBH,EACA,GAAIJ,EAAmB,CAAC,GAAGI,CAAU,KAAKJ,CAAgB,EAAE,EAAI,CAAA,CAAC,CAClE,EAEA,SAAAH,CAAA,CACH,EAEAY,EAACC,EAAA,CACC,KAAMZ,EACN,UAAWS,EAAQ,CACjBF,EACA,GAAIL,EAAmB,CAAC,GAAGK,CAAU,KAAKL,CAAgB,EAAE,EAAI,CAAA,CACjE,CAAA,CAAA,CACH,EAECE,CAAA,CAAA,CACH,CAEJ"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*! Copyright 2025 Adobe
|
|
2
|
+
All Rights Reserved. */
|
|
3
|
+
import{jsx as a}from"@dropins/tools/preact-jsx-runtime.js";import"@dropins/tools/lib.js";import"@dropins/tools/components.js";/* empty css */import"@dropins/tools/preact-compat.js";import{O as n}from"./OrderSummaryLine.js";import"@dropins/tools/preact-hooks.js";const L=({label:r,price:m,classSuffixes:o=[],labelClassSuffix:t,testId:i,children:p,...e})=>a(n,{...e,label:r,price:m,classSuffixes:o,labelClassSuffix:t,testId:i,children:p});export{L as O};
|
|
4
|
+
//# sourceMappingURL=OrderSummaryLine2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrderSummaryLine2.js","sources":["/@dropins/storefront-cart/src/containers/OrderSummaryLine/OrderSummaryLine.tsx"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { HTMLAttributes } from 'preact/compat';\nimport { Container } from '@adobe-commerce/elsie/lib';\nimport { VNode } from 'preact';\nimport { OrderSummaryLine as OrderSummaryLineComponent } from '@/cart/components';\n\nexport interface OrderSummaryLineProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'label'> {\n label: VNode | string;\n price: VNode<HTMLAttributes<HTMLSpanElement>>;\n classSuffixes?: Array<string>;\n labelClassSuffix?: string;\n testId?: string;\n children?: any;\n}\n\nexport const OrderSummaryLine: Container<OrderSummaryLineProps> = ({\n label,\n price,\n classSuffixes = [],\n labelClassSuffix,\n testId,\n children,\n ...props\n}) => {\n return (\n <OrderSummaryLineComponent\n {...props}\n label={label}\n price={price}\n classSuffixes={classSuffixes}\n labelClassSuffix={labelClassSuffix}\n testId={testId}\n >\n {children}\n </OrderSummaryLineComponent>\n );\n};\n"],"names":["OrderSummaryLine","label","price","classSuffixes","labelClassSuffix","testId","children","props","jsx","OrderSummaryLineComponent"],"mappings":"qRAgCO,MAAMA,EAAqD,CAAC,CACjE,MAAAC,EACA,MAAAC,EACA,cAAAC,EAAgB,CAAC,EACjB,iBAAAC,EACA,OAAAC,EACA,SAAAC,EACA,GAAGC,CACL,IAEIC,EAACC,EAAA,CACE,GAAGF,EACJ,MAAAN,EACA,MAAAC,EACA,cAAAC,EACA,iBAAAC,EACA,OAAAC,EAEC,SAAAC,CAAA,CACH"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{jsxs as
|
|
3
|
+
import{jsxs as d,jsx as e}from"@dropins/tools/preact-jsx-runtime.js";import{classes as f}from"@dropins/tools/lib.js";import{Price as l}from"@dropins/tools/components.js";/* empty css */import{useState as y,useEffect as L}from"@dropins/tools/preact-compat.js";import{O as N}from"./OrderSummaryLine.js";import{Text as h,useText as T}from"@dropins/tools/i18n.js";import"@dropins/tools/preact-hooks.js";import{s as O}from"./state.js";import{events as v}from"@dropins/tools/event-bus.js";const C=({loading:o,price:p,priceExcludingTax:i,priceIncludingTax:n,taxExcluded:a,taxIncluded:c})=>{const u=["shipping",...o?["shipping--loading"]:[]];return d(N,{testId:"shipping-order-summary-line",classSuffixes:u,label:e(h,{id:"Cart.ShippingOrderSummaryLine.label"}),price:p,children:[c&&e("div",{"data-testid":"shipping-tax-included",className:f(["cart-shipping-order-summary-line__caption"]),children:d("span",{children:[n," ",e(h,{id:"Cart.ShippingOrderSummaryLine.withTaxes"})]})}),a&&e("div",{"data-testid":"shipping-tax-included-excluded",className:f(["cart-shipping-order-summary-line__caption"]),children:d("span",{children:[i," ",e(h,{id:"Cart.ShippingOrderSummaryLine.withoutTaxes"})]})})]})},j=({children:o,...p})=>{var g;const[i,n]=y(null),[a,c]=y(!1),u=T({label:"Cart.ShippingOrderSummaryLine.label",freeShipping:"Cart.PriceSummary.freeShipping",withTaxes:"Cart.ShippingOrderSummaryLine.withTaxes",withoutTaxes:"Cart.ShippingOrderSummaryLine.withoutTaxes"});if(L(()=>{const m=v.on("cart/data",t=>{var S,x;c((t==null?void 0:t.isVirtual)||!1);const s=(x=(S=t==null?void 0:t.addresses)==null?void 0:S.shipping)==null?void 0:x[0];s!=null&&s.selectedShippingMethod?n(s.selectedShippingMethod):n(null)},{eager:!0});return()=>{m==null||m.off()}},[]),a||!i)return null;const r=(g=O.config)==null?void 0:g.shoppingCartDisplaySetting,I=i.amount.value===0,_=()=>(r==null?void 0:r.shipping)==="INCLUDING_TAX"?{amount:i.priceInclTax.value,currency:i.priceInclTax.currency}:{amount:i.amount.value,currency:i.amount.currency};return e(C,{...p,loading:!1,taxIncluded:(r==null?void 0:r.shipping)==="INCLUDING_TAX",taxExcluded:(r==null?void 0:r.shipping)==="INCLUDING_EXCLUDING_TAX",price:I?e("span",{"data-testid":"free-shipping",children:u.freeShipping}):e(l,{className:"cart-order-summary__price","data-testid":"shipping-price",..._()}),priceIncludingTax:e(l,{className:"cart-order-summary__price","data-testid":"shipping-price-including-tax",amount:i.priceInclTax.value,currency:i.priceInclTax.currency}),priceExcludingTax:e(l,{className:"cart-order-summary__price","data-testid":"shipping-price-excluding-tax",amount:i.amount.value,currency:i.amount.currency})})};export{j as S};
|
|
4
4
|
//# sourceMappingURL=ShippingOrderSummaryLine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShippingOrderSummaryLine.js","sources":["/@dropins/storefront-cart/src/components/ShippingOrderSummaryLine/ShippingOrderSummaryLine.tsx","/@dropins/storefront-cart/src/containers/ShippingOrderSummaryLine/ShippingOrderSummaryLine.tsx"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { Text } from '@adobe-commerce/elsie/i18n';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport { FunctionComponent, VNode } from 'preact';\nimport { HTMLAttributes } from 'preact/compat';\n\nimport '@/cart/components/ShippingOrderSummaryLine/ShippingOrderSummaryLine.css';\n\nexport interface ShippingOrderSummaryLineProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'loading'> {\n loading: boolean;\n price: VNode<HTMLAttributes<HTMLSpanElement>>;\n priceExcludingTax?: VNode<HTMLAttributes<HTMLSpanElement>>;\n priceIncludingTax?: VNode<HTMLAttributes<HTMLSpanElement>>;\n taxExcluded?: boolean;\n taxIncluded?: boolean;\n}\n\nexport const ShippingOrderSummaryLine: FunctionComponent<ShippingOrderSummaryLineProps> = ({\n loading,\n price,\n priceExcludingTax,\n priceIncludingTax,\n taxExcluded,\n taxIncluded,\n}) => {\n
|
|
1
|
+
{"version":3,"file":"ShippingOrderSummaryLine.js","sources":["/@dropins/storefront-cart/src/components/ShippingOrderSummaryLine/ShippingOrderSummaryLine.tsx","/@dropins/storefront-cart/src/containers/ShippingOrderSummaryLine/ShippingOrderSummaryLine.tsx"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { Text } from '@adobe-commerce/elsie/i18n';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport { FunctionComponent, VNode } from 'preact';\nimport { HTMLAttributes } from 'preact/compat';\nimport { OrderSummaryLine } from '@/cart/components/OrderSummaryLine/OrderSummaryLine';\n\nimport '@/cart/components/ShippingOrderSummaryLine/ShippingOrderSummaryLine.css';\n\nexport interface ShippingOrderSummaryLineProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'loading'> {\n loading: boolean;\n price: VNode<HTMLAttributes<HTMLSpanElement>>;\n priceExcludingTax?: VNode<HTMLAttributes<HTMLSpanElement>>;\n priceIncludingTax?: VNode<HTMLAttributes<HTMLSpanElement>>;\n taxExcluded?: boolean;\n taxIncluded?: boolean;\n}\n\nexport const ShippingOrderSummaryLine: FunctionComponent<ShippingOrderSummaryLineProps> = ({\n loading,\n price,\n priceExcludingTax,\n priceIncludingTax,\n taxExcluded,\n taxIncluded,\n}) => {\n const classSuffixes = [\n 'shipping',\n ...(loading ? ['shipping--loading'] : []),\n ];\n\n return (\n <OrderSummaryLine\n testId=\"shipping-order-summary-line\"\n classSuffixes={classSuffixes}\n label={<Text id=\"Cart.ShippingOrderSummaryLine.label\" />}\n price={price}\n >\n {taxIncluded && (\n <div\n data-testid=\"shipping-tax-included\"\n className={classes(['cart-shipping-order-summary-line__caption'])}\n >\n <span>\n {priceIncludingTax} <Text id=\"Cart.ShippingOrderSummaryLine.withTaxes\" />\n </span>\n </div>\n )}\n\n {taxExcluded && (\n <div\n data-testid=\"shipping-tax-included-excluded\"\n className={classes(['cart-shipping-order-summary-line__caption'])}\n >\n <span>\n {priceExcludingTax} <Text id=\"Cart.ShippingOrderSummaryLine.withoutTaxes\" />\n </span>\n </div>\n )}\n </OrderSummaryLine>\n );\n};\n\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { ShippingOrderSummaryLine as ShippingOrderSummaryLineComponent } from '@/cart/components';\nimport { state } from '@/cart/lib/state';\nimport { Price } from '@adobe-commerce/elsie/components';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { Container } from '@adobe-commerce/elsie/lib';\nimport { events } from '@adobe-commerce/event-bus';\nimport { HTMLAttributes, useEffect, useState } from 'preact/compat';\nimport { ShippingMethod } from '@/cart/data/models/shipping-models';\n\nexport interface ShippingOrderSummaryLineProps extends HTMLAttributes<HTMLDivElement> {}\n\nexport const ShippingOrderSummaryLine: Container<ShippingOrderSummaryLineProps> = ({\n children,\n ...props\n}) => {\n const [selectedShippingMethod, setSelectedShippingMethod] =\n useState<ShippingMethod | null>(null);\n const [isVirtual, setIsVirtual] = useState(false);\n\n const dictionary = useText({\n label: 'Cart.ShippingOrderSummaryLine.label',\n freeShipping: 'Cart.PriceSummary.freeShipping',\n withTaxes: 'Cart.ShippingOrderSummaryLine.withTaxes',\n withoutTaxes: 'Cart.ShippingOrderSummaryLine.withoutTaxes',\n });\n\n useEffect(() => {\n const cartEvent = events.on(\n 'cart/data',\n (payload) => {\n setIsVirtual(payload?.isVirtual || false);\n\n const shippingAddress = payload?.addresses?.shipping?.[0];\n\n if (shippingAddress?.selectedShippingMethod) {\n setSelectedShippingMethod(shippingAddress.selectedShippingMethod);\n } else {\n setSelectedShippingMethod(null);\n }\n },\n { eager: true }\n );\n\n return () => {\n cartEvent?.off();\n };\n }, []);\n\n // Don't render if cart is virtual or no shipping method is selected\n if (isVirtual || !selectedShippingMethod) return null;\n\n const cartTaxesConfig = state.config?.shoppingCartDisplaySetting;\n const isFreeShipping = selectedShippingMethod.amount.value === 0;\n\n const getShippingPriceProps = () => {\n if (cartTaxesConfig?.shipping === 'INCLUDING_TAX') {\n return {\n amount: selectedShippingMethod.priceInclTax.value,\n currency: selectedShippingMethod.priceInclTax.currency,\n };\n }\n return {\n amount: selectedShippingMethod.amount.value,\n currency: selectedShippingMethod.amount.currency,\n };\n };\n\n return (\n <ShippingOrderSummaryLineComponent\n {...props}\n loading={false}\n taxIncluded={cartTaxesConfig?.shipping === 'INCLUDING_TAX'}\n taxExcluded={cartTaxesConfig?.shipping === 'INCLUDING_EXCLUDING_TAX'}\n price={\n isFreeShipping ? (\n <span data-testid=\"free-shipping\">{dictionary.freeShipping}</span>\n ) : (\n <Price\n className=\"cart-order-summary__price\"\n data-testid=\"shipping-price\"\n {...getShippingPriceProps()}\n />\n )\n }\n priceIncludingTax={\n <Price\n className=\"cart-order-summary__price\"\n data-testid=\"shipping-price-including-tax\"\n amount={selectedShippingMethod.priceInclTax.value}\n currency={selectedShippingMethod.priceInclTax.currency}\n />\n }\n priceExcludingTax={\n <Price\n className=\"cart-order-summary__price\"\n data-testid=\"shipping-price-excluding-tax\"\n amount={selectedShippingMethod.amount.value}\n currency={selectedShippingMethod.amount.currency}\n />\n }\n />\n );\n};\n\n"],"names":["ShippingOrderSummaryLine","loading","price","priceExcludingTax","priceIncludingTax","taxExcluded","taxIncluded","classSuffixes","jsxs","OrderSummaryLine","jsx","Text","classes","children","props","selectedShippingMethod","setSelectedShippingMethod","useState","isVirtual","setIsVirtual","dictionary","useText","useEffect","cartEvent","events","payload","shippingAddress","_b","_a","cartTaxesConfig","state","isFreeShipping","getShippingPriceProps","ShippingOrderSummaryLineComponent","Price"],"mappings":"kfAmCO,MAAMA,EAA6E,CAAC,CACzF,QAAAC,EACA,MAAAC,EACA,kBAAAC,EACA,kBAAAC,EACA,YAAAC,EACA,YAAAC,CACF,IAAM,CACJ,MAAMC,EAAgB,CACpB,WACA,GAAIN,EAAU,CAAC,mBAAmB,EAAI,CAAA,CACxC,EAGE,OAAAO,EAACC,EAAA,CACC,OAAO,8BACP,cAAAF,EACA,MAAOG,EAACC,EAAK,CAAA,GAAG,qCAAsC,CAAA,EACtD,MAAAT,EAEC,SAAA,CACCI,GAAAI,EAAC,MAAA,CACC,cAAY,wBACZ,UAAWE,EAAQ,CAAC,2CAA2C,CAAC,EAEhE,WAAC,OACE,CAAA,SAAA,CAAAR,EAAkB,IAACM,EAACC,EAAK,CAAA,GAAG,yCAA0C,CAAA,CAAA,CACzE,CAAA,CAAA,CACF,EAGDN,GACCK,EAAC,MAAA,CACC,cAAY,iCACZ,UAAWE,EAAQ,CAAC,2CAA2C,CAAC,EAEhE,WAAC,OACE,CAAA,SAAA,CAAAT,EAAkB,IAACO,EAACC,EAAK,CAAA,GAAG,4CAA6C,CAAA,CAAA,CAC5E,CAAA,CAAA,CAAA,CACF,CAAA,CAEJ,CAEJ,EClDaX,EAAqE,CAAC,CACjF,SAAAa,EACA,GAAGC,CACL,IAAM,OACJ,KAAM,CAACC,EAAwBC,CAAyB,EACtDC,EAAgC,IAAI,EAChC,CAACC,EAAWC,CAAY,EAAIF,EAAS,EAAK,EAE1CG,EAAaC,EAAQ,CACzB,MAAO,sCACP,aAAc,iCACd,UAAW,0CACX,aAAc,4CAAA,CACf,EAyBG,GAvBJC,EAAU,IAAM,CACd,MAAMC,EAAYC,EAAO,GACvB,YACCC,GAAY,SACEN,GAAAM,GAAA,YAAAA,EAAS,YAAa,EAAK,EAExC,MAAMC,GAAkBC,GAAAC,EAAAH,GAAA,YAAAA,EAAS,YAAT,YAAAG,EAAoB,WAApB,YAAAD,EAA+B,GAEnDD,GAAA,MAAAA,EAAiB,uBACnBV,EAA0BU,EAAgB,sBAAsB,EAEhEV,EAA0B,IAAI,CAElC,EACA,CAAE,MAAO,EAAK,CAChB,EAEA,MAAO,IAAM,CACXO,GAAA,MAAAA,EAAW,KACb,CACF,EAAG,EAAE,EAGDL,GAAa,CAACH,EAA+B,OAAA,KAE3C,MAAAc,GAAkBD,EAAAE,EAAM,SAAN,YAAAF,EAAc,2BAChCG,EAAiBhB,EAAuB,OAAO,QAAU,EAEzDiB,EAAwB,KACxBH,GAAA,YAAAA,EAAiB,YAAa,gBACzB,CACL,OAAQd,EAAuB,aAAa,MAC5C,SAAUA,EAAuB,aAAa,QAChD,EAEK,CACL,OAAQA,EAAuB,OAAO,MACtC,SAAUA,EAAuB,OAAO,QAC1C,EAIA,OAAAL,EAACuB,EAAA,CACE,GAAGnB,EACJ,QAAS,GACT,aAAae,GAAA,YAAAA,EAAiB,YAAa,gBAC3C,aAAaA,GAAA,YAAAA,EAAiB,YAAa,0BAC3C,MACEE,EACGrB,EAAA,OAAA,CAAK,cAAY,gBAAiB,SAAAU,EAAW,aAAa,EAE3DV,EAACwB,EAAA,CACD,UAAU,4BACR,cAAY,iBACX,GAAGF,EAAsB,CAAA,CAC5B,EAGJ,kBACEtB,EAACwB,EAAA,CACC,UAAU,4BACV,cAAY,+BACZ,OAAQnB,EAAuB,aAAa,MAC5C,SAAUA,EAAuB,aAAa,QAAA,CAChD,EAEF,kBACEL,EAACwB,EAAA,CACC,UAAU,4BACV,cAAY,+BACZ,OAAQnB,EAAuB,OAAO,MACtC,SAAUA,EAAuB,OAAO,QAAA,CAAA,CAC1C,CAEJ,CAEJ"}
|
package/containers/MiniCart.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{M as
|
|
3
|
+
import{M as H,M as I}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/state.js";import"../chunks/getEstimatedTotals.js";import"../chunks/refreshCart.js";import"../chunks/resetCart.js";import"@dropins/tools/fetch-graphql.js";import"../fragments.js";import"../chunks/acdl.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/components.js";/* empty css */import"../chunks/OrderSummaryLine2.js";import"../chunks/OrderSummaryLine.js";import"../chunks/ChevronUp.js";import"../chunks/ChevronDown.js";import"@dropins/tools/i18n.js";import"../chunks/ShippingOrderSummaryLine.js";import"../chunks/updateProductsFromCart.js";import"../chunks/CartSummaryGrid.js";import"../chunks/EmptyCart.js";import"../chunks/CartSummaryList.js";import"../chunks/createGuestCart.js";import"../chunks/Trash.js";import"../chunks/CartSummaryTable2.js";import"../chunks/EmptyCart2.js";import"../chunks/Close.js";import"../chunks/Coupon.js";import"../chunks/GiftCard.js";export{H as MiniCart,I as default};
|
|
4
4
|
//# sourceMappingURL=MiniCart.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{O as
|
|
3
|
+
import{O as G,O as H}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/state.js";import"../chunks/getEstimatedTotals.js";import"../chunks/refreshCart.js";import"../chunks/resetCart.js";import"@dropins/tools/fetch-graphql.js";import"../fragments.js";import"../chunks/acdl.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/components.js";/* empty css */import"../chunks/OrderSummaryLine2.js";import"../chunks/OrderSummaryLine.js";import"../chunks/ChevronUp.js";import"../chunks/ChevronDown.js";import"@dropins/tools/i18n.js";import"../chunks/ShippingOrderSummaryLine.js";import"../chunks/updateProductsFromCart.js";import"../chunks/CartSummaryGrid.js";import"../chunks/EmptyCart.js";import"../chunks/CartSummaryList.js";import"../chunks/createGuestCart.js";import"../chunks/Trash.js";import"../chunks/CartSummaryTable2.js";import"../chunks/EmptyCart2.js";import"../chunks/Close.js";import"../chunks/Coupon.js";import"../chunks/GiftCard.js";export{G as OrderSummary,H as default};
|
|
4
4
|
//# sourceMappingURL=OrderSummary.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{O,O as
|
|
3
|
+
import{O as d,O as f}from"../chunks/OrderSummaryLine2.js";import"@dropins/tools/preact-jsx-runtime.js";import"@dropins/tools/lib.js";import"@dropins/tools/components.js";/* empty css */import"@dropins/tools/preact-compat.js";import"../chunks/OrderSummaryLine.js";import"@dropins/tools/preact-hooks.js";export{d as OrderSummaryLine,f as default};
|
|
4
4
|
//# sourceMappingURL=OrderSummaryLine.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{S as
|
|
3
|
+
import{S as u,S as g}from"../chunks/ShippingOrderSummaryLine.js";import"@dropins/tools/preact-jsx-runtime.js";import"@dropins/tools/lib.js";import"@dropins/tools/components.js";/* empty css */import"@dropins/tools/preact-compat.js";import"../chunks/OrderSummaryLine.js";import"@dropins/tools/i18n.js";import"@dropins/tools/preact-hooks.js";import"../chunks/state.js";import"../chunks/persisted-data.js";import"@dropins/tools/event-bus.js";export{u as ShippingOrderSummaryLine,g as default};
|
|
4
4
|
//# sourceMappingURL=ShippingOrderSummaryLine.js.map
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name": "@dropins/storefront-cart", "version": "1.6.0-
|
|
1
|
+
{"name": "@dropins/storefront-cart", "version": "1.6.0-alpha2", "@dropins/tools": "1.6.0-beta1", "license": "SEE LICENSE IN LICENSE.md"}
|
package/render.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
(function(e,r){try{if(typeof document<"u"){const t=document.createElement("style"),o=r.styleId;for(const a in r.attributes)t.setAttribute(a,r.attributes[a]);t.setAttribute("data-dropin",o),t.appendChild(document.createTextNode(e));const i=document.querySelector('style[data-dropin="sdk"]');if(i)i.after(t);else{const a=document.querySelector('link[rel="stylesheet"], style');a?a.before(t):document.head.append(t)}}}catch(t){console.error("dropin-styles (injectCodeFunction)",t)}})(`.cart-shipping-order-summary-line{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xsmall);align-items:flex-end;color:var(--color-neutral-800)}.cart-shipping-order-summary-line__label,.cart-shipping-order-summary-line__price{font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.cart-shipping-order-summary-line__method{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);color:var(--color-neutral-700)}.cart-shipping-order-summary-line__price{text-align:right}.cart-shipping-order-summary-line__caption{font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing);grid-column:span 2;color:var(--color-neutral-700)}.cart-shipping-order-summary-line--loading{opacity:.4;pointer-events:none}
|
|
3
|
+
(function(e,r){try{if(typeof document<"u"){const t=document.createElement("style"),o=r.styleId;for(const a in r.attributes)t.setAttribute(a,r.attributes[a]);t.setAttribute("data-dropin",o),t.appendChild(document.createTextNode(e));const i=document.querySelector('style[data-dropin="sdk"]');if(i)i.after(t);else{const a=document.querySelector('link[rel="stylesheet"], style');a?a.before(t):document.head.append(t)}}}catch(t){console.error("dropin-styles (injectCodeFunction)",t)}})(`.cart-shipping-order-summary-line{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xsmall);align-items:flex-end;color:var(--color-neutral-800)}.cart-shipping-order-summary-line__label,.cart-shipping-order-summary-line__price{font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.cart-shipping-order-summary-line__method{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);color:var(--color-neutral-700)}.cart-shipping-order-summary-line__price{text-align:right}.cart-shipping-order-summary-line__caption{font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing);grid-column:span 2;color:var(--color-neutral-700)}.cart-shipping-order-summary-line--loading{opacity:.4;pointer-events:none}.cart-order-summary__shipping .cart-order-summary__price{text-transform:none}
|
|
4
4
|
.cart-cart-summary-table__item{display:grid;grid-template-columns:repeat(3,1fr);align-items:start;gap:var(--spacing-small)}.cart-cart-summary-table__item-details{display:flex;flex-direction:column;gap:var(--spacing-xsmall);grid-column:2 / span 2}.cart-cart-summary-table__item-image-wrapper{grid-column:1 / span 1}.cart-cart-summary-table__item-image-wrapper img{width:100%;height:auto;object-fit:cover}.cart-cart-summary-table__item-name{font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing);color:var(--color-neutral-800)}.cart-cart-summary-table__item-name a{text-decoration:none;color:inherit}.cart-cart-summary-table__item-name a:hover{text-decoration:underline}.cart-cart-summary-table__sku{font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing);color:var(--color-neutral-700)}.cart-cart-summary-table__item-configurations{padding:0;margin:0;list-style:none;font:var(--type-body-2-strong-font);letter-spacing:var(--type-body-2-strong-letter-spacing)}.cart-cart-summary-table__item-configuration{display:flex;gap:var(--spacing-xsmall)}.cart-cart-summary-table__item-configuration-label{font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing);color:var(--color-neutral-700)}.cart-cart-summary-table__item-configuration-value{font:var(--type-details-caption-2-font);font-weight:var(--type-details-caption-2-font-weight);letter-spacing:var(--type-details-caption-2-letter-spacing);color:var(--color-neutral-800)}.cart-cart-summary-table__item-quantity-alert-text,.cart-cart-summary-table__item-quantity-warning-text{text-align:left;color:var(--color-alert-800);font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing)}.cart-cart-summary-table__item-qty{display:flex;flex-direction:column;gap:var(--spacing-xsmall);align-items:end}@container cart-summary-table (width < 768px){.cart-cart-summary-table__item-qty{align-items:start}}.cart-cart-summary-table__item-quantity-alert-wrapper,.cart-cart-summary-table__item-quantity-warning-wrapper{display:flex;align-items:center;gap:var(--spacing-xsmall);color:var(--color-alert-800)}.cart-cart-summary-table__item-quantity-alert-icon,.cart-cart-summary-table__item-quantity-warning-icon{fill:var(--color-warning-800);color:var(--color-neutral-50);flex-basis:16px}.cart-cart-summary-table__item-remove-button{display:flex;align-items:center;justify-content:center}.dropin-in-line-alert{border-width:var(--shape-border-width-2);border-style:solid;border-radius:var(--shape-border-radius-1);display:grid;grid-auto-flow:row;gap:var(--spacing-small);padding:var(--spacing-small);position:relative}.dropin-in-line-alert__heading{display:grid;gap:var(--spacing-small);grid-template-columns:auto auto;align-items:center}.dropin-in-line-alert__title-container{display:flex;align-items:center;gap:var(--spacing-xsmall)}.dropin-in-line-alert__title{color:var(--color-neutral-800);font:var(--type-body-2-emphasized-font);letter-spacing:var(--type-body-2-emphasized-letter-spacing);margin:0}.dropin-in-line-alert__actions-container{display:flex;justify-content:end}.dropin-in-line-alert__additional-action{padding:0}.dropin-in-line-alert__additional-action span{font:var(--type-details-caption-1-font);letter-spacing:var(--type-details-caption-1-letter-spacing);text-decoration:underline;color:var(--color-neutral-700)}.dropin-in-line-alert__dismiss-button{padding:0}.dropin-in-line-alert__description{color:var(--color-neutral-800);font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);margin:0}.dropin-in-line-alert__additional-actions-container{display:flex;gap:var(--spacing-small);justify-content:flex-end}.dropin-in-line-alert__item-list:first-child:before{content:"";display:block;border-top:var(--shape-border-width-3) solid var(--color-neutral-400);margin-bottom:var(--spacing-medium)}.dropin-in-line-alert--error{border-color:var(--color-alert-500)}.dropin-in-line-alert--warning{border-color:var(--color-warning-500)}.dropin-in-line-alert--success{border-color:var(--color-positive-500)}.dropin-in-line-alert--secondary{border:none;background-color:var(--color-neutral-200)}
|
|
5
|
-
.cart-empty-cart{container-type:inline-size;container-name:cart}.cart-empty-cart__wrapper .dropin-card--secondary{display:grid;grid-auto-rows:min-content;justify-content:center;text-align:center}@container cart (width < 737px){.cart-empty-cart__wrapper .dropin-card{border:unset;border-style:hidden}}.cart-estimate-shipping{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xsmall);align-items:flex-end;color:var(--color-neutral-800)}.cart-estimate-shipping__label,.cart-estimate-shipping__price{font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.cart-estimate-shipping__label--muted{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);color:var(--color-neutral-700)}.cart-estimate-shipping__price--muted{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing)}.cart-estimate-shipping__price{text-align:right}a.cart-estimate-shippingLink{text-decoration:underline}.cart-estimate-shipping__label--bold,.cart-estimate-shipping__price--bold{font:var(--type-body-1-emphasized-font);letter-spacing:var(--type-body-1-emphasized-letter-spacing)}.cart-estimate-shipping__caption{font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing);grid-column:span 2;color:var(--color-neutral-700)}.cart-estimate-shipping--zip,.cart-estimate-shipping--state{background-color:var(--color-neutral-50)}.cart-estimate-shipping--edit{display:grid;grid-column:1 / span 2;gap:var(--spacing-small);padding-top:var(--spacing-small)}a.cart-estimate-shipping__link{text-decoration:underline}.cart-estimate-shipping--hide{display:none!important}.cart-estimate-shipping--edit button{width:var(--spacing-huge);justify-self:end}.cart-estimate-shipping--loading{opacity:.4;pointer-events:none}.cart-mini-cart{display:flex;flex-direction:column;height:100%;padding:var(--spacing-small) var(--spacing-small) var(--spacing-medium);box-sizing:border-box}.cart-mini-cart__empty-cart{width:100%;max-width:800px;height:100%;display:flex;flex-direction:column;justify-content:center;align-self:center}.cart-mini-cart__heading{display:grid;row-gap:var(--spacing-xsmall);font:var(--type-headline-2-default-font);letter-spacing:var(--type-headline-2-default-letter-spacing)}.cart-mini-cart__heading-divider{width:100%;margin:var(--spacing-xxsmall) 0 0 0}.cart-mini-cart__products{flex:1;overflow-y:auto;max-height:100%;padding-bottom:var(--spacing-medium)}.cart-mini-cart__products .cart-cart-summary-list__heading{padding:0}.cart-mini-cart__products .dropin-cart-item__configurations li{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cart-mini-cart__footer{display:grid;grid-auto-flow:row;gap:var(--spacing-small);padding-top:var(--spacing-small);row-gap:var(--spacing-xsmall)}.cart-mini-cart__footer__estimated-total{font:var(--type-body-1-emphasized-font);letter-spacing:var(--type-body-1-emphasized-letter-spacing);display:grid;grid-template:max-content / 1fr auto;gap:var(--spacing-xsmall)}.cart-mini-cart__footer__estimated-total-excluding-taxes{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);display:grid;grid-template:max-content / 1fr auto;gap:var(--spacing-xsmall);color:var(--color-neutral-700)}.cart-mini-cart__productListFooter,.cart-mini-cart__preCheckoutSection{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);color:var(--color-neutral-800)}.cart-mini-cart__footer__ctas{display:grid;grid-auto-flow:row;gap:var(--spacing-xsmall);padding-top:var(--spacing-small)}.cart-cart-summary-grid{container-type:inline-size;container-name:cart-summary-grid;max-width:inherit}.cart-cart-summary-grid__content{display:grid;flex-wrap:wrap;gap:var(--spacing-small);grid-template-columns:repeat(6,1fr);margin:auto}.cart-cart-summary-grid__item-container{aspect-ratio:auto 3/4;display:inline-block}.cart-cart-summary-grid__item-container img{height:auto;max-width:100%}.cart-cart-summary-grid__item-container a:focus{display:block}.cart-cart-summary-grid__content--empty{grid-template-columns:repeat(1,1fr)}.cart-cart-summary-grid__empty-cart{align-self:center;justify-self:center;max-width:800px;width:100%}@container cart-summary-grid (width < 360px){.cart-cart-summary-grid__content{grid-template-columns:repeat(4,1fr);gap:var(--spacing-xsmall)}.cart-cart-summary-grid__content--empty{grid-template-columns:repeat(1,1fr)}}.cart-cart-summary-list{container-type:inline-size;container-name:cart-summary-list}.cart-cart-summary-list__background--secondary{background-color:var(--color-neutral-200)}.cart-cart-summary-list__heading{display:grid;row-gap:var(--spacing-xsmall);padding:var(--spacing-medium) 0 0 0;font:var(--type-headline-1-font);letter-spacing:var(--type-headline-1-letter-spacing);color:var(--color-neutral-800)}.cart-cart-summary-list__heading--full-width{width:100%}.cart-cart-summary-list__heading-divider{width:100%;margin:var(--spacing-xxsmall) 0 var(--spacing-medium) 0}.cart-cart-summary-list__content{display:grid;grid-template-columns:1fr;padding:0}.cart-cart-summary-list__out-of-stock-message{margin:calc(-1 * var(--spacing-xsmall)) 0 var(--spacing-medium) 0}.cart-cart-summary-list__empty-cart{justify-self:center;align-self:center;width:100%;max-width:800px}.cart-cart-summary-list-footer__action,.cart-cart-summary-list-footer__action:focus .cart-cart-summary-list-footer__action:active,.cart-cart-summary-list-footer__action:link{font:var(--type-body-2-strong-font);margin:0 auto;width:auto;margin-top:var(--spacing-medium);margin-bottom:var(--spacing-medium)}.cart-cart-summary-list-footer__action:hover{text-decoration:underline;text-underline-offset:var(--spacing-xxsmall);background:transparent;color:var(--color-brand-700)}.cart-cart-summary-list-footer__action:visited{background-color:none}.cart-cart-summary-list-accordion{border-left:var(--shape-border-width-2) solid var(--color-neutral-400);border-right:var(--shape-border-width-2) solid var(--color-neutral-400)}.cart-cart-summary-list-accordion__section{margin:var(--spacing-medium)}.dropin-cart-item__quantity{width:fit-content}@container cart-summary-list (width >= 768px){.cart-cart-summary-list__out-of-stock-message{margin:calc(-1 * var(--spacing-small)) 0 var(--spacing-xxbig) 0}}@container cart-summary-list (width >= 1024px){.cart-cart-summary-list__content,.cart-cart-summary-list__heading{grid-column:1 / span 8}.cart-cart-summary-list__heading--full-width,.cart-cart-summary-list__content--empty{grid-column:1 / span 12}.cart-cart-summary-list__content{padding:0}}.cart-order-summary{display:grid;position:relative;grid-auto-flow:row;padding:var(--spacing-medium)}.cart-order-summary__primary{background-color:var(--color-neutral-200)}.cart-order-summary__secondary{background-color:var(--color-neutral-50)}.cart-order-summary__content{display:grid;gap:var(--spacing-xsmall);margin-top:var(--spacing-small)}.cart-order-summary__heading{display:grid;font:var(--type-headline-2-strong-font);letter-spacing:var(--type-headline-2-strong-letter-spacing);color:var(--color-neutral-800);gap:var(--spacing-small)}.cart-order-summary__discount .cart-order-summary__label,.cart-order-summary__discount .cart-order-summary__price,.cart-order-summary__applied-gift-cards .cart-order-summary__price{color:var(--color-warning-800)}.cart-order-summary__coupon__code{display:flex;align-items:center;font:var(--type-details-overline-font);letter-spacing:var(--type-details-overline-letter-spacing);color:var(--color-neutral-700);gap:var(--spacing-xsmall);grid-column:span 2}.cart-order-summary__taxes .dropin-divider:last-child{margin-bottom:0}.cart-order-summary__total{margin-top:var(--spacing-medium)}.cart-order-summary__divider-primary,.cart-order-summary__divider-secondary{width:100%;margin:0}.cart-order-summary__divider-secondary{margin:0}.cart-order-summary__taxEntry.cart-order-summary__entry{margin-top:0}.cart-order-summary__entry,.cart-order-summary__taxEntry{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xxsmall);align-items:center;color:var(--color-neutral-800)}.cart-order-summary__caption{font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing);grid-column:span 2;color:var(--color-neutral-700)}.cart-order-summary__primaryAction{margin-top:var(--spacing-small);grid-template-columns:1fr}.cart-order-summary__shipping--edit{display:grid;grid-column:1 / span 2;gap:var(--spacing-small);padding-top:var(--spacing-small);padding-left:var(--spacing-small)}a.cart-order-summary__shippingLink{text-decoration:underline}.cart-order-summary__shipping--hide{display:none!important}.cart-order-summary__shipping--edit button{width:var(--spacing-huge);justify-self:end}.cart-order-summary__shipping--zip,.cart-order-summary__shipping--state{background-color:var(--color-neutral-50)}.cart-order-summary__taxes .dropin-accordion-section__content-container{gap:var(--spacing-small);margin:var(--spacing-small) 0}.cart-order-summary--loading{opacity:.4;pointer-events:none}.cart-order-summary__spinner{margin:0 auto;position:absolute;z-index:999;left:0;right:0;top:calc(50% - (var(--size) / 2));bottom:0}.cart-order-summary__content:has(.cart-order-summary__coupons .dropin-accordion):has(.cart-order-summary__gift-cards .dropin-accordion):has(.cart-order-summary__coupons+.cart-order-summary__gift-cards) .cart-order-summary__coupons .dropin-accordion hr:last-child{opacity:0;margin-bottom:0}.cart-order-summary__content:has(.cart-order-summary__coupons .dropin-accordion):has(.cart-order-summary__gift-cards .dropin-accordion):has(.cart-order-summary__coupons+.cart-order-summary__gift-cards) .cart-order-summary__gift-cards .dropin-accordion hr:first-child{margin-top:calc(var(--spacing-xsmall) * -1)}.cart-order-summary__applied-gift-cards .cart-order-summary__coupon__code,.cart-order-summary__applied-gift-cards .cart-order-summary__caption{display:flex;justify-content:flex-start;align-items:end;gap:0 var(--spacing-xsmall)}.coupon-code-form__action{display:flex}.coupon-code-form__action .dropin-input-container{flex-grow:1;margin-right:var(--spacing-small)}.cart-coupons__accordion-section .dropin-accordion-section__content-container{gap:var(--spacing-small)}.coupon-code-form__codes{background-color:var(--color-neutral-50)}.coupon-code-form__error{font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing);color:var(--color-alert-500);margin-top:calc(var(--spacing-xsmall) * -1)}.coupon-code-form__applied{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:var(--spacing-small)}.coupon-code-form__applied-item{box-sizing:border-box;display:grid;grid-template-columns:1fr auto;gap:0 var(--spacing-small)}.coupon-code-form__applied-item button{all:unset;margin:0;padding:0;display:flex;justify-content:center;align-items:center;background-color:transparent;border-color:transparent;cursor:pointer}.coupon-code-form__applied .dropin-tag-container{background-color:var(--color-neutral-400);color:var(--color-neutral-800);font:var(--type-button-2-font);letter-spacing:var(--type-button-2-letter-spacing)}.cart-gift-cards .dropin-accordion-section__title-container svg:first-of-type path{transform-box:fill-box;transform-origin:center;transform:translateY(4px)}.cart-order-summary__label,.cart-order-summary__price{font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.cart-order-summary__price{text-align:right;text-transform:uppercase}.cart-order-summary__label--muted{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);color:var(--color-neutral-700)}.cart-order-summary__price--muted{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing)}.cart-order-summary__label--bold,.cart-order-summary__price--bold{font:var(--type-body-1-emphasized-font);letter-spacing:var(--type-body-1-emphasized-letter-spacing)}.cart-gift-options-view{position:relative}.cart-gift-options-view textarea{border:var(--shape-border-width-1) solid var(--color-neutral-600)}.cart-gift-options-view.cart-gift-options-view--product .dropin-accordion-section__heading{grid-template-columns:auto 1fr}.cart-gift-options-view.cart-gift-options-view--product .dropin-accordion-section__flex,.cart-gift-options-view.cart-gift-options-view--product .dropin-accordion-section__heading,.cart-gift-options-view.cart-gift-options-view--product .dropin-accordion-section__title-container,.cart-gift-options-view.cart-gift-options-view--product .cart-gift-options-view__icon--success{margin-top:0}.cart-gift-options-view.cart-gift-options-view--order .dropin-accordion-section__title-container,.cart-gift-options-view.cart-gift-options-view--order .dropin-accordion-section__title-container .dropin-accordion-section__title{width:100%}.cart-gift-options-view.cart-gift-options-view--order .dropin-accordion-section__title-container svg{min-width:24px}#cart-gift-options-view.cart-gift-options-view .dropin-accordion-section__content-container{display:block!important;margin-bottom:0;gap:0}.cart-gift-options-view .dropin-accordion-section__heading{align-items:flex-end}.cart-gift-options-view .cart-gift-options-view__top{display:grid;grid-template-columns:1fr;gap:var(--grid-1-gutters) 0;width:100%;align-items:start;margin-top:var(--spacing-small);margin-bottom:var(--spacing-medium)}.cart-gift-options-view .cart-gift-options-view__top.cart-gift-options-view__top--hidden{display:none}.cart-gift-options-view .cart-gift-options-view__field-gift-wrap{margin-top:0;grid-column:1 / -1}.cart-gift-options-view .cart-gift-options-view__top .dropin-field:nth-child(3){grid-column:1 / -1}.cart-gift-options-view .cart-gift-options-view__top .dropin-checkbox__label.dropin-checkbox__label--medium{margin-right:var(--spacing-xsmall)}@media (max-width: 768px){.cart-gift-options-view .cart-gift-options-view__top{display:flex;flex-direction:column}}.cart-gift-options-view .cart-gift-options-view__top .dropin-field:nth-child(2){grid-column:1;margin-top:0}.cart-gift-options-view .cart-gift-options-view__top .dropin-field div{margin-top:0}.cart-gift-options-view .cart-gift-options-view__top button{font:var(--type-body-2-strong-font);padding:0;margin:0;text-decoration:underline;grid-column:2;align-self:start}.cart-gift-options-view .cart-gift-options-view__footer{display:grid;grid-template-columns:1fr 1fr;gap:var(--grid-1-gutters);margin-top:var(--spacing-xsmall)}.cart-gift-options-view .cart-gift-options-view__footer>:first-child{grid-column:span 2;font:var(--type-body-2-strong-font);color:var(--color-neutral-800)}.cart-gift-options-view .cart-gift-options-view__footer>:nth-child(4){grid-column:span 2}.cart-gift-options-view .cart-gift-options-view__footer div>span{font:var(--type-details-caption-1-font);color:var(--color-neutral-800);display:inline-block;margin-bottom:var(--spacing-xsmall)}.cart-gift-options-view .cart-gift-options-view__footer .dropin-textarea__label--floating.dropin-textarea__label--floating--error{padding-top:0;color:var(--color-neutral-700);font:var(--type-body-2-default-font)}.cart-gift-options-view .dropin-textarea__label--floating--text.dropin-textarea__label--floating--error{color:var(--color-alert-800);font:var(--type-details-caption-2-font)}.cart-gift-options-view .dropin-textarea.dropin-textarea--error{border:var(--shape-border-width-2) solid var(--color-alert-500)}.cart-gift-options-view .cart-gift-options-view__modal{width:100%;max-width:735px;margin:auto}.cart-gift-options-view.cart-gift-options-view--product .dropin-modal.dropin-modal--dim{margin:0}.cart-gift-options-view.cart-gift-options-view--product .dropin-modal.dropin-modal--dim .cart-gift-options-view__modal{margin-top:var(--spacing-huge)}.cart-gift-options-view.cart-gift-options-view--product .dropin-modal__header.dropin-modal__header-title{display:grid;grid-template-columns:1fr auto}.cart-gift-options-view__modal .dropin-modal__header-title-content{display:block}.cart-gift-options-view__modal .dropin-modal__header-title-content span{display:block;word-wrap:break-word;overflow-wrap:break-word}.cart-gift-options-view__modal .dropin-modal__header-title-content span:first-child{font:var(--type-headline-1-font);letter-spacing:var(--type-headline-1-letter-spacing)}.cart-gift-options-view__modal .dropin-modal__header-title-content .dropin-price{font:var(--type-headline-2-strong-font);letter-spacing:var(--type-headline-2-strong-letter-spacing)}.cart-gift-options-view__modal .dropin-iconButton{text-align:right}.cart-gift-options-view__modal .dropin-modal__content.dropin-modal__body--centered{margin:0}.cart-gift-options-view__modal .cart-gift-options-view__modal-content span{display:block;text-align:left;font:var(--type-details-caption-1-font);letter-spacing:var(--type-details-caption-1-letter-spacing)}.cart-gift-options-view__modal .cart-gift-options-view__modal-content span:last-child{margin-top:var(--spacing-xsmall);font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing)}.cart-gift-options-view__modal .dropin-content-grid.cart-gift-options-view__modal-grid{margin-top:0;overflow:auto}.cart-gift-options-view__modal .dropin-content-grid__content{margin-top:0;padding:var(--spacing-xsmall);gap:var(--spacing-xsmall)}.cart-gift-options-view__modal .cart-gift-options-view__modal-content{margin-bottom:var(--spacing-big)}.cart-gift-options-view__modal .dropin-button{width:100%;text-align:center}.cart-gift-options-view__modal button:nth-child(2){margin-bottom:var(--spacing-xsmall)}.cart-gift-options-view .dropin-divider{display:none}.cart-gift-options-view .cart-gift-options-view__footer div{margin:0}.cart-gift-options-view .cart-gift-options-view__icon--success{display:grid;grid-template-columns:auto 1fr;gap:0 var(--spacing-xsmall);align-items:center}.cart-gift-options-view .cart-gift-options-view__icon--success svg{fill:var(--color-informational-800);margin-left:auto}.cart-gift-options-view .cart-gift-options-view__icon--success svg path:first-of-type{stroke:var(--color-informational-800)}.cart-gift-options-view .cart-gift-options-view__icon--success svg path:last-of-type{stroke:var(--color-neutral-50)}.cart-gift-options-view .dropin-textarea{padding:var(--spacing-xxsmall) var(--spacing-small);min-height:40px;height:40px}.cart-gift-options-view textarea:focus::placeholder{color:transparent}.dropin-textarea:not(:placeholder-shown)+.dropin-textarea__label--floating,.dropin-textarea:focus+.dropin-textarea__label--floating{display:none;opacity:0;z-index:-1}.cart-gift-options-view .dropin-textarea__label--floating{top:10px}.cart-gift-options-view__spinner{position:absolute;margin:0 auto;z-index:999;left:0;right:0;top:calc(50% - (var(--size) / 2));bottom:0}.cart-gift-options-view--loading{opacity:.4;pointer-events:none}.cart-gift-options-view .cart-gift-options-view--readonly .dropin-card.dropin-card--primary{border-radius:0}.cart-gift-options-view .cart-gift-options-view--readonly .cart-gift-options-readonly__header>span{color:var(--color-neutral-800);font:var(--type-body-1-strong-font);letter-spacing:var(--type-body-1-strong-letter-spacing);cursor:pointer}.cart-gift-options-view.cart-gift-options-view--product .cart-gift-options-view--readonly p{margin:var(--spacing-xxsmall) 0;font:var(--type-body-2-strong-font);color:var(--color-neutral-800)}.cart-gift-options-view.cart-gift-options-view--order .cart-gift-options-view--readonly .dropin-card__content{gap:var(--spacing-small)}.cart-gift-options-view.cart-gift-options-view--order .cart-gift-options-view--readonly .cart-gift-options-readonly__header{display:flex;align-items:center;gap:var(--spacing-xsmall)}.cart-gift-options-view.cart-gift-options-view--order .cart-gift-options-view--readonly .cart-gift-options-readonly__checkboxes{display:grid;grid-template-columns:auto 1fr;gap:0 var(--spacing-xsmall);align-items:center}.cart-gift-options-view.cart-gift-options-view--order .cart-gift-options-view--readonly p{margin:0;padding:0}.cart-gift-options-view.cart-gift-options-view--order .cart-gift-options-view--readonly .cart-gift-options-readonly__checkboxes svg{grid-column:1;grid-row:1;fill:var(--color-positive-800);color:var(--color-neutral-50)}.cart-gift-options-view.cart-gift-options-view--order .cart-gift-options-view--readonly .cart-gift-options-readonly__checkboxes svg>path:first-of-type{stroke:var(--color-positive-800)}.cart-gift-options-view.cart-gift-options-view--order .cart-gift-options-view--readonly .cart-gift-options-readonly__checkboxes p{grid-column:2;grid-row:1;color:var(--color-neutral-800);font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing)}.cart-gift-options-view.cart-gift-options-view--order .cart-gift-options-view--readonly .cart-gift-options-readonly__checkboxes p:last-child{grid-column:2;grid-row:2;color:var(--color-neutral-700);font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing)}.cart-gift-options-view.cart-gift-options-view--order .cart-gift-options-view--readonly .cart-gift-options-readonly__form{display:flex;flex-direction:column;gap:var(--spacing-small) 0;font:var(--type-body-2-strong-font);letter-spacing:var(--type-body-2-strong-letter-spacing);color:var(--color-neutral-800)}.cart-gift-options-view.cart-gift-options-view--order .cart-gift-options-view--readonly .cart-gift-options-readonly__form div:nth-child(2){display:grid;grid-template-columns:repeat(2,1fr);gap:var(--grid-1-gutters);justify-content:start}.cart-gift-options-view.cart-gift-options-view--order .cart-gift-options-view--readonly .cart-gift-options-readonly__form div:nth-child(2) p span{display:block;margin-bottom:var(--spacing-xsmall)}.cart-gift-options-view.cart-gift-options-view--order .cart-gift-options-view--readonly .cart-gift-options-readonly__form div:nth-child(2) p span:first-child{font:var(--type-details-caption-1-font);letter-spacing:var(--type-details-caption-1-letter-spacing)}.cart-gift-options-view.cart-gift-options-view--order .cart-gift-options-view--readonly .cart-gift-options-readonly__form div:last-child p:first-child{font:var(--type-details-caption-1-font);letter-spacing:var(--type-details-caption-1-letter-spacing);margin-bottom:var(--spacing-xsmall)}.cart-gift-options-view__modal-wrapper .dropin-modal__header.dropin-modal__header-title{display:grid;grid-template-columns:1fr auto}.cart-cart-summary-table{container-type:inline-size;container-name:cart-summary-table;width:100%}.cart-cart-summary-table__header{display:grid;grid-template-columns:3fr 1fr 1fr 1fr;gap:var(--spacing-small);padding:var(--spacing-small);border-bottom:var(--shape-border-width-1) solid var(--color-neutral-300);font:var(--type-body-1-emphasized-font);letter-spacing:var(--type-body-1-emphasized-letter-spacing);color:var(--color-neutral-800)}.cart-cart-summary-table__header-price,.cart-cart-summary-table__header-qty,.cart-cart-summary-table__header-subtotal{text-align:right}.cart-cart-summary-table__body{display:grid}.cart-cart-summary-table__row{display:grid;grid-template-columns:3fr 1fr 1fr 1fr;gap:var(--spacing-small);padding:var(--spacing-small);align-items:start;border-top:solid 1px var(--color-neutral-500)}.cart-cart-summary-table__row--updating{opacity:.4;pointer-events:none;position:relative}.cart-cart-summary-table__row--updating .cart-cart-summary-table__cell-qty-updater input{pointer-events:none}.cart-cart-summary-table__row--error{background-color:var(--color-alert-200)}.cart-cart-summary-table__cell-price,.cart-cart-summary-table__cell-qty,.cart-cart-summary-table__cell-subtotal{text-align:right;justify-self:end}.cart-cart-summary-table__cell-item{container-type:inline-size;container-name:cart-summary-table-item}.cart-cart-summary-table__mobile-label{display:none;font:var(--type-body-2-emphasized-font);margin-right:var(--spacing-small)}.cart-cart-summary-table__item-price{display:flex;flex-direction:column}.cart-cart-summary-table__item-price-tax-label{font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing);display:inline-block;color:var(--color-neutral-800)}.cart-cart-summary-table__item-subtotal{display:flex;flex-direction:column}.cart-cart-summary-table__item-subtotal-tax-label{font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing);display:inline-block;color:var(--color-neutral-800)}.cart-cart-summary-table__item-footer{display:grid;grid-template-columns:repeat(12,1fr);grid-column:1 / -1;align-items:start}.cart-cart-summary-table__item-actions{grid-column:11 / -1;justify-self:end}@container cart-summary-table (width < 768px){.cart-cart-summary-table__header{display:none}.cart-cart-summary-table__row{grid-template-columns:repeat(3,1fr);grid-template-areas:"item item item" "price qty subtotal";border-bottom:var(--shape-border-width-1) solid var(--color-neutral-300)}.cart-cart-summary-table__cell-item{grid-area:item}.cart-cart-summary-table__cell-price{grid-area:price;display:grid;text-align:left}.cart-cart-summary-table__cell-qty{grid-area:qty;display:grid;text-align:left}.cart-cart-summary-table__cell-subtotal{grid-area:subtotal;display:grid;text-align:left}.cart-cart-summary-table__mobile-label{display:inline}.cart-cart-summary-table__cell-price,.cart-cart-summary-table__cell-qty,.cart-cart-summary-table__cell-subtotal{justify-self:start;grid-template-rows:auto 1fr;gap:var(--spacing-xsmall);align-items:start}}.cart-cart-summary-table__skeleton{padding:var(--spacing-small)}.cart-cart-summary-table__skeleton .elsie-skeleton-row{margin-bottom:var(--spacing-small)}.cart-cart-summary-table__cell-qty-input{width:60px;padding:8px;border:1px solid var(--color-border, #ccc);border-radius:4px;text-align:center;font-size:var(--font-size-base, 14px);-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.cart-cart-summary-table__cell-qty-input::-webkit-outer-spin-button,.cart-cart-summary-table__cell-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cart-cart-summary-table__cell-qty-updater--disabled{opacity:.5;cursor:not-allowed;background-color:var(--color-disabled-background, #f5f5f5)}.cart-cart-summary-table__cell-qty-updater--error{border:1px solid var(--color-alert-800)}`,{styleId:"Cart"});
|
|
5
|
+
.cart-empty-cart{container-type:inline-size;container-name:cart}.cart-empty-cart__wrapper .dropin-card--secondary{display:grid;grid-auto-rows:min-content;justify-content:center;text-align:center}@container cart (width < 737px){.cart-empty-cart__wrapper .dropin-card{border:unset;border-style:hidden}}.cart-estimate-shipping{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xsmall);align-items:flex-end;color:var(--color-neutral-800)}.cart-estimate-shipping__label,.cart-estimate-shipping__price{font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.cart-estimate-shipping__label--muted{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);color:var(--color-neutral-700)}.cart-estimate-shipping__price--muted{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing)}.cart-estimate-shipping__price{text-align:right}a.cart-estimate-shippingLink{text-decoration:underline}.cart-estimate-shipping__label--bold,.cart-estimate-shipping__price--bold{font:var(--type-body-1-emphasized-font);letter-spacing:var(--type-body-1-emphasized-letter-spacing)}.cart-estimate-shipping__caption{font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing);grid-column:span 2;color:var(--color-neutral-700)}.cart-estimate-shipping--zip,.cart-estimate-shipping--state{background-color:var(--color-neutral-50)}.cart-estimate-shipping--edit{display:grid;grid-column:1 / span 2;gap:var(--spacing-small);padding-top:var(--spacing-small)}a.cart-estimate-shipping__link{text-decoration:underline}.cart-estimate-shipping--hide{display:none!important}.cart-estimate-shipping--edit button{width:var(--spacing-huge);justify-self:end}.cart-estimate-shipping--loading{opacity:.4;pointer-events:none}.cart-order-summary__label,.cart-order-summary__price{font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.cart-order-summary__price{text-align:right;text-transform:uppercase}.cart-order-summary__label--muted{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);color:var(--color-neutral-700)}.cart-order-summary__price--muted{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing)}.cart-order-summary__label--bold,.cart-order-summary__price--bold{font:var(--type-body-1-emphasized-font);letter-spacing:var(--type-body-1-emphasized-letter-spacing)}.cart-mini-cart{display:flex;flex-direction:column;height:100%;padding:var(--spacing-small) var(--spacing-small) var(--spacing-medium);box-sizing:border-box}.cart-mini-cart__empty-cart{width:100%;max-width:800px;height:100%;display:flex;flex-direction:column;justify-content:center;align-self:center}.cart-mini-cart__heading{display:grid;row-gap:var(--spacing-xsmall);font:var(--type-headline-2-default-font);letter-spacing:var(--type-headline-2-default-letter-spacing)}.cart-mini-cart__heading-divider{width:100%;margin:var(--spacing-xxsmall) 0 0 0}.cart-mini-cart__products{flex:1;overflow-y:auto;max-height:100%;padding-bottom:var(--spacing-medium)}.cart-mini-cart__products .cart-cart-summary-list__heading{padding:0}.cart-mini-cart__products .dropin-cart-item__configurations li{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cart-mini-cart__footer{display:grid;grid-auto-flow:row;gap:var(--spacing-small);padding-top:var(--spacing-small);row-gap:var(--spacing-xsmall)}.cart-mini-cart__footer__estimated-total{font:var(--type-body-1-emphasized-font);letter-spacing:var(--type-body-1-emphasized-letter-spacing);display:grid;grid-template:max-content / 1fr auto;gap:var(--spacing-xsmall)}.cart-mini-cart__footer__estimated-total-excluding-taxes{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);display:grid;grid-template:max-content / 1fr auto;gap:var(--spacing-xsmall);color:var(--color-neutral-700)}.cart-mini-cart__productListFooter,.cart-mini-cart__preCheckoutSection{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);color:var(--color-neutral-800)}.cart-mini-cart__footer__ctas{display:grid;grid-auto-flow:row;gap:var(--spacing-xsmall);padding-top:var(--spacing-small)}.cart-cart-summary-grid{container-type:inline-size;container-name:cart-summary-grid;max-width:inherit}.cart-cart-summary-grid__content{display:grid;flex-wrap:wrap;gap:var(--spacing-small);grid-template-columns:repeat(6,1fr);margin:auto}.cart-cart-summary-grid__item-container{aspect-ratio:auto 3/4;display:inline-block}.cart-cart-summary-grid__item-container img{height:auto;max-width:100%}.cart-cart-summary-grid__item-container a:focus{display:block}.cart-cart-summary-grid__content--empty{grid-template-columns:repeat(1,1fr)}.cart-cart-summary-grid__empty-cart{align-self:center;justify-self:center;max-width:800px;width:100%}@container cart-summary-grid (width < 360px){.cart-cart-summary-grid__content{grid-template-columns:repeat(4,1fr);gap:var(--spacing-xsmall)}.cart-cart-summary-grid__content--empty{grid-template-columns:repeat(1,1fr)}}.cart-cart-summary-list{container-type:inline-size;container-name:cart-summary-list}.cart-cart-summary-list__background--secondary{background-color:var(--color-neutral-200)}.cart-cart-summary-list__heading{display:grid;row-gap:var(--spacing-xsmall);padding:var(--spacing-medium) 0 0 0;font:var(--type-headline-1-font);letter-spacing:var(--type-headline-1-letter-spacing);color:var(--color-neutral-800)}.cart-cart-summary-list__heading--full-width{width:100%}.cart-cart-summary-list__heading-divider{width:100%;margin:var(--spacing-xxsmall) 0 var(--spacing-medium) 0}.cart-cart-summary-list__content{display:grid;grid-template-columns:1fr;padding:0}.cart-cart-summary-list__out-of-stock-message{margin:calc(-1 * var(--spacing-xsmall)) 0 var(--spacing-medium) 0}.cart-cart-summary-list__empty-cart{justify-self:center;align-self:center;width:100%;max-width:800px}.cart-cart-summary-list-footer__action,.cart-cart-summary-list-footer__action:focus .cart-cart-summary-list-footer__action:active,.cart-cart-summary-list-footer__action:link{font:var(--type-body-2-strong-font);margin:0 auto;width:auto;margin-top:var(--spacing-medium);margin-bottom:var(--spacing-medium)}.cart-cart-summary-list-footer__action:hover{text-decoration:underline;text-underline-offset:var(--spacing-xxsmall);background:transparent;color:var(--color-brand-700)}.cart-cart-summary-list-footer__action:visited{background-color:none}.cart-cart-summary-list-accordion{border-left:var(--shape-border-width-2) solid var(--color-neutral-400);border-right:var(--shape-border-width-2) solid var(--color-neutral-400)}.cart-cart-summary-list-accordion__section{margin:var(--spacing-medium)}.dropin-cart-item__quantity{width:fit-content}@container cart-summary-list (width >= 768px){.cart-cart-summary-list__out-of-stock-message{margin:calc(-1 * var(--spacing-small)) 0 var(--spacing-xxbig) 0}}@container cart-summary-list (width >= 1024px){.cart-cart-summary-list__content,.cart-cart-summary-list__heading{grid-column:1 / span 8}.cart-cart-summary-list__heading--full-width,.cart-cart-summary-list__content--empty{grid-column:1 / span 12}.cart-cart-summary-list__content{padding:0}}.cart-order-summary{display:grid;position:relative;grid-auto-flow:row;padding:var(--spacing-medium)}.cart-order-summary__primary{background-color:var(--color-neutral-200)}.cart-order-summary__secondary{background-color:var(--color-neutral-50)}.cart-order-summary__content{display:grid;gap:var(--spacing-xsmall);margin-top:var(--spacing-small)}.cart-order-summary__heading{display:grid;font:var(--type-headline-2-strong-font);letter-spacing:var(--type-headline-2-strong-letter-spacing);color:var(--color-neutral-800);gap:var(--spacing-small)}.cart-order-summary__discount .cart-order-summary__label,.cart-order-summary__discount .cart-order-summary__price,.cart-order-summary__applied-gift-cards .cart-order-summary__price{color:var(--color-warning-800)}.cart-order-summary__coupon__code{display:flex;align-items:center;font:var(--type-details-overline-font);letter-spacing:var(--type-details-overline-letter-spacing);color:var(--color-neutral-700);gap:var(--spacing-xsmall);grid-column:span 2}.cart-order-summary__taxes .dropin-divider:last-child{margin-bottom:0}.cart-order-summary__total{margin-top:var(--spacing-medium)}.cart-order-summary__divider-primary,.cart-order-summary__divider-secondary{width:100%;margin:0}.cart-order-summary__divider-secondary{margin:0}.cart-order-summary__taxEntry.cart-order-summary__entry{margin-top:0}.cart-order-summary__entry,.cart-order-summary__taxEntry{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xxsmall);align-items:center;color:var(--color-neutral-800)}.cart-order-summary__caption{font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing);grid-column:span 2;color:var(--color-neutral-700)}.cart-order-summary__primaryAction{margin-top:var(--spacing-small);grid-template-columns:1fr}.cart-order-summary__shipping--edit{display:grid;grid-column:1 / span 2;gap:var(--spacing-small);padding-top:var(--spacing-small);padding-left:var(--spacing-small)}a.cart-order-summary__shippingLink{text-decoration:underline}.cart-order-summary__shipping--hide{display:none!important}.cart-order-summary__shipping--edit button{width:var(--spacing-huge);justify-self:end}.cart-order-summary__shipping--zip,.cart-order-summary__shipping--state{background-color:var(--color-neutral-50)}.cart-order-summary__taxes .dropin-accordion-section__content-container{gap:var(--spacing-small);margin:var(--spacing-small) 0}.cart-order-summary--loading{opacity:.4;pointer-events:none}.cart-order-summary__spinner{margin:0 auto;position:absolute;z-index:999;left:0;right:0;top:calc(50% - (var(--size) / 2));bottom:0}.cart-order-summary__content:has(.cart-order-summary__coupons .dropin-accordion):has(.cart-order-summary__gift-cards .dropin-accordion):has(.cart-order-summary__coupons+.cart-order-summary__gift-cards) .cart-order-summary__coupons .dropin-accordion hr:last-child{opacity:0;margin-bottom:0}.cart-order-summary__content:has(.cart-order-summary__coupons .dropin-accordion):has(.cart-order-summary__gift-cards .dropin-accordion):has(.cart-order-summary__coupons+.cart-order-summary__gift-cards) .cart-order-summary__gift-cards .dropin-accordion hr:first-child{margin-top:calc(var(--spacing-xsmall) * -1)}.cart-order-summary__applied-gift-cards .cart-order-summary__coupon__code,.cart-order-summary__applied-gift-cards .cart-order-summary__caption{display:flex;justify-content:flex-start;align-items:end;gap:0 var(--spacing-xsmall)}.coupon-code-form__action{display:flex}.coupon-code-form__action .dropin-input-container{flex-grow:1;margin-right:var(--spacing-small)}.cart-coupons__accordion-section .dropin-accordion-section__content-container{gap:var(--spacing-small)}.coupon-code-form__codes{background-color:var(--color-neutral-50)}.coupon-code-form__error{font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing);color:var(--color-alert-500);margin-top:calc(var(--spacing-xsmall) * -1)}.coupon-code-form__applied{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:var(--spacing-small)}.coupon-code-form__applied-item{box-sizing:border-box;display:grid;grid-template-columns:1fr auto;gap:0 var(--spacing-small)}.coupon-code-form__applied-item button{all:unset;margin:0;padding:0;display:flex;justify-content:center;align-items:center;background-color:transparent;border-color:transparent;cursor:pointer}.coupon-code-form__applied .dropin-tag-container{background-color:var(--color-neutral-400);color:var(--color-neutral-800);font:var(--type-button-2-font);letter-spacing:var(--type-button-2-letter-spacing)}.cart-gift-cards .dropin-accordion-section__title-container svg:first-of-type path{transform-box:fill-box;transform-origin:center;transform:translateY(4px)}.cart-gift-options-view{position:relative}.cart-gift-options-view textarea{border:var(--shape-border-width-1) solid var(--color-neutral-600)}.cart-gift-options-view.cart-gift-options-view--product .dropin-accordion-section__heading{grid-template-columns:auto 1fr}.cart-gift-options-view.cart-gift-options-view--product .dropin-accordion-section__flex,.cart-gift-options-view.cart-gift-options-view--product .dropin-accordion-section__heading,.cart-gift-options-view.cart-gift-options-view--product .dropin-accordion-section__title-container,.cart-gift-options-view.cart-gift-options-view--product .cart-gift-options-view__icon--success{margin-top:0}.cart-gift-options-view.cart-gift-options-view--order .dropin-accordion-section__title-container,.cart-gift-options-view.cart-gift-options-view--order .dropin-accordion-section__title-container .dropin-accordion-section__title{width:100%}.cart-gift-options-view.cart-gift-options-view--order .dropin-accordion-section__title-container svg{min-width:24px}#cart-gift-options-view.cart-gift-options-view .dropin-accordion-section__content-container{display:block!important;margin-bottom:0;gap:0}.cart-gift-options-view .dropin-accordion-section__heading{align-items:flex-end}.cart-gift-options-view .cart-gift-options-view__top{display:grid;grid-template-columns:1fr;gap:var(--grid-1-gutters) 0;width:100%;align-items:start;margin-top:var(--spacing-small);margin-bottom:var(--spacing-medium)}.cart-gift-options-view .cart-gift-options-view__top.cart-gift-options-view__top--hidden{display:none}.cart-gift-options-view .cart-gift-options-view__field-gift-wrap{margin-top:0;grid-column:1 / -1}.cart-gift-options-view .cart-gift-options-view__top .dropin-field:nth-child(3){grid-column:1 / -1}.cart-gift-options-view .cart-gift-options-view__top .dropin-checkbox__label.dropin-checkbox__label--medium{margin-right:var(--spacing-xsmall)}@media (max-width: 768px){.cart-gift-options-view .cart-gift-options-view__top{display:flex;flex-direction:column}}.cart-gift-options-view .cart-gift-options-view__top .dropin-field:nth-child(2){grid-column:1;margin-top:0}.cart-gift-options-view .cart-gift-options-view__top .dropin-field div{margin-top:0}.cart-gift-options-view .cart-gift-options-view__top button{font:var(--type-body-2-strong-font);padding:0;margin:0;text-decoration:underline;grid-column:2;align-self:start}.cart-gift-options-view .cart-gift-options-view__footer{display:grid;grid-template-columns:1fr 1fr;gap:var(--grid-1-gutters);margin-top:var(--spacing-xsmall)}.cart-gift-options-view .cart-gift-options-view__footer>:first-child{grid-column:span 2;font:var(--type-body-2-strong-font);color:var(--color-neutral-800)}.cart-gift-options-view .cart-gift-options-view__footer>:nth-child(4){grid-column:span 2}.cart-gift-options-view .cart-gift-options-view__footer div>span{font:var(--type-details-caption-1-font);color:var(--color-neutral-800);display:inline-block;margin-bottom:var(--spacing-xsmall)}.cart-gift-options-view .cart-gift-options-view__footer .dropin-textarea__label--floating.dropin-textarea__label--floating--error{padding-top:0;color:var(--color-neutral-700);font:var(--type-body-2-default-font)}.cart-gift-options-view .dropin-textarea__label--floating--text.dropin-textarea__label--floating--error{color:var(--color-alert-800);font:var(--type-details-caption-2-font)}.cart-gift-options-view .dropin-textarea.dropin-textarea--error{border:var(--shape-border-width-2) solid var(--color-alert-500)}.cart-gift-options-view .cart-gift-options-view__modal{width:100%;max-width:735px;margin:auto}.cart-gift-options-view.cart-gift-options-view--product .dropin-modal.dropin-modal--dim{margin:0}.cart-gift-options-view.cart-gift-options-view--product .dropin-modal.dropin-modal--dim .cart-gift-options-view__modal{margin-top:var(--spacing-huge)}.cart-gift-options-view.cart-gift-options-view--product .dropin-modal__header.dropin-modal__header-title{display:grid;grid-template-columns:1fr auto}.cart-gift-options-view__modal .dropin-modal__header-title-content{display:block}.cart-gift-options-view__modal .dropin-modal__header-title-content span{display:block;word-wrap:break-word;overflow-wrap:break-word}.cart-gift-options-view__modal .dropin-modal__header-title-content span:first-child{font:var(--type-headline-1-font);letter-spacing:var(--type-headline-1-letter-spacing)}.cart-gift-options-view__modal .dropin-modal__header-title-content .dropin-price{font:var(--type-headline-2-strong-font);letter-spacing:var(--type-headline-2-strong-letter-spacing)}.cart-gift-options-view__modal .dropin-iconButton{text-align:right}.cart-gift-options-view__modal .dropin-modal__content.dropin-modal__body--centered{margin:0}.cart-gift-options-view__modal .cart-gift-options-view__modal-content span{display:block;text-align:left;font:var(--type-details-caption-1-font);letter-spacing:var(--type-details-caption-1-letter-spacing)}.cart-gift-options-view__modal .cart-gift-options-view__modal-content span:last-child{margin-top:var(--spacing-xsmall);font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing)}.cart-gift-options-view__modal .dropin-content-grid.cart-gift-options-view__modal-grid{margin-top:0;overflow:auto}.cart-gift-options-view__modal .dropin-content-grid__content{margin-top:0;padding:var(--spacing-xsmall);gap:var(--spacing-xsmall)}.cart-gift-options-view__modal .cart-gift-options-view__modal-content{margin-bottom:var(--spacing-big)}.cart-gift-options-view__modal .dropin-button{width:100%;text-align:center}.cart-gift-options-view__modal button:nth-child(2){margin-bottom:var(--spacing-xsmall)}.cart-gift-options-view .dropin-divider{display:none}.cart-gift-options-view .cart-gift-options-view__footer div{margin:0}.cart-gift-options-view .cart-gift-options-view__icon--success{display:grid;grid-template-columns:auto 1fr;gap:0 var(--spacing-xsmall);align-items:center}.cart-gift-options-view .cart-gift-options-view__icon--success svg{fill:var(--color-informational-800);margin-left:auto}.cart-gift-options-view .cart-gift-options-view__icon--success svg path:first-of-type{stroke:var(--color-informational-800)}.cart-gift-options-view .cart-gift-options-view__icon--success svg path:last-of-type{stroke:var(--color-neutral-50)}.cart-gift-options-view .dropin-textarea{padding:var(--spacing-xxsmall) var(--spacing-small);min-height:40px;height:40px}.cart-gift-options-view textarea:focus::placeholder{color:transparent}.dropin-textarea:not(:placeholder-shown)+.dropin-textarea__label--floating,.dropin-textarea:focus+.dropin-textarea__label--floating{display:none;opacity:0;z-index:-1}.cart-gift-options-view .dropin-textarea__label--floating{top:10px}.cart-gift-options-view__spinner{position:absolute;margin:0 auto;z-index:999;left:0;right:0;top:calc(50% - (var(--size) / 2));bottom:0}.cart-gift-options-view--loading{opacity:.4;pointer-events:none}.cart-gift-options-view .cart-gift-options-view--readonly .dropin-card.dropin-card--primary{border-radius:0}.cart-gift-options-view .cart-gift-options-view--readonly .cart-gift-options-readonly__header>span{color:var(--color-neutral-800);font:var(--type-body-1-strong-font);letter-spacing:var(--type-body-1-strong-letter-spacing);cursor:pointer}.cart-gift-options-view.cart-gift-options-view--product .cart-gift-options-view--readonly p{margin:var(--spacing-xxsmall) 0;font:var(--type-body-2-strong-font);color:var(--color-neutral-800)}.cart-gift-options-view.cart-gift-options-view--order .cart-gift-options-view--readonly .dropin-card__content{gap:var(--spacing-small)}.cart-gift-options-view.cart-gift-options-view--order .cart-gift-options-view--readonly .cart-gift-options-readonly__header{display:flex;align-items:center;gap:var(--spacing-xsmall)}.cart-gift-options-view.cart-gift-options-view--order .cart-gift-options-view--readonly .cart-gift-options-readonly__checkboxes{display:grid;grid-template-columns:auto 1fr;gap:0 var(--spacing-xsmall);align-items:center}.cart-gift-options-view.cart-gift-options-view--order .cart-gift-options-view--readonly p{margin:0;padding:0}.cart-gift-options-view.cart-gift-options-view--order .cart-gift-options-view--readonly .cart-gift-options-readonly__checkboxes svg{grid-column:1;grid-row:1;fill:var(--color-positive-800);color:var(--color-neutral-50)}.cart-gift-options-view.cart-gift-options-view--order .cart-gift-options-view--readonly .cart-gift-options-readonly__checkboxes svg>path:first-of-type{stroke:var(--color-positive-800)}.cart-gift-options-view.cart-gift-options-view--order .cart-gift-options-view--readonly .cart-gift-options-readonly__checkboxes p{grid-column:2;grid-row:1;color:var(--color-neutral-800);font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing)}.cart-gift-options-view.cart-gift-options-view--order .cart-gift-options-view--readonly .cart-gift-options-readonly__checkboxes p:last-child{grid-column:2;grid-row:2;color:var(--color-neutral-700);font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing)}.cart-gift-options-view.cart-gift-options-view--order .cart-gift-options-view--readonly .cart-gift-options-readonly__form{display:flex;flex-direction:column;gap:var(--spacing-small) 0;font:var(--type-body-2-strong-font);letter-spacing:var(--type-body-2-strong-letter-spacing);color:var(--color-neutral-800)}.cart-gift-options-view.cart-gift-options-view--order .cart-gift-options-view--readonly .cart-gift-options-readonly__form div:nth-child(2){display:grid;grid-template-columns:repeat(2,1fr);gap:var(--grid-1-gutters);justify-content:start}.cart-gift-options-view.cart-gift-options-view--order .cart-gift-options-view--readonly .cart-gift-options-readonly__form div:nth-child(2) p span{display:block;margin-bottom:var(--spacing-xsmall)}.cart-gift-options-view.cart-gift-options-view--order .cart-gift-options-view--readonly .cart-gift-options-readonly__form div:nth-child(2) p span:first-child{font:var(--type-details-caption-1-font);letter-spacing:var(--type-details-caption-1-letter-spacing)}.cart-gift-options-view.cart-gift-options-view--order .cart-gift-options-view--readonly .cart-gift-options-readonly__form div:last-child p:first-child{font:var(--type-details-caption-1-font);letter-spacing:var(--type-details-caption-1-letter-spacing);margin-bottom:var(--spacing-xsmall)}.cart-gift-options-view__modal-wrapper .dropin-modal__header.dropin-modal__header-title{display:grid;grid-template-columns:1fr auto}.cart-cart-summary-table{container-type:inline-size;container-name:cart-summary-table;width:100%}.cart-cart-summary-table__header{display:grid;grid-template-columns:3fr 1fr 1fr 1fr;gap:var(--spacing-small);padding:var(--spacing-small);border-bottom:var(--shape-border-width-1) solid var(--color-neutral-300);font:var(--type-body-1-emphasized-font);letter-spacing:var(--type-body-1-emphasized-letter-spacing);color:var(--color-neutral-800)}.cart-cart-summary-table__header-price,.cart-cart-summary-table__header-qty,.cart-cart-summary-table__header-subtotal{text-align:right}.cart-cart-summary-table__body{display:grid}.cart-cart-summary-table__row{display:grid;grid-template-columns:3fr 1fr 1fr 1fr;gap:var(--spacing-small);padding:var(--spacing-small);align-items:start;border-top:solid 1px var(--color-neutral-500)}.cart-cart-summary-table__row--updating{opacity:.4;pointer-events:none;position:relative}.cart-cart-summary-table__row--updating .cart-cart-summary-table__cell-qty-updater input{pointer-events:none}.cart-cart-summary-table__row--error{background-color:var(--color-alert-200)}.cart-cart-summary-table__cell-price,.cart-cart-summary-table__cell-qty,.cart-cart-summary-table__cell-subtotal{text-align:right;justify-self:end}.cart-cart-summary-table__cell-item{container-type:inline-size;container-name:cart-summary-table-item}.cart-cart-summary-table__mobile-label{display:none;font:var(--type-body-2-emphasized-font);margin-right:var(--spacing-small)}.cart-cart-summary-table__item-price{display:flex;flex-direction:column}.cart-cart-summary-table__item-price-tax-label{font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing);display:inline-block;color:var(--color-neutral-800)}.cart-cart-summary-table__item-subtotal{display:flex;flex-direction:column}.cart-cart-summary-table__item-subtotal-tax-label{font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing);display:inline-block;color:var(--color-neutral-800)}.cart-cart-summary-table__item-footer{display:grid;grid-template-columns:repeat(12,1fr);grid-column:1 / -1;align-items:start}.cart-cart-summary-table__item-actions{grid-column:11 / -1;justify-self:end}@container cart-summary-table (width < 768px){.cart-cart-summary-table__header{display:none}.cart-cart-summary-table__row{grid-template-columns:repeat(3,1fr);grid-template-areas:"item item item" "price qty subtotal";border-bottom:var(--shape-border-width-1) solid var(--color-neutral-300)}.cart-cart-summary-table__cell-item{grid-area:item}.cart-cart-summary-table__cell-price{grid-area:price;display:grid;text-align:left}.cart-cart-summary-table__cell-qty{grid-area:qty;display:grid;text-align:left}.cart-cart-summary-table__cell-subtotal{grid-area:subtotal;display:grid;text-align:left}.cart-cart-summary-table__mobile-label{display:inline}.cart-cart-summary-table__cell-price,.cart-cart-summary-table__cell-qty,.cart-cart-summary-table__cell-subtotal{justify-self:start;grid-template-rows:auto 1fr;gap:var(--spacing-xsmall);align-items:start}}.cart-cart-summary-table__skeleton{padding:var(--spacing-small)}.cart-cart-summary-table__skeleton .elsie-skeleton-row{margin-bottom:var(--spacing-small)}.cart-cart-summary-table__cell-qty-input{width:60px;padding:8px;border:1px solid var(--color-border, #ccc);border-radius:4px;text-align:center;font-size:var(--font-size-base, 14px);-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.cart-cart-summary-table__cell-qty-input::-webkit-outer-spin-button,.cart-cart-summary-table__cell-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cart-cart-summary-table__cell-qty-updater--disabled{opacity:.5;cursor:not-allowed;background-color:var(--color-disabled-background, #f5f5f5)}.cart-cart-summary-table__cell-qty-updater--error{border:1px solid var(--color-alert-800)}`,{styleId:"Cart"});
|
|
6
6
|
import{jsx as o}from"@dropins/tools/preact-jsx-runtime.js";import{deepmerge as d,Render as p}from"@dropins/tools/lib.js";import{useState as c,useEffect as m}from"@dropins/tools/preact-hooks.js";import{UIProvider as g}from"@dropins/tools/components.js";import{events as u}from"@dropins/tools/event-bus.js";import"./chunks/state.js";import{c as f}from"./chunks/refreshCart.js";import"./chunks/persisted-data.js";import"./chunks/resetCart.js";import"@dropins/tools/fetch-graphql.js";import"./fragments.js";const h={Cart:{heading:"Shopping Cart ({count})",editCart:"Edit",viewAll:"View all in cart",viewMore:"View more"},CartSummaryTable:{item:"Item",price:"Price",qty:"Qty",subtotal:"Subtotal",mobilePrice:"Price",mobileQty:"Qty",mobileSubtotal:"Subtotal"},MiniCart:{heading:"Shopping Cart ({count})",subtotal:"Subtotal",subtotalExcludingTaxes:"Subtotal excluding taxes",cartLink:"View Cart",checkoutLink:"Checkout"},EmptyCart:{heading:"Your cart is empty",cta:"Start shopping"},PriceSummary:{taxToBeDetermined:"TBD",checkout:"Checkout",orderSummary:"Order Summary",giftCard:{label:"Gift Card",applyAction:"Apply",ariaLabel:"Enter gift card code",ariaLabelRemove:"Remove gift card",placeholder:"Enter code",title:"Gift Card",errors:{empty:"Please enter a gift card code."},appliedGiftCards:{label:{singular:"Gift card",plural:"Gift cards"},remainingBalance:"Remaining balance"}},giftOptionsTax:{printedCard:{title:"Printed card",inclTax:"Including taxes",exclTax:"excluding taxes"},itemGiftWrapping:{title:"Item gift wrapping",inclTax:"Including taxes",exclTax:"excluding taxes"},orderGiftWrapping:{title:"Order gift wrapping",inclTax:"Including taxes",exclTax:"excluding taxes"}},subTotal:{label:"Subtotal",withTaxes:"Including taxes",withoutTaxes:"excluding taxes"},shipping:{label:"Shipping",editZipAction:"Apply",estimated:"Estimated Shipping",estimatedDestination:"Estimated Shipping to",destinationLinkAriaLabel:"Change destination",zipPlaceholder:"Zip Code",withTaxes:"Including taxes",withoutTaxes:"excluding taxes",alternateField:{zip:"Estimate using country/zip",state:"Estimate using country/state"}},taxes:{total:"Tax Total",totalOnly:"Tax",breakdown:"Taxes",showBreakdown:"Show Tax Breakdown",hideBreakdown:"Hide Tax Breakdown",estimated:"Estimated Tax"},total:{estimated:"Estimated Total",free:"Free",label:"Total",withoutTax:"Total excluding taxes",saved:"Total saved"},estimatedShippingForm:{country:{placeholder:"Country"},state:{placeholder:"State"},zip:{placeholder:"Zip Code"},apply:{label:"Apply"}},freeShipping:"Free",coupon:{applyAction:"Apply",placeholder:"Enter code",title:"Discount code",ariaLabelRemove:"Remove coupon"}},CartItem:{discountedPrice:"Discounted Price",download:"file",message:"Note",recipient:"To",regularPrice:"Regular Price",sender:"From",file:"{count} file",files:"{count} files",lowInventory:"Only {count} left!",insufficientQuantity:"Only {inventory} of {count} in stock",insufficientQuantityGeneral:"Not enough items for sale",notAvailableMessage:"Requested qty. not available",discountPercentage:"{discount}% off",savingsAmount:"Savings",includingTax:"Incl. tax",excludingTax:"Excl. tax",itemBeingRemoved:'"{product}" is being removed',itemRemoved:'"{product}" was removed',itemRemovedDescription:"Changed your mind? You can undo this action.",undoAction:"Undo",dismissAction:"Dismiss"},EstimateShipping:{label:"Shipping",editZipAction:"Apply",estimated:"Estimated Shipping",estimatedDestination:"Estimated Shipping to",destinationLinkAriaLabel:"{destination}, Change destination",zipPlaceholder:"Zip Code",withTaxes:"Including taxes",withoutTaxes:"excluding taxes",alternateField:{zip:"Estimate using country/zip",state:"Estimate using country/state"}},ShippingOrderSummaryLine:{label:"Shipping",withTaxes:"Including taxes",withoutTaxes:"excluding taxes"},OutOfStockMessage:{heading:"Your cart contains items with limited stock",message:"Please adjust quantities to continue",alert:"Out of stock",action:"Remove all out of stock items from cart"},GiftOptions:{formText:{requiredFieldError:"This field is required"},modal:{defaultTitle:"Gift wrapping for Cart",title:"Gift wrapping for",wrappingText:"Wrapping choice",wrappingSubText:"",modalConfirmButton:"Apply",modalCancelButton:"Cancel",ariaLabelModal:"Gift modal",ariaLabelModalOpen:"open",ariaLabelModalClose:"close",ariaLabelWrapping:"Wrapping options"},order:{customize:"Customize",accordionHeading:"Gift options",giftReceiptIncluded:{title:"Use gift receipt",subtitle:"The receipt and order invoice will not show the price."},printedCardIncluded:{title:"Include printed card",subtitle:""},giftOptionsWrap:{title:"Gift wrap this order",subtitle:"Wrapping option:"},formContent:{formTitle:"Add a message to the order (optional)",formTo:"To",formFrom:"From",giftMessageTitle:"Gift message",formToPlaceholder:"Recipient's name",formFromPlaceholder:"Sender's name",formMessagePlaceholder:"Gift message"},readOnlyFormView:{title:"Selected gift order options",giftWrap:"Gift wrap this order",giftWrapOptions:"Wrapping option:",giftReceipt:"Use gift receipt",giftReceiptText:"The receipt and order invoice will not show the price.",printCard:"Use printed card",printCardText:"",formTitle:"Your gift message",formTo:"To",formFrom:"From",formMessageTitle:"Gift message"}},product:{customize:"Customize",accordionHeading:"Gift options",giftReceiptIncluded:{title:"Use gift receipt",subtitle:"The receipt and order invoice will not show the price."},printedCardIncluded:{title:"Include printed card",subtitle:""},giftOptionsWrap:{title:"Gift wrap this item",subtitle:"Wrapping option:"},formContent:{formTitle:"Add a message to the item (optional)",formTo:"To",formFrom:"From",giftMessageTitle:"Gift message",formToPlaceholder:"Recipient's name",formFromPlaceholder:"Sender's name",formMessagePlaceholder:"Gift message"},readOnlyFormView:{title:"This item is a gift",wrapping:"Wrapping:",recipient:"To:",sender:"From:",message:"Message:"}}}},x={Cart:h},T={default:x},w=({children:n})=>{var i;const[e,r]=c(),l=(i=f.getConfig())==null?void 0:i.langDefinitions;m(()=>{const t=u.on("locale",a=>{a!==e&&r(a)},{eager:!0});return()=>{t==null||t.off()}},[e]);const s=d(T,l??{});return o(g,{lang:e,langDefinitions:s,children:n})},F=new p(o(w,{}));export{F as render};
|
|
7
7
|
//# sourceMappingURL=render.js.map
|