@dropins/storefront-cart 1.1.0 → 1.2.0
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/applyGiftCardToCart/applyGiftCardToCart.d.ts +4 -0
- package/api/applyGiftCardToCart/graphql/ApplyGiftCardToCartMutation.d.ts +18 -0
- package/api/applyGiftCardToCart/index.d.ts +18 -0
- package/api/fragments.d.ts +1 -0
- package/api/getStoreConfig/graphql/StoreConfigQuery.d.ts +1 -1
- package/api/graphql/GiftFragment.d.ts +5 -0
- package/api/index.d.ts +3 -0
- package/api/removeGiftCardFromCart/graphql/RemoveGiftCardFromCartMutation.d.ts +18 -0
- package/api/removeGiftCardFromCart/index.d.ts +18 -0
- package/api/removeGiftCardFromCart/removeGiftCardFromCart.d.ts +4 -0
- package/api/setGiftOptionsOnCart/graphql/UpdateGiftOptionsMutation.d.ts +18 -0
- package/api/setGiftOptionsOnCart/index.d.ts +18 -0
- package/api/setGiftOptionsOnCart/setGiftOptionsOnCart.d.ts +5 -0
- package/api/updateProductsFromCart/updateProductsFromCart.d.ts +8 -0
- package/api.js +3 -3
- package/chunks/CartSummaryGrid.js +1 -1
- package/chunks/CartSummaryList.js +1 -1
- package/chunks/ChevronUp.js +3 -0
- package/chunks/Coupons.js +3 -0
- package/chunks/EmptyCart.js +1 -1
- package/chunks/GiftCard.js +3 -0
- package/chunks/OrderSummary.js +1 -1
- package/chunks/OrderSummaryLine.js +1 -1
- package/chunks/refreshCart.js +28 -16
- package/chunks/removeGiftCardFromCart.js +31 -0
- package/chunks/setGiftOptionsOnCart.js +20 -0
- package/chunks/updateProductsFromCart.js +4 -4
- package/components/Coupons/Coupons.d.ts +2 -0
- package/components/GiftOptions/Elements/CheckboxGroup.d.ts +20 -0
- package/components/GiftOptions/Elements/FormFields.d.ts +15 -0
- package/components/GiftOptions/Elements/GiftLoader.d.ts +4 -0
- package/components/GiftOptions/Elements/GiftOptionModal.d.ts +14 -0
- package/components/GiftOptions/Elements/ReadOnlyFormView.d.ts +11 -0
- package/components/GiftOptions/Elements/index.d.ts +5 -0
- package/components/GiftOptions/GiftOptions.d.ts +29 -0
- package/components/GiftOptions/index.d.ts +19 -0
- package/components/OrderSummary/OrderSummary.d.ts +27 -0
- package/components/OrderSummaryLine/OrderSummaryLine.d.ts +2 -2
- package/components/index.d.ts +1 -0
- package/containers/CartSummaryGrid.js +1 -1
- package/containers/CartSummaryList.js +1 -1
- package/containers/Coupons.js +1 -1
- package/containers/EmptyCart.js +1 -1
- package/containers/EstimateShipping.js +1 -1
- package/containers/GiftCards/GiftCards.d.ts +7 -0
- package/containers/GiftCards/index.d.ts +19 -0
- package/containers/GiftCards.d.ts +3 -0
- package/containers/GiftCards.js +3 -0
- package/containers/GiftOptions/GiftOptions.d.ts +20 -0
- package/containers/GiftOptions/index.d.ts +19 -0
- package/containers/GiftOptions.d.ts +3 -0
- package/containers/GiftOptions.js +3 -0
- package/containers/MiniCart.js +1 -1
- package/containers/OrderSummary/OrderSummary.d.ts +2 -0
- package/containers/OrderSummary.js +1 -1
- package/containers/OrderSummaryLine/OrderSummaryLine.d.ts +2 -2
- package/containers/OrderSummaryLine.js +1 -1
- package/containers/index.d.ts +2 -0
- package/data/models/cart-model.d.ts +51 -0
- package/data/models/gift-card-account.d.ts +8 -0
- package/data/models/index.d.ts +1 -0
- package/data/models/store-models.d.ts +11 -16
- package/data/transforms/__fixtures__/cartModel.d.ts +14 -0
- package/data/transforms/__fixtures__/productTypesData.d.ts +15 -0
- package/data/transforms/index.d.ts +1 -0
- package/data/transforms/transform-gift-card-account.d.ts +4 -0
- package/fragments.js +130 -5
- package/hooks/index.d.ts +1 -0
- package/hooks/useGiftOptions.d.ts +46 -0
- package/i18n/en_US.json.d.ts +117 -1
- package/lib/giftOptionsHelper.d.ts +18 -0
- package/package.json +1 -1
- package/render.js +2 -2
- package/types/giftOptions.types.d.ts +35 -0
- package/types/index.d.ts +2 -0
package/chunks/refreshCart.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{s as i,d as A,f as g,h as y}from"./resetCart.js";import{events as l}from"@dropins/tools/event-bus.js";import{Initializer as R,merge as w}from"@dropins/tools/lib.js";import{a as G}from"./persisted-data.js";import{CART_FRAGMENT as d}from"../fragments.js";const I=new R({init:async r=>{const t={disableGuestCart:!1,...r};I.config.setConfig(t),f().catch(console.error)},listeners:()=>[l.on("authenticated",r=>{i.authenticated&&!r?l.emit("cart/reset",void 0):r&&!i.authenticated&&(i.authenticated=r,f().catch(console.error))},{eager:!0}),l.on("locale",async r=>{r!==i.locale&&(i.locale=r,f().catch(console.error))}),l.on("cart/reset",()=>{A().catch(console.error),l.emit("cart/data",null)}),l.on("cart/data",r=>{G(r)}),l.on("checkout/updated",r=>{r&&tr().catch(console.error)})]}),S=I.config;function b(r){var n,e,c,u,s,a,o,_,p,h;if(!r)return null;const t={id:r.id,totalQuantity:z(r),totalUniqueItems:r.itemsV2.items.length,errors:D(r==null?void 0:r.itemsV2),items:v(r==null?void 0:r.itemsV2),miniCartMaxItems:v(r==null?void 0:r.itemsV2).slice(0,((n=i.config)==null?void 0:n.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:x(r.prices.discounts,r.prices.grand_total.currency),subtotal:{excludingTax:{value:(e=r.prices.subtotal_excluding_tax)==null?void 0:e.value,currency:(c=r.prices.subtotal_excluding_tax)==null?void 0:c.currency},includingTax:{value:(u=r.prices.subtotal_including_tax)==null?void 0:u.value,currency:(s=r.prices.subtotal_including_tax)==null?void 0:s.currency},includingDiscountOnly:{value:(a=r.prices.subtotal_with_discount_excluding_tax)==null?void 0:a.value,currency:(o=r.prices.subtotal_with_discount_excluding_tax)==null?void 0:o.currency}},appliedTaxes:T(r.prices.applied_taxes),totalTax:x(r.prices.applied_taxes,r.prices.grand_total.currency),appliedDiscounts:T(r.prices.discounts),isVirtual:r.is_virtual,addresses:{shipping:r.shipping_addresses&&Q(r)},isGuestCart:!i.authenticated,hasOutOfStockItems:q(r),hasFullyOutOfStockItems:V(r),appliedCoupons:r.applied_coupons};return w(t,(h=(p=(_=S.getConfig().models)==null?void 0:_.CartModel)==null?void 0:p.transformer)==null?void 0:h.call(p,r))}function x(r,t){return r!=null&&r.length?r.reduce((n,e)=>({value:n.value+e.amount.value,currency:e.amount.currency}),{value:0,currency:t}):{value:0,currency:t}}function k(r,t){var n,e,c,u;return{src:r!=null&&r.useConfigurableParentThumbnail?t.product.thumbnail.url:((e=(n=t.configured_variant)==null?void 0:n.thumbnail)==null?void 0:e.url)||t.product.thumbnail.url,alt:r!=null&&r.useConfigurableParentThumbnail?t.product.thumbnail.label:((u=(c=t.configured_variant)==null?void 0:c.thumbnail)==null?void 0:u.label)||t.product.thumbnail.label}}function U(r){var t,n,e,c;return r.__typename==="ConfigurableCartItem"?{value:(n=(t=r.configured_variant)==null?void 0:t.price_range)==null?void 0:n.maximum_price.regular_price.value,currency:(c=(e=r.configured_variant)==null?void 0:e.price_range)==null?void 0:c.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 M(r){var t,n,e;return r.__typename==="ConfigurableCartItem"?((n=(t=r.configured_variant)==null?void 0:t.price_range)==null?void 0:n.maximum_price.discount.amount_off)>0:((e=r.product.price_range)==null?void 0:e.maximum_price.discount.amount_off)>0}function v(r){var n;if(!((n=r==null?void 0:r.items)!=null&&n.length))return[];const t=i.config;return r.items.map(e=>{var c,u,s,a;return{itemType:e.__typename,uid:e.uid,url:{urlKey:e.product.url_key,categories:e.product.categories.map(o=>o.url_key)},canonicalUrl:e.product.canonical_url,categories:e.product.categories.map(o=>o.name),quantity:e.quantity,sku:K(e),topLevelSku:e.product.sku,name:e.product.name,image:k(t,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:$(e.links),total:{value:(c=e.prices.original_row_total)==null?void 0:c.value,currency:(u=e.prices.original_row_total)==null?void 0:u.currency},discount:{value:e.prices.total_item_discount.value,currency:e.prices.total_item_discount.currency,label:(s=e.prices.discounts)==null?void 0:s.map(o=>o.label)},regularPrice:U(e),discounted:M(e),bundleOptions:e.__typename==="BundleCartItem"?N(e.bundle_options):null,selectedOptions:P(e.configurable_options),customizableOptions:F(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"?(a=e.configured_variant)==null?void 0:a.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:L(e),discountPercentage:X(e),savingsAmount:Y(e),productAttributes:j(e)}})}function D(r){var n;const t=(n=r==null?void 0:r.items)==null?void 0:n.reduce((e,c)=>{var u;return(u=c.errors)==null||u.forEach(s=>{e.push({uid:c.uid,text:s.message})}),e},[]);return t!=null&&t.length?t:null}function T(r){return r!=null&&r.length?r.map(t=>({amount:{value:t.amount.value,currency:t.amount.currency},label:t.label,coupon:t.coupon})):[]}function N(r){const t=r==null?void 0:r.map(e=>({uid:e.uid,label:e.label,value:e.values.map(c=>c.label).join(", ")})),n={};return t==null||t.forEach(e=>{n[e.label]=e.value}),Object.keys(n).length>0?n:null}function P(r){const t=r==null?void 0:r.map(e=>({uid:e.configurable_product_option_uid,label:e.option_label,value:e.value_label})),n={};return t==null||t.forEach(e=>{n[e.label]=e.value}),Object.keys(n).length>0?n:null}function F(r){const t=r==null?void 0:r.map(e=>({uid:e.customizable_option_uid,label:e.label,type:e.type,values:e.values.map(c=>({uid:c.customizable_option_value_uid,label:c.label,value:c.value}))})),n={};return t==null||t.forEach(e=>{var c;switch(e.type){case"field":case"area":case"date_time":n[e.label]=e.values[0].value;break;case"radio":case"drop_down":n[e.label]=e.values[0].label;break;case"multiple":case"checkbox":n[e.label]=e.values.reduce((_,p)=>_?`${_}, ${p.label}`:p.label,"");break;case"file":const u=new DOMParser,s=e.values[0].value,o=((c=u.parseFromString(s,"text/html").querySelector("a"))==null?void 0:c.textContent)||"";n[e.label]=o;break}}),n}function z(r){var t,n;return((t=i.config)==null?void 0:t.cartSummaryDisplayTotal)===0?r.itemsV2.items.length:((n=i.config)==null?void 0:n.cartSummaryDisplayTotal)===1?r.total_quantity:r.itemsV2.items.length}function $(r){return(r==null?void 0:r.length)>0?{count:r.length,result:r.map(t=>t.title).join(", ")}:null}function Q(r){var t,n,e,c;return(t=r.shipping_addresses)!=null&&t.length?(n=r.shipping_addresses)==null?void 0:n.map(u=>({countryCode:u.country.code,zipCode:u.postcode,regionCode:u.region.code})):(e=r.addresses)!=null&&e.length?(c=r.addresses)==null?void 0:c.filter(u=>u.default_shipping).map(u=>{var s;return u.default_shipping&&{countryCode:u.country_code,zipCode:u.postcode,regionCode:(s=u.region)==null?void 0:s.region_code}}):null}function q(r){var t,n;return(n=(t=r==null?void 0:r.itemsV2)==null?void 0:t.items)==null?void 0:n.some(e=>{var c;return((c=e==null?void 0:e.product)==null?void 0:c.stock_status)==="OUT_OF_STOCK"||e.product.stock_status==="IN_STOCK"&&!e.is_available})}function L(r){if(!r.not_available_message)return null;const t=r.not_available_message.match(/-?\d+/);return t?parseInt(t[0]):"noNumber"}function V(r){var t,n;return(n=(t=r==null?void 0:r.itemsV2)==null?void 0:t.items)==null?void 0:n.some(e=>{var c;return((c=e==null?void 0:e.product)==null?void 0:c.stock_status)==="OUT_OF_STOCK"})}function X(r){var n,e,c,u,s,a,o,_;let t;if(r.__typename==="ConfigurableCartItem")t=(u=(c=(e=(n=r==null?void 0:r.configured_variant)==null?void 0:n.price_range)==null?void 0:e.maximum_price)==null?void 0:c.discount)==null?void 0:u.percent_off;else{if(r.__typename==="BundleCartItem")return;t=(_=(o=(a=(s=r==null?void 0:r.product)==null?void 0:s.price_range)==null?void 0:a.maximum_price)==null?void 0:o.discount)==null?void 0:_.percent_off}if(t!==0)return Math.round(t)}function K(r){var t;return r.__typename==="ConfigurableCartItem"?r.configured_variant.sku:((t=r.product)==null?void 0:t.variantSku)||r.product.sku}function Y(r){var e,c,u,s,a,o;let t,n;if(t=((c=(e=r==null?void 0:r.prices)==null?void 0:e.original_row_total)==null?void 0:c.value)-((s=(u=r==null?void 0:r.prices)==null?void 0:u.row_total)==null?void 0:s.value),n=(o=(a=r==null?void 0:r.prices)==null?void 0:a.row_total)==null?void 0:o.currency,t!==0)return{value:t,currency:n}}function j(r){var t,n,e;return(e=(n=(t=r==null?void 0:r.product)==null?void 0:t.custom_attributesV2)==null?void 0:n.items)==null?void 0:e.map(c=>{const u=c.code.split("_").map(s=>s.charAt(0).toUpperCase()+s.slice(1)).join(" ");return{...c,code:u}})}function B(r){if(!r)return null;const t=n=>{switch(n){case 1:return"EXCLUDING_TAX";case 2:return"INCLUDING_TAX";case 3:return"INCLUDING_EXCLUDING_TAX";default:return"EXCLUDING_TAX"}};return{displayMiniCart: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:t(r.shopping_cart_display_subtotal),price:t(r.shopping_cart_display_price),shipping:t(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"}}const C=`
|
|
3
|
+
import{s,d as V,f as h,h as x}from"./resetCart.js";import{events as f}from"@dropins/tools/event-bus.js";import{Initializer as W,merge as Q}from"@dropins/tools/lib.js";import{a as q}from"./persisted-data.js";import{CART_FRAGMENT as S}from"../fragments.js";const P=new W({init:async r=>{const n={disableGuestCart:!1,...r};P.config.setConfig(n),b().catch(console.error)},listeners:()=>[f.on("authenticated",r=>{s.authenticated&&!r?f.emit("cart/reset",void 0):r&&!s.authenticated&&(s.authenticated=r,b().catch(console.error))},{eager:!0}),f.on("locale",async r=>{r!==s.locale&&(s.locale=r,b().catch(console.error))}),f.on("cart/reset",()=>{V().catch(console.error),f.emit("cart/data",null)}),f.on("cart/data",r=>{q(r)}),f.on("checkout/updated",r=>{r&&Cr().catch(console.error)})]}),F=P.config;function w(r){var c,e,u,l,t,a,_,p,g,i,y,d,C,v,m,E;if(!r)return null;const n={appliedGiftCards:((c=r==null?void 0:r.applied_gift_cards)==null?void 0:c.map(o=>({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??""})))??[],id:r.id,totalQuantity:er(r),totalUniqueItems:r.itemsV2.items.length,totalGiftOptions:L((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 I,U,A,D,R;return{design:o.design??"",uid:o.uid,selected:((I=r==null?void 0:r.gift_wrapping)==null?void 0:I.uid)===o.uid,image:{url:((U=o==null?void 0:o.image)==null?void 0:U.url)??"",label:((A=o.image)==null?void 0:A.label)??""},price:{currency:((D=o==null?void 0:o.price)==null?void 0:D.currency)??"USD",value:((R=o==null?void 0:o.price)==null?void 0:R.value)??0}}}))??[],giftMessage:{senderName:((l=r==null?void 0:r.gift_message)==null?void 0:l.from)??"",recipientName:((t=r==null?void 0:r.gift_message)==null?void 0:t.to)??"",message:((a=r==null?void 0:r.gift_message)==null?void 0:a.message)??""},errors:O(r==null?void 0:r.itemsV2),items:N(r==null?void 0:r.itemsV2),miniCartMaxItems:N(r==null?void 0:r.itemsV2).slice(0,((_=s.config)==null?void 0:_.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:M(r.prices.discounts,r.prices.grand_total.currency),subtotal:{excludingTax:{value:(p=r.prices.subtotal_excluding_tax)==null?void 0:p.value,currency:(g=r.prices.subtotal_excluding_tax)==null?void 0:g.currency},includingTax:{value:(i=r.prices.subtotal_including_tax)==null?void 0:i.value,currency:(y=r.prices.subtotal_including_tax)==null?void 0:y.currency},includingDiscountOnly:{value:(d=r.prices.subtotal_with_discount_excluding_tax)==null?void 0:d.value,currency:(C=r.prices.subtotal_with_discount_excluding_tax)==null?void 0:C.currency}},appliedTaxes:k(r.prices.applied_taxes),totalTax:M(r.prices.applied_taxes,r.prices.grand_total.currency),appliedDiscounts:k(r.prices.discounts),isVirtual:r.is_virtual,addresses:{shipping:r.shipping_addresses&&cr(r)},isGuestCart:!s.authenticated,hasOutOfStockItems:ur(r),hasFullyOutOfStockItems:ir(r),appliedCoupons:r.applied_coupons};return Q(n,(E=(m=(v=F.getConfig().models)==null?void 0:v.CartModel)==null?void 0:m.transformer)==null?void 0:E.call(m,r))}function L(r){var n,c,e,u,l,t,a,_,p,g,i,y;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:((t=r==null?void 0:r.gift_wrapping_for_order)==null?void 0:t.currency)??"USD"},giftWrappingForOrderInclTax:{value:((a=r==null?void 0:r.gift_wrapping_for_order_incl_tax)==null?void 0:a.value)??0,currency:((_=r==null?void 0:r.gift_wrapping_for_order_incl_tax)==null?void 0:_.currency)??"USD"},printedCard:{value:((p=r==null?void 0:r.printed_card)==null?void 0:p.value)??0,currency:((g=r==null?void 0:r.printed_card)==null?void 0:g.currency)??"USD"},printedCardInclTax:{value:((i=r==null?void 0:r.printed_card_incl_tax)==null?void 0:i.value)??0,currency:((y=r==null?void 0:r.printed_card_incl_tax)==null?void 0:y.currency)??"USD"}}}function M(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 X(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 B(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 K(r){var n,c,e;return r.__typename==="ConfigurableCartItem"?((c=(n=r.configured_variant)==null?void 0:n.price_range)==null?void 0:c.maximum_price.discount.amount_off)>0:((e=r.product.price_range)==null?void 0:e.maximum_price.discount.amount_off)>0}function Y(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 j(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=s.config;return r.items.map(e=>{var u,l,t,a,_,p,g;return{giftWrappingAvailable:((u=e==null?void 0:e.product)==null?void 0:u.gift_wrapping_available)??!1,giftWrappingPrice:j((l=e==null?void 0:e.product)==null?void 0:l.gift_wrapping_price),giftMessage:Y(e),productGiftWrapping:((t=e==null?void 0:e.available_gift_wrapping)==null?void 0:t.map(i=>{var y,d,C,v,m;return{design:i.design??"",uid:i.uid,selected:((y=e.gift_wrapping)==null?void 0:y.uid)===i.uid,image:{url:((d=i==null?void 0:i.image)==null?void 0:d.url)??"",label:((C=i.image)==null?void 0:C.label)??""},price:{currency:((v=i==null?void 0:i.price)==null?void 0:v.currency)??"USD",value:((m=i==null?void 0:i.price)==null?void 0:m.value)??0}}}))??[],itemType:e.__typename,uid:e.uid,giftMessageAvailable:H(e.product.gift_message_available),url:{urlKey:e.product.url_key,categories:e.product.categories.map(i=>i.url_key)},canonicalUrl:e.product.canonical_url,categories:e.product.categories.map(i=>i.name),quantity:e.quantity,sku:sr(e),topLevelSku:e.product.sku,name:e.product.name,image:X(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:nr(e.links),total:{value:(a=e.prices.original_row_total)==null?void 0:a.value,currency:(_=e.prices.original_row_total)==null?void 0:_.currency},discount:{value:e.prices.total_item_discount.value,currency:e.prices.total_item_discount.currency,label:(p=e.prices.discounts)==null?void 0:p.map(i=>i.label)},regularPrice:B(e),discounted:K(e),bundleOptions:e.__typename==="BundleCartItem"?J(e.bundle_options):null,selectedOptions:Z(e.configurable_options),customizableOptions:rr(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"?(g=e.configured_variant)==null?void 0:g.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:lr(e),discountPercentage:tr(e),savingsAmount:or(e),productAttributes:_r(e)}})}function H(r){switch(+r){case 0:return!1;case 1:return!0;case 2:return null;default:return!1}}function O(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(t=>{e.push({uid:u.uid,text:t.message})}),e},[]);return n!=null&&n.length?n:null}function k(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 J(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 Z(r){const n=r==null?void 0:r.map(e=>({uid:e.configurable_product_option_uid,label:e.option_label,value:e.value_label})),c={};return n==null||n.forEach(e=>{c[e.label]=e.value}),Object.keys(c).length>0?c:null}function rr(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((p,g)=>p?`${p}, ${g.label}`:g.label,"");break;case"file":const l=new DOMParser,t=e.values[0].value,_=((u=l.parseFromString(t,"text/html").querySelector("a"))==null?void 0:u.textContent)||"";c[e.label]=_;break}}),c}function er(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 nr(r){return(r==null?void 0:r.length)>0?{count:r.length,result:r.map(n=>n.title).join(", ")}:null}function cr(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 t;return l.default_shipping&&{countryCode:l.country_code,zipCode:l.postcode,regionCode:(t=l.region)==null?void 0:t.region_code}}):null}function ur(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 lr(r){if(!r.not_available_message)return null;const n=r.not_available_message.match(/-?\d+/);return n?parseInt(n[0]):"noNumber"}function ir(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 tr(r){var c,e,u,l,t,a,_,p;let n;if(r.__typename==="ConfigurableCartItem")n=(l=(u=(e=(c=r==null?void 0:r.configured_variant)==null?void 0:c.price_range)==null?void 0:e.maximum_price)==null?void 0:u.discount)==null?void 0:l.percent_off;else{if(r.__typename==="BundleCartItem")return;n=(p=(_=(a=(t=r==null?void 0:r.product)==null?void 0:t.price_range)==null?void 0:a.maximum_price)==null?void 0:_.discount)==null?void 0:p.percent_off}if(n!==0)return Math.round(n)}function sr(r){var n;return r.__typename==="ConfigurableCartItem"?r.configured_variant.sku:((n=r.product)==null?void 0:n.variantSku)||r.product.sku}function or(r){var e,u,l,t,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)-((t=(l=r==null?void 0:r.prices)==null?void 0:l.row_total)==null?void 0:t.value),c=(_=(a=r==null?void 0:r.prices)==null?void 0:a.row_total)==null?void 0:_.currency,n!==0)return{value:n,currency:c}}function _r(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(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ");return{...u,code:l}})}function ar(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 G=`
|
|
4
4
|
$pageSize: Int! = 100,
|
|
5
5
|
$currentPage: Int! = 1,
|
|
6
6
|
$itemsSortInput: QuoteItemsSortInput! = {field: CREATED_AT, order: DESC}
|
|
7
|
-
`,
|
|
7
|
+
`,pr=`
|
|
8
8
|
fragment CUSTOMER_FRAGMENT on Customer {
|
|
9
9
|
addresses {
|
|
10
10
|
default_shipping
|
|
@@ -17,10 +17,10 @@ import{s as i,d as A,f as g,h as y}from"./resetCart.js";import{events as l}from"
|
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
`,
|
|
20
|
+
`,gr=`
|
|
21
21
|
query GUEST_CART_QUERY(
|
|
22
22
|
$cartId: String!,
|
|
23
|
-
${
|
|
23
|
+
${G}
|
|
24
24
|
) {
|
|
25
25
|
|
|
26
26
|
cart(cart_id: $cartId){
|
|
@@ -28,10 +28,10 @@ import{s as i,d as A,f as g,h as y}from"./resetCart.js";import{events as l}from"
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
${
|
|
32
|
-
`,
|
|
31
|
+
${S}
|
|
32
|
+
`,fr=`
|
|
33
33
|
query CUSTOMER_CART_QUERY(
|
|
34
|
-
${
|
|
34
|
+
${G}
|
|
35
35
|
) {
|
|
36
36
|
|
|
37
37
|
customer {
|
|
@@ -43,13 +43,13 @@ import{s as i,d as A,f as g,h as y}from"./resetCart.js";import{events as l}from"
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
${
|
|
47
|
-
${
|
|
48
|
-
`,
|
|
46
|
+
${pr}
|
|
47
|
+
${S}
|
|
48
|
+
`,T=async()=>{const r=s.authenticated,n=s.cartId;if(r)return h(fr,{method:"POST"}).then(({errors:c,data:e})=>{if(c)return x(c);const u={...e.cart,...e.customer};return w(u)});if(!n)throw new Error("No cart ID found");return h(gr,{method:"POST",cache:"no-cache",variables:{cartId:n}}).then(({errors:c,data:e})=>c?x(c):w(e.cart))},yr=`
|
|
49
49
|
mutation MERGE_CARTS_MUTATION(
|
|
50
50
|
$guestCartId: String!,
|
|
51
51
|
$customerCartId: String!,
|
|
52
|
-
${
|
|
52
|
+
${G}
|
|
53
53
|
) {
|
|
54
54
|
mergeCarts(
|
|
55
55
|
source_cart_id: $guestCartId,
|
|
@@ -59,13 +59,13 @@ import{s as i,d as A,f as g,h as y}from"./resetCart.js";import{events as l}from"
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
${
|
|
63
|
-
`,
|
|
62
|
+
${S}
|
|
63
|
+
`,b=async()=>{if(s.initializing)return null;s.initializing=!0,s.config||(s.config=await dr());const r=s.authenticated?await z():await $();return f.emit("cart/initialized",r),f.emit("cart/data",r),s.initializing=!1,r};async function z(){const r=s.cartId,n=await T();return n?(s.cartId=n.id,!r||n.id===r?n:await h(yr,{variables:{guestCartId:r,customerCartId:n.id}}).then(()=>T()).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 $(){if(F.getConfig().disableGuestCart===!0||!s.cartId)return null;try{return await T()}catch(r){return console.error(r),null}}const mr=`
|
|
64
64
|
query STORE_CONFIG_QUERY {
|
|
65
65
|
storeConfig {
|
|
66
|
-
minicart_display
|
|
66
|
+
minicart_display
|
|
67
67
|
minicart_max_items
|
|
68
|
-
cart_expires_in_days
|
|
68
|
+
cart_expires_in_days
|
|
69
69
|
cart_summary_display_quantity
|
|
70
70
|
max_items_in_order_summary
|
|
71
71
|
default_country
|
|
@@ -80,6 +80,18 @@ query STORE_CONFIG_QUERY {
|
|
|
80
80
|
shopping_cart_display_tax_gift_wrapping
|
|
81
81
|
shopping_cart_display_zero_tax
|
|
82
82
|
configurable_thumbnail_source
|
|
83
|
+
allow_gift_wrapping_on_order
|
|
84
|
+
allow_gift_wrapping_on_order_items
|
|
85
|
+
allow_order
|
|
86
|
+
allow_items
|
|
87
|
+
allow_gift_receipt
|
|
88
|
+
allow_printed_card
|
|
89
|
+
printed_card_priceV2 {
|
|
90
|
+
currency
|
|
91
|
+
value
|
|
92
|
+
}
|
|
93
|
+
cart_gift_wrapping
|
|
94
|
+
cart_printed_card
|
|
83
95
|
}
|
|
84
96
|
}
|
|
85
|
-
`,
|
|
97
|
+
`,dr=async()=>h(mr,{method:"GET",cache:"force-cache"}).then(({errors:r,data:n})=>r?x(r):ar(n.storeConfig)),Cr=async()=>{const r=s.authenticated?await z():await $();return f.emit("cart/data",r),r};export{G as C,b as a,z as b,F as c,$ as d,dr as e,T as g,P as i,Cr as r,w as t};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*! Copyright 2025 Adobe
|
|
2
|
+
All Rights Reserved. */
|
|
3
|
+
import{s as i,f as n,h as _}from"./resetCart.js";import{C as d,t as T}from"./refreshCart.js";import{events as C}from"@dropins/tools/event-bus.js";import{a as f}from"./acdl.js";import{CART_FRAGMENT as A}from"../fragments.js";const m=`
|
|
4
|
+
mutation APPLY_GIFT_CARD_ON_CART_MUTATION($cartId: String!, $giftCardCode: String!, ${d}) {
|
|
5
|
+
applyGiftCardToCart(
|
|
6
|
+
input: {
|
|
7
|
+
cart_id: $cartId
|
|
8
|
+
gift_card_code: $giftCardCode
|
|
9
|
+
}
|
|
10
|
+
) {
|
|
11
|
+
cart {
|
|
12
|
+
...CART_FRAGMENT
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
${A}
|
|
17
|
+
`,N=async c=>{const a=i.cartId;if(!a)throw Error("Cart ID is not set");return n(m,{variables:{cartId:a,giftCardCode:c}}).then(({errors:s,data:t})=>{var e;const o=[...((e=t==null?void 0:t.applyGiftCardToCart)==null?void 0:e.user_errors)??[],...s??[]];if(o.length>0)return _(o);const r=T(t.applyGiftCardToCart.cart);return C.emit("cart/updated",r),C.emit("cart/data",r),r&&f(r,[],i.locale??"en-US"),r})},p=`
|
|
18
|
+
mutation REMOVE_GIFT_CARD_ON_CART_MUTATION($cartId: String!, $giftCardCode: String!, ${d}) {
|
|
19
|
+
removeGiftCardFromCart(
|
|
20
|
+
input: {
|
|
21
|
+
cart_id: $cartId
|
|
22
|
+
gift_card_code: $giftCardCode
|
|
23
|
+
}
|
|
24
|
+
) {
|
|
25
|
+
cart {
|
|
26
|
+
...CART_FRAGMENT
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
${A}
|
|
31
|
+
`,E=async c=>{const a=i.cartId;if(!a)throw Error("Cart ID is not set");return n(p,{variables:{cartId:a,giftCardCode:c}}).then(({errors:s,data:t})=>{var e;const o=[...((e=t==null?void 0:t.addProductsToCart)==null?void 0:e.user_errors)??[],...s??[]];if(o.length>0)return _(o);const r=T(t.removeGiftCardFromCart.cart);return C.emit("cart/updated",r),C.emit("cart/data",r),r&&f(r,[],i.locale??"en-US"),r})};export{N as a,E as r};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*! Copyright 2025 Adobe
|
|
2
|
+
All Rights Reserved. */
|
|
3
|
+
import{s as a,f as T,h as m}from"./resetCart.js";import{C as u,t as C}from"./refreshCart.js";import{events as s}from"@dropins/tools/event-bus.js";import{a as O}from"./acdl.js";import{CART_FRAGMENT as N}from"../fragments.js";const A=`
|
|
4
|
+
mutation SET_GIFT_OPTIONS_ON_CART_MUTATION($cartId: String!, $giftMessage: GiftMessageInput, $giftWrappingId: ID, $giftReceiptIncluded: Boolean!, $printedCardIncluded: Boolean!, ${u}) {
|
|
5
|
+
setGiftOptionsOnCart(
|
|
6
|
+
input: {
|
|
7
|
+
cart_id: $cartId
|
|
8
|
+
gift_message: $giftMessage
|
|
9
|
+
gift_wrapping_id: $giftWrappingId
|
|
10
|
+
gift_receipt_included: $giftReceiptIncluded
|
|
11
|
+
printed_card_included: $printedCardIncluded
|
|
12
|
+
}
|
|
13
|
+
) {
|
|
14
|
+
cart {
|
|
15
|
+
...CART_FRAGMENT
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
${N}
|
|
20
|
+
`,E=async d=>{const e=a.cartId;if(!e)throw Error("Cart ID is not set");const{recipientName:o,senderName:p,message:c,giftReceiptIncluded:f,printedCardIncluded:g,giftWrappingId:I,isGiftWrappingSelected:_}=d;return T(A,{variables:{cartId:e,giftMessage:{from:p,to:o,message:c},giftWrappingId:_?I:null,giftReceiptIncluded:f,printedCardIncluded:g}}).then(({errors:l,data:r})=>{var n;const i=[...((n=r==null?void 0:r.addProductsToCart)==null?void 0:n.user_errors)??[],...l??[]];if(i.length>0)return m(i);const t=C(r.setGiftOptionsOnCart.cart);return s.emit("cart/updated",t),s.emit("cart/data",t),t&&O(t,[],a.locale??"en-US"),t})};export{E as s};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{s as m,f as i,h as
|
|
3
|
+
import{s as m,f as i,h as p}from"./resetCart.js";import{C as _,t as I}from"./refreshCart.js";import{events as n}from"@dropins/tools/event-bus.js";import{a as T}from"./acdl.js";import{CART_FRAGMENT as u}from"../fragments.js";const C=`
|
|
4
4
|
mutation UPDATE_PRODUCTS_FROM_CART_MUTATION(
|
|
5
5
|
$cartId: String!,
|
|
6
6
|
$cartItems: [CartItemUpdateInput!]!,
|
|
@@ -9,7 +9,7 @@ import{s as m,f as i,h as T}from"./resetCart.js";import{C as _,t as p}from"./ref
|
|
|
9
9
|
updateCartItems(
|
|
10
10
|
input: {
|
|
11
11
|
cart_id: $cartId
|
|
12
|
-
cart_items: $cartItems
|
|
12
|
+
cart_items: $cartItems
|
|
13
13
|
}
|
|
14
14
|
) {
|
|
15
15
|
cart {
|
|
@@ -18,6 +18,6 @@ import{s as m,f as i,h as T}from"./resetCart.js";import{C as _,t as p}from"./ref
|
|
|
18
18
|
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
-
|
|
21
|
+
|
|
22
22
|
${u}
|
|
23
|
-
`,h=async
|
|
23
|
+
`,h=async s=>{const o=m.cartId;if(!o)throw Error("Cart ID is not set");return i(C,{variables:{cartId:o,cartItems:s.map(({uid:e,quantity:t,giftOptions:a})=>({cart_item_uid:e,quantity:t,...a}))}}).then(({errors:e,data:t})=>{var c;const a=[...((c=t==null?void 0:t.updateCartItems)==null?void 0:c.user_errors)??[],...e??[]];if(a.length>0)return p(a);const r=I(t.updateCartItems.cart);return n.emit("cart/updated",r),n.emit("cart/data",r),r&&T(r,s,m.locale??"en-US"),r})};export{h as u};
|
|
@@ -2,6 +2,8 @@ import { FunctionComponent, VNode } from 'preact';
|
|
|
2
2
|
import { HTMLAttributes } from 'preact/compat';
|
|
3
3
|
|
|
4
4
|
export interface CouponsProps extends HTMLAttributes<HTMLDivElement> {
|
|
5
|
+
accordionSectionTitle?: string;
|
|
6
|
+
accordionSectionIcon?: string;
|
|
5
7
|
couponCodeField?: VNode<HTMLAttributes<HTMLInputElement>>;
|
|
6
8
|
applyCouponsButton?: VNode<HTMLAttributes<HTMLButtonElement>>;
|
|
7
9
|
appliedCoupons?: VNode<HTMLAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { FunctionComponent } from 'preact';
|
|
2
|
+
import { GiftOptionsViewProps, GiftWrappingConfigProps, GiftFormDataType, ProductGiftOptionsConfig } from '../../../types';
|
|
3
|
+
import { CartModel, Item } from '../../../data/models';
|
|
4
|
+
import { StateUpdater, Dispatch } from 'preact/hooks';
|
|
5
|
+
|
|
6
|
+
interface CheckboxGroupProps {
|
|
7
|
+
className: string;
|
|
8
|
+
view: GiftOptionsViewProps;
|
|
9
|
+
item: Item | ProductGiftOptionsConfig;
|
|
10
|
+
giftOptions: GiftFormDataType;
|
|
11
|
+
disabled: boolean;
|
|
12
|
+
cartData: CartModel | null;
|
|
13
|
+
giftWrappingConfig: GiftWrappingConfigProps[] | [];
|
|
14
|
+
areGiftOptionsVisible: Record<string, boolean>;
|
|
15
|
+
setShowModal: Dispatch<StateUpdater<boolean>>;
|
|
16
|
+
onInputChange: (event: Event) => void;
|
|
17
|
+
}
|
|
18
|
+
export declare const CheckboxGroup: FunctionComponent<CheckboxGroupProps>;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=CheckboxGroup.d.ts.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FunctionComponent } from 'preact';
|
|
2
|
+
import { GiftOptionsViewProps, GiftFormDataType } from '../../../types';
|
|
3
|
+
|
|
4
|
+
interface FormFieldsProps {
|
|
5
|
+
view: GiftOptionsViewProps;
|
|
6
|
+
giftOptions: GiftFormDataType;
|
|
7
|
+
disabled: boolean;
|
|
8
|
+
errorMessage: Record<string, string>;
|
|
9
|
+
onInputChange: (value: Event) => void;
|
|
10
|
+
onBlur: (event: Event) => void;
|
|
11
|
+
isGiftMessageVisible: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare const FormFields: FunctionComponent<FormFieldsProps>;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=FormFields.d.ts.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FunctionComponent } from 'preact';
|
|
2
|
+
import { GiftWrappingConfigProps, GiftOptionsViewProps } from '../../../types';
|
|
3
|
+
|
|
4
|
+
interface GiftOptionModalProps {
|
|
5
|
+
giftWrappingConfig: GiftWrappingConfigProps[];
|
|
6
|
+
showModal: boolean;
|
|
7
|
+
productName: string;
|
|
8
|
+
view: GiftOptionsViewProps;
|
|
9
|
+
setShowModal: () => void;
|
|
10
|
+
updateGiftOptions: (name: string, value?: string | boolean | number, extraGiftOptions?: Record<string, string | boolean | number>) => void;
|
|
11
|
+
}
|
|
12
|
+
export declare const GiftOptionModal: FunctionComponent<GiftOptionModalProps>;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=GiftOptionModal.d.ts.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FunctionComponent } from 'preact';
|
|
2
|
+
import { GiftFormDataType, GiftWrappingConfigProps, GiftOptionsReadOnlyViewProps, GiftOptionsViewProps } from '../../../types';
|
|
3
|
+
|
|
4
|
+
export interface ReadOnlyFormViewProps {
|
|
5
|
+
view: GiftOptionsViewProps;
|
|
6
|
+
giftOptions: GiftFormDataType;
|
|
7
|
+
readOnlyFormOrderView: GiftOptionsReadOnlyViewProps;
|
|
8
|
+
giftWrappingConfig: GiftWrappingConfigProps[] | [];
|
|
9
|
+
}
|
|
10
|
+
export declare const ReadOnlyFormView: FunctionComponent<ReadOnlyFormViewProps>;
|
|
11
|
+
//# sourceMappingURL=ReadOnlyFormView.d.ts.map
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { StateUpdater, Dispatch } from 'preact/hooks';
|
|
2
|
+
import { FunctionComponent } from 'preact';
|
|
3
|
+
import { GiftWrappingConfigProps, GiftOptionsViewProps, GiftFormDataType, GiftOptionsReadOnlyViewProps, ProductGiftOptionsConfig } from '../../types';
|
|
4
|
+
import { CartModel, Item } from '../../data/models';
|
|
5
|
+
|
|
6
|
+
export interface GiftOptionsProps {
|
|
7
|
+
readOnlyFormOrderView: GiftOptionsReadOnlyViewProps;
|
|
8
|
+
cartData: CartModel | null;
|
|
9
|
+
errorsField: Record<string, string>;
|
|
10
|
+
isGiftMessageVisible: boolean;
|
|
11
|
+
fieldsDisabled: boolean;
|
|
12
|
+
loading: boolean;
|
|
13
|
+
showModal: boolean;
|
|
14
|
+
isEditable: boolean;
|
|
15
|
+
isGiftOptionsApplied: boolean;
|
|
16
|
+
updateLoading: boolean;
|
|
17
|
+
areGiftOptionsVisible: Record<string, boolean>;
|
|
18
|
+
view: GiftOptionsViewProps;
|
|
19
|
+
giftOptions: GiftFormDataType;
|
|
20
|
+
item: Item | ProductGiftOptionsConfig;
|
|
21
|
+
giftWrappingConfig: GiftWrappingConfigProps[] | [];
|
|
22
|
+
updateGiftOptions: (name: string, value?: string | boolean | number, extraGiftOptions?: Record<string, string | boolean | number>) => void;
|
|
23
|
+
setShowModal: Dispatch<StateUpdater<boolean>>;
|
|
24
|
+
handleFormMouseLeave: () => void;
|
|
25
|
+
onInputChange: (event: Event) => void;
|
|
26
|
+
onBlur: (event: Event) => void;
|
|
27
|
+
}
|
|
28
|
+
export declare const GiftOptions: FunctionComponent<GiftOptionsProps>;
|
|
29
|
+
//# sourceMappingURL=GiftOptions.d.ts.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/********************************************************************
|
|
2
|
+
* ADOBE CONFIDENTIAL
|
|
3
|
+
* __________________
|
|
4
|
+
*
|
|
5
|
+
* Copyright 2024 Adobe
|
|
6
|
+
* All Rights Reserved.
|
|
7
|
+
*
|
|
8
|
+
* NOTICE: All information contained herein is, and remains
|
|
9
|
+
* the property of Adobe and its suppliers, if any. The intellectual
|
|
10
|
+
* and technical concepts contained herein are proprietary to Adobe
|
|
11
|
+
* and its suppliers and are protected by all applicable intellectual
|
|
12
|
+
* property laws, including trade secret and copyright laws.
|
|
13
|
+
* Dissemination of this information or reproduction of this material
|
|
14
|
+
* is strictly forbidden unless prior written permission is obtained
|
|
15
|
+
* from Adobe.
|
|
16
|
+
*******************************************************************/
|
|
17
|
+
export * from './GiftOptions';
|
|
18
|
+
export { GiftOptions as default } from '.';
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -40,9 +40,36 @@ export interface OrderSummaryProps extends Omit<HTMLAttributes<HTMLDivElement>,
|
|
|
40
40
|
estimated?: boolean;
|
|
41
41
|
priceWithoutTax?: VNode<HTMLAttributes<HTMLSpanElement>>;
|
|
42
42
|
};
|
|
43
|
+
printedCard?: {
|
|
44
|
+
renderContent: boolean;
|
|
45
|
+
taxIncluded: boolean;
|
|
46
|
+
taxInclAndExcl: boolean;
|
|
47
|
+
priceExclTax: VNode<HTMLAttributes<HTMLSpanElement>>;
|
|
48
|
+
priceInclTax: VNode<HTMLAttributes<HTMLSpanElement>>;
|
|
49
|
+
};
|
|
50
|
+
itemsGiftWrapping?: {
|
|
51
|
+
renderContent: boolean;
|
|
52
|
+
taxIncluded: boolean;
|
|
53
|
+
taxInclAndExcl: boolean;
|
|
54
|
+
priceExclTax: VNode<HTMLAttributes<HTMLSpanElement>>;
|
|
55
|
+
priceInclTax: VNode<HTMLAttributes<HTMLSpanElement>>;
|
|
56
|
+
};
|
|
57
|
+
orderGiftWrapping?: {
|
|
58
|
+
renderContent: boolean;
|
|
59
|
+
taxIncluded: boolean;
|
|
60
|
+
taxInclAndExcl: boolean;
|
|
61
|
+
priceExclTax: VNode<HTMLAttributes<HTMLSpanElement>>;
|
|
62
|
+
priceInclTax: VNode<HTMLAttributes<HTMLSpanElement>>;
|
|
63
|
+
};
|
|
43
64
|
primaryAction?: VNode<HTMLAttributes<HTMLButtonElement>>;
|
|
44
65
|
coupons?: VNode<HTMLAttributes<HTMLDivElement>>;
|
|
66
|
+
giftCards?: VNode<HTMLAttributes<HTMLDivElement>>;
|
|
45
67
|
totalSaved?: VNode<HTMLAttributes<HTMLSpanElement>>;
|
|
68
|
+
appliedGiftCards?: {
|
|
69
|
+
label: VNode<HTMLAttributes<HTMLSpanElement>> | string;
|
|
70
|
+
price: VNode<HTMLAttributes<HTMLSpanElement>>;
|
|
71
|
+
content?: VNode[];
|
|
72
|
+
};
|
|
46
73
|
updateLineItems?: (lineItems: Array<OrderSummaryLineItem>) => Array<OrderSummaryLineItem>;
|
|
47
74
|
}
|
|
48
75
|
export declare const OrderSummary: FunctionComponent<OrderSummaryProps>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { HTMLAttributes } from 'preact/compat';
|
|
2
2
|
import { FunctionComponent, VNode } from 'preact';
|
|
3
3
|
|
|
4
|
-
export interface OrderSummaryLineComponentProps extends HTMLAttributes<HTMLDivElement> {
|
|
5
|
-
label: string;
|
|
4
|
+
export interface OrderSummaryLineComponentProps extends Omit<HTMLAttributes<HTMLDivElement>, 'label'> {
|
|
5
|
+
label: VNode | string;
|
|
6
6
|
price: VNode<HTMLAttributes<HTMLSpanElement>>;
|
|
7
7
|
classSuffixes?: Array<string>;
|
|
8
8
|
labelClassSuffix?: string;
|
package/components/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{C as
|
|
3
|
+
import{C as u,C as l}from"../chunks/CartSummaryGrid.js";import"@dropins/tools/preact-jsx-runtime.js";import"@dropins/tools/preact-compat.js";import"../chunks/EmptyCart.js";import"@dropins/tools/lib.js";import"@dropins/tools/components.js";/* empty css */import"@dropins/tools/i18n.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/event-bus.js";import"../chunks/persisted-data.js";export{u as CartSummaryGrid,l as default};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{C as
|
|
3
|
+
import{C as c,C as g}from"../chunks/CartSummaryList.js";import"@dropins/tools/preact-jsx-runtime.js";import"@dropins/tools/preact-compat.js";import"@dropins/tools/lib.js";import"../chunks/EmptyCart.js";import"@dropins/tools/components.js";/* empty css */import"@dropins/tools/i18n.js";import"@dropins/tools/preact-hooks.js";import"../chunks/persisted-data.js";import"@dropins/tools/event-bus.js";import"../chunks/resetCart.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/updateProductsFromCart.js";import"../chunks/refreshCart.js";import"../fragments.js";import"../chunks/acdl.js";import"../chunks/ChevronDown.js";export{c as CartSummaryList,g as default};
|
package/containers/Coupons.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{
|
|
3
|
+
import{jsxs as E,jsx as t}from"@dropins/tools/preact-jsx-runtime.js";import{useState as l,useEffect as m}from"@dropins/tools/preact-compat.js";import"@dropins/tools/lib.js";import{Tag as b,Icon as x,Input as L,Button as R}from"@dropins/tools/components.js";/* empty css */import{S as P,C as B}from"../chunks/Coupons.js";import"@dropins/tools/preact-hooks.js";import"../chunks/resetCart.js";import{events as S}from"@dropins/tools/event-bus.js";import{a as f,A as h}from"../chunks/applyCouponsToCart.js";import{useText as $}from"@dropins/tools/i18n.js";import"../chunks/Coupon.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/persisted-data.js";import"../chunks/refreshCart.js";import"../fragments.js";const U=({children:z,...w})=>{const[d,c]=l(new Set),[i,C]=l([]),[u,p]=l(new Set),s=$({applyButton:"Cart.PriceSummary.coupon.applyAction",placeholder:"Cart.PriceSummary.coupon.placeholder",ariaLabelRemove:"Cart.PriceSummary.coupon.ariaLabelRemove"}),y=async o=>{const e=o.coupon,r=new Set(d);r.add(e),p(new Set);const n=Array.from(r);f(n,h.REPLACE).then(a=>{if(a===null)throw new Error("Error adding coupon code");c(r)}).catch(a=>{console.warn(a),p(new Set([a.message]))})},A=o=>{const e=new Set(d);e.delete(o),p(new Set);const r=Array.from(e);f(r,h.REPLACE).then(n=>{if(n===null)throw new Error("Error removing coupon code");c(e)}).catch(n=>{console.warn(n),p(new Set([n.message]))})};m(()=>{const o=S.on("cart/data",e=>{const r=e==null?void 0:e.appliedCoupons;if(!r){C([]),p(new Set);return}const n=r.map(a=>a.code);C(n),p(new Set)},{eager:!0});return()=>{o==null||o.off()}},[]),m(()=>{c(new Set(i))},[i]),m(()=>{const o=S.on("shipping/estimate",()=>{p(new Set)},{eager:!0});return()=>{o==null||o.off()}},[]);const g=i.map((o,e)=>E(b,{className:"coupon-code-form__applied-item",children:[t("span",{children:o}),t("button",{"aria-label":`${s.ariaLabelRemove} ${o}`,onClick:()=>A(o),"data-testid":`remove-coupon-${e+1}`,children:t(x,{source:P,size:"16"})})]},o)),v=u.size>0?t("div",{"data-testid":"coupon-code-error",children:Array.from(u)[0]}):void 0;return t(B,{...w,couponCodeField:t(L,{"aria-label":s.placeholder,type:"text",placeholder:s.placeholder,name:"coupon",variant:"primary",value:"","data-testid":"coupon-code-input",maxLength:50,error:u.size>0}),applyCouponsButton:t(R,{variant:"secondary",children:s.applyButton}),error:v,appliedCoupons:t("div",{children:g}),onApplyCoupon:y})};export{U as Coupons,U as default};
|
package/containers/EmptyCart.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{jsx as m}from"@dropins/tools/preact-jsx-runtime.js";import{E as p}from"../chunks/EmptyCart.js";import"@dropins/tools/lib.js";import"@dropins/tools/preact-compat.js";/* empty css
|
|
3
|
+
import{jsx as m}from"@dropins/tools/preact-jsx-runtime.js";import{E as p}from"../chunks/EmptyCart.js";import"@dropins/tools/lib.js";import"@dropins/tools/preact-compat.js";/* empty css */import"@dropins/tools/components.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/i18n.js";const c=({routeCTA:t})=>m(p,{ctaLinkURL:t==null?void 0:t()});export{c as EmptyCart,c as default};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{jsxs as T,jsx as e,Fragment as V}from"@dropins/tools/preact-jsx-runtime.js";import{classes as b,VComponent as B,getFormValues as $}from"@dropins/tools/lib.js";import{Price as U,Picker as w,Input as G,Button as q}from"@dropins/tools/components.js";/* empty css
|
|
3
|
+
import{jsxs as T,jsx as e,Fragment as V}from"@dropins/tools/preact-jsx-runtime.js";import{classes as b,VComponent as B,getFormValues as $}from"@dropins/tools/lib.js";import{Price as U,Picker as w,Input as G,Button as q}from"@dropins/tools/components.js";/* empty css */import{useRef as H,useState as s,useEffect as Z,useCallback as J}from"@dropins/tools/preact-compat.js";import{useText as M,Text as k}from"@dropins/tools/i18n.js";import"@dropins/tools/preact-hooks.js";import{s as X}from"../chunks/resetCart.js";import{events as R}from"@dropins/tools/event-bus.js";import{s as j}from"../chunks/persisted-data.js";import{g as O,a as Q,b as W}from"../chunks/getEstimateShipping.js";import"@dropins/tools/fetch-graphql.js";const Y=({countryField:z,destinationText:f,estimateButton:I,estimated:A,loading:N,onEstimate:l,price:S,priceExcludingTax:D,priceIncludingTax:n,stateField:C,taxExcluded:F,taxIncluded:P,zipField:m})=>{const d=H(null),[L,y]=s(!0),[x,i]=s("zip"),r=M({editZipAction:"Cart.EstimateShipping.editZipAction",destinationLinkAriaLabel:"Cart.EstimateShipping.destinationLinkAriaLabel",shippingLabel:"Cart.EstimateShipping.label",zipPlaceholder:"Cart.EstimateShipping.zipPlaceholder"}),E=p=>{p.preventDefault(),y(_=>!_)},t=p=>{p.preventDefault(),y(!0),i(_=>_==="zip"?"state":"zip")},h=p=>{p.preventDefault(),y(!1);const _=$(d.current);l==null||l(_)},v=r.destinationLinkAriaLabel.replace("{destination}",f);return T("div",{"data-testid":"estimate-shipping",className:b(["cart-estimate-shipping",["cart-estimate-shipping--loading",N]]),children:[e("span",{className:"cart-estimate-shipping__label",children:A?f?T(V,{children:[e(k,{id:"Cart.EstimateShipping.estimatedDestination"})," ",e("a",{className:"cart-estimate-shippingLink",role:"button",href:"",onClick:E,onKeyDown:p=>{(p.key==="Enter"||p.key===" ")&&E(p)},tabIndex:0,"aria-label":v,"data-testid":"shipping-destination-link",children:f})]}):e(k,{id:"Cart.EstimateShipping.estimated"}):e(k,{id:"Cart.EstimateShipping.label"})}),e(B,{node:S,className:"cart-estimate-shipping__price"}),A&&T(V,{children:[e("div",{className:b(["cart-estimate-shipping__caption"]),children:e("a",{href:"#",className:"cart-estimate-shipping__link",onClick:t,"data-testid":"shipping-alternate-field-link",children:x==="zip"?e(k,{id:"Cart.EstimateShipping.alternateField.state"}):e(k,{id:"Cart.EstimateShipping.alternateField.zip"})})}),T("form",{className:b(["cart-estimate-shipping--edit",["cart-estimate-shipping--hide",!L]]),ref:d,"data-testid":"shipping-estimate-form",children:[z&&e(B,{node:z,className:b(["cart-estimate-shipping--country"])}),x==="state"?C&&e(B,{node:C,className:b(["cart-estimate-shipping--state"])}):m&&e(B,{node:m,className:b(["cart-estimate-shipping--zip"])}),I&&e(B,{node:I,className:b(["cart-estimate-shipping--action"]),onClick:h,type:"submit"})]})]}),P&&e("div",{"data-testid":"shipping-tax-included",className:b(["cart-estimate-shipping__caption"]),children:T("span",{children:[n," ",e(k,{id:"Cart.EstimateShipping.withTaxes"})]})}),F?e("div",{"data-testid":"shipping-tax-included-excluded",className:b(["cart-estimate-shipping__caption"]),children:T("span",{children:[D," ",e(k,{id:"Cart.EstimateShipping.withoutTaxes"})]})}):void 0]})},ee=()=>{const[z,f]=s(!1),[I,A]=s([]),[N,l]=s("US"),[S,D]=s(""),[n,C]=s(""),[F,P]=s([]),[m,d]=s(!1),[L,y]=s(),[x,i]=s(),[r,E]=s(""),[t,h]=s(!1),v=()=>{l("US"),D(""),C(""),y(null),i(null),E(""),h(!1)},p=async u=>{const{shippingCountry:a,shippingState:o="",shippingZip:c=""}=u,K={countryCode:a,postcode:c,region:{region:o}};return f(!0),W(K).then(g=>(g&&(y({amount:g.amount.value,currency:g.amount.currency,priceIncludingtax:{amount:g.price_incl_tax.value,currency:g.price_incl_tax.currency},priceExcludingtax:{amount:g.price_excl_tax.value,currency:g.price_excl_tax.currency}}),i({carrier_code:g.carrier_code,method_code:g.method_code}),l(a),D(o),C(c),E(o||c||a),h(!0)),l(a),D(o),C(c),E(o||c||a),g)).finally(()=>{f(!1)})},_=u=>{u.preventDefault(),D(""),C("");const a=u.target.value;l(a)};return Z(()=>{O().then(u=>{let a="US";const o=u.map(c=>(c.isDefaultCountry&&(a=c.id),{text:c.label,value:c.id}));A(o),l(a)})},[]),Z(()=>{d(!0),Q(N).then(u=>{const a=u.map(o=>({text:o.name,value:o.code}));P(a)}).finally(()=>{d(!1)})},[N,d]),{loading:z,regionsLoading:m,estimatedDestinationText:r,countries:I,selectedCountry:N,selectedRegion:S,selectedZip:n,regions:F,estimatedShippingPrice:L,estimatedShippingMethod:x,shippingEstimated:t,handleEstimateShipping:p,handleCountrySelected:_,resetValues:v,setPriceSummaryLoading:f}},he=({showDefaultEstimatedShippingCost:z})=>{var E;const[f,I]=s(!1),{loading:A,countries:N,regions:l,selectedCountry:S,estimatedDestinationText:D,estimatedShippingPrice:n,handleCountrySelected:C,handleEstimateShipping:F,regionsLoading:P,selectedRegion:m,selectedZip:d,shippingEstimated:L,resetValues:y}=ee(),x=J(t=>{F(t).then(()=>{j(t)})},[F]);Z(()=>{const t=R.on("cart/data",h=>{var a,o,c;I((h==null?void 0:h.isVirtual)||!1);const v=(o=(a=h==null?void 0:h.addresses)==null?void 0:a.shipping)==null?void 0:o[0];if(z&&!v&&F({shippingCountry:((c=X.config)==null?void 0:c.defaultCountry)??""}),!v)return;const{countryCode:p,regionCode:_,zipCode:u}=v;x({shippingCountry:p,shippingState:_,shippingZip:u})},{eager:!0});return()=>{t==null||t.off()}},[]),Z(()=>{const t=R.on("cart/updated",()=>{L&&F({shippingCountry:S,shippingState:m,shippingZip:d})});return()=>{t==null||t.off()}},[L,S,m,d]),Z(()=>{const t=R.on("cart/reset",()=>{y(),j(null)});return()=>{t==null||t.off()}},[y]),Z(()=>{const t=R.on("cart/merged",()=>{L&&x({shippingCountry:S,shippingState:m,shippingZip:d})});return()=>{t==null||t.off()}},[L,S,m,d,x]);const i=M({applyButton:"Cart.PriceSummary.estimatedShippingForm.apply.label",countryField:"Cart.PriceSummary.estimatedShippingForm.country.placeholder",freeShipping:"Cart.PriceSummary.freeShipping",stateField:"Cart.PriceSummary.estimatedShippingForm.state.placeholder",taxToBeDetermined:"Cart.PriceSummary.taxToBeDetermined",zipField:"Cart.PriceSummary.estimatedShippingForm.zip.placeholder"});if(f)return null;const r=(E=X.config)==null?void 0:E.shoppingCartDisplaySetting;return e(Y,{loading:A,taxIncluded:(r==null?void 0:r.shipping)==="INCLUDING_TAX",taxExcluded:(r==null?void 0:r.shipping)==="INCLUDING_EXCLUDING_TAX",price:(n==null?void 0:n.amount)==0?e("span",{"data-testId":"free-shipping",children:i.freeShipping}):(r==null?void 0:r.shipping)==="INCLUDING_TAX"&&n?e(U,{"data-testid":"shipping",...n.priceIncludingtax}):n?e(U,{...n}):e("span",{children:i.taxToBeDetermined}),estimated:!0,priceExcludingTax:n!=null&&n.priceExcludingtax?e(U,{"data-testid":"shipping-excluding-tax",...n.priceExcludingtax}):e("span",{children:i.taxToBeDetermined}),countryField:e(w,{name:"shippingCountry",placeholder:i.countryField,value:S,variant:"primary",options:N,handleSelect:C,"data-testid":"estimate-shipping-country-selector"}),stateField:l.length>0?e(w,{name:"shippingState",placeholder:i.stateField,variant:"primary",options:l,value:m,"data-testid":"estimate-shipping-state-selector",disabled:P}):e(G,{"aria-label":i.stateField,name:"shippingState",placeholder:i.stateField,variant:"primary",value:m,disabled:P,"data-testid":"estimate-shipping-state-input",maxLength:50}),zipField:e(G,{"aria-label":i.zipField,name:"shippingZip",placeholder:i.zipField,variant:"primary","data-testid":"estimate-shipping-zip-input",value:d,maxLength:12}),estimateButton:e(q,{variant:"secondary","data-testid":"estimate-shipping-apply-button","aria-label":i.applyButton,children:i.applyButton}),destinationText:D||i.taxToBeDetermined,onEstimate:x})};export{he as EstimateShipping,he as default};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'preact/compat';
|
|
2
|
+
import { Container } from '@dropins/tools/types/elsie/src/lib';
|
|
3
|
+
|
|
4
|
+
export interface GiftCardsProps extends HTMLAttributes<HTMLDivElement> {
|
|
5
|
+
}
|
|
6
|
+
export declare const GiftCards: Container<GiftCardsProps>;
|
|
7
|
+
//# sourceMappingURL=GiftCards.d.ts.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/********************************************************************
|
|
2
|
+
* ADOBE CONFIDENTIAL
|
|
3
|
+
* __________________
|
|
4
|
+
*
|
|
5
|
+
* Copyright 2024 Adobe
|
|
6
|
+
* All Rights Reserved.
|
|
7
|
+
*
|
|
8
|
+
* NOTICE: All information contained herein is, and remains
|
|
9
|
+
* the property of Adobe and its suppliers, if any. The intellectual
|
|
10
|
+
* and technical concepts contained herein are proprietary to Adobe
|
|
11
|
+
* and its suppliers and are protected by all applicable intellectual
|
|
12
|
+
* property laws, including trade secret and copyright laws.
|
|
13
|
+
* Dissemination of this information or reproduction of this material
|
|
14
|
+
* is strictly forbidden unless prior written permission is obtained
|
|
15
|
+
* from Adobe.
|
|
16
|
+
*******************************************************************/
|
|
17
|
+
export * from './GiftCards';
|
|
18
|
+
export { GiftCards as default } from './GiftCards';
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! Copyright 2025 Adobe
|
|
2
|
+
All Rights Reserved. */
|
|
3
|
+
import{jsxs as y,jsx as a}from"@dropins/tools/preact-jsx-runtime.js";import{useState as p,useEffect as l}from"@dropins/tools/preact-compat.js";import"@dropins/tools/lib.js";import{Tag as G,Icon as v,Input as b,Button as A}from"@dropins/tools/components.js";/* empty css */import{S as L,C as x}from"../chunks/Coupons.js";import"@dropins/tools/preact-hooks.js";import"../chunks/resetCart.js";import{events as E}from"@dropins/tools/event-bus.js";import{a as P,r as T}from"../chunks/removeGiftCardFromCart.js";import{S as B}from"../chunks/GiftCard.js";import{useText as R}from"@dropins/tools/i18n.js";import"../chunks/Coupon.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/persisted-data.js";import"../chunks/refreshCart.js";import"../fragments.js";import"../chunks/acdl.js";const X=({children:z,...C})=>{const[m,d]=p(new Set),[s,f]=p([]),[c,i]=p(new Set),o=R({giftCardTitle:"Cart.PriceSummary.giftCard.title",applyButton:"Cart.PriceSummary.giftCard.applyAction",placeholder:"Cart.PriceSummary.giftCard.placeholder",ariaLabel:"Cart.PriceSummary.giftCard.ariaLabel",ariaLabelRemove:"Cart.PriceSummary.giftCard.ariaLabelRemove",empty:"Cart.PriceSummary.giftCard.errors.empty"}),u=async r=>{const t=r==null?void 0:r.giftCardCode;if(t==="")return i(new Set([o.empty])),!0;const e=new Set(m);e.add(t),i(new Set),P(t).then(n=>{if(n===null)throw new Error("Error adding gift card code");d(e)}).catch(n=>{console.warn(n),i(new Set([n.message]))})},S=r=>{const t=new Set(m);t.delete(r),i(new Set),T(r).then(e=>{if(e===null)throw new Error("Error removing gift card code");d(t)}).catch(e=>{console.warn(e),i(new Set([e.message]))})};l(()=>{const r=E.on("cart/data",t=>{const e=t==null?void 0:t.appliedGiftCards;if(!e){f([]),i(new Set);return}const n=e.map(({code:w})=>w);f(n),i(new Set)},{eager:!0});return()=>{r==null||r.off()}},[]),l(()=>{d(new Set(s))},[s]);const g=s.map((r,t)=>y(G,{className:"coupon-code-form__applied-item",children:[a("span",{children:r}),a("button",{"aria-label":`${o.ariaLabelRemove} ${r}`,onClick:()=>S(r),"data-testid":`remove-giftcard-${t+1}`,children:a(v,{source:L,size:"16"})})]},r)),h=c.size>0?a("div",{"data-testid":"giftcard-code-error",children:Array.from(c)[0]}):void 0;return a(x,{...C,className:"cart-gift-cards",accordionSectionTitle:o.giftCardTitle,accordionSectionIcon:B,couponCodeField:a(b,{"aria-label":o.ariaLabel,type:"text",placeholder:o.placeholder,name:"giftCardCode",variant:"primary",value:"","data-testid":"giftcard-code-input",maxLength:50,error:c.size>0}),applyCouponsButton:a(A,{variant:"secondary",children:o.applyButton}),error:h,appliedCoupons:a("div",{children:g}),onApplyCoupon:u})};export{X as GiftCards,X as default};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Item } from '../../data/models';
|
|
2
|
+
import { Container } from '@dropins/tools/types/elsie/src/lib';
|
|
3
|
+
import { GiftOptionsViewProps, GiftOptionsDataSourcesProps, GiftFormDataType, ProductGiftOptionsConfig, GiftOptionsReadOnlyViewProps } from '../../types';
|
|
4
|
+
|
|
5
|
+
export interface GiftOptionsProps {
|
|
6
|
+
item: Item | ProductGiftOptionsConfig;
|
|
7
|
+
view?: GiftOptionsViewProps;
|
|
8
|
+
readOnlyFormOrderView: GiftOptionsReadOnlyViewProps;
|
|
9
|
+
dataSource?: GiftOptionsDataSourcesProps;
|
|
10
|
+
isEditable?: boolean;
|
|
11
|
+
initialLoading?: boolean;
|
|
12
|
+
handleItemsLoading?: (uid: string, state: boolean) => void;
|
|
13
|
+
handleItemsError?: (uid: string, message?: string) => void;
|
|
14
|
+
onItemUpdate?: ({ item }: {
|
|
15
|
+
item: Item;
|
|
16
|
+
}) => void;
|
|
17
|
+
onGiftOptionsChange?: (data: GiftFormDataType) => void;
|
|
18
|
+
}
|
|
19
|
+
export declare const GiftOptions: Container<GiftOptionsProps>;
|
|
20
|
+
//# sourceMappingURL=GiftOptions.d.ts.map
|