@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.
Files changed (75) hide show
  1. package/api/applyGiftCardToCart/applyGiftCardToCart.d.ts +4 -0
  2. package/api/applyGiftCardToCart/graphql/ApplyGiftCardToCartMutation.d.ts +18 -0
  3. package/api/applyGiftCardToCart/index.d.ts +18 -0
  4. package/api/fragments.d.ts +1 -0
  5. package/api/getStoreConfig/graphql/StoreConfigQuery.d.ts +1 -1
  6. package/api/graphql/GiftFragment.d.ts +5 -0
  7. package/api/index.d.ts +3 -0
  8. package/api/removeGiftCardFromCart/graphql/RemoveGiftCardFromCartMutation.d.ts +18 -0
  9. package/api/removeGiftCardFromCart/index.d.ts +18 -0
  10. package/api/removeGiftCardFromCart/removeGiftCardFromCart.d.ts +4 -0
  11. package/api/setGiftOptionsOnCart/graphql/UpdateGiftOptionsMutation.d.ts +18 -0
  12. package/api/setGiftOptionsOnCart/index.d.ts +18 -0
  13. package/api/setGiftOptionsOnCart/setGiftOptionsOnCart.d.ts +5 -0
  14. package/api/updateProductsFromCart/updateProductsFromCart.d.ts +8 -0
  15. package/api.js +3 -3
  16. package/chunks/CartSummaryGrid.js +1 -1
  17. package/chunks/CartSummaryList.js +1 -1
  18. package/chunks/ChevronUp.js +3 -0
  19. package/chunks/Coupons.js +3 -0
  20. package/chunks/EmptyCart.js +1 -1
  21. package/chunks/GiftCard.js +3 -0
  22. package/chunks/OrderSummary.js +1 -1
  23. package/chunks/OrderSummaryLine.js +1 -1
  24. package/chunks/refreshCart.js +28 -16
  25. package/chunks/removeGiftCardFromCart.js +31 -0
  26. package/chunks/setGiftOptionsOnCart.js +20 -0
  27. package/chunks/updateProductsFromCart.js +4 -4
  28. package/components/Coupons/Coupons.d.ts +2 -0
  29. package/components/GiftOptions/Elements/CheckboxGroup.d.ts +20 -0
  30. package/components/GiftOptions/Elements/FormFields.d.ts +15 -0
  31. package/components/GiftOptions/Elements/GiftLoader.d.ts +4 -0
  32. package/components/GiftOptions/Elements/GiftOptionModal.d.ts +14 -0
  33. package/components/GiftOptions/Elements/ReadOnlyFormView.d.ts +11 -0
  34. package/components/GiftOptions/Elements/index.d.ts +5 -0
  35. package/components/GiftOptions/GiftOptions.d.ts +29 -0
  36. package/components/GiftOptions/index.d.ts +19 -0
  37. package/components/OrderSummary/OrderSummary.d.ts +27 -0
  38. package/components/OrderSummaryLine/OrderSummaryLine.d.ts +2 -2
  39. package/components/index.d.ts +1 -0
  40. package/containers/CartSummaryGrid.js +1 -1
  41. package/containers/CartSummaryList.js +1 -1
  42. package/containers/Coupons.js +1 -1
  43. package/containers/EmptyCart.js +1 -1
  44. package/containers/EstimateShipping.js +1 -1
  45. package/containers/GiftCards/GiftCards.d.ts +7 -0
  46. package/containers/GiftCards/index.d.ts +19 -0
  47. package/containers/GiftCards.d.ts +3 -0
  48. package/containers/GiftCards.js +3 -0
  49. package/containers/GiftOptions/GiftOptions.d.ts +20 -0
  50. package/containers/GiftOptions/index.d.ts +19 -0
  51. package/containers/GiftOptions.d.ts +3 -0
  52. package/containers/GiftOptions.js +3 -0
  53. package/containers/MiniCart.js +1 -1
  54. package/containers/OrderSummary/OrderSummary.d.ts +2 -0
  55. package/containers/OrderSummary.js +1 -1
  56. package/containers/OrderSummaryLine/OrderSummaryLine.d.ts +2 -2
  57. package/containers/OrderSummaryLine.js +1 -1
  58. package/containers/index.d.ts +2 -0
  59. package/data/models/cart-model.d.ts +51 -0
  60. package/data/models/gift-card-account.d.ts +8 -0
  61. package/data/models/index.d.ts +1 -0
  62. package/data/models/store-models.d.ts +11 -16
  63. package/data/transforms/__fixtures__/cartModel.d.ts +14 -0
  64. package/data/transforms/__fixtures__/productTypesData.d.ts +15 -0
  65. package/data/transforms/index.d.ts +1 -0
  66. package/data/transforms/transform-gift-card-account.d.ts +4 -0
  67. package/fragments.js +130 -5
  68. package/hooks/index.d.ts +1 -0
  69. package/hooks/useGiftOptions.d.ts +46 -0
  70. package/i18n/en_US.json.d.ts +117 -1
  71. package/lib/giftOptionsHelper.d.ts +18 -0
  72. package/package.json +1 -1
  73. package/render.js +2 -2
  74. package/types/giftOptions.types.d.ts +35 -0
  75. package/types/index.d.ts +2 -0
