@dropins/storefront-cart 1.5.2-alpha012 → 1.6.0-alpha2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/fragments.d.ts +1 -0
- package/api/graphql/ShippingMethodFragment.d.ts +18 -0
- package/api.js +1 -1
- package/api.js.map +1 -1
- package/chunks/CartSummaryGrid.js +1 -1
- package/chunks/CartSummaryGrid.js.map +1 -1
- package/chunks/CartSummaryList.js +1 -1
- package/chunks/CartSummaryList.js.map +1 -1
- package/chunks/CartSummaryTable2.js +1 -1
- package/chunks/CartSummaryTable2.js.map +1 -1
- package/chunks/EmptyCart.js +1 -1
- package/chunks/EmptyCart.js.map +1 -1
- package/chunks/EmptyCart2.js +1 -1
- package/chunks/EmptyCart2.js.map +1 -1
- package/chunks/OrderSummary.js +1 -1
- package/chunks/OrderSummary.js.map +1 -1
- package/chunks/OrderSummaryLine.js +1 -1
- package/chunks/OrderSummaryLine.js.map +1 -1
- package/chunks/OrderSummaryLine2.js +4 -0
- package/chunks/OrderSummaryLine2.js.map +1 -0
- package/chunks/ShippingOrderSummaryLine.js +4 -0
- package/chunks/ShippingOrderSummaryLine.js.map +1 -0
- package/chunks/acdl.js +1 -1
- package/chunks/applyCouponsToCart.js +2 -2
- package/chunks/applyCouponsToCart.js.map +1 -1
- package/chunks/createGuestCart.js +2 -2
- package/chunks/createGuestCart.js.map +1 -1
- package/chunks/getEstimateShipping.js +2 -2
- package/chunks/getEstimateShipping.js.map +1 -1
- package/chunks/getEstimatedTotals.js +2 -2
- package/chunks/getEstimatedTotals.js.map +1 -1
- package/chunks/persisted-data.js +1 -1
- package/chunks/refreshCart.js +7 -7
- package/chunks/refreshCart.js.map +1 -1
- package/chunks/removeGiftCardFromCart.js +3 -3
- package/chunks/removeGiftCardFromCart.js.map +1 -1
- package/chunks/resetCart.js +1 -1
- package/chunks/resetCart.js.map +1 -1
- package/chunks/setGiftOptionsOnCart.js +2 -2
- package/chunks/setGiftOptionsOnCart.js.map +1 -1
- package/chunks/state.js +4 -0
- package/chunks/state.js.map +1 -0
- package/chunks/updateProductsFromCart.js +2 -2
- package/chunks/updateProductsFromCart.js.map +1 -1
- package/components/ShippingOrderSummaryLine/ShippingOrderSummaryLine.d.ts +13 -0
- package/components/ShippingOrderSummaryLine/index.d.ts +18 -0
- package/components/index.d.ts +1 -0
- package/containers/CartSummaryGrid.js +1 -1
- package/containers/CartSummaryList.js +1 -1
- package/containers/CartSummaryTable.js +1 -1
- package/containers/Coupons.js +1 -1
- package/containers/Coupons.js.map +1 -1
- package/containers/EmptyCart.js +1 -1
- package/containers/EstimateShipping.js +1 -1
- package/containers/EstimateShipping.js.map +1 -1
- package/containers/GiftCards.js +1 -1
- package/containers/GiftCards.js.map +1 -1
- package/containers/GiftOptions.js +1 -1
- package/containers/GiftOptions.js.map +1 -1
- package/containers/MiniCart.js +1 -1
- package/containers/MiniCart.js.map +1 -1
- package/containers/OrderSummary.js +1 -1
- package/containers/OrderSummaryLine.js +1 -1
- package/containers/ShippingOrderSummaryLine/ShippingOrderSummaryLine.d.ts +7 -0
- package/containers/ShippingOrderSummaryLine/index.d.ts +19 -0
- package/containers/ShippingOrderSummaryLine.d.ts +3 -0
- package/containers/ShippingOrderSummaryLine.js +4 -0
- package/containers/ShippingOrderSummaryLine.js.map +1 -0
- package/containers/index.d.ts +1 -0
- package/data/models/cart-model.d.ts +3 -16
- package/data/models/shipping-models.d.ts +5 -2
- package/fragments.js +30 -7
- package/fragments.js.map +1 -1
- package/i18n/en_US.json.d.ts +5 -0
- package/package.json +1 -1
- package/render.js +4 -3
- package/render.js.map +1 -1
package/chunks/acdl.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
function C(o){const{cart:e,locale:t="en-US"}=o;return{id:e.id,items:g(e.items,t),prices:{subtotalExcludingTax:e.subtotal.excludingTax,subtotalIncludingTax:e.subtotal.includingTax},totalQuantity:e.totalUniqueItems,possibleOnepageCheckout:void 0,giftMessageSelected:void 0,giftWrappingSelected:void 0,source:void 0}}function g(o,e){return o.map(t=>({canApplyMsrp:!1,formattedPrice:b(e,t.price.currency,t.price.value),id:t.uid,prices:{price:t.price,discount:t.discount&&t.discount.value!==void 0?{value:t.discount.value,currency:t.discount.currency}:void 0},product:{productId:t.uid,name:t.name,sku:t.sku,topLevelSku:t.topLevelSku,specialToDate:void 0,specialFromDate:void 0,newToDate:void 0,newFromDate:void 0,createdAt:void 0,updatedAt:void 0,manufacturer:void 0,countryOfManufacture:void 0,categories:t.categories,productType:t.itemType,pricing:{regularPrice:t.regularPrice.value,minimalPrice:void 0,maximalPrice:void 0,specialPrice:P(t),tierPricing:void 0,currencyCode:t.regularPrice.currency},canonicalUrl:t.canonicalUrl,mainImageUrl:t.image.src,image:{src:t.image.src,alt:t.image.alt}},configurableOptions:t.selectedOptions?Object.entries(t.selectedOptions).map(([n,c],a)=>({id:a+1,optionLabel:n,valueId:a+1,valueLabel:c})):[],bundleOptions:t.bundleOptions?Object.entries(t.bundleOptions).map(([n,c],a)=>({id:(a+1).toString(),optionLabel:n,valueId:a+1,valueLabel:c})):[],customizableOptions:t.customizableOptions?Object.entries(t.customizableOptions).map(([n,c],a)=>({id:(a+1).toString(),optionLabel:n,valueId:a+1,valueLabel:c})):[],quantity:t.quantity,selectedOptions:(()=>{const n={...t.selectedOptions,...t.bundleOptions,...t.customizableOptions};return Object.keys(n).length>0?n:void 0})()}))}function b(o,e,t){const n=o.replace("_","-");return new Intl.NumberFormat(n,{style:"currency",currency:e}).format(t)}function P(o){var e;if(o.discounted)return(e=o.price)==null?void 0:e.value}const r={SHOPPING_CART_CONTEXT:"shoppingCartContext",PRODUCT_CONTEXT:"productContext",CHANGED_PRODUCTS_CONTEXT:"changedProductsContext",CHANNEL_CONTEXT:"channelContext"},u={OPEN_CART:"open-cart",ADD_TO_CART:"add-to-cart",REMOVE_FROM_CART:"remove-from-cart",SHOPPING_CART_VIEW:"shopping-cart-view",INITIATE_CHECKOUT:"initiate-checkout"};function _(){return window.adobeDataLayer=window.adobeDataLayer||[],window.adobeDataLayer}function i(o,e){const t=_();t.push({[o]:null}),t.push({[o]:e})}function T(o,e){_().push(n=>{const c=n.getState?n.getState():{};n.push({event:o,eventInfo:{...c,...e}})})}function h(){return{_id:"https://ns.adobe.com/xdm/channels/web",_type:"https://ns.adobe.com/xdm/channel-types/web"}}function l(){i(r.CHANNEL_CONTEXT,h())}function N(o,e,t){const n=C({cart:o,locale:t});l(),i(r.SHOPPING_CART_CONTEXT,{...n});const c=g(e,t);i(r.CHANGED_PRODUCTS_CONTEXT,{items:c}),T(u.OPEN_CART),c.forEach(a=>{i(r.PRODUCT_CONTEXT,a.product),d(n,[a],u.ADD_TO_CART)})}function D(o,e){const t=C({cart:o,locale:e});l(),i(r.SHOPPING_CART_CONTEXT,{...t}),T(u.SHOPPING_CART_VIEW)}function d(o,e,t){const n={items:e};l(),i(r.SHOPPING_CART_CONTEXT,{...o}),i(r.CHANGED_PRODUCTS_CONTEXT,{...n}),T(t)}function A(o,e,t){const n=C({cart:o,locale:t}),c=n.items,a=_(),v=a.getState?a.getState():{},{shoppingCartContext:{items:f=[]}={}}=v;e.forEach(E=>{const p=f.find(O=>O.id===E.uid),s=c.find(O=>O.id===E.uid);!s&&!p||(!p&&s?(i(r.PRODUCT_CONTEXT,s.product),d(n,[s],u.ADD_TO_CART)):p&&!s?(i(r.PRODUCT_CONTEXT,p.product),d(n,[p],u.REMOVE_FROM_CART)):s.quantity>p.quantity?(i(r.PRODUCT_CONTEXT,s.product),d(n,[s],u.ADD_TO_CART)):(i(r.PRODUCT_CONTEXT,s.product),d(n,[s],u.REMOVE_FROM_CART)))})}function I(o,e){const t=C({cart:o,locale:e});l(),i(r.SHOPPING_CART_CONTEXT,{...t}),T(u.INITIATE_CHECKOUT)}export{
|
|
3
|
+
function C(o){const{cart:e,locale:t="en-US"}=o;return{id:e.id,items:g(e.items,t),prices:{subtotalExcludingTax:e.subtotal.excludingTax,subtotalIncludingTax:e.subtotal.includingTax},totalQuantity:e.totalUniqueItems,possibleOnepageCheckout:void 0,giftMessageSelected:void 0,giftWrappingSelected:void 0,source:void 0}}function g(o,e){return o.map(t=>({canApplyMsrp:!1,formattedPrice:b(e,t.price.currency,t.price.value),id:t.uid,prices:{price:t.price,discount:t.discount&&t.discount.value!==void 0?{value:t.discount.value,currency:t.discount.currency}:void 0},product:{productId:t.uid,name:t.name,sku:t.sku,topLevelSku:t.topLevelSku,specialToDate:void 0,specialFromDate:void 0,newToDate:void 0,newFromDate:void 0,createdAt:void 0,updatedAt:void 0,manufacturer:void 0,countryOfManufacture:void 0,categories:t.categories,productType:t.itemType,pricing:{regularPrice:t.regularPrice.value,minimalPrice:void 0,maximalPrice:void 0,specialPrice:P(t),tierPricing:void 0,currencyCode:t.regularPrice.currency},canonicalUrl:t.canonicalUrl,mainImageUrl:t.image.src,image:{src:t.image.src,alt:t.image.alt}},configurableOptions:t.selectedOptions?Object.entries(t.selectedOptions).map(([n,c],a)=>({id:a+1,optionLabel:n,valueId:a+1,valueLabel:c})):[],bundleOptions:t.bundleOptions?Object.entries(t.bundleOptions).map(([n,c],a)=>({id:(a+1).toString(),optionLabel:n,valueId:a+1,valueLabel:c})):[],customizableOptions:t.customizableOptions?Object.entries(t.customizableOptions).map(([n,c],a)=>({id:(a+1).toString(),optionLabel:n,valueId:a+1,valueLabel:c})):[],quantity:t.quantity,selectedOptions:(()=>{const n={...t.selectedOptions,...t.bundleOptions,...t.customizableOptions};return Object.keys(n).length>0?n:void 0})()}))}function b(o,e,t){const n=o.replace("_","-");return new Intl.NumberFormat(n,{style:"currency",currency:e}).format(t)}function P(o){var e;if(o.discounted)return(e=o.price)==null?void 0:e.value}const r={SHOPPING_CART_CONTEXT:"shoppingCartContext",PRODUCT_CONTEXT:"productContext",CHANGED_PRODUCTS_CONTEXT:"changedProductsContext",CHANNEL_CONTEXT:"channelContext"},u={OPEN_CART:"open-cart",ADD_TO_CART:"add-to-cart",REMOVE_FROM_CART:"remove-from-cart",SHOPPING_CART_VIEW:"shopping-cart-view",INITIATE_CHECKOUT:"initiate-checkout"};function _(){return window.adobeDataLayer=window.adobeDataLayer||[],window.adobeDataLayer}function i(o,e){const t=_();t.push({[o]:null}),t.push({[o]:e})}function T(o,e){_().push(n=>{const c=n.getState?n.getState():{};n.push({event:o,eventInfo:{...c,...e}})})}function h(){return{_id:"https://ns.adobe.com/xdm/channels/web",_type:"https://ns.adobe.com/xdm/channel-types/web"}}function l(){i(r.CHANNEL_CONTEXT,h())}function N(o,e,t){const n=C({cart:o,locale:t});l(),i(r.SHOPPING_CART_CONTEXT,{...n});const c=g(e,t);i(r.CHANGED_PRODUCTS_CONTEXT,{items:c}),T(u.OPEN_CART),c.forEach(a=>{i(r.PRODUCT_CONTEXT,a.product),d(n,[a],u.ADD_TO_CART)})}function D(o,e){const t=C({cart:o,locale:e});l(),i(r.SHOPPING_CART_CONTEXT,{...t}),T(u.SHOPPING_CART_VIEW)}function d(o,e,t){const n={items:e};l(),i(r.SHOPPING_CART_CONTEXT,{...o}),i(r.CHANGED_PRODUCTS_CONTEXT,{...n}),T(t)}function A(o,e,t){const n=C({cart:o,locale:t}),c=n.items,a=_(),v=a.getState?a.getState():{},{shoppingCartContext:{items:f=[]}={}}=v;e.forEach(E=>{const p=f.find(O=>O.id===E.uid),s=c.find(O=>O.id===E.uid);!s&&!p||(!p&&s?(i(r.PRODUCT_CONTEXT,s.product),d(n,[s],u.ADD_TO_CART)):p&&!s?(i(r.PRODUCT_CONTEXT,p.product),d(n,[p],u.REMOVE_FROM_CART)):s.quantity>p.quantity?(i(r.PRODUCT_CONTEXT,s.product),d(n,[s],u.ADD_TO_CART)):(i(r.PRODUCT_CONTEXT,s.product),d(n,[s],u.REMOVE_FROM_CART)))})}function I(o,e){const t=C({cart:o,locale:e});l(),i(r.SHOPPING_CART_CONTEXT,{...t}),T(u.INITIATE_CHECKOUT)}export{A as a,N as b,I as c,D as p};
|
|
4
4
|
//# sourceMappingURL=acdl.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{s as C
|
|
3
|
+
import{s as C}from"./state.js";import{t as i}from"./refreshCart.js";import{events as p}from"@dropins/tools/event-bus.js";import{f as u,h as T}from"./resetCart.js";import{CART_FRAGMENT as A}from"../fragments.js";const m=`
|
|
4
4
|
mutation APPLY_COUPONS_TO_CART_MUTATION(
|
|
5
5
|
$cartId: String!,
|
|
6
6
|
$couponCodes: [String!]!,
|
|
@@ -23,5 +23,5 @@ mutation APPLY_COUPONS_TO_CART_MUTATION(
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
${A}
|
|
26
|
-
`;var
|
|
26
|
+
`;var _=(r=>(r.APPEND="APPEND",r.REPLACE="REPLACE",r))(_||{});const l=async(r,s)=>{const e=C.cartId;if(!e)throw Error("Cart ID is not set");return u(m,{variables:{cartId:e,couponCodes:r,type:s}}).then(({errors:c,data:t})=>{var n;const a=[...((n=t==null?void 0:t.applyCouponsToCart)==null?void 0:n.user_errors)??[],...c??[]];if(a.length>0)return T(a);const o=i(t.applyCouponsToCart.cart);return p.emit("cart/updated",o),p.emit("cart/data",o),o})};export{_ as A,l as a};
|
|
27
27
|
//# sourceMappingURL=applyCouponsToCart.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applyCouponsToCart.js","sources":["/@dropins/storefront-cart/src/api/applyCouponsToCart/graphql/ApplyCouponsToCartMutation.ts","/@dropins/storefront-cart/src/api/applyCouponsToCart/applyCouponsToCart.ts"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { CART_FRAGMENT } from '@/cart/api/graphql/CartFragment';\n\nexport const APPLY_COUPONS_TO_CART_MUTATION = `\nmutation APPLY_COUPONS_TO_CART_MUTATION(\n $cartId: String!, \n $couponCodes: [String!]!, \n $type: ApplyCouponsStrategy!,\n $pageSize: Int! = 100,\n $currentPage: Int! = 1,\n $itemsSortInput: QuoteItemsSortInput! = {field: CREATED_AT, order: DESC}\n ) {\n applyCouponsToCart(\n input: {\n cart_id: $cartId\n coupon_codes: $couponCodes \n type: $type\n }\n ) {\n cart {\n ...CART_FRAGMENT\n }\n\n }\n}\n${CART_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { state } from '@/cart/lib/state';\nimport { fetchGraphQl } from '@/cart/api';\nimport { handleFetchError } from '@/cart/lib/fetch-error';\nimport { CartModel } from '@/cart/data/models';\nimport { transformCart } from '@/cart/data/transforms';\nimport { events } from '@adobe-commerce/event-bus';\n\nimport { APPLY_COUPONS_TO_CART_MUTATION } from './graphql/ApplyCouponsToCartMutation';\n\nexport interface ApplyCouponsToCartInput {\n type: ApplyCouponsStrategy;\n}\n\nexport enum ApplyCouponsStrategy {\n APPEND = 'APPEND',\n REPLACE = 'REPLACE',\n}\n\nexport const applyCouponsToCart = async (\n couponCodes: string[],\n type: ApplyCouponsStrategy\n): Promise<CartModel | null> => {\n const cartId = state.cartId;\n\n if (!cartId) {\n throw Error('Cart ID is not set');\n }\n\n return fetchGraphQl(APPLY_COUPONS_TO_CART_MUTATION, {\n variables: {\n cartId,\n couponCodes,\n type,\n },\n }).then(({ errors, data }) => {\n // handle errors\n const _errors = [\n ...(data?.applyCouponsToCart?.user_errors ?? []),\n ...(errors ?? []),\n ];\n\n if (_errors.length > 0) return handleFetchError(_errors);\n\n // transform cart\n const payload = transformCart(data.applyCouponsToCart.cart);\n\n // emit events\n events.emit('cart/updated', payload);\n events.emit('cart/data', payload);\n\n return payload;\n });\n};\n"],"names":["APPLY_COUPONS_TO_CART_MUTATION","CART_FRAGMENT","ApplyCouponsStrategy","applyCouponsToCart","couponCodes","type","cartId","state","fetchGraphQl","errors","data","_errors","_a","handleFetchError","payload","transformCart","events"],"mappings":"
|
|
1
|
+
{"version":3,"file":"applyCouponsToCart.js","sources":["/@dropins/storefront-cart/src/api/applyCouponsToCart/graphql/ApplyCouponsToCartMutation.ts","/@dropins/storefront-cart/src/api/applyCouponsToCart/applyCouponsToCart.ts"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { CART_FRAGMENT } from '@/cart/api/graphql/CartFragment';\n\nexport const APPLY_COUPONS_TO_CART_MUTATION = `\nmutation APPLY_COUPONS_TO_CART_MUTATION(\n $cartId: String!, \n $couponCodes: [String!]!, \n $type: ApplyCouponsStrategy!,\n $pageSize: Int! = 100,\n $currentPage: Int! = 1,\n $itemsSortInput: QuoteItemsSortInput! = {field: CREATED_AT, order: DESC}\n ) {\n applyCouponsToCart(\n input: {\n cart_id: $cartId\n coupon_codes: $couponCodes \n type: $type\n }\n ) {\n cart {\n ...CART_FRAGMENT\n }\n\n }\n}\n${CART_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { state } from '@/cart/lib/state';\nimport { fetchGraphQl } from '@/cart/api';\nimport { handleFetchError } from '@/cart/lib/fetch-error';\nimport { CartModel } from '@/cart/data/models';\nimport { transformCart } from '@/cart/data/transforms';\nimport { events } from '@adobe-commerce/event-bus';\n\nimport { APPLY_COUPONS_TO_CART_MUTATION } from './graphql/ApplyCouponsToCartMutation';\n\nexport interface ApplyCouponsToCartInput {\n type: ApplyCouponsStrategy;\n}\n\nexport enum ApplyCouponsStrategy {\n APPEND = 'APPEND',\n REPLACE = 'REPLACE',\n}\n\nexport const applyCouponsToCart = async (\n couponCodes: string[],\n type: ApplyCouponsStrategy\n): Promise<CartModel | null> => {\n const cartId = state.cartId;\n\n if (!cartId) {\n throw Error('Cart ID is not set');\n }\n\n return fetchGraphQl(APPLY_COUPONS_TO_CART_MUTATION, {\n variables: {\n cartId,\n couponCodes,\n type,\n },\n }).then(({ errors, data }) => {\n // handle errors\n const _errors = [\n ...(data?.applyCouponsToCart?.user_errors ?? []),\n ...(errors ?? []),\n ];\n\n if (_errors.length > 0) return handleFetchError(_errors);\n\n // transform cart\n const payload = transformCart(data.applyCouponsToCart.cart);\n\n // emit events\n events.emit('cart/updated', payload);\n events.emit('cart/data', payload);\n\n return payload;\n });\n};\n"],"names":["APPLY_COUPONS_TO_CART_MUTATION","CART_FRAGMENT","ApplyCouponsStrategy","applyCouponsToCart","couponCodes","type","cartId","state","fetchGraphQl","errors","data","_errors","_a","handleFetchError","payload","transformCart","events"],"mappings":"mNAmBO,MAAMA,EAAiC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAsB5CC,CAAa;AAAA,ECXH,IAAAC,GAAAA,IACVA,EAAA,OAAS,SACTA,EAAA,QAAU,UAFAA,IAAAA,GAAA,CAAA,CAAA,EAKC,MAAAC,EAAqB,MAChCC,EACAC,IAC8B,CAC9B,MAAMC,EAASC,EAAM,OAErB,GAAI,CAACD,EACH,MAAM,MAAM,oBAAoB,EAGlC,OAAOE,EAAaR,EAAgC,CAClD,UAAW,CACT,OAAAM,EACA,YAAAF,EACA,KAAAC,CAAA,CAEH,CAAA,EAAE,KAAK,CAAC,CAAE,OAAAI,EAAQ,KAAAC,KAAW,OAE5B,MAAMC,EAAU,CACd,KAAIC,EAAAF,GAAA,YAAAA,EAAM,qBAAN,YAAAE,EAA0B,cAAe,CAAC,EAC9C,GAAIH,GAAU,CAAA,CAChB,EAEA,GAAIE,EAAQ,OAAS,EAAG,OAAOE,EAAiBF,CAAO,EAGvD,MAAMG,EAAUC,EAAcL,EAAK,mBAAmB,IAAI,EAGnD,OAAAM,EAAA,KAAK,eAAgBF,CAAO,EAC5BE,EAAA,KAAK,YAAaF,CAAO,EAEzBA,CAAA,CACR,CACH"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{s as l
|
|
3
|
+
import{s as l}from"./state.js";import{t as I,c as _}from"./refreshCart.js";import{events as f}from"@dropins/tools/event-bus.js";import{f as T,h as A}from"./resetCart.js";import{g as E}from"./persisted-data.js";import{A as U}from"./updateProductsFromCart.js";import{b as g,a as G}from"./acdl.js";const P=async c=>{let i=!1;const u=l.cartId||await S().then(s=>(i=!0,s));return T(U,{variables:{cartId:u,cartItems:c.map(({sku:s,parentSku:r,quantity:d,optionsUIDs:t,enteredOptions:a,customFields:o})=>({sku:s,parent_sku:r,quantity:d,selected_options:t,entered_options:a,...o||{}}))}}).then(({errors:s,data:r})=>{var C;const d=[...((C=r==null?void 0:r.addProductsToCart)==null?void 0:C.user_errors)??[],...s??[]];if(d.length>0)return A(d);const t=I(r.addProductsToCart.cart),a=E(),o=(a==null?void 0:a.items)||[];if(f.emit("cart/updated",t),f.emit("cart/data",t),t){const n=t.items.filter(e=>!o.some(p=>p.sku===e.sku)),m=t.items.filter(e=>{const p=o.find(h=>h.sku===e.sku);return p&&e.quantity!==p.quantity});n.length>0&&f.emit("cart/product/added",n),m.length>0&&f.emit("cart/product/updated",m)}if(t){const n=t.items.filter(m=>c.some(({sku:e})=>e===m.topLevelSku));i?g(t,n,l.locale??"en-US"):G(t,n,l.locale??"en-US")}return t})},O=`
|
|
4
4
|
mutation CREATE_GUEST_CART_MUTATION {
|
|
5
5
|
createGuestCart {
|
|
6
6
|
cart {
|
|
@@ -8,5 +8,5 @@ import{s as l,f as T,h as I}from"./resetCart.js";import{t as _,c as A}from"./ref
|
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
|
-
`,S=async()=>{const{disableGuestCart:c}=
|
|
11
|
+
`,S=async()=>{const{disableGuestCart:c}=_.getConfig();if(c)throw new Error("Guest cart is disabled");return await T(O).then(({data:i})=>{const u=i.createGuestCart.cart.id;return l.cartId=u,u})};export{P as a,S as c};
|
|
12
12
|
//# sourceMappingURL=createGuestCart.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createGuestCart.js","sources":["/@dropins/storefront-cart/src/api/addProductsToCart/addProductsToCart.ts","/@dropins/storefront-cart/src/api/createGuestCart/graphql/CreateCartMutation.ts","/@dropins/storefront-cart/src/api/createGuestCart/createGuestCart.ts"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl, createGuestCart } 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-commerce/event-bus';\nimport { handleFetchError } from '@/cart/lib/fetch-error';\nimport { getPersistedCartData } from '@/cart/lib/persisted-data';\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 customFields?: Record<string, any>;\n }[]\n): Promise<CartModel | null> => {\n let isNewCart = false;\n\n const cartId =\n state.cartId ||\n (await createGuestCart().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 customFields,\n }) => ({\n sku,\n parent_sku,\n quantity,\n selected_options,\n entered_options,\n ...(customFields ? customFields : {}),\n })\n ),\n },\n }).then(({ errors, data }) => {\n // handle errors\n const _errors = [\n ...(data?.addProductsToCart?.user_errors ?? []),\n ...(errors ?? []),\n ];\n\n if (_errors.length > 0) return handleFetchError(_errors);\n\n // transform cart\n const payload = transformCart(data.addProductsToCart.cart);\n\n // Get previous cart data before emitting events\n const previousCart = getPersistedCartData();\n const previousItems = previousCart?.items || [];\n\n // emit events\n events.emit('cart/updated', payload);\n events.emit('cart/data', payload);\n\n // emit add to cart event with affected items\n if (payload) {\n // Separate new items and updated items\n const newItems = payload.items.filter((item) => {\n return !previousItems.some((prev) => prev.sku === item.sku);\n });\n\n const updatedItems = payload.items.filter((item) => {\n const previousItem = previousItems.find(\n (prev) => prev.sku === item.sku\n );\n // Emit update event if quantity has changed\n return previousItem && item.quantity !== previousItem.quantity;\n });\n\n // Emit add event for new items\n if (newItems.length > 0) {\n events.emit('cart/product/added', newItems);\n }\n\n // Emit update event for existing items\n if (updatedItems.length > 0) {\n events.emit('cart/product/updated', updatedItems);\n }\n }\n\n // data collection\n if (payload) {\n const updatedItems = payload.items.filter((item) =>\n items.some(({ sku }) => sku === item.topLevelSku)\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","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const CREATE_GUEST_CART_MUTATION = `\n mutation CREATE_GUEST_CART_MUTATION {\n createGuestCart {\n cart {\n id\n }\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { config, fetchGraphQl } from '@/cart/api';\nimport { state } from '@/cart/lib/state';\n\nimport { CREATE_GUEST_CART_MUTATION } from './graphql/CreateCartMutation';\n\nexport const createGuestCart = 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_GUEST_CART_MUTATION).then(({ data }) => {\n const cartId = data.createGuestCart.cart.id;\n\n // Set cart id in state\n state.cartId = cartId;\n\n return cartId;\n });\n};\n"],"names":["addProductsToCart","items","isNewCart","cartId","state","createGuestCart","id","fetchGraphQl","ADD_PRODUCTS_TO_CART_MUTATION","sku","parent_sku","quantity","selected_options","entered_options","customFields","errors","data","_errors","_a","handleFetchError","payload","transformCart","previousCart","getPersistedCartData","previousItems","events","newItems","item","prev","updatedItems","previousItem","publishOpenCartEvent","publishCartUpdateEvents","CREATE_GUEST_CART_MUTATION","disableGuestCart","config"],"mappings":"
|
|
1
|
+
{"version":3,"file":"createGuestCart.js","sources":["/@dropins/storefront-cart/src/api/addProductsToCart/addProductsToCart.ts","/@dropins/storefront-cart/src/api/createGuestCart/graphql/CreateCartMutation.ts","/@dropins/storefront-cart/src/api/createGuestCart/createGuestCart.ts"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl, createGuestCart } 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-commerce/event-bus';\nimport { handleFetchError } from '@/cart/lib/fetch-error';\nimport { getPersistedCartData } from '@/cart/lib/persisted-data';\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 customFields?: Record<string, any>;\n }[]\n): Promise<CartModel | null> => {\n let isNewCart = false;\n\n const cartId =\n state.cartId ||\n (await createGuestCart().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 customFields,\n }) => ({\n sku,\n parent_sku,\n quantity,\n selected_options,\n entered_options,\n ...(customFields ? customFields : {}),\n })\n ),\n },\n }).then(({ errors, data }) => {\n // handle errors\n const _errors = [\n ...(data?.addProductsToCart?.user_errors ?? []),\n ...(errors ?? []),\n ];\n\n if (_errors.length > 0) return handleFetchError(_errors);\n\n // transform cart\n const payload = transformCart(data.addProductsToCart.cart);\n\n // Get previous cart data before emitting events\n const previousCart = getPersistedCartData();\n const previousItems = previousCart?.items || [];\n\n // emit events\n events.emit('cart/updated', payload);\n events.emit('cart/data', payload);\n\n // emit add to cart event with affected items\n if (payload) {\n // Separate new items and updated items\n const newItems = payload.items.filter((item) => {\n return !previousItems.some((prev) => prev.sku === item.sku);\n });\n\n const updatedItems = payload.items.filter((item) => {\n const previousItem = previousItems.find(\n (prev) => prev.sku === item.sku\n );\n // Emit update event if quantity has changed\n return previousItem && item.quantity !== previousItem.quantity;\n });\n\n // Emit add event for new items\n if (newItems.length > 0) {\n events.emit('cart/product/added', newItems);\n }\n\n // Emit update event for existing items\n if (updatedItems.length > 0) {\n events.emit('cart/product/updated', updatedItems);\n }\n }\n\n // data collection\n if (payload) {\n const updatedItems = payload.items.filter((item) =>\n items.some(({ sku }) => sku === item.topLevelSku)\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","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const CREATE_GUEST_CART_MUTATION = `\n mutation CREATE_GUEST_CART_MUTATION {\n createGuestCart {\n cart {\n id\n }\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { config, fetchGraphQl } from '@/cart/api';\nimport { state } from '@/cart/lib/state';\n\nimport { CREATE_GUEST_CART_MUTATION } from './graphql/CreateCartMutation';\n\nexport const createGuestCart = 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_GUEST_CART_MUTATION).then(({ data }) => {\n const cartId = data.createGuestCart.cart.id;\n\n // Set cart id in state\n state.cartId = cartId;\n\n return cartId;\n });\n};\n"],"names":["addProductsToCart","items","isNewCart","cartId","state","createGuestCart","id","fetchGraphQl","ADD_PRODUCTS_TO_CART_MUTATION","sku","parent_sku","quantity","selected_options","entered_options","customFields","errors","data","_errors","_a","handleFetchError","payload","transformCart","previousCart","getPersistedCartData","previousItems","events","newItems","item","prev","updatedItems","previousItem","publishOpenCartEvent","publishCartUpdateEvents","CREATE_GUEST_CART_MUTATION","disableGuestCart","config"],"mappings":"uSA4Ba,MAAAA,EAAoB,MAC/BC,GAQ8B,CAC9B,IAAIC,EAAY,GAEV,MAAAC,EACJC,EAAM,QACL,MAAMC,IAAkB,KAAMC,IACjBJ,EAAA,GACLI,EACR,EAEH,OAAOC,EAAaC,EAA+B,CACjD,UAAW,CACT,OAAAL,EACA,UAAWF,EAAM,IACf,CAAC,CACC,IAAAQ,EACA,UAAWC,EACX,SAAAC,EACA,YAAaC,EACb,eAAgBC,EAChB,aAAAC,CAAA,KACK,CACL,IAAAL,EACA,WAAAC,EACA,SAAAC,EACA,iBAAAC,EACA,gBAAAC,EACA,GAAIC,GAA8B,CAAA,CACpC,EAAA,CACF,CAEH,CAAA,EAAE,KAAK,CAAC,CAAE,OAAAC,EAAQ,KAAAC,KAAW,OAE5B,MAAMC,EAAU,CACd,KAAIC,EAAAF,GAAA,YAAAA,EAAM,oBAAN,YAAAE,EAAyB,cAAe,CAAC,EAC7C,GAAIH,GAAU,CAAA,CAChB,EAEA,GAAIE,EAAQ,OAAS,EAAG,OAAOE,EAAiBF,CAAO,EAGvD,MAAMG,EAAUC,EAAcL,EAAK,kBAAkB,IAAI,EAGnDM,EAAeC,EAAqB,EACpCC,GAAgBF,GAAA,YAAAA,EAAc,QAAS,CAAC,EAO9C,GAJOG,EAAA,KAAK,eAAgBL,CAAO,EAC5BK,EAAA,KAAK,YAAaL,CAAO,EAG5BA,EAAS,CAEX,MAAMM,EAAWN,EAAQ,MAAM,OAAQO,GAC9B,CAACH,EAAc,KAAMI,GAASA,EAAK,MAAQD,EAAK,GAAG,CAC3D,EAEKE,EAAeT,EAAQ,MAAM,OAAQO,GAAS,CAClD,MAAMG,EAAeN,EAAc,KAChCI,GAASA,EAAK,MAAQD,EAAK,GAC9B,EAEO,OAAAG,GAAgBH,EAAK,WAAaG,EAAa,QAAA,CACvD,EAGGJ,EAAS,OAAS,GACbD,EAAA,KAAK,qBAAsBC,CAAQ,EAIxCG,EAAa,OAAS,GACjBJ,EAAA,KAAK,uBAAwBI,CAAY,CAClD,CAIF,GAAIT,EAAS,CACL,MAAAS,EAAeT,EAAQ,MAAM,OAAQO,GACzC1B,EAAM,KAAK,CAAC,CAAE,IAAAQ,KAAUA,IAAQkB,EAAK,WAAW,CAClD,EACIzB,EAEF6B,EAAqBX,EAASS,EAAczB,EAAM,QAAU,OAAO,EAGnE4B,EAAwBZ,EAASS,EAAczB,EAAM,QAAU,OAAO,CACxE,CAGK,OAAAgB,CAAA,CACR,CACH,ECjHaa,EAA6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECK7B5B,EAAkB,SAAY,CACzC,KAAM,CAAE,iBAAA6B,CAAA,EAAqBC,EAAO,UAAU,EAG9C,GAAID,EACI,MAAA,IAAI,MAAM,wBAAwB,EAInC,OAAA,MAAM3B,EAAa0B,CAA0B,EAAE,KAAK,CAAC,CAAE,KAAAjB,KAAW,CACjE,MAAAb,EAASa,EAAK,gBAAgB,KAAK,GAGzC,OAAAZ,EAAM,OAASD,EAERA,CAAA,CACR,CACH"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{s as a
|
|
3
|
+
import{s as a}from"./state.js";import{events as p}from"@dropins/tools/event-bus.js";import{f as u,h as l}from"./resetCart.js";const m=e=>{var r,t;return{countryCode:e.country_code||"US",postCode:e.postcode||"",region:((r=e.region)==null?void 0:r.region)||"",regionId:(t=e.region)==null?void 0:t.id}},h=e=>e?{carrierCode:e.carrier_code||"",methodCode:e.method_code||"",amount:e.amount,...e.price_excl_tax&&{amountExclTax:{value:e.price_excl_tax.value,currency:e.price_excl_tax.currency}},...e.price_incl_tax&&{amountInclTax:{value:e.price_incl_tax.value,currency:e.price_incl_tax.currency}}}:null,g=`
|
|
4
4
|
query COUNTRIES_QUERY {
|
|
5
5
|
countries {
|
|
6
6
|
label: full_name_locale
|
|
@@ -47,5 +47,5 @@ query REGIONS_QUERY($id: String) {
|
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
-
`,
|
|
50
|
+
`,C=async e=>{const r=a.cartId;if(!r)throw new Error("No cart ID found");if(!e)throw new Error("No address parameter found");const{countryCode:t,postcode:i,region:n}=e,c={country_code:t||"US",postcode:i||"",region:{region:(n==null?void 0:n.region)||"",region_id:n==null?void 0:n.id}};return u(E,{variables:{cartId:r,address:c}}).then(({errors:o,data:s})=>{if(o)return l(o);const d=s.estimateShippingMethods.find(_=>!_.error_message)||null;return p.emit("shipping/estimate",{address:m(c),shippingMethod:h(d)}),d})},T=async()=>u(g,{method:"GET"}).then(({errors:e,data:r})=>{var n,c;if(e)return l(e);const t=((n=r==null?void 0:r.countries)==null?void 0:n.sort((o,s)=>o.label.localeCompare(s.label)))||[],i=((c=r==null?void 0:r.storeConfig)==null?void 0:c.defaultCountry)||"US";return t.forEach(o=>{o.isDefaultCountry=o.id===i}),t}),M=async e=>u(f,{method:"GET",variables:{id:e}}).then(({errors:r,data:t})=>{var i;return r?l(r):((i=t==null?void 0:t.country)==null?void 0:i.available_regions)||[]});export{T as a,M as b,C as g};
|
|
51
51
|
//# sourceMappingURL=getEstimateShipping.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEstimateShipping.js","sources":["/@dropins/storefront-cart/src/data/transforms/transform-shipping.ts","/@dropins/storefront-cart/src/api/getEstimateShipping/graphql/countriesAndRegionsQueries.ts","/@dropins/storefront-cart/src/api/getEstimateShipping/graphql/estimateShippingMethodsMutation.ts","/@dropins/storefront-cart/src/api/getEstimateShipping/getEstimateShipping.ts"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { PartialAddress, ShippingMethod } from '@/cart/data/models';\n\nexport const transformPartialAddress = (data: any): PartialAddress => {\n return {\n countryCode: data.country_code || 'US',\n postCode: data.postcode || '',\n region: data.region?.region || '',\n regionId: data.region?.id,\n };\n};\n\nexport const transformShippingMethod = (data: any): ShippingMethod | null => {\n if (!data) return null;\n\n return {\n carrierCode: data.carrier_code || '',\n methodCode: data.method_code || '',\n amount: data.amount,\n ...(data.price_excl_tax && {\n amountExclTax: {\n value: data.price_excl_tax.value,\n currency: data.price_excl_tax.currency,\n },\n }),\n ...(data.price_incl_tax && {\n amountInclTax: {\n value: data.price_incl_tax.value,\n currency: data.price_incl_tax.currency,\n },\n }),\n };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const COUNTRIES_QUERY = `\nquery COUNTRIES_QUERY {\n countries {\n label: full_name_locale\n id\n }\n storeConfig {\n defaultCountry: default_country\n }\n}\n`;\n\nexport const REGIONS_QUERY = `\nquery REGIONS_QUERY($id: String) {\n country(id: $id) {\n available_regions {\n code\n\t\t\tname\n }\n }\n}\n`;\n\nexport type CountryData = {\n label: string;\n id: string;\n available_regions?: Array<{\n code: string;\n name: string;\n }>;\n isDefaultCountry?: boolean;\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const ESTIMATE_SHIPPING_METHODS_MUTATION = `\n mutation ESTIMATE_SHIPPING_METHODS_MUTATION(\n $cartId: String!\n $address: EstimateAddressInput!\n ) {\n estimateShippingMethods(\n input: {\n cart_id: $cartId\n address: $address\n }\n ) {\n amount {\n currency\n value\n }\n carrier_code\n method_code\n error_message\n price_excl_tax {\n currency\n value\n }\n price_incl_tax {\n currency\n value\n }\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/cart/api';\nimport { handleFetchError } from '@/cart/lib/fetch-error';\nimport { state } from '@/cart/lib/state';\n\nimport {\n transformPartialAddress,\n transformShippingMethod,\n} from '@/cart/data/transforms/transform-shipping';\nimport { events } from '@adobe-commerce/event-bus';\nimport {\n COUNTRIES_QUERY,\n CountryData,\n REGIONS_QUERY,\n} from './graphql/countriesAndRegionsQueries';\nimport { ESTIMATE_SHIPPING_METHODS_MUTATION } from './graphql/estimateShippingMethodsMutation';\n\nexport interface EstimateAddressInput {\n countryCode: string;\n postcode?: string;\n region?: {\n region?: string;\n code?: string;\n id?: number;\n };\n}\n\nexport const getEstimateShipping = async (\n address: EstimateAddressInput\n): Promise<any | null> => {\n const cartId = state.cartId;\n\n if (!cartId) throw new Error('No cart ID found');\n if (!address) throw new Error('No address parameter found');\n\n const { countryCode, postcode, region } = address;\n\n const addressInput = {\n country_code: countryCode || 'US',\n postcode: postcode || '',\n region: {\n region: region?.region || '',\n region_id: region?.id,\n },\n };\n\n return fetchGraphQl(ESTIMATE_SHIPPING_METHODS_MUTATION, {\n variables: {\n cartId,\n address: addressInput,\n },\n }).then(({ errors, data }) => {\n if (errors) return handleFetchError(errors);\n\n const estimateShippingMethods: Array<any> = data.estimateShippingMethods;\n\n const selectedMethod =\n estimateShippingMethods.find((method) => !method.error_message) || null;\n\n events.emit('shipping/estimate', {\n address: transformPartialAddress(addressInput),\n shippingMethod: transformShippingMethod(selectedMethod),\n });\n\n return selectedMethod;\n });\n};\n\nexport const getCountries = async (): Promise<[CountryData]> => {\n return fetchGraphQl(COUNTRIES_QUERY, { method: 'GET' }).then(\n ({ errors, data }) => {\n if (errors) return handleFetchError(errors);\n\n const sortedCountries =\n data?.countries?.sort((a: any, b: any) =>\n a.label.localeCompare(b.label)\n ) || [];\n\n const defaultCountry = data?.storeConfig?.defaultCountry || 'US';\n\n // Set the default country property\n sortedCountries.forEach((country: any) => {\n country.isDefaultCountry = country.id === defaultCountry;\n });\n\n return sortedCountries;\n }\n );\n};\n\nexport const getRegions = async (\n countryId: string\n): Promise<Array<{ code: string; name: string }>> => {\n return fetchGraphQl(REGIONS_QUERY, {\n method: 'GET',\n variables: {\n id: countryId,\n },\n }).then(({ errors, data }) => {\n if (errors) return handleFetchError(errors);\n\n return data?.country?.available_regions || [];\n });\n};\n"],"names":["transformPartialAddress","data","_a","_b","transformShippingMethod","COUNTRIES_QUERY","REGIONS_QUERY","ESTIMATE_SHIPPING_METHODS_MUTATION","getEstimateShipping","address","cartId","state","countryCode","postcode","region","addressInput","fetchGraphQl","errors","handleFetchError","selectedMethod","method","events","getCountries","sortedCountries","a","b","defaultCountry","country","getRegions","countryId"],"mappings":"sGAmBa,MAAAA,EAA2BC,GAA8B,SAC7D,MAAA,CACL,YAAaA,EAAK,cAAgB,KAClC,SAAUA,EAAK,UAAY,GAC3B,SAAQC,EAAAD,EAAK,SAAL,YAAAC,EAAa,SAAU,GAC/B,UAAUC,EAAAF,EAAK,SAAL,YAAAE,EAAa,EACzB,CACF,EAEaC,EAA2BH,GACjCA,EAEE,CACL,YAAaA,EAAK,cAAgB,GAClC,WAAYA,EAAK,aAAe,GAChC,OAAQA,EAAK,OACb,GAAIA,EAAK,gBAAkB,CACzB,cAAe,CACb,MAAOA,EAAK,eAAe,MAC3B,SAAUA,EAAK,eAAe,QAAA,CAElC,EACA,GAAIA,EAAK,gBAAkB,CACzB,cAAe,CACb,MAAOA,EAAK,eAAe,MAC3B,SAAUA,EAAK,eAAe,QAAA,CAChC,CAEJ,EAlBkB,KCZPI,EAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYlBC,EAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECZhBC,EAAqC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EC0BrCC,EAAsB,MACjCC,GACwB,CACxB,MAAMC,EAASC,EAAM,OAErB,GAAI,CAACD,EAAc,MAAA,IAAI,MAAM,kBAAkB,EAC/C,GAAI,CAACD,EAAe,MAAA,IAAI,MAAM,4BAA4B,EAE1D,KAAM,CAAE,YAAAG,EAAa,SAAAC,EAAU,OAAAC,CAAW,EAAAL,EAEpCM,EAAe,CACnB,aAAcH,GAAe,KAC7B,SAAUC,GAAY,GACtB,OAAQ,CACN,QAAQC,GAAA,YAAAA,EAAQ,SAAU,GAC1B,UAAWA,GAAA,YAAAA,EAAQ,EAAA,CAEvB,EAEA,OAAOE,EAAaT,EAAoC,CACtD,UAAW,CACT,OAAAG,EACA,QAASK,CAAA,CAEZ,CAAA,EAAE,KAAK,CAAC,CAAE,OAAAE,EAAQ,KAAAhB,KAAW,CACxB,GAAAgB,EAAe,OAAAC,EAAiBD,CAAM,EAIpC,MAAAE,EAFsClB,EAAK,wBAGvB,KAAMmB,GAAW,CAACA,EAAO,aAAa,GAAK,KAErE,OAAAC,EAAO,KAAK,oBAAqB,CAC/B,QAASrB,EAAwBe,CAAY,EAC7C,eAAgBX,EAAwBe,CAAc,CAAA,CACvD,EAEMA,CAAA,CACR,CACH,EAEaG,EAAe,SACnBN,EAAaX,EAAiB,CAAE,OAAQ,KAAA,CAAO,EAAE,KACtD,CAAC,CAAE,OAAAY,EAAQ,KAAAhB,KAAW,SAChB,GAAAgB,EAAe,OAAAC,EAAiBD,CAAM,EAEpC,MAAAM,IACJrB,EAAAD,GAAA,YAAAA,EAAM,YAAN,YAAAC,EAAiB,KAAK,CAACsB,EAAQC,IAC7BD,EAAE,MAAM,cAAcC,EAAE,KAAK,KAC1B,CAAC,EAEFC,IAAiBvB,EAAAF,GAAA,YAAAA,EAAM,cAAN,YAAAE,EAAmB,iBAAkB,KAG5C,OAAAoB,EAAA,QAASI,GAAiB,CAChCA,EAAA,iBAAmBA,EAAQ,KAAOD,CAAA,CAC3C,EAEMH,CAAA,CAEX,EAGWK,EAAa,MACxBC,GAEOb,EAAaV,EAAe,CACjC,OAAQ,MACR,UAAW,CACT,GAAIuB,CAAA,CAEP,CAAA,EAAE,KAAK,CAAC,CAAE,OAAAZ,EAAQ,KAAAhB,KAAW,OACxB,OAAAgB,EAAeC,EAAiBD,CAAM,IAEnCf,EAAAD,GAAA,YAAAA,EAAM,UAAN,YAAAC,EAAe,oBAAqB,CAAC,CAAA,CAC7C"}
|
|
1
|
+
{"version":3,"file":"getEstimateShipping.js","sources":["/@dropins/storefront-cart/src/data/transforms/transform-shipping.ts","/@dropins/storefront-cart/src/api/getEstimateShipping/graphql/countriesAndRegionsQueries.ts","/@dropins/storefront-cart/src/api/getEstimateShipping/graphql/estimateShippingMethodsMutation.ts","/@dropins/storefront-cart/src/api/getEstimateShipping/getEstimateShipping.ts"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { PartialAddress, ShippingMethod } from '@/cart/data/models';\n\nexport const transformPartialAddress = (data: any): PartialAddress => {\n return {\n countryCode: data.country_code || 'US',\n postCode: data.postcode || '',\n region: data.region?.region || '',\n regionId: data.region?.id,\n };\n};\n\nexport const transformShippingMethod = (data: any): ShippingMethod | null => {\n if (!data) return null;\n\n return {\n carrierCode: data.carrier_code || '',\n methodCode: data.method_code || '',\n amount: data.amount,\n ...(data.price_excl_tax && {\n amountExclTax: {\n value: data.price_excl_tax.value,\n currency: data.price_excl_tax.currency,\n },\n }),\n ...(data.price_incl_tax && {\n amountInclTax: {\n value: data.price_incl_tax.value,\n currency: data.price_incl_tax.currency,\n },\n }),\n };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const COUNTRIES_QUERY = `\nquery COUNTRIES_QUERY {\n countries {\n label: full_name_locale\n id\n }\n storeConfig {\n defaultCountry: default_country\n }\n}\n`;\n\nexport const REGIONS_QUERY = `\nquery REGIONS_QUERY($id: String) {\n country(id: $id) {\n available_regions {\n code\n\t\t\tname\n }\n }\n}\n`;\n\nexport type CountryData = {\n label: string;\n id: string;\n available_regions?: Array<{\n code: string;\n name: string;\n }>;\n isDefaultCountry?: boolean;\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const ESTIMATE_SHIPPING_METHODS_MUTATION = `\n mutation ESTIMATE_SHIPPING_METHODS_MUTATION(\n $cartId: String!\n $address: EstimateAddressInput!\n ) {\n estimateShippingMethods(\n input: {\n cart_id: $cartId\n address: $address\n }\n ) {\n amount {\n currency\n value\n }\n carrier_code\n method_code\n error_message\n price_excl_tax {\n currency\n value\n }\n price_incl_tax {\n currency\n value\n }\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/cart/api';\nimport { handleFetchError } from '@/cart/lib/fetch-error';\nimport { state } from '@/cart/lib/state';\n\nimport {\n transformPartialAddress,\n transformShippingMethod,\n} from '@/cart/data/transforms/transform-shipping';\nimport { events } from '@adobe-commerce/event-bus';\nimport {\n COUNTRIES_QUERY,\n CountryData,\n REGIONS_QUERY,\n} from './graphql/countriesAndRegionsQueries';\nimport { ESTIMATE_SHIPPING_METHODS_MUTATION } from './graphql/estimateShippingMethodsMutation';\n\nexport interface EstimateAddressInput {\n countryCode: string;\n postcode?: string;\n region?: {\n region?: string;\n code?: string;\n id?: number;\n };\n}\n\nexport const getEstimateShipping = async (\n address: EstimateAddressInput\n): Promise<any | null> => {\n const cartId = state.cartId;\n\n if (!cartId) throw new Error('No cart ID found');\n if (!address) throw new Error('No address parameter found');\n\n const { countryCode, postcode, region } = address;\n\n const addressInput = {\n country_code: countryCode || 'US',\n postcode: postcode || '',\n region: {\n region: region?.region || '',\n region_id: region?.id,\n },\n };\n\n return fetchGraphQl(ESTIMATE_SHIPPING_METHODS_MUTATION, {\n variables: {\n cartId,\n address: addressInput,\n },\n }).then(({ errors, data }) => {\n if (errors) return handleFetchError(errors);\n\n const estimateShippingMethods: Array<any> = data.estimateShippingMethods;\n\n const selectedMethod =\n estimateShippingMethods.find((method) => !method.error_message) || null;\n\n events.emit('shipping/estimate', {\n address: transformPartialAddress(addressInput),\n shippingMethod: transformShippingMethod(selectedMethod),\n });\n\n return selectedMethod;\n });\n};\n\nexport const getCountries = async (): Promise<[CountryData]> => {\n return fetchGraphQl(COUNTRIES_QUERY, { method: 'GET' }).then(\n ({ errors, data }) => {\n if (errors) return handleFetchError(errors);\n\n const sortedCountries =\n data?.countries?.sort((a: any, b: any) =>\n a.label.localeCompare(b.label)\n ) || [];\n\n const defaultCountry = data?.storeConfig?.defaultCountry || 'US';\n\n // Set the default country property\n sortedCountries.forEach((country: any) => {\n country.isDefaultCountry = country.id === defaultCountry;\n });\n\n return sortedCountries;\n }\n );\n};\n\nexport const getRegions = async (\n countryId: string\n): Promise<Array<{ code: string; name: string }>> => {\n return fetchGraphQl(REGIONS_QUERY, {\n method: 'GET',\n variables: {\n id: countryId,\n },\n }).then(({ errors, data }) => {\n if (errors) return handleFetchError(errors);\n\n return data?.country?.available_regions || [];\n });\n};\n"],"names":["transformPartialAddress","data","_a","_b","transformShippingMethod","COUNTRIES_QUERY","REGIONS_QUERY","ESTIMATE_SHIPPING_METHODS_MUTATION","getEstimateShipping","address","cartId","state","countryCode","postcode","region","addressInput","fetchGraphQl","errors","handleFetchError","selectedMethod","method","events","getCountries","sortedCountries","a","b","defaultCountry","country","getRegions","countryId"],"mappings":"8HAmBa,MAAAA,EAA2BC,GAA8B,SAC7D,MAAA,CACL,YAAaA,EAAK,cAAgB,KAClC,SAAUA,EAAK,UAAY,GAC3B,SAAQC,EAAAD,EAAK,SAAL,YAAAC,EAAa,SAAU,GAC/B,UAAUC,EAAAF,EAAK,SAAL,YAAAE,EAAa,EACzB,CACF,EAEaC,EAA2BH,GACjCA,EAEE,CACL,YAAaA,EAAK,cAAgB,GAClC,WAAYA,EAAK,aAAe,GAChC,OAAQA,EAAK,OACb,GAAIA,EAAK,gBAAkB,CACzB,cAAe,CACb,MAAOA,EAAK,eAAe,MAC3B,SAAUA,EAAK,eAAe,QAAA,CAElC,EACA,GAAIA,EAAK,gBAAkB,CACzB,cAAe,CACb,MAAOA,EAAK,eAAe,MAC3B,SAAUA,EAAK,eAAe,QAAA,CAChC,CAEJ,EAlBkB,KCZPI,EAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYlBC,EAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECZhBC,EAAqC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EC0BrCC,EAAsB,MACjCC,GACwB,CACxB,MAAMC,EAASC,EAAM,OAErB,GAAI,CAACD,EAAc,MAAA,IAAI,MAAM,kBAAkB,EAC/C,GAAI,CAACD,EAAe,MAAA,IAAI,MAAM,4BAA4B,EAE1D,KAAM,CAAE,YAAAG,EAAa,SAAAC,EAAU,OAAAC,CAAW,EAAAL,EAEpCM,EAAe,CACnB,aAAcH,GAAe,KAC7B,SAAUC,GAAY,GACtB,OAAQ,CACN,QAAQC,GAAA,YAAAA,EAAQ,SAAU,GAC1B,UAAWA,GAAA,YAAAA,EAAQ,EAAA,CAEvB,EAEA,OAAOE,EAAaT,EAAoC,CACtD,UAAW,CACT,OAAAG,EACA,QAASK,CAAA,CAEZ,CAAA,EAAE,KAAK,CAAC,CAAE,OAAAE,EAAQ,KAAAhB,KAAW,CACxB,GAAAgB,EAAe,OAAAC,EAAiBD,CAAM,EAIpC,MAAAE,EAFsClB,EAAK,wBAGvB,KAAMmB,GAAW,CAACA,EAAO,aAAa,GAAK,KAErE,OAAAC,EAAO,KAAK,oBAAqB,CAC/B,QAASrB,EAAwBe,CAAY,EAC7C,eAAgBX,EAAwBe,CAAc,CAAA,CACvD,EAEMA,CAAA,CACR,CACH,EAEaG,EAAe,SACnBN,EAAaX,EAAiB,CAAE,OAAQ,KAAA,CAAO,EAAE,KACtD,CAAC,CAAE,OAAAY,EAAQ,KAAAhB,KAAW,SAChB,GAAAgB,EAAe,OAAAC,EAAiBD,CAAM,EAEpC,MAAAM,IACJrB,EAAAD,GAAA,YAAAA,EAAM,YAAN,YAAAC,EAAiB,KAAK,CAACsB,EAAQC,IAC7BD,EAAE,MAAM,cAAcC,EAAE,KAAK,KAC1B,CAAC,EAEFC,IAAiBvB,EAAAF,GAAA,YAAAA,EAAM,cAAN,YAAAE,EAAmB,iBAAkB,KAG5C,OAAAoB,EAAA,QAASI,GAAiB,CAChCA,EAAA,iBAAmBA,EAAQ,KAAOD,CAAA,CAC3C,EAEMH,CAAA,CAEX,EAGWK,EAAa,MACxBC,GAEOb,EAAaV,EAAe,CACjC,OAAQ,MACR,UAAW,CACT,GAAIuB,CAAA,CAEP,CAAA,EAAE,KAAK,CAAC,CAAE,OAAAZ,EAAQ,KAAAhB,KAAW,OACxB,OAAAgB,EAAeC,EAAiBD,CAAM,IAEnCf,EAAAD,GAAA,YAAAA,EAAM,UAAN,YAAAC,EAAe,oBAAqB,CAAC,CAAA,CAC7C"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{s as h
|
|
3
|
+
import{s as h}from"./state.js";import{t as _}from"./refreshCart.js";import"@dropins/tools/event-bus.js";import{f as T,h as u}from"./resetCart.js";import{CART_FRAGMENT as E}from"../fragments.js";const I=`
|
|
4
4
|
mutation GET_ESTIMATED_TOTALS_MUTATION(
|
|
5
5
|
$cartId: String!
|
|
6
6
|
$address: EstimateAddressInput!,
|
|
@@ -23,5 +23,5 @@ import{s as h,f as _,h as T}from"./resetCart.js";import{t as u}from"./refreshCar
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
${E}
|
|
26
|
-
|
|
26
|
+
`,M=async r=>{var e,a;const o=h.cartId;if(!o)throw new Error("No cart ID found");if(!r)throw new Error("No address parameter found");const{countryCode:n,postcode:s,region:t}=r,c=(e=r.shipping_method)==null?void 0:e.carrier_code,p=(a=r.shipping_method)==null?void 0:a.method_code;return T(I,{variables:{cartId:o,address:{country_code:n||"US",postcode:s,region:(t==null?void 0:t.id)!==void 0?{region_id:t.id}:{region:(t==null?void 0:t.region)??""}},shipping_method:{carrier_code:c||"",method_code:p||""}}}).then(({errors:i,data:m})=>{if(i)return u(i);const d=m.estimateTotals;return d?_(d.cart):null})};export{M as g};
|
|
27
27
|
//# sourceMappingURL=getEstimatedTotals.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEstimatedTotals.js","sources":["/@dropins/storefront-cart/src/api/getEstimatedTotals/graphql/GetEstimatedTotalsMutation.ts","/@dropins/storefront-cart/src/api/getEstimatedTotals/getEstimatedTotals.ts"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { CART_FRAGMENT } from '@/cart/api/graphql/CartFragment';\n\nexport const GET_ESTIMATED_TOTALS_MUTATION = `\n mutation GET_ESTIMATED_TOTALS_MUTATION(\n $cartId: String!\n $address: EstimateAddressInput!,\n $shipping_method: ShippingMethodInput,\n $pageSize: Int! = 100,\n $currentPage: Int! = 1,\n $itemsSortInput: QuoteItemsSortInput! = {field: CREATED_AT, order: DESC}\n ) {\n estimateTotals(\n input: {\n cart_id: $cartId\n address: $address\n shipping_method: $shipping_method\n }\n ) {\n cart {\n ...CART_FRAGMENT\n }\n }\n }\n\n ${CART_FRAGMENT}\n `;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/cart/api';\nimport { handleFetchError } from '@/cart/lib/fetch-error';\nimport { state } from '@/cart/lib/state';\nimport { CartModel } from '@/cart/data/models';\nimport { transformCart } from '@/cart/data/transforms';\n\nimport { GET_ESTIMATED_TOTALS_MUTATION } from './graphql/GetEstimatedTotalsMutation';\n\nexport interface EstimateAddressShippingInput {\n countryCode: string;\n postcode?: string;\n region?: {\n region?: string;\n id?: number;\n };\n shipping_method?: {\n carrier_code?: string;\n method_code?: string;\n };\n}\n\nexport const getEstimatedTotals = async (\n address: EstimateAddressShippingInput\n): Promise<CartModel | null> => {\n const cartId = state.cartId;\n\n if (!cartId) throw new Error('No cart ID found');\n if (!address) throw new Error('No address parameter found');\n\n const { countryCode, postcode, region } = address;\n const carrier_code = address.shipping_method?.carrier_code;\n const method_code = address.shipping_method?.method_code;\n\n return fetchGraphQl(GET_ESTIMATED_TOTALS_MUTATION, {\n variables: {\n cartId,\n address: {\n country_code: countryCode || 'US',\n postcode,\n region:\n region?.id !== undefined\n ? { region_id: region.id }\n : { region: region?.region ?? '' },\n },\n shipping_method: {\n carrier_code: carrier_code || '',\n method_code: method_code || '',\n },\n },\n }).then(({ errors, data }) => {\n if (errors) return handleFetchError(errors);\n\n const estimatedData: { cart: any } = data.estimateTotals;\n\n if (estimatedData) {\n const payload = transformCart(estimatedData.cart);\n\n return payload;\n }\n\n return null;\n });\n};\n"],"names":["GET_ESTIMATED_TOTALS_MUTATION","CART_FRAGMENT","getEstimatedTotals","address","cartId","state","countryCode","postcode","region","carrier_code","_a","method_code","_b","fetchGraphQl","errors","data","handleFetchError","estimatedData","transformCart"],"mappings":"
|
|
1
|
+
{"version":3,"file":"getEstimatedTotals.js","sources":["/@dropins/storefront-cart/src/api/getEstimatedTotals/graphql/GetEstimatedTotalsMutation.ts","/@dropins/storefront-cart/src/api/getEstimatedTotals/getEstimatedTotals.ts"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { CART_FRAGMENT } from '@/cart/api/graphql/CartFragment';\n\nexport const GET_ESTIMATED_TOTALS_MUTATION = `\n mutation GET_ESTIMATED_TOTALS_MUTATION(\n $cartId: String!\n $address: EstimateAddressInput!,\n $shipping_method: ShippingMethodInput,\n $pageSize: Int! = 100,\n $currentPage: Int! = 1,\n $itemsSortInput: QuoteItemsSortInput! = {field: CREATED_AT, order: DESC}\n ) {\n estimateTotals(\n input: {\n cart_id: $cartId\n address: $address\n shipping_method: $shipping_method\n }\n ) {\n cart {\n ...CART_FRAGMENT\n }\n }\n }\n\n ${CART_FRAGMENT}\n `;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/cart/api';\nimport { handleFetchError } from '@/cart/lib/fetch-error';\nimport { state } from '@/cart/lib/state';\nimport { CartModel } from '@/cart/data/models';\nimport { transformCart } from '@/cart/data/transforms';\n\nimport { GET_ESTIMATED_TOTALS_MUTATION } from './graphql/GetEstimatedTotalsMutation';\n\nexport interface EstimateAddressShippingInput {\n countryCode: string;\n postcode?: string;\n region?: {\n region?: string;\n id?: number;\n };\n shipping_method?: {\n carrier_code?: string;\n method_code?: string;\n };\n}\n\nexport const getEstimatedTotals = async (\n address: EstimateAddressShippingInput\n): Promise<CartModel | null> => {\n const cartId = state.cartId;\n\n if (!cartId) throw new Error('No cart ID found');\n if (!address) throw new Error('No address parameter found');\n\n const { countryCode, postcode, region } = address;\n const carrier_code = address.shipping_method?.carrier_code;\n const method_code = address.shipping_method?.method_code;\n\n return fetchGraphQl(GET_ESTIMATED_TOTALS_MUTATION, {\n variables: {\n cartId,\n address: {\n country_code: countryCode || 'US',\n postcode,\n region:\n region?.id !== undefined\n ? { region_id: region.id }\n : { region: region?.region ?? '' },\n },\n shipping_method: {\n carrier_code: carrier_code || '',\n method_code: method_code || '',\n },\n },\n }).then(({ errors, data }) => {\n if (errors) return handleFetchError(errors);\n\n const estimatedData: { cart: any } = data.estimateTotals;\n\n if (estimatedData) {\n const payload = transformCart(estimatedData.cart);\n\n return payload;\n }\n\n return null;\n });\n};\n"],"names":["GET_ESTIMATED_TOTALS_MUTATION","CART_FRAGMENT","getEstimatedTotals","address","cartId","state","countryCode","postcode","region","carrier_code","_a","method_code","_b","fetchGraphQl","errors","data","handleFetchError","estimatedData","transformCart"],"mappings":"kMAmBO,MAAMA,EAAgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAsBzCC,CAAa;AAAA,ICHJC,EAAqB,MAChCC,GAC8B,SAC9B,MAAMC,EAASC,EAAM,OAErB,GAAI,CAACD,EAAc,MAAA,IAAI,MAAM,kBAAkB,EAC/C,GAAI,CAACD,EAAe,MAAA,IAAI,MAAM,4BAA4B,EAE1D,KAAM,CAAE,YAAAG,EAAa,SAAAC,EAAU,OAAAC,CAAW,EAAAL,EACpCM,GAAeC,EAAAP,EAAQ,kBAAR,YAAAO,EAAyB,aACxCC,GAAcC,EAAAT,EAAQ,kBAAR,YAAAS,EAAyB,YAE7C,OAAOC,EAAab,EAA+B,CACjD,UAAW,CACT,OAAAI,EACA,QAAS,CACP,aAAcE,GAAe,KAC7B,SAAAC,EACA,QACEC,GAAA,YAAAA,EAAQ,MAAO,OACX,CAAE,UAAWA,EAAO,EACpB,EAAA,CAAE,QAAQA,GAAA,YAAAA,EAAQ,SAAU,EAAG,CACvC,EACA,gBAAiB,CACf,aAAcC,GAAgB,GAC9B,YAAaE,GAAe,EAAA,CAC9B,CAEH,CAAA,EAAE,KAAK,CAAC,CAAE,OAAAG,EAAQ,KAAAC,KAAW,CACxB,GAAAD,EAAe,OAAAE,EAAiBF,CAAM,EAE1C,MAAMG,EAA+BF,EAAK,eAE1C,OAAIE,EACcC,EAAcD,EAAc,IAAI,EAK3C,IAAA,CACR,CACH"}
|
package/chunks/persisted-data.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
const t="DROPIN__CART__CART__AUTHENTICATED";function s(e){e?sessionStorage.setItem("DROPIN__CART__CART__DATA",JSON.stringify(e)):sessionStorage.removeItem("DROPIN__CART__CART__DATA")}function _(){const e=sessionStorage.getItem("DROPIN__CART__CART__DATA");return e?JSON.parse(e):null}function o(e){e?sessionStorage.setItem("DROPIN__CART__SHIPPING__DATA",JSON.stringify(e)):sessionStorage.removeItem("DROPIN__CART__SHIPPING__DATA")}function r(e){e?localStorage.setItem(t,"true"):localStorage.removeItem(t)}function a(){return localStorage.getItem(t)==="true"}export{a,
|
|
3
|
+
const t="DROPIN__CART__CART__AUTHENTICATED";function s(e){e?sessionStorage.setItem("DROPIN__CART__CART__DATA",JSON.stringify(e)):sessionStorage.removeItem("DROPIN__CART__CART__DATA")}function _(){const e=sessionStorage.getItem("DROPIN__CART__CART__DATA");return e?JSON.parse(e):null}function o(e){e?sessionStorage.setItem("DROPIN__CART__SHIPPING__DATA",JSON.stringify(e)):sessionStorage.removeItem("DROPIN__CART__SHIPPING__DATA")}function r(e){e?localStorage.setItem(t,"true"):localStorage.removeItem(t)}function a(){return localStorage.getItem(t)==="true"}export{a,o as b,s as c,_ as g,r as s};
|
|
4
4
|
//# sourceMappingURL=persisted-data.js.map
|
package/chunks/refreshCart.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{s as o,d as X,f as I,h as U}from"./resetCart.js";import{events as g}from"@dropins/tools/event-bus.js";import{Initializer as K,merge as j}from"@dropins/tools/lib.js";import{c as Y}from"./persisted-data.js";import{CART_FRAGMENT as A}from"../fragments.js";const q=new K({init:async r=>{const n={disableGuestCart:!1,...r};q.config.setConfig(n),D().catch(console.error)},listeners:()=>[g.on("authenticated",r=>{o.authenticated&&!r?g.emit("cart/reset",void 0):r&&!o.authenticated&&(o.authenticated=r,D().catch(console.error))},{eager:!0}),g.on("locale",async r=>{r!==o.locale&&(o.locale=r,D().catch(console.error))}),g.on("cart/reset",()=>{X().catch(console.error),g.emit("cart/data",null)}),g.on("cart/data",r=>{Y(r)}),g.on("checkout/updated",r=>{r&&z().catch(console.error)}),g.on("companyContext/changed",()=>{z().catch(console.error)})]}),B=q.config;function k(r){var c,e,u,l,i,_,a,f,y,d,m,h,b,x,t,T;if(!r)return null;const n={appliedGiftCards:((c=r==null?void 0:r.applied_gift_cards)==null?void 0:c.map(s=>{var w,R,M;const p={code:s.code??"",appliedBalance:{value:s.applied_balance.value??0,currency:s.applied_balance.currency??"USD"},currentBalance:{value:s.current_balance.value??0,currency:s.current_balance.currency??"USD"},expirationDate:s.expiration_date??""},v=(w=p==null?void 0:p.currentBalance)==null?void 0:w.value,C=(R=p==null?void 0:p.appliedBalance)==null?void 0:R.value,S=(M=p==null?void 0:p.currentBalance)==null?void 0:M.currency,L=v-C>0?v-C:0;return{...p,giftCardBalance:{value:L,currency:S}}}))??[],id:r.id,totalQuantity:tr(r),totalUniqueItems:r.itemsV2.items.length,totalGiftOptions:O((e=r==null?void 0:r.prices)==null?void 0:e.gift_options),giftReceiptIncluded:(r==null?void 0:r.gift_receipt_included)??!1,printedCardIncluded:(r==null?void 0:r.printed_card_included)??!1,cartGiftWrapping:((u=r==null?void 0:r.available_gift_wrappings)==null?void 0:u.map(s=>{var p,v,C,S,E;return{design:s.design??"",uid:s.uid,selected:((p=r==null?void 0:r.gift_wrapping)==null?void 0:p.uid)===s.uid,image:{url:((v=s==null?void 0:s.image)==null?void 0:v.url)??"",label:((C=s.image)==null?void 0:C.label)??""},price:{currency:((S=s==null?void 0:s.price)==null?void 0:S.currency)??"USD",value:((E=s==null?void 0:s.price)==null?void 0:E.value)??0}}}))??[],giftMessage:{senderName:((l=r==null?void 0:r.gift_message)==null?void 0:l.from)??"",recipientName:((i=r==null?void 0:r.gift_message)==null?void 0:i.to)??"",message:((_=r==null?void 0:r.gift_message)==null?void 0:_.message)??""},errors:cr(r==null?void 0:r.itemsV2),items:N(r==null?void 0:r.itemsV2),miniCartMaxItems:N(r==null?void 0:r.itemsV2).slice(0,((a=o.config)==null?void 0:a.miniCartMaxItemsDisplay)??10),total:{includingTax:{value:r.prices.grand_total.value,currency:r.prices.grand_total.currency},excludingTax:{value:r.prices.grand_total_excluding_tax.value,currency:r.prices.grand_total_excluding_tax.currency}},discount:P(r.prices.discounts,r.prices.grand_total.currency),subtotal:{excludingTax:{value:(f=r.prices.subtotal_excluding_tax)==null?void 0:f.value,currency:(y=r.prices.subtotal_excluding_tax)==null?void 0:y.currency},includingTax:{value:(d=r.prices.subtotal_including_tax)==null?void 0:d.value,currency:(m=r.prices.subtotal_including_tax)==null?void 0:m.currency},includingDiscountOnly:{value:(h=r.prices.subtotal_with_discount_excluding_tax)==null?void 0:h.value,currency:(b=r.prices.subtotal_with_discount_excluding_tax)==null?void 0:b.currency}},appliedTaxes:F(r.prices.applied_taxes),totalTax:P(r.prices.applied_taxes,r.prices.grand_total.currency),appliedDiscounts:F(r.prices.discounts),isVirtual:r.is_virtual,addresses:{shipping:r.shipping_addresses&&or(r)},isGuestCart:!o.authenticated,hasOutOfStockItems:_r(r),hasFullyOutOfStockItems:pr(r),appliedCoupons:r.applied_coupons};return j(n,(T=(t=(x=B.getConfig().models)==null?void 0:x.CartModel)==null?void 0:t.transformer)==null?void 0:T.call(t,r))}function O(r){var n,c,e,u,l,i,_,a,f,y,d,m;return{giftWrappingForItems:{value:((n=r==null?void 0:r.gift_wrapping_for_items)==null?void 0:n.value)??0,currency:((c=r==null?void 0:r.gift_wrapping_for_items)==null?void 0:c.currency)??"USD"},giftWrappingForItemsInclTax:{value:((e=r==null?void 0:r.gift_wrapping_for_items_incl_tax)==null?void 0:e.value)??0,currency:((u=r==null?void 0:r.gift_wrapping_for_items_incl_tax)==null?void 0:u.currency)??"USD"},giftWrappingForOrder:{value:((l=r==null?void 0:r.gift_wrapping_for_order)==null?void 0:l.value)??0,currency:((i=r==null?void 0:r.gift_wrapping_for_order)==null?void 0:i.currency)??"USD"},giftWrappingForOrderInclTax:{value:((_=r==null?void 0:r.gift_wrapping_for_order_incl_tax)==null?void 0:_.value)??0,currency:((a=r==null?void 0:r.gift_wrapping_for_order_incl_tax)==null?void 0:a.currency)??"USD"},printedCard:{value:((f=r==null?void 0:r.printed_card)==null?void 0:f.value)??0,currency:((y=r==null?void 0:r.printed_card)==null?void 0:y.currency)??"USD"},printedCardInclTax:{value:((d=r==null?void 0:r.printed_card_incl_tax)==null?void 0:d.value)??0,currency:((m=r==null?void 0:r.printed_card_incl_tax)==null?void 0:m.currency)??"USD"}}}function P(r,n){return r!=null&&r.length?r.reduce((c,e)=>({value:c.value+e.amount.value,currency:e.amount.currency}),{value:0,currency:n}):{value:0,currency:n}}function H(r,n){var c,e,u,l;return{src:r!=null&&r.useConfigurableParentThumbnail?n.product.thumbnail.url:((e=(c=n.configured_variant)==null?void 0:c.thumbnail)==null?void 0:e.url)||n.product.thumbnail.url,alt:r!=null&&r.useConfigurableParentThumbnail?n.product.thumbnail.label:((l=(u=n.configured_variant)==null?void 0:u.thumbnail)==null?void 0:l.label)||n.product.thumbnail.label}}function J(r){var n,c,e,u;return r.__typename==="ConfigurableCartItem"?{value:(c=(n=r.configured_variant)==null?void 0:n.price_range)==null?void 0:c.maximum_price.regular_price.value,currency:(u=(e=r.configured_variant)==null?void 0:e.price_range)==null?void 0:u.maximum_price.regular_price.currency}:r.__typename==="GiftCardCartItem"?{value:r.prices.price.value,currency:r.prices.price.currency}:{value:r.prices.original_item_price.value,currency:r.prices.original_item_price.currency}}function V(r,n){return r!=null&&r.length&&[...r].sort((e,u)=>u.quantity-e.quantity).find(e=>n>=e.quantity)||null}function Z(r){var i,_;const n=r.quantity,c=r.__typename==="ConfigurableCartItem",e=c?(i=r.configured_variant)==null?void 0:i.price_tiers:r.product.price_tiers,u=c?(_=r.configured_variant)==null?void 0:_.price_range:r.product.price_range,l=V(e,n);return l?l.discount.amount_off>0:(u==null?void 0:u.maximum_price.discount.amount_off)>0}function rr(r){var n,c,e;return{senderName:((n=r==null?void 0:r.gift_message)==null?void 0:n.from)??"",recipientName:((c=r==null?void 0:r.gift_message)==null?void 0:c.to)??"",message:((e=r==null?void 0:r.gift_message)==null?void 0:e.message)??""}}function er(r){return{currency:(r==null?void 0:r.currency)??"USD",value:(r==null?void 0:r.value)??0}}function N(r){var c;if(!((c=r==null?void 0:r.items)!=null&&c.length))return[];const n=o.config;return r.items.map(e=>{var u,l,i,_,a,f,y,d,m,h,b,x;return{giftWrappingAvailable:((u=e==null?void 0:e.product)==null?void 0:u.gift_wrapping_available)??!1,giftWrappingPrice:er((l=e==null?void 0:e.product)==null?void 0:l.gift_wrapping_price),giftMessage:rr(e),productGiftWrapping:((i=e==null?void 0:e.available_gift_wrapping)==null?void 0:i.map(t=>{var T,s,p,v,C;return{design:t.design??"",uid:t.uid,selected:((T=e.gift_wrapping)==null?void 0:T.uid)===t.uid,image:{url:((s=t==null?void 0:t.image)==null?void 0:s.url)??"",label:((p=t.image)==null?void 0:p.label)??""},price:{currency:((v=t==null?void 0:t.price)==null?void 0:v.currency)??"USD",value:((C=t==null?void 0:t.price)==null?void 0:C.value)??0}}}))??[],itemType:e.__typename,uid:e.uid,giftMessageAvailable:nr(e.product.gift_message_available),url:{urlKey:e.product.url_key,categories:e.product.categories.map(t=>t.url_key)},canonicalUrl:e.product.canonical_url,categories:e.product.categories.map(t=>t.name),priceTiers:e.__typename==="ConfigurableCartItem"?((a=(_=e.configured_variant)==null?void 0:_.price_tiers)==null?void 0:a.map(t=>t))||[]:((f=e.product.price_tiers)==null?void 0:f.map(t=>t))||[],quantity:e.quantity,sku:fr(e),topLevelSku:e.product.sku,name:e.product.name,image:H(n,e),price:{value:e.prices.price.value,currency:e.prices.price.currency},taxedPrice:{value:e.prices.price_including_tax.value,currency:e.prices.price_including_tax.currency},fixedProductTaxes:e.prices.fixed_product_taxes,rowTotal:{value:e.prices.row_total.value,currency:e.prices.row_total.currency},rowTotalIncludingTax:{value:e.prices.row_total_including_tax.value,currency:e.prices.row_total_including_tax.currency},links:sr(e.links),total:{value:(y=e.prices.original_row_total)==null?void 0:y.value,currency:(d=e.prices.original_row_total)==null?void 0:d.currency},discount:{value:e.prices.total_item_discount.value,currency:e.prices.total_item_discount.currency,label:(m=e.prices.discounts)==null?void 0:m.map(t=>t.label)},regularPrice:J(e),discounted:Z(e),bundleOptions:e.__typename==="BundleCartItem"?ur(e.bundle_options):null,bundleOptionsUIDs:e.__typename==="BundleCartItem"?lr(e.bundle_options):null,selectedOptions:(h=$(e.configurable_options))==null?void 0:h.options,selectedOptionsUIDs:(b=$(e.configurable_options))==null?void 0:b.uids,customizableOptions:ir(e.customizable_options),sender:e.__typename==="GiftCardCartItem"?e.sender_name:null,senderEmail:e.__typename==="GiftCardCartItem"?e.sender_email:null,recipient:e.__typename==="GiftCardCartItem"?e.recipient_name:null,recipientEmail:e.__typename==="GiftCardCartItem"?e.recipient_email:null,message:e.__typename==="GiftCardCartItem"?e.message:null,discountedTotal:{value:e.prices.row_total.value,currency:e.prices.row_total.currency},onlyXLeftInStock:e.__typename==="ConfigurableCartItem"?(x=e.configured_variant)==null?void 0:x.only_x_left_in_stock:e.product.only_x_left_in_stock,lowInventory:e.is_available&&e.product.only_x_left_in_stock!==null,insufficientQuantity:(e.__typename==="ConfigurableCartItem"?e.configured_variant:e.product).stock_status==="IN_STOCK"&&!e.is_available,outOfStock:e.product.stock_status==="OUT_OF_STOCK",stockLevel:ar(e),discountPercentage:gr(e),savingsAmount:yr(e),productAttributes:dr(e)}})}function nr(r){switch(+r){case 0:return!1;case 1:return!0;case 2:return null;default:return!1}}function cr(r){var c;const n=(c=r==null?void 0:r.items)==null?void 0:c.reduce((e,u)=>{var l;return(l=u.errors)==null||l.forEach(i=>{e.push({uid:u.uid,text:i.message})}),e},[]);return n!=null&&n.length?n:null}function F(r){return r!=null&&r.length?r.map(n=>({amount:{value:n.amount.value,currency:n.amount.currency},label:n.label,coupon:n.coupon})):[]}function ur(r){const n=r==null?void 0:r.map(e=>({uid:e.uid,label:e.label,value:e.values.map(u=>u.label).join(", ")})),c={};return n==null||n.forEach(e=>{c[e.label]=e.value}),Object.keys(c).length>0?c:null}function lr(r){if(!(r!=null&&r.length))return null;const n=[];return r.forEach(c=>{var e;if((e=c.values)!=null&&e.length){const u=c.values.map(l=>l.uid);n.push(...u)}}),n.length>0?n:null}function $(r){const n=r==null?void 0:r.map(u=>({uid:u.configurable_product_option_uid,label:u.option_label,value:u.value_label,valueUid:u.configurable_product_option_value_uid})),c={},e={};return n==null||n.forEach(u=>{c[u.label]=u.value,e[u.label]=u.valueUid}),{options:Object.keys(c).length>0?c:null,uids:Object.keys(e).length>0?e:null}}function ir(r){const n=r==null?void 0:r.map(e=>({uid:e.customizable_option_uid,label:e.label,type:e.type,values:e.values.map(u=>({uid:u.customizable_option_value_uid,label:u.label,value:u.value}))})),c={};return n==null||n.forEach(e=>{var u;switch(e.type){case"field":case"area":case"date_time":c[e.label]=e.values[0].value;break;case"radio":case"drop_down":c[e.label]=e.values[0].label;break;case"multiple":case"checkbox":c[e.label]=e.values.reduce((l,i)=>l?`${l}, ${i.label}`:i.label,"");break;case"file":{const l=new DOMParser,i=e.values[0].value,a=((u=l.parseFromString(i,"text/html").querySelector("a"))==null?void 0:u.textContent)||"";c[e.label]=a;break}}}),c}function tr(r){var n,c;return((n=o.config)==null?void 0:n.cartSummaryDisplayTotal)===0?r.itemsV2.items.length:((c=o.config)==null?void 0:c.cartSummaryDisplayTotal)===1?r.total_quantity:r.itemsV2.items.length}function sr(r){return(r==null?void 0:r.length)>0?{count:r.length,result:r.map(n=>n.title).join(", ")}:null}function or(r){var n,c,e,u;return(n=r.shipping_addresses)!=null&&n.length?(c=r.shipping_addresses)==null?void 0:c.map(l=>({countryCode:l.country.code,zipCode:l.postcode,regionCode:l.region.code})):(e=r.addresses)!=null&&e.length?(u=r.addresses)==null?void 0:u.filter(l=>l.default_shipping).map(l=>{var i;return l.default_shipping&&{countryCode:l.country_code,zipCode:l.postcode,regionCode:(i=l.region)==null?void 0:i.region_code}}):null}function _r(r){var n,c;return(c=(n=r==null?void 0:r.itemsV2)==null?void 0:n.items)==null?void 0:c.some(e=>{var u;return((u=e==null?void 0:e.product)==null?void 0:u.stock_status)==="OUT_OF_STOCK"||e.product.stock_status==="IN_STOCK"&&!e.is_available})}function ar(r){return r.not_available_message?r.product.quantity!=null?r.product.quantity:"noNumber":null}function pr(r){var n,c;return(c=(n=r==null?void 0:r.itemsV2)==null?void 0:n.items)==null?void 0:c.some(e=>{var u;return((u=e==null?void 0:e.product)==null?void 0:u.stock_status)==="OUT_OF_STOCK"})}function gr(r){var u,l,i,_,a,f,y,d;const n=r.quantity,c=V(r.product.price_tiers,n);if(c)return Math.round(c.discount.percent_off);let e;if(r.__typename==="ConfigurableCartItem")e=(_=(i=(l=(u=r==null?void 0:r.configured_variant)==null?void 0:u.price_range)==null?void 0:l.maximum_price)==null?void 0:i.discount)==null?void 0:_.percent_off;else{if(r.__typename==="BundleCartItem")return;e=(d=(y=(f=(a=r==null?void 0:r.product)==null?void 0:a.price_range)==null?void 0:f.maximum_price)==null?void 0:y.discount)==null?void 0:d.percent_off}if(e!==0)return Math.round(e)}function fr(r){var n;return r.__typename==="ConfigurableCartItem"?r.configured_variant.sku:((n=r.product)==null?void 0:n.variantSku)||r.product.sku}function yr(r){var e,u,l,i,_,a;let n,c;if(n=((u=(e=r==null?void 0:r.prices)==null?void 0:e.original_row_total)==null?void 0:u.value)-((i=(l=r==null?void 0:r.prices)==null?void 0:l.row_total)==null?void 0:i.value),c=(a=(_=r==null?void 0:r.prices)==null?void 0:_.row_total)==null?void 0:a.currency,n!==0)return{value:n,currency:c}}function dr(r){var n,c,e;return(e=(c=(n=r==null?void 0:r.product)==null?void 0:n.custom_attributesV2)==null?void 0:c.items)==null?void 0:e.map(u=>{const l=u.code.split("_").map(i=>i.charAt(0).toUpperCase()+i.slice(1)).join(" ");return{...u,code:l}})}function mr(r){var e,u;if(!r)return null;const n=l=>{switch(l){case 1:return"EXCLUDING_TAX";case 2:return"INCLUDING_TAX";case 3:return"INCLUDING_EXCLUDING_TAX";default:return"EXCLUDING_TAX"}},c=l=>{switch(+l){case 0:return!1;case 1:return!0;case 2:return null;default:return!1}};return{displayMiniCart:r.minicart_display,miniCartMaxItemsDisplay:r.minicart_max_items,cartExpiresInDays:r.cart_expires_in_days,cartSummaryDisplayTotal:r.cart_summary_display_quantity,cartSummaryMaxItems:r.max_items_in_order_summary,defaultCountry:r.default_country,categoryFixedProductTaxDisplaySetting:r.category_fixed_product_tax_display_setting,productFixedProductTaxDisplaySetting:r.product_fixed_product_tax_display_setting,salesFixedProductTaxDisplaySetting:r.sales_fixed_product_tax_display_setting,shoppingCartDisplaySetting:{zeroTax:r.shopping_cart_display_zero_tax,subtotal:n(r.shopping_cart_display_subtotal),price:n(r.shopping_cart_display_price),shipping:n(r.shopping_cart_display_shipping),fullSummary:r.shopping_cart_display_full_summary,grandTotal:r.shopping_cart_display_grand_total,taxGiftWrapping:r.shopping_cart_display_tax_gift_wrapping},useConfigurableParentThumbnail:r.configurable_thumbnail_source==="parent",allowGiftWrappingOnOrder:c(r==null?void 0:r.allow_gift_wrapping_on_order),allowGiftWrappingOnOrderItems:c(r==null?void 0:r.allow_gift_wrapping_on_order_items),allowGiftMessageOnOrder:c(r==null?void 0:r.allow_order),allowGiftMessageOnOrderItems:c(r==null?void 0:r.allow_items),allowGiftReceipt:!!+(r==null?void 0:r.allow_gift_receipt),allowPrintedCard:!!+(r==null?void 0:r.allow_printed_card),printedCardPrice:{currency:((e=r==null?void 0:r.printed_card_priceV2)==null?void 0:e.currency)??"",value:((u=r==null?void 0:r.printed_card_priceV2)==null?void 0:u.value)!=null?+r.printed_card_priceV2.value:0},cartGiftWrapping:n(+r.cart_gift_wrapping),cartPrintedCard:n(+r.cart_printed_card)}}const vr=`
|
|
3
|
+
import{s}from"./state.js";import{events as f}from"@dropins/tools/event-bus.js";import{Initializer as X,merge as K}from"@dropins/tools/lib.js";import{c as j}from"./persisted-data.js";import{c as Y,f as I,h as U}from"./resetCart.js";import{CART_FRAGMENT as A}from"../fragments.js";const q=new X({init:async r=>{const n={disableGuestCart:!1,...r};q.config.setConfig(n),D().catch(console.error)},listeners:()=>[f.on("authenticated",r=>{s.authenticated&&!r?f.emit("cart/reset",void 0):r&&!s.authenticated&&(s.authenticated=r,D().catch(console.error))},{eager:!0}),f.on("locale",async r=>{r!==s.locale&&(s.locale=r,D().catch(console.error))}),f.on("cart/reset",()=>{Y().catch(console.error),f.emit("cart/data",null)}),f.on("cart/data",r=>{j(r)}),f.on("checkout/updated",r=>{r&&z().catch(console.error)}),f.on("companyContext/changed",()=>{z().catch(console.error)})]}),B=q.config;function P(r){var c,e,u,l,i,_,a,g,y,d,m,b,x,h,t,T;if(!r)return null;const n={appliedGiftCards:((c=r==null?void 0:r.applied_gift_cards)==null?void 0:c.map(o=>{var w,R,k;const p={code:o.code??"",appliedBalance:{value:o.applied_balance.value??0,currency:o.applied_balance.currency??"USD"},currentBalance:{value:o.current_balance.value??0,currency:o.current_balance.currency??"USD"},expirationDate:o.expiration_date??""},v=(w=p==null?void 0:p.currentBalance)==null?void 0:w.value,C=(R=p==null?void 0:p.appliedBalance)==null?void 0:R.value,S=(k=p==null?void 0:p.currentBalance)==null?void 0:k.currency,L=v-C>0?v-C:0;return{...p,giftCardBalance:{value:L,currency:S}}}))??[],id:r.id,totalQuantity:tr(r),totalUniqueItems:r.itemsV2.items.length,totalGiftOptions:O((e=r==null?void 0:r.prices)==null?void 0:e.gift_options),giftReceiptIncluded:(r==null?void 0:r.gift_receipt_included)??!1,printedCardIncluded:(r==null?void 0:r.printed_card_included)??!1,cartGiftWrapping:((u=r==null?void 0:r.available_gift_wrappings)==null?void 0:u.map(o=>{var p,v,C,S,E;return{design:o.design??"",uid:o.uid,selected:((p=r==null?void 0:r.gift_wrapping)==null?void 0:p.uid)===o.uid,image:{url:((v=o==null?void 0:o.image)==null?void 0:v.url)??"",label:((C=o.image)==null?void 0:C.label)??""},price:{currency:((S=o==null?void 0:o.price)==null?void 0:S.currency)??"USD",value:((E=o==null?void 0:o.price)==null?void 0:E.value)??0}}}))??[],giftMessage:{senderName:((l=r==null?void 0:r.gift_message)==null?void 0:l.from)??"",recipientName:((i=r==null?void 0:r.gift_message)==null?void 0:i.to)??"",message:((_=r==null?void 0:r.gift_message)==null?void 0:_.message)??""},errors:cr(r==null?void 0:r.itemsV2),items:M(r==null?void 0:r.itemsV2),miniCartMaxItems:M(r==null?void 0:r.itemsV2).slice(0,((a=s.config)==null?void 0:a.miniCartMaxItemsDisplay)??10),total:{includingTax:{value:r.prices.grand_total.value,currency:r.prices.grand_total.currency},excludingTax:{value:r.prices.grand_total_excluding_tax.value,currency:r.prices.grand_total_excluding_tax.currency}},discount:N(r.prices.discounts,r.prices.grand_total.currency),subtotal:{excludingTax:{value:(g=r.prices.subtotal_excluding_tax)==null?void 0:g.value,currency:(y=r.prices.subtotal_excluding_tax)==null?void 0:y.currency},includingTax:{value:(d=r.prices.subtotal_including_tax)==null?void 0:d.value,currency:(m=r.prices.subtotal_including_tax)==null?void 0:m.currency},includingDiscountOnly:{value:(b=r.prices.subtotal_with_discount_excluding_tax)==null?void 0:b.value,currency:(x=r.prices.subtotal_with_discount_excluding_tax)==null?void 0:x.currency}},appliedTaxes:F(r.prices.applied_taxes),totalTax:N(r.prices.applied_taxes,r.prices.grand_total.currency),appliedDiscounts:F(r.prices.discounts),isVirtual:r.is_virtual,addresses:{shipping:r.shipping_addresses&&sr(r)},isGuestCart:!s.authenticated,hasOutOfStockItems:ar(r),hasFullyOutOfStockItems:fr(r),appliedCoupons:r.applied_coupons};return K(n,(T=(t=(h=B.getConfig().models)==null?void 0:h.CartModel)==null?void 0:t.transformer)==null?void 0:T.call(t,r))}function O(r){var n,c,e,u,l,i,_,a,g,y,d,m;return{giftWrappingForItems:{value:((n=r==null?void 0:r.gift_wrapping_for_items)==null?void 0:n.value)??0,currency:((c=r==null?void 0:r.gift_wrapping_for_items)==null?void 0:c.currency)??"USD"},giftWrappingForItemsInclTax:{value:((e=r==null?void 0:r.gift_wrapping_for_items_incl_tax)==null?void 0:e.value)??0,currency:((u=r==null?void 0:r.gift_wrapping_for_items_incl_tax)==null?void 0:u.currency)??"USD"},giftWrappingForOrder:{value:((l=r==null?void 0:r.gift_wrapping_for_order)==null?void 0:l.value)??0,currency:((i=r==null?void 0:r.gift_wrapping_for_order)==null?void 0:i.currency)??"USD"},giftWrappingForOrderInclTax:{value:((_=r==null?void 0:r.gift_wrapping_for_order_incl_tax)==null?void 0:_.value)??0,currency:((a=r==null?void 0:r.gift_wrapping_for_order_incl_tax)==null?void 0:a.currency)??"USD"},printedCard:{value:((g=r==null?void 0:r.printed_card)==null?void 0:g.value)??0,currency:((y=r==null?void 0:r.printed_card)==null?void 0:y.currency)??"USD"},printedCardInclTax:{value:((d=r==null?void 0:r.printed_card_incl_tax)==null?void 0:d.value)??0,currency:((m=r==null?void 0:r.printed_card_incl_tax)==null?void 0:m.currency)??"USD"}}}function N(r,n){return r!=null&&r.length?r.reduce((c,e)=>({value:c.value+e.amount.value,currency:e.amount.currency}),{value:0,currency:n}):{value:0,currency:n}}function H(r,n){var c,e,u,l;return{src:r!=null&&r.useConfigurableParentThumbnail?n.product.thumbnail.url:((e=(c=n.configured_variant)==null?void 0:c.thumbnail)==null?void 0:e.url)||n.product.thumbnail.url,alt:r!=null&&r.useConfigurableParentThumbnail?n.product.thumbnail.label:((l=(u=n.configured_variant)==null?void 0:u.thumbnail)==null?void 0:l.label)||n.product.thumbnail.label}}function J(r){var n,c,e,u;return r.__typename==="ConfigurableCartItem"?{value:(c=(n=r.configured_variant)==null?void 0:n.price_range)==null?void 0:c.maximum_price.regular_price.value,currency:(u=(e=r.configured_variant)==null?void 0:e.price_range)==null?void 0:u.maximum_price.regular_price.currency}:r.__typename==="GiftCardCartItem"?{value:r.prices.price.value,currency:r.prices.price.currency}:{value:r.prices.original_item_price.value,currency:r.prices.original_item_price.currency}}function V(r,n){return r!=null&&r.length&&[...r].sort((e,u)=>u.quantity-e.quantity).find(e=>n>=e.quantity)||null}function Z(r){var i,_;const n=r.quantity,c=r.__typename==="ConfigurableCartItem",e=c?(i=r.configured_variant)==null?void 0:i.price_tiers:r.product.price_tiers,u=c?(_=r.configured_variant)==null?void 0:_.price_range:r.product.price_range,l=V(e,n);return l?l.discount.amount_off>0:(u==null?void 0:u.maximum_price.discount.amount_off)>0}function rr(r){var n,c,e;return{senderName:((n=r==null?void 0:r.gift_message)==null?void 0:n.from)??"",recipientName:((c=r==null?void 0:r.gift_message)==null?void 0:c.to)??"",message:((e=r==null?void 0:r.gift_message)==null?void 0:e.message)??""}}function er(r){return{currency:(r==null?void 0:r.currency)??"USD",value:(r==null?void 0:r.value)??0}}function M(r){var c;if(!((c=r==null?void 0:r.items)!=null&&c.length))return[];const n=s.config;return r.items.map(e=>{var u,l,i,_,a,g,y,d,m,b,x,h;return{giftWrappingAvailable:((u=e==null?void 0:e.product)==null?void 0:u.gift_wrapping_available)??!1,giftWrappingPrice:er((l=e==null?void 0:e.product)==null?void 0:l.gift_wrapping_price),giftMessage:rr(e),productGiftWrapping:((i=e==null?void 0:e.available_gift_wrapping)==null?void 0:i.map(t=>{var T,o,p,v,C;return{design:t.design??"",uid:t.uid,selected:((T=e.gift_wrapping)==null?void 0:T.uid)===t.uid,image:{url:((o=t==null?void 0:t.image)==null?void 0:o.url)??"",label:((p=t.image)==null?void 0:p.label)??""},price:{currency:((v=t==null?void 0:t.price)==null?void 0:v.currency)??"USD",value:((C=t==null?void 0:t.price)==null?void 0:C.value)??0}}}))??[],itemType:e.__typename,uid:e.uid,giftMessageAvailable:nr(e.product.gift_message_available),url:{urlKey:e.product.url_key,categories:e.product.categories.map(t=>t.url_key)},canonicalUrl:e.product.canonical_url,categories:e.product.categories.map(t=>t.name),priceTiers:e.__typename==="ConfigurableCartItem"?((a=(_=e.configured_variant)==null?void 0:_.price_tiers)==null?void 0:a.map(t=>t))||[]:((g=e.product.price_tiers)==null?void 0:g.map(t=>t))||[],quantity:e.quantity,sku:yr(e),topLevelSku:e.product.sku,name:e.product.name,image:H(n,e),price:{value:e.prices.price.value,currency:e.prices.price.currency},taxedPrice:{value:e.prices.price_including_tax.value,currency:e.prices.price_including_tax.currency},fixedProductTaxes:e.prices.fixed_product_taxes,rowTotal:{value:e.prices.row_total.value,currency:e.prices.row_total.currency},rowTotalIncludingTax:{value:e.prices.row_total_including_tax.value,currency:e.prices.row_total_including_tax.currency},links:or(e.links),total:{value:(y=e.prices.original_row_total)==null?void 0:y.value,currency:(d=e.prices.original_row_total)==null?void 0:d.currency},discount:{value:e.prices.total_item_discount.value,currency:e.prices.total_item_discount.currency,label:(m=e.prices.discounts)==null?void 0:m.map(t=>t.label)},regularPrice:J(e),discounted:Z(e),bundleOptions:e.__typename==="BundleCartItem"?ur(e.bundle_options):null,bundleOptionsUIDs:e.__typename==="BundleCartItem"?lr(e.bundle_options):null,selectedOptions:(b=$(e.configurable_options))==null?void 0:b.options,selectedOptionsUIDs:(x=$(e.configurable_options))==null?void 0:x.uids,customizableOptions:ir(e.customizable_options),sender:e.__typename==="GiftCardCartItem"?e.sender_name:null,senderEmail:e.__typename==="GiftCardCartItem"?e.sender_email:null,recipient:e.__typename==="GiftCardCartItem"?e.recipient_name:null,recipientEmail:e.__typename==="GiftCardCartItem"?e.recipient_email:null,message:e.__typename==="GiftCardCartItem"?e.message:null,discountedTotal:{value:e.prices.row_total.value,currency:e.prices.row_total.currency},onlyXLeftInStock:e.__typename==="ConfigurableCartItem"?(h=e.configured_variant)==null?void 0:h.only_x_left_in_stock:e.product.only_x_left_in_stock,lowInventory:e.is_available&&e.product.only_x_left_in_stock!==null,insufficientQuantity:(e.__typename==="ConfigurableCartItem"?e.configured_variant:e.product).stock_status==="IN_STOCK"&&!e.is_available,outOfStock:e.product.stock_status==="OUT_OF_STOCK",stockLevel:pr(e),discountPercentage:gr(e),savingsAmount:dr(e),productAttributes:mr(e)}})}function nr(r){switch(+r){case 0:return!1;case 1:return!0;case 2:return null;default:return!1}}function cr(r){var c;const n=(c=r==null?void 0:r.items)==null?void 0:c.reduce((e,u)=>{var l;return(l=u.errors)==null||l.forEach(i=>{e.push({uid:u.uid,text:i.message})}),e},[]);return n!=null&&n.length?n:null}function F(r){return r!=null&&r.length?r.map(n=>({amount:{value:n.amount.value,currency:n.amount.currency},label:n.label,coupon:n.coupon})):[]}function ur(r){const n=r==null?void 0:r.map(e=>({uid:e.uid,label:e.label,value:e.values.map(u=>u.label).join(", ")})),c={};return n==null||n.forEach(e=>{c[e.label]=e.value}),Object.keys(c).length>0?c:null}function lr(r){if(!(r!=null&&r.length))return null;const n=[];return r.forEach(c=>{var e;if((e=c.values)!=null&&e.length){const u=c.values.map(l=>l.uid);n.push(...u)}}),n.length>0?n:null}function $(r){const n=r==null?void 0:r.map(u=>({uid:u.configurable_product_option_uid,label:u.option_label,value:u.value_label,valueUid:u.configurable_product_option_value_uid})),c={},e={};return n==null||n.forEach(u=>{c[u.label]=u.value,e[u.label]=u.valueUid}),{options:Object.keys(c).length>0?c:null,uids:Object.keys(e).length>0?e:null}}function ir(r){const n=r==null?void 0:r.map(e=>({uid:e.customizable_option_uid,label:e.label,type:e.type,values:e.values.map(u=>({uid:u.customizable_option_value_uid,label:u.label,value:u.value}))})),c={};return n==null||n.forEach(e=>{var u;switch(e.type){case"field":case"area":case"date_time":c[e.label]=e.values[0].value;break;case"radio":case"drop_down":c[e.label]=e.values[0].label;break;case"multiple":case"checkbox":c[e.label]=e.values.reduce((l,i)=>l?`${l}, ${i.label}`:i.label,"");break;case"file":{const l=new DOMParser,i=e.values[0].value,a=((u=l.parseFromString(i,"text/html").querySelector("a"))==null?void 0:u.textContent)||"";c[e.label]=a;break}}}),c}function tr(r){var n,c;return((n=s.config)==null?void 0:n.cartSummaryDisplayTotal)===0?r.itemsV2.items.length:((c=s.config)==null?void 0:c.cartSummaryDisplayTotal)===1?r.total_quantity:r.itemsV2.items.length}function or(r){return(r==null?void 0:r.length)>0?{count:r.length,result:r.map(n=>n.title).join(", ")}:null}function sr(r){var n,c,e,u;return(n=r.shipping_addresses)!=null&&n.length?(c=r.shipping_addresses)==null?void 0:c.map(l=>({countryCode:l.country.code,zipCode:l.postcode,regionCode:l.region.code,selectedShippingMethod:l.selected_shipping_method?_r(l.selected_shipping_method):void 0})):(e=r.addresses)!=null&&e.length?(u=r.addresses)==null?void 0:u.filter(l=>l.default_shipping).map(l=>{var i;return l.default_shipping&&{countryCode:l.country_code,zipCode:l.postcode,regionCode:(i=l.region)==null?void 0:i.region_code}}):null}function _r(r){if(r)return{amount:{value:r.amount.value,currency:r.amount.currency},carrierCode:r.carrier_code,carrierTitle:r.carrier_title,methodCode:r.method_code,methodTitle:r.method_title,priceExclTax:{value:r.price_excl_tax.value,currency:r.price_excl_tax.currency},priceInclTax:{value:r.price_incl_tax.value,currency:r.price_incl_tax.currency}}}function ar(r){var n,c;return(c=(n=r==null?void 0:r.itemsV2)==null?void 0:n.items)==null?void 0:c.some(e=>{var u;return((u=e==null?void 0:e.product)==null?void 0:u.stock_status)==="OUT_OF_STOCK"||e.product.stock_status==="IN_STOCK"&&!e.is_available})}function pr(r){return r.not_available_message?r.product.quantity!=null?r.product.quantity:"noNumber":null}function fr(r){var n,c;return(c=(n=r==null?void 0:r.itemsV2)==null?void 0:n.items)==null?void 0:c.some(e=>{var u;return((u=e==null?void 0:e.product)==null?void 0:u.stock_status)==="OUT_OF_STOCK"})}function gr(r){var u,l,i,_,a,g,y,d;const n=r.quantity,c=V(r.product.price_tiers,n);if(c)return Math.round(c.discount.percent_off);let e;if(r.__typename==="ConfigurableCartItem")e=(_=(i=(l=(u=r==null?void 0:r.configured_variant)==null?void 0:u.price_range)==null?void 0:l.maximum_price)==null?void 0:i.discount)==null?void 0:_.percent_off;else{if(r.__typename==="BundleCartItem")return;e=(d=(y=(g=(a=r==null?void 0:r.product)==null?void 0:a.price_range)==null?void 0:g.maximum_price)==null?void 0:y.discount)==null?void 0:d.percent_off}if(e!==0)return Math.round(e)}function yr(r){var n;return r.__typename==="ConfigurableCartItem"?r.configured_variant.sku:((n=r.product)==null?void 0:n.variantSku)||r.product.sku}function dr(r){var e,u,l,i,_,a;let n,c;if(n=((u=(e=r==null?void 0:r.prices)==null?void 0:e.original_row_total)==null?void 0:u.value)-((i=(l=r==null?void 0:r.prices)==null?void 0:l.row_total)==null?void 0:i.value),c=(a=(_=r==null?void 0:r.prices)==null?void 0:_.row_total)==null?void 0:a.currency,n!==0)return{value:n,currency:c}}function mr(r){var n,c,e;return(e=(c=(n=r==null?void 0:r.product)==null?void 0:n.custom_attributesV2)==null?void 0:c.items)==null?void 0:e.map(u=>{const l=u.code.split("_").map(i=>i.charAt(0).toUpperCase()+i.slice(1)).join(" ");return{...u,code:l}})}function vr(r){var e,u;if(!r)return null;const n=l=>{switch(l){case 1:return"EXCLUDING_TAX";case 2:return"INCLUDING_TAX";case 3:return"INCLUDING_EXCLUDING_TAX";default:return"EXCLUDING_TAX"}},c=l=>{switch(+l){case 0:return!1;case 1:return!0;case 2:return null;default:return!1}};return{displayMiniCart:r.minicart_display,miniCartMaxItemsDisplay:r.minicart_max_items,cartExpiresInDays:r.cart_expires_in_days,cartSummaryDisplayTotal:r.cart_summary_display_quantity,cartSummaryMaxItems:r.max_items_in_order_summary,defaultCountry:r.default_country,categoryFixedProductTaxDisplaySetting:r.category_fixed_product_tax_display_setting,productFixedProductTaxDisplaySetting:r.product_fixed_product_tax_display_setting,salesFixedProductTaxDisplaySetting:r.sales_fixed_product_tax_display_setting,shoppingCartDisplaySetting:{zeroTax:r.shopping_cart_display_zero_tax,subtotal:n(r.shopping_cart_display_subtotal),price:n(r.shopping_cart_display_price),shipping:n(r.shopping_cart_display_shipping),fullSummary:r.shopping_cart_display_full_summary,grandTotal:r.shopping_cart_display_grand_total,taxGiftWrapping:r.shopping_cart_display_tax_gift_wrapping},useConfigurableParentThumbnail:r.configurable_thumbnail_source==="parent",allowGiftWrappingOnOrder:c(r==null?void 0:r.allow_gift_wrapping_on_order),allowGiftWrappingOnOrderItems:c(r==null?void 0:r.allow_gift_wrapping_on_order_items),allowGiftMessageOnOrder:c(r==null?void 0:r.allow_order),allowGiftMessageOnOrderItems:c(r==null?void 0:r.allow_items),allowGiftReceipt:!!+(r==null?void 0:r.allow_gift_receipt),allowPrintedCard:!!+(r==null?void 0:r.allow_printed_card),printedCardPrice:{currency:((e=r==null?void 0:r.printed_card_priceV2)==null?void 0:e.currency)??"",value:((u=r==null?void 0:r.printed_card_priceV2)==null?void 0:u.value)!=null?+r.printed_card_priceV2.value:0},cartGiftWrapping:n(+r.cart_gift_wrapping),cartPrintedCard:n(+r.cart_printed_card)}}const Cr=`
|
|
4
4
|
fragment CUSTOMER_FRAGMENT on Customer {
|
|
5
5
|
addresses {
|
|
6
6
|
default_shipping
|
|
@@ -13,7 +13,7 @@ import{s as o,d as X,f as I,h as U}from"./resetCart.js";import{events as g}from"
|
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
-
`,
|
|
16
|
+
`,br=`
|
|
17
17
|
query GUEST_CART_QUERY(
|
|
18
18
|
$cartId: String!,
|
|
19
19
|
$pageSize: Int! = 100,
|
|
@@ -27,7 +27,7 @@ import{s as o,d as X,f as I,h as U}from"./resetCart.js";import{events as g}from"
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
${A}
|
|
30
|
-
`,
|
|
30
|
+
`,xr=`
|
|
31
31
|
query CUSTOMER_CART_QUERY(
|
|
32
32
|
$pageSize: Int! = 100,
|
|
33
33
|
$currentPage: Int! = 1,
|
|
@@ -43,9 +43,9 @@ import{s as o,d as X,f as I,h as U}from"./resetCart.js";import{events as g}from"
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
${
|
|
46
|
+
${Cr}
|
|
47
47
|
${A}
|
|
48
|
-
`,G=async()=>{const r=
|
|
48
|
+
`,G=async()=>{const r=s.authenticated,n=s.cartId;if(r)return I(xr,{method:"POST"}).then(({errors:c,data:e})=>{if(c)return U(c);const u={...e.cart,...e.customer};return P(u)});if(!n)throw new Error("No cart ID found");return I(br,{method:"POST",cache:"no-cache",variables:{cartId:n}}).then(({errors:c,data:e})=>c?U(c):P(e.cart))},hr=`
|
|
49
49
|
mutation MERGE_CARTS_MUTATION(
|
|
50
50
|
$guestCartId: String!,
|
|
51
51
|
$customerCartId: String!,
|
|
@@ -62,7 +62,7 @@ import{s as o,d as X,f as I,h as U}from"./resetCart.js";import{events as g}from"
|
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
${A}
|
|
65
|
-
`,D=async()=>{if(
|
|
65
|
+
`,D=async()=>{if(s.initializing)return null;s.initializing=!0,s.config||(s.config=await Sr());const r=s.authenticated?await Q():await W();return f.emit("cart/initialized",r),f.emit("cart/data",r),s.initializing=!1,r};async function Q(){const r=s.cartId,n=await G();return n?(s.cartId=n.id,!r||n.id===r?n:await I(hr,{variables:{guestCartId:r,customerCartId:n.id}}).then(()=>G()).then(c=>{const e={oldCartItems:n.items,newCart:c};return f.emit("cart/merged",e),c}).catch(()=>(console.error("Could not merge carts"),n))):null}async function W(){if(B.getConfig().disableGuestCart===!0||!s.cartId)return null;try{return await G()}catch(r){return console.error(r),null}}const Tr=`
|
|
66
66
|
query STORE_CONFIG_QUERY {
|
|
67
67
|
storeConfig {
|
|
68
68
|
minicart_display
|
|
@@ -96,5 +96,5 @@ query STORE_CONFIG_QUERY {
|
|
|
96
96
|
cart_printed_card
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
|
-
`,
|
|
99
|
+
`,Sr=async()=>I(Tr,{method:"GET",cache:"force-cache"}).then(({errors:r,data:n})=>r?U(r):vr(n.storeConfig)),z=async()=>{const r=s.authenticated?await Q():await W();return f.emit("cart/data",r),r};export{D as a,Q as b,B as c,W as d,Sr as e,G as g,q as i,z as r,P as t};
|
|
100
100
|
//# sourceMappingURL=refreshCart.js.map
|