@dropins/storefront-cart 1.4.0-alpha1 → 1.4.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.
Files changed (74) hide show
  1. package/api.js +1 -0
  2. package/api.js.map +1 -0
  3. package/chunks/CartSummaryGrid.js +1 -0
  4. package/chunks/CartSummaryGrid.js.map +1 -0
  5. package/chunks/CartSummaryList.js +1 -0
  6. package/chunks/CartSummaryList.js.map +1 -0
  7. package/chunks/CartSummaryTable2.js +1 -0
  8. package/chunks/CartSummaryTable2.js.map +1 -0
  9. package/chunks/ChevronDown.js +1 -0
  10. package/chunks/ChevronDown.js.map +1 -0
  11. package/chunks/ChevronUp.js +1 -0
  12. package/chunks/ChevronUp.js.map +1 -0
  13. package/chunks/Coupon.js +1 -0
  14. package/chunks/Coupon.js.map +1 -0
  15. package/chunks/Coupons.js +1 -0
  16. package/chunks/Coupons.js.map +1 -0
  17. package/chunks/EmptyCart.js +1 -0
  18. package/chunks/EmptyCart.js.map +1 -0
  19. package/chunks/GiftCard.js +1 -0
  20. package/chunks/GiftCard.js.map +1 -0
  21. package/chunks/OrderSummary.js +1 -0
  22. package/chunks/OrderSummary.js.map +1 -0
  23. package/chunks/OrderSummaryLine.js +1 -0
  24. package/chunks/OrderSummaryLine.js.map +1 -0
  25. package/chunks/WarningWithCircle.js +1 -0
  26. package/chunks/WarningWithCircle.js.map +1 -0
  27. package/chunks/acdl.js +2 -1
  28. package/chunks/acdl.js.map +1 -0
  29. package/chunks/applyCouponsToCart.js +1 -0
  30. package/chunks/applyCouponsToCart.js.map +1 -0
  31. package/chunks/getEstimateShipping.js +1 -0
  32. package/chunks/getEstimateShipping.js.map +1 -0
  33. package/chunks/getEstimatedTotals.js +1 -0
  34. package/chunks/getEstimatedTotals.js.map +1 -0
  35. package/chunks/persisted-data.js +1 -0
  36. package/chunks/persisted-data.js.map +1 -0
  37. package/chunks/refreshCart.js +1 -0
  38. package/chunks/refreshCart.js.map +1 -0
  39. package/chunks/removeGiftCardFromCart.js +1 -0
  40. package/chunks/removeGiftCardFromCart.js.map +1 -0
  41. package/chunks/resetCart.js +1 -0
  42. package/chunks/resetCart.js.map +1 -0
  43. package/chunks/setGiftOptionsOnCart.js +1 -0
  44. package/chunks/setGiftOptionsOnCart.js.map +1 -0
  45. package/chunks/updateProductsFromCart.js +8 -7
  46. package/chunks/updateProductsFromCart.js.map +1 -0
  47. package/containers/CartSummaryGrid.js +1 -0
  48. package/containers/CartSummaryGrid.js.map +1 -0
  49. package/containers/CartSummaryList.js +1 -0
  50. package/containers/CartSummaryList.js.map +1 -0
  51. package/containers/CartSummaryTable.js +1 -0
  52. package/containers/CartSummaryTable.js.map +1 -0
  53. package/containers/Coupons.js +1 -0
  54. package/containers/Coupons.js.map +1 -0
  55. package/containers/EmptyCart.js +1 -0
  56. package/containers/EmptyCart.js.map +1 -0
  57. package/containers/EstimateShipping.js +1 -0
  58. package/containers/EstimateShipping.js.map +1 -0
  59. package/containers/GiftCards.js +1 -0
  60. package/containers/GiftCards.js.map +1 -0
  61. package/containers/GiftOptions.js +1 -0
  62. package/containers/GiftOptions.js.map +1 -0
  63. package/containers/MiniCart.js +1 -0
  64. package/containers/MiniCart.js.map +1 -0
  65. package/containers/OrderSummary.js +1 -0
  66. package/containers/OrderSummary.js.map +1 -0
  67. package/containers/OrderSummaryLine.js +1 -0
  68. package/containers/OrderSummaryLine.js.map +1 -0
  69. package/data/models/acdl-models.d.ts +18 -0
  70. package/fragments.js +1 -0
  71. package/fragments.js.map +1 -0
  72. package/package.json +1 -1
  73. package/render.js +1 -0
  74. package/render.js.map +1 -0