@@ -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
- `,H=`
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
- `,W=`
20
+ `,gr=`
21
21
  query GUEST_CART_QUERY(
22
22
  $cartId: String!,
23
- ${C}
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
- ${d}
32
- `,J=`
31
+ ${S}
32
+ `,fr=`
33
33
  query CUSTOMER_CART_QUERY(
34
- ${C}
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
- ${H}
47
- ${d}
48
- `,m=async()=>{const r=i.authenticated,t=i.cartId;if(r)return g(J,{method:"POST"}).then(({errors:n,data:e})=>{if(n)return y(n);const c={...e.cart,...e.customer};return b(c)});if(!t)throw new Error("No cart ID found");return g(W,{method:"POST",cache:"no-cache",variables:{cartId:t}}).then(({errors:n,data:e})=>n?y(n):b(e.cart))},Z=`
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
- ${C}
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
- ${d}
63
- `,f=async()=>{if(i.initializing)return null;i.initializing=!0,i.config||(i.config=await er());const r=i.authenticated?await E():await O();return l.emit("cart/initialized",r),l.emit("cart/data",r),i.initializing=!1,r};async function E(){const r=i.cartId,t=await m();return t?(i.cartId=t.id,!r||t.id===r?t:await g(Z,{variables:{guestCartId:r,customerCartId:t.id}}).then(()=>m()).then(n=>{const e={oldCartItems:t.items,newCart:n};return l.emit("cart/merged",e),n}).catch(()=>(console.error("Could not merge carts"),t))):null}async function O(){if(S.getConfig().disableGuestCart===!0||!i.cartId)return null;try{return await m()}catch(r){return console.error(r),null}}const rr=`
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
- `,er=async()=>g(rr,{method:"GET",cache:"force-cache"}).then(({errors:r,data:t})=>r?y(r):B(t.storeConfig)),tr=async()=>{const r=i.authenticated?await E():await O();return l.emit("cart/data",r),r};export{C,f as a,E as b,S as c,O as d,er as e,m as g,I as i,tr as r,b as t};
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 T}from"./resetCart.js";import{C as _,t as p}from"./refreshCart.js";import{events as n}from"@dropins/tools/event-bus.js";import{a as I}from"./acdl.js";import{CART_FRAGMENT as u}from"../fragments.js";const C=`
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 e=>{const s=m.cartId;if(!s)throw Error("Cart ID is not set");return i(C,{variables:{cartId:s,cartItems:e.map(({uid:a,quantity:t})=>({cart_item_uid:a,quantity:t}))}}).then(({errors:a,data:t})=>{var c;const o=[...((c=t==null?void 0:t.addProductsToCart)==null?void 0:c.user_errors)??[],...a??[]];if(o.length>0)return T(o);const r=p(t.updateCartItems.cart);return n.emit("cart/updated",r),n.emit("cart/data",r),r&&I(r,e,m.locale??"en-US"),r})};export{h as u};
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,4 @@
1
+ import { FunctionComponent } from 'preact';
2
+
3
+ export declare const GiftLoader: FunctionComponent;
4
+ //# sourceMappingURL=GiftLoader.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,5 @@
1
+ export { GiftLoader } from './GiftLoader';
2
+ export { GiftOptionItem } from './GiftOptionItem';
3
+ export { GiftOptionModal } from './GiftOptionModal';
4
+ export { ReadOnlyFormView } from './ReadOnlyFormView';
5
+ //# sourceMappingURL=index.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;
@@ -22,4 +22,5 @@ export * from './CartSummaryList';
22
22
  export * from './OrderSummary';
23
23
  export * from './Coupons';
24
24
  export * from './OrderSummaryLine';
25
+ export * from './GiftOptions';
25
26
  //# sourceMappingURL=index.d.ts.map
@@ -1,3 +1,3 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- import{C as s,C as u}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/event-bus.js";import"../chunks/persisted-data.js";export{s as CartSummaryGrid,u as default};
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 b,C as c}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"../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{b as CartSummaryList,c as default};
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};
@@ -1,3 +1,3 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- import{jsx as o,jsxs as A}from"@dropins/tools/preact-jsx-runtime.js";import*as n from"@dropins/tools/preact-compat.js";import{useRef as P,useState as E,useEffect as y}from"@dropins/tools/preact-compat.js";import{classes as a,VComponent as w,getFormValues as I}from"@dropins/tools/lib.js";import{Accordion as M,AccordionSection as b,Button as k,Icon as R,Input as T}from"@dropins/tools/components.js";/* empty css */import{S as j}from"../chunks/Coupon.js";import{useText as B}from"@dropins/tools/i18n.js";import"../chunks/resetCart.js";import{events as L}from"@dropins/tools/event-bus.js";import{a as x,A as N}from"../chunks/applyCouponsToCart.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/persisted-data.js";import"../chunks/refreshCart.js";import"../fragments.js";const z=s=>n.createElement("svg",{id:"Icon_Add_Base","data-name":"Icon \\u2013 Add \\u2013 Base",xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",...s},n.createElement("g",{id:"Large"},n.createElement("rect",{id:"Placement_area","data-name":"Placement area",width:24,height:24,fill:"#fff",opacity:0}),n.createElement("g",{id:"Add_icon","data-name":"Add icon",transform:"translate(9.734 9.737)"},n.createElement("line",{vectorEffect:"non-scaling-stroke",id:"Line_579","data-name":"Line 579",y2:12.7,transform:"translate(2.216 -4.087)",fill:"none",stroke:"currentColor"}),n.createElement("line",{vectorEffect:"non-scaling-stroke",id:"Line_580","data-name":"Line 580",x2:12.7,transform:"translate(-4.079 2.263)",fill:"none",stroke:"currentColor"})))),q=s=>n.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...s},n.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M18.3599 5.64001L5.62988 18.37",stroke:"currentColor"}),n.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M18.3599 18.37L5.62988 5.64001",stroke:"currentColor"})),D=s=>n.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...s},n.createElement("path",{d:"M17.3332 11.75H6.6665",strokeWidth:1.5,strokeLinecap:"square",strokeLinejoin:"round",vectorEffect:"non-scaling-stroke",fill:"none",stroke:"currentColor"})),V=({className:s,children:_,couponCodeField:f,applyCouponsButton:p,appliedCoupons:u,error:h,onApplyCoupon:d,...r})=>{const c=P(null),g=B({couponTitle:"Cart.PriceSummary.coupon.title"}),C=v=>{var t;v.preventDefault();const S=I(c.current);d==null||d(S);const e=(t=c==null?void 0:c.current)==null?void 0:t.querySelector("input");e&&(e.value="")};return o("div",{...r,"data-testid":"cart-coupons",className:a(["cart-coupons",s]),children:o(M,{"data-testid":"coupon-code",className:a(["cart-coupons__accordion"]),actionIconPosition:"right",iconOpen:z,iconClose:D,children:A(b,{title:g.couponTitle,iconLeft:j,showIconLeft:!0,renderContentWhenClosed:!1,"data-testid":"coupon-code-accordion-section",className:a(["cart-coupons__accordion-section"]),children:[o("form",{"data-testid":"coupon-code-form",className:a(["coupon-code-form--edit"]),ref:c,children:A("div",{className:a(["coupon-code-form__action"]),children:[f&&o(w,{node:f,className:a(["coupon-code-form__codes"])}),p&&o(w,{node:p,className:a(["coupon-code-form--button"]),onClick:C,type:"submit"})]})}),h&&o(w,{node:h,className:a(["coupon-code-form__error"])}),u&&o(w,{node:u,className:a(["coupon-code-form__applied"])})]})})})},oe=({children:s,..._})=>{const[f,p]=E(new Set),[u,h]=E([]),[d,r]=E(new Set),c=B({applyButton:"Cart.PriceSummary.coupon.applyAction",placeholder:"Cart.PriceSummary.coupon.placeholder"}),g=async e=>{const t=e.coupon,i=new Set(f);i.add(t),r(new Set);const l=Array.from(i);x(l,N.REPLACE).then(m=>{if(m===null)throw new Error("Error adding coupon code");p(i)}).catch(m=>{console.warn(m),r(new Set([m.message]))})},C=e=>{const t=new Set(f);t.delete(e),r(new Set);const i=Array.from(t);x(i,N.REPLACE).then(l=>{if(l===null)throw new Error("Error removing coupon code");p(t)}).catch(l=>{console.warn(l),r(new Set([l.message]))})};y(()=>{const e=L.on("cart/data",t=>{const i=t==null?void 0:t.appliedCoupons;if(!i){h([]),r(new Set);return}const l=i.map(m=>m.code);h(l),r(new Set)},{eager:!0});return()=>{e==null||e.off()}},[]),y(()=>{p(new Set(u))},[u]),y(()=>{const e=L.on("shipping/estimate",()=>{r(new Set)},{eager:!0});return()=>{e==null||e.off()}},[]);const v=u.map(e=>o(k,{variant:"tertiary",icon:o(R,{source:q,size:"24"}),onClick:()=>C(e),children:e},e)),S=d.size>0?o("div",{"data-testid":"coupon-code-error",children:Array.from(d)[0]}):void 0;return o(V,{..._,couponCodeField:o(T,{"aria-label":c.placeholder,type:"text",placeholder:c.placeholder,name:"coupon",variant:"primary",value:"","data-testid":"coupon-code-input",maxLength:50,error:d.size>0}),applyCouponsButton:o(k,{variant:"secondary",children:c.applyButton}),error:S,appliedCoupons:o("div",{children:v}),onApplyCoupon:g})};export{oe as Coupons,oe as default};
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};
@@ -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 */import"@dropins/tools/components.js";import"@dropins/tools/i18n.js";const E=({routeCTA:t})=>m(p,{ctaLinkURL:t==null?void 0:t()});export{E as EmptyCart,E as default};
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 */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{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}},me=({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{me as EstimateShipping,me as default};
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
+ export * from './GiftCards/index'
2
+ import _default from './GiftCards/index'
3
+ export default _default
@@ -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