@dropins/storefront-cart 0.1.1 → 0.2.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.
Files changed (192) hide show
  1. package/api/addProductsToCart/addProductsToCart.d.ts +13 -0
  2. package/api/addProductsToCart/addProductsToCart.d.ts.map +1 -0
  3. package/api/addProductsToCart/graphql/AddProductsToCartMutation.d.ts +2 -0
  4. package/api/addProductsToCart/graphql/AddProductsToCartMutation.d.ts.map +1 -0
  5. package/api/addProductsToCart/index.d.ts +2 -0
  6. package/api/addProductsToCart/index.d.ts.map +1 -0
  7. package/api/createEmptyCart/createEmptyCart.d.ts +2 -0
  8. package/api/createEmptyCart/createEmptyCart.d.ts.map +1 -0
  9. package/api/createEmptyCart/graphql/CreateCartMutation.d.ts +2 -0
  10. package/api/createEmptyCart/graphql/CreateCartMutation.d.ts.map +1 -0
  11. package/api/createEmptyCart/index.d.ts +2 -0
  12. package/api/createEmptyCart/index.d.ts.map +1 -0
  13. package/api/fetch-graphql/fetch-graphql.d.ts +8 -0
  14. package/api/fetch-graphql/fetch-graphql.d.ts.map +1 -0
  15. package/api/fetch-graphql/index.d.ts +2 -0
  16. package/api/fetch-graphql/index.d.ts.map +1 -0
  17. package/api/getCartData/getCartData.d.ts +4 -0
  18. package/api/getCartData/getCartData.d.ts.map +1 -0
  19. package/api/getCartData/graphql/CartQuery.d.ts +3 -0
  20. package/api/getCartData/graphql/CartQuery.d.ts.map +1 -0
  21. package/api/getCartData/index.d.ts +2 -0
  22. package/api/getCartData/index.d.ts.map +1 -0
  23. package/api/getEstimateShipping/getEstimateShipping.d.ts +18 -0
  24. package/api/getEstimateShipping/getEstimateShipping.d.ts.map +1 -0
  25. package/api/getEstimateShipping/graphql/countriesAndRegionsQueries.d.ts +12 -0
  26. package/api/getEstimateShipping/graphql/countriesAndRegionsQueries.d.ts.map +1 -0
  27. package/api/getEstimateShipping/graphql/estimateShippingMethodsMutation.d.ts +2 -0
  28. package/api/getEstimateShipping/graphql/estimateShippingMethodsMutation.d.ts.map +1 -0
  29. package/api/getEstimateShipping/index.d.ts +2 -0
  30. package/api/getEstimateShipping/index.d.ts.map +1 -0
  31. package/api/getEstimatedTotals/getEstimatedTotals.d.ts +17 -0
  32. package/api/getEstimatedTotals/getEstimatedTotals.d.ts.map +1 -0
  33. package/api/getEstimatedTotals/graphql/GetEstimatedTotalsMutation.d.ts +2 -0
  34. package/api/getEstimatedTotals/graphql/GetEstimatedTotalsMutation.d.ts.map +1 -0
  35. package/api/getEstimatedTotals/index.d.ts +2 -0
  36. package/api/getEstimatedTotals/index.d.ts.map +1 -0
  37. package/api/getStoreConfig/getStoreConfig.d.ts +4 -0
  38. package/api/getStoreConfig/getStoreConfig.d.ts.map +1 -0
  39. package/api/getStoreConfig/graphql/StoreConfigQuery.d.ts +2 -0
  40. package/api/getStoreConfig/graphql/StoreConfigQuery.d.ts.map +1 -0
  41. package/api/getStoreConfig/index.d.ts +2 -0
  42. package/api/getStoreConfig/index.d.ts.map +1 -0
  43. package/api/graphql/CartFragment.d.ts +3 -0
  44. package/api/graphql/CartFragment.d.ts.map +1 -0
  45. package/api/index.d.ts +12 -0
  46. package/api/index.d.ts.map +1 -0
  47. package/api/initialize/index.d.ts +2 -0
  48. package/api/initialize/index.d.ts.map +1 -0
  49. package/api/initialize/initialize.d.ts +11 -0
  50. package/api/initialize/initialize.d.ts.map +1 -0
  51. package/api/initializeCart/graphql/MergeCartsMutation.d.ts +2 -0
  52. package/api/initializeCart/graphql/MergeCartsMutation.d.ts.map +1 -0
  53. package/api/initializeCart/index.d.ts +2 -0
  54. package/api/initializeCart/index.d.ts.map +1 -0
  55. package/api/initializeCart/initializeCart.d.ts +4 -0
  56. package/api/initializeCart/initializeCart.d.ts.map +1 -0
  57. package/api/resetCart/index.d.ts +2 -0
  58. package/api/resetCart/index.d.ts.map +1 -0
  59. package/api/resetCart/resetCart.d.ts +4 -0
  60. package/api/resetCart/resetCart.d.ts.map +1 -0
  61. package/api/updateProductsFromCart/graphql/UpdateProductsMutation.d.ts +2 -0
  62. package/api/updateProductsFromCart/graphql/UpdateProductsMutation.d.ts.map +1 -0
  63. package/api/updateProductsFromCart/index.d.ts +2 -0
  64. package/api/updateProductsFromCart/index.d.ts.map +1 -0
  65. package/api/updateProductsFromCart/updateProductsFromCart.d.ts +9 -0
  66. package/api/updateProductsFromCart/updateProductsFromCart.d.ts.map +1 -0
  67. package/api.d.ts +1 -0
  68. package/api.js +26 -1
  69. package/api.js.map +1 -0
  70. package/chunks/MiniCart.js +2 -0
  71. package/chunks/MiniCart.js.map +1 -0
  72. package/chunks/getEstimatedTotals.js +70 -0
  73. package/chunks/getEstimatedTotals.js.map +1 -0
  74. package/chunks/getStoreConfig.js +278 -0
  75. package/chunks/getStoreConfig.js.map +1 -0
  76. package/chunks/updateProductsFromCart.js +21 -0
  77. package/chunks/updateProductsFromCart.js.map +1 -0
  78. package/components/Cart/Cart.d.ts +11 -0
  79. package/components/Cart/Cart.d.ts.map +1 -0
  80. package/components/Cart/index.d.ts +3 -0
  81. package/components/Cart/index.d.ts.map +1 -0
  82. package/components/EmptyCart/EmptyCart.d.ts +8 -0
  83. package/components/EmptyCart/EmptyCart.d.ts.map +1 -0
  84. package/components/EmptyCart/index.d.ts +3 -0
  85. package/components/EmptyCart/index.d.ts.map +1 -0
  86. package/components/MiniCart/MiniCart.d.ts +13 -0
  87. package/components/MiniCart/MiniCart.d.ts.map +1 -0
  88. package/components/MiniCart/index.d.ts +3 -0
  89. package/components/MiniCart/index.d.ts.map +1 -0
  90. package/components/index.d.ts +4 -0
  91. package/components/index.d.ts.map +1 -0
  92. package/containers/Cart/Cart.d.ts +15 -0
  93. package/containers/Cart/Cart.d.ts.map +1 -0
  94. package/containers/Cart/index.d.ts +3 -0
  95. package/containers/Cart/index.d.ts.map +1 -0
  96. package/containers/Cart.d.ts +3 -0
  97. package/containers/Cart.js +2 -1
  98. package/containers/Cart.js.map +1 -0
  99. package/containers/MiniCart/MiniCart.d.ts +12 -0
  100. package/containers/MiniCart/MiniCart.d.ts.map +1 -0
  101. package/containers/MiniCart/index.d.ts +3 -0
  102. package/containers/MiniCart/index.d.ts.map +1 -0
  103. package/containers/MiniCart.d.ts +3 -0
  104. package/containers/MiniCart.js +2 -1
  105. package/containers/MiniCart.js.map +1 -0
  106. package/containers/index.d.ts +3 -0
  107. package/containers/index.d.ts.map +1 -0
  108. package/data/models/acdl-models.d.ts +73 -0
  109. package/data/models/acdl-models.d.ts.map +1 -0
  110. package/data/models/cart-model.d.ts +88 -0
  111. package/data/models/cart-model.d.ts.map +1 -0
  112. package/data/models/index.d.ts +3 -0
  113. package/data/models/index.d.ts.map +1 -0
  114. package/data/models/store-models.d.ts +21 -0
  115. package/data/models/store-models.d.ts.map +1 -0
  116. package/data/transforms/__fixtures__/cartModel.d.ts +4 -0
  117. package/data/transforms/__fixtures__/cartModel.d.ts.map +1 -0
  118. package/data/transforms/__fixtures__/estimatedTotalsData.d.ts +59 -0
  119. package/data/transforms/__fixtures__/estimatedTotalsData.d.ts.map +1 -0
  120. package/data/transforms/__fixtures__/productTypesData.d.ts +710 -0
  121. package/data/transforms/__fixtures__/productTypesData.d.ts.map +1 -0
  122. package/data/transforms/acdl-context.d.ts +11 -0
  123. package/data/transforms/acdl-context.d.ts.map +1 -0
  124. package/data/transforms/index.d.ts +3 -0
  125. package/data/transforms/index.d.ts.map +1 -0
  126. package/data/transforms/transform-cart.d.ts +4 -0
  127. package/data/transforms/transform-cart.d.ts.map +1 -0
  128. package/data/transforms/transform-store-config.d.ts +4 -0
  129. package/data/transforms/transform-store-config.d.ts.map +1 -0
  130. package/hooks/index.d.ts +3 -0
  131. package/hooks/index.d.ts.map +1 -0
  132. package/hooks/useEstimatedShipping.d.ts +25 -0
  133. package/hooks/useEstimatedShipping.d.ts.map +1 -0
  134. package/hooks/useEstimatedTotals.d.ts +12 -0
  135. package/hooks/useEstimatedTotals.d.ts.map +1 -0
  136. package/i18n/en_US.json.d.ts +50 -0
  137. package/lib/acdl.d.ts +26 -0
  138. package/lib/acdl.d.ts.map +1 -0
  139. package/lib/cookies.d.ts +2 -0
  140. package/lib/cookies.d.ts.map +1 -0
  141. package/lib/fetch-error.d.ts +8 -0
  142. package/lib/fetch-error.d.ts.map +1 -0
  143. package/lib/persisted-data.d.ts +5 -0
  144. package/lib/persisted-data.d.ts.map +1 -0
  145. package/lib/state.d.ts +11 -0
  146. package/lib/state.d.ts.map +1 -0
  147. package/package.json +1 -1
  148. package/render/Provider.d.ts +8 -0
  149. package/render/Provider.d.ts.map +1 -0
  150. package/render/index.d.ts +2 -0
  151. package/render/index.d.ts.map +1 -0
  152. package/render/render.d.ts +4 -0
  153. package/render/render.d.ts.map +1 -0
  154. package/render.d.ts +1 -0
  155. package/render.js +3 -1
  156. package/render.js.map +1 -0
  157. package/108.js +0 -1
  158. package/12.js +0 -1
  159. package/148.js +0 -1
  160. package/176.js +0 -1
  161. package/180.js +0 -1
  162. package/220.js +0 -1
  163. package/328.js +0 -1
  164. package/388.js +0 -1
  165. package/4.js +0 -1
  166. package/424.js +0 -1
  167. package/456.js +0 -1
  168. package/484.js +0 -1
  169. package/488.js +0 -1
  170. package/524.js +0 -1
  171. package/543.js +0 -1
  172. package/604.js +0 -1
  173. package/664.js +0 -1
  174. package/680.js +0 -1
  175. package/728.js +0 -1
  176. package/756.js +0 -1
  177. package/764.js +0 -1
  178. package/772.js +0 -1
  179. package/805.js +0 -1
  180. package/820.js +0 -1
  181. package/824.js +0 -1
  182. package/832.js +0 -1
  183. package/844.js +0 -1
  184. package/868.js +0 -1
  185. package/916.js +0 -1
  186. package/920.js +0 -1
  187. package/928.js +0 -1
  188. package/940.js +0 -1
  189. package/984.js +0 -1
  190. package/992.js +0 -1
  191. package/996.js +0 -1
  192. package/runtime.js +0 -1