@@ -1,3 +1,4 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
3
  import{jsx as r,jsxs as p,Fragment as xr}from"@dropins/tools/preact-jsx-runtime.js";import{useState as G,useEffect as ne,useCallback as pr,Fragment as gr}from"@dropins/tools/preact-compat.js";import{VComponent as L,classes as nr,Slot as ce}from"@dropins/tools/lib.js";import{events as cr}from"@dropins/tools/event-bus.js";import{g as Tr}from"./persisted-data.js";import{s as re}from"./resetCart.js";import{g as yr}from"./getEstimatedTotals.js";import{p as hr}from"./acdl.js";import"@dropins/tools/preact-hooks.js";import{Accordion as ir,AccordionSection as lr,ProgressSpinner as Cr,Divider as Sr,Price as u,Button as Ir,Icon as ur}from"@dropins/tools/components.js";/* empty css */import{O as C}from"./OrderSummaryLine.js";import{S as or}from"./ChevronUp.js";import{S as sr}from"./ChevronDown.js";import{useText as dr,Text as mr}from"@dropins/tools/i18n.js";import{S as br}from"./Coupon.js";import{S as fr}from"./GiftCard.js";const vr=({className:ee,children:V,variant:k="primary",heading:d,loading:B=!0,subTotal:b,shipping:T,discounts:f,taxTotal:S,taxesApplied:w,total:e,primaryAction:F,coupons:o,giftCards:W,totalSaved:v,appliedGiftCards:m,printedCard:t,itemsGiftWrapping:x,orderGiftWrapping:g,updateLineItems:s=_=>_,...A})=>{const[_,P]=G(!1),l=dr({checkout:"Cart.PriceSummary.checkout",discountedPrice:"Cart.CartItem.discountedPrice",download:"Cart.CartItem.download",heading:"Cart.Cart.heading",message:"Cart.CartItem.message",regularPrice:"Cart.CartItem.regularPrice",recipient:"Cart.CartItem.recipient",sender:"Cart.CartItem.sender",file:"Cart.CartItem.file",files:"Cart.CartItem.files",orderSummary:"Cart.PriceSummary.orderSummary",taxesBreakdownTitle:"Cart.PriceSummary.taxes.breakdown",taxTotal:"Cart.PriceSummary.taxes.total",taxEstimated:"Cart.PriceSummary.taxes.estimated",taxTotalOnly:"Cart.PriceSummary.taxes.totalOnly",showTaxBreakdown:"Cart.PriceSummary.taxes.showBreakdown",hideTaxBreakdown:"Cart.PriceSummary.taxes.hideBreakdown",taxToBeDetermined:"Cart.PriceSummary.taxToBeDetermined",subtotalLabel:"Cart.PriceSummary.subTotal.label",subtotalWithTaxes:"Cart.PriceSummary.subTotal.withTaxes",subtotalWithoutTaxes:"Cart.PriceSummary.subTotal.withoutTaxes",totalEstimated:"Cart.PriceSummary.total.estimated",totalLabel:"Cart.PriceSummary.total.label",totalWithoutTax:"Cart.PriceSummary.total.withoutTax",totalSaved:"Cart.PriceSummary.total.saved",shippingLabel:"Cart.PriceSummary.shipping.label",zipPlaceholder:"Cart.PriceSummary.shipping.zipPlaceholder",editZipAction:"Cart.PriceSummary.shipping.editZipAction",shippingWithTaxes:"Cart.PriceSummary.shipping.withTaxes",shippingWithoutTaxes:"Cart.PriceSummary.shipping.withoutTaxes",shippingEstimated:"Cart.PriceSummary.shipping.estimated",shippingEstimatedByState:"Cart.PriceSummary.shipping.alternateField.state",shippingEstimatedByZip:"Cart.PriceSummary.shipping.alternateField.zip",destinationLinkAriaLabel:"Cart.PriceSummary.shipping.destinationLinkAriaLabel",applyButton:"Cart.PriceSummary.estimatedShippingForm.apply.label",countryField:"Cart.PriceSummary.estimatedShippingForm.country.placeholder",freeShipping:"Cart.PriceSummary.freeShipping",stateField:"Cart.PriceSummary.estimatedShippingForm.state.placeholder",zipField:"Cart.PriceSummary.estimatedShippingForm.zip.placeholder",printedCardTitle:"Cart.PriceSummary.giftOptionsTax.printedCard.title",printedCardInclTax:"Cart.PriceSummary.giftOptionsTax.printedCard.inclTax",printedCardExclTax:"Cart.PriceSummary.giftOptionsTax.printedCard.exclTax",itemGiftWrappingTitle:"Cart.PriceSummary.giftOptionsTax.itemGiftWrapping.title",itemGiftWrappingInclTax:"Cart.PriceSummary.giftOptionsTax.itemGiftWrapping.inclTax",itemGiftWrappingExclTax:"Cart.PriceSummary.giftOptionsTax.itemGiftWrapping.exclTax",orderGiftWrappingTitle:"Cart.PriceSummary.giftOptionsTax.orderGiftWrapping.title",orderGiftWrappingInclTax:"Cart.PriceSummary.giftOptionsTax.orderGiftWrapping.inclTax",orderGiftWrappingExclTax:"Cart.PriceSummary.giftOptionsTax.orderGiftWrapping.exclTax"}),O=m?r(C,{label:m==null?void 0:m.label,price:m==null?void 0:m.price,classSuffixes:["applied-gift-cards"],children:m==null?void 0:m.content},m==null?void 0:m.label):null,E=b&&p(C,{label:l.subtotalLabel,price:b.price,classSuffixes:["subTotal"],children:[b.taxIncluded&&r("div",{"data-testid":"sub-total-tax-caption",className:"cart-order-summary__caption",children:r("span",{children:l.subtotalWithTaxes})}),b.taxExcluded?r("div",{"data-testid":"sub-total-tax-caption-excluded",className:"cart-order-summary__caption",children:p("span",{children:[b.priceExcludingTax," ",l.subtotalWithoutTaxes]})}):void 0]},l.subtotalLabel),D=f&&f.length>0&&r(xr,{children:f.map(n=>p(C,{label:n.label,price:n.price,classSuffixes:["discount"],children:[n.coupon&&r(L,{node:n.coupon,className:"cart-order-summary__coupon__code"}),n.caption&&r(L,{node:n.caption,className:"cart-order-summary__caption"})]},n.label))}),a=w&&w.length>0?r(ir,{"data-testid":"tax-breakdown",className:"cart-order-summary__taxes",iconOpen:sr,iconClose:or,children:p(lr,{title:l.taxesBreakdownTitle,secondaryText:!_&&S?r(L,{node:S.price,className:"cart-order-summary__price"}):void 0,renderContentWhenClosed:!1,onStateChange:P,children:[r("div",{className:"cart-order-summary__appliedTaxes",children:w.map(n=>r(C,{label:n.label,price:n.price,classSuffixes:["taxEntry"],labelClassSuffix:"muted"},n.label))}),S&&r(C,{label:l.taxTotal,price:S.price,classSuffixes:["taxTotal"],labelClassSuffix:"muted"})]})}):S&&r(C,{label:S.estimated?l.taxEstimated:l.taxTotalOnly,price:S.price,classSuffixes:["taxTotal"],testId:"tax-total-only"}),y=t!=null&&t.renderContent?p(C,{label:l.printedCardTitle,price:t.taxInclAndExcl||t.taxIncluded?t.priceInclTax:t.priceExclTax,classSuffixes:["printedCardContent"],children:[t.taxIncluded&&r("div",{"data-testid":"printed-card-incl",className:"cart-order-summary__caption",children:r("span",{children:l.printedCardInclTax})}),t.taxInclAndExcl?r("div",{"data-testid":"printed-card-incl-excl",className:"cart-order-summary__caption",children:p("span",{children:[t.priceExclTax," ",l.printedCardExclTax]})}):void 0]},l.printedCardTitle):null,I=x!=null&&x.renderContent?p(C,{label:l.itemGiftWrappingTitle,price:x.taxInclAndExcl||x.taxIncluded?x.priceInclTax:x.priceExclTax,classSuffixes:["itemsGiftWrappingContent"],children:[x.taxIncluded?r("div",{"data-testid":"item-gift-wrapping-incl",className:"cart-order-summary__caption",children:r("span",{children:l.itemGiftWrappingInclTax})}):null,x.taxInclAndExcl?r("div",{"data-testid":"item-gift-wrapping-incl-excl",className:"cart-order-summary__caption",children:p("span",{children:[x.priceExclTax," ",l.itemGiftWrappingExclTax]})}):null]},l.itemGiftWrappingTitle):null,U=g!=null&&g.renderContent?p(C,{label:l.orderGiftWrappingTitle,price:g.taxInclAndExcl||g.taxIncluded?g.priceInclTax:g.priceExclTax,classSuffixes:["orderGiftWrappingContent"],children:[g.taxIncluded&&r("div",{"data-testid":"order-gift-wrapping-incl",className:"cart-order-summary__caption",children:r("span",{children:l.orderGiftWrappingInclTax})}),g.taxInclAndExcl?r("div",{"data-testid":"order-gift-wrapping-incl-excl",className:"cart-order-summary__caption",children:p("span",{children:[g.priceExclTax," ",l.orderGiftWrappingExclTax]})}):void 0]},l.orderGiftWrappingTitle):null,X=[{key:"subTotalContent",sortOrder:100,content:E},...T?[{key:"shippingContent",sortOrder:200,content:r(L,{node:T,className:"cart-order-summary__shipping"})}]:[],{key:"printedCard",sortOrder:300,content:y},{key:"itemsGiftWrappingContent",sortOrder:400,content:I},{key:"orderGiftWrappingContent",sortOrder:500,content:U},{key:"discountsContent",sortOrder:600,content:D},{key:"appliedGiftCardsContent",sortOrder:700,content:O},{key:"taxContent",sortOrder:800,content:a},...e?[{key:"taxContent",sortOrder:900,content:r(C,{label:e.estimated?l.totalEstimated:l.totalLabel,price:e.price,classSuffixes:["total","total--padded"],testId:"total-content",labelClassSuffix:"bold"})}]:[],...e!=null&&e.priceWithoutTax?[{key:"totalWithoutTaxContent",sortOrder:1e3,content:r(C,{label:l.totalWithoutTax,price:e.priceWithoutTax,classSuffixes:["totalWithoutTax"],testId:"total-without-tax",labelClassSuffix:"muted"})}]:[],...v?[{key:"totalSavedContent",sortOrder:1100,content:r(C,{label:l.totalSaved,price:v,classSuffixes:["saved"],testId:"total-saved",labelClassSuffix:"muted"})}]:[],...F?[{key:"primaryActionContent",sortOrder:1200,content:r("div",{className:nr(["cart-order-summary__entry","cart-order-summary__primaryAction"]),children:F})}]:[],...o?[{key:"couponsContent",sortOrder:1300,content:r(L,{node:o,className:"cart-order-summary__coupons"})}]:[],...W?[{key:"giftCardsContent",sortOrder:1400,content:r(L,{node:W,className:"cart-order-summary__gift-cards"})}]:[]],z=s(X).sort((n,h)=>n.sortOrder-h.sortOrder);return p("div",{...A,className:nr(["cart-order-summary",["cart-order-summary--loading",B],[`cart-order-summary__${k}`,k],ee]),children:[B&&r(Cr,{className:"cart-order-summary__spinner"}),p("div",{className:"cart-order-summary__heading",children:[d&&r(L,{node:d,className:"cart-order-summary__heading-text"}),r(Sr,{variant:"primary",className:"cart-order-summary__divider-primary"})]}),r("div",{className:"cart-order-summary__content",children:z.map(n=>Array.isArray(n.content)?r(ir,{className:n.className,actionIconPosition:"right",iconOpen:sr,iconClose:or,children:r(lr,{defaultOpen:!1,title:n.title,renderContentWhenClosed:!1,children:n.content.map(h=>h.content)})},n.key):n.content)})]})},_r=()=>{const[ee,V]=G(!1),[k,d]=G();return{handleEstimateTotals:(b,T)=>{V(!0);const{shippingCountry:f,shippingState:S="",shippingStateId:w,shippingZip:e=""}=b,F={countryCode:f,postcode:e,region:{region:S,id:w},shipping_method:{carrier_code:(T==null?void 0:T.carrier_code)||"",method_code:(T==null?void 0:T.method_code)||""}};yr(F).then(o=>{var W,v,m,t,x,g,s,A,_,P,l,O,E,D,a,y,I,U,X,z;o&&d({estimatedTaxTotal:{amount:(W=o.totalTax)==null?void 0:W.value,currency:(v=o.totalTax)==null?void 0:v.currency},estimatedSubTotal:{excludingTax:{amount:(t=(m=o.subtotal)==null?void 0:m.excludingTax)==null?void 0:t.value,currency:(g=(x=o.subtotal)==null?void 0:x.excludingTax)==null?void 0:g.currency},includingTax:{amount:(A=(s=o.subtotal)==null?void 0:s.includingTax)==null?void 0:A.value,currency:(P=(_=o.subtotal)==null?void 0:_.includingTax)==null?void 0:P.currency},includingDiscountOnly:{amount:(O=(l=o.subtotal)==null?void 0:l.includingDiscountOnly)==null?void 0:O.value,currency:(D=(E=o.subtotal)==null?void 0:E.includingDiscountOnly)==null?void 0:D.currency}},estimatedGrandTotalPrice:{includingTax:{amount:(a=o.total)==null?void 0:a.includingTax.value,currency:(y=o.total)==null?void 0:y.includingTax.currency},excludingTax:{amount:(I=o.total)==null?void 0:I.excludingTax.value,currency:(U=o.total)==null?void 0:U.excludingTax.currency}},estimatedAppliedTaxes:{taxes:(X=o.appliedTaxes)==null?void 0:X.map(n=>{var h,N;return{label:n.label,amount:{value:(h=n.amount)==null?void 0:h.value,currency:(N=n.amount)==null?void 0:N.currency}}})},estimatedItems:{items:(z=o.items)==null?void 0:z.map(n=>{var h,N,Z,j,Q,$,H,q,J,K;return{uid:n.uid,price:{amount:(h=n.price)==null?void 0:h.value,currency:(N=n.price)==null?void 0:N.currency},taxedPrice:{amount:(Z=n.taxedPrice)==null?void 0:Z.value,currency:(j=n.taxedPrice)==null?void 0:j.currency},rowTotal:{amount:(Q=n.rowTotal)==null?void 0:Q.value,currency:($=n.rowTotal)==null?void 0:$.currency},rowTotalIncludingTax:{amount:(H=n.rowTotalIncludingTax)==null?void 0:H.value,currency:(q=n.rowTotalIncludingTax)==null?void 0:q.currency},regularPrice:{amount:(J=n.regularPrice)==null?void 0:J.value,currency:(K=n.regularPrice)==null?void 0:K.currency}}})}})}).finally(()=>{V(!1)})},estimatedTotals:k,setEstimatedTotals:d,loading:ee}},Pr=({children:ee,initialData:V=null,routeCheckout:k,slots:d,errors:B,showTotalSaved:b,enableCoupons:T,enableGiftCards:f,updateLineItems:S=e=>e,...w})=>{var h,N,Z,j,Q,$,H,q,J,K,ie,le,ue,oe,se,me,de,xe,pe,ge,Te,ye,he,Ce,Se,Ie,be,fe,ve,_e,Pe,Ee,Ne,ke,we,We,Ae,De,Le,Be,Fe,Oe,Ue,Xe,ze,Ve,Ze,je,Qe,$e,He,qe,Je,Ke,Re,Ye,Me,Ge,er;const[e,F]=G(V),[o,W]=G(!1),v=e==null?void 0:e.isVirtual;T=T??!0,f=f??!0;const{handleEstimateTotals:m,estimatedTotals:t,setEstimatedTotals:x,loading:g}=_r(),s=(h=re.config)==null?void 0:h.shoppingCartDisplaySetting,A=(s==null?void 0:s.subtotal)==="INCLUDING_TAX",_=(s==null?void 0:s.subtotal)==="INCLUDING_EXCLUDING_TAX",P=s==null?void 0:s.zeroTax,l=()=>(e==null?void 0:e.appliedGiftCards.reduce((i,c)=>i+c.appliedBalance.value,0))??0,O=i=>i!=null&&i.code?p(gr,{children:[p("span",{className:"cart-order-summary__coupon__code",children:[r(ur,{source:fr,size:"16"}),r("span",{children:i==null?void 0:i.code})]}),p("span",{className:"cart-order-summary__caption",children:[r(mr,{id:"Cart.PriceSummary.giftCard.appliedGiftCards.remainingBalance"}),r(u,{className:"cart-order-summary__caption",weight:"normal",size:"small",amount:i.giftCardBalance.value,currency:i.giftCardBalance.currency})]})]},i.code):null,E=(N=re.config)==null?void 0:N.cartGiftWrapping,D=(Z=re.config)==null?void 0:Z.cartPrintedCard,a=e==null?void 0:e.totalGiftOptions;ne(()=>{const i=cr.on("cart/data",c=>{var R,Y,M;F(c);const te=(R=c==null?void 0:c.addresses)==null?void 0:R.shipping,ae=c==null?void 0:c.isVirtual;(te||ae)&&x(null),t==null&&x({estimatedTaxTotal:{amount:(Y=c==null?void 0:c.totalTax)==null?void 0:Y.value,currency:(M=c==null?void 0:c.totalTax)==null?void 0:M.currency}})},{eager:!0});return()=>{i==null||i.off()}},[]),ne(()=>{W(B)},[B]),ne(()=>{const i=cr.on("shipping/estimate",c=>{var R,Y,M,rr,tr,ar;const te={shippingCountry:(R=c==null?void 0:c.address)==null?void 0:R.countryCode,shippingState:(Y=c==null?void 0:c.address)==null?void 0:Y.region,shippingStateId:(M=c==null?void 0:c.address)==null?void 0:M.regionId,shippingZip:(rr=c==null?void 0:c.address)==null?void 0:rr.postCode},ae={carrier_code:((tr=c==null?void 0:c.shippingMethod)==null?void 0:tr.carrierCode)||"",method_code:((ar=c==null?void 0:c.shippingMethod)==null?void 0:ar.methodCode)||""};m(te,ae)});return()=>{i==null||i.off()}},[m]);const y=dr({checkout:"Cart.PriceSummary.checkout",free:"Cart.PriceSummary.total.free",orderSummary:"Cart.PriceSummary.orderSummary",taxToBeDetermined:"Cart.PriceSummary.taxToBeDetermined"}),I=(e==null?void 0:e.hasOutOfStockItems)||o,U=pr(()=>{!I&&e&&hr(e,re.locale)},[I,e]),X=!v&&(d!=null&&d.EstimateShipping)?r(ce,{name:"EstimateShipping",slot:d.EstimateShipping},"estimateShippingId"):void 0;if(!Object.keys(e??{}).length||(e==null?void 0:e.totalQuantity)===0)return null;const z=T&&(d!=null&&d.Coupons)?r(ce,{name:"Coupons",slot:d.Coupons},"couponsId"):void 0,n=f&&(d!=null&&d.GiftCards)?r(ce,{name:"GiftCards",slot:d.GiftCards},"giftCardId"):void 0;return r(vr,{...w,"data-testid":"cart-order-summary",heading:r("div",{children:y.orderSummary}),shipping:X,coupons:z,giftCards:n,loading:g,updateLineItems:S,appliedGiftCards:(j=e==null?void 0:e.appliedGiftCards)!=null&&j.length?{label:r(mr,{id:"Cart.PriceSummary.giftCard.appliedGiftCards.label",plural:(Q=e==null?void 0:e.appliedGiftCards)==null?void 0:Q.length,fields:{count:($=e==null?void 0:e.appliedGiftCards)==null?void 0:$.length}}),price:r(u,{className:"cart-order-summary__price",amount:-l(),currency:(q=(H=e==null?void 0:e.appliedGiftCards)==null?void 0:H[0])==null?void 0:q.appliedBalance.currency}),content:(J=e==null?void 0:e.appliedGiftCards)==null?void 0:J.map(O).filter(Boolean)}:void 0,printedCard:{renderContent:!!((K=a==null?void 0:a.printedCard)!=null&&K.value),taxIncluded:D==="INCLUDING_TAX",taxInclAndExcl:D==="INCLUDING_EXCLUDING_TAX",priceExclTax:r(u,{"data-testid":"printed-card",amount:(ie=a==null?void 0:a.printedCard)==null?void 0:ie.value,currency:(le=a==null?void 0:a.printedCard)==null?void 0:le.currency}),priceInclTax:r(u,{amount:(ue=a==null?void 0:a.printedCardInclTax)==null?void 0:ue.value,currency:(oe=a==null?void 0:a.printedCardInclTax)==null?void 0:oe.currency})},itemsGiftWrapping:{renderContent:!!((se=a==null?void 0:a.giftWrappingForItems)!=null&&se.value),taxIncluded:E==="INCLUDING_TAX",taxInclAndExcl:E==="INCLUDING_EXCLUDING_TAX",priceExclTax:r(u,{amount:(me=a==null?void 0:a.giftWrappingForItems)==null?void 0:me.value,currency:(de=a==null?void 0:a.giftWrappingForItems)==null?void 0:de.currency}),priceInclTax:r(u,{amount:(xe=a==null?void 0:a.giftWrappingForItemsInclTax)==null?void 0:xe.value,currency:(pe=a==null?void 0:a.giftWrappingForItemsInclTax)==null?void 0:pe.currency})},orderGiftWrapping:{renderContent:!!((ge=a==null?void 0:a.giftWrappingForOrder)!=null&&ge.value),taxIncluded:E==="INCLUDING_TAX",taxInclAndExcl:E==="INCLUDING_EXCLUDING_TAX",priceExclTax:r(u,{amount:(Te=a==null?void 0:a.giftWrappingForOrder)==null?void 0:Te.value,currency:(ye=a==null?void 0:a.giftWrappingForOrder)==null?void 0:ye.currency}),priceInclTax:r(u,{amount:(he=a==null?void 0:a.giftWrappingForOrderInclTax)==null?void 0:he.value,currency:(Ce=a==null?void 0:a.giftWrappingForOrderInclTax)==null?void 0:Ce.currency})},subTotal:{taxIncluded:A&&!P,taxExcluded:_,zeroTaxSubtotal:P,priceExcludingTax:(Se=t==null?void 0:t.estimatedSubTotal)!=null&&Se.excludingTax?r(u,{"data-testid":"subtotal",...(Ie=t==null?void 0:t.estimatedSubTotal)==null?void 0:Ie.excludingTax}):r(u,{"data-testid":"subtotal",amount:(fe=(be=e==null?void 0:e.subtotal)==null?void 0:be.excludingTax)==null?void 0:fe.value,currency:(_e=(ve=e==null?void 0:e.subtotal)==null?void 0:ve.excludingTax)==null?void 0:_e.currency}),price:!P&&A||!P&&_?(Pe=t==null?void 0:t.estimatedSubTotal)!=null&&Pe.includingTax?r(u,{"data-testid":"subtotal",...(Ee=t==null?void 0:t.estimatedSubTotal)==null?void 0:Ee.includingTax}):r(u,{"data-testid":"subtotal",amount:(Ne=e==null?void 0:e.subtotal.includingTax)==null?void 0:Ne.value,currency:(ke=e==null?void 0:e.subtotal.includingTax)==null?void 0:ke.currency}):r(u,{"data-testid":"subtotal",amount:(We=(we=e==null?void 0:e.subtotal)==null?void 0:we.excludingTax)==null?void 0:We.value,currency:(De=(Ae=e==null?void 0:e.subtotal)==null?void 0:Ae.excludingTax)==null?void 0:De.currency})},discounts:(Le=e==null?void 0:e.appliedDiscounts)==null?void 0:Le.map(i=>{var c;return{label:i.label,price:r(u,{"data-testid":"summary-discount-total",amount:-i.amount.value,currency:i.amount.currency,sale:!0}),coupon:i!=null&&i.coupon?p("span",{children:[r(ur,{source:br,size:"16"}),(c=i==null?void 0:i.coupon)==null?void 0:c.code]}):void 0}}),taxTotal:v||t&&t.estimatedTaxTotal==null?{price:r("span",{"data-testid":"tax-total-tbd",children:y.taxToBeDetermined})}:{price:t!=null&&t.estimatedTaxTotal?r(u,{"data-testid":"tax-total-estimated",...t==null?void 0:t.estimatedTaxTotal}):r(u,{"data-testid":"tax-total-actual",amount:(Be=e==null?void 0:e.totalTax)==null?void 0:Be.value,currency:(Fe=e==null?void 0:e.totalTax)==null?void 0:Fe.currency}),estimated:(!t||!t.estimatedTaxTotal)&&!((Oe=e==null?void 0:e.addresses)!=null&&Oe.shipping)},taxesApplied:v?void 0:s!=null&&s.fullSummary?(Xe=((Ue=t==null?void 0:t.estimatedAppliedTaxes)==null?void 0:Ue.taxes)||(e==null?void 0:e.appliedTaxes))==null?void 0:Xe.map(i=>({label:i.label,price:r(u,{"data-testid":"applied-taxes",amount:i.amount.value,currency:i.amount.currency})})):void 0,total:{price:t!=null&&t.estimatedGrandTotalPrice?((Ve=(ze=t==null?void 0:t.estimatedGrandTotalPrice)==null?void 0:ze.includingTax)==null?void 0:Ve.amount)===0?r("span",{"data-testid":"total-including-tax",children:y.free}):r(u,{"data-testid":"total-including-tax-estimated",...(Ze=t==null?void 0:t.estimatedGrandTotalPrice)==null?void 0:Ze.includingTax}):((je=e==null?void 0:e.total)==null?void 0:je.includingTax.value)===0?r("span",{"data-testid":"total-including-tax",children:y.free}):r(u,{"data-testid":"total-including-tax-actual",amount:(Qe=e==null?void 0:e.total)==null?void 0:Qe.includingTax.value,currency:($e=e==null?void 0:e.total)==null?void 0:$e.includingTax.currency}),estimated:(!t||!!(t!=null&&t.estimatedTaxTotal))&&!((He=e==null?void 0:e.addresses)!=null&&He.shipping),priceWithoutTax:s!=null&&s.grandTotal?t!=null&&t.estimatedAppliedTaxes?((Je=(qe=t==null?void 0:t.estimatedGrandTotalPrice)==null?void 0:qe.excludingTax)==null?void 0:Je.amount)===0?r("span",{"data-testid":"total-excluding-tax",children:y.free}):r(u,{"data-testid":"total-excluding-tax",...(Ke=t==null?void 0:t.estimatedGrandTotalPrice)==null?void 0:Ke.excludingTax}):((Re=e==null?void 0:e.total)==null?void 0:Re.excludingTax.value)===0?r("span",{"data-testid":"total-excluding-tax",children:y.free}):r(u,{"data-testid":"total-excluding-tax",amount:(Ye=e==null?void 0:e.total)==null?void 0:Ye.excludingTax.value,currency:(Me=e==null?void 0:e.total)==null?void 0:Me.excludingTax.currency}):void 0},primaryAction:k&&r(Ir,{"data-testid":"checkout-button",variant:"primary",disabled:I,"aria-disabled":I,href:I?void 0:k({cartId:e.id}),onClick:U,children:y.checkout}),totalSaved:b?r(u,{amount:(Ge=e==null?void 0:e.discount)==null?void 0:Ge.value,currency:(er=e==null?void 0:e.total)==null?void 0:er.includingTax.currency}):void 0})};Pr.getInitialData=async function(){return Tr()};export{Pr as O};
