@dropins/storefront-cart 0.2.0 → 0.3.0-beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/graphql/CartFragment.d.ts +1 -0
- package/api.js +3 -4
- package/chunks/MiniCart.js +0 -1
- package/chunks/getEstimatedTotals.js +1 -2
- package/chunks/getStoreConfig.js +12 -229
- package/chunks/resetCart.js +230 -0
- package/chunks/updateProductsFromCart.js +1 -2
- package/containers/Cart.js +1 -2
- package/containers/MiniCart.js +1 -2
- package/data/models/cart-model.d.ts +1 -0
- package/data/transforms/__fixtures__/estimatedTotalsData.d.ts +8 -6
- package/hooks/useEstimatedShipping.d.ts +3 -0
- package/hooks/useEstimatedTotals.d.ts +1 -0
- package/i18n/en_US.json.d.ts +1 -0
- package/lib/persisted-data.d.ts +8 -2
- package/package.json +1 -1
- package/render.js +1 -2
- package/api/addProductsToCart/addProductsToCart.d.ts.map +0 -1
- package/api/addProductsToCart/graphql/AddProductsToCartMutation.d.ts.map +0 -1
- package/api/addProductsToCart/index.d.ts.map +0 -1
- package/api/createEmptyCart/createEmptyCart.d.ts.map +0 -1
- package/api/createEmptyCart/graphql/CreateCartMutation.d.ts.map +0 -1
- package/api/createEmptyCart/index.d.ts.map +0 -1
- package/api/fetch-graphql/fetch-graphql.d.ts.map +0 -1
- package/api/fetch-graphql/index.d.ts.map +0 -1
- package/api/getCartData/getCartData.d.ts.map +0 -1
- package/api/getCartData/graphql/CartQuery.d.ts.map +0 -1
- package/api/getCartData/index.d.ts.map +0 -1
- package/api/getEstimateShipping/getEstimateShipping.d.ts.map +0 -1
- package/api/getEstimateShipping/graphql/countriesAndRegionsQueries.d.ts.map +0 -1
- package/api/getEstimateShipping/graphql/estimateShippingMethodsMutation.d.ts.map +0 -1
- package/api/getEstimateShipping/index.d.ts.map +0 -1
- package/api/getEstimatedTotals/getEstimatedTotals.d.ts.map +0 -1
- package/api/getEstimatedTotals/graphql/GetEstimatedTotalsMutation.d.ts.map +0 -1
- package/api/getEstimatedTotals/index.d.ts.map +0 -1
- package/api/getStoreConfig/getStoreConfig.d.ts.map +0 -1
- package/api/getStoreConfig/graphql/StoreConfigQuery.d.ts.map +0 -1
- package/api/getStoreConfig/index.d.ts.map +0 -1
- package/api/graphql/CartFragment.d.ts.map +0 -1
- package/api/index.d.ts.map +0 -1
- package/api/initialize/index.d.ts.map +0 -1
- package/api/initialize/initialize.d.ts.map +0 -1
- package/api/initializeCart/graphql/MergeCartsMutation.d.ts.map +0 -1
- package/api/initializeCart/index.d.ts.map +0 -1
- package/api/initializeCart/initializeCart.d.ts.map +0 -1
- package/api/resetCart/index.d.ts.map +0 -1
- package/api/resetCart/resetCart.d.ts.map +0 -1
- package/api/updateProductsFromCart/graphql/UpdateProductsMutation.d.ts.map +0 -1
- package/api/updateProductsFromCart/index.d.ts.map +0 -1
- package/api/updateProductsFromCart/updateProductsFromCart.d.ts.map +0 -1
- package/api.js.map +0 -1
- package/chunks/MiniCart.js.map +0 -1
- package/chunks/getEstimatedTotals.js.map +0 -1
- package/chunks/getStoreConfig.js.map +0 -1
- package/chunks/updateProductsFromCart.js.map +0 -1
- package/components/Cart/Cart.d.ts.map +0 -1
- package/components/Cart/index.d.ts.map +0 -1
- package/components/EmptyCart/EmptyCart.d.ts.map +0 -1
- package/components/EmptyCart/index.d.ts.map +0 -1
- package/components/MiniCart/MiniCart.d.ts.map +0 -1
- package/components/MiniCart/index.d.ts.map +0 -1
- package/components/index.d.ts.map +0 -1
- package/containers/Cart/Cart.d.ts.map +0 -1
- package/containers/Cart/index.d.ts.map +0 -1
- package/containers/Cart.js.map +0 -1
- package/containers/MiniCart/MiniCart.d.ts.map +0 -1
- package/containers/MiniCart/index.d.ts.map +0 -1
- package/containers/MiniCart.js.map +0 -1
- package/containers/index.d.ts.map +0 -1
- package/data/models/acdl-models.d.ts.map +0 -1
- package/data/models/cart-model.d.ts.map +0 -1
- package/data/models/index.d.ts.map +0 -1
- package/data/models/store-models.d.ts.map +0 -1
- package/data/transforms/__fixtures__/cartModel.d.ts.map +0 -1
- package/data/transforms/__fixtures__/estimatedTotalsData.d.ts.map +0 -1
- package/data/transforms/__fixtures__/productTypesData.d.ts.map +0 -1
- package/data/transforms/acdl-context.d.ts.map +0 -1
- package/data/transforms/index.d.ts.map +0 -1
- package/data/transforms/transform-cart.d.ts.map +0 -1
- package/data/transforms/transform-store-config.d.ts.map +0 -1
- package/hooks/index.d.ts.map +0 -1
- package/hooks/useEstimatedShipping.d.ts.map +0 -1
- package/hooks/useEstimatedTotals.d.ts.map +0 -1
- package/lib/acdl.d.ts.map +0 -1
- package/lib/cookies.d.ts.map +0 -1
- package/lib/fetch-error.d.ts.map +0 -1
- package/lib/persisted-data.d.ts.map +0 -1
- package/lib/state.d.ts.map +0 -1
- package/render/Provider.d.ts.map +0 -1
- package/render/index.d.ts.map +0 -1
- package/render/render.d.ts.map +0 -1
- package/render.js.map +0 -1
package/containers/Cart.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
import{useState as y,useEffect as ee,useCallback as ve}from"@dropins/tools/preact-compat.js";import{events as Ie}from"@dropins/tools/event-bus.js";import{Divider as be,PriceSummary as _e,Price as c,Picker as ge,Input as me,Button as ye,CartList as Se,CartItem as Te,Image as he}from"@dropins/tools/components.js";import{E as Ne}from"../chunks/MiniCart.js";import{classes as z,VComponent as ne}from"@dropins/tools/lib.js";import{jsx as r,jsxs as te,Fragment as M}from"@dropins/tools/preact-jsx-runtime.js";import{s as re,m as De,n as Ee}from"../chunks/getStoreConfig.js";import{b as Le,u as Pe}from"../chunks/updateProductsFromCart.js";import{c as Ce,a as we,b as Ue,g as Ge}from"../chunks/getEstimatedTotals.js";import{useText as fe}from"@dropins/tools/i18n.js";import"@dropins/tools/fetch-graphql.js";const ke=({className:f,children:I,emptyCart:x,heading:h,products:o,priceSummary:v,...n})=>r("div",{...n,className:z(["cart-cart",f]),children:te("div",{className:z(["cart-cart__wrapper"]),children:[h&&te("div",{className:z(["cart-cart__heading",["cart-cart__heading--full-width",!o||!v]]),children:[r(ne,{node:h,className:"cart-cart__heading-text"}),r(be,{variant:"primary",className:z(["cart-cart__heading-divider"])})]}),r("div",{className:z(["cart-cart__content",["cart-cart__content--empty",!o],["cart-cart__content--full-width",!v]]),children:o||r(ne,{node:x,className:"cart-cart__empty-cart"})}),o&&v&&r(ne,{node:v,className:z(["cart-cart__price-summary"])})]})}),Xe=()=>{const[f,I]=y();return{handleEstimateTotals:(h,o)=>{const{shippingCountry:v,shippingState:n="",shippingZip:k=""}=h,B={countryCode:v,postcode:k,region:{region:n},shipping_method:{carrier_code:(o==null?void 0:o.carrier_code)||"",method_code:(o==null?void 0:o.method_code)||""}};Ce(B).then(l=>{var X,S,E,L,P,s,F,C,w,_,U,T,a,d,m,p,i,t,H,O;l&&I({estimatedTaxTotal:{amount:(X=l.totalTax)==null?void 0:X.value,currency:(S=l.totalTax)==null?void 0:S.currency},estimatedSubTotal:{excludingTax:{amount:(L=(E=l.subtotal)==null?void 0:E.excludingTax)==null?void 0:L.value,currency:(s=(P=l.subtotal)==null?void 0:P.excludingTax)==null?void 0:s.currency},includingTax:{amount:(C=(F=l.subtotal)==null?void 0:F.includingTax)==null?void 0:C.value,currency:(_=(w=l.subtotal)==null?void 0:w.includingTax)==null?void 0:_.currency},includingDiscountOnly:{amount:(T=(U=l.subtotal)==null?void 0:U.includingDiscountOnly)==null?void 0:T.value,currency:(d=(a=l.subtotal)==null?void 0:a.includingDiscountOnly)==null?void 0:d.currency}},estimatedGrandTotalPrice:{includingTax:{amount:(m=l.total)==null?void 0:m.includingTax.value,currency:(p=l.total)==null?void 0:p.includingTax.currency},excludingTax:{amount:(i=l.total)==null?void 0:i.excludingTax.value,currency:(t=l.total)==null?void 0:t.excludingTax.currency}},estimatedAppliedTaxes:{taxes:(H=l.appliedTaxes)==null?void 0:H.map(u=>{var N,D;return{label:u.label,amount:{value:(N=u.amount)==null?void 0:N.value,currency:(D=u.amount)==null?void 0:D.currency}}})},estimatedItems:{items:(O=l.items)==null?void 0:O.map(u=>{var N,D,R,Z,$,j,Q,V,q,W;return{uid:u.uid,price:{amount:(N=u.price)==null?void 0:N.value,currency:(D=u.price)==null?void 0:D.currency},taxedPrice:{amount:(R=u.taxedPrice)==null?void 0:R.value,currency:(Z=u.taxedPrice)==null?void 0:Z.currency},rowTotal:{amount:($=u.rowTotal)==null?void 0:$.value,currency:(j=u.rowTotal)==null?void 0:j.currency},rowTotalIncludingTax:{amount:(Q=u.rowTotalIncludingTax)==null?void 0:Q.value,currency:(V=u.rowTotalIncludingTax)==null?void 0:V.currency},regularPrice:{amount:(q=u.regularPrice)==null?void 0:q.value,currency:(W=u.regularPrice)==null?void 0:W.currency}}})}})})},estimatedTotals:f}},Fe=()=>{const[f,I]=y([]),[x,h]=y("US"),[o,v]=y(""),[n,k]=y(""),[B,l]=y([]),[X,S]=y(!1),[E,L]=y(),[P,s]=y(),[F,C]=y(""),[w,_]=y(!1),U=async a=>{const{shippingCountry:d,shippingState:m="",shippingZip:p=""}=a,i={countryCode:d,postcode:p,region:{region:m}};return _(!0),Ge(i).then(t=>(t&&(L({amount:t.amount.value,currency:t.amount.currency,priceIncludingtax:{amount:t.price_incl_tax.value,currency:t.price_incl_tax.currency},priceExcludingtax:{amount:t.price_excl_tax.value,currency:t.price_excl_tax.currency}}),s({carrier_code:t.carrier_code,method_code:t.method_code}),h(d),v(m),k(p),C(m||p||d)),t)).finally(()=>{_(!1)})},T=a=>{a.preventDefault(),v(""),k("");const d=a.target.value;h(d)};return ee(()=>{we().then(a=>{let d="US";const m=a.map(p=>(p.isDefaultCountry&&(d=p.id),{text:p.label,value:p.id}));I(m),h(d)})},[]),ee(()=>{S(!0),Ue(x).then(a=>{const d=a.map(m=>({text:m.name,value:m.code}));l(d)}).finally(()=>{S(!1)})},[x,S]),{loading:w,regionsLoading:X,estimatedDestinationText:F,countries:f,selectedCountry:x,selectedRegion:o,selectedZip:n,regions:B,estimatedShippingPrice:E,estimatedShippingMethod:P,handleEstimateShipping:U,handleCountrySelected:T}},Ae=({children:f,initialData:I=null,routeProduct:x,routeEmptyCartCTA:h,routeCheckout:o,...v})=>{var O,u,N,D,R,Z,$,j,Q,V,q,W,ae,ie,ce;const[n,k]=y(I),[B,l]=y(new Set),{loading:X,countries:S,regions:E,selectedCountry:L,estimatedDestinationText:P,estimatedShippingPrice:s,handleCountrySelected:F,handleEstimateShipping:C,regionsLoading:w,selectedRegion:_,selectedZip:U}=Fe(),{handleEstimateTotals:T,estimatedTotals:a}=Xe(),d=(e,g)=>{l(b=>(e?b.add(g):b.delete(g),new Set(b)))},m=(e,g)=>{d(!0,e),Pe([{uid:e,quantity:g}]).finally(()=>{d(!1,e),P&&p({shippingCountry:L,shippingState:_,shippingZip:U})})},p=ve(e=>{C(e).then(g=>{if(g){const{carrier_code:b,method_code:G}=g;T(e,{carrier_code:b,method_code:G})}else T(e)})},[C,T]),i=fe({applyButton:"Cart.PriceSummary.estimatedShippingForm.apply.label",checkout:"Cart.PriceSummary.checkout",countryField:"Cart.PriceSummary.estimatedShippingForm.country.placeholder",discountedPrice:"Cart.CartItem.discountedPrice",download:"Cart.CartItem.download",freeShipping:"Cart.PriceSummary.freeShipping",heading:"Cart.Cart.heading",message:"Cart.CartItem.message",regularPrice:"Cart.CartItem.regularPrice",recipient:"Cart.CartItem.recipient",sender:"Cart.CartItem.sender",stateField:"Cart.PriceSummary.estimatedShippingForm.state.placeholder",taxToBeDetermined:"Cart.PriceSummary.taxToBeDetermined",zipField:"Cart.PriceSummary.estimatedShippingForm.zip.placeholder",file:"Cart.CartItem.file",files:"Cart.CartItem.files"});ee(()=>{const e=Ie.on("cart/data",g=>{var G,A;k(g);const b=(A=(G=g==null?void 0:g.addresses)==null?void 0:G.shipping)==null?void 0:A[0];if(b){const{countryCode:J,regionCode:K,zipCode:Y}=b;p({shippingCountry:J,shippingState:K,shippingZip:Y})}},{eager:!0});return()=>{e==null||e.off()}},[]),ee(()=>{I&&Object.keys(I).length>0&&Le(I,re.locale||"en-US")},[I]),De().then(e=>{re.config=e});const t=(O=re.config)==null?void 0:O.shoppingCartDisplaySetting,H=(n==null?void 0:n.totalQuantity)??0?r(_e,{"data-testid":"price-summary",loading:X,heading:"Order Summary",total:{price:a!=null&&a.estimatedGrandTotalPrice?r(c,{...a==null?void 0:a.estimatedGrandTotalPrice.includingTax}):r(c,{amount:n==null?void 0:n.total.includingTax.value,currency:n==null?void 0:n.total.includingTax.currency}),estimated:!0,priceWithoutTax:t!=null&&t.grandTotal?a!=null&&a.estimatedAppliedTaxes?r(c,{...a==null?void 0:a.estimatedGrandTotalPrice.excludingTax}):r(c,{amount:n==null?void 0:n.total.excludingTax.value,currency:n==null?void 0:n.total.excludingTax.currency}):void 0},subTotal:{taxIncluded:(t==null?void 0:t.subtotal)==="INCLUDING_TAX"&&!(t!=null&&t.zeroTax),taxExcluded:(t==null?void 0:t.subtotal)==="INCLUDING_EXCLUDING_TAX",zeroTaxSubtotal:t==null?void 0:t.zeroTax,priceExcludingTax:(u=a==null?void 0:a.estimatedSubTotal)!=null&&u.excludingTax?r(c,{"data-testid":"subtotal",...(N=a==null?void 0:a.estimatedSubTotal)==null?void 0:N.excludingTax}):r(c,{"data-testid":"subtotal",amount:(D=n==null?void 0:n.subtotal.excludingTax)==null?void 0:D.value,currency:(R=n==null?void 0:n.subtotal.excludingTax)==null?void 0:R.currency}),price:!(t!=null&&t.zeroTax)&&(t==null?void 0:t.subtotal)==="INCLUDING_TAX"||!(t!=null&&t.zeroTax)&&(t==null?void 0:t.subtotal)==="INCLUDING_EXCLUDING_TAX"?(Z=a==null?void 0:a.estimatedSubTotal)!=null&&Z.includingTax?r(c,{"data-testid":"subtotal",...($=a==null?void 0:a.estimatedSubTotal)==null?void 0:$.includingTax}):r(c,{"data-testid":"subtotal",amount:(j=n==null?void 0:n.subtotal.includingTax)==null?void 0:j.value,currency:(Q=n==null?void 0:n.subtotal.includingTax)==null?void 0:Q.currency}):r(c,{"data-testid":"subtotal",amount:(V=n==null?void 0:n.subtotal.excludingTax)==null?void 0:V.value,currency:(q=n==null?void 0:n.subtotal.excludingTax)==null?void 0:q.currency})},shipping:n!=null&&n.isVirtual?void 0:{taxIncluded:(t==null?void 0:t.shipping)==="INCLUDING_TAX",taxExcluded:(t==null?void 0:t.shipping)==="INCLUDING_EXCLUDING_TAX",price:(s==null?void 0:s.amount)==0?r("span",{"data-testId":"free-shipping",children:i.freeShipping}):(t==null?void 0:t.shipping)==="INCLUDING_TAX"&&s?r(c,{"data-testid":"shipping",...s.priceIncludingtax}):s?r(c,{...s}):r("span",{children:i.taxToBeDetermined}),estimated:!0,priceExcludingTax:s!=null&&s.priceExcludingtax?r(c,{"data-testid":"shipping-excluding-tax",...s.priceExcludingtax}):r("span",{children:i.taxToBeDetermined}),countryField:r(ge,{name:"shippingCountry",placeholder:i.countryField,value:L,variant:"primary",options:S,handleSelect:F,"data-testid":"estimate-shipping-country-selector"}),stateField:E.length>0?r(ge,{name:"shippingState",placeholder:i.stateField,variant:"primary",options:E,value:_,"data-testid":"estimate-shipping-state-selector",disabled:w}):r(me,{"aria-label":i.stateField,name:"shippingState",placeholder:i.stateField,variant:"primary",value:_,disabled:w,"data-testid":"estimate-shipping-state-input",maxLength:50}),zipField:r(me,{"aria-label":i.zipField,name:"shippingZip",placeholder:i.zipField,variant:"primary","data-testid":"estimate-shipping-zip-input",value:U,maxLength:12}),estimateButton:r(ye,{variant:"secondary","data-testid":"estimate-shipping-apply-button","aria-label":i.applyButton,children:i.applyButton}),destinationText:P||i.taxToBeDetermined,onEstimate:p},taxTotal:n!=null&&n.isVirtual?{price:r("span",{"data-testid":"tax-total",children:i.taxToBeDetermined})}:{price:a!=null&&a.estimatedTaxTotal?r(c,{"data-testid":"tax-total",...a==null?void 0:a.estimatedTaxTotal}):n!=null&&n.totalTax?r(c,{"data-testid":"tax-total",amount:(W=n==null?void 0:n.totalTax)==null?void 0:W.value,currency:(ae=n==null?void 0:n.totalTax)==null?void 0:ae.currency}):r("span",{"data-testid":"tax-total",children:i.taxToBeDetermined}),estimated:!0},taxesApplied:n!=null&&n.isVirtual?void 0:t!=null&&t.fullSummary&&(a!=null&&a.estimatedAppliedTaxes)?(ce=(ie=a==null?void 0:a.estimatedAppliedTaxes)==null?void 0:ie.taxes)==null?void 0:ce.map(e=>({label:e.label,price:r(c,{"data-testid":"applied-taxes",amount:e.amount.value,currency:e.amount.currency})})):t!=null&&t.fullSummary?n==null?void 0:n.appliedTaxes.map(e=>({label:e.label,price:r(c,{"data-testid":"applied-taxes",amount:e.amount.value,currency:e.amount.currency})})):void 0,primaryAction:o?r(ye,{"data-testid":"checkout-button",variant:"primary",href:o({cartId:n.id}),children:i.checkout}):void 0,discounts:n==null?void 0:n.appliedDiscounts.map(e=>({label:e.label,price:r(c,{"data-testid":"summary-discount-total",amount:-e.amount.value,currency:e.amount.currency,sale:!0})}))}):void 0;return r(ke,{...v,heading:r("div",{children:i.heading}),emptyCart:r(Ne,{ctaLinkURL:h==null?void 0:h()}),priceSummary:H,products:(n==null?void 0:n.totalQuantity)??0?r(Se,{children:n==null?void 0:n.items.map((e,g)=>{var A,J,K,Y,le,ue,oe,se,de,pe;const b=B.has(e.uid),G={...e.bundleOptions??{},...e.selectedOptions??{},...e.customizableOptions,...e.recipient?{[i.recipient]:e.recipient}:{},...e.recipientEmail&&e.recipient?{[i.recipient]:`${e.recipient} (${e.recipientEmail})`}:{},...e.sender?{[i.sender]:e.sender}:{},...e.senderEmail&&e.sender?{[i.sender]:`${e.sender} (${e.senderEmail})`}:{},...e.message?{[i.message]:e.message}:{},...e.links&&e.links.count?e.links.count>1?{[i.files.replace("{count}",e.links.count.toString())]:e.links.result}:{[i.file.replace("{count}",e.links.count.toString())]:e.links.result}:{}};return r(Te,{ariaLabel:e.name,updating:b,"data-testid":"cart-item",taxIncluded:(t==null?void 0:t.price)==="INCLUDING_TAX",taxExcluded:(t==null?void 0:t.price)==="INCLUDING_EXCLUDING_TAX",image:x?r("a",{href:x(e),children:r(he,{loading:g<4?"eager":"lazy",src:e.image.src,alt:e.image.alt,width:"300",height:"300",params:{width:300}})}):r(he,{loading:g<4?"eager":"lazy",src:e.image.src,alt:e.image.alt,width:"300",height:"300",params:{width:300}}),title:r("span",{children:x?r("a",{href:x(e),children:e.name}):r(M,{children:e.name})}),sku:r("span",{children:e.sku}),configurations:Object.keys(G).length>0?G:void 0,quantity:e.quantity,price:(t==null?void 0:t.price)==="INCLUDING_TAX"?r(c,{amount:e.discounted?(A=e.regularPrice)==null?void 0:A.value:(J=e.taxedPrice)==null?void 0:J.value,currency:e.discounted?(K=e.regularPrice)==null?void 0:K.currency:(Y=e.taxedPrice)==null?void 0:Y.currency,style:{font:"inherit"},"data-testid":"including-tax-item-price"}):r(c,{amount:(le=e.regularPrice)==null?void 0:le.value,currency:(ue=e.regularPrice)==null?void 0:ue.currency,style:{font:"inherit"},"data-testid":"regular-item-price"}),total:(t==null?void 0:t.price)==="INCLUDING_EXCLUDING_TAX"||(t==null?void 0:t.price)==="INCLUDING_TAX"?r(M,{children:e.discounted?te(M,{children:[r(c,{amount:e.total.value,currency:e.total.currency,variant:e.discounted?"strikethrough":"default","data-testid":"including-tax-row-total","aria-label":i.regularPrice}),r(c,{amount:(oe=e.rowTotalIncludingTax)==null?void 0:oe.value,currency:(se=e.rowTotalIncludingTax)==null?void 0:se.currency,sale:e.discounted,"data-testid":"discount-total","aria-label":i.discountedPrice})]}):r(c,{amount:e.rowTotalIncludingTax.value,currency:e.rowTotalIncludingTax.currency,"data-testid":"including-tax-row-total","aria-label":i.regularPrice})}):te(M,{children:[r(c,{amount:e.total.value,currency:e.total.currency,variant:e.discounted?"strikethrough":"default","data-testid":"regular-total","aria-label":i.regularPrice}),e.discounted&&r(c,{amount:(de=e.discountedTotal)==null?void 0:de.value,currency:(pe=e.discountedTotal)==null?void 0:pe.currency,sale:e.discounted,"data-testid":"discount-total","aria-label":i.discountedPrice})]}),totalExcludingTax:(t==null?void 0:t.price)==="INCLUDING_EXCLUDING_TAX"?r(c,{amount:e.rowTotal.value,currency:e.rowTotal.currency,"data-testid":"excluding-tax-total","aria-label":i.regularPrice}):void 0,onQuantity:xe=>{m(e.uid,xe)},onRemove:()=>{m(e.uid,0)}},e.uid)})}):void 0})};Ae.getInitialData=async function(){return Ee()};export{Ae as Cart,Ae as default};
|
|
2
|
-
//# sourceMappingURL=Cart.js.map
|
|
1
|
+
import{useState as m,useEffect as Z,useCallback as Te}from"@dropins/tools/preact-compat.js";import{events as ae}from"@dropins/tools/event-bus.js";import{Divider as Ne,PriceSummary as De,Price as c,Picker as ye,Input as xe,Button as ve,CartList as Ee,CartItem as Le,Image as Ie}from"@dropins/tools/components.js";import{E as Pe}from"../chunks/MiniCart.js";import{classes as R,VComponent as ie}from"@dropins/tools/lib.js";import{jsx as r,jsxs as re,Fragment as ne}from"@dropins/tools/preact-jsx-runtime.js";import{l as Se,s as be,k as Ce}from"../chunks/resetCart.js";import{b as fe,u as we}from"../chunks/updateProductsFromCart.js";import{c as Ue,a as Ge,b as ke,g as Xe}from"../chunks/getEstimatedTotals.js";import{useText as Fe}from"@dropins/tools/i18n.js";import"@dropins/tools/fetch-graphql.js";const Ae=({className:F,children:y,emptyCart:b,heading:_,products:v,priceSummary:h,...t})=>r("div",{...t,className:R(["cart-cart",F]),children:re("div",{className:R(["cart-cart__wrapper"]),children:[_&&re("div",{className:R(["cart-cart__heading",["cart-cart__heading--full-width",!v||!h]]),children:[r(ie,{node:_,className:"cart-cart__heading-text"}),r(Ne,{variant:"primary",className:R(["cart-cart__heading-divider"])})]}),r("div",{className:R(["cart-cart__content",["cart-cart__content--empty",!v],["cart-cart__content--full-width",!h]]),children:v||r(ie,{node:b,className:"cart-cart__empty-cart"})}),v&&h&&r(ie,{node:h,className:R(["cart-cart__price-summary"])})]})}),ze=()=>{const[F,y]=m(!1),[b,_]=m();return{handleEstimateTotals:(h,t)=>{y(!0);const{shippingCountry:D,shippingState:O="",shippingZip:E=""}=h,$={countryCode:D,postcode:E,region:{region:O},shipping_method:{carrier_code:(t==null?void 0:t.carrier_code)||"",method_code:(t==null?void 0:t.method_code)||""}};Ue($).then(l=>{var U,S,G,d,A,L,k,I,N,P,z,C,a,x,u,p,o,i,n,Y;l&&_({estimatedTaxTotal:{amount:(U=l.totalTax)==null?void 0:U.value,currency:(S=l.totalTax)==null?void 0:S.currency},estimatedSubTotal:{excludingTax:{amount:(d=(G=l.subtotal)==null?void 0:G.excludingTax)==null?void 0:d.value,currency:(L=(A=l.subtotal)==null?void 0:A.excludingTax)==null?void 0:L.currency},includingTax:{amount:(I=(k=l.subtotal)==null?void 0:k.includingTax)==null?void 0:I.value,currency:(P=(N=l.subtotal)==null?void 0:N.includingTax)==null?void 0:P.currency},includingDiscountOnly:{amount:(C=(z=l.subtotal)==null?void 0:z.includingDiscountOnly)==null?void 0:C.value,currency:(x=(a=l.subtotal)==null?void 0:a.includingDiscountOnly)==null?void 0:x.currency}},estimatedGrandTotalPrice:{includingTax:{amount:(u=l.total)==null?void 0:u.includingTax.value,currency:(p=l.total)==null?void 0:p.includingTax.currency},excludingTax:{amount:(o=l.total)==null?void 0:o.excludingTax.value,currency:(i=l.total)==null?void 0:i.excludingTax.currency}},estimatedAppliedTaxes:{taxes:(n=l.appliedTaxes)==null?void 0:n.map(s=>{var f,w;return{label:s.label,amount:{value:(f=s.amount)==null?void 0:f.value,currency:(w=s.amount)==null?void 0:w.currency}}})},estimatedItems:{items:(Y=l.items)==null?void 0:Y.map(s=>{var f,w,j,Q,V,q,W,H,J,K;return{uid:s.uid,price:{amount:(f=s.price)==null?void 0:f.value,currency:(w=s.price)==null?void 0:w.currency},taxedPrice:{amount:(j=s.taxedPrice)==null?void 0:j.value,currency:(Q=s.taxedPrice)==null?void 0:Q.currency},rowTotal:{amount:(V=s.rowTotal)==null?void 0:V.value,currency:(q=s.rowTotal)==null?void 0:q.currency},rowTotalIncludingTax:{amount:(W=s.rowTotalIncludingTax)==null?void 0:W.value,currency:(H=s.rowTotalIncludingTax)==null?void 0:H.currency},regularPrice:{amount:(J=s.regularPrice)==null?void 0:J.value,currency:(K=s.regularPrice)==null?void 0:K.currency}}})}})}).finally(()=>{y(!1)})},estimatedTotals:b,loading:F}},Be=()=>{const[F,y]=m(!1),[b,_]=m([]),[v,h]=m("US"),[t,D]=m(""),[O,E]=m(""),[$,l]=m([]),[U,S]=m(!1),[G,d]=m(),[A,L]=m(),[k,I]=m(""),[N,P]=m(!1),z=()=>{h("US"),D(""),E(""),d(null),L(null),I(""),P(!1)},C=async x=>{const{shippingCountry:u,shippingState:p="",shippingZip:o=""}=x,i={countryCode:u,postcode:o,region:{region:p}};return y(!0),Xe(i).then(n=>(n&&(d({amount:n.amount.value,currency:n.amount.currency,priceIncludingtax:{amount:n.price_incl_tax.value,currency:n.price_incl_tax.currency},priceExcludingtax:{amount:n.price_excl_tax.value,currency:n.price_excl_tax.currency}}),L({carrier_code:n.carrier_code,method_code:n.method_code}),h(u),D(p),E(o),I(p||o||u),P(!0)),h(u),D(p),E(o),I(p||o||u),n)).finally(()=>{y(!1)})},a=x=>{x.preventDefault(),D(""),E("");const u=x.target.value;h(u)};return Z(()=>{Ge().then(x=>{let u="US";const p=x.map(o=>(o.isDefaultCountry&&(u=o.id),{text:o.label,value:o.id}));_(p),h(u)})},[]),Z(()=>{S(!0),ke(v).then(x=>{const u=x.map(p=>({text:p.name,value:p.code}));l(u)}).finally(()=>{S(!1)})},[v,S]),{loading:F,regionsLoading:U,estimatedDestinationText:k,countries:b,selectedCountry:v,selectedRegion:t,selectedZip:O,regions:$,estimatedShippingPrice:G,estimatedShippingMethod:A,shippingEstimated:N,handleEstimateShipping:C,handleCountrySelected:a,resetValues:z,setPriceSummaryLoading:y}},Re=({children:F,initialData:y=null,routeProduct:b,routeEmptyCartCTA:_,routeCheckout:v,...h})=>{var s,f,w,j,Q,V,q,W,H,J,K,ce,le,ue,oe;const[t,D]=m(y),[O,E]=m(new Set),{loading:$,countries:l,regions:U,selectedCountry:S,estimatedDestinationText:G,estimatedShippingPrice:d,handleCountrySelected:A,handleEstimateShipping:L,regionsLoading:k,selectedRegion:I,selectedZip:N,shippingEstimated:P,resetValues:z}=Be(),{handleEstimateTotals:C,estimatedTotals:a,loading:x}=ze(),u=(e,g)=>{E(T=>(e?T.add(g):T.delete(g),new Set(T)))},p=(e,g)=>{u(!0,e),we([{uid:e,quantity:g}]).finally(()=>{u(!1,e),G&&o({shippingCountry:S,shippingState:I,shippingZip:N})})},o=Te(e=>{L(e).then(g=>{if(g){const{carrier_code:T,method_code:X}=g;C(e,{carrier_code:T,method_code:X})}else C(e)}).then(()=>{Se(e)})},[L,C]),i=Fe({applyButton:"Cart.PriceSummary.estimatedShippingForm.apply.label",checkout:"Cart.PriceSummary.checkout",countryField:"Cart.PriceSummary.estimatedShippingForm.country.placeholder",discountedPrice:"Cart.CartItem.discountedPrice",download:"Cart.CartItem.download",freeShipping:"Cart.PriceSummary.freeShipping",heading:"Cart.Cart.heading",message:"Cart.CartItem.message",orderSummary:"Cart.PriceSummary.orderSummary",regularPrice:"Cart.CartItem.regularPrice",recipient:"Cart.CartItem.recipient",sender:"Cart.CartItem.sender",stateField:"Cart.PriceSummary.estimatedShippingForm.state.placeholder",taxToBeDetermined:"Cart.PriceSummary.taxToBeDetermined",zipField:"Cart.PriceSummary.estimatedShippingForm.zip.placeholder",file:"Cart.CartItem.file",files:"Cart.CartItem.files"});Z(()=>{const e=ae.on("cart/data",g=>{var X,B;D(g);const T=(B=(X=g==null?void 0:g.addresses)==null?void 0:X.shipping)==null?void 0:B[0];if(T){const{countryCode:M,regionCode:ee,zipCode:te}=T;o({shippingCountry:M,shippingState:ee,shippingZip:te})}},{eager:!0});return()=>{e==null||e.off()}},[]),Z(()=>{const e=ae.on("cart/merged",()=>{P&&o({shippingCountry:S,shippingState:I,shippingZip:N})});return()=>{e==null||e.off()}},[P,S,I,N]),Z(()=>{const e=ae.on("cart/reset",()=>{z(),Se(null)});return()=>{e==null||e.off()}},[]),Z(()=>{y&&Object.keys(y).length>0&&fe(y,be.locale||"en-US")},[y]);const n=(s=be.config)==null?void 0:s.shoppingCartDisplaySetting,Y=(t==null?void 0:t.totalQuantity)??0?r(De,{"data-testid":"price-summary",loading:$||x,heading:i.orderSummary,total:{price:a!=null&&a.estimatedGrandTotalPrice?r(c,{...a==null?void 0:a.estimatedGrandTotalPrice.includingTax}):r(c,{amount:t==null?void 0:t.total.includingTax.value,currency:t==null?void 0:t.total.includingTax.currency}),estimated:!0,priceWithoutTax:n!=null&&n.grandTotal?a!=null&&a.estimatedAppliedTaxes?r(c,{...a==null?void 0:a.estimatedGrandTotalPrice.excludingTax}):r(c,{amount:t==null?void 0:t.total.excludingTax.value,currency:t==null?void 0:t.total.excludingTax.currency}):void 0},subTotal:{taxIncluded:(n==null?void 0:n.subtotal)==="INCLUDING_TAX"&&!(n!=null&&n.zeroTax),taxExcluded:(n==null?void 0:n.subtotal)==="INCLUDING_EXCLUDING_TAX",zeroTaxSubtotal:n==null?void 0:n.zeroTax,priceExcludingTax:(f=a==null?void 0:a.estimatedSubTotal)!=null&&f.excludingTax?r(c,{"data-testid":"subtotal",...(w=a==null?void 0:a.estimatedSubTotal)==null?void 0:w.excludingTax}):r(c,{"data-testid":"subtotal",amount:(j=t==null?void 0:t.subtotal.excludingTax)==null?void 0:j.value,currency:(Q=t==null?void 0:t.subtotal.excludingTax)==null?void 0:Q.currency}),price:!(n!=null&&n.zeroTax)&&(n==null?void 0:n.subtotal)==="INCLUDING_TAX"||!(n!=null&&n.zeroTax)&&(n==null?void 0:n.subtotal)==="INCLUDING_EXCLUDING_TAX"?(V=a==null?void 0:a.estimatedSubTotal)!=null&&V.includingTax?r(c,{"data-testid":"subtotal",...(q=a==null?void 0:a.estimatedSubTotal)==null?void 0:q.includingTax}):r(c,{"data-testid":"subtotal",amount:(W=t==null?void 0:t.subtotal.includingTax)==null?void 0:W.value,currency:(H=t==null?void 0:t.subtotal.includingTax)==null?void 0:H.currency}):r(c,{"data-testid":"subtotal",amount:(J=t==null?void 0:t.subtotal.excludingTax)==null?void 0:J.value,currency:(K=t==null?void 0:t.subtotal.excludingTax)==null?void 0:K.currency})},shipping:t!=null&&t.isVirtual?void 0:{taxIncluded:(n==null?void 0:n.shipping)==="INCLUDING_TAX",taxExcluded:(n==null?void 0:n.shipping)==="INCLUDING_EXCLUDING_TAX",price:(d==null?void 0:d.amount)==0?r("span",{"data-testId":"free-shipping",children:i.freeShipping}):(n==null?void 0:n.shipping)==="INCLUDING_TAX"&&d?r(c,{"data-testid":"shipping",...d.priceIncludingtax}):d?r(c,{...d}):r("span",{children:i.taxToBeDetermined}),estimated:!0,priceExcludingTax:d!=null&&d.priceExcludingtax?r(c,{"data-testid":"shipping-excluding-tax",...d.priceExcludingtax}):r("span",{children:i.taxToBeDetermined}),countryField:r(ye,{name:"shippingCountry",placeholder:i.countryField,value:S,variant:"primary",options:l,handleSelect:A,"data-testid":"estimate-shipping-country-selector"}),stateField:U.length>0?r(ye,{name:"shippingState",placeholder:i.stateField,variant:"primary",options:U,value:I,"data-testid":"estimate-shipping-state-selector",disabled:k}):r(xe,{"aria-label":i.stateField,name:"shippingState",placeholder:i.stateField,variant:"primary",value:I,disabled:k,"data-testid":"estimate-shipping-state-input",maxLength:50}),zipField:r(xe,{"aria-label":i.zipField,name:"shippingZip",placeholder:i.zipField,variant:"primary","data-testid":"estimate-shipping-zip-input",value:N,maxLength:12}),estimateButton:r(ve,{variant:"secondary","data-testid":"estimate-shipping-apply-button","aria-label":i.applyButton,children:i.applyButton}),destinationText:G||i.taxToBeDetermined,onEstimate:o},taxTotal:t!=null&&t.isVirtual?{price:r("span",{"data-testid":"tax-total",children:i.taxToBeDetermined})}:{price:a!=null&&a.estimatedTaxTotal?r(c,{"data-testid":"tax-total",...a==null?void 0:a.estimatedTaxTotal}):t!=null&&t.totalTax?r(c,{"data-testid":"tax-total",amount:(ce=t==null?void 0:t.totalTax)==null?void 0:ce.value,currency:(le=t==null?void 0:t.totalTax)==null?void 0:le.currency}):r("span",{"data-testid":"tax-total",children:i.taxToBeDetermined}),estimated:!0},taxesApplied:t!=null&&t.isVirtual?void 0:n!=null&&n.fullSummary&&(a!=null&&a.estimatedAppliedTaxes)?(oe=(ue=a==null?void 0:a.estimatedAppliedTaxes)==null?void 0:ue.taxes)==null?void 0:oe.map(e=>({label:e.label,price:r(c,{"data-testid":"applied-taxes",amount:e.amount.value,currency:e.amount.currency})})):n!=null&&n.fullSummary?t==null?void 0:t.appliedTaxes.map(e=>({label:e.label,price:r(c,{"data-testid":"applied-taxes",amount:e.amount.value,currency:e.amount.currency})})):void 0,primaryAction:v?r(ve,{"data-testid":"checkout-button",variant:"primary",href:v({cartId:t.id}),children:i.checkout}):void 0,discounts:t==null?void 0:t.appliedDiscounts.map(e=>({label:e.label,price:r(c,{"data-testid":"summary-discount-total",amount:-e.amount.value,currency:e.amount.currency,sale:!0})}))}):void 0;return r(Ae,{...h,heading:r("div",{children:i.heading}),emptyCart:r(Pe,{ctaLinkURL:_==null?void 0:_()}),priceSummary:Y,products:(t==null?void 0:t.totalQuantity)??0?r(Ee,{children:t==null?void 0:t.items.map((e,g)=>{var B,M,ee,te,se,de,pe,ge,me,he;const T=O.has(e.uid),X={...e.bundleOptions??{},...e.selectedOptions??{},...e.customizableOptions,...e.recipient?{[i.recipient]:e.recipient}:{},...e.recipientEmail&&e.recipient?{[i.recipient]:`${e.recipient} (${e.recipientEmail})`}:{},...e.sender?{[i.sender]:e.sender}:{},...e.senderEmail&&e.sender?{[i.sender]:`${e.sender} (${e.senderEmail})`}:{},...e.message?{[i.message]:e.message}:{},...e.links&&e.links.count?e.links.count>1?{[i.files.replace("{count}",e.links.count.toString())]:e.links.result}:{[i.file.replace("{count}",e.links.count.toString())]:e.links.result}:{}};return r(Le,{ariaLabel:e.name,updating:T,"data-testid":"cart-item",taxIncluded:(n==null?void 0:n.price)==="INCLUDING_TAX",taxExcluded:(n==null?void 0:n.price)==="INCLUDING_EXCLUDING_TAX",image:b?r("a",{href:b(e),children:r(Ie,{loading:g<4?"eager":"lazy",src:e.image.src,alt:e.image.alt,width:"300",height:"300",params:{width:300}})}):r(Ie,{loading:g<4?"eager":"lazy",src:e.image.src,alt:e.image.alt,width:"300",height:"300",params:{width:300}}),title:r("span",{children:b?r("a",{href:b(e),children:e.name}):r(ne,{children:e.name})}),sku:r("span",{children:e.sku}),configurations:Object.keys(X).length>0?X:void 0,quantity:e.quantity,price:(n==null?void 0:n.price)==="INCLUDING_TAX"?r(c,{amount:e.discounted?(B=e.regularPrice)==null?void 0:B.value:(M=e.taxedPrice)==null?void 0:M.value,currency:e.discounted?(ee=e.regularPrice)==null?void 0:ee.currency:(te=e.taxedPrice)==null?void 0:te.currency,style:{font:"inherit"},"data-testid":"including-tax-item-price"}):r(c,{amount:(se=e.regularPrice)==null?void 0:se.value,currency:(de=e.regularPrice)==null?void 0:de.currency,style:{font:"inherit"},"data-testid":"regular-item-price"}),total:(n==null?void 0:n.price)==="INCLUDING_EXCLUDING_TAX"||(n==null?void 0:n.price)==="INCLUDING_TAX"?r(ne,{children:e.discounted?re(ne,{children:[r(c,{amount:e.total.value,currency:e.total.currency,variant:e.discounted?"strikethrough":"default","data-testid":"including-tax-row-total","aria-label":i.regularPrice}),r(c,{amount:(pe=e.rowTotalIncludingTax)==null?void 0:pe.value,currency:(ge=e.rowTotalIncludingTax)==null?void 0:ge.currency,sale:e.discounted,"data-testid":"discount-total","aria-label":i.discountedPrice})]}):r(c,{amount:e.rowTotalIncludingTax.value,currency:e.rowTotalIncludingTax.currency,"data-testid":"including-tax-row-total","aria-label":i.regularPrice})}):re(ne,{children:[r(c,{amount:e.total.value,currency:e.total.currency,variant:e.discounted?"strikethrough":"default","data-testid":"regular-total","aria-label":i.regularPrice}),e.discounted&&r(c,{amount:(me=e.discountedTotal)==null?void 0:me.value,currency:(he=e.discountedTotal)==null?void 0:he.currency,sale:e.discounted,"data-testid":"discount-total","aria-label":i.discountedPrice})]}),totalExcludingTax:(n==null?void 0:n.price)==="INCLUDING_EXCLUDING_TAX"?r(c,{amount:e.rowTotal.value,currency:e.rowTotal.currency,"data-testid":"excluding-tax-total","aria-label":i.regularPrice}):void 0,onQuantity:_e=>{p(e.uid,_e)},onRemove:()=>{p(e.uid,0)}},e.uid)})}):void 0})};Re.getInitialData=async function(){return Ce()};export{Re as Cart,Re as default};
|
package/containers/MiniCart.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
import{useState as T,useEffect as S}from"@dropins/tools/preact-compat.js";import{s as M,
|
|
2
|
-
//# sourceMappingURL=MiniCart.js.map
|
|
1
|
+
import{useState as T,useEffect as S}from"@dropins/tools/preact-compat.js";import{s as M,k as q}from"../chunks/resetCart.js";import{events as F}from"@dropins/tools/event-bus.js";import{E as R}from"../chunks/MiniCart.js";import{classes as A,VComponent as p}from"@dropins/tools/lib.js";import{Divider as V,Price as i,Button as O,CartList as B,CartItem as H,Image as $}from"@dropins/tools/components.js";import{jsxs as l,jsx as e,Fragment as _}from"@dropins/tools/preact-jsx-runtime.js";import{useText as j}from"@dropins/tools/i18n.js";import{b as J,u as K}from"../chunks/updateProductsFromCart.js";import"@dropins/tools/fetch-graphql.js";const W=({className:N,children:s,emptyCart:u,heading:g,products:o,subtotal:d,subtotalExcludingTaxes:y,ctas:t,...m})=>{const I=j({subtotal:"Cart.MiniCart.subtotal",subtotalExcludingTaxes:"Cart.MiniCart.subtotalExcludingTaxes"});return l("div",{...m,className:A(["cart-mini-cart",N]),children:[o&&g&&l("div",{className:"cart-mini-cart__heading",children:[e(p,{node:g,className:"cart-mini-cart__heading-text"}),e(V,{variant:"primary",className:"cart-mini-cart__heading-divider"})]}),o?l(_,{children:[e("div",{className:"cart-mini-cart__products",children:o}),l("div",{className:"cart-mini-cart__footer",children:[d&&l("div",{className:"cart-mini-cart__footer__estimated-total",children:[I.subtotal,e(p,{node:d})]}),y&&l("div",{className:"cart-mini-cart__footer__estimated-total-excluding-taxes",children:[I.subtotalExcludingTaxes,e(p,{node:y,className:A(["dropin-price-summary__price","dropin-price-summary__price--muted"])})]}),t&&e(p,{node:t,className:"cart-mini-cart__footer__ctas"})]})]}):e(p,{node:u,className:"cart-mini-cart__empty-cart"})]})},Y=({children:N,initialData:s=null,routeProduct:u,routeCart:g,routeCheckout:o,routeEmptyCartCTA:d,...y})=>{var v,x;const[t,m]=T(s),[I,z]=T(new Set),a=(v=M.config)==null?void 0:v.shoppingCartDisplaySetting,b=(r,c)=>{z(h=>(r?h.add(c):h.delete(c),new Set(h)))};S(()=>{const r=F.on("cart/data",c=>{m(c)},{eager:!0});return()=>{r==null||r.off()}},[]);const n=j({cartLink:"Cart.MiniCart.cartLink",checkoutLink:"Cart.MiniCart.checkoutLink",discountedPrice:"Cart.CartItem.discountedPrice",heading:"Cart.MiniCart.heading",message:"Cart.CartItem.message",recipient:"Cart.CartItem.recipient",regularPrice:"Cart.CartItem.regularPrice",sender:"Cart.CartItem.sender",file:"Cart.CartItem.file",files:"Cart.CartItem.files"}),Q=(r,c)=>{b(!0,r),K([{uid:r,quantity:c}]).finally(()=>{b(!1,r)})};return S(()=>{s&&Object.keys(s).length>0&&J(s,M.locale||"en-US")},[s]),e(W,{...y,heading:e("div",{children:n.heading.replace("{count}",((t==null?void 0:t.totalQuantity)??0).toString())}),emptyCart:e(R,{ctaLinkURL:d==null?void 0:d()}),subtotal:(t==null?void 0:t.subtotal)&&((a==null?void 0:a.subtotal)==="INCLUDING_TAX"||(a==null?void 0:a.subtotal)==="INCLUDING_EXCLUDING_TAX"?e(i,{amount:t==null?void 0:t.subtotal.includingTax.value,currency:t==null?void 0:t.subtotal.includingTax.currency,"data-testid":"subtotal-including-tax",style:{font:"inherit"}}):e(i,{amount:t==null?void 0:t.subtotal.excludingTax.value,currency:t==null?void 0:t.subtotal.excludingTax.currency,"data-testid":"subtotal-excluding-tax",style:{font:"inherit"}})),subtotalExcludingTaxes:(t==null?void 0:t.subtotal)&&((a==null?void 0:a.subtotal)==="INCLUDING_EXCLUDING_TAX"?e(i,{amount:t==null?void 0:t.subtotal.excludingTax.value,currency:t==null?void 0:t.subtotal.excludingTax.currency,"data-testid":"subtotal-including-excluding-tax",style:{font:"inherit"}}):void 0),ctas:l("div",{children:[o&&e(O,{variant:"primary",href:o(),children:n.checkoutLink}),g&&e(O,{variant:"tertiary",href:g(),children:n.cartLink})]}),products:(t==null?void 0:t.totalQuantity)??0?e(B,{children:(x=t==null?void 0:t.miniCartMaxItems)==null?void 0:x.map((r,c)=>{var f,k,C,U,P,w,D,E,G,X;const h=I.has(r.uid),L={...r.bundleOptions??{},...r.selectedOptions??{},...r.customizableOptions,...r.recipient?{[n.recipient]:r.recipient}:{},...r.recipientEmail&&r.recipient?{[n.recipient]:`${r.recipient} (${r.recipientEmail})`}:{},...r.sender?{[n.sender]:r.sender}:{},...r.senderEmail&&r.sender?{[n.sender]:`${r.sender} (${r.senderEmail})`}:{},...r.message?{[n.message]:r.message}:{},...r.links&&r.links.count?r.links.count>1?{[n.files.replace("{count}",r.links.count.toString())]:r.links.result}:{[n.file.replace("{count}",r.links.count.toString())]:r.links.result}:{}};return e(H,{"data-testid":"cart-item",updating:h,taxIncluded:(a==null?void 0:a.price)==="INCLUDING_TAX",taxExcluded:(a==null?void 0:a.price)==="INCLUDING_EXCLUDING_TAX",image:u?e("a",{href:u(r),children:e($,{loading:c<4?"eager":"lazy",src:r.image.src,alt:r.image.alt,width:"300",height:"300",params:{width:300}})}):e($,{loading:c<4?"eager":"lazy",src:r.image.src,alt:r.image.alt,width:"300",height:"300",params:{width:300}}),title:e("span",{children:u?e("a",{href:u(r),children:r.name}):r.name}),sku:e("span",{children:r.sku}),configurations:Object.keys(L).length>0?L:void 0,quantity:r.quantity,price:(a==null?void 0:a.price)==="INCLUDING_TAX"?e(i,{amount:r.discounted?(f=r.regularPrice)==null?void 0:f.value:(k=r.taxedPrice)==null?void 0:k.value,currency:r.discounted?(C=r.regularPrice)==null?void 0:C.currency:(U=r.taxedPrice)==null?void 0:U.currency,style:{font:"inherit"},"data-testid":"including-tax-item-price"}):e(i,{amount:(P=r.regularPrice)==null?void 0:P.value,currency:(w=r.regularPrice)==null?void 0:w.currency,style:{font:"inherit"},"data-testid":"regular-item-price"}),total:(a==null?void 0:a.price)==="INCLUDING_EXCLUDING_TAX"||(a==null?void 0:a.price)==="INCLUDING_TAX"?e(_,{children:r.discounted?l(_,{children:[e(i,{amount:r.total.value,currency:r.total.currency,variant:"strikethrough","data-testid":"including-tax-row-total","aria-label":n.regularPrice}),e(i,{amount:(D=r.rowTotalIncludingTax)==null?void 0:D.value,currency:(E=r.rowTotalIncludingTax)==null?void 0:E.currency,sale:r.discounted,"data-testid":"discount-total","aria-label":n.discountedPrice})]}):e(i,{amount:r.rowTotalIncludingTax.value,currency:r.rowTotalIncludingTax.currency,"data-testid":"including-tax-row-total","aria-label":n.regularPrice})}):l(_,{children:[e(i,{amount:r.total.value,currency:r.total.currency,variant:r.discounted?"strikethrough":"default","data-testid":"regular-total","aria-label":n.regularPrice}),r.discounted&&e(i,{amount:(G=r.discountedTotal)==null?void 0:G.value,currency:(X=r.discountedTotal)==null?void 0:X.currency,sale:r.discounted,"data-testid":"discount-total","aria-label":n.discountedPrice})]}),totalExcludingTax:(a==null?void 0:a.price)==="INCLUDING_EXCLUDING_TAX"?e(i,{amount:r.rowTotal.value,currency:r.rowTotal.currency,"data-testid":"excluding-tax-total","aria-label":n.regularPrice}):void 0,onRemove:()=>{Q(r.uid,0)}},r.uid)})}):void 0})};Y.getInitialData=async function(){return q()};export{Y as MiniCart,Y as default};
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
declare const mockEstimatedTotalsData: {
|
|
2
2
|
estimatedAppliedTaxes: {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
taxes: {
|
|
4
|
+
amount: {
|
|
5
|
+
currency: string;
|
|
6
|
+
value: number;
|
|
7
|
+
};
|
|
8
|
+
label: string;
|
|
9
|
+
}[];
|
|
10
|
+
};
|
|
9
11
|
estimatedGrandTotalPrice: {
|
|
10
12
|
currency: string;
|
|
11
13
|
value: number;
|
|
@@ -15,11 +15,14 @@ export declare const useEstimatedShipping: () => {
|
|
|
15
15
|
}[];
|
|
16
16
|
estimatedShippingPrice: any;
|
|
17
17
|
estimatedShippingMethod: any;
|
|
18
|
+
shippingEstimated: boolean;
|
|
18
19
|
handleEstimateShipping: (formValues: {
|
|
19
20
|
shippingCountry: string;
|
|
20
21
|
shippingState?: string;
|
|
21
22
|
shippingZip?: string;
|
|
22
23
|
}) => Promise<any>;
|
|
23
24
|
handleCountrySelected: (event: Event) => void;
|
|
25
|
+
resetValues: () => void;
|
|
26
|
+
setPriceSummaryLoading: import('preact/hooks').Dispatch<import('preact/hooks').StateUpdater<boolean>>;
|
|
24
27
|
};
|
|
25
28
|
//# sourceMappingURL=useEstimatedShipping.d.ts.map
|
package/i18n/en_US.json.d.ts
CHANGED
package/lib/persisted-data.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { CartModel } from '../data/models';
|
|
2
2
|
|
|
3
|
-
export declare function
|
|
4
|
-
export declare function
|
|
3
|
+
export declare function setPersistedCartData(data: CartModel | null): void;
|
|
4
|
+
export declare function getPersistedCartData(): CartModel | null;
|
|
5
|
+
export declare function setEstimatedShippingLocation(data: {
|
|
6
|
+
[key: string]: string;
|
|
7
|
+
} | null): void;
|
|
8
|
+
export declare function getEstimatedShippingLocation(): {
|
|
9
|
+
[key: string]: string;
|
|
10
|
+
} | null;
|
|
5
11
|
//# sourceMappingURL=persisted-data.d.ts.map
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name": "@dropins/storefront-cart", "version": "0.
|
|
1
|
+
{"name": "@dropins/storefront-cart", "version": "0.3.0-beta1", "@dropins/tools": "~0.25.0"}
|
package/render.js
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
(function(i,r){try{if(typeof document<"u"){const a=document.createElement("style"),n=r.styleId;for(const t in r.attributes)a.setAttribute(t,r.attributes[t]);a.setAttribute("data-dropin",n),a.appendChild(document.createTextNode(i));const e=document.querySelector('style[data-dropin="sdk"]');if(e)e.after(a);else{const t=document.querySelector('link[rel="stylesheet"], style');t?t.before(a):document.head.append(a)}}}catch(a){console.error("dropin-styles (injectCodeFunction)",a)}})(".cart-empty-cart{container-type:inline-size;container-name:cart}.cart-empty-cart__wrapper .dropin-card--secondary{display:grid;grid-auto-rows:min-content;justify-content:center;text-align:center}@container cart (width < 737px){.cart-empty-cart__wrapper .dropin-card{border:unset;border-style:hidden}}.cart-cart{container-type:inline-size;container-name:cart}.cart-cart__wrapper{display:grid;grid-template-rows:auto 1fr;grid-gap:var(--spacing-medium)}.cart-cart__heading{display:grid;row-gap:var(--spacing-xsmall);padding:var(--spacing-medium);padding-bottom:0;font:var(--type-headline-1-font);letter-spacing:var(--type-headline-1-letter-spacing);color:var(--color-neutral-800)}.cart-cart__heading-divider{width:100%;margin:var(--spacing-xxsmall) 0 0 0}.cart-cart__content{display:grid;grid-template-columns:1fr;padding:0 var(--spacing-medium)}.cart-cart__empty-cart{justify-self:center;align-self:center;width:100%;max-width:800px}.cart-cart__price-summary{padding:var(--spacing-small) var(--spacing-medium);background-color:var(--color-neutral-200)}.dropin-price-summary__shipping--zip,.dropin-price-summary__shipping--state{background-color:var(--color-neutral-50)}@container cart (width >= 1024px){.cart-cart__wrapper{grid-template-columns:repeat(var(--grid-3-columns),1fr);grid-column-gap:var(--grid-3-gutters);margin:0 var(--grid-3-margins)}.cart-cart__heading{padding:var(--spacing-medium) 0 0 0}.cart-cart__content{padding:0}.cart-cart__heading,.cart-cart__content{grid-column:1 / span 8}.cart-cart__price-summary{grid-row:1 / span 3;grid-column:9 / span 4;padding:var(--spacing-medium);height:min-content}.cart-cart__heading--full-width,.cart-cart__content--empty,.cart-cart__content--full-width{grid-column:1 / span 12}}.cart-mini-cart{display:flex;flex-direction:column;height:100%;padding:var(--spacing-small) var(--spacing-small) var(--spacing-medium);box-sizing:border-box}.cart-mini-cart__empty-cart{width:100%;max-width:800px;height:100%;display:flex;flex-direction:column;justify-content:center;align-self:center}.cart-mini-cart__heading{display:grid;row-gap:var(--spacing-xsmall);font:var(--type-headline-2-default-font);letter-spacing:var(--type-headline-2-default-letter-spacing)}.cart-mini-cart__heading-divider{width:100%;margin:var(--spacing-xxsmall) 0 0 0}.cart-mini-cart__products{flex:1;overflow-y:auto;max-height:100%;padding-top:var(--spacing-medium);padding-bottom:var(--spacing-medium)}.cart-mini-cart__products .dropin-cart-item__configurations li{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cart-mini-cart__footer{display:grid;grid-auto-flow:row;gap:var(--spacing-small);padding-top:var(--spacing-small);row-gap:var(--spacing-xsmall)}.cart-mini-cart__footer__estimated-total{font:var(--type-body-1-emphasized-font);letter-spacing:var(--type-body-1-emphasized-letter-spacing);display:grid;grid-template:max-content / 1fr auto;gap:var(--spacing-xsmall)}.cart-mini-cart__footer__estimated-total-excluding-taxes{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing);display:grid;grid-template:max-content / 1fr auto;gap:var(--spacing-xsmall);color:var(--color-neutral-700)}.cart-mini-cart__footer__ctas{display:grid;grid-auto-flow:row;gap:var(--spacing-xsmall);padding-top:var(--spacing-small)}",{styleId:"Cart"});
|
|
2
|
-
import{deepmerge as
|
|
3
|
-
//# sourceMappingURL=render.js.map
|
|
2
|
+
import{deepmerge as p,Render as l}from"@dropins/tools/lib.js";import{useState as u,useEffect as m}from"@dropins/tools/preact-hooks.js";import{UIProvider as d}from"@dropins/tools/components.js";import{events as f}from"@dropins/tools/event-bus.js";import"./chunks/resetCart.js";import{jsx as i}from"@dropins/tools/preact-jsx-runtime.js";import{c as g}from"./chunks/getStoreConfig.js";import"@dropins/tools/fetch-graphql.js";const h={Cart:{heading:"Shopping Cart"},MiniCart:{heading:"Shopping Cart ({count})",subtotal:"Subtotal",subtotalExcludingTaxes:"Subtotal excluding taxes",cartLink:"View Cart",checkoutLink:"Checkout"},EmptyCart:{heading:"Your cart is empty",cta:"Start shopping"},PriceSummary:{taxToBeDetermined:"TBD",checkout:"Checkout",orderSummary:"Order Summary",estimatedShippingForm:{country:{placeholder:"Country"},state:{placeholder:"State"},zip:{placeholder:"Zip Code"},apply:{label:"Apply"}},freeShipping:"Free"},CartItem:{discountedPrice:"Discounted Price",download:"file",message:"Note",recipient:"To",regularPrice:"Regular Price",sender:"From",file:"{count} file",files:"{count} files"}},C={Cart:h},S={default:C},y=({children:n})=>{var r;const[e,a]=u(),c=(r=g.getConfig())==null?void 0:r.langDefinitions;m(()=>{const t=f.on("locale",o=>{o!==e&&a(o)},{eager:!0});return()=>{t==null||t.off()}},[e]);const s=p(S,c??{});return i(d,{lang:e,langDefinitions:s,children:n})},F=new l(i(y,{}));export{F as render};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"addProductsToCart.d.ts","sourceRoot":"","sources":["../../../src/api/addProductsToCart/addProductsToCart.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAQ/C,eAAO,MAAM,iBAAiB,UACrB;IACL,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACnD,EAAE,KACF,QAAQ,SAAS,GAAG,IAAI,CAoD1B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AddProductsToCartMutation.d.ts","sourceRoot":"","sources":["../../../../src/api/addProductsToCart/graphql/AddProductsToCartMutation.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,6BAA6B,QAoBzC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/addProductsToCart/index.ts"],"names":[],"mappings":"AAAA,cAAc,gDAAgD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createEmptyCart.d.ts","sourceRoot":"","sources":["../../../src/api/createEmptyCart/createEmptyCart.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe,oBAiB3B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CreateCartMutation.d.ts","sourceRoot":"","sources":["../../../../src/api/createEmptyCart/graphql/CreateCartMutation.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,kFAItC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/createEmptyCart/index.ts"],"names":[],"mappings":"AAAA,cAAc,4CAA4C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-graphql.d.ts","sourceRoot":"","sources":["../../../src/api/fetch-graphql/fetch-graphql.ts"],"names":[],"mappings":"AAEA,eAAO,MACL,WAAW,8BACX,qBAAqB,+CACrB,wBAAwB,yBACxB,sBAAsB,2DACtB,YAAY;;;IACZ,SAAS;;;CACwB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/fetch-graphql/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getCartData.d.ts","sourceRoot":"","sources":["../../../src/api/getCartData/getCartData.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAK/C,eAAO,MAAM,WAAW,QAAa,QAAQ,SAAS,GAAG,IAAI,CA2B5D,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CartQuery.d.ts","sourceRoot":"","sources":["../../../../src/api/getCartData/graphql/CartQuery.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB,QAY5B,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAW/B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/getCartData/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getEstimateShipping.d.ts","sourceRoot":"","sources":["../../../src/api/getEstimateShipping/getEstimateShipping.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,WAAW,EAEZ,MAAM,sCAAsC,CAAC;AAE9C,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAED,eAAO,MAAM,mBAAmB,YACrB,oBAAoB,KAC5B,QAAQ,GAAG,GAAG,IAAI,CA+BpB,CAAC;AAEF,eAAO,MAAM,YAAY,QAAa,QAAQ,CAAC,WAAW,CAAC,CAkB1D,CAAC;AAEF,eAAO,MAAM,UAAU,cACV,MAAM,KAChB,QAAQ,MAAM;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,MAAM,CAAA;CAAE,CAAC,CAU/C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"countriesAndRegionsQueries.d.ts","sourceRoot":"","sources":["../../../../src/api/getEstimateShipping/graphql/countriesAndRegionsQueries.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,uJAU3B,CAAC;AAEF,eAAO,MAAM,aAAa,iIASzB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB,CAAC,EAAE,KAAK,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"estimateShippingMethodsMutation.d.ts","sourceRoot":"","sources":["../../../../src/api/getEstimateShipping/graphql/estimateShippingMethodsMutation.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kCAAkC,ofA4B9C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/getEstimateShipping/index.ts"],"names":[],"mappings":"AAAA,cAAc,oDAAoD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getEstimatedTotals.d.ts","sourceRoot":"","sources":["../../../src/api/getEstimatedTotals/getEstimatedTotals.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAK/C,MAAM,WAAW,4BAA4B;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;IACF,eAAe,CAAC,EAAE;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,eAAO,MAAM,kBAAkB,YACpB,4BAA4B,KACpC,QAAQ,SAAS,GAAG,IAAI,CAwC1B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GetEstimatedTotalsMutation.d.ts","sourceRoot":"","sources":["../../../../src/api/getEstimatedTotals/graphql/GetEstimatedTotalsMutation.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,6BAA6B,QAqBvC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/getEstimatedTotals/index.ts"],"names":[],"mappings":"AAAA,cAAc,kDAAkD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getStoreConfig.d.ts","sourceRoot":"","sources":["../../../src/api/getStoreConfig/getStoreConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAMtD,eAAO,MAAM,cAAc,QAAa,QAAQ,gBAAgB,GAAG,IAAI,CAStE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StoreConfigQuery.d.ts","sourceRoot":"","sources":["../../../../src/api/getStoreConfig/graphql/StoreConfigQuery.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,snBAqB9B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/getStoreConfig/index.ts"],"names":[],"mappings":"AAAA,cAAc,0CAA0C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CartFragment.d.ts","sourceRoot":"","sources":["../../../src/api/graphql/CartFragment.ts"],"names":[],"mappings":"AAmDA,eAAO,MAAM,aAAa,QAsKzB,CAAC;AAGF,eAAO,MAAM,+BAA+B,wIAI3C,CAAC"}
|
package/api/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/initialize/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"initialize.d.ts","sourceRoot":"","sources":["../../../src/api/initialize/initialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAI/C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAGzC,KAAK,WAAW,GAAG;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,IAAI,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,UAAU,0BAkCrB,CAAC;AAEH,eAAO,MAAM,MAAM,gDAAoB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MergeCartsMutation.d.ts","sourceRoot":"","sources":["../../../../src/api/initializeCart/graphql/MergeCartsMutation.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,QAehC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/initializeCart/index.ts"],"names":[],"mappings":"AAAA,cAAc,0CAA0C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"initializeCart.d.ts","sourceRoot":"","sources":["../../../src/api/initializeCart/initializeCart.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,eAAO,MAAM,cAAc,QAAa,QAAQ,SAAS,GAAG,IAAI,CAY/D,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/resetCart/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resetCart.d.ts","sourceRoot":"","sources":["../../../src/api/resetCart/resetCart.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,eAAO,MAAM,SAAS,QAAO,QAAQ,SAAS,GAAG,IAAI,CAKpD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateProductsMutation.d.ts","sourceRoot":"","sources":["../../../../src/api/updateProductsFromCart/graphql/UpdateProductsMutation.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kCAAkC,QAmB9C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/updateProductsFromCart/index.ts"],"names":[],"mappings":"AAAA,cAAc,0DAA0D,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"updateProductsFromCart.d.ts","sourceRoot":"","sources":["../../../src/api/updateProductsFromCart/updateProductsFromCart.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAO/C,KAAK,sBAAsB,GAAG,KAAK,CAAC;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AAEH,eAAO,MAAM,sBAAsB,qCAEhC,QAAQ,SAAS,GAAG,IAAI,CA8B1B,CAAC"}
|
package/api.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sources":["../src/api/addProductsToCart/graphql/AddProductsToCartMutation.ts","../src/api/addProductsToCart/addProductsToCart.ts","../src/api/createEmptyCart/graphql/CreateCartMutation.ts","../src/api/createEmptyCart/createEmptyCart.ts"],"sourcesContent":["import { CART_FRAGMENT, CART_ITEMS_PAGINATION_ARGUMENTS } from '@/cart/api/graphql/CartFragment';\n\nexport const ADD_PRODUCTS_TO_CART_MUTATION = `\n mutation ADD_PRODUCTS_TO_CART_MUTATION(\n $cartId: String!, \n $cartItems: [CartItemInput!]!,\n ${CART_ITEMS_PAGINATION_ARGUMENTS}\n ) {\n addProductsToCart(\n cartId: $cartId\n cartItems: $cartItems\n ) {\n cart {\n ...CartFragment\n }\n user_errors {\n code\n message\n }\n }\n }\n ${CART_FRAGMENT}\n`;\n","import { fetchGraphQl, createEmptyCart } from '@/cart/api';\nimport { state } from '@/cart/lib/state';\nimport { CartModel } from '@/cart/data/models';\nimport { transformCart } from '@/cart/data/transforms';\nimport { events } from '@adobe/event-bus';\nimport { handleFetchError } from '@/cart/lib/fetch-error';\n\nimport { ADD_PRODUCTS_TO_CART_MUTATION } from './graphql/AddProductsToCartMutation';\nimport { publishCartUpdateEvents, publishOpenCartEvent } from '@/cart/lib/acdl';\n\nexport const addProductsToCart = async (\n items: {\n sku: string;\n parentSku?: string;\n quantity: number;\n optionsUIDs?: string[];\n enteredOptions?: { uid: string; value: string }[];\n }[]\n): Promise<CartModel | null> => {\n let isNewCart = false;\n\n const cartId =\n state.cartId ||\n (await createEmptyCart().then((id) => {\n isNewCart = true;\n return id;\n }));\n\n return fetchGraphQl(ADD_PRODUCTS_TO_CART_MUTATION, {\n variables: {\n cartId,\n cartItems: items.map(\n ({\n sku,\n parentSku: parent_sku,\n quantity,\n optionsUIDs: selected_options,\n enteredOptions: entered_options,\n }) => ({\n sku,\n parent_sku,\n quantity,\n selected_options,\n entered_options,\n })\n ),\n },\n }).then(({ errors, data }) => {\n if (errors) return handleFetchError(errors);\n\n const payload = transformCart(data.addProductsToCart.cart);\n\n events.emit('cart/updated', payload);\n events.emit('cart/data', payload);\n\n if (payload) {\n const updatedItems = payload.items.filter((item) =>\n items.some(({ sku }) => sku === item.sku)\n );\n if (isNewCart) {\n // Publish open cart event when the first item is added to the cart\n publishOpenCartEvent(payload, updatedItems, state.locale || 'en-US');\n } else {\n // Otherwise publish cart update events\n publishCartUpdateEvents(payload, updatedItems, state.locale || 'en-US');\n }\n }\n\n return payload;\n });\n};\n","export const CREATE_EMPTY_CART_MUTATION = `\n mutation CREATE_EMPTY_CART_MUTATION {\n createEmptyCart\n }\n`;\n","import { config, fetchGraphQl } from '@/cart/api';\nimport { state } from '@/cart/lib/state';\n\nimport { CREATE_EMPTY_CART_MUTATION } from './graphql/CreateCartMutation';\n\nexport const createEmptyCart = async () => {\n const { disableGuestCart } = config.getConfig();\n\n // If guest cart is disabled, throw an error\n if (disableGuestCart) {\n throw new Error('Guest cart is disabled');\n }\n\n // Return new empty cart id\n return await fetchGraphQl(CREATE_EMPTY_CART_MUTATION).then(({ data }) => {\n const cartId = data.createEmptyCart;\n\n // Set cart id in state\n state.cartId = cartId;\n\n return cartId;\n });\n};\n"],"names":["ADD_PRODUCTS_TO_CART_MUTATION","CART_ITEMS_PAGINATION_ARGUMENTS","CART_FRAGMENT","addProductsToCart","items","isNewCart","cartId","state","createEmptyCart","then","id","fetchGraphQl","variables","cartItems","map","sku","parentSku","parent_sku","quantity","optionsUIDs","selected_options","enteredOptions","entered_options","errors","data","handleFetchError","payload","transformCart","cart","emit","updatedItems","filter","some","item","publishOpenCartEvent","locale","publishCartUpdateEvents","CREATE_EMPTY_CART_MUTATION","disableGuestCart","config","getConfig","Error"],"mappings":"0fAEO,MAAMA,EAAiC;AAAA;AAAA;AAAA;AAAA,QAItCC,CAAgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAepCC,CAAc;AAAA,ECXLC,EAAoB,MAC/BC,GAO8B,CAC9B,IAAIC,EAAY,GAEhB,MAAMC,EACJC,EAAMD,QACL,MAAME,IAAkBC,KAAaC,IACxBL,EAAA,GACLK,EACR,EAEH,OAAOC,EAAaX,EAA+B,CACjDY,UAAW,CACTN,OAAAA,EACAO,UAAWT,EAAMU,IACf,CAAC,CACCC,IAAAA,EACAC,UAAWC,EACXC,SAAAA,EACAC,YAAaC,EACbC,eAAgBC,CAAAA,KACX,CACLP,IAAAA,EACAE,WAAAA,EACAC,SAAAA,EACAE,iBAAAA,EACAE,gBAAAA,CAAAA,EAEJ,CACF,CAAA,CACD,EAAEb,KAAK,CAAC,CAAEc,OAAAA,EAAQC,KAAAA,CAAAA,IAAW,CACxBD,GAAAA,EAAQ,OAAOE,EAAiBF,CAAM,EAE1C,MAAMG,EAAUC,EAAcH,EAAKrB,kBAAkByB,IAAI,EAKzD,GAHOC,EAAAA,KAAK,eAAgBH,CAAO,EAC5BG,EAAAA,KAAK,YAAaH,CAAO,EAE5BA,EAAS,CACX,MAAMI,EAAeJ,EAAQtB,MAAM2B,OACjC3B,GAAAA,EAAM4B,KAAK,CAAC,CAAEjB,IAAAA,CAAUA,IAAAA,IAAQkB,EAAKlB,GAAG,CAC1C,EACIV,EAEF6B,EAAqBR,EAASI,EAAcvB,EAAM4B,QAAU,OAAO,EAGnEC,EAAwBV,EAASI,EAAcvB,EAAM4B,QAAU,OAAO,CAE1E,CAEOT,OAAAA,CAAAA,CACR,CACH,ECtEaW,EAA8B;AAAA;AAAA;AAAA;AAAA,ECK9B7B,EAAkB,SAAY,CACnC,KAAA,CAAE8B,iBAAAA,CAAAA,EAAqBC,EAAOC,YAGpC,GAAIF,EACI,MAAA,IAAIG,MAAM,wBAAwB,EAI1C,OAAO,MAAM9B,EAAa0B,CAA0B,EAAE5B,KAAK,CAAC,CAAEe,KAAAA,CAAAA,IAAW,CACvE,MAAMlB,EAASkB,EAAKhB,gBAGpBD,OAAAA,EAAMD,OAASA,EAERA,CAAAA,CACR,CACH"}
|
package/chunks/MiniCart.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MiniCart.js","sources":["../../node_modules/@adobe/elsie/src/icons/Cart.svg","../../src/components/EmptyCart/EmptyCart.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgCart = (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_102_196)\" }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M18.3601 18.16H6.5601L4.8801 3H2.3501M19.6701 19.59C19.6701 20.3687 19.0388 21 18.2601 21C17.4814 21 16.8501 20.3687 16.8501 19.59C16.8501 18.8113 17.4814 18.18 18.2601 18.18C19.0388 18.18 19.6701 18.8113 19.6701 19.59ZM7.42986 19.59C7.42986 20.3687 6.79858 21 6.01986 21C5.24114 21 4.60986 20.3687 4.60986 19.59C4.60986 18.8113 5.24114 18.18 6.01986 18.18C6.79858 18.18 7.42986 18.8113 7.42986 19.59Z\", stroke: \"currentColor\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M5.25 6.37L20.89 8.06L20.14 14.8H6.19\", stroke: \"currentColor\", strokeLinejoin: \"round\" })), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"clipPath\", { id: \"clip0_102_196\" }, /* @__PURE__ */ React.createElement(\"rect\", { vectorEffect: \"non-scaling-stroke\", width: 19.29, height: 19.5, fill: \"white\", transform: \"translate(2.3501 2.25)\" }))));\nexport default SvgCart;\n","import { FunctionComponent } from 'preact';\nimport { HTMLAttributes } from 'preact/compat';\nimport { classes } from '@adobe/elsie/lib';\nimport { useText } from '@adobe/elsie/i18n';\nimport { Button, Icon, IllustratedMessage } from '@adobe/elsie/components';\nimport { Cart } from '@adobe/elsie/icons';\n\nimport '@/cart/components/EmptyCart/EmptyCart.css';\n\nexport interface EmptyCartProps extends HTMLAttributes<HTMLDivElement> {\n ctaLinkURL?: string;\n}\n\nexport const EmptyCart: FunctionComponent<EmptyCartProps> = ({\n className,\n children,\n ctaLinkURL,\n ...props\n}) => {\n const labels = useText({\n emptyCart: 'Cart.EmptyCart.heading',\n cta: 'Cart.EmptyCart.cta',\n });\n\n return (\n <div {...props} className={classes(['cart-empty-cart', className])}>\n <IllustratedMessage\n className={classes(['cart-empty-cart__wrapper', className])}\n data-testid=\"cart-empty-cart\"\n heading={labels.emptyCart}\n icon={<Icon className=\"cart-empty-cart__icon\" source={Cart} />}\n action={\n ctaLinkURL ? (\n <Button\n data-testid=\"cart-empty-cart-button\"\n size=\"medium\"\n variant=\"primary\"\n key=\"routeHome\"\n type=\"submit\"\n href={ctaLinkURL}\n >\n {labels.cta}\n </Button>\n ) : undefined\n }\n />\n </div>\n );\n};\n"],"names":["SvgCart","props","React","EmptyCart","className","children","ctaLinkURL","labels","useText","emptyCart","cta","_jsx","classes","IllustratedMessage","heading","icon","Icon","source","Cart","action","Button","size","variant","type","href","undefined"],"mappings":"sSACA,MAAMA,EAAWC,GAA0BC,EAAM,cAAc,MAAO,CAAE,MAAO,GAAI,OAAQ,GAAI,QAAS,YAAa,KAAM,OAAQ,MAAO,6BAA8B,GAAGD,CAAO,EAAkBC,EAAM,cAAc,IAAK,CAAE,SAAU,qBAAqB,EAAoBA,EAAM,cAAc,OAAQ,CAAE,aAAc,qBAAsB,EAAG,oZAAqZ,OAAQ,eAAgB,eAAgB,OAAO,CAAE,EAAmBA,EAAM,cAAc,OAAQ,CAAE,aAAc,qBAAsB,EAAG,wCAAyC,OAAQ,eAAgB,eAAgB,OAAS,CAAA,CAAC,EAAmBA,EAAM,cAAc,OAAQ,KAAsBA,EAAM,cAAc,WAAY,CAAE,GAAI,eAAe,EAAoBA,EAAM,cAAc,OAAQ,CAAE,aAAc,qBAAsB,MAAO,MAAO,OAAQ,KAAM,KAAM,QAAS,UAAW,wBAAwB,CAAE,CAAC,CAAC,CAAC,ECYtuCC,EAA+CA,CAAC,CAC3DC,UAAAA,EACAC,SAAAA,EACAC,WAAAA,EACA,GAAGL,CACL,IAAM,CACJ,MAAMM,EAASC,EAAQ,CACrBC,UAAW,yBACXC,IAAK,oBAAA,CACN,EAED,OACEC,EAAA,MAAA,CAAA,GAASV,EAAOG,UAAWQ,EAAQ,CAAC,kBAAmBR,CAAS,CAAC,EAAEC,SACjEM,EAACE,EAAkB,CACjBT,UAAWQ,EAAQ,CAAC,2BAA4BR,CAAS,CAAC,EAC1D,cAAY,kBACZU,QAASP,EAAOE,UAChBM,KAAMJ,EAACK,EAAI,CAACZ,UAAU,wBAAwBa,OAAQC,CAAAA,CAAO,EAC7DC,OACEb,EACEK,EAACS,EAAM,CACL,cAAY,yBACZC,KAAK,SACLC,QAAQ,UAERC,KAAK,SACLC,KAAMlB,EAAWD,SAEhBE,EAAOG,GAAAA,EAJJ,WAKE,EACNe,MAAAA,CAEP,CAAA,CACE,CAET","x_google_ignoreList":[0]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getEstimatedTotals.js","sources":["../../src/api/getEstimateShipping/graphql/estimateShippingMethodsMutation.ts","../../src/api/getEstimateShipping/graphql/countriesAndRegionsQueries.ts","../../src/api/getEstimateShipping/getEstimateShipping.ts","../../src/api/getEstimatedTotals/graphql/GetEstimatedTotalsMutation.ts","../../src/api/getEstimatedTotals/getEstimatedTotals.ts"],"sourcesContent":["export 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","export 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","import { state } from '@/cart/lib/state';\nimport { fetchGraphQl } from '@/cart/api';\nimport { handleFetchError } from '@/cart/lib/fetch-error';\n\nimport { ESTIMATE_SHIPPING_METHODS_MUTATION } from './graphql/estimateShippingMethodsMutation';\nimport {\n COUNTRIES_QUERY,\n CountryData,\n REGIONS_QUERY,\n} from './graphql/countriesAndRegionsQueries';\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 return fetchGraphQl(ESTIMATE_SHIPPING_METHODS_MUTATION, {\n variables: {\n cartId,\n address: {\n country_code: countryCode || 'US',\n postcode: postcode || '',\n region: {\n region: region?.region || '',\n region_code: region?.code || '',\n region_id: region?.id || 0,\n },\n },\n },\n }).then(({ errors, data }) => {\n if (errors) return handleFetchError(errors);\n\n const estimateShippingMethods: Array<any> = data.estimateShippingMethods;\n\n if (estimateShippingMethods.length === 0) {\n return null;\n }\n return estimateShippingMethods.find((method) => !method.error_message);\n });\n};\n\nexport const getCountries = async (): Promise<[CountryData]> => {\n return fetchGraphQl(COUNTRIES_QUERY, {}).then(({ 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\nexport const getRegions = async (\n countryId: string\n): Promise<Array<{ code: string; name: string }>> => {\n return fetchGraphQl(REGIONS_QUERY, {\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","import {\n CART_FRAGMENT,\n CART_ITEMS_PAGINATION_ARGUMENTS,\n} 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 ) {\n estimateTotals(\n input: {\n cart_id: $cartId\n address: $address\n shipping_method: $shipping_method\n }\n ) {\n cart {\n ...CartFragment\n }\n }\n }\n ${CART_FRAGMENT}\n `;\n","import { 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 code?: 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: postcode || '00000',\n region: {\n region: region?.region || 'region',\n region_code: region?.code || 'regionCode',\n region_id: region?.id || 0,\n },\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":["ESTIMATE_SHIPPING_METHODS_MUTATION","COUNTRIES_QUERY","REGIONS_QUERY","getEstimateShipping","address","cartId","state","Error","countryCode","postcode","region","fetchGraphQl","variables","country_code","region_code","code","region_id","id","then","errors","data","handleFetchError","estimateShippingMethods","length","find","method","error_message","getCountries","sortedCountries","countries","sort","a","b","label","localeCompare","defaultCountry","storeConfig","forEach","country","isDefaultCountry","getRegions","countryId","available_regions","GET_ESTIMATED_TOTALS_MUTATION","CART_ITEMS_PAGINATION_ARGUMENTS","CART_FRAGMENT","getEstimatedTotals","carrier_code","shipping_method","method_code","estimatedData","estimateTotals","transformCart","cart"],"mappings":"+GAAO,MAAMA,EAAsC;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,ECAtCC,EAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYnBC,EAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECSjBC,EAAsB,MACjCC,GACwB,CACxB,MAAMC,EAASC,EAAMD,OAErB,GAAI,CAACA,EAAc,MAAA,IAAIE,MAAM,kBAAkB,EAC/C,GAAI,CAACH,EAAe,MAAA,IAAIG,MAAM,4BAA4B,EAEpD,KAAA,CAAEC,YAAAA,EAAaC,SAAAA,EAAUC,OAAAA,CAAWN,EAAAA,EAE1C,OAAOO,EAAaX,EAAoC,CACtDY,UAAW,CACTP,OAAAA,EACAD,QAAS,CACPS,aAAcL,GAAe,KAC7BC,SAAUA,GAAY,GACtBC,OAAQ,CACNA,QAAQA,GAAAA,YAAAA,EAAQA,SAAU,GAC1BI,aAAaJ,GAAAA,YAAAA,EAAQK,OAAQ,GAC7BC,WAAWN,GAAAA,YAAAA,EAAQO,KAAM,CAC3B,CACF,CACF,CAAA,CACD,EAAEC,KAAK,CAAC,CAAEC,OAAAA,EAAQC,KAAAA,CAAAA,IAAW,CACxBD,GAAAA,EAAQ,OAAOE,EAAiBF,CAAM,EAE1C,MAAMG,EAAsCF,EAAKE,wBAE7CA,OAAAA,EAAwBC,SAAW,EAC9B,KAEFD,EAAwBE,KAAiBC,GAAA,CAACA,EAAOC,aAAa,CAAA,CACtE,CACH,EAEaC,EAAe,SACnBhB,EAAaV,EAAiB,EAAE,EAAEiB,KAAK,CAAC,CAAEC,OAAAA,EAAQC,KAAAA,CAAAA,IAAW,SAC9DD,GAAAA,EAAQ,OAAOE,EAAiBF,CAAM,EAE1C,MAAMS,IACJR,EAAAA,GAAAA,YAAAA,EAAMS,YAANT,YAAAA,EAAiBU,KAAK,CAACC,EAAQC,IAC7BD,EAAEE,MAAMC,cAAcF,EAAEC,KAAK,KAC1B,CAAA,EAEDE,IAAiBf,EAAAA,GAAAA,YAAAA,EAAMgB,cAANhB,YAAAA,EAAmBe,iBAAkB,KAG5CE,OAAAA,EAAAA,QAASC,GAAiB,CAChCC,EAAAA,iBAAmBD,EAAQrB,KAAOkB,CAAAA,CAC3C,EAEMP,CAAAA,CACR,EAGUY,EAAa,MACxBC,GAEO9B,EAAaT,EAAe,CACjCU,UAAW,CACTK,GAAIwB,CACN,CAAA,CACD,EAAEvB,KAAK,CAAC,CAAEC,OAAAA,EAAQC,KAAAA,CAAAA,IAAW,OACxBD,OAAAA,EAAeE,EAAiBF,CAAM,IAEnCC,EAAAA,GAAAA,YAAAA,EAAMkB,UAANlB,YAAAA,EAAesB,oBAAqB,EAAE,CAC9C,EClFUC,EAAiC;AAAA;AAAA;AAAA;AAAA;AAAA,MAKxCC,CAAgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAelCC,CAAc;AAAA,ICHLC,EAAqB,MAChC1C,GAC8B,SAC9B,MAAMC,EAASC,EAAMD,OAErB,GAAI,CAACA,EAAc,MAAA,IAAIE,MAAM,kBAAkB,EAC/C,GAAI,CAACH,EAAe,MAAA,IAAIG,MAAM,4BAA4B,EAEpD,KAAA,CAAEC,YAAAA,EAAaC,SAAAA,EAAUC,OAAAA,CAAWN,EAAAA,EACpC2C,GAAe3C,EAAAA,EAAQ4C,kBAAR5C,YAAAA,EAAyB2C,aACxCE,GAAc7C,EAAAA,EAAQ4C,kBAAR5C,YAAAA,EAAyB6C,YAE7C,OAAOtC,EAAagC,EAA+B,CACjD/B,UAAW,CACTP,OAAAA,EACAD,QAAS,CACPS,aAAcL,GAAe,KAC7BC,SAAUA,GAAY,QACtBC,OAAQ,CACNA,QAAQA,GAAAA,YAAAA,EAAQA,SAAU,SAC1BI,aAAaJ,GAAAA,YAAAA,EAAQK,OAAQ,aAC7BC,WAAWN,GAAAA,YAAAA,EAAQO,KAAM,CAC3B,CACF,EACA+B,gBAAiB,CACfD,aAAcA,GAAgB,GAC9BE,YAAaA,GAAe,EAC9B,CACF,CAAA,CACD,EAAE/B,KAAK,CAAC,CAAEC,OAAAA,EAAQC,KAAAA,CAAAA,IAAW,CACxBD,GAAAA,EAAQ,OAAOE,EAAiBF,CAAM,EAE1C,MAAM+B,EAA+B9B,EAAK+B,eAE1C,OAAID,EACcE,EAAcF,EAAcG,IAAI,EAK3C,IAAA,CACR,CACH"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getStoreConfig.js","sources":["../../src/lib/cookies.ts","../../src/lib/state.ts","../../src/lib/persisted-data.ts","../../src/api/initialize/initialize.ts","../../src/api/fetch-graphql/fetch-graphql.ts","../../src/data/transforms/transform-cart.ts","../../src/data/transforms/transform-store-config.ts","../../src/lib/fetch-error.ts","../../src/api/graphql/CartFragment.ts","../../src/api/getCartData/graphql/CartQuery.ts","../../src/api/getCartData/getCartData.ts","../../src/api/initializeCart/graphql/MergeCartsMutation.ts","../../src/api/initializeCart/initializeCart.ts","../../src/api/resetCart/resetCart.ts","../../src/api/getStoreConfig/graphql/StoreConfigQuery.ts","../../src/api/getStoreConfig/getStoreConfig.ts"],"sourcesContent":["export function getCookie(cookieName: string) {\n // Split the cookie string into an array of individual cookies\n const cookies = document.cookie.split(';');\n\n // Loop through the cookies to find the one with the specified name\n for (let i = 0; i < cookies.length; i++) {\n const cookie = cookies[i].trim(); // Remove leading and trailing spaces\n\n // Check if this cookie starts with the name you're looking for\n if (cookie.indexOf(`${cookieName}=`) === 0) {\n // Extract and return the cookie's value\n return cookie.substring(cookieName.length + 1);\n }\n }\n\n // If the cookie is not found, return null\n return null;\n}\n","import { getCookie } from '@/cart/lib/cookies';\nimport { StoreConfigModel } from '@/cart/data/models/store-models';\n\ntype State = {\n cartId: string | null;\n authenticated: boolean;\n locale?: string;\n config?: StoreConfigModel | null;\n};\n\nconst _state: State = (() => ({\n cartId: null,\n authenticated: false,\n}))();\n\n// Proxy state to allow reactivity\nexport const state = new Proxy(_state, {\n set(target, key, value) {\n // @ts-ignore\n target[key] = value;\n\n if (key === 'cartId') {\n // only update cookie if value has changed\n if (value === state.cartId) return true;\n \n if (value === null) {\n // remove cookie\n document.cookie = `DROPIN__CART__CART-ID=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/`;\n return true;\n }\n\n // get expiration days from config\n const expiresInDays = state.config?.cartExpiresInDays;\n\n if (!expiresInDays) {\n console.warn(\n 'Missing \"expiresInDays\" config. Cookie expiration will default to 30 days.'\n );\n }\n\n // set expiration date\n const expires = new Date();\n expires.setDate(expires.getDate() + (expiresInDays ?? 30));\n\n // set cookie\n document.cookie = `DROPIN__CART__CART-ID=${value}; expires=${expires.toUTCString()}; path=/`;\n }\n\n return true;\n },\n get(target, key) {\n if (key === 'cartId') {\n // get value from cookie\n return getCookie('DROPIN__CART__CART-ID');\n }\n\n return target[key as keyof State];\n },\n});\n","import { CartModel } from '@/cart/data/models';\n\nexport function setPersistedData(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 getPersistedData(): 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","import { Initializer } from '@adobe/elsie/lib';\nimport { initializeCart, resetCart } from '@/cart/api';\nimport { state } from '@/cart/lib/state';\nimport { events } from '@adobe/event-bus';\nimport { Lang } from '@adobe/elsie/i18n';\nimport { setPersistedData } from '@/cart/lib/persisted-data';\n\ntype ConfigProps = {\n disableGuestCart?: boolean;\n langDefinitions?: Lang;\n};\n\nexport const initialize = new Initializer<ConfigProps>({\n init: async (_config) => {\n const config = { disableGuestCart: false, ..._config };\n \n // Set config\n initialize.config.setConfig(config);\n\n // Initialize cart\n initializeCart();\n },\n\n listeners: () => [\n events.on('authenticated', async (authenticated) => {\n if (authenticated !== state.authenticated) {\n state.authenticated = authenticated;\n initializeCart().catch(console.error);\n }\n }),\n\n events.on('locale', async (locale) => {\n if (locale !== state.locale) {\n state.locale = locale;\n initializeCart().catch(console.error);\n }\n }),\n\n events.on('cart/reset', () => {\n resetCart().catch(console.error);\n }),\n\n events.on('cart/data', (payload) => {\n setPersistedData(payload);\n }),\n ],\n});\n\nexport const config = initialize.config;\n","import { FetchGraphQL } from '@adobe/fetch-graphql';\n\nexport const {\n setEndpoint,\n setFetchGraphQlHeader,\n removeFetchGraphQlHeader,\n setFetchGraphQlHeaders,\n fetchGraphQl,\n getConfig,\n} = new FetchGraphQL().getMethods();\n","import { CartModel } from '@/cart/data/models';\nimport { state } from '@/cart/lib/state';\n\nexport function transformCart(data: any): CartModel | null {\n if (!data) return null;\n return {\n id: data.id,\n totalQuantity: transformQuantity(data),\n errors: transformErrors(data?.itemsV2),\n items: transformItems(data?.itemsV2),\n miniCartMaxItems: transformItems(data?.itemsV2).slice(\n 0,\n state.config?.miniCartMaxItemsDisplay ?? 10\n ),\n total: {\n includingTax: {\n value: data.prices.grand_total.value,\n currency: data.prices.grand_total.currency,\n },\n excludingTax: {\n value: data.prices.grand_total_excluding_tax.value,\n currency: data.prices.grand_total_excluding_tax.currency,\n },\n },\n subtotal: {\n excludingTax: {\n value: data.prices.subtotal_excluding_tax?.value,\n currency: data.prices.subtotal_excluding_tax?.currency,\n },\n includingTax: {\n value: data.prices.subtotal_including_tax?.value,\n currency: data.prices.subtotal_including_tax?.currency,\n },\n includingDiscountOnly: {\n value: data.prices.subtotal_with_discount_excluding_tax?.value,\n currency: data.prices.subtotal_with_discount_excluding_tax?.currency,\n },\n },\n appliedTaxes: transformTotalPriceModifiers(data.prices.applied_taxes),\n totalTax: calculateTotalTax(data.prices.applied_taxes),\n appliedDiscounts: transformTotalPriceModifiers(data.prices.discounts),\n isVirtual: data.is_virtual,\n addresses: {\n shipping:\n data.shipping_addresses && transformAddresses(data.shipping_addresses),\n },\n };\n}\n\n// Need to calculate total tax amount since it's not provided by GraphQL\nfunction calculateTotalTax(data: any[]) {\n if (!data?.length) return null;\n\n return data.reduce(\n (acc: any, item: any) => {\n return {\n value: acc.value + item.amount.value,\n currency: item.amount.currency,\n };\n },\n { value: 0, currency: '' }\n );\n}\n\nfunction transformItems(data: any) {\n if (!data?.items?.length) return [];\n\n const config = state.config;\n\n return data.items.map((item: any) => ({\n itemType: item.__typename,\n uid: item.uid,\n url: {\n urlKey: item.product.url_key,\n categories: item.product.categories.map(\n (category: any) => category.url_key\n ),\n },\n quantity: item.quantity,\n sku: item.product.sku,\n name: item.product.name,\n image: {\n // Use parent thumbnail if configured, otherwise use own variant. use the parent thumbnail as a fallback\n src: config?.useConfigurableParentThumbnail\n ? item.product.thumbnail.url\n : item.configured_variant?.thumbnail?.url || item.product.thumbnail.url,\n alt: config?.useConfigurableParentThumbnail\n ? item.product.thumbnail.label\n : item.configured_variant?.thumbnail?.label ||\n item.product.thumbnail.label,\n },\n price: {\n value: item.prices.price.value,\n currency: item.prices.price.currency,\n },\n taxedPrice: {\n value: item.prices.price_including_tax.value,\n currency: item.prices.price_including_tax.currency,\n },\n rowTotal: {\n value: item.prices.row_total.value,\n currency: item.prices.row_total.currency,\n },\n rowTotalIncludingTax: {\n value: item.prices.row_total_including_tax.value,\n currency: item.prices.row_total_including_tax.currency,\n },\n links: transformLinks(item.links),\n\n // Update BundleCartItem after USF-1221 is completed\n // Update SimpleWithCustomizableOptions after USF-1212 is completed\n total:\n (item.__typename === 'SimpleCartItem' &&\n item.customizable_options.length !== 0) ||\n item.__typename === 'BundleCartItem'\n ? {\n value: item.prices.row_total.value,\n currency: item.prices.row_total.currency,\n }\n : {\n value: item.prices.original_row_total?.value,\n currency: item.prices.original_row_total?.currency,\n },\n\n discount: {\n value: item.prices.total_item_discount.value,\n currency: item.prices.total_item_discount.currency,\n },\n\n // Add support for BundleCartItem after USF-1221 is completed\n // Add support for SimpleWithCustomizableOptions after USF-1212 is completed\n regularPrice:\n item.__typename === 'ConfigurableCartItem'\n ? {\n value:\n item.configured_variant?.price_range?.maximum_price.regular_price\n .value,\n currency:\n item.configured_variant?.price_range?.maximum_price.regular_price\n .currency,\n }\n : item.__typename === 'GiftCardCartItem' ||\n (item.__typename === 'SimpleCartItem' &&\n item.customizable_options.length !== 0) ||\n item.__typename === 'BundleCartItem'\n ? {\n value: item.prices.price.value,\n currency: item.prices.price.currency,\n }\n : {\n value: item.product.price_range?.maximum_price.regular_price.value,\n currency:\n item.product.price_range?.maximum_price.regular_price.currency,\n },\n\n // Add support for BundleCartItem after USF-1221 is completed\n // Add support for SimpleWithCustomizableOptions after USF-1212 is completed\n discounted:\n item.__typename === 'BundleCartItem' ||\n (item.__typename === 'SimpleCartItem' &&\n item.customizable_options.length !== 0)\n ? false\n : item.__typename === 'ConfigurableCartItem'\n ? item.configured_variant?.price_range?.maximum_price.discount\n .amount_off > 0\n : item.product.price_range?.maximum_price.discount.amount_off > 0,\n bundleOptions:\n item.__typename === 'BundleCartItem'\n ? transformBundleOptions(item.bundle_options)\n : null,\n selectedOptions: transformSelectedOptions(item.configurable_options),\n customizableOptions: transformCustomizableOptions(\n item.customizable_options\n ),\n sender: item.__typename === 'GiftCardCartItem' ? item.sender_name : null,\n senderEmail:\n item.__typename === 'GiftCardCartItem' ? item.sender_email : null,\n recipient:\n item.__typename === 'GiftCardCartItem' ? item.recipient_name : null,\n recipientEmail:\n item.__typename === 'GiftCardCartItem' ? item.recipient_email : null,\n message: item.__typename === 'GiftCardCartItem' ? item.message : null,\n\n discountedTotal: {\n value: item.prices.row_total.value,\n currency: item.prices.row_total.currency,\n },\n }));\n}\n\nfunction transformErrors(data: any) {\n const result = data?.items?.reduce((acc: any, item: any) => {\n item.errors?.forEach((error: Error) => {\n acc.push({ uid: item.uid, text: error.message });\n });\n\n return acc;\n }, []);\n\n return result?.length ? result : null;\n}\n\nfunction transformTotalPriceModifiers(data: any) {\n if (!data?.length) return [];\n\n return data.map((item: any) => ({\n amount: {\n value: item.amount.value,\n currency: item.amount.currency,\n },\n label: item.label,\n }));\n}\n\nfunction transformBundleOptions(data: any) {\n const bundle = data?.map((option: any) => ({\n uid: option.uid,\n label: option.label,\n value: option.values.map((value: any) => value.label).join(', '),\n }));\n\n const bundleOptions: { [key: string]: any } = {};\n\n bundle?.forEach((option: any) => {\n bundleOptions[option.label] = option.value;\n });\n\n return Object.keys(bundleOptions).length > 0 ? bundleOptions : null;\n}\n\nfunction transformSelectedOptions(data: any) {\n const selected = data?.map((option: any) => ({\n uid: option.configurable_product_option_uid,\n label: option.option_label,\n value: option.value_label,\n }));\n\n const selectedOptions: { [key: string]: any } = {};\n\n selected?.forEach((option: any) => {\n selectedOptions[option.label] = option.value;\n });\n\n return Object.keys(selectedOptions).length > 0 ? selectedOptions : null;\n}\n\nfunction transformCustomizableOptions(data: any) {\n const transformedOptions = data?.map((option: any) => ({\n uid: option.customizable_option_uid,\n label: option.label,\n type: option.type,\n values: option.values.map((value: any) => ({\n uid: value.customizable_option_value_uid,\n label: value.label,\n value: value.value,\n })),\n }));\n\n const result: { [key: string]: any } = {};\n\n transformedOptions?.forEach((option: any) => {\n switch (option.type) {\n case 'field':\n case 'area':\n case 'date_time':\n result[option.label] = option.values[0].value;\n break;\n case 'radio':\n case 'drop_down':\n result[option.label] = option.values[0].label;\n break;\n case 'multiple':\n case 'checkbox':\n result[option.label] = (option.values as Array<any>).reduce(\n (previous, current) => {\n if (previous) return `${previous}, ${current.label}`;\n return current.label;\n },\n ''\n );\n break;\n }\n });\n return result;\n}\n\nfunction transformQuantity(data: any) {\n if (state.config?.cartSummaryDisplayTotal === 0)\n return data.itemsV2.items.length;\n if (state.config?.cartSummaryDisplayTotal === 1) return data.total_quantity;\n // Default to items count if unexpected config value or error returned\n return data.itemsV2.items.length;\n}\n\nfunction transformLinks(links: any) {\n return links?.length > 0\n ? {\n count: links.length,\n result: links.map((link: any) => link.title).join(', '),\n }\n : null;\n}\n\nfunction transformAddresses(data: any[]) {\n if (!data?.length) return null;\n\n return data.map((address: any) => ({\n countryCode: address.country?.code,\n zipCode: address.postcode,\n regionCode: address.region?.code,\n }));\n}\n","import { StoreConfigModel } from '@/cart/data/models';\n\nexport function transformStoreConfig(data: any): StoreConfigModel | null {\n if (!data) return null;\n\n const transformTaxDisplaySetting = (taxDisplaySetting: number) => {\n switch (taxDisplaySetting) {\n case 1:\n return 'EXCLUDING_TAX';\n case 2:\n return 'INCLUDING_TAX';\n case 3:\n return 'INCLUDING_EXCLUDING_TAX';\n default:\n return 'EXCLUDING_TAX';\n }\n };\n\n return {\n displayMiniCart: data.minicart_display,\n miniCartMaxItemsDisplay: data.minicart_max_items,\n cartExpiresInDays: data.cart_expires_in_days,\n cartSummaryDisplayTotal: data.cart_summary_display_quantity,\n defaultCountry: data.default_country!,\n categoryFixedProductTaxDisplaySetting:\n data.category_fixed_product_tax_display_setting,\n productFixedProductTaxDisplaySetting:\n data.product_fixed_product_tax_display_setting,\n salesFixedProductTaxDisplaySetting:\n data.sales_fixed_product_tax_display_setting,\n shoppingCartDisplaySetting: {\n zeroTax: data.shopping_cart_display_zero_tax,\n subtotal: transformTaxDisplaySetting(data.shopping_cart_display_subtotal),\n price: transformTaxDisplaySetting(data.shopping_cart_display_price),\n shipping: transformTaxDisplaySetting(data.shopping_cart_display_shipping),\n fullSummary: data.shopping_cart_display_full_summary,\n grandTotal: data.shopping_cart_display_grand_total,\n taxGiftWrapping: data.shopping_cart_display_tax_gift_wrapping,\n },\n useConfigurableParentThumbnail:\n data.configurable_thumbnail_source === 'parent',\n };\n}\n","import { resetCart } from '../api';\n\n/** Actions */\nexport const handleFetchError = (\n errors: Array<{ message: string; extensions: { category: string } }>\n) => {\n const unauthorized =\n errors.findIndex(\n ({ extensions }) => extensions?.category === 'graphql-authorization'\n ) > -1;\n\n const missingCart =\n errors.findIndex(\n ({ extensions }) => extensions?.category === 'graphql-no-such-entity'\n ) > -1;\n\n const errorMessage = errors.map((e: any) => e.message).join(' ');\n\n // Reset cart data if unauthorized or missing cart\n if (unauthorized || missingCart) {\n resetCart();\n console.error(errorMessage);\n return null;\n }\n\n throw Error(errorMessage);\n};\n","const CUSTOMIZABLE_OPTIONS_FRAGMENT = `\n customizable_options {\n type\n customizable_option_uid\n label\n is_required\n values {\n label\n value\n price{\n type\n units\n value\n }\n }\n }\n`;\n\nconst PRICE_RANGE_FRAGMENT = `\n price_range {\n minimum_price {\n regular_price {\n value\n currency\n }\n final_price {\n value\n currency\n }\n discount {\n percent_off\n amount_off\n }\n }\n maximum_price {\n regular_price {\n value\n currency\n }\n final_price {\n value\n currency\n }\n discount {\n percent_off\n amount_off\n }\n }\n }\n`;\n\nexport const CART_FRAGMENT = `\nfragment CartFragment on Cart {\n id\n total_quantity\n is_virtual\n prices {\n subtotal_with_discount_excluding_tax {\n currency\n value\n }\n subtotal_including_tax {\n currency\n value\n }\n subtotal_excluding_tax {\n currency\n value\n }\n grand_total {\n currency\n value\n }\n grand_total_excluding_tax {\n currency\n value\n }\n applied_taxes {\n label,\n amount {\n value\n currency\n }\n }\n discounts {\n amount {\n value\n currency\n }\n label\n }\n }\n itemsV2 (\n pageSize:$pageSize,\n currentPage:$currentPage,\n sort: $itemsSortInput\n ) {\n items {\n __typename\n uid\n quantity\n \n errors {\n code\n message\n }\n \n prices {\n price {\n value\n currency\n }\n total_item_discount {\n value\n currency\n }\n row_total {\n value\n currency\n }\n row_total_including_tax {\n value\n currency\n }\n price_including_tax {\n value\n currency\n }\n fixed_product_taxes {\n amount {\n value\n currency\n }\n label\n }\n original_row_total{\n value\n currency\n }\n }\n \n product {\n name\n sku\n thumbnail {\n url\n label\n }\n url_key\n url_suffix\n categories {\n url_path\n url_key\n }\n ${PRICE_RANGE_FRAGMENT}\n }\n ...on SimpleCartItem {\n ${CUSTOMIZABLE_OPTIONS_FRAGMENT}\n }\n ... on ConfigurableCartItem {\n configurable_options {\n configurable_product_option_uid\n option_label\n value_label\n }\n configured_variant {\n uid\n sku\n thumbnail {\n label\n url\n }\n ${PRICE_RANGE_FRAGMENT}\n }\n ${CUSTOMIZABLE_OPTIONS_FRAGMENT}\n }\n ... on DownloadableCartItem {\n links {\n sort_order\n title\n }\n ${CUSTOMIZABLE_OPTIONS_FRAGMENT}\n }\n ... on BundleCartItem {\n bundle_options {\n uid\n label\n values {\n uid\n label\n }\n }\n }\n ... on GiftCardCartItem {\n message\n recipient_email\n recipient_name\n sender_email\n sender_name\n amount{\n currency\n value\n }\n is_available\n }\n }\n }\n shipping_addresses {\n country {\n code\n }\n region {\n code\n }\n postcode\n }\n}\n`;\n\n// Default values for pagination and sorting for cart items\nexport const CART_ITEMS_PAGINATION_ARGUMENTS = `\n $pageSize: Int! = 100,\n $currentPage: Int! = 1,\n $itemsSortInput: QuoteItemsSortInput! = {field: CREATED_AT, order: DESC}\n`;\n","import {\n CART_FRAGMENT,\n CART_ITEMS_PAGINATION_ARGUMENTS,\n} from '@/cart/api/graphql/CartFragment';\n\nexport const GUEST_CART_QUERY = `\n query GUEST_CART_QUERY(\n $cartId: String!,\n ${CART_ITEMS_PAGINATION_ARGUMENTS}\n ) {\n\n cart(cart_id: $cartId){\n ...CartFragment\n }\n }\n\n ${CART_FRAGMENT}\n`;\n\nexport const CUSTOMER_CART_QUERY = `\n query CUSTOMER_CART_QUERY(\n ${CART_ITEMS_PAGINATION_ARGUMENTS}\n ) {\n\n cart: customerCart {\n ...CartFragment\n }\n }\n\n ${CART_FRAGMENT}\n`;\n","import { 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 { GUEST_CART_QUERY, CUSTOMER_CART_QUERY } from './graphql/CartQuery';\n\nexport const getCartData = async (): Promise<CartModel | null> => {\n const authenticated = state.authenticated;\n const cartId = state.cartId;\n\n // Customer Cart\n if (authenticated) {\n return fetchGraphQl(CUSTOMER_CART_QUERY, { method: 'POST' }).then(\n ({ errors, data }) => {\n if (errors) return handleFetchError(errors);\n\n return transformCart(data.cart);\n }\n );\n }\n\n // Guest Cart\n if (!cartId) throw new Error('No cart ID found');\n\n return fetchGraphQl(GUEST_CART_QUERY, {\n method: 'POST',\n cache: 'no-cache',\n variables: { cartId },\n }).then(({ errors, data }) => {\n if (errors) return handleFetchError(errors);\n\n return transformCart(data.cart);\n });\n};\n","import { CART_FRAGMENT, CART_ITEMS_PAGINATION_ARGUMENTS } from '@/cart/api/graphql/CartFragment';\n\nexport const MERGE_CARTS_MUTATION = `\n mutation MERGE_CARTS_MUTATION(\n $guestCartId: String!, \n $customerCartId: String!,\n ${CART_ITEMS_PAGINATION_ARGUMENTS}\n ) {\n mergeCarts(\n source_cart_id: $guestCartId,\n destination_cart_id: $customerCartId\n ) {\n ...CartFragment \n }\n }\n\n ${CART_FRAGMENT}\n`;\n","import { events } from '@adobe/event-bus';\nimport { state } from '@/cart/lib/state';\nimport { config, fetchGraphQl, getCartData, getStoreConfig } from '@/cart/api';\nimport { MERGE_CARTS_MUTATION } from './graphql/MergeCartsMutation';\nimport { CartModel } from '@/cart/data/models';\nimport { transformCart } from '@/cart/data/transforms/transform-cart';\n\nexport const initializeCart = async (): Promise<CartModel | null> => {\n // set config\n state.config = await getStoreConfig();\n\n const payload = state.authenticated\n ? await getCustomerCartPayload()\n : await getGuestCartPayload();\n\n events.emit('cart/initialized', payload);\n events.emit('cart/data', payload);\n\n return payload;\n};\n\nasync function getCustomerCartPayload() {\n const existingCartId = state.cartId;\n\n const cart = await getCartData();\n\n if (!cart) return null;\n\n // set cartid in the state\n state.cartId = cart.id;\n\n // If the existing cart is the same as the fetched cart, return the fetched cart\n if (!existingCartId || cart.id === existingCartId) return cart;\n\n // If the existing cart is not the same as the fetched cart, merge the carts\n return await fetchGraphQl(MERGE_CARTS_MUTATION, {\n variables: {\n guestCartId: existingCartId,\n customerCartId: cart.id,\n },\n })\n .then(({ data }) => {\n return transformCart(data.mergeCarts);\n })\n .catch(() => {\n // gracefully handle merge error, continue with existing cart\n console.error('Could not merge carts');\n return cart;\n });\n}\n\nasync function getGuestCartPayload() {\n // If guest cart is not enabled, return null\n if (config.getConfig().disableGuestCart === true) {\n return null;\n }\n\n // If there is not a cart id in the state, return null\n if (!state.cartId) {\n return null;\n }\n\n // If there is a cart id in the state, return the cart data\n try {\n return await getCartData();\n } catch (error) {\n console.error(error);\n return null;\n }\n}\n","import { state } from '@/cart/lib/state';\nimport { initializeCart } from '@/cart/api';\nimport { CartModel } from '@/cart/data/models';\n\nexport const resetCart = (): Promise<CartModel | null> => {\n state.cartId = null;\n state.authenticated = false;\n\n return initializeCart();\n};\n","export const STORE_CONFIG_QUERY = `\nquery STORE_CONFIG_QUERY {\n storeConfig {\n minicart_display \n minicart_max_items\n cart_expires_in_days \n cart_summary_display_quantity\n default_country\n category_fixed_product_tax_display_setting\n product_fixed_product_tax_display_setting\n sales_fixed_product_tax_display_setting\n shopping_cart_display_full_summary\n shopping_cart_display_grand_total\n shopping_cart_display_price\n shopping_cart_display_shipping\n shopping_cart_display_subtotal\n shopping_cart_display_tax_gift_wrapping\n shopping_cart_display_zero_tax\n configurable_thumbnail_source\n }\n}\n`;\n","import { fetchGraphQl } from '@/cart/api';\nimport { StoreConfigModel } from '@/cart/data/models';\nimport { transformStoreConfig } from '@/cart/data/transforms';\nimport { handleFetchError } from '@/cart/lib/fetch-error';\n\nimport { STORE_CONFIG_QUERY } from './graphql/StoreConfigQuery';\n\nexport const getStoreConfig = async (): Promise<StoreConfigModel | null> => {\n return fetchGraphQl(STORE_CONFIG_QUERY, {\n method: 'GET',\n cache: 'force-cache',\n }).then(({ errors, data }) => {\n if (errors) return handleFetchError(errors);\n\n return transformStoreConfig(data.storeConfig);\n });\n};\n"],"names":["getCookie","cookieName","cookies","document","cookie","split","i","length","trim","indexOf","substring","_state","cartId","authenticated","state","Proxy","set","target","key","value","expiresInDays","config","cartExpiresInDays","console","warn","expires","Date","setDate","getDate","toUTCString","get","setPersistedData","data","sessionStorage","setItem","JSON","stringify","removeItem","getPersistedData","getItem","parse","initialize","Initializer","init","_config","disableGuestCart","setConfig","initializeCart","listeners","events","on","catch","error","locale","resetCart","payload","setEndpoint","setFetchGraphQlHeader","removeFetchGraphQlHeader","setFetchGraphQlHeaders","fetchGraphQl","getConfig","FetchGraphQL","getMethods","transformCart","id","totalQuantity","transformQuantity","errors","transformErrors","itemsV2","items","transformItems","miniCartMaxItems","slice","miniCartMaxItemsDisplay","total","includingTax","prices","grand_total","currency","excludingTax","grand_total_excluding_tax","subtotal","subtotal_excluding_tax","subtotal_including_tax","includingDiscountOnly","subtotal_with_discount_excluding_tax","appliedTaxes","transformTotalPriceModifiers","applied_taxes","totalTax","calculateTotalTax","appliedDiscounts","discounts","isVirtual","is_virtual","addresses","shipping","shipping_addresses","transformAddresses","reduce","acc","item","amount","map","itemType","__typename","uid","url","urlKey","product","url_key","categories","category","quantity","sku","name","image","src","useConfigurableParentThumbnail","thumbnail","configured_variant","alt","label","price","taxedPrice","price_including_tax","rowTotal","row_total","rowTotalIncludingTax","row_total_including_tax","links","transformLinks","customizable_options","original_row_total","discount","total_item_discount","regularPrice","price_range","maximum_price","regular_price","discounted","amount_off","bundleOptions","transformBundleOptions","bundle_options","selectedOptions","transformSelectedOptions","configurable_options","customizableOptions","transformCustomizableOptions","sender","sender_name","senderEmail","sender_email","recipient","recipient_name","recipientEmail","recipient_email","message","discountedTotal","result","forEach","push","text","bundle","option","values","join","Object","keys","selected","configurable_product_option_uid","option_label","value_label","transformedOptions","customizable_option_uid","type","customizable_option_value_uid","previous","current","cartSummaryDisplayTotal","total_quantity","count","link","title","address","countryCode","country","code","zipCode","postcode","regionCode","region","transformStoreConfig","transformTaxDisplaySetting","taxDisplaySetting","displayMiniCart","minicart_display","minicart_max_items","cart_expires_in_days","cart_summary_display_quantity","defaultCountry","default_country","categoryFixedProductTaxDisplaySetting","category_fixed_product_tax_display_setting","productFixedProductTaxDisplaySetting","product_fixed_product_tax_display_setting","salesFixedProductTaxDisplaySetting","sales_fixed_product_tax_display_setting","shoppingCartDisplaySetting","zeroTax","shopping_cart_display_zero_tax","shopping_cart_display_subtotal","shopping_cart_display_price","shopping_cart_display_shipping","fullSummary","shopping_cart_display_full_summary","grandTotal","shopping_cart_display_grand_total","taxGiftWrapping","shopping_cart_display_tax_gift_wrapping","configurable_thumbnail_source","handleFetchError","unauthorized","findIndex","extensions","missingCart","errorMessage","e","Error","CUSTOMIZABLE_OPTIONS_FRAGMENT","PRICE_RANGE_FRAGMENT","CART_FRAGMENT","CART_ITEMS_PAGINATION_ARGUMENTS","GUEST_CART_QUERY","CUSTOMER_CART_QUERY","getCartData","method","then","cart","cache","variables","MERGE_CARTS_MUTATION","getStoreConfig","getCustomerCartPayload","getGuestCartPayload","emit","existingCartId","guestCartId","customerCartId","mergeCarts","STORE_CONFIG_QUERY","storeConfig"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"updateProductsFromCart.js","sources":["../../src/data/transforms/acdl-context.ts","../../src/lib/acdl.ts","../../src/api/updateProductsFromCart/graphql/UpdateProductsMutation.ts","../../src/api/updateProductsFromCart/updateProductsFromCart.ts"],"sourcesContent":["import { 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.totalQuantity,\n possibleOnepageCheckout: undefined,\n giftMessageSelected: undefined,\n giftWrappingSelected: undefined,\n source: undefined,\n };\n}\n\nexport function transformItems(items: Item[], locale: string): 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 },\n product: {\n productId: item.uid,\n name: item.name,\n sku: item.sku,\n topLevelSku: undefined,\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.url.categories,\n productType: undefined,\n pricing: {\n regularPrice: item.regularPrice.value,\n minimalPrice: undefined,\n maximalPrice: undefined,\n specialPrice: item.discount?.value,\n tierPricing: undefined,\n currencyCode: item.regularPrice.currency,\n },\n canonicalUrl: item.url.urlKey,\n mainImageUrl: item.image.src,\n image: {\n src: item.image.src,\n alt: item.image.alt,\n },\n },\n configurableOptions: undefined,\n quantity: item.quantity,\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","/* 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};\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 pushEvent(events.OPEN_CART);\n\n // Set context and push add to cart event for each updated item\n const shoppingCartItems = transformItems(addedItems, locale);\n\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","import { CART_FRAGMENT, CART_ITEMS_PAGINATION_ARGUMENTS } from '../../graphql/CartFragment';\n\nexport const UPDATE_PRODUCTS_FROM_CART_MUTATION = `\n mutation UPDATE_PRODUCTS_FROM_CART_MUTATION(\n $cartId: String!, \n $cartItems: [CartItemUpdateInput!]!,\n ${CART_ITEMS_PAGINATION_ARGUMENTS}\n ) {\n updateCartItems(\n input: {\n cart_id: $cartId\n cart_items: $cartItems \n }\n ) {\n cart {\n ...CartFragment\n }\n\n }\n }\n ${CART_FRAGMENT}\n`;\n","import { 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/event-bus';\n\nimport { UPDATE_PRODUCTS_FROM_CART_MUTATION } from './graphql/UpdateProductsMutation';\nimport { publishCartUpdateEvents } from '@/cart/lib/acdl';\n\ntype UpdateProductsFromCart = Array<{\n uid: string;\n quantity: number;\n}>;\n\nexport const updateProductsFromCart = async (\n items: UpdateProductsFromCart\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(UPDATE_PRODUCTS_FROM_CART_MUTATION, {\n variables: {\n cartId,\n cartItems: items.map(({ uid, quantity }) => ({\n cart_item_uid: uid,\n quantity,\n })),\n },\n }).then(({ errors, data }) => {\n if (errors) return handleFetchError(errors);\n\n const payload = transformCart(data.updateCartItems.cart);\n\n events.emit('cart/updated', payload);\n events.emit('cart/data', payload);\n\n if (payload) {\n // Publish cart update events\n publishCartUpdateEvents(payload, items, state.locale || 'en-US');\n }\n\n return payload;\n });\n};\n"],"names":["transformShoppingCart","params","cart","locale","id","items","transformItems","prices","subtotalExcludingTax","subtotal","excludingTax","subtotalIncludingTax","includingTax","totalQuantity","possibleOnepageCheckout","undefined","giftMessageSelected","giftWrappingSelected","source","map","item","canApplyMsrp","formattedPrice","formatCurrency","price","currency","value","uid","product","productId","name","sku","topLevelSku","specialToDate","specialFromDate","newToDate","newFromDate","createdAt","updatedAt","manufacturer","countryOfManufacture","categories","url","productType","pricing","regularPrice","minimalPrice","maximalPrice","specialPrice","discount","tierPricing","currencyCode","canonicalUrl","urlKey","mainImageUrl","image","src","alt","configurableOptions","quantity","formattedLocale","replace","Intl","NumberFormat","style","format","contexts","SHOPPING_CART_CONTEXT","PRODUCT_CONTEXT","CHANGED_PRODUCTS_CONTEXT","events","OPEN_CART","ADD_TO_CART","REMOVE_FROM_CART","SHOPPING_CART_VIEW","getAdobeDataLayer","adobeDataLayer","window","setContext","data","push","pushEvent","event","additionalContext","acdl","state","getState","eventInfo","publishOpenCartEvent","addedItems","shoppingCartContext","forEach","publishItemsUpdatedEvent","publishShoppingCartViewEvent","updatedItems","changedProductsContext","publishCartUpdateEvents","newShoppingCartContext","currentItems","currentState","previousItems","updatedItem","previousItem","find","currentItem","UPDATE_PRODUCTS_FROM_CART_MUTATION","CART_ITEMS_PAGINATION_ARGUMENTS","CART_FRAGMENT","updateProductsFromCart","cartId","Error","fetchGraphQl","variables","cartItems","cart_item_uid","then","errors","handleFetchError","payload","transformCart","updateCartItems","emit"],"mappings":"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"}
|