@@ -0,0 +1,278 @@
1
+ import{events as l}from"@dropins/tools/event-bus.js";import{FetchGraphQL as N}from"@dropins/tools/fetch-graphql.js";import{Initializer as z}from"@dropins/tools/lib.js";function U(e){const t=document.cookie.split(";");for(let n=0;n<t.length;n++){const r=t[n].trim();if(r.indexOf(`${e}=`)===0)return r.substring(e.length+1)}return null}const M={cartId:null,authenticated:!1},c=new Proxy(M,{set(e,t,n){var r;if(e[t]=n,t==="cartId"){if(n===c.cartId)return!0;if(n===null)return document.cookie="DROPIN__CART__CART-ID=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/",!0;const a=(r=c.config)==null?void 0:r.cartExpiresInDays;a||console.warn('Missing "expiresInDays" config. Cookie expiration will default to 30 days.');const u=new Date;u.setDate(u.getDate()+(a??30)),document.cookie=`DROPIN__CART__CART-ID=${n}; expires=${u.toUTCString()}; path=/`}return!0},get(e,t){return t==="cartId"?U("DROPIN__CART__CART-ID"):e[t]}});function k(e){e?sessionStorage.setItem("DROPIN__CART__CART__DATA",JSON.stringify(e)):sessionStorage.removeItem("DROPIN__CART__CART__DATA")}function ue(){const e=sessionStorage.getItem("DROPIN__CART__CART__DATA");return e?JSON.parse(e):null}const G=new z({init:async e=>{const t={disableGuestCart:!1,...e};G.config.setConfig(t),o()},listeners:()=>[l.on("authenticated",async e=>{e!==c.authenticated&&(c.authenticated=e,o().catch(console.error))}),l.on("locale",async e=>{e!==c.locale&&(c.locale=e,o().catch(console.error))}),l.on("cart/reset",()=>{P().catch(console.error)}),l.on("cart/data",e=>{k(e)})]}),F=G.config,{setEndpoint:ie,setFetchGraphQlHeader:le,removeFetchGraphQlHeader:se,setFetchGraphQlHeaders:oe,fetchGraphQl:_,getConfig:_e}=new N().getMethods();function g(e){var t,n,r,a,u,i,s;return e?{id:e.id,totalQuantity:X(e),errors:q(e==null?void 0:e.itemsV2),items:A(e==null?void 0:e.itemsV2),miniCartMaxItems:A(e==null?void 0:e.itemsV2).slice(0,((t=c.config)==null?void 0:t.miniCartMaxItemsDisplay)??10),total:{includingTax:{value:e.prices.grand_total.value,currency:e.prices.grand_total.currency},excludingTax:{value:e.prices.grand_total_excluding_tax.value,currency:e.prices.grand_total_excluding_tax.currency}},subtotal:{excludingTax:{value:(n=e.prices.subtotal_excluding_tax)==null?void 0:n.value,currency:(r=e.prices.subtotal_excluding_tax)==null?void 0:r.currency},includingTax:{value:(a=e.prices.subtotal_including_tax)==null?void 0:a.value,currency:(u=e.prices.subtotal_including_tax)==null?void 0:u.currency},includingDiscountOnly:{value:(i=e.prices.subtotal_with_discount_excluding_tax)==null?void 0:i.value,currency:(s=e.prices.subtotal_with_discount_excluding_tax)==null?void 0:s.currency}},appliedTaxes:D(e.prices.applied_taxes),totalTax:Q(e.prices.applied_taxes),appliedDiscounts:D(e.prices.discounts),isVirtual:e.is_virtual,addresses:{shipping:e.shipping_addresses&&Y(e.shipping_addresses)}}:null}function Q(e){return e!=null&&e.length?e.reduce((t,n)=>({value:t.value+n.amount.value,currency:n.amount.currency}),{value:0,currency:""}):null}function A(e){var n;if(!((n=e==null?void 0:e.items)!=null&&n.length))return[];const t=c.config;return e.items.map(r=>{var a,u,i,s,f,C,h,b,x,I,v,T,S,R,E;return{itemType:r.__typename,uid:r.uid,url:{urlKey:r.product.url_key,categories:r.product.categories.map($=>$.url_key)},quantity:r.quantity,sku:r.product.sku,name:r.product.name,image:{src:t!=null&&t.useConfigurableParentThumbnail?r.product.thumbnail.url:((u=(a=r.configured_variant)==null?void 0:a.thumbnail)==null?void 0:u.url)||r.product.thumbnail.url,alt:t!=null&&t.useConfigurableParentThumbnail?r.product.thumbnail.label:((s=(i=r.configured_variant)==null?void 0:i.thumbnail)==null?void 0:s.label)||r.product.thumbnail.label},price:{value:r.prices.price.value,currency:r.prices.price.currency},taxedPrice:{value:r.prices.price_including_tax.value,currency:r.prices.price_including_tax.currency},rowTotal:{value:r.prices.row_total.value,currency:r.prices.row_total.currency},rowTotalIncludingTax:{value:r.prices.row_total_including_tax.value,currency:r.prices.row_total_including_tax.currency},links:j(r.links),total:r.__typename==="SimpleCartItem"&&r.customizable_options.length!==0||r.__typename==="BundleCartItem"?{value:r.prices.row_total.value,currency:r.prices.row_total.currency}:{value:(f=r.prices.original_row_total)==null?void 0:f.value,currency:(C=r.prices.original_row_total)==null?void 0:C.currency},discount:{value:r.prices.total_item_discount.value,currency:r.prices.total_item_discount.currency},regularPrice:r.__typename==="ConfigurableCartItem"?{value:(b=(h=r.configured_variant)==null?void 0:h.price_range)==null?void 0:b.maximum_price.regular_price.value,currency:(I=(x=r.configured_variant)==null?void 0:x.price_range)==null?void 0:I.maximum_price.regular_price.currency}:r.__typename==="GiftCardCartItem"||r.__typename==="SimpleCartItem"&&r.customizable_options.length!==0||r.__typename==="BundleCartItem"?{value:r.prices.price.value,currency:r.prices.price.currency}:{value:(v=r.product.price_range)==null?void 0:v.maximum_price.regular_price.value,currency:(T=r.product.price_range)==null?void 0:T.maximum_price.regular_price.currency},discounted:r.__typename==="BundleCartItem"||r.__typename==="SimpleCartItem"&&r.customizable_options.length!==0?!1:r.__typename==="ConfigurableCartItem"?((R=(S=r.configured_variant)==null?void 0:S.price_range)==null?void 0:R.maximum_price.discount.amount_off)>0:((E=r.product.price_range)==null?void 0:E.maximum_price.discount.amount_off)>0,bundleOptions:r.__typename==="BundleCartItem"?L(r.bundle_options):null,selectedOptions:B(r.configurable_options),customizableOptions:V(r.customizable_options),sender:r.__typename==="GiftCardCartItem"?r.sender_name:null,senderEmail:r.__typename==="GiftCardCartItem"?r.sender_email:null,recipient:r.__typename==="GiftCardCartItem"?r.recipient_name:null,recipientEmail:r.__typename==="GiftCardCartItem"?r.recipient_email:null,message:r.__typename==="GiftCardCartItem"?r.message:null,discountedTotal:{value:r.prices.row_total.value,currency:r.prices.row_total.currency}}})}function q(e){var n;const t=(n=e==null?void 0:e.items)==null?void 0:n.reduce((r,a)=>{var u;return(u=a.errors)==null||u.forEach(i=>{r.push({uid:a.uid,text:i.message})}),r},[]);return t!=null&&t.length?t:null}function D(e){return e!=null&&e.length?e.map(t=>({amount:{value:t.amount.value,currency:t.amount.currency},label:t.label})):[]}function L(e){const t=e==null?void 0:e.map(r=>({uid:r.uid,label:r.label,value:r.values.map(a=>a.label).join(", ")})),n={};return t==null||t.forEach(r=>{n[r.label]=r.value}),Object.keys(n).length>0?n:null}function B(e){const t=e==null?void 0:e.map(r=>({uid:r.configurable_product_option_uid,label:r.option_label,value:r.value_label})),n={};return t==null||t.forEach(r=>{n[r.label]=r.value}),Object.keys(n).length>0?n:null}function V(e){const t=e==null?void 0:e.map(r=>({uid:r.customizable_option_uid,label:r.label,type:r.type,values:r.values.map(a=>({uid:a.customizable_option_value_uid,label:a.label,value:a.value}))})),n={};return t==null||t.forEach(r=>{switch(r.type){case"field":case"area":case"date_time":n[r.label]=r.values[0].value;break;case"radio":case"drop_down":n[r.label]=r.values[0].label;break;case"multiple":case"checkbox":n[r.label]=r.values.reduce((a,u)=>a?`${a}, ${u.label}`:u.label,"");break}}),n}function X(e){var t,n;return((t=c.config)==null?void 0:t.cartSummaryDisplayTotal)===0?e.itemsV2.items.length:((n=c.config)==null?void 0:n.cartSummaryDisplayTotal)===1?e.total_quantity:e.itemsV2.items.length}function j(e){return(e==null?void 0:e.length)>0?{count:e.length,result:e.map(t=>t.title).join(", ")}:null}function Y(e){return e!=null&&e.length?e.map(t=>{var n,r;return{countryCode:(n=t.country)==null?void 0:n.code,zipCode:t.postcode,regionCode:(r=t.region)==null?void 0:r.code}}):null}function H(e){if(!e)return null;const t=n=>{switch(n){case 1:return"EXCLUDING_TAX";case 2:return"INCLUDING_TAX";case 3:return"INCLUDING_EXCLUDING_TAX";default:return"EXCLUDING_TAX"}};return{displayMiniCart:e.minicart_display,miniCartMaxItemsDisplay:e.minicart_max_items,cartExpiresInDays:e.cart_expires_in_days,cartSummaryDisplayTotal:e.cart_summary_display_quantity,defaultCountry:e.default_country,categoryFixedProductTaxDisplaySetting:e.category_fixed_product_tax_display_setting,productFixedProductTaxDisplaySetting:e.product_fixed_product_tax_display_setting,salesFixedProductTaxDisplaySetting:e.sales_fixed_product_tax_display_setting,shoppingCartDisplaySetting:{zeroTax:e.shopping_cart_display_zero_tax,subtotal:t(e.shopping_cart_display_subtotal),price:t(e.shopping_cart_display_price),shipping:t(e.shopping_cart_display_shipping),fullSummary:e.shopping_cart_display_full_summary,grandTotal:e.shopping_cart_display_grand_total,taxGiftWrapping:e.shopping_cart_display_tax_gift_wrapping},useConfigurableParentThumbnail:e.configurable_thumbnail_source==="parent"}}const d=e=>{const t=e.findIndex(({extensions:a})=>(a==null?void 0:a.category)==="graphql-authorization")>-1,n=e.findIndex(({extensions:a})=>(a==null?void 0:a.category)==="graphql-no-such-entity")>-1,r=e.map(a=>a.message).join(" ");if(t||n)return P(),console.error(r),null;throw Error(r)},p=`
2
+ customizable_options {
3
+ type
4
+ customizable_option_uid
5
+ label
6
+ is_required
7
+ values {
8
+ label
9
+ value
10
+ price{
11
+ type
12
+ units
13
+ value
14
+ }
15
+ }
16
+ }
17
+ `,w=`
18
+ price_range {
19
+ minimum_price {
20
+ regular_price {
21
+ value
22
+ currency
23
+ }
24
+ final_price {
25
+ value
26
+ currency
27
+ }
28
+ discount {
29
+ percent_off
30
+ amount_off
31
+ }
32
+ }
33
+ maximum_price {
34
+ regular_price {
35
+ value
36
+ currency
37
+ }
38
+ final_price {
39
+ value
40
+ currency
41
+ }
42
+ discount {
43
+ percent_off
44
+ amount_off
45
+ }
46
+ }
47
+ }
48
+ `,y=`
49
+ fragment CartFragment on Cart {
50
+ id
51
+ total_quantity
52
+ is_virtual
53
+ prices {
54
+ subtotal_with_discount_excluding_tax {
55
+ currency
56
+ value
57
+ }
58
+ subtotal_including_tax {
59
+ currency
60
+ value
61
+ }
62
+ subtotal_excluding_tax {
63
+ currency
64
+ value
65
+ }
66
+ grand_total {
67
+ currency
68
+ value
69
+ }
70
+ grand_total_excluding_tax {
71
+ currency
72
+ value
73
+ }
74
+ applied_taxes {
75
+ label,
76
+ amount {
77
+ value
78
+ currency
79
+ }
80
+ }
81
+ discounts {
82
+ amount {
83
+ value
84
+ currency
85
+ }
86
+ label
87
+ }
88
+ }
89
+ itemsV2 (
90
+ pageSize:$pageSize,
91
+ currentPage:$currentPage,
92
+ sort: $itemsSortInput
93
+ ) {
94
+ items {
95
+ __typename
96
+ uid
97
+ quantity
98
+
99
+ errors {
100
+ code
101
+ message
102
+ }
103
+
104
+ prices {
105
+ price {
106
+ value
107
+ currency
108
+ }
109
+ total_item_discount {
110
+ value
111
+ currency
112
+ }
113
+ row_total {
114
+ value
115
+ currency
116
+ }
117
+ row_total_including_tax {
118
+ value
119
+ currency
120
+ }
121
+ price_including_tax {
122
+ value
123
+ currency
124
+ }
125
+ fixed_product_taxes {
126
+ amount {
127
+ value
128
+ currency
129
+ }
130
+ label
131
+ }
132
+ original_row_total{
133
+ value
134
+ currency
135
+ }
136
+ }
137
+
138
+ product {
139
+ name
140
+ sku
141
+ thumbnail {
142
+ url
143
+ label
144
+ }
145
+ url_key
146
+ url_suffix
147
+ categories {
148
+ url_path
149
+ url_key
150
+ }
151
+ ${w}
152
+ }
153
+ ...on SimpleCartItem {
154
+ ${p}
155
+ }
156
+ ... on ConfigurableCartItem {
157
+ configurable_options {
158
+ configurable_product_option_uid
159
+ option_label
160
+ value_label
161
+ }
162
+ configured_variant {
163
+ uid
164
+ sku
165
+ thumbnail {
166
+ label
167
+ url
168
+ }
169
+ ${w}
170
+ }
171
+ ${p}
172
+ }
173
+ ... on DownloadableCartItem {
174
+ links {
175
+ sort_order
176
+ title
177
+ }
178
+ ${p}
179
+ }
180
+ ... on BundleCartItem {
181
+ bundle_options {
182
+ uid
183
+ label
184
+ values {
185
+ uid
186
+ label
187
+ }
188
+ }
189
+ }
190
+ ... on GiftCardCartItem {
191
+ message
192
+ recipient_email
193
+ recipient_name
194
+ sender_email
195
+ sender_name
196
+ amount{
197
+ currency
198
+ value
199
+ }
200
+ is_available
201
+ }
202
+ }
203
+ }
204
+ shipping_addresses {
205
+ country {
206
+ code
207
+ }
208
+ region {
209
+ code
210
+ }
211
+ postcode
212
+ }
213
+ }
214
+ `,m=`
215
+ $pageSize: Int! = 100,
216
+ $currentPage: Int! = 1,
217
+ $itemsSortInput: QuoteItemsSortInput! = {field: CREATED_AT, order: DESC}
218
+ `,J=`
219
+ query GUEST_CART_QUERY(
220
+ $cartId: String!,
221
+ ${m}
222
+ ) {
223
+
224
+ cart(cart_id: $cartId){
225
+ ...CartFragment
226
+ }
227
+ }
228
+
229
+ ${y}
230
+ `,K=`
231
+ query CUSTOMER_CART_QUERY(
232
+ ${m}
233
+ ) {
234
+
235
+ cart: customerCart {
236
+ ...CartFragment
237
+ }
238
+ }
239
+
240
+ ${y}
241
+ `,O=async()=>{const e=c.authenticated,t=c.cartId;if(e)return _(K,{method:"POST"}).then(({errors:n,data:r})=>n?d(n):g(r.cart));if(!t)throw new Error("No cart ID found");return _(J,{method:"POST",cache:"no-cache",variables:{cartId:t}}).then(({errors:n,data:r})=>n?d(n):g(r.cart))},W=`
242
+ mutation MERGE_CARTS_MUTATION(
243
+ $guestCartId: String!,
244
+ $customerCartId: String!,
245
+ ${m}
246
+ ) {
247
+ mergeCarts(
248
+ source_cart_id: $guestCartId,
249
+ destination_cart_id: $customerCartId
250
+ ) {
251
+ ...CartFragment
252
+ }
253
+ }
254
+
255
+ ${y}
256
+ `,o=async()=>{c.config=await te();const e=c.authenticated?await Z():await ee();return l.emit("cart/initialized",e),l.emit("cart/data",e),e};async function Z(){const e=c.cartId,t=await O();return t?(c.cartId=t.id,!e||t.id===e?t:await _(W,{variables:{guestCartId:e,customerCartId:t.id}}).then(({data:n})=>g(n.mergeCarts)).catch(()=>(console.error("Could not merge carts"),t))):null}async function ee(){if(F.getConfig().disableGuestCart===!0||!c.cartId)return null;try{return await O()}catch(e){return console.error(e),null}}const P=()=>(c.cartId=null,c.authenticated=!1,o()),re=`
257
+ query STORE_CONFIG_QUERY {
258
+ storeConfig {
259
+ minicart_display
260
+ minicart_max_items
261
+ cart_expires_in_days
262
+ cart_summary_display_quantity
263
+ default_country
264
+ category_fixed_product_tax_display_setting
265
+ product_fixed_product_tax_display_setting
266
+ sales_fixed_product_tax_display_setting
267
+ shopping_cart_display_full_summary
268
+ shopping_cart_display_grand_total
269
+ shopping_cart_display_price
270
+ shopping_cart_display_shipping
271
+ shopping_cart_display_subtotal
272
+ shopping_cart_display_tax_gift_wrapping
273
+ shopping_cart_display_zero_tax
274
+ configurable_thumbnail_source
275
+ }
276
+ }
277
+ `,te=async()=>_(re,{method:"GET",cache:"force-cache"}).then(({errors:e,data:t})=>e?d(e):H(t.storeConfig));export{m as C,y as a,ie as b,F as c,le as d,oe as e,_ as f,_e as g,d as h,G as i,O as j,o as k,P as l,te as m,ue as n,se as r,c as s,g as t};
278
+ //# sourceMappingURL=getStoreConfig.js.map
@@ -0,0 +1 @@
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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"}
@@ -0,0 +1,21 @@
1
+ import{C as P,a as A,s as f,f as I,h as v,t as D}from"./getStoreConfig.js";import{events as g}from"@dropins/tools/event-bus.js";function T(r){const{cart:e,locale:t="en-US"}=r;return{id:e.id,items:m(e.items,t),prices:{subtotalExcludingTax:e.subtotal.excludingTax,subtotalIncludingTax:e.subtotal.includingTax},totalQuantity:e.totalQuantity,possibleOnepageCheckout:void 0,giftMessageSelected:void 0,giftWrappingSelected:void 0,source:void 0}}function m(r,e){return r.map(t=>{var a;return{canApplyMsrp:!1,formattedPrice:h(e,t.price.currency,t.price.value),id:t.uid,prices:{price:t.price},product:{productId:t.uid,name:t.name,sku:t.sku,topLevelSku:void 0,specialToDate:void 0,specialFromDate:void 0,newToDate:void 0,newFromDate:void 0,createdAt:void 0,updatedAt:void 0,manufacturer:void 0,countryOfManufacture:void 0,categories:t.url.categories,productType:void 0,pricing:{regularPrice:t.regularPrice.value,minimalPrice:void 0,maximalPrice:void 0,specialPrice:(a=t.discount)==null?void 0:a.value,tierPricing:void 0,currencyCode:t.regularPrice.currency},canonicalUrl:t.url.urlKey,mainImageUrl:t.image.src,image:{src:t.image.src,alt:t.image.alt}},configurableOptions:void 0,quantity:t.quantity}})}function h(r,e,t){const a=r.replace("_","-");return new Intl.NumberFormat(a,{style:"currency",currency:e}).format(t)}const c={SHOPPING_CART_CONTEXT:"shoppingCartContext",PRODUCT_CONTEXT:"productContext",CHANGED_PRODUCTS_CONTEXT:"changedProductsContext"},s={OPEN_CART:"open-cart",ADD_TO_CART:"add-to-cart",REMOVE_FROM_CART:"remove-from-cart",SHOPPING_CART_VIEW:"shopping-cart-view"};function _(){return window.adobeDataLayer=window.adobeDataLayer||[],window.adobeDataLayer}function i(r,e){const t=_();t.push({[r]:null}),t.push({[r]:e})}function l(r,e){_().push(a=>{const n=a.getState?a.getState():{};a.push({event:r,eventInfo:{...n,...e}})})}function b(r,e,t){const a=T({cart:r,locale:t});i(c.SHOPPING_CART_CONTEXT,{...a}),l(s.OPEN_CART),m(e,t).forEach(d=>{i(c.PRODUCT_CONTEXT,d.product),p(a,[d],s.ADD_TO_CART)})}function x(r,e){const t=T({cart:r,locale:e});i(c.SHOPPING_CART_CONTEXT,{...t}),l(s.SHOPPING_CART_VIEW)}function p(r,e,t){const a={items:e};i(c.SHOPPING_CART_CONTEXT,{...r}),i(c.CHANGED_PRODUCTS_CONTEXT,{...a}),l(t)}function N(r,e,t){const a=T({cart:r,locale:t}),n=a.items,d=_(),E=d.getState?d.getState():{},{shoppingCartContext:{items:R=[]}={}}=E;e.forEach(O=>{const u=R.find(C=>C.id===O.uid),o=n.find(C=>C.id===O.uid);!o&&!u||(!u&&o?(i(c.PRODUCT_CONTEXT,o.product),p(a,[o],s.ADD_TO_CART)):u&&!o?(i(c.PRODUCT_CONTEXT,u.product),p(a,[u],s.REMOVE_FROM_CART)):o.quantity>u.quantity?(i(c.PRODUCT_CONTEXT,o.product),p(a,[o],s.ADD_TO_CART)):(i(c.PRODUCT_CONTEXT,o.product),p(a,[o],s.REMOVE_FROM_CART)))})}const y=`
2
+ mutation UPDATE_PRODUCTS_FROM_CART_MUTATION(
3
+ $cartId: String!,
4
+ $cartItems: [CartItemUpdateInput!]!,
5
+ ${P}
6
+ ) {
7
+ updateCartItems(
8
+ input: {
9
+ cart_id: $cartId
10
+ cart_items: $cartItems
11
+ }
12
+ ) {
13
+ cart {
14
+ ...CartFragment
15
+ }
16
+
17
+ }
18
+ }
19
+ ${A}
20
+ `,M=async r=>{const e=f.cartId;if(!e)throw Error("Cart ID is not set");return I(y,{variables:{cartId:e,cartItems:r.map(({uid:t,quantity:a})=>({cart_item_uid:t,quantity:a}))}}).then(({errors:t,data:a})=>{if(t)return v(t);const n=D(a.updateCartItems.cart);return g.emit("cart/updated",n),g.emit("cart/data",n),n&&N(n,r,f.locale||"en-US"),n})};export{N as a,x as b,b as p,M as u};
21
+ //# sourceMappingURL=updateProductsFromCart.js.map
@@ -0,0 +1 @@
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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"}
@@ -0,0 +1,11 @@
1
+ import { FunctionComponent, VNode } from 'preact';
2
+ import { HTMLAttributes } from 'preact/compat';
3
+
4
+ export interface CartProps extends HTMLAttributes<HTMLDivElement> {
5
+ emptyCart: VNode;
6
+ heading?: VNode;
7
+ products?: VNode;
8
+ priceSummary?: VNode<HTMLAttributes<HTMLElement>>;
9
+ }
10
+ export declare const Cart: FunctionComponent<CartProps>;
11
+ //# sourceMappingURL=Cart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cart.d.ts","sourceRoot":"","sources":["../../../src/components/Cart/Cart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAI/C,OAAO,iCAAiC,CAAC;AAEzC,MAAM,WAAW,SAAU,SAAQ,cAAc,CAAC,cAAc,CAAC;IAC/D,SAAS,EAAE,KAAK,CAAC;IACjB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,YAAY,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;CACnD;AAED,eAAO,MAAM,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAkD7C,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './Cart';
2
+ export { Cart as default } from './Cart';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Cart/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { FunctionComponent } from 'preact';
2
+ import { HTMLAttributes } from 'preact/compat';
3
+
4
+ export interface EmptyCartProps extends HTMLAttributes<HTMLDivElement> {
5
+ ctaLinkURL?: string;
6
+ }
7
+ export declare const EmptyCart: FunctionComponent<EmptyCartProps>;
8
+ //# sourceMappingURL=EmptyCart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyCart.d.ts","sourceRoot":"","sources":["../../../src/components/EmptyCart/EmptyCart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAM/C,OAAO,2CAA2C,CAAC;AAEnD,MAAM,WAAW,cAAe,SAAQ,cAAc,CAAC,cAAc,CAAC;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAmCvD,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './EmptyCart';
2
+ export { EmptyCart as default } from './EmptyCart';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/EmptyCart/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC;AACtD,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,uCAAuC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { FunctionComponent, VNode } from 'preact';
2
+ import { HTMLAttributes } from 'preact/compat';
3
+
4
+ export interface MiniCartProps extends HTMLAttributes<HTMLDivElement> {
5
+ emptyCart: VNode;
6
+ heading?: VNode;
7
+ products?: VNode;
8
+ subtotal?: VNode;
9
+ subtotalExcludingTaxes?: VNode;
10
+ ctas?: VNode;
11
+ }
12
+ export declare const MiniCart: FunctionComponent<MiniCartProps>;
13
+ //# sourceMappingURL=MiniCart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MiniCart.d.ts","sourceRoot":"","sources":["../../../src/components/MiniCart/MiniCart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAK/C,OAAO,yCAAyC,CAAC;AAEjD,MAAM,WAAW,aAAc,SAAQ,cAAc,CAAC,cAAc,CAAC;IACnE,SAAS,EAAE,KAAK,CAAC;IACjB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,sBAAsB,CAAC,EAAE,KAAK,CAAC;IAC/B,IAAI,CAAC,EAAE,KAAK,CAAC;CACd;AAED,eAAO,MAAM,QAAQ,EAAE,iBAAiB,CAAC,aAAa,CAoErD,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './MiniCart';
2
+ export { MiniCart as default } from './MiniCart';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/MiniCart/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,qCAAqC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './EmptyCart';
2
+ export * from './Cart';
3
+ export * from './MiniCart';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { HTMLAttributes } from 'preact/compat';
2
+ import { Container } from '@dropins/tools/types/elsie/src/lib';
3
+ import { CartModel } from '../../data/models';
4
+
5
+ interface CheckoutRouteContext {
6
+ cartId: string;
7
+ }
8
+ export interface CartProps extends HTMLAttributes<HTMLDivElement> {
9
+ routeProduct?: (item: CartModel['items'][0]) => string;
10
+ routeEmptyCartCTA?: () => string;
11
+ routeCheckout?: (context: CheckoutRouteContext) => string;
12
+ }
13
+ export declare const Cart: Container<CartProps, CartModel | null>;
14
+ export {};
15
+ //# sourceMappingURL=Cart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cart.d.ts","sourceRoot":"","sources":["../../../src/containers/Cart/Cart.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAIf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAoB/C,UAAU,oBAAoB;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,SAAU,SAAQ,cAAc,CAAC,cAAc,CAAC;IAE/D,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC;IACvD,iBAAiB,CAAC,EAAE,MAAM,MAAM,CAAC;IACjC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,MAAM,CAAC;CAC3D;AAED,eAAO,MAAM,IAAI,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CA2kBvD,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './Cart';
2
+ export { Cart as default } from './Cart';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/containers/Cart/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './Cart/index'
2
+ import _default from './Cart/index'
3
+ export default _default