4
+ //# sourceMappingURL=OrderSummary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderSummary.js","sources":["/@dropins/storefront-cart/src/components/OrderSummary/OrderSummary.tsx","/@dropins/storefront-cart/src/hooks/useEstimatedTotals.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, 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 &nbsp;\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 &nbsp;\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 &nbsp;\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 &nbsp;\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 { 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 { CartModel, AppliedGiftCardProps } 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 { 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 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 =\n !isVirtual && slots?.EstimateShipping ? (\n <Slot\n name=\"EstimateShipping\"\n slot={slots.EstimateShipping}\n key=\"estimateShippingId\"\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 ||\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":["OrderSummary","className","children","variant","heading","loading","subTotal","shipping","discounts","taxTotal","taxesApplied","total","primaryAction","coupons","giftCards","totalSaved","appliedGiftCards","printedCard","itemsGiftWrapping","orderGiftWrapping","updateLineItems","lineItems","props","showTaxBreakdown","setShowTaxBreakdown","useState","translations","useText","appliedGiftCardsContent","jsx","OrderSummaryLine","subTotalContent","jsxs","discountsContent","Fragment","discount","VComponent","taxContent","Accordion","ChevronDown","ChevronUp","AccordionSection","tax","printedCardContent","itemsGiftWrappingContent","orderGiftWrappingContent","classes","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","routeCheckout","slots","errors","showTotalSaved","enableCoupons","enableGiftCards","setData","hasQuantityErrors","setHasQuantityErrors","isVirtual","handleEstimateTotals","handleEstimateLoading","cartTaxesConfig","state","isIncludingTax","isIncludingAndExcludingTax","isZeroTax","calculateTotalGiftCardAmount","acc","current","appliedGiftCardsPriceConfig","giftCard","Icon","GiftCard","Text","Price","cartGiftWrappingTax","cartPrintedCardTax","totalGiftOptions","useEffect","dataEvent","events","payload","shippingAddress","shippingEvent","checkoutLinkDisabled","handleInitiateCheckout","useCallback","publishInitiateCheckoutEvent","Slot","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","Button","_da","_ea","getPersistedCartData"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
3
  import{jsxs as _,jsx as n}from"@dropins/tools/preact-jsx-runtime.js";import{classes as c,VComponent as y}from"@dropins/tools/lib.js";import"@dropins/tools/components.js";/* empty css */import"@dropins/tools/preact-compat.js";import"@dropins/tools/preact-hooks.js";const $=({label:e,price:a,classSuffixes:o=[],labelClassSuffix:r,testId:m,children:s,...t})=>{const p="cart-order-summary__label",d="cart-order-summary__price";return _("div",{...t,...m?{"data-testid":m}:{},className:c(["cart-order-summary__entry",...o.map(i=>`cart-order-summary__${i}`)]),children:[n("span",{className:c([p,...r?[`${p}--${r}`]:[]]),children:e}),n(y,{node:a,className:c([d,...r?[`${d}--${r}`]:[]])}),s]})},L=({label:e,price:a,classSuffixes:o=[],labelClassSuffix:r,testId:m,children:s,...t})=>n($,{...t,label:e,price:a,classSuffixes:o,labelClassSuffix:r,testId:m,children:s});export{L as O};
