@dropins/storefront-cart 0.2.0-alpha77 → 0.2.0-beta2

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.
@@ -1 +1 @@
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,0BA2CrB,CAAC;AAEH,eAAO,MAAM,MAAM,gDAAoB,CAAC"}
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 +1 @@
1
- {"version":3,"file":"resetCart.d.ts","sourceRoot":"","sources":["../../../src/api/resetCart/resetCart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,eAAO,MAAM,SAAS,QAAO,QAAQ,SAAS,GAAG,IAAI,CAKpD,CAAC"}
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"}
package/api.js CHANGED
@@ -1,4 +1,4 @@
1
- import{C,a as T,s as n,f as m,h as u,t as f}from"./chunks/resetCart.js";import{g as D,r as b,e as F,b as x,c as y,d as $}from"./chunks/resetCart.js";import{events as d}from"@dropins/tools/event-bus.js";import{p as l,a as I}from"./chunks/updateProductsFromCart.js";import{u as w}from"./chunks/updateProductsFromCart.js";import{c as g}from"./chunks/initializeCart.js";import{g as H,i as k,a as z}from"./chunks/initializeCart.js";import{g as j}from"./chunks/getStoreConfig.js";import{a as B,g as J,c as K,b as L}from"./chunks/getEstimatedTotals.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/lib.js";const E=`
1
+ import{C,a as T,s as n,f as m,h as u,t as l,c as I}from"./chunks/getStoreConfig.js";import{j as P,g as D,m as b,i as F,k as y,r as $,l as v,b as w,d as x,e as Q}from"./chunks/getStoreConfig.js";import{events as d}from"@dropins/tools/event-bus.js";import{p as f,a as g}from"./chunks/updateProductsFromCart.js";import{u as H}from"./chunks/updateProductsFromCart.js";import{a as Y,g as j,c as q,b as B}from"./chunks/getEstimatedTotals.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/lib.js";const E=`
2
2
  mutation ADD_PRODUCTS_TO_CART_MUTATION(
3
3
  $cartId: String!,
4
4
  $cartItems: [CartItemInput!]!,
@@ -18,9 +18,9 @@ import{C,a as T,s as n,f as m,h as u,t as f}from"./chunks/resetCart.js";import{g
18
18
  }
19
19
  }
20
20
  ${T}
21
- `,M=async r=>{let e=!1;const s=n.cartId||await h().then(a=>(e=!0,a));return m(E,{variables:{cartId:s,cartItems:r.map(({sku:a,parentSku:i,quantity:t,optionsUIDs:o,enteredOptions:c})=>({sku:a,parent_sku:i,quantity:t,selected_options:o,entered_options:c}))}}).then(({errors:a,data:i})=>{if(a)return u(a);const t=f(i.addProductsToCart.cart);if(d.emit("cart/updated",t),d.emit("cart/data",t),t){const o=t.items.filter(c=>r.some(({sku:p})=>p===c.sku));e?l(t,o,n.locale||"en-US"):I(t,o,n.locale||"en-US")}return t})},_=`
21
+ `,G=async e=>{let r=!1;const s=n.cartId||await h().then(a=>(r=!0,a));return m(E,{variables:{cartId:s,cartItems:e.map(({sku:a,parentSku:i,quantity:t,optionsUIDs:o,enteredOptions:c})=>({sku:a,parent_sku:i,quantity:t,selected_options:o,entered_options:c}))}}).then(({errors:a,data:i})=>{if(a)return u(a);const t=l(i.addProductsToCart.cart);if(d.emit("cart/updated",t),d.emit("cart/data",t),t){const o=t.items.filter(c=>e.some(({sku:p})=>p===c.sku));r?f(t,o,n.locale||"en-US"):g(t,o,n.locale||"en-US")}return t})},_=`
22
22
  mutation CREATE_EMPTY_CART_MUTATION {
23
23
  createEmptyCart
24
24
  }
25
- `,h=async()=>{const{disableGuestCart:r}=g.getConfig();if(r)throw new Error("Guest cart is disabled");return await m(_).then(({data:e})=>{const s=e.createEmptyCart;return n.cartId=s,s})};export{M as addProductsToCart,g as config,h as createEmptyCart,m as fetchGraphQl,H as getCartData,D as getConfig,B as getCountries,J as getEstimateShipping,K as getEstimatedTotals,L as getRegions,j as getStoreConfig,k as initialize,z as initializeCart,b as removeFetchGraphQlHeader,F as resetCart,x as setEndpoint,y as setFetchGraphQlHeader,$ as setFetchGraphQlHeaders,w as updateProductsFromCart};
25
+ `,h=async()=>{const{disableGuestCart:e}=I.getConfig();if(e)throw new Error("Guest cart is disabled");return await m(_).then(({data:r})=>{const s=r.createEmptyCart;return n.cartId=s,s})};export{G as addProductsToCart,I as config,h as createEmptyCart,m as fetchGraphQl,P as getCartData,D as getConfig,Y as getCountries,j as getEstimateShipping,q as getEstimatedTotals,B as getRegions,b as getStoreConfig,F as initialize,y as initializeCart,$ as removeFetchGraphQlHeader,v as resetCart,w as setEndpoint,x as setFetchGraphQlHeader,Q as setFetchGraphQlHeaders,H as updateProductsFromCart};
26
26
  //# sourceMappingURL=api.js.map
package/api.js.map CHANGED
@@ -1 +1 @@
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":"wmBAEO,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"}
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"}
@@ -1,4 +1,4 @@
1
- import{s as l,f as d,h as u,C as m,a as T,t as E}from"./resetCart.js";import"@dropins/tools/event-bus.js";const I=`
1
+ import{s as l,f as d,h as u,C as m,a as T,t as E}from"./getStoreConfig.js";import"@dropins/tools/event-bus.js";const I=`
2
2
  mutation ESTIMATE_SHIPPING_METHODS_MUTATION(
3
3
  $cartId: String!
4
4
  $address: EstimateAddressInput!
@@ -1 +1 @@
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":"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"}
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":"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"}
@@ -1,4 +1,259 @@
1
- import{f as r,h as a}from"./resetCart.js";import"@dropins/tools/event-bus.js";function s(t){if(!t)return null;const i=_=>{switch(_){case 1:return"EXCLUDING_TAX";case 2:return"INCLUDING_TAX";case 3:return"INCLUDING_EXCLUDING_TAX";default:return"EXCLUDING_TAX"}};return{displayMiniCart:t.minicart_display,miniCartMaxItemsDisplay:t.minicart_max_items,cartExpiresInDays:t.cart_expires_in_days,cartSummaryDisplayTotal:t.cart_summary_display_quantity,defaultCountry:t.default_country,categoryFixedProductTaxDisplaySetting:t.category_fixed_product_tax_display_setting,productFixedProductTaxDisplaySetting:t.product_fixed_product_tax_display_setting,salesFixedProductTaxDisplaySetting:t.sales_fixed_product_tax_display_setting,shoppingCartDisplaySetting:{zeroTax:t.shopping_cart_display_zero_tax,subtotal:i(t.shopping_cart_display_subtotal),price:i(t.shopping_cart_display_price),shipping:i(t.shopping_cart_display_shipping),fullSummary:t.shopping_cart_display_full_summary,grandTotal:t.shopping_cart_display_grand_total,taxGiftWrapping:t.shopping_cart_display_tax_gift_wrapping},useConfigurableParentThumbnail:t.configurable_thumbnail_source==="parent"}}const p=`
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=`
2
257
  query STORE_CONFIG_QUERY {
3
258
  storeConfig {
4
259
  minicart_display
@@ -19,5 +274,5 @@ query STORE_CONFIG_QUERY {
19
274
  configurable_thumbnail_source
20
275
  }
21
276
  }
22
- `,o=async()=>r(p,{method:"GET",cache:"force-cache"}).then(({errors:t,data:i})=>t?a(t):s(i.storeConfig));export{o as g};
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};
23
278
  //# sourceMappingURL=getStoreConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getStoreConfig.js","sources":["../../src/data/transforms/transform-store-config.ts","../../src/api/getStoreConfig/graphql/StoreConfigQuery.ts","../../src/api/getStoreConfig/getStoreConfig.ts"],"sourcesContent":["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","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":["transformStoreConfig","data","transformTaxDisplaySetting","taxDisplaySetting","displayMiniCart","minicart_display","miniCartMaxItemsDisplay","minicart_max_items","cartExpiresInDays","cart_expires_in_days","cartSummaryDisplayTotal","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","subtotal","shopping_cart_display_subtotal","price","shopping_cart_display_price","shipping","shopping_cart_display_shipping","fullSummary","shopping_cart_display_full_summary","grandTotal","shopping_cart_display_grand_total","taxGiftWrapping","shopping_cart_display_tax_gift_wrapping","useConfigurableParentThumbnail","configurable_thumbnail_source","STORE_CONFIG_QUERY","getStoreConfig","fetchGraphQl","method","cache","then","errors","handleFetchError","storeConfig"],"mappings":"8EAEO,SAASA,EAAqBC,EAAoC,CACvE,GAAI,CAACA,EAAa,OAAA,KAEZC,MAAAA,EAA8BC,GAA8B,CAChE,OAAQA,EAAiB,CACvB,IAAK,GACI,MAAA,gBACT,IAAK,GACI,MAAA,gBACT,IAAK,GACI,MAAA,0BACT,QACS,MAAA,eACX,CAAA,EAGK,MAAA,CACLC,gBAAiBH,EAAKI,iBACtBC,wBAAyBL,EAAKM,mBAC9BC,kBAAmBP,EAAKQ,qBACxBC,wBAAyBT,EAAKU,8BAC9BC,eAAgBX,EAAKY,gBACrBC,sCACEb,EAAKc,2CACPC,qCACEf,EAAKgB,0CACPC,mCACEjB,EAAKkB,wCACPC,2BAA4B,CAC1BC,QAASpB,EAAKqB,+BACdC,SAAUrB,EAA2BD,EAAKuB,8BAA8B,EACxEC,MAAOvB,EAA2BD,EAAKyB,2BAA2B,EAClEC,SAAUzB,EAA2BD,EAAK2B,8BAA8B,EACxEC,YAAa5B,EAAK6B,mCAClBC,WAAY9B,EAAK+B,kCACjBC,gBAAiBhC,EAAKiC,uCACxB,EACAC,+BACElC,EAAKmC,gCAAkC,QAAA,CAE7C,CC1CO,MAAMC,EAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECOtBC,EAAiB,SACrBC,EAAaF,EAAoB,CACtCG,OAAQ,MACRC,MAAO,aAAA,CACR,EAAEC,KAAK,CAAC,CAAEC,OAAAA,EAAQ1C,KAAAA,CAAAA,IACb0C,EAAeC,EAAiBD,CAAM,EAEnC3C,EAAqBC,EAAK4C,WAAW,CAC7C"}
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,4 +1,4 @@
1
- import{C as P,a as A,s as f,f as I,h as v,t as D}from"./resetCart.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=`
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
2
  mutation UPDATE_PRODUCTS_FROM_CART_MUTATION(
3
3
  $cartId: String!,
4
4
  $cartItems: [CartItemUpdateInput!]!,