4
+ //# sourceMappingURL=OrderSummaryLine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderSummaryLine.js","sources":["/@dropins/storefront-cart/src/components/OrderSummaryLine/OrderSummaryLine.tsx","/@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 { 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","/********************************************************************\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","labelClass","priceClass","jsxs","classes","classSuffix","jsx","VComponent","OrderSummaryLineComponent"],"mappings":"uRA+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,EC3CaN,EAAqD,CAAC,CACjE,MAAAC,EACA,MAAAC,EACA,cAAAC,EAAgB,CAAC,EACjB,iBAAAC,EACA,OAAAC,EACA,SAAAC,EACA,GAAGC,CACL,IAEIM,EAACE,EAAA,CACE,GAAGR,EACJ,MAAAN,EACA,MAAAC,EACA,cAAAC,EACA,iBAAAC,EACA,OAAAC,EAEC,SAAAC,CAAA,CACH"}
@@ -1,3 +1,4 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
3
  import*as e from"@dropins/tools/preact-compat.js";const r=t=>e.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},e.createElement("g",{clipPath:"url(#clip0_4797_15331)"},e.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M10.25 20.91L1.5 17.55V6.51996L10.25 9.92996V20.91Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M6.24023 4.64001L14.9902 8.06001V11.42",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{className:"error-icon",vectorEffect:"non-scaling-stroke",d:"M19 13.31L15.5 19.37H22.5L19 13.31Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{className:"error-icon",vectorEffect:"non-scaling-stroke",d:"M19.0202 17.11H18.9802L18.9502 15.56H19.0502L19.0202 17.11ZM18.9602 18.29V18.06H19.0502V18.29H18.9602Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M19 12.16V6.51996L10.25 9.92996V20.91L14.27 19.37L14.4 19.32",stroke:"currentColor",strokeLinejoin:"round"}),e.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M1.5 6.51999L10.25 3.04999L19 6.51999L10.25 9.92999L1.5 6.51999Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"})),e.createElement("defs",null,e.createElement("clipPath",{id:"clip0_4797_15331"},e.createElement("rect",{width:22,height:18.86,fill:"white",transform:"translate(1 2.54999)"})))),o=t=>e.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},e.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M0.75 12C0.75 5.78421 5.78421 0.75 12 0.75C18.2158 0.75 23.25 5.78421 23.25 12C23.25 18.2158 18.2158 23.25 12 23.25C5.78421 23.25 0.75 18.2158 0.75 12Z",stroke:"currentColor"}),e.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M11.75 5.88423V4.75H12.25V5.88423L12.0485 13.0713H11.9515L11.75 5.88423ZM11.7994 18.25V16.9868H12.2253V18.25H11.7994Z",stroke:"currentColor"}));export{r as S,o as a};
4
+ //# sourceMappingURL=WarningWithCircle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WarningWithCircle.js","sources":["../../node_modules/@adobe-commerce/elsie/src/icons/OrderError.svg","../../node_modules/@adobe-commerce/elsie/src/icons/WarningWithCircle.svg"],"sourcesContent":["import * as React from \"react\";\nconst SvgOrderError = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"g\", { clipPath: \"url(#clip0_4797_15331)\" }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M10.25 20.91L1.5 17.55V6.51996L10.25 9.92996V20.91Z\", stroke: \"currentColor\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M6.24023 4.64001L14.9902 8.06001V11.42\", stroke: \"currentColor\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { className: \"error-icon\", vectorEffect: \"non-scaling-stroke\", d: \"M19 13.31L15.5 19.37H22.5L19 13.31Z\", stroke: \"currentColor\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { className: \"error-icon\", vectorEffect: \"non-scaling-stroke\", d: \"M19.0202 17.11H18.9802L18.9502 15.56H19.0502L19.0202 17.11ZM18.9602 18.29V18.06H19.0502V18.29H18.9602Z\", stroke: \"currentColor\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M19 12.16V6.51996L10.25 9.92996V20.91L14.27 19.37L14.4 19.32\", stroke: \"currentColor\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M1.5 6.51999L10.25 3.04999L19 6.51999L10.25 9.92999L1.5 6.51999Z\", stroke: \"currentColor\", strokeLinecap: \"round\", strokeLinejoin: \"round\" })), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"clipPath\", { id: \"clip0_4797_15331\" }, /* @__PURE__ */ React.createElement(\"rect\", { width: 22, height: 18.86, fill: \"white\", transform: \"translate(1 2.54999)\" }))));\nexport default SvgOrderError;\n","import * as React from \"react\";\nconst SvgWarningWithCircle = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M0.75 12C0.75 5.78421 5.78421 0.75 12 0.75C18.2158 0.75 23.25 5.78421 23.25 12C23.25 18.2158 18.2158 23.25 12 23.25C5.78421 23.25 0.75 18.2158 0.75 12Z\", stroke: \"currentColor\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M11.75 5.88423V4.75H12.25V5.88423L12.0485 13.0713H11.9515L11.75 5.88423ZM11.7994 18.25V16.9868H12.2253V18.25H11.7994Z\", stroke: \"currentColor\" }));\nexport default SvgWarningWithCircle;\n"],"names":["SvgOrderError","props","React","SvgWarningWithCircle"],"mappings":"kDACK,MAACA,EAAiBC,GAA0BC,EAAM,cAAc,MAAO,CAAE,MAAO,GAAI,OAAQ,GAAI,QAAS,YAAa,KAAM,OAAQ,MAAO,6BAA8B,GAAGD,CAAO,EAAkBC,EAAM,cAAc,IAAK,CAAE,SAAU,0BAA4CA,EAAM,cAAc,OAAQ,CAAE,aAAc,qBAAsB,EAAG,sDAAuD,OAAQ,eAAgB,cAAe,QAAS,eAAgB,OAAO,CAAE,EAAmBA,EAAM,cAAc,OAAQ,CAAE,aAAc,qBAAsB,EAAG,yCAA0C,OAAQ,eAAgB,cAAe,QAAS,eAAgB,OAAS,CAAA,EAAmBA,EAAM,cAAc,OAAQ,CAAE,UAAW,aAAc,aAAc,qBAAsB,EAAG,sCAAuC,OAAQ,eAAgB,cAAe,QAAS,eAAgB,OAAS,CAAA,EAAmBA,EAAM,cAAc,OAAQ,CAAE,UAAW,aAAc,aAAc,qBAAsB,EAAG,yGAA0G,OAAQ,eAAgB,cAAe,QAAS,eAAgB,OAAO,CAAE,EAAmBA,EAAM,cAAc,OAAQ,CAAE,aAAc,qBAAsB,EAAG,+DAAgE,OAAQ,eAAgB,eAAgB,OAAS,CAAA,EAAmBA,EAAM,cAAc,OAAQ,CAAE,aAAc,qBAAsB,EAAG,mEAAoE,OAAQ,eAAgB,cAAe,QAAS,eAAgB,OAAO,CAAE,CAAC,EAAmBA,EAAM,cAAc,OAAQ,KAAsBA,EAAM,cAAc,WAAY,CAAE,GAAI,kBAAoB,EAAkBA,EAAM,cAAc,OAAQ,CAAE,MAAO,GAAI,OAAQ,MAAO,KAAM,QAAS,UAAW,sBAAwB,CAAA,CAAC,CAAC,CAAC,ECAv1DC,EAAwBF,GAA0BC,EAAM,cAAc,MAAO,CAAE,MAAO,GAAI,OAAQ,GAAI,QAAS,YAAa,KAAM,OAAQ,MAAO,6BAA8B,GAAGD,CAAK,EAAoBC,EAAM,cAAc,OAAQ,CAAE,aAAc,qBAAsB,EAAG,0JAA2J,OAAQ,cAAc,CAAE,EAAmBA,EAAM,cAAc,OAAQ,CAAE,aAAc,qBAAsB,EAAG,wHAAyH,OAAQ,eAAgB,CAAC","x_google_ignoreList":[0,1]}
package/chunks/acdl.js CHANGED
@@ -1,3 +1,4 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- function d(n){const{cart:e,locale:t="en-US"}=n;return{id:e.id,items:g(e.items,t),prices:{subtotalExcludingTax:e.subtotal.excludingTax,subtotalIncludingTax:e.subtotal.includingTax},totalQuantity:e.totalUniqueItems,possibleOnepageCheckout:void 0,giftMessageSelected:void 0,giftWrappingSelected:void 0,source:void 0}}function g(n,e){return n.map(t=>({canApplyMsrp:!1,formattedPrice:P(e,t.price.currency,t.price.value),id:t.uid,prices:{price:t.price},product:{productId:t.uid,name:t.name,sku:t.sku,topLevelSku:t.topLevelSku,specialToDate:void 0,specialFromDate:void 0,newToDate:void 0,newFromDate:void 0,createdAt:void 0,updatedAt:void 0,manufacturer:void 0,countryOfManufacture:void 0,categories:t.categories,productType:t.itemType,pricing:{regularPrice:t.regularPrice.value,minimalPrice:void 0,maximalPrice:void 0,specialPrice:v(t),tierPricing:void 0,currencyCode:t.regularPrice.currency},canonicalUrl:t.canonicalUrl,mainImageUrl:t.image.src,image:{src:t.image.src,alt:t.image.alt}},configurableOptions:void 0,quantity:t.quantity}))}function P(n,e,t){const o=n.replace("_","-");return new Intl.NumberFormat(o,{style:"currency",currency:e}).format(t)}function v(n){var e;if(n.discounted)return(e=n.price)==null?void 0:e.value}const r={SHOPPING_CART_CONTEXT:"shoppingCartContext",PRODUCT_CONTEXT:"productContext",CHANGED_PRODUCTS_CONTEXT:"changedProductsContext"},c={OPEN_CART:"open-cart",ADD_TO_CART:"add-to-cart",REMOVE_FROM_CART:"remove-from-cart",SHOPPING_CART_VIEW:"shopping-cart-view",INITIATE_CHECKOUT:"initiate-checkout"};function O(){return window.adobeDataLayer=window.adobeDataLayer||[],window.adobeDataLayer}function i(n,e){const t=O();t.push({[n]:null}),t.push({[n]:e})}function T(n,e){O().push(o=>{const C=o.getState?o.getState():{};o.push({event:n,eventInfo:{...C,...e}})})}function D(n,e,t){const o=d({cart:n,locale:t});i(r.SHOPPING_CART_CONTEXT,{...o}),T(c.OPEN_CART),g(e,t).forEach(u=>{i(r.PRODUCT_CONTEXT,u.product),p(o,[u],c.ADD_TO_CART)})}function R(n,e){const t=d({cart:n,locale:e});i(r.SHOPPING_CART_CONTEXT,{...t}),T(c.SHOPPING_CART_VIEW)}function p(n,e,t){const o={items:e};i(r.SHOPPING_CART_CONTEXT,{...n}),i(r.CHANGED_PRODUCTS_CONTEXT,{...o}),T(t)}function I(n,e,t){const o=d({cart:n,locale:t}),C=o.items,u=O(),E=u.getState?u.getState():{},{shoppingCartContext:{items:f=[]}={}}=E;e.forEach(_=>{const s=f.find(l=>l.id===_.uid),a=C.find(l=>l.id===_.uid);!a&&!s||(!s&&a?(i(r.PRODUCT_CONTEXT,a.product),p(o,[a],c.ADD_TO_CART)):s&&!a?(i(r.PRODUCT_CONTEXT,s.product),p(o,[s],c.REMOVE_FROM_CART)):a.quantity>s.quantity?(i(r.PRODUCT_CONTEXT,a.product),p(o,[a],c.ADD_TO_CART)):(i(r.PRODUCT_CONTEXT,a.product),p(o,[a],c.REMOVE_FROM_CART)))})}function h(n,e){const t=d({cart:n,locale:e});i(r.SHOPPING_CART_CONTEXT,{...t}),T(c.INITIATE_CHECKOUT)}export{I as a,D as b,R as c,h as p};
3
+ function C(o){const{cart:e,locale:t="en-US"}=o;return{id:e.id,items:g(e.items,t),prices:{subtotalExcludingTax:e.subtotal.excludingTax,subtotalIncludingTax:e.subtotal.includingTax},totalQuantity:e.totalUniqueItems,possibleOnepageCheckout:void 0,giftMessageSelected:void 0,giftWrappingSelected:void 0,source:void 0}}function g(o,e){return o.map(t=>({canApplyMsrp:!1,formattedPrice:f(e,t.price.currency,t.price.value),id:t.uid,prices:{price:t.price,discount:t.discount&&t.discount.value!==void 0?{value:t.discount.value,currency:t.discount.currency}:void 0},product:{productId:t.uid,name:t.name,sku:t.sku,topLevelSku:t.topLevelSku,specialToDate:void 0,specialFromDate:void 0,newToDate:void 0,newFromDate:void 0,createdAt:void 0,updatedAt:void 0,manufacturer:void 0,countryOfManufacture:void 0,categories:t.categories,productType:t.itemType,pricing:{regularPrice:t.regularPrice.value,minimalPrice:void 0,maximalPrice:void 0,specialPrice:P(t),tierPricing:void 0,currencyCode:t.regularPrice.currency},canonicalUrl:t.canonicalUrl,mainImageUrl:t.image.src,image:{src:t.image.src,alt:t.image.alt}},configurableOptions:t.selectedOptions?Object.entries(t.selectedOptions).map(([n,r],a)=>({id:a+1,optionLabel:n,valueId:a+1,valueLabel:r})):[],bundleOptions:t.bundleOptions?Object.entries(t.bundleOptions).map(([n,r],a)=>({id:(a+1).toString(),optionLabel:n,valueId:a+1,valueLabel:r})):[],customizableOptions:t.customizableOptions?Object.entries(t.customizableOptions).map(([n,r],a)=>({id:(a+1).toString(),optionLabel:n,valueId:a+1,valueLabel:r})):[],quantity:t.quantity,selectedOptions:(()=>{const n={...t.selectedOptions,...t.bundleOptions,...t.customizableOptions};return Object.keys(n).length>0?n:void 0})()}))}function f(o,e,t){const n=o.replace("_","-");return new Intl.NumberFormat(n,{style:"currency",currency:e}).format(t)}function P(o){var e;if(o.discounted)return(e=o.price)==null?void 0:e.value}const c={SHOPPING_CART_CONTEXT:"shoppingCartContext",PRODUCT_CONTEXT:"productContext",CHANGED_PRODUCTS_CONTEXT:"changedProductsContext"},u={OPEN_CART:"open-cart",ADD_TO_CART:"add-to-cart",REMOVE_FROM_CART:"remove-from-cart",SHOPPING_CART_VIEW:"shopping-cart-view",INITIATE_CHECKOUT:"initiate-checkout"};function O(){return window.adobeDataLayer=window.adobeDataLayer||[],window.adobeDataLayer}function i(o,e){const t=O();t.push({[o]:null}),t.push({[o]:e})}function T(o,e){O().push(n=>{const r=n.getState?n.getState():{};n.push({event:o,eventInfo:{...r,...e}})})}function b(o,e,t){const n=C({cart:o,locale:t});i(c.SHOPPING_CART_CONTEXT,{...n});const r=g(e,t);i(c.CHANGED_PRODUCTS_CONTEXT,{items:r}),T(u.OPEN_CART),r.forEach(a=>{i(c.PRODUCT_CONTEXT,a.product),d(n,[a],u.ADD_TO_CART)})}function D(o,e){const t=C({cart:o,locale:e});i(c.SHOPPING_CART_CONTEXT,{...t}),T(u.SHOPPING_CART_VIEW)}function d(o,e,t){const n={items:e};i(c.SHOPPING_CART_CONTEXT,{...o}),i(c.CHANGED_PRODUCTS_CONTEXT,{...n}),T(t)}function I(o,e,t){const n=C({cart:o,locale:t}),r=n.items,a=O(),v=a.getState?a.getState():{},{shoppingCartContext:{items:E=[]}={}}=v;e.forEach(_=>{const p=E.find(l=>l.id===_.uid),s=r.find(l=>l.id===_.uid);!s&&!p||(!p&&s?(i(c.PRODUCT_CONTEXT,s.product),d(n,[s],u.ADD_TO_CART)):p&&!s?(i(c.PRODUCT_CONTEXT,p.product),d(n,[p],u.REMOVE_FROM_CART)):s.quantity>p.quantity?(i(c.PRODUCT_CONTEXT,s.product),d(n,[s],u.ADD_TO_CART)):(i(c.PRODUCT_CONTEXT,s.product),d(n,[s],u.REMOVE_FROM_CART)))})}function R(o,e){const t=C({cart:o,locale:e});i(c.SHOPPING_CART_CONTEXT,{...t}),T(u.INITIATE_CHECKOUT)}export{I as a,b,D as c,R as p};
4
+ //# sourceMappingURL=acdl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acdl.js","sources":["/@dropins/storefront-cart/src/data/transforms/acdl-context.ts","/@dropins/storefront-cart/src/lib/acdl.ts"],"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 { ShoppingCartContext, ShoppingCartItem } from '../models/acdl-models';\nimport { CartModel, Item } from '../models/cart-model';\n\ntype TransformShoppingCartParams = {\n cart: CartModel;\n locale?: string;\n};\n\nexport function transformShoppingCart(\n params: TransformShoppingCartParams\n): ShoppingCartContext {\n const { cart, locale = 'en-US' } = params;\n\n return {\n id: cart.id,\n items: transformItems(cart.items, locale),\n prices: {\n subtotalExcludingTax: cart.subtotal.excludingTax,\n subtotalIncludingTax: cart.subtotal.includingTax,\n },\n totalQuantity: cart.totalUniqueItems,\n possibleOnepageCheckout: undefined,\n giftMessageSelected: undefined,\n giftWrappingSelected: undefined,\n source: undefined,\n };\n}\n\nexport function transformItems(\n items: Item[],\n locale: string\n): ShoppingCartItem[] {\n return items.map((item: any) => ({\n canApplyMsrp: false,\n formattedPrice: formatCurrency(\n locale,\n item.price.currency,\n item.price.value\n ),\n id: item.uid,\n prices: {\n price: item.price,\n discount: item.discount && item.discount.value !== undefined ? {\n value: item.discount.value,\n currency: item.discount.currency\n } : undefined\n },\n product: {\n productId: item.uid,\n name: item.name,\n sku: item.sku,\n topLevelSku: item.topLevelSku,\n specialToDate: undefined,\n specialFromDate: undefined,\n newToDate: undefined,\n newFromDate: undefined,\n createdAt: undefined,\n updatedAt: undefined,\n manufacturer: undefined,\n countryOfManufacture: undefined,\n categories: item.categories,\n productType: item.itemType,\n pricing: {\n regularPrice: item.regularPrice.value,\n minimalPrice: undefined,\n maximalPrice: undefined,\n specialPrice: transformSpecialPrice(item),\n tierPricing: undefined,\n currencyCode: item.regularPrice.currency,\n },\n canonicalUrl: item.canonicalUrl,\n mainImageUrl: item.image.src,\n image: {\n src: item.image.src,\n alt: item.image.alt,\n },\n },\n configurableOptions: item.selectedOptions ? \n Object.entries(item.selectedOptions).map(([optionLabel, valueLabel], index) => ({\n id: index + 1,\n optionLabel,\n valueId: index + 1,\n valueLabel: valueLabel as string,\n })) : [],\n bundleOptions: item.bundleOptions ? \n Object.entries(item.bundleOptions).map(([optionLabel, valueLabel], index) => ({\n id: (index + 1).toString(),\n optionLabel,\n valueId: index + 1,\n valueLabel: valueLabel as string,\n })) : [],\n customizableOptions: item.customizableOptions ? \n Object.entries(item.customizableOptions).map(([optionLabel, valueLabel], index) => ({\n id: (index + 1).toString(),\n optionLabel,\n valueId: index + 1,\n valueLabel: valueLabel as string,\n })) : [],\n quantity: item.quantity,\n selectedOptions: (() => {\n const options = {\n ...item.selectedOptions,\n ...item.bundleOptions,\n ...item.customizableOptions,\n };\n return Object.keys(options).length > 0 ? options : undefined;\n })(),\n }));\n}\n\nfunction formatCurrency(\n locale: string,\n currency: string,\n value: number\n): string {\n const formattedLocale = locale.replace('_', '-');\n\n return new Intl.NumberFormat(formattedLocale, {\n style: 'currency',\n currency,\n }).format(value);\n}\n\nfunction transformSpecialPrice(item: any) {\n if (!item.discounted) {\n return undefined;\n }\n return item.price?.value;\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\n/* Publish functions for the Adobe Client Data Layer (ACDL) */\n\nimport { CartModel, Item } from '@/cart/data/models/cart-model';\nimport {\n transformItems,\n transformShoppingCart,\n} from '@/cart/data/transforms/acdl-context';\nimport {\n ShoppingCartContext,\n ShoppingCartItem,\n} from '../data/models/acdl-models';\n\n/**\n * See: https://github.com/adobe/commerce-events/blob/main/packages/storefront-events-sdk/src/contexts.ts\n */\nexport const contexts = {\n SHOPPING_CART_CONTEXT: 'shoppingCartContext',\n PRODUCT_CONTEXT: 'productContext',\n CHANGED_PRODUCTS_CONTEXT: 'changedProductsContext',\n};\n\n/**\n * See: https://github.com/adobe/commerce-events/blob/main/packages/storefront-events-sdk/src/events.ts\n */\nexport const events = {\n // See: https://github.com/adobe/commerce-events/blob/main/examples/events/open-cart.md\n OPEN_CART: 'open-cart',\n // See: ??? (not documented in the commerce-events repo)\n //UPDATE_CART: 'update-cart',\n // See: https://github.com/adobe/commerce-events/blob/main/examples/events/add-to-cart.md\n ADD_TO_CART: 'add-to-cart',\n // See: https://github.com/adobe/commerce-events/blob/main/examples/events/remove-from-cart.md\n REMOVE_FROM_CART: 'remove-from-cart',\n // See: https://github.com/adobe/commerce-events/blob/main/examples/events/shopping-cart-view.md\n SHOPPING_CART_VIEW: 'shopping-cart-view',\n // See: https://github.com/adobe/commerce-events/blob/main/examples/events/initiate-checkout.md\n INITIATE_CHECKOUT: 'initiate-checkout',\n};\n\nexport function getAdobeDataLayer() {\n // @ts-ignore\n window.adobeDataLayer = window.adobeDataLayer || [];\n // @ts-ignore\n return window.adobeDataLayer;\n}\n\n/**\n * Sets a context in the Adobe Client Data Layer (ACDL)\n * Logic based on: https://github.com/adobe/commerce-events/blob/main/packages/storefront-events-sdk/src/Base.ts#L6\n */\nfunction setContext(name: string, data: any) {\n const adobeDataLayer = getAdobeDataLayer();\n\n // Clear existing context\n adobeDataLayer.push({\n [name]: null,\n });\n\n // Set new context\n adobeDataLayer.push({\n [name]: data,\n });\n}\n\n/**\n * Pushes an event to the Adobe Client Data Layer (ACDL)\n * Logic based on: https://github.com/adobe/commerce-events/blob/1973d0ce28471ef190fa06dad6359ffa0ab51db6/packages/storefront-events-sdk/src/Base.ts#L34\n */\nfunction pushEvent(event: string, additionalContext?: any) {\n const adobeDataLayer = getAdobeDataLayer();\n\n adobeDataLayer.push((acdl: any) => {\n const state = acdl.getState ? acdl.getState() : {};\n\n acdl.push({\n event,\n eventInfo: {\n ...state,\n ...additionalContext,\n },\n });\n });\n}\n\n// Triggered when a new cart is created, which is when a product is added to an empty cart.\nexport function publishOpenCartEvent(\n cart: CartModel,\n addedItems: Item[],\n locale: string\n) {\n const shoppingCartContext = transformShoppingCart({\n cart,\n locale,\n });\n\n // Set context and push open cart event\n setContext(contexts.SHOPPING_CART_CONTEXT, {\n ...shoppingCartContext,\n });\n\n // Transform items and set changed products context\n const shoppingCartItems = transformItems(addedItems, locale);\n \n // Set changed products context to include the items that opened the cart\n setContext(contexts.CHANGED_PRODUCTS_CONTEXT, {\n items: shoppingCartItems,\n });\n\n // Push the open cart event with contexts set\n pushEvent(events.OPEN_CART);\n\n // Set context and push add to cart event for each updated item\n shoppingCartItems.forEach((item) => {\n setContext(contexts.PRODUCT_CONTEXT, item.product);\n publishItemsUpdatedEvent(shoppingCartContext, [item], events.ADD_TO_CART);\n });\n}\n\n// Triggered when any cart page loads.\nexport function publishShoppingCartViewEvent(cart: CartModel, locale: string) {\n const shoppingCartContext = transformShoppingCart({\n cart,\n locale,\n });\n\n setContext(contexts.SHOPPING_CART_CONTEXT, {\n ...shoppingCartContext,\n });\n\n pushEvent(events.SHOPPING_CART_VIEW);\n}\n\n// A re-usable function to publish events when items are added to, or removed from the cart.\nfunction publishItemsUpdatedEvent(\n shoppingCartContext: ShoppingCartContext,\n updatedItems: ShoppingCartItem[],\n event: string\n) {\n const changedProductsContext = {\n items: updatedItems,\n };\n\n setContext(contexts.SHOPPING_CART_CONTEXT, {\n ...shoppingCartContext,\n });\n\n setContext(contexts.CHANGED_PRODUCTS_CONTEXT, {\n ...changedProductsContext,\n });\n\n pushEvent(event);\n}\n\nexport function publishCartUpdateEvents(\n cart: CartModel,\n updatedItems: {\n uid: string;\n }[],\n locale: string\n) {\n const newShoppingCartContext = transformShoppingCart({\n cart,\n locale,\n });\n\n const currentItems = newShoppingCartContext.items;\n\n const adobeDataLayer = getAdobeDataLayer();\n\n const currentState = adobeDataLayer.getState ? adobeDataLayer.getState() : {};\n\n const { shoppingCartContext: { items: previousItems = [] } = {} } =\n currentState;\n\n updatedItems.forEach((updatedItem) => {\n const previousItem = previousItems.find(\n (item: ShoppingCartItem) => item.id === updatedItem.uid\n );\n\n const currentItem = currentItems!.find(\n (item: ShoppingCartItem) => item.id === updatedItem.uid\n );\n\n if (!currentItem && !previousItem) {\n // Not enough data available to publish an event\n // Adobe Data Layer possibly not initialized yet\n return;\n }\n\n if (!previousItem && currentItem) {\n // Publish add to cart event for the item added\n setContext(contexts.PRODUCT_CONTEXT, currentItem.product);\n publishItemsUpdatedEvent(\n newShoppingCartContext,\n [currentItem],\n events.ADD_TO_CART\n );\n } else if (previousItem && !currentItem) {\n // Publish remove from cart event for the item removed\n setContext(contexts.PRODUCT_CONTEXT, previousItem.product);\n publishItemsUpdatedEvent(\n newShoppingCartContext,\n [previousItem],\n events.REMOVE_FROM_CART\n );\n } else if (currentItem!.quantity > previousItem.quantity) {\n // Publish add to cart event for the item increased\n setContext(contexts.PRODUCT_CONTEXT, currentItem!.product);\n publishItemsUpdatedEvent(\n newShoppingCartContext,\n [currentItem!],\n events.ADD_TO_CART\n );\n } else {\n // Publish remove from cart event for the item decreased\n setContext(contexts.PRODUCT_CONTEXT, currentItem!.product);\n publishItemsUpdatedEvent(\n newShoppingCartContext,\n [currentItem!],\n events.REMOVE_FROM_CART\n );\n }\n });\n}\n\nexport function publishInitiateCheckoutEvent(cart: CartModel, locale?: string) {\n const shoppingCartContext = transformShoppingCart({\n cart,\n locale,\n });\n\n setContext(contexts.SHOPPING_CART_CONTEXT, {\n ...shoppingCartContext,\n });\n\n pushEvent(events.INITIATE_CHECKOUT);\n}\n"],"names":["transformShoppingCart","params","cart","locale","transformItems","items","item","formatCurrency","transformSpecialPrice","optionLabel","valueLabel","index","options","currency","value","formattedLocale","_a","contexts","events","getAdobeDataLayer","setContext","name","data","adobeDataLayer","pushEvent","event","additionalContext","acdl","state","publishOpenCartEvent","addedItems","shoppingCartContext","shoppingCartItems","publishItemsUpdatedEvent","publishShoppingCartViewEvent","updatedItems","changedProductsContext","publishCartUpdateEvents","newShoppingCartContext","currentItems","currentState","previousItems","updatedItem","previousItem","currentItem","publishInitiateCheckoutEvent"],"mappings":"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"}
@@ -22,3 +22,4 @@ mutation APPLY_COUPONS_TO_CART_MUTATION(
22
22
  }
23
23
  ${u}
24
24
  `;var m=(r=>(r.APPEND="APPEND",r.REPLACE="REPLACE",r))(m||{});const f=async(r,p)=>{const a=c.cartId;if(!a)throw Error("Cart ID is not set");return T(P,{variables:{cartId:a,couponCodes:r,type:p}}).then(({errors:C,data:t})=>{var e;const s=[...((e=t==null?void 0:t.applyCouponsToCart)==null?void 0:e.user_errors)??[],...C??[]];if(s.length>0)return A(s);const o=i(t.applyCouponsToCart.cart);return n.emit("cart/updated",o),n.emit("cart/data",o),o})};export{m as A,f as a};
25
+ //# sourceMappingURL=applyCouponsToCart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyCouponsToCart.js","sources":["/@dropins/storefront-cart/src/api/applyCouponsToCart/graphql/ApplyCouponsToCartMutation.ts","/@dropins/storefront-cart/src/api/applyCouponsToCart/applyCouponsToCart.ts"],"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 { CART_FRAGMENT } from '@/cart/api/graphql/CartFragment';\nimport { CART_ITEMS_PAGINATION_ARGUMENTS } from '@/cart/api/graphql/arguments';\n\nexport const APPLY_COUPONS_TO_CART_MUTATION = `\nmutation APPLY_COUPONS_TO_CART_MUTATION(\n $cartId: String!, \n $couponCodes: [String!]!, \n $type: ApplyCouponsStrategy!,\n ${CART_ITEMS_PAGINATION_ARGUMENTS}\n ) {\n applyCouponsToCart(\n input: {\n cart_id: $cartId\n coupon_codes: $couponCodes \n type: $type\n }\n ) {\n cart {\n ...CART_FRAGMENT\n }\n\n }\n}\n${CART_FRAGMENT}\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 { state } from '@/cart/lib/state';\nimport { fetchGraphQl } from '@/cart/api';\nimport { handleFetchError } from '@/cart/lib/fetch-error';\nimport { CartModel } from '@/cart/data/models';\nimport { transformCart } from '@/cart/data/transforms';\nimport { events } from '@adobe-commerce/event-bus';\n\nimport { APPLY_COUPONS_TO_CART_MUTATION } from './graphql/ApplyCouponsToCartMutation';\n\nexport interface ApplyCouponsToCartInput {\n type: ApplyCouponsStrategy;\n}\n\nexport enum ApplyCouponsStrategy {\n APPEND = 'APPEND',\n REPLACE = 'REPLACE',\n}\n\nexport const applyCouponsToCart = async (\n couponCodes: string[],\n type: ApplyCouponsStrategy\n): Promise<CartModel | null> => {\n const cartId = state.cartId;\n\n if (!cartId) {\n throw Error('Cart ID is not set');\n }\n\n return fetchGraphQl(APPLY_COUPONS_TO_CART_MUTATION, {\n variables: {\n cartId,\n couponCodes,\n type,\n },\n }).then(({ errors, data }) => {\n // handle errors\n const _errors = [\n ...(data?.applyCouponsToCart?.user_errors ?? []),\n ...(errors ?? []),\n ];\n\n if (_errors.length > 0) return handleFetchError(_errors);\n\n // transform cart\n const payload = transformCart(data.applyCouponsToCart.cart);\n\n // emit events\n events.emit('cart/updated', payload);\n events.emit('cart/data', payload);\n\n return payload;\n });\n};\n"],"names":["APPLY_COUPONS_TO_CART_MUTATION","CART_ITEMS_PAGINATION_ARGUMENTS","CART_FRAGMENT","ApplyCouponsStrategy","applyCouponsToCart","couponCodes","type","cartId","state","fetchGraphQl","errors","data","_errors","_a","handleFetchError","payload","transformCart","events"],"mappings":"kMAoBO,MAAMA,EAAiC;AAAA;AAAA;AAAA;AAAA;AAAA,MAKxCC,CAA+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAenCC,CAAa;AAAA,ECVH,IAAAC,GAAAA,IACVA,EAAA,OAAS,SACTA,EAAA,QAAU,UAFAA,IAAAA,GAAA,CAAA,CAAA,EAKC,MAAAC,EAAqB,MAChCC,EACAC,IAC8B,CAC9B,MAAMC,EAASC,EAAM,OAErB,GAAI,CAACD,EACH,MAAM,MAAM,oBAAoB,EAGlC,OAAOE,EAAaT,EAAgC,CAClD,UAAW,CACT,OAAAO,EACA,YAAAF,EACA,KAAAC,CAAA,CAEH,CAAA,EAAE,KAAK,CAAC,CAAE,OAAAI,EAAQ,KAAAC,KAAW,OAE5B,MAAMC,EAAU,CACd,KAAIC,EAAAF,GAAA,YAAAA,EAAM,qBAAN,YAAAE,EAA0B,cAAe,CAAC,EAC9C,GAAIH,GAAU,CAAA,CAChB,EAEA,GAAIE,EAAQ,OAAS,EAAG,OAAOE,EAAiBF,CAAO,EAGvD,MAAMG,EAAUC,EAAcL,EAAK,mBAAmB,IAAI,EAGnD,OAAAM,EAAA,KAAK,eAAgBF,CAAO,EAC5BE,EAAA,KAAK,YAAaF,CAAO,EAEzBA,CAAA,CACR,CACH"}
@@ -48,3 +48,4 @@ query REGIONS_QUERY($id: String) {
48
48
  }
49
49
  }
50
50
  `,x=async e=>{const r=a.cartId;if(!r)throw new Error("No cart ID found");if(!e)throw new Error("No address parameter found");const{countryCode:t,postcode:c,region:n}=e,i={country_code:t||"US",postcode:c||"",region:{region:(n==null?void 0:n.region)||"",region_id:n==null?void 0:n.id}};return u(E,{variables:{cartId:r,address:i}}).then(({errors:o,data:s})=>{if(o)return l(o);const d=s.estimateShippingMethods.find(_=>!_.error_message)||null;return p.emit("shipping/estimate",{address:h(i),shippingMethod:m(d)}),d})},C=async()=>u(g,{method:"GET"}).then(({errors:e,data:r})=>{var n,i;if(e)return l(e);const t=((n=r==null?void 0:r.countries)==null?void 0:n.sort((o,s)=>o.label.localeCompare(s.label)))||[],c=((i=r==null?void 0:r.storeConfig)==null?void 0:i.defaultCountry)||"US";return t.forEach(o=>{o.isDefaultCountry=o.id===c}),t}),T=async e=>u(f,{method:"GET",variables:{id:e}}).then(({errors:r,data:t})=>{var c;return r?l(r):((c=t==null?void 0:t.country)==null?void 0:c.available_regions)||[]});export{T as a,x as b,C as g};
51
+ //# sourceMappingURL=getEstimateShipping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getEstimateShipping.js","sources":["/@dropins/storefront-cart/src/data/transforms/transform-shipping.ts","/@dropins/storefront-cart/src/api/getEstimateShipping/graphql/countriesAndRegionsQueries.ts","/@dropins/storefront-cart/src/api/getEstimateShipping/graphql/estimateShippingMethodsMutation.ts","/@dropins/storefront-cart/src/api/getEstimateShipping/getEstimateShipping.ts"],"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 { PartialAddress, ShippingMethod } from '@/cart/data/models';\n\nexport const transformPartialAddress = (data: any): PartialAddress => {\n return {\n countryCode: data.country_code || 'US',\n postCode: data.postcode || '',\n region: data.region?.region || '',\n regionId: data.region?.id,\n };\n};\n\nexport const transformShippingMethod = (data: any): ShippingMethod | null => {\n if (!data) return null;\n\n return {\n carrierCode: data.carrier_code || '',\n methodCode: data.method_code || '',\n amount: data.amount,\n ...(data.price_excl_tax && {\n amountExclTax: {\n value: data.price_excl_tax.value,\n currency: data.price_excl_tax.currency,\n },\n }),\n ...(data.price_incl_tax && {\n amountInclTax: {\n value: data.price_incl_tax.value,\n currency: data.price_incl_tax.currency,\n },\n }),\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\nexport const COUNTRIES_QUERY = `\nquery COUNTRIES_QUERY {\n countries {\n label: full_name_locale\n id\n }\n storeConfig {\n defaultCountry: default_country\n }\n}\n`;\n\nexport const REGIONS_QUERY = `\nquery REGIONS_QUERY($id: String) {\n country(id: $id) {\n available_regions {\n code\n\t\t\tname\n }\n }\n}\n`;\n\nexport type CountryData = {\n label: string;\n id: string;\n available_regions?: Array<{\n code: string;\n name: string;\n }>;\n isDefaultCountry?: boolean;\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\nexport const ESTIMATE_SHIPPING_METHODS_MUTATION = `\n mutation ESTIMATE_SHIPPING_METHODS_MUTATION(\n $cartId: String!\n $address: EstimateAddressInput!\n ) {\n estimateShippingMethods(\n input: {\n cart_id: $cartId\n address: $address\n }\n ) {\n amount {\n currency\n value\n }\n carrier_code\n method_code\n error_message\n price_excl_tax {\n currency\n value\n }\n price_incl_tax {\n currency\n value\n }\n }\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 { fetchGraphQl } from '@/cart/api';\nimport { handleFetchError } from '@/cart/lib/fetch-error';\nimport { state } from '@/cart/lib/state';\n\nimport {\n transformPartialAddress,\n transformShippingMethod,\n} from '@/cart/data/transforms/transform-shipping';\nimport { events } from '@adobe-commerce/event-bus';\nimport {\n COUNTRIES_QUERY,\n CountryData,\n REGIONS_QUERY,\n} from './graphql/countriesAndRegionsQueries';\nimport { ESTIMATE_SHIPPING_METHODS_MUTATION } from './graphql/estimateShippingMethodsMutation';\n\nexport interface EstimateAddressInput {\n countryCode: string;\n postcode?: string;\n region?: {\n region?: string;\n code?: string;\n id?: number;\n };\n}\n\nexport const getEstimateShipping = async (\n address: EstimateAddressInput\n): Promise<any | null> => {\n const cartId = state.cartId;\n\n if (!cartId) throw new Error('No cart ID found');\n if (!address) throw new Error('No address parameter found');\n\n const { countryCode, postcode, region } = address;\n\n const addressInput = {\n country_code: countryCode || 'US',\n postcode: postcode || '',\n region: {\n region: region?.region || '',\n region_id: region?.id,\n },\n };\n\n return fetchGraphQl(ESTIMATE_SHIPPING_METHODS_MUTATION, {\n variables: {\n cartId,\n address: addressInput,\n },\n }).then(({ errors, data }) => {\n if (errors) return handleFetchError(errors);\n\n const estimateShippingMethods: Array<any> = data.estimateShippingMethods;\n\n const selectedMethod =\n estimateShippingMethods.find((method) => !method.error_message) || null;\n\n events.emit('shipping/estimate', {\n address: transformPartialAddress(addressInput),\n shippingMethod: transformShippingMethod(selectedMethod),\n });\n\n return selectedMethod;\n });\n};\n\nexport const getCountries = async (): Promise<[CountryData]> => {\n return fetchGraphQl(COUNTRIES_QUERY, { method: 'GET' }).then(\n ({ errors, data }) => {\n if (errors) return handleFetchError(errors);\n\n const sortedCountries =\n data?.countries?.sort((a: any, b: any) =>\n a.label.localeCompare(b.label)\n ) || [];\n\n const defaultCountry = data?.storeConfig?.defaultCountry || 'US';\n\n // Set the default country property\n sortedCountries.forEach((country: any) => {\n country.isDefaultCountry = country.id === defaultCountry;\n });\n\n return sortedCountries;\n }\n );\n};\n\nexport const getRegions = async (\n countryId: string\n): Promise<Array<{ code: string; name: string }>> => {\n return fetchGraphQl(REGIONS_QUERY, {\n method: 'GET',\n variables: {\n id: countryId,\n },\n }).then(({ errors, data }) => {\n if (errors) return handleFetchError(errors);\n\n return data?.country?.available_regions || [];\n });\n};\n"],"names":["transformPartialAddress","data","_a","_b","transformShippingMethod","COUNTRIES_QUERY","REGIONS_QUERY","ESTIMATE_SHIPPING_METHODS_MUTATION","getEstimateShipping","address","cartId","state","countryCode","postcode","region","addressInput","fetchGraphQl","errors","handleFetchError","selectedMethod","method","events","getCountries","sortedCountries","a","b","defaultCountry","country","getRegions","countryId"],"mappings":"sGAmBa,MAAAA,EAA2BC,GAA8B,SAC7D,MAAA,CACL,YAAaA,EAAK,cAAgB,KAClC,SAAUA,EAAK,UAAY,GAC3B,SAAQC,EAAAD,EAAK,SAAL,YAAAC,EAAa,SAAU,GAC/B,UAAUC,EAAAF,EAAK,SAAL,YAAAE,EAAa,EACzB,CACF,EAEaC,EAA2BH,GACjCA,EAEE,CACL,YAAaA,EAAK,cAAgB,GAClC,WAAYA,EAAK,aAAe,GAChC,OAAQA,EAAK,OACb,GAAIA,EAAK,gBAAkB,CACzB,cAAe,CACb,MAAOA,EAAK,eAAe,MAC3B,SAAUA,EAAK,eAAe,QAAA,CAElC,EACA,GAAIA,EAAK,gBAAkB,CACzB,cAAe,CACb,MAAOA,EAAK,eAAe,MAC3B,SAAUA,EAAK,eAAe,QAAA,CAChC,CAEJ,EAlBkB,KCZPI,EAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYlBC,EAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECZhBC,EAAqC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EC0BrCC,EAAsB,MACjCC,GACwB,CACxB,MAAMC,EAASC,EAAM,OAErB,GAAI,CAACD,EAAc,MAAA,IAAI,MAAM,kBAAkB,EAC/C,GAAI,CAACD,EAAe,MAAA,IAAI,MAAM,4BAA4B,EAE1D,KAAM,CAAE,YAAAG,EAAa,SAAAC,EAAU,OAAAC,CAAW,EAAAL,EAEpCM,EAAe,CACnB,aAAcH,GAAe,KAC7B,SAAUC,GAAY,GACtB,OAAQ,CACN,QAAQC,GAAA,YAAAA,EAAQ,SAAU,GAC1B,UAAWA,GAAA,YAAAA,EAAQ,EAAA,CAEvB,EAEA,OAAOE,EAAaT,EAAoC,CACtD,UAAW,CACT,OAAAG,EACA,QAASK,CAAA,CAEZ,CAAA,EAAE,KAAK,CAAC,CAAE,OAAAE,EAAQ,KAAAhB,KAAW,CACxB,GAAAgB,EAAe,OAAAC,EAAiBD,CAAM,EAIpC,MAAAE,EAFsClB,EAAK,wBAGvB,KAAMmB,GAAW,CAACA,EAAO,aAAa,GAAK,KAErE,OAAAC,EAAO,KAAK,oBAAqB,CAC/B,QAASrB,EAAwBe,CAAY,EAC7C,eAAgBX,EAAwBe,CAAc,CAAA,CACvD,EAEMA,CAAA,CACR,CACH,EAEaG,EAAe,SACnBN,EAAaX,EAAiB,CAAE,OAAQ,KAAA,CAAO,EAAE,KACtD,CAAC,CAAE,OAAAY,EAAQ,KAAAhB,KAAW,SAChB,GAAAgB,EAAe,OAAAC,EAAiBD,CAAM,EAEpC,MAAAM,IACJrB,EAAAD,GAAA,YAAAA,EAAM,YAAN,YAAAC,EAAiB,KAAK,CAACsB,EAAQC,IAC7BD,EAAE,MAAM,cAAcC,EAAE,KAAK,KAC1B,CAAC,EAEFC,IAAiBvB,EAAAF,GAAA,YAAAA,EAAM,cAAN,YAAAE,EAAmB,iBAAkB,KAG5C,OAAAoB,EAAA,QAASI,GAAiB,CAChCA,EAAA,iBAAmBA,EAAQ,KAAOD,CAAA,CAC3C,EAEMH,CAAA,CAEX,EAGWK,EAAa,MACxBC,GAEOb,EAAaV,EAAe,CACjC,OAAQ,MACR,UAAW,CACT,GAAIuB,CAAA,CAEP,CAAA,EAAE,KAAK,CAAC,CAAE,OAAAZ,EAAQ,KAAAhB,KAAW,OACxB,OAAAgB,EAAeC,EAAiBD,CAAM,IAEnCf,EAAAD,GAAA,YAAAA,EAAM,UAAN,YAAAC,EAAe,oBAAqB,CAAC,CAAA,CAC7C"}
@@ -22,3 +22,4 @@ import{s as h,f as T,h as m}from"./resetCart.js";import{C as A,t as E}from"./ref
22
22
 
23
23
  ${I}
24
24
  `,S=async o=>{var e,a;const r=h.cartId;if(!r)throw new Error("No cart ID found");if(!o)throw new Error("No address parameter found");const{countryCode:s,postcode:n,region:t}=o,c=(e=o.shipping_method)==null?void 0:e.carrier_code,p=(a=o.shipping_method)==null?void 0:a.method_code;return T(u,{variables:{cartId:r,address:{country_code:s||"US",postcode:n,region:(t==null?void 0:t.id)!==void 0?{region_id:t.id}:{region:(t==null?void 0:t.region)??""}},shipping_method:{carrier_code:c||"",method_code:p||""}}}).then(({errors:d,data:_})=>{if(d)return m(d);const i=_.estimateTotals;return i?E(i.cart):null})};export{S as g};
25
+ //# sourceMappingURL=getEstimatedTotals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getEstimatedTotals.js","sources":["/@dropins/storefront-cart/src/api/getEstimatedTotals/graphql/GetEstimatedTotalsMutation.ts","/@dropins/storefront-cart/src/api/getEstimatedTotals/getEstimatedTotals.ts"],"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 { CART_ITEMS_PAGINATION_ARGUMENTS } from '@/cart/api/graphql/arguments';\nimport { CART_FRAGMENT } from '@/cart/api/graphql/CartFragment';\n\nexport const GET_ESTIMATED_TOTALS_MUTATION = `\n mutation GET_ESTIMATED_TOTALS_MUTATION(\n $cartId: String!\n $address: EstimateAddressInput!,\n $shipping_method: ShippingMethodInput,\n ${CART_ITEMS_PAGINATION_ARGUMENTS}\n ) {\n estimateTotals(\n input: {\n cart_id: $cartId\n address: $address\n shipping_method: $shipping_method\n }\n ) {\n cart {\n ...CART_FRAGMENT\n }\n }\n }\n\n ${CART_FRAGMENT}\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 { fetchGraphQl } from '@/cart/api';\nimport { handleFetchError } from '@/cart/lib/fetch-error';\nimport { state } from '@/cart/lib/state';\nimport { CartModel } from '@/cart/data/models';\nimport { transformCart } from '@/cart/data/transforms';\n\nimport { GET_ESTIMATED_TOTALS_MUTATION } from './graphql/GetEstimatedTotalsMutation';\n\nexport interface EstimateAddressShippingInput {\n countryCode: string;\n postcode?: string;\n region?: {\n region?: string;\n id?: number;\n };\n shipping_method?: {\n carrier_code?: string;\n method_code?: string;\n };\n}\n\nexport const getEstimatedTotals = async (\n address: EstimateAddressShippingInput\n): Promise<CartModel | null> => {\n const cartId = state.cartId;\n\n if (!cartId) throw new Error('No cart ID found');\n if (!address) throw new Error('No address parameter found');\n\n const { countryCode, postcode, region } = address;\n const carrier_code = address.shipping_method?.carrier_code;\n const method_code = address.shipping_method?.method_code;\n\n return fetchGraphQl(GET_ESTIMATED_TOTALS_MUTATION, {\n variables: {\n cartId,\n address: {\n country_code: countryCode || 'US',\n postcode,\n region:\n region?.id !== undefined\n ? { region_id: region.id }\n : { region: region?.region ?? '' },\n },\n shipping_method: {\n carrier_code: carrier_code || '',\n method_code: method_code || '',\n },\n },\n }).then(({ errors, data }) => {\n if (errors) return handleFetchError(errors);\n\n const estimatedData: { cart: any } = data.estimateTotals;\n\n if (estimatedData) {\n const payload = transformCart(estimatedData.cart);\n\n return payload;\n }\n\n return null;\n });\n};\n"],"names":["GET_ESTIMATED_TOTALS_MUTATION","CART_ITEMS_PAGINATION_ARGUMENTS","CART_FRAGMENT","getEstimatedTotals","address","cartId","state","countryCode","postcode","region","carrier_code","_a","method_code","_b","fetchGraphQl","errors","data","handleFetchError","estimatedData","transformCart"],"mappings":"iLAoBO,MAAMA,EAAgC;AAAA;AAAA;AAAA;AAAA;AAAA,MAKvCC,CAA+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAejCC,CAAa;AAAA,ICFJC,EAAqB,MAChCC,GAC8B,SAC9B,MAAMC,EAASC,EAAM,OAErB,GAAI,CAACD,EAAc,MAAA,IAAI,MAAM,kBAAkB,EAC/C,GAAI,CAACD,EAAe,MAAA,IAAI,MAAM,4BAA4B,EAE1D,KAAM,CAAE,YAAAG,EAAa,SAAAC,EAAU,OAAAC,CAAW,EAAAL,EACpCM,GAAeC,EAAAP,EAAQ,kBAAR,YAAAO,EAAyB,aACxCC,GAAcC,EAAAT,EAAQ,kBAAR,YAAAS,EAAyB,YAE7C,OAAOC,EAAad,EAA+B,CACjD,UAAW,CACT,OAAAK,EACA,QAAS,CACP,aAAcE,GAAe,KAC7B,SAAAC,EACA,QACEC,GAAA,YAAAA,EAAQ,MAAO,OACX,CAAE,UAAWA,EAAO,EACpB,EAAA,CAAE,QAAQA,GAAA,YAAAA,EAAQ,SAAU,EAAG,CACvC,EACA,gBAAiB,CACf,aAAcC,GAAgB,GAC9B,YAAaE,GAAe,EAAA,CAC9B,CAEH,CAAA,EAAE,KAAK,CAAC,CAAE,OAAAG,EAAQ,KAAAC,KAAW,CACxB,GAAAD,EAAe,OAAAE,EAAiBF,CAAM,EAE1C,MAAMG,EAA+BF,EAAK,eAE1C,OAAIE,EACcC,EAAcD,EAAc,IAAI,EAK3C,IAAA,CACR,CACH"}
@@ -1,3 +1,4 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
3
  function s(e){e?sessionStorage.setItem("DROPIN__CART__CART__DATA",JSON.stringify(e)):sessionStorage.removeItem("DROPIN__CART__CART__DATA")}function t(){const e=sessionStorage.getItem("DROPIN__CART__CART__DATA");return e?JSON.parse(e):null}function _(e){e?sessionStorage.setItem("DROPIN__CART__SHIPPING__DATA",JSON.stringify(e)):sessionStorage.removeItem("DROPIN__CART__SHIPPING__DATA")}export{s as a,t as g,_ as s};
4
+ //# sourceMappingURL=persisted-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persisted-data.js","sources":["/@dropins/storefront-cart/src/lib/persisted-data.ts"],"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 { CartModel } from '@/cart/data/models';\n\nexport function setPersistedCartData(data: CartModel | null) {\n if (data) {\n sessionStorage.setItem('DROPIN__CART__CART__DATA', JSON.stringify(data));\n } else {\n sessionStorage.removeItem('DROPIN__CART__CART__DATA');\n }\n}\n\nexport function getPersistedCartData(): CartModel | null {\n const data = sessionStorage.getItem('DROPIN__CART__CART__DATA');\n\n if (data) return JSON.parse(data);\n\n return null;\n}\n\nexport function setEstimatedShippingLocation(\n data: {\n [key: string]: string;\n } | null\n) {\n if (data) {\n sessionStorage.setItem(\n 'DROPIN__CART__SHIPPING__DATA',\n JSON.stringify(data)\n );\n } else {\n sessionStorage.removeItem('DROPIN__CART__SHIPPING__DATA');\n }\n}\n\nexport function getEstimatedShippingLocation(): {\n [key: string]: string;\n} | null {\n const data = sessionStorage.getItem('DROPIN__CART__SHIPPING__DATA');\n\n if (data) return JSON.parse(data);\n\n return null;\n}\n"],"names":["setPersistedCartData","data","getPersistedCartData","setEstimatedShippingLocation"],"mappings":"AAmBO,SAASA,EAAqBC,EAAwB,CACvDA,EACF,eAAe,QAAQ,2BAA4B,KAAK,UAAUA,CAAI,CAAC,EAEvE,eAAe,WAAW,0BAA0B,CAExD,CAEO,SAASC,GAAyC,CACjD,MAAAD,EAAO,eAAe,QAAQ,0BAA0B,EAE9D,OAAIA,EAAa,KAAK,MAAMA,CAAI,EAEzB,IACT,CAEO,SAASE,EACdF,EAGA,CACIA,EACa,eAAA,QACb,+BACA,KAAK,UAAUA,CAAI,CACrB,EAEA,eAAe,WAAW,8BAA8B,CAE5D"}
@@ -95,3 +95,4 @@ query STORE_CONFIG_QUERY {
95
95
  }
96
96
  }
97
97
  `,br=async()=>G(hr,{method:"GET",cache:"force-cache"}).then(({errors:r,data:n})=>r?D(r):yr(n.storeConfig)),xr=async()=>{const r=t.authenticated?await W():await q();return f.emit("cart/data",r),r};export{R as C,U as a,W as b,B as c,q as d,br as e,I as g,V as i,xr as r,N as t};
98
+ //# sourceMappingURL=refreshCart.js.map