@dropins/storefront-checkout 0.1.0-alpha31 → 0.1.0-alpha33

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 (140) hide show
  1. package/api.js +2 -1
  2. package/api.js.map +1 -0
  3. package/chunks/BillToShippingAddress2.js +2 -0
  4. package/chunks/BillToShippingAddress2.js.map +1 -0
  5. package/chunks/BillingForm.js +2 -0
  6. package/chunks/BillingForm.js.map +1 -0
  7. package/chunks/CartSummary.js +2 -0
  8. package/chunks/CartSummary.js.map +1 -0
  9. package/chunks/ErrorBanner.js +2 -0
  10. package/chunks/ErrorBanner.js.map +1 -0
  11. package/chunks/LoginForm.js +2 -0
  12. package/chunks/LoginForm.js.map +1 -0
  13. package/chunks/OrderSummary.js +2 -0
  14. package/chunks/OrderSummary.js.map +1 -0
  15. package/chunks/PaymentMethods.js +2 -0
  16. package/chunks/PaymentMethods.js.map +1 -0
  17. package/chunks/PlaceOrder.js +2 -0
  18. package/chunks/PlaceOrder.js.map +1 -0
  19. package/chunks/SelectedShippingMethodSignal.js +2 -0
  20. package/chunks/SelectedShippingMethodSignal.js.map +1 -0
  21. package/chunks/ShippingForm.js +2 -0
  22. package/chunks/ShippingForm.js.map +1 -0
  23. package/chunks/ShippingMethods.js +2 -0
  24. package/chunks/ShippingMethods.js.map +1 -0
  25. package/chunks/ToggleButton.js +2 -0
  26. package/chunks/ToggleButton.js.map +1 -0
  27. package/chunks/cart-item.js +2 -0
  28. package/chunks/cart-item.js.map +1 -0
  29. package/chunks/constants.js +2 -0
  30. package/chunks/constants.js.map +1 -0
  31. package/chunks/constants2.js +2 -0
  32. package/chunks/constants2.js.map +1 -0
  33. package/chunks/constants3.js +2 -0
  34. package/chunks/constants3.js.map +1 -0
  35. package/chunks/getCart.graphql.js +274 -0
  36. package/chunks/getCart.graphql.js.map +1 -0
  37. package/chunks/getMultilineValues.js +44 -0
  38. package/chunks/getMultilineValues.js.map +1 -0
  39. package/chunks/getStoreConfig.js +59 -0
  40. package/chunks/getStoreConfig.js.map +1 -0
  41. package/chunks/initialize.js +2 -0
  42. package/chunks/initialize.js.map +1 -0
  43. package/chunks/placeOrder2.js +112 -0
  44. package/chunks/placeOrder2.js.map +1 -0
  45. package/chunks/setBillingAddress.js +16 -0
  46. package/chunks/setBillingAddress.js.map +1 -0
  47. package/chunks/setGuestEmailOnCart.js +20 -0
  48. package/chunks/setGuestEmailOnCart.js.map +1 -0
  49. package/chunks/setPaymentMethod.js +16 -0
  50. package/chunks/setPaymentMethod.js.map +1 -0
  51. package/chunks/setShippingAddress.js +16 -0
  52. package/chunks/setShippingAddress.js.map +1 -0
  53. package/chunks/setShippingMethods.js +19 -0
  54. package/chunks/setShippingMethods.js.map +1 -0
  55. package/chunks/transform-shipping-methods.js +2 -0
  56. package/chunks/transform-shipping-methods.js.map +1 -0
  57. package/containers/BillToShippingAddress.js +2 -1
  58. package/containers/BillToShippingAddress.js.map +1 -0
  59. package/containers/BillingForm.js +2 -1
  60. package/containers/BillingForm.js.map +1 -0
  61. package/containers/CartSummary.js +2 -1
  62. package/containers/CartSummary.js.map +1 -0
  63. package/containers/Checkout.js +2 -1
  64. package/containers/Checkout.js.map +1 -0
  65. package/containers/ErrorBanner.js +2 -1
  66. package/containers/ErrorBanner.js.map +1 -0
  67. package/containers/LoginForm.js +2 -1
  68. package/containers/LoginForm.js.map +1 -0
  69. package/containers/OrderSummary.js +2 -1
  70. package/containers/OrderSummary.js.map +1 -0
  71. package/containers/PaymentMethods.js +2 -1
  72. package/containers/PaymentMethods.js.map +1 -0
  73. package/containers/PlaceOrder.js +2 -1
  74. package/containers/PlaceOrder.js.map +1 -0
  75. package/containers/ShippingForm.js +2 -1
  76. package/containers/ShippingForm.js.map +1 -0
  77. package/containers/ShippingMethods.js +2 -1
  78. package/containers/ShippingMethods.js.map +1 -0
  79. package/package.json +1 -1
  80. package/render.js +4 -1
  81. package/render.js.map +1 -0
  82. package/1176.js +0 -1
  83. package/1184.js +0 -1
  84. package/1268.js +0 -1
  85. package/1424.js +0 -1
  86. package/1458.js +0 -1
  87. package/1568.js +0 -1
  88. package/1600.js +0 -1
  89. package/1604.js +0 -1
  90. package/1680.js +0 -1
  91. package/184.js +0 -1
  92. package/196.js +0 -1
  93. package/2328.js +0 -1
  94. package/2388.js +0 -1
  95. package/2543.js +0 -1
  96. package/2892.js +0 -1
  97. package/2920.js +0 -1
  98. package/2956.js +0 -1
  99. package/3100.js +0 -1
  100. package/3180.js +0 -1
  101. package/3316.js +0 -1
  102. package/3484.js +0 -1
  103. package/3728.js +0 -1
  104. package/3764.js +0 -1
  105. package/3832.js +0 -1
  106. package/3836.js +0 -1
  107. package/3916.js +0 -1
  108. package/3996.js +0 -1
  109. package/4004.js +0 -1
  110. package/4424.js +0 -1
  111. package/4708.js +0 -1
  112. package/488.js +0 -1
  113. package/4928.js +0 -1
  114. package/4948.js +0 -1
  115. package/5008.js +0 -1
  116. package/5068.js +0 -1
  117. package/5476.js +0 -1
  118. package/5488.js +0 -1
  119. package/6140.js +0 -1
  120. package/6484.js +0 -1
  121. package/664.js +0 -1
  122. package/6768.js +0 -1
  123. package/6820.js +0 -1
  124. package/7524.js +0 -1
  125. package/7568.js +0 -1
  126. package/8100.js +0 -1
  127. package/8220.js +0 -1
  128. package/8256.js +0 -1
  129. package/8412.js +0 -1
  130. package/844.js +0 -1
  131. package/8668.js +0 -1
  132. package/8824.js +0 -1
  133. package/8868.js +0 -1
  134. package/8966.js +0 -1
  135. package/9176.js +0 -1
  136. package/9772.js +0 -1
  137. package/984.js +0 -1
  138. package/9940.js +0 -1
  139. package/9948.js +0 -1
  140. package/runtime.js +0 -1
@@ -0,0 +1,2 @@
1
+ import{Initializer as t}from"@dropins/tools/lib.js";const i=new t({init:async n=>{const o={guestViewCookieExpirationDays:30,...n};i.config.setConfig(o)},listeners:()=>[]}),e=i.config;export{e as c,i};
2
+ //# sourceMappingURL=initialize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initialize.js","sources":["../../src/api/initialize/initialize.ts"],"sourcesContent":["import { Lang } from '@adobe/elsie/i18n';\nimport { Initializer } from '@adobe/elsie/lib';\n\nexport type ConfigProps = {\n guestViewCookieExpirationDays?: number;\n langDefinitions?: Lang;\n};\n\nexport const initialize = new Initializer<ConfigProps>({\n init: async (_config) => {\n const config = { guestViewCookieExpirationDays: 30, ..._config };\n initialize.config.setConfig(config);\n },\n\n listeners: () => [],\n});\n\nexport const config = initialize.config;\n"],"names":["initialize","Initializer","init","_config","config","guestViewCookieExpirationDays","setConfig","listeners"],"mappings":"oDAQaA,MAAAA,EAAa,IAAIC,EAAyB,CACrDC,KAAM,MAAOC,GAAY,CACvB,MAAMC,EAAS,CAAEC,8BAA+B,GAAI,GAAGF,CAAAA,EAC5CC,EAAAA,OAAOE,UAAUF,CAAM,CACpC,EAEAG,UAAWA,IAAM,CAAA,CACnB,CAAC,EAEYH,EAASJ,EAAWI"}
@@ -0,0 +1,112 @@
1
+ import{g as T,b as I,t as O}from"./getCart.graphql.js";import{e as y,F as S,M as A,U as E}from"./transform-shipping-methods.js";import{f as k,o as v,P as d,i as q}from"./getStoreConfig.js";import{events as C}from"@dropins/tools/event-bus.js";import{I as L}from"./cart-item.js";const D=t=>t?"code"in t&&"value"in t:!1,N=t=>t.filter(D).map(e=>{const{code:o,value:r}=e;return{code:o,value:r}}),x=t=>{var n,a,u;const e=t.street.filter(Boolean),o=(n=t.region)==null?void 0:n.region_id,r=o&&o>0;return{id:String(t.id),firstName:t.firstname,lastName:t.lastname,company:t.company||void 0,city:t.city,street:e,postCode:t.postcode||void 0,vatId:t.vat_id||void 0,telephone:t.telephone||void 0,region:{id:r?o:void 0,code:(a=t.region)==null?void 0:a.region_code,name:(u=t.region)==null?void 0:u.region},country:{value:t.country_code,label:t.country_code},customAttributes:N(t.custom_attributesV2)}},Q=t=>t?t.filter(Boolean).map(x):[],b=(t,e)=>{if(!e)return;const o=e.find(r=>(r==null?void 0:r[t])===!0);if(o)return x(o)},V=t=>{if(!t)return;const e=t.addresses;return{firstName:t.firstname||"",lastName:t.lastname||"",email:t.email||"",addresses:Q(e),defaultBillingAddress:b("default_billing",e),defaultShippingAddress:b("default_shipping",e)}},st=async t=>await y({type:"query",query:t?T:I,options:{method:"POST",cache:"no-cache",...t?{variables:{cartId:t}}:{}},path:"cart",signalType:"cart",transformer:O}),$=`
2
+ query getCustomer {
3
+ customer {
4
+ firstname
5
+ lastname
6
+ email
7
+ addresses {
8
+ id
9
+ default_shipping
10
+ default_billing
11
+ city
12
+ country_code
13
+ firstname
14
+ lastname
15
+ company
16
+ postcode
17
+ vat_id
18
+ region {
19
+ region
20
+ region_id
21
+ region_code
22
+ }
23
+ street
24
+ telephone
25
+ custom_attributesV2 {
26
+ ... on AttributeValue {
27
+ code
28
+ value
29
+ }
30
+ }
31
+ }
32
+ }
33
+ }
34
+ `,ct=async()=>await y({type:"query",query:$,options:{method:"POST",cache:"no-cache"},path:"customer",signalType:"customer",transformer:V}),w=`
35
+ fragment CartStockStatus on Cart {
36
+ id
37
+ items {
38
+ __typename
39
+ uid
40
+ product {
41
+ uid
42
+ name
43
+ sku
44
+ stock_status
45
+ only_x_left_in_stock
46
+ ... on ConfigurableProduct {
47
+ variants {
48
+ attributes {
49
+ uid
50
+ }
51
+ product {
52
+ uid
53
+ stock_status
54
+ }
55
+ }
56
+ }
57
+ ... on BundleProduct {
58
+ items {
59
+ uid
60
+ options {
61
+ uid
62
+ product {
63
+ uid
64
+ }
65
+ }
66
+ }
67
+ }
68
+ }
69
+ quantity
70
+ ... on ConfigurableCartItem {
71
+ configurable_options {
72
+ configurable_product_option_uid
73
+ option_label
74
+ configurable_product_option_value_uid
75
+ value_label
76
+ }
77
+ }
78
+ ... on BundleCartItem {
79
+ bundle_options {
80
+ uid
81
+ values {
82
+ uid
83
+ }
84
+ }
85
+ }
86
+ }
87
+ }
88
+ `,B=`
89
+ query getCartStockStatus($cartId: String!) {
90
+ cart(cart_id: $cartId) {
91
+ ...CartStockStatus
92
+ }
93
+ }
94
+ ${w}
95
+ `,M=`
96
+ query getCustomerCartStockStatus {
97
+ cart: customerCart {
98
+ ...CartStockStatus
99
+ }
100
+ }
101
+ ${w}
102
+ `,f=t=>t.stock_status===d.InStock,F=t=>f(t.product),U=t=>{const{configurable_options:e}=t,{variants:o}=t.product;if(!o||!e)return!1;const r=e.map(u=>u==null?void 0:u.configurable_product_option_value_uid),n=o.find(u=>!u||!u.attributes?!1:u.attributes.every(s=>s&&r.includes(s.uid)));if(!n)return!1;const{product:a}=n;return a?f(a):!1},G=t=>{const{product:e}=t;if(!f(e))return!1;const{bundle_options:o}=t,{items:r}=e;return(r==null?void 0:r.length)===(o==null?void 0:o.length)},P=t=>{switch(t){case"ConfigurableCartItem":return U;case"BundleCartItem":return G;default:return F}},R=t=>P(t.__typename)(t)===!1,it=async t=>{var a;const{data:e,errors:o}=await k(t?B:M,{method:"GET",cache:"no-cache",...t?{variables:{cartId:t}}:{}}).catch(v);if(o)throw new S(o);const r=(a=e==null?void 0:e.cart)==null?void 0:a.items;return!r||!r.length?d.InStock:r.filter(u=>u?R(u):!1).length>0?d.OutOfStock:d.InStock},K=`
103
+ mutation placeOrder($cartId: String!) {
104
+ placeOrder(input: { cart_id: $cartId }) {
105
+ orderV2 {
106
+ number
107
+ token
108
+ }
109
+ }
110
+ }
111
+ `;function j(t){const e=[];for(const o in t)t[o]!==null&&e.push({optionLabel:o,valueLabel:t[o]});return e}function z(t){return t.map(e=>{var c;const{uid:o,name:r,sku:n,price:a,quantity:u}=e;let s={canApplyMsrp:!0,formattedPrice:"",id:o,prices:{price:{value:a.value??0,currency:a.currency??""}},product:{productId:0,name:r,sku:n,productType:e.kind,canonicalUrl:e.url||"",mainImageUrl:((c=e==null?void 0:e.image)==null?void 0:c.src)||""},quantity:u};return e.kind===L.Configurable&&(s.configurableOptions=j(e.configurableOptions)),s},[])}function H(t){var s,c,i,l;const{id:e,items:o,prices:r,totalQty:n}=t,a=!!(o!=null&&o.length);let u={id:e,prices:{subtotalExcludingTax:{value:((s=r==null?void 0:r.subtotal_excluding_tax)==null?void 0:s.value)??0,currency:((c=r==null?void 0:r.subtotal_excluding_tax)==null?void 0:c.currency)??""},subtotalIncludingTax:{value:((i=r==null?void 0:r.subtotal_including_tax)==null?void 0:i.value)??0,currency:((l=r==null?void 0:r.subtotal_including_tax)==null?void 0:l.currency)??""}},totalQuantity:n,possibleOnepageCheckout:!0};return a&&(u.items=z(o)),u}function J(t){return t.reduce((o,r)=>o+r.amount.value,0)}function W(t){return{shippingMethod:`${t.carrier.code}_${t.code}`,shippingAmount:t.amount.value??0}}function X(t,e){var i,l,g,m,h;const{coupons:o,email:r,prices:n,selectedPaymentMethod:a,shippingAddresses:u}=e,s=!!(u!=null&&u.length);let c={appliedCouponCode:((i=o[0])==null?void 0:i.code)??"",email:r??"",grandTotal:((l=n==null?void 0:n.grand_total)==null?void 0:l.value)??0,orderId:t,orderType:"checkout",otherTax:0,paymentMethodCode:(a==null?void 0:a.code)??"",paymentMethodName:(a==null?void 0:a.title)??"",payments:[{paymentMethodCode:(a==null?void 0:a.code)??"",paymentMethodName:(a==null?void 0:a.title)??"",total:((g=n==null?void 0:n.grand_total)==null?void 0:g.value)??0}],salesTax:J((n==null?void 0:n.applied_taxes)??[]),subtotalExcludingTax:((m=n==null?void 0:n.subtotal_excluding_tax)==null?void 0:m.value)??0,subtotalIncludingTax:((h=n==null?void 0:n.subtotal_including_tax)==null?void 0:h.value)??0};if(s){const p=u[0],_=p==null?void 0:p.selectedShippingMethod;_&&(c.shipping=W(_))}return c}function Y(t){const{data:e}=q.value,o=H(e),r=X(t,e);window.adobeDataLayer=window.adobeDataLayer||[],window.adobeDataLayer.push({shoppingCartContext:null},{orderContext:null}),window.adobeDataLayer.push({shoppingCartContext:o},{orderContext:r})}function Z(){window.adobeDataLayer=window.adobeDataLayer||[],window.adobeDataLayer.push(t=>{const e=t.getState()||{};t.push({event:"place-order",eventInfo:{...e}})})}function tt(t){Y(t),Z()}function et(t){throw t.every(o=>{var r;return(r=o.extensions)==null?void 0:r.category})?new S(t):new E(t[0].message)}const lt=async t=>{if(!t)throw new A;const{data:e,errors:o}=await k(K,{variables:{cartId:t}}).catch(v);o&&et(o);const r=e.placeOrder.orderV2;tt(r.number),C.emit("checkout/order",r),C.emit("cart/reset",void 0)};export{ct as a,it as b,st as g,lt as p};
112
+ //# sourceMappingURL=placeOrder2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"placeOrder2.js","sources":["../../src/data/transforms/transform-customer.ts","../../src/api/getCart/getCart.ts","../../src/api/getCustomer/graphql/getCustomer.graphql.ts","../../src/api/getCustomer/getCustomer.ts","../../src/api/getStockStatus/graphql/getStockStatus.graphql.ts","../../src/api/getStockStatus/getStockStatus.ts","../../src/api/placeOrder/graphql/placeOrder.graphql.ts","../../src/utils/storefrontEvents/completeCheckout.ts","../../src/api/placeOrder/placeOrder.ts"],"sourcesContent":["import { GetCustomerQuery } from '@/checkout/__generated__/types';\nimport {\n Customer as CustomerModel,\n CustomerAddress as CustomerAddressModel,\n CustomAttribute as CustomAttributeModel,\n} from '@/checkout/data/models';\n\ntype Customer = GetCustomerQuery['customer'];\ntype NonNullableCustomer = NonNullable<Customer>;\ntype CustomAttributesV2 = CustomerAddress['custom_attributesV2'];\ntype CustomerAddresses = NonNullableCustomer['addresses'];\ntype CustomerAddress = NonNullable<NonNullable<CustomerAddresses>[number]>;\n\nconst isValidCustomAttribute = (attribute: any): boolean => {\n if (!attribute) return false;\n return 'code' in attribute && 'value' in attribute;\n};\n\nexport const transformCustomAttributesV2 = (\n data: CustomAttributesV2\n): CustomAttributeModel[] => {\n return data.filter(isValidCustomAttribute).map((attribute) => {\n const { code, value } = attribute as { code: string; value: string };\n return { code, value };\n });\n};\n\nconst transformCustomerAddress = (\n data: CustomerAddress\n): CustomerAddressModel => {\n const street = data.street!.filter(Boolean) as string[];\n const regionId = data.region?.region_id;\n const hasRegionId = regionId && regionId > 0;\n\n return {\n id: String(data.id),\n firstName: data.firstname!,\n lastName: data.lastname!,\n company: data.company || undefined,\n city: data.city!,\n street,\n postCode: data.postcode || undefined,\n vatId: data.vat_id || undefined,\n telephone: data.telephone || undefined,\n region: {\n id: hasRegionId? regionId : undefined,\n code: data.region?.region_code!,\n name: data.region?.region!,\n },\n country: {\n value: data.country_code!,\n label: data.country_code!,\n },\n customAttributes: transformCustomAttributesV2(data.custom_attributesV2),\n };\n};\n\nconst transformCustomerAddresses = (\n data: CustomerAddresses\n): CustomerAddressModel[] => {\n if (!data) return [];\n\n const customerAddresses = data.filter(Boolean) as CustomerAddress[];\n return customerAddresses.map(transformCustomerAddress);\n};\n\nconst transformDefaultAddress = (\n type: 'default_billing' | 'default_shipping',\n data: CustomerAddresses\n): CustomerAddressModel | undefined => {\n if (!data) return;\n\n const address = data.find((address) => address?.[type] === true);\n\n if (!address) return;\n\n return transformCustomerAddress(address);\n};\n\nconst transformCustomer = (data: Customer): CustomerModel | undefined => {\n if (!data) return;\n\n const addresses = data.addresses;\n\n return {\n firstName: data.firstname || '',\n lastName: data.lastname || '',\n email: data.email || '',\n addresses: transformCustomerAddresses(addresses),\n defaultBillingAddress: transformDefaultAddress(\n 'default_billing',\n addresses\n ),\n defaultShippingAddress: transformDefaultAddress(\n 'default_shipping',\n addresses\n ),\n };\n};\n\nexport { transformCustomer };\n","import {\n getCartQuery,\n getCustomerCartQuery,\n} from '@/checkout/api/getCart/graphql';\nimport { dispatchApiCall } from '@/checkout/api/utils/dispatchApiCall';\nimport { transformCart } from '@/checkout/data/transforms/transform-cart';\n\nexport const getCart = async (cartId?: string) => {\n return await dispatchApiCall({\n type: 'query',\n query: cartId ? getCartQuery : getCustomerCartQuery,\n options: {\n method: 'POST',\n cache: 'no-cache',\n ...(cartId ? { variables: { cartId } } : {}),\n },\n path: 'cart',\n signalType: 'cart',\n transformer: transformCart,\n });\n};\n","export const getCustomerQuery = /* GraphQL */ `\n query getCustomer {\n customer {\n firstname\n lastname\n email\n addresses {\n id\n default_shipping\n default_billing\n city\n country_code\n firstname\n lastname\n company\n postcode\n vat_id\n region {\n region\n region_id\n region_code\n }\n street\n telephone\n custom_attributesV2 {\n ... on AttributeValue {\n code\n value\n }\n }\n }\n }\n }\n`;\n","import { getCustomerQuery } from '@/checkout/api/getCustomer/graphql/getCustomer.graphql';\nimport { dispatchApiCall } from '@/checkout/api/utils/dispatchApiCall';\nimport { Customer } from '@/checkout/data/models';\nimport { transformCustomer } from '@/checkout/data/transforms';\n\nexport const getCustomer = async (): Promise<Customer | null | undefined> => {\n return await dispatchApiCall({\n type: 'query',\n query: getCustomerQuery,\n options: { method: 'POST', cache: 'no-cache' },\n path: 'customer',\n signalType: 'customer',\n transformer: transformCustomer,\n });\n};\n","export const CART_STOCK_STATUS_FRAGMENT = /* GraphQL */ `\n fragment CartStockStatus on Cart {\n id\n items {\n __typename\n uid\n product {\n uid\n name\n sku\n stock_status\n only_x_left_in_stock\n ... on ConfigurableProduct {\n variants {\n attributes {\n uid\n }\n product {\n uid\n stock_status\n }\n }\n }\n ... on BundleProduct {\n items {\n uid\n options {\n uid\n product {\n uid\n }\n }\n }\n }\n }\n quantity\n ... on ConfigurableCartItem {\n configurable_options {\n configurable_product_option_uid\n option_label\n configurable_product_option_value_uid\n value_label\n }\n }\n ... on BundleCartItem {\n bundle_options {\n uid\n values {\n uid\n }\n }\n }\n }\n }\n`;\n\nexport const getCartStockStatusQuery = /* GraphQL */ `\n query getCartStockStatus($cartId: String!) {\n cart(cart_id: $cartId) {\n ...CartStockStatus\n }\n }\n ${CART_STOCK_STATUS_FRAGMENT}\n`;\n\nexport const getCustomerCartStockStatusQuery = /* GraphQL */ `\n query getCustomerCartStockStatus {\n cart: customerCart {\n ...CartStockStatus\n }\n }\n ${CART_STOCK_STATUS_FRAGMENT}\n`;\n","import {\n BundleCartItem,\n BundleProduct,\n Cart,\n ConfigurableCartItem,\n ConfigurableProduct,\n DownloadableCartItem,\n GiftCardCartItem,\n ProductInterface,\n ProductStockStatus,\n SimpleCartItem,\n VirtualCartItem,\n} from '@/checkout/__generated__/types';\nimport { fetchGraphQl } from '@/checkout/api';\nimport { FetchError } from '@/checkout/api/errors';\nimport { handleNetworkError } from '@/checkout/lib/network-error';\nimport {\n getCartStockStatusQuery,\n getCustomerCartStockStatusQuery,\n} from '@/checkout/api/getStockStatus/graphql/getStockStatus.graphql';\n\ninterface StockChecker {\n (item: CartItem): boolean;\n}\n\ntype StockStatusOutput = {\n cart: Pick<Cart, 'id' | 'items'>;\n};\n\ntype CartItem =\n | BundleCartItem\n | ConfigurableCartItem\n | DownloadableCartItem\n | GiftCardCartItem\n | SimpleCartItem\n | VirtualCartItem;\n\nconst isProductInStock = (product: ProductInterface): boolean => {\n return product.stock_status === ProductStockStatus.InStock;\n};\n\nconst simpleStockChecker: StockChecker = (item) => {\n return isProductInStock(item.product);\n};\n\nconst configStockChecker: StockChecker = (item) => {\n const { configurable_options: options } = item as ConfigurableCartItem;\n const { variants } = item.product as ConfigurableProduct;\n\n if (!variants || !options) return false;\n\n const selectedOptions = options.map(\n (option) => option?.configurable_product_option_value_uid\n );\n\n const selectedVariant = variants.find((variant) => {\n if (!variant || !variant.attributes) return false;\n\n return variant.attributes.every(\n (attribute) => attribute && selectedOptions.includes(attribute.uid)\n );\n });\n\n // if no matching variant is found, we assume the product is out of stock\n if (!selectedVariant) return false;\n\n const { product: variantProduct } = selectedVariant;\n\n if (!variantProduct) return false;\n\n return isProductInStock(variantProduct);\n};\n\nconst bundleStockChecker: StockChecker = (item) => {\n const { product } = item as BundleCartItem;\n\n if (!isProductInStock(product)) return false;\n\n // if any of the items inside the bundle is ouf of stock, it will not be part of this list\n const { bundle_options: options } = item as BundleCartItem;\n const { items: bundle } = product as BundleProduct;\n\n return bundle?.length === options?.length;\n};\n\nconst getStockChecker = (type?: string): StockChecker => {\n switch (type) {\n case 'ConfigurableCartItem':\n return configStockChecker;\n case 'BundleCartItem':\n return bundleStockChecker;\n default:\n return simpleStockChecker;\n }\n};\n\nconst isOutOfStock = (item: CartItem) => {\n const checker = getStockChecker(item.__typename);\n return checker(item) === false;\n};\n\nexport const getStockStatus = async (\n cartId?: string\n): Promise<ProductStockStatus> => {\n const { data, errors } = await fetchGraphQl<StockStatusOutput>(\n cartId ? getCartStockStatusQuery : getCustomerCartStockStatusQuery,\n {\n method: 'GET',\n cache: 'no-cache',\n ...(cartId ? { variables: { cartId } } : {}),\n }\n ).catch(handleNetworkError);\n\n if (errors) throw new FetchError(errors);\n\n const cartItems = data?.cart?.items;\n\n if (!cartItems || !cartItems.length) return ProductStockStatus.InStock;\n\n const outOfStock = cartItems.filter((item) => {\n if (!item) return false;\n return isOutOfStock(item as CartItem);\n });\n\n return outOfStock.length > 0\n ? ProductStockStatus.OutOfStock\n : ProductStockStatus.InStock;\n};\n","export const placeOrderMutation = /* GraphQL */ `\n mutation placeOrder($cartId: String!) {\n placeOrder(input: { cart_id: $cartId }) {\n orderV2 {\n number\n token\n }\n }\n }\n`;\n","import { cartSignal } from '@/checkout/signals';\nimport { CartTaxItem } from '@/checkout/__generated__/types';\nimport {\n ConfigurableOption,\n Order,\n ShoppingCart,\n ShoppingCartItem,\n} from '@/checkout/types/CompleteCheckoutContextSchemas';\nimport { Cart } from '@/checkout/data/models/cart';\nimport { Item, ItemKind } from '@/checkout/data/models/cart-item';\nimport { ShippingMethod } from '@/checkout/data/models';\n\nfunction mapConfigurableOptions(\n options: Record<string, string>\n): ConfigurableOption[] | undefined {\n const result: ConfigurableOption[] = [];\n\n for (const key in options) {\n if (options[key] === null) continue;\n\n result.push({\n optionLabel: key,\n valueLabel: options[key],\n });\n }\n\n return result;\n}\n\nfunction mapCartItems(items: Item[]): ShoppingCartItem[] {\n return items.map((item: Item): ShoppingCartItem => {\n const { uid, name, sku, price, quantity } = item;\n\n let cartItem: ShoppingCartItem = {\n /* We don't know if Checkout drop-in can apply Manufacturer’s Suggested Retail Price */\n canApplyMsrp: true,\n formattedPrice: '',\n id: uid,\n prices: {\n price: {\n value: price.value ?? 0,\n currency: price.currency ?? '',\n },\n },\n product: {\n /* productId not exposed by core GraphQL as number (uid is string) */\n productId: 0,\n name,\n sku,\n productType: item.kind,\n canonicalUrl: item.url || '',\n mainImageUrl: item?.image?.src || '',\n },\n quantity,\n };\n\n if (item.kind === ItemKind.Configurable) {\n cartItem.configurableOptions =\n // @ts-ignore\n mapConfigurableOptions(item.configurableOptions);\n }\n\n return cartItem;\n }, []);\n}\n\n/**\n * This function builds the ShoppingCart context.\n * It maps the shopping cart data collected during the checkout process to the\n * specific schema format defined by the Adobe Commerce Events SDK.\n *\n * @param {Cart} cart The cart data collected during the checkout process.\n * @returns {ShoppingCart} The ShoppingCart data formated.\n */\nfunction buildShoppingCartContext(cart: Cart): ShoppingCart {\n const { id, items, prices, totalQty } = cart;\n const hasItems = !!items?.length;\n\n let shoppingCartContext: ShoppingCart = {\n id,\n prices: {\n subtotalExcludingTax: {\n value: prices?.subtotal_excluding_tax?.value ?? 0,\n currency: prices?.subtotal_excluding_tax?.currency ?? '',\n },\n subtotalIncludingTax: {\n value: prices?.subtotal_including_tax?.value ?? 0,\n currency: prices?.subtotal_including_tax?.currency ?? '',\n },\n },\n totalQuantity: totalQty,\n possibleOnepageCheckout: true,\n };\n\n if (hasItems) {\n shoppingCartContext.items = mapCartItems(items);\n }\n\n return shoppingCartContext;\n}\n\nfunction calculateTaxes(taxes: (CartTaxItem | null)[]): number {\n const totalTaxAmount = taxes.reduce(\n (total, tax) => total + tax!.amount.value!,\n 0\n );\n\n return totalTaxAmount;\n}\n\nfunction buildShippingMethod(method: ShippingMethod) {\n return {\n shippingMethod: `${method.carrier.code}_${method.code}`,\n shippingAmount: method.amount.value ?? 0,\n };\n}\n\n/**\n * This function builds the Order context.\n * It maps the order data collected during the checkout process to the specific\n * schema format defined by the Adobe Commerce Events SDK.\n *\n * @param {string} orderId The order ID generated when placed the order.\n * @param {Cart} cart The cart data collected during the checkout process.\n * @returns {Order} The Order data formated.\n */\nfunction buildOrderContext(orderId: string, cart: Cart): Order {\n const { coupons, email, prices, selectedPaymentMethod, shippingAddresses } =\n cart;\n const hasAddresses = !!shippingAddresses?.length;\n\n let orderContext: Order = {\n appliedCouponCode: coupons[0]?.code ?? '',\n email: email ?? '',\n grandTotal: prices?.grand_total?.value ?? 0,\n orderId,\n orderType: 'checkout',\n otherTax: 0,\n paymentMethodCode: selectedPaymentMethod?.code ?? '',\n paymentMethodName: selectedPaymentMethod?.title ?? '',\n payments: [\n /* By now the Checkout drop-in is only supporting one payment method */\n {\n paymentMethodCode: selectedPaymentMethod?.code ?? '',\n paymentMethodName: selectedPaymentMethod?.title ?? '',\n total: prices?.grand_total?.value ?? 0,\n },\n ],\n salesTax: calculateTaxes(prices?.applied_taxes ?? []),\n subtotalExcludingTax: prices?.subtotal_excluding_tax?.value ?? 0,\n subtotalIncludingTax: prices?.subtotal_including_tax?.value ?? 0,\n };\n\n if (hasAddresses) {\n const firstAddress = shippingAddresses[0];\n const selectedShippingMethod = firstAddress?.selectedShippingMethod;\n\n if (selectedShippingMethod) {\n orderContext.shipping = buildShippingMethod(selectedShippingMethod);\n }\n }\n\n return orderContext;\n}\n\n/**\n * This function sets both ShoppingCart and Order contexts to the ACDL before\n * firing the \"place-order\" event.\n * This code has been extracted from the ContextManager class (included into\n * the Adobe Commerce Events SDK package) and adapted in order to use directly\n * the ACDL own API methods.\n *\n * Code based on:\n * ContextManager.ts::setShoppingCart(context: ShoppingCart): void\n * ContextManager.ts::setOrder(context: Order): void\n *\n * @param {string} orderId The order ID generated when placed the order.\n * @returns {void}\n *\n * ContextManager class @see https://github.com/adobe/commerce-events/blob/main/packages/storefront-events-sdk/src/ContextManager.ts\n */\nfunction setContext(orderId: string): void {\n const { data } = cartSignal.value;\n\n const shoppingCartContext = buildShoppingCartContext(data!);\n const orderContext = buildOrderContext(orderId, data!);\n\n window.adobeDataLayer = window.adobeDataLayer || [];\n\n // First of all it deletes the previously added data layer context entries\n window.adobeDataLayer.push(\n { shoppingCartContext: null },\n { orderContext: null }\n );\n\n // and finally it adds the specific data layer context entries for that request\n window.adobeDataLayer.push({ shoppingCartContext }, { orderContext });\n}\n\n/**\n * This function publishes the \"place-order\" event pushing it to the ACDL (a\n * plain JavaScript Array that serves as a queue).\n * This code has been extracted from the PublishManager class (included into\n * the Adobe Commerce Events SDK package) and adapted in order to use directly\n * the ACDL own API methods.\n *\n * Code based on:\n * PublishManager.ts::placeOrder(context?: CustomContext): void\n *\n * @returns {void}\n *\n * PublishManager class @see https://github.com/adobe/commerce-events/blob/main/packages/storefront-events-sdk/src/PublishManager.ts\n */\nfunction publishPlaceOrderEvent(): void {\n window.adobeDataLayer = window.adobeDataLayer || [];\n\n /*global AdobeClientDataLayer */\n /*eslint no-undef: \"error\"*/\n window.adobeDataLayer.push((acdl: AdobeClientDataLayer) => {\n const state = acdl.getState() || {};\n\n acdl.push({\n event: 'place-order',\n eventInfo: {\n ...state,\n },\n });\n });\n}\n\n/**\n * \"completeCheckout\" is a Commerce event available when it's installed the\n * Data Connection extension. The data this event collects is sent to the Adobe\n * Experience Platform edge.\n *\n * This is a Storefront event that collects anonymized behavioral data from the\n * shoppers as they browse the site. The data this event collects can be used\n * to create promotions and campaigns targeted to a specific set of shoppers.\n * Storefront event data includes simple and configurable products only.\n *\n * \"completeCheckout\" is triggered when the shopper places an order.\n *\n * The code access directly the Adobe Client Data Layer (ACDL) package instead\n * of using the Adobe Commerce Events SDK package, because the ACDL reduces the\n * effort to instrument websites by providing a standardized method to expose\n * and access any kind of data for any script. It consists of a JavaScript\n * client-side event-driven data store that can be used on web pages:\n *\n * - to collect data about what the visitors experience on the web page\n * - to communicate this data to digital analytics and reporting servers\n *\n * @param {string} orderId The order ID generated when placed the order.\n * @returns {void}\n *\n * Data Connection Events documentation @see https://experienceleague.adobe.com/docs/commerce-merchant-services/data-connection/event-forwarding/events.html?lang=en#completecheckout\n * Adobe Commerce Events SDK GitHub repo @see https://github.com/adobe/commerce-events\n * Adobe Client Data Layer documentation @see https://github.com/adobe/adobe-client-data-layer/wiki\n * Adobe Client Data Layer GitHub repo @see https://github.com/adobe/adobe-client-data-layer\n */\nexport function completeCheckout(orderId: string): void {\n setContext(orderId);\n publishPlaceOrderEvent();\n}\n","import { PlaceOrderMutation } from '@/checkout/__generated__/types';\nimport {\n FetchError,\n MissingCart,\n UnexpectedError,\n} from '@/checkout/api/errors';\nimport { fetchGraphQl } from '@/checkout/api/fetch-graphql';\nimport { placeOrderMutation } from '@/checkout/api/placeOrder/graphql';\nimport { handleNetworkError } from '@/checkout/lib/network-error';\nimport { completeCheckout } from '@/checkout/utils/storefrontEvents';\nimport { events } from '@adobe/event-bus';\nimport { FetchQueryError } from '@adobe/fetch-graphql';\n\nfunction handleErrors(errors: FetchQueryError) {\n const isFetchError = errors.every((error) => error.extensions?.category);\n\n if (isFetchError) throw new FetchError(errors);\n\n throw new UnexpectedError(errors[0].message);\n}\n\nexport const placeOrder = async (cartId: string) => {\n if (!cartId) throw new MissingCart();\n\n const { data, errors } = await fetchGraphQl<PlaceOrderMutation>(\n placeOrderMutation,\n {\n variables: { cartId },\n }\n ).catch(handleNetworkError)\n\n if (errors) handleErrors(errors);\n\n const order = data.placeOrder!.orderV2;\n\n completeCheckout(order!.number);\n\n // Emit the order to the checkout/order event\n events.emit('checkout/order', order); \n // Reset the cart after the order is placed\n events.emit('cart/reset', undefined); \n};\n"],"names":["isValidCustomAttribute","attribute","transformCustomAttributesV2","data","filter","map","code","value","transformCustomerAddress","street","Boolean","regionId","region","region_id","hasRegionId","id","String","firstName","firstname","lastName","lastname","company","undefined","city","postCode","postcode","vatId","vat_id","telephone","region_code","name","country","country_code","label","customAttributes","custom_attributesV2","transformCustomerAddresses","transformDefaultAddress","type","address","find","transformCustomer","addresses","email","defaultBillingAddress","defaultShippingAddress","getCart","cartId","dispatchApiCall","query","getCartQuery","getCustomerCartQuery","options","method","cache","variables","path","signalType","transformer","transformCart","getCustomerQuery","getCustomer","CART_STOCK_STATUS_FRAGMENT","getCartStockStatusQuery","getCustomerCartStockStatusQuery","isProductInStock","product","stock_status","ProductStockStatus","InStock","simpleStockChecker","item","configStockChecker","configurable_options","variants","selectedOptions","option","configurable_product_option_value_uid","selectedVariant","variant","attributes","every","includes","uid","variantProduct","bundleStockChecker","bundle_options","items","bundle","length","getStockChecker","isOutOfStock","__typename","getStockStatus","errors","fetchGraphQl","catch","handleNetworkError","FetchError","cartItems","cart","OutOfStock","placeOrderMutation","mapConfigurableOptions","result","key","push","optionLabel","valueLabel","mapCartItems","sku","price","quantity","cartItem","canApplyMsrp","formattedPrice","prices","currency","productId","productType","kind","canonicalUrl","url","mainImageUrl","image","src","ItemKind","Configurable","configurableOptions","buildShoppingCartContext","totalQty","hasItems","shoppingCartContext","subtotalExcludingTax","subtotal_excluding_tax","subtotalIncludingTax","subtotal_including_tax","totalQuantity","possibleOnepageCheckout","calculateTaxes","taxes","totalTaxAmount","reduce","total","tax","amount","buildShippingMethod","shippingMethod","carrier","shippingAmount","buildOrderContext","orderId","coupons","selectedPaymentMethod","shippingAddresses","hasAddresses","orderContext","appliedCouponCode","grandTotal","grand_total","orderType","otherTax","paymentMethodCode","paymentMethodName","title","payments","salesTax","applied_taxes","firstAddress","selectedShippingMethod","shipping","setContext","cartSignal","adobeDataLayer","window","publishPlaceOrderEvent","acdl","state","getState","event","eventInfo","completeCheckout","handleErrors","isFetchError","error","extensions","category","UnexpectedError","message","placeOrder","MissingCart","order","orderV2","number","emit"],"mappings":"qRAaA,MAAMA,EAA0BC,GACzBA,EACE,SAAUA,GAAa,UAAWA,EADlB,GAIZC,EACXC,GAEOA,EAAKC,OAAOJ,CAAsB,EAAEK,IAAmBJ,GAAA,CACtD,KAAA,CAAEK,KAAAA,EAAMC,MAAAA,CAAUN,EAAAA,EACjB,MAAA,CAAEK,KAAAA,EAAMC,MAAAA,CAAAA,CAAM,CACtB,EAGGC,EACJL,GACyB,WACzB,MAAMM,EAASN,EAAKM,OAAQL,OAAOM,OAAO,EACpCC,GAAWR,EAAAA,EAAKS,SAALT,YAAAA,EAAaU,UACxBC,EAAcH,GAAYA,EAAW,EAEpC,MAAA,CACLI,GAAIC,OAAOb,EAAKY,EAAE,EAClBE,UAAWd,EAAKe,UAChBC,SAAUhB,EAAKiB,SACfC,QAASlB,EAAKkB,SAAWC,OACzBC,KAAMpB,EAAKoB,KACXd,OAAAA,EACAe,SAAUrB,EAAKsB,UAAYH,OAC3BI,MAAOvB,EAAKwB,QAAUL,OACtBM,UAAWzB,EAAKyB,WAAaN,OAC7BV,OAAQ,CACNG,GAAID,EAAaH,EAAWW,OAC5BhB,MAAMH,EAAAA,EAAKS,SAALT,YAAAA,EAAa0B,YACnBC,MAAM3B,EAAAA,EAAKS,SAALT,YAAAA,EAAaS,MACrB,EACAmB,QAAS,CACPxB,MAAOJ,EAAK6B,aACZC,MAAO9B,EAAK6B,YACd,EACAE,iBAAkBhC,EAA4BC,EAAKgC,mBAAmB,CAAA,CAE1E,EAEMC,EACJjC,GAEKA,EAEqBA,EAAKC,OAAOM,OAAO,EACpBL,IAAIG,CAAwB,EAHnC,GAMd6B,EAA0BA,CAC9BC,EACAnC,IACqC,CACrC,GAAI,CAACA,EAAM,OAELoC,MAAAA,EAAUpC,EAAKqC,KAAMD,IAAYA,GAAAA,YAAAA,EAAUD,MAAU,EAAI,EAE/D,GAAKC,EAEL,OAAO/B,EAAyB+B,CAAO,CACzC,EAEME,EAAqBtC,GAA8C,CACvE,GAAI,CAACA,EAAM,OAEX,MAAMuC,EAAYvC,EAAKuC,UAEhB,MAAA,CACLzB,UAAWd,EAAKe,WAAa,GAC7BC,SAAUhB,EAAKiB,UAAY,GAC3BuB,MAAOxC,EAAKwC,OAAS,GACrBD,UAAWN,EAA2BM,CAAS,EAC/CE,sBAAuBP,EACrB,kBACAK,CACF,EACAG,uBAAwBR,EACtB,mBACAK,CACF,CAAA,CAEJ,EC3FaI,GAAU,MAAOC,GACrB,MAAMC,EAAgB,CAC3BV,KAAM,QACNW,MAAOF,EAASG,EAAeC,EAC/BC,QAAS,CACPC,OAAQ,OACRC,MAAO,WACP,GAAIP,EAAS,CAAEQ,UAAW,CAAER,OAAAA,CAAO,CAAA,EAAM,CAAC,CAC5C,EACAS,KAAM,OACNC,WAAY,OACZC,YAAaC,CAAAA,CACd,ECnBUC,EAAiC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECKjCC,GAAc,SAClB,MAAMb,EAAgB,CAC3BV,KAAM,QACNW,MAAOW,EACPR,QAAS,CAAEC,OAAQ,OAAQC,MAAO,UAAW,EAC7CE,KAAM,WACNC,WAAY,WACZC,YAAajB,CAAAA,CACd,ECbUqB,EAA2C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAwD3CC,EAAwC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMjDD,CAA0B;AAAA,EAGjBE,EAAgD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMzDF,CAA0B;AAAA,EClCxBG,EAAoBC,GACjBA,EAAQC,eAAiBC,EAAmBC,QAG/CC,EAA6CC,GAC1CN,EAAiBM,EAAKL,OAAO,EAGhCM,EAA6CD,GAAA,CAC3C,KAAA,CAAEE,qBAAsBrB,CAAYmB,EAAAA,EACpC,CAAEG,SAAAA,CAAAA,EAAaH,EAAKL,QAEtB,GAAA,CAACQ,GAAY,CAACtB,EAAgB,MAAA,GAElC,MAAMuB,EAAkBvB,EAAQ/C,IAC7BuE,GAAWA,GAAAA,YAAAA,EAAQC,qCACtB,EAEMC,EAAkBJ,EAASlC,KAAkBuC,GAC7C,CAACA,GAAW,CAACA,EAAQC,WAAmB,GAErCD,EAAQC,WAAWC,MACvBhF,GAAcA,GAAa0E,EAAgBO,SAASjF,EAAUkF,GAAG,CACpE,CACD,EAGD,GAAI,CAACL,EAAwB,MAAA,GAEvB,KAAA,CAAEZ,QAASkB,CAAmBN,EAAAA,EAEpC,OAAKM,EAEEnB,EAAiBmB,CAAc,EAFV,EAG9B,EAEMC,EAA6Cd,GAAA,CAC3C,KAAA,CAAEL,QAAAA,CAAYK,EAAAA,EAEhB,GAAA,CAACN,EAAiBC,CAAO,EAAU,MAAA,GAGjC,KAAA,CAAEoB,eAAgBlC,CAAYmB,EAAAA,EAC9B,CAAEgB,MAAOC,CAAWtB,EAAAA,EAEnBsB,OAAAA,GAAAA,YAAAA,EAAQC,WAAWrC,GAAAA,YAAAA,EAASqC,OACrC,EAEMC,EAAmBpD,GAAgC,CACvD,OAAQA,EAAI,CACV,IAAK,uBACIkC,OAAAA,EACT,IAAK,iBACIa,OAAAA,EACT,QACSf,OAAAA,CACX,CACF,EAEMqB,EAAgBpB,GACJmB,EAAgBnB,EAAKqB,UAAU,EAChCrB,CAAI,IAAM,GAGdsB,GAAiB,MAC5B9C,GACgC,OAC1B,KAAA,CAAE5C,KAAAA,EAAM2F,OAAAA,CAAW,EAAA,MAAMC,EAC7BhD,EAASgB,EAA0BC,EACnC,CACEX,OAAQ,MACRC,MAAO,WACP,GAAIP,EAAS,CAAEQ,UAAW,CAAER,OAAAA,CAAO,CAAA,EAAM,CAAC,CAAA,CAE9C,EAAEiD,MAAMC,CAAkB,EAEtBH,GAAAA,EAAc,MAAA,IAAII,EAAWJ,CAAM,EAEjCK,MAAAA,GAAYhG,EAAAA,GAAAA,YAAAA,EAAMiG,OAANjG,YAAAA,EAAYoF,MAE1B,MAAA,CAACY,GAAa,CAACA,EAAUV,OAAerB,EAAmBC,QAE5C8B,EAAU/F,OAAiBmE,GACvCA,EACEoB,EAAapB,CAAiB,EADnB,EAEnB,EAEiBkB,OAAS,EACvBrB,EAAmBiC,WACnBjC,EAAmBC,OACzB,EC/HaiC,EAAmC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECYhD,SAASC,EACPnD,EACkC,CAClC,MAAMoD,EAA+B,CAAA,EAErC,UAAWC,KAAOrD,EACZA,EAAQqD,CAAG,IAAM,MAErBD,EAAOE,KAAK,CACVC,YAAaF,EACbG,WAAYxD,EAAQqD,CAAG,CAAA,CACxB,EAGID,OAAAA,CACT,CAEA,SAASK,EAAatB,EAAmC,CAChDA,OAAAA,EAAMlF,IAAKkE,GAAiC,OAC3C,KAAA,CAAEY,IAAAA,EAAKrD,KAAAA,EAAMgF,IAAAA,EAAKC,MAAAA,EAAOC,SAAAA,CAAazC,EAAAA,EAE5C,IAAI0C,EAA6B,CAE/BC,aAAc,GACdC,eAAgB,GAChBpG,GAAIoE,EACJiC,OAAQ,CACNL,MAAO,CACLxG,MAAOwG,EAAMxG,OAAS,EACtB8G,SAAUN,EAAMM,UAAY,EAC9B,CACF,EACAnD,QAAS,CAEPoD,UAAW,EACXxF,KAAAA,EACAgF,IAAAA,EACAS,YAAahD,EAAKiD,KAClBC,aAAclD,EAAKmD,KAAO,GAC1BC,eAAcpD,EAAAA,GAAAA,YAAAA,EAAMqD,QAANrD,YAAAA,EAAasD,MAAO,EACpC,EACAb,SAAAA,CAAAA,EAGEzC,OAAAA,EAAKiD,OAASM,EAASC,eAChBC,EAAAA,oBAEPzB,EAAuBhC,EAAKyD,mBAAmB,GAG5Cf,CACT,EAAG,CAAE,CAAA,CACP,CAUA,SAASgB,EAAyB7B,EAA0B,aACpD,KAAA,CAAErF,GAAAA,EAAIwE,MAAAA,EAAO6B,OAAAA,EAAQc,SAAAA,CAAa9B,EAAAA,EAClC+B,EAAW,CAAC,EAAC5C,GAAAA,MAAAA,EAAOE,QAE1B,IAAI2C,EAAoC,CACtCrH,GAAAA,EACAqG,OAAQ,CACNiB,qBAAsB,CACpB9H,QAAO6G,EAAAA,GAAAA,YAAAA,EAAQkB,yBAARlB,YAAAA,EAAgC7G,QAAS,EAChD8G,WAAUD,EAAAA,GAAAA,YAAAA,EAAQkB,yBAARlB,YAAAA,EAAgCC,WAAY,EACxD,EACAkB,qBAAsB,CACpBhI,QAAO6G,EAAAA,GAAAA,YAAAA,EAAQoB,yBAARpB,YAAAA,EAAgC7G,QAAS,EAChD8G,WAAUD,EAAAA,GAAAA,YAAAA,EAAQoB,yBAARpB,YAAAA,EAAgCC,WAAY,EACxD,CACF,EACAoB,cAAeP,EACfQ,wBAAyB,EAAA,EAG3B,OAAIP,IACkB5C,EAAAA,MAAQsB,EAAatB,CAAK,GAGzC6C,CACT,CAEA,SAASO,EAAeC,EAAuC,CAMtDC,OALgBD,EAAME,OAC3B,CAACC,EAAOC,IAAQD,EAAQC,EAAKC,OAAO1I,MACpC,CACF,CAGF,CAEA,SAAS2I,EAAoB7F,EAAwB,CAC5C,MAAA,CACL8F,eAAgB,GAAG9F,EAAO+F,QAAQ9I,IAAI,IAAI+C,EAAO/C,IAAI,GACrD+I,eAAgBhG,EAAO4F,OAAO1I,OAAS,CAAA,CAE3C,CAWA,SAAS+I,EAAkBC,EAAiBnD,EAAmB,eACvD,KAAA,CAAEoD,QAAAA,EAAS7G,MAAAA,EAAOyE,OAAAA,EAAQqC,sBAAAA,EAAuBC,kBAAAA,CACrDtD,EAAAA,EACIuD,EAAe,CAAC,EAACD,GAAAA,MAAAA,EAAmBjE,QAE1C,IAAImE,EAAsB,CACxBC,oBAAmBL,EAAAA,EAAQ,CAAC,IAATA,YAAAA,EAAYlJ,OAAQ,GACvCqC,MAAOA,GAAS,GAChBmH,aAAY1C,EAAAA,GAAAA,YAAAA,EAAQ2C,cAAR3C,YAAAA,EAAqB7G,QAAS,EAC1CgJ,QAAAA,EACAS,UAAW,WACXC,SAAU,EACVC,mBAAmBT,GAAAA,YAAAA,EAAuBnJ,OAAQ,GAClD6J,mBAAmBV,GAAAA,YAAAA,EAAuBW,QAAS,GACnDC,SAAU,CAER,CACEH,mBAAmBT,GAAAA,YAAAA,EAAuBnJ,OAAQ,GAClD6J,mBAAmBV,GAAAA,YAAAA,EAAuBW,QAAS,GACnDrB,QAAO3B,EAAAA,GAAAA,YAAAA,EAAQ2C,cAAR3C,YAAAA,EAAqB7G,QAAS,CACvC,CAAC,EAEH+J,SAAU3B,GAAevB,GAAAA,YAAAA,EAAQmD,gBAAiB,CAAA,CAAE,EACpDlC,uBAAsBjB,EAAAA,GAAAA,YAAAA,EAAQkB,yBAARlB,YAAAA,EAAgC7G,QAAS,EAC/DgI,uBAAsBnB,EAAAA,GAAAA,YAAAA,EAAQoB,yBAARpB,YAAAA,EAAgC7G,QAAS,CAAA,EAGjE,GAAIoJ,EAAc,CACVa,MAAAA,EAAed,EAAkB,CAAC,EAClCe,EAAyBD,GAAAA,YAAAA,EAAcC,uBAEzCA,IACWC,EAAAA,SAAWxB,EAAoBuB,CAAsB,EAEtE,CAEOb,OAAAA,CACT,CAkBA,SAASe,EAAWpB,EAAuB,CACnC,KAAA,CAAEpJ,KAAAA,CAAAA,EAASyK,EAAWrK,MAEtB6H,EAAsBH,EAAyB9H,CAAK,EACpDyJ,EAAeN,EAAkBC,EAASpJ,CAAK,EAE9C0K,OAAAA,eAAiBC,OAAOD,gBAAkB,CAAA,EAGjDC,OAAOD,eAAenE,KACpB,CAAE0B,oBAAqB,IAAA,EACvB,CAAEwB,aAAc,IAAA,CAClB,EAGAkB,OAAOD,eAAenE,KAAK,CAAE0B,oBAAAA,CAAAA,EAAuB,CAAEwB,aAAAA,CAAAA,CAAc,CACtE,CAgBA,SAASmB,GAA+B,CAC/BF,OAAAA,eAAiBC,OAAOD,gBAAkB,CAAA,EAI1CA,OAAAA,eAAenE,KAAMsE,GAA+B,CACzD,MAAMC,EAAQD,EAAKE,SAAS,GAAK,CAAA,EAEjCF,EAAKtE,KAAK,CACRyE,MAAO,cACPC,UAAW,CACT,GAAGH,CACL,CAAA,CACD,CAAA,CACF,CACH,CA+BO,SAASI,GAAiB9B,EAAuB,CACtDoB,EAAWpB,CAAO,EACKwB,GACzB,CCzPA,SAASO,GAAaxF,EAAyB,CAGzCyF,MAFiBzF,EAAOb,MAAiBuG,GAAAA,OAAAA,OAAAA,EAAAA,EAAMC,aAAND,YAAAA,EAAkBE,SAAQ,EAE/C,IAAIxF,EAAWJ,CAAM,EAEvC,IAAI6F,EAAgB7F,EAAO,CAAC,EAAE8F,OAAO,CAC7C,CAEaC,MAAAA,GAAa,MAAO9I,GAAmB,CAClD,GAAI,CAACA,EAAQ,MAAM,IAAI+I,EAEjB,KAAA,CAAE3L,KAAAA,EAAM2F,OAAAA,CAAAA,EAAW,MAAMC,EAC7BO,EACA,CACE/C,UAAW,CAAER,OAAAA,CAAO,CAAA,CAExB,EAAEiD,MAAMC,CAAkB,EAEtBH,GAAQwF,GAAaxF,CAAM,EAEzBiG,MAAAA,EAAQ5L,EAAK0L,WAAYG,QAE/BX,GAAiBU,EAAOE,MAAM,EAGvBC,EAAAA,KAAK,iBAAkBH,CAAK,EAE5BG,EAAAA,KAAK,aAAc5K,MAAS,CACrC"}
@@ -0,0 +1,16 @@
1
+ import{M as n,c as e,e as d}from"./transform-shipping-methods.js";import{C as l,a as o,t as p}from"./getCart.graphql.js";import"./getStoreConfig.js";const A=`
2
+ mutation setBillingAddress($cartId: String!, $input: BillingAddressInput!) {
3
+ setBillingAddressOnCart(
4
+ input: { cart_id: $cartId, billing_address: $input }
5
+ ) {
6
+ cart {
7
+ id
8
+ ...CartData
9
+ ...CartSummaryItems
10
+ }
11
+ }
12
+ }
13
+ ${l}
14
+ ${o}
15
+ `,C=async({signal:i,cartId:s,input:t})=>{const{address:a,same_as_shipping:r}=t;if(!s)throw new n;if(!r&&!a)throw new e;return await d({type:"mutation",query:A,options:{signal:i,variables:{cartId:s,input:t}},path:"setBillingAddressOnCart.cart",signalType:"cart",transformer:p})};export{C as s};
16
+ //# sourceMappingURL=setBillingAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setBillingAddress.js","sources":["../../src/api/setBillingAddress/graphql/setBillingAddress.graphql.ts","../../src/api/setBillingAddress/setBillingAddress.ts"],"sourcesContent":["import {\n CART_DATA_FRAGMENT,\n CART_SUMMARY_FRAGMENT,\n} from '@/checkout/api/getCart/graphql/getCart.graphql';\n\nexport const setBillingAddressMutation = /* GraphQL */ `\n mutation setBillingAddress($cartId: String!, $input: BillingAddressInput!) {\n setBillingAddressOnCart(\n input: { cart_id: $cartId, billing_address: $input }\n ) {\n cart {\n id\n ...CartData\n ...CartSummaryItems\n }\n }\n }\n ${CART_DATA_FRAGMENT}\n ${CART_SUMMARY_FRAGMENT}\n`;\n","import { MissingBillingAddress, MissingCart } from '@/checkout/api/errors';\nimport { setBillingAddressMutation } from '@/checkout/api/setBillingAddress/graphql/setBillingAddress.graphql';\nimport { AddressInput } from '@/checkout/api/setShippingAddress';\nimport { dispatchApiCall } from '@/checkout/api/utils/dispatchApiCall';\nimport { transformCart } from '@/checkout/data/transforms/index';\n\nexport interface BillingAddressInput {\n address?: AddressInput;\n customer_address_id?: number;\n same_as_shipping?: boolean;\n use_for_shipping?: boolean;\n}\n\nexport const setBillingAddress = async ({\n signal,\n cartId,\n input,\n}: {\n signal?: AbortSignal;\n cartId: string;\n input: BillingAddressInput;\n}) => {\n const { address, same_as_shipping } = input;\n\n if (!cartId) throw new MissingCart();\n if (!same_as_shipping && !address) throw new MissingBillingAddress();\n\n return await dispatchApiCall({\n type: 'mutation',\n query: setBillingAddressMutation,\n options: { signal, variables: { cartId, input } },\n path: 'setBillingAddressOnCart.cart',\n signalType: 'cart',\n transformer: transformCart,\n });\n};\n"],"names":["setBillingAddressMutation","CART_DATA_FRAGMENT","CART_SUMMARY_FRAGMENT","setBillingAddress","signal","cartId","input","address","same_as_shipping","MissingCart","MissingBillingAddress","dispatchApiCall","type","query","options","variables","path","signalType","transformer","transformCart"],"mappings":"qJAKaA,MAAAA,EAA0C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYnDC,CAAkB;AAAA,IAClBC,CAAqB;AAAA,ECLZC,EAAoB,MAAO,CACtCC,OAAAA,EACAC,OAAAA,EACAC,MAAAA,CAKF,IAAM,CACE,KAAA,CAAEC,QAAAA,EAASC,iBAAAA,CAAqBF,EAAAA,EAEtC,GAAI,CAACD,EAAQ,MAAM,IAAII,EACnB,GAAA,CAACD,GAAoB,CAACD,EAAS,MAAM,IAAIG,EAE7C,OAAO,MAAMC,EAAgB,CAC3BC,KAAM,WACNC,MAAOb,EACPc,QAAS,CAAEV,OAAAA,EAAQW,UAAW,CAAEV,OAAAA,EAAQC,MAAAA,CAAM,CAAE,EAChDU,KAAM,+BACNC,WAAY,OACZC,YAAaC,CAAAA,CACd,CACH"}
@@ -0,0 +1,20 @@
1
+ import{a as r,M as s,e}from"./transform-shipping-methods.js";import{f as l,o as m,p as n}from"./getStoreConfig.js";import"@dropins/tools/event-bus.js";import{C as o,a as c,t as E}from"./getCart.graphql.js";const u=a=>!!(a!=null&&a.is_email_available),p=`
2
+ query isEmailAvailable($email: String!) {
3
+ isEmailAvailable(email: $email) {
4
+ is_email_available
5
+ }
6
+ }
7
+ `,v=async a=>{if(!a)throw new r;const{data:i,errors:t}=await l(p,{method:"GET",cache:"no-cache",variables:{email:a}}).catch(m);return t&&n(t),u(i.isEmailAvailable)},A=`
8
+ mutation setGuestEmail($cartId: String!, $email: String!) {
9
+ setGuestEmailOnCart(input: { cart_id: $cartId, email: $email }) {
10
+ cart {
11
+ id
12
+ ...CartData
13
+ ...CartSummaryItems
14
+ }
15
+ }
16
+ }
17
+ ${o}
18
+ ${c}
19
+ `,y=async({cartId:a,email:i})=>{if(!a)throw new s;return await e({type:"mutation",query:A,options:{variables:{cartId:a,email:i}},path:"setGuestEmailOnCart.cart",signalType:"cart",transformer:E})};export{v as i,y as s};
20
+ //# sourceMappingURL=setGuestEmailOnCart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setGuestEmailOnCart.js","sources":["../../src/data/transforms/transform-email-availability.ts","../../src/api/isEmailAvailable/graphql/isEmailAvailable.graphql.ts","../../src/api/isEmailAvailable/isEmailAvailable.ts","../../src/api/setGuestEmailOnCart/graphql/setGuestEmailOnCart.graphql.ts","../../src/api/setGuestEmailOnCart/setGuestEmailOnCart.ts"],"sourcesContent":["import { IsEmailAvailableQuery } from '@/checkout/__generated__/types';\nimport { EmailAvailability } from '@/checkout/data/models';\n\nconst transformEmailAvailability = (\n data: IsEmailAvailableQuery['isEmailAvailable']\n): EmailAvailability => {\n return Boolean(data?.is_email_available);\n};\n\nexport { transformEmailAvailability };\n","export const isEmailAvailableQuery = /* GraphQL */`\n query isEmailAvailable($email: String!) {\n isEmailAvailable(email: $email) {\n is_email_available\n }\n }\n`;\n","import { IsEmailAvailableQuery } from '@/checkout/__generated__/types';\nimport { fetchGraphQl } from '@/checkout/api';\nimport { MissingEmail } from '@/checkout/api/errors';\nimport { isEmailAvailableQuery } from '@/checkout/api/isEmailAvailable/graphql/isEmailAvailable.graphql';\nimport { EmailAvailability } from '@/checkout/data/models/email-availability';\nimport { transformEmailAvailability } from '@/checkout/data/transforms/transform-email-availability';\nimport { handleFetchErrors } from '@/checkout/lib/fetch-error';\nimport { handleNetworkError } from '@/checkout/lib/network-error';\n\nexport const isEmailAvailable = async (\n email: string\n): Promise<EmailAvailability> => {\n if (!email) throw new MissingEmail();\n\n const { data, errors } = await fetchGraphQl<IsEmailAvailableQuery>(\n isEmailAvailableQuery,\n {\n method: 'GET',\n cache: 'no-cache',\n variables: { email },\n }\n ).catch(handleNetworkError);\n\n if (errors) handleFetchErrors(errors);\n\n return transformEmailAvailability(data.isEmailAvailable);\n};\n","import {\n CART_DATA_FRAGMENT,\n CART_SUMMARY_FRAGMENT,\n} from '@/checkout/api/getCart/graphql/getCart.graphql';\n\nexport const setGuestEmailMutation = /* GraphQL */ `\n mutation setGuestEmail($cartId: String!, $email: String!) {\n setGuestEmailOnCart(input: { cart_id: $cartId, email: $email }) {\n cart {\n id\n ...CartData\n ...CartSummaryItems\n }\n }\n }\n ${CART_DATA_FRAGMENT}\n ${CART_SUMMARY_FRAGMENT}\n`;\n","import { MissingCart } from '@/checkout/api/errors';\nimport { setGuestEmailMutation } from '@/checkout/api/setGuestEmailOnCart/graphql/setGuestEmailOnCart.graphql';\nimport { dispatchApiCall } from '@/checkout/api/utils/dispatchApiCall';\nimport { transformCart } from '@/checkout/data/transforms/index';\n\nexport type SetGuestEmailOnCartInput = {\n cartId: string;\n email: string;\n};\n\nexport const setGuestEmailOnCart = async ({\n cartId,\n email,\n}: SetGuestEmailOnCartInput) => {\n if (!cartId) throw new MissingCart();\n\n return await dispatchApiCall({\n type: 'mutation',\n query: setGuestEmailMutation,\n options: { variables: { cartId, email } },\n path: 'setGuestEmailOnCart.cart',\n signalType: 'cart',\n transformer: transformCart,\n });\n};\n"],"names":["transformEmailAvailability","data","Boolean","is_email_available","isEmailAvailableQuery","isEmailAvailable","email","MissingEmail","errors","fetchGraphQl","method","cache","variables","catch","handleNetworkError","handleFetchErrors","setGuestEmailMutation","CART_DATA_FRAGMENT","CART_SUMMARY_FRAGMENT","setGuestEmailOnCart","cartId","MissingCart","dispatchApiCall","type","query","options","path","signalType","transformer","transformCart"],"mappings":"8MAGA,MAAMA,EACJC,GAEOC,GAAQD,GAAAA,MAAAA,EAAME,oBCNVC,EAAqC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECSrCC,EAAmB,MAC9BC,GAC+B,CAC/B,GAAI,CAACA,EAAO,MAAM,IAAIC,EAEhB,KAAA,CAAEN,KAAAA,EAAMO,OAAAA,CAAAA,EAAW,MAAMC,EAC7BL,EACA,CACEM,OAAQ,MACRC,MAAO,WACPC,UAAW,CAAEN,MAAAA,CAAM,CAAA,CAEvB,EAAEO,MAAMC,CAAkB,EAEtBN,OAAAA,GAAQO,EAAkBP,CAAM,EAE7BR,EAA2BC,EAAKI,gBAAgB,CACzD,ECrBaW,EAAsC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAU/CC,CAAkB;AAAA,IAClBC,CAAqB;AAAA,ECNZC,EAAsB,MAAO,CACxCC,OAAAA,EACAd,MAAAA,CACwB,IAAM,CAC9B,GAAI,CAACc,EAAQ,MAAM,IAAIC,EAEvB,OAAO,MAAMC,EAAgB,CAC3BC,KAAM,WACNC,MAAOR,EACPS,QAAS,CAAEb,UAAW,CAAEQ,OAAAA,EAAQd,MAAAA,CAAM,CAAE,EACxCoB,KAAM,2BACNC,WAAY,OACZC,YAAaC,CAAAA,CACd,CACH"}
@@ -0,0 +1,16 @@
1
+ import{M as e,b as r,e as n}from"./transform-shipping-methods.js";import{C as s,a as o,t as i}from"./getCart.graphql.js";import"./getStoreConfig.js";const m=`
2
+ mutation setPaymentMethod($cartId: String!, $paymentMethod: String!) {
3
+ setPaymentMethodOnCart(
4
+ input: { cart_id: $cartId, payment_method: { code: $paymentMethod } }
5
+ ) {
6
+ cart {
7
+ id
8
+ ...CartData
9
+ ...CartSummaryItems
10
+ }
11
+ }
12
+ }
13
+ ${s}
14
+ ${o}
15
+ `,y=async({cartId:t,paymentMethod:a})=>{if(!t)throw new e;if(!a)throw new r;return await n({type:"mutation",query:m,options:{variables:{cartId:t,paymentMethod:a}},path:"setPaymentMethodOnCart.cart",signalType:"cart",transformer:i})};export{y as s};
16
+ //# sourceMappingURL=setPaymentMethod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setPaymentMethod.js","sources":["../../src/api/setPaymentMethod/graphql/setPaymentMethod.graphql.ts","../../src/api/setPaymentMethod/setPaymentMethod.ts"],"sourcesContent":["import {\n CART_DATA_FRAGMENT,\n CART_SUMMARY_FRAGMENT,\n} from '@/checkout/api/getCart/graphql/getCart.graphql';\n\nexport const setPaymentMethodMutation = /* GraphQL */ `\n mutation setPaymentMethod($cartId: String!, $paymentMethod: String!) {\n setPaymentMethodOnCart(\n input: { cart_id: $cartId, payment_method: { code: $paymentMethod } }\n ) {\n cart {\n id\n ...CartData\n ...CartSummaryItems\n }\n }\n }\n ${CART_DATA_FRAGMENT}\n ${CART_SUMMARY_FRAGMENT}\n`;\n","import { MissingCart, MissingPaymentMethod } from '@/checkout/api/errors';\nimport { setPaymentMethodMutation } from '@/checkout/api/setPaymentMethod/graphql/setPaymentMethod.graphql';\nimport { dispatchApiCall } from '@/checkout/api/utils/dispatchApiCall';\nimport { transformCart } from '@/checkout/data/transforms/index';\n\nexport const setPaymentMethod = async ({\n cartId,\n paymentMethod,\n}: {\n cartId: string;\n paymentMethod: string;\n}) => {\n if (!cartId) throw new MissingCart();\n if (!paymentMethod) throw new MissingPaymentMethod();\n\n return await dispatchApiCall({\n type: 'mutation',\n query: setPaymentMethodMutation,\n options: { variables: { cartId, paymentMethod } },\n path: 'setPaymentMethodOnCart.cart',\n signalType: 'cart',\n transformer: transformCart,\n });\n};\n"],"names":["setPaymentMethodMutation","CART_DATA_FRAGMENT","CART_SUMMARY_FRAGMENT","setPaymentMethod","cartId","paymentMethod","MissingCart","MissingPaymentMethod","dispatchApiCall","type","query","options","variables","path","signalType","transformer","transformCart"],"mappings":"qJAKaA,MAAAA,EAAyC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYlDC,CAAkB;AAAA,IAClBC,CAAqB;AAAA,ECbZC,EAAmB,MAAO,CACrCC,OAAAA,EACAC,cAAAA,CAIF,IAAM,CACJ,GAAI,CAACD,EAAQ,MAAM,IAAIE,EACvB,GAAI,CAACD,EAAe,MAAM,IAAIE,EAE9B,OAAO,MAAMC,EAAgB,CAC3BC,KAAM,WACNC,MAAOV,EACPW,QAAS,CAAEC,UAAW,CAAER,OAAAA,EAAQC,cAAAA,CAAc,CAAE,EAChDQ,KAAM,8BACNC,WAAY,OACZC,YAAaC,CAAAA,CACd,CACH"}
@@ -0,0 +1,16 @@
1
+ import{a as s,b as p,M as u,c as _}from"./getMultilineValues.js";import"./getStoreConfig.js";import{e as A}from"./transform-shipping-methods.js";import{C as m,a as I,t as g}from"./getCart.graphql.js";import"@dropins/tools/event-bus.js";const C=/^\d+$/,T=t=>{if(C.test(t))return parseInt(t,10)},y=`
2
+ mutation setShippingAddress($cartId: String!, $address: CartAddressInput!) {
3
+ setShippingAddressesOnCart(
4
+ input: { cart_id: $cartId, shipping_addresses: [{ address: $address }] }
5
+ ) {
6
+ cart {
7
+ id
8
+ ...CartData
9
+ ...CartSummaryItems
10
+ }
11
+ }
12
+ }
13
+ ${m}
14
+ ${I}
15
+ `,S=["city","company","country_code","firstname","lastname","postcode","region","region_id","save_in_address_book","street","telephone","vat_id"],N=t=>{const a={city:t[s.City],company:t[s.Company],country_code:t[s.Country],firstname:t[s.FirstName],lastname:t[s.LastName],postcode:t[s.PostCode],save_in_address_book:!0,street:p(s.Street,t),telephone:t[s.Telephone],vat_id:t[s.Vat]},n=t[s.Region],d=T(n);d?a.region_id=d:a.region=n;const c=Object.keys(t).filter(e=>!e.startsWith("street")).filter(e=>!S.includes(e)).filter(e=>e!=="country_id").map(e=>{const[r,i]=e.split(u);if(!i)return{attribute_code:r,value:t[e]};const o=p(r,t).join(_);return{attribute_code:r,value:o}}).filter((e,r,i)=>r===i.findIndex(o=>o.attribute_code===e.attribute_code));return c.length>0&&(a.custom_attributes=c),a},v=async({signal:t,cartId:a,address:n})=>await A({type:"mutation",query:y,options:{signal:t,variables:{cartId:a,address:n}},path:"setShippingAddressesOnCart.cart",signalType:"cart",transformer:g});export{S,N as p,v as s};
16
+ //# sourceMappingURL=setShippingAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setShippingAddress.js","sources":["../../src/utils/parseRegionId/parseRegionId.ts","../../src/api/setShippingAddress/graphql/setShippingAddress.graphql.ts","../../src/api/setShippingAddress/setShippingAddress.ts"],"sourcesContent":["const NUMERIC_ID_REGEX = /^\\d+$/;\n\nexport const parseRegionId = (regionId: string) => {\n const isId = NUMERIC_ID_REGEX.test(regionId);\n if (!isId) return;\n return parseInt(regionId, 10);\n}\n","import {\n CART_DATA_FRAGMENT,\n CART_SUMMARY_FRAGMENT,\n} from '@/checkout/api/getCart/graphql/getCart.graphql';\n\nexport const setShippingAddressMutation = /* GraphQL */ `\n mutation setShippingAddress($cartId: String!, $address: CartAddressInput!) {\n setShippingAddressesOnCart(\n input: { cart_id: $cartId, shipping_addresses: [{ address: $address }] }\n ) {\n cart {\n id\n ...CartData\n ...CartSummaryItems\n }\n }\n }\n ${CART_DATA_FRAGMENT}\n ${CART_SUMMARY_FRAGMENT}\n`;\n","import {\n MULTILINE_CUSTOM_ATTR_SPLIT,\n MULTILINE_SUFFIX,\n} from '@/checkout/components/AddressForm/constants';\nimport { getMultilineValues, parseRegionId } from '@/checkout/utils';\nimport { setShippingAddressMutation } from './graphql/setShippingAddress.graphql';\nimport { dispatchApiCall } from '@/checkout/api/utils/dispatchApiCall';\nimport { transformCart } from '@/checkout/data/transforms';\nimport { AddressFormFieldCode } from '@/checkout/data/models';\n\nexport const STANDARD_ATTRIBUTES = [\n 'city',\n 'company',\n 'country_code',\n 'firstname',\n 'lastname',\n 'postcode',\n 'region',\n 'region_id',\n 'save_in_address_book',\n 'street',\n 'telephone',\n 'vat_id',\n];\n\nexport interface AddressInput {\n city: string;\n company?: string;\n country_code: string;\n custom_attributes?: {\n attribute_code: string;\n value?: string;\n selected_options?: { uid: string; value: string }[];\n }[];\n firstname: string;\n lastname: string;\n postcode?: string;\n region?: string;\n region_id?: number;\n save_in_address_book?: boolean;\n street: string[];\n telephone?: string;\n vat_id?: string;\n}\n\nexport interface setShippingAddressParams {\n cartId: string;\n address: AddressInput;\n signal?: AbortSignal;\n}\n\n/*\n Region and Region_id are mutually exclusive.\n If region_id is set, region is ignored.\n\n Region could be required for some countries, but not for others. It is required if the country_id is in\n the store configuration \"countries_with_required_region\"\n\n If region is optional and the store configuration \"display_state_if_optional\" is set to true, the region field\n will be displayed as a text input if there is no country.available_regions is empty. If it is set to false,\n the region field will be hidden.\n*/\n\nexport const prepareAddress = (formFields: Record<string, any>) => {\n const address: AddressInput = {\n city: formFields[AddressFormFieldCode.City],\n company: formFields[AddressFormFieldCode.Company],\n country_code: formFields[AddressFormFieldCode.Country],\n firstname: formFields[AddressFormFieldCode.FirstName],\n lastname: formFields[AddressFormFieldCode.LastName],\n postcode: formFields[AddressFormFieldCode.PostCode],\n save_in_address_book: true,\n street: getMultilineValues(AddressFormFieldCode.Street, formFields),\n telephone: formFields[AddressFormFieldCode.Telephone],\n vat_id: formFields[AddressFormFieldCode.Vat],\n };\n\n const region = formFields[AddressFormFieldCode.Region];\n const regionId = parseRegionId(region);\n\n if (!regionId) {\n address.region = region;\n } else {\n address.region_id = regionId;\n }\n\n const custom_attributes = Object.keys(formFields)\n .filter((key) => !key.startsWith('street'))\n .filter((key) => !STANDARD_ATTRIBUTES.includes(key))\n .filter((key) => key !== 'country_id')\n .map((key) => {\n const [code, multiline] = key.split(MULTILINE_SUFFIX);\n if (!multiline) return { attribute_code: code, value: formFields[key] };\n const value = getMultilineValues(code, formFields).join(\n MULTILINE_CUSTOM_ATTR_SPLIT\n );\n return { attribute_code: code, value };\n });\n\n // it is possible to have duplicated multiline custom attributes\n const without_duplicates = custom_attributes.filter(\n (item, index, self) =>\n index === self.findIndex((t) => t.attribute_code === item.attribute_code)\n );\n\n if (without_duplicates.length > 0) {\n address.custom_attributes = without_duplicates;\n }\n\n return address;\n};\n\nexport const setShippingAddress = async ({\n signal,\n cartId,\n address,\n}: setShippingAddressParams) => {\n return await dispatchApiCall({\n type: 'mutation',\n query: setShippingAddressMutation,\n options: { signal, variables: { cartId, address } },\n path: 'setShippingAddressesOnCart.cart',\n signalType: 'cart',\n transformer: transformCart,\n });\n};\n"],"names":["NUMERIC_ID_REGEX","parseRegionId","regionId","test","parseInt","setShippingAddressMutation","CART_DATA_FRAGMENT","CART_SUMMARY_FRAGMENT","STANDARD_ATTRIBUTES","prepareAddress","formFields","address","city","AddressFormFieldCode","City","company","Company","country_code","Country","firstname","FirstName","lastname","LastName","postcode","PostCode","save_in_address_book","street","getMultilineValues","Street","telephone","Telephone","vat_id","Vat","region","Region","region_id","without_duplicates","Object","keys","filter","key","startsWith","includes","map","code","multiline","split","MULTILINE_SUFFIX","attribute_code","value","join","MULTILINE_CUSTOM_ATTR_SPLIT","item","index","self","findIndex","t","length","custom_attributes","setShippingAddress","signal","cartId","dispatchApiCall","type","query","options","variables","path","signalType","transformer","transformCart"],"mappings":"4OAAA,MAAMA,EAAmB,QAEZC,EAAiBC,GAAsB,CAElD,GADaF,EAAiBG,KAAKD,CAAQ,EAEpCE,OAAAA,SAASF,EAAU,EAAE,CAC9B,ECDaG,EAA2C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYpDC,CAAkB;AAAA,IAClBC,CAAqB;AAAA,ECRZC,EAAsB,CACjC,OACA,UACA,eACA,YACA,WACA,WACA,SACA,YACA,uBACA,SACA,YACA,QAAQ,EAyCGC,EAAkBC,GAAoC,CACjE,MAAMC,EAAwB,CAC5BC,KAAMF,EAAWG,EAAqBC,IAAI,EAC1CC,QAASL,EAAWG,EAAqBG,OAAO,EAChDC,aAAcP,EAAWG,EAAqBK,OAAO,EACrDC,UAAWT,EAAWG,EAAqBO,SAAS,EACpDC,SAAUX,EAAWG,EAAqBS,QAAQ,EAClDC,SAAUb,EAAWG,EAAqBW,QAAQ,EAClDC,qBAAsB,GACtBC,OAAQC,EAAmBd,EAAqBe,OAAQlB,CAAU,EAClEmB,UAAWnB,EAAWG,EAAqBiB,SAAS,EACpDC,OAAQrB,EAAWG,EAAqBmB,GAAG,CAAA,EAGvCC,EAASvB,EAAWG,EAAqBqB,MAAM,EAC/ChC,EAAWD,EAAcgC,CAAM,EAEhC/B,EAGHS,EAAQwB,UAAYjC,EAFpBS,EAAQsB,OAASA,EAmBnB,MAAMG,EAdoBC,OAAOC,KAAK5B,CAAU,EAC7C6B,OAAQC,GAAQ,CAACA,EAAIC,WAAW,QAAQ,CAAC,EACzCF,OAAQC,GAAQ,CAAChC,EAAoBkC,SAASF,CAAG,CAAC,EAClDD,OAAQC,GAAQA,IAAQ,YAAY,EACpCG,IAAaH,GAAA,CACZ,KAAM,CAACI,EAAMC,CAAS,EAAIL,EAAIM,MAAMC,CAAgB,EACpD,GAAI,CAACF,EAAkB,MAAA,CAAEG,eAAgBJ,EAAMK,MAAOvC,EAAW8B,CAAG,CAAA,EACpE,MAAMS,EAAQtB,EAAmBiB,EAAMlC,CAAU,EAAEwC,KACjDC,CACF,EACO,MAAA,CAAEH,eAAgBJ,EAAMK,MAAAA,CAAAA,CAAM,CACtC,EAG0CV,OAC3C,CAACa,EAAMC,EAAOC,IACZD,IAAUC,EAAKC,UAAiBC,GAAAA,EAAER,iBAAmBI,EAAKJ,cAAc,CAC5E,EAEIZ,OAAAA,EAAmBqB,OAAS,IAC9B9C,EAAQ+C,kBAAoBtB,GAGvBzB,CACT,EAEagD,EAAqB,MAAO,CACvCC,OAAAA,EACAC,OAAAA,EACAlD,QAAAA,CACwB,IACjB,MAAMmD,EAAgB,CAC3BC,KAAM,WACNC,MAAO3D,EACP4D,QAAS,CAAEL,OAAAA,EAAQM,UAAW,CAAEL,OAAAA,EAAQlD,QAAAA,CAAQ,CAAE,EAClDwD,KAAM,kCACNC,WAAY,OACZC,YAAaC,CAAAA,CACd"}
@@ -0,0 +1,19 @@
1
+ import{M as s,e as a}from"./transform-shipping-methods.js";import{C as p,a as r,t as n}from"./getCart.graphql.js";import"./getStoreConfig.js";import"@dropins/tools/event-bus.js";const o=`
2
+ mutation setShippingMethods(
3
+ $cartId: String!
4
+ $shippingMethods: [ShippingMethodInput]!
5
+ ) {
6
+ setShippingMethodsOnCart(
7
+ input: { cart_id: $cartId, shipping_methods: $shippingMethods }
8
+ ) {
9
+ cart {
10
+ id
11
+ ...CartData
12
+ ...CartSummaryItems
13
+ }
14
+ }
15
+ }
16
+ ${p}
17
+ ${r}
18
+ `,d=async({cartId:t,shippingMethods:i})=>{if(!t)throw new s;return a({type:"mutation",query:o,options:{variables:{cartId:t,shippingMethods:i}},path:"setShippingMethodsOnCart.cart",signalType:"cart",transformer:n})};export{d as s};
19
+ //# sourceMappingURL=setShippingMethods.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setShippingMethods.js","sources":["../../src/api/setShippingMethods/graphql/setShippingMethodsOnCart.graphql.ts","../../src/api/setShippingMethods/setShippingMethods.ts"],"sourcesContent":["import {\n CART_DATA_FRAGMENT,\n CART_SUMMARY_FRAGMENT,\n} from '@/checkout/api/getCart/graphql/getCart.graphql';\n\nexport const setShippingMethodsMutation = /* GraphQL */ `\n mutation setShippingMethods(\n $cartId: String!\n $shippingMethods: [ShippingMethodInput]!\n ) {\n setShippingMethodsOnCart(\n input: { cart_id: $cartId, shipping_methods: $shippingMethods }\n ) {\n cart {\n id\n ...CartData\n ...CartSummaryItems\n }\n }\n }\n ${CART_DATA_FRAGMENT}\n ${CART_SUMMARY_FRAGMENT}\n`;\n","import { SetShippingMethodsOnCartInput } from '@/checkout/__generated__/types';\nimport { MissingCart } from '@/checkout/api';\nimport { setShippingMethodsMutation } from '@/checkout/api/setShippingMethods/graphql/setShippingMethodsOnCart.graphql';\nimport { dispatchApiCall } from '@/checkout/api/utils/dispatchApiCall';\nimport { transformCart } from '@/checkout/data/transforms/index';\n\nexport type SetShippingMethodsOnCartInputs = {\n cartId: string;\n shippingMethods: SetShippingMethodsOnCartInput['shipping_methods'];\n};\n\nexport const setShippingMethodsOnCart = async ({\n cartId,\n shippingMethods,\n}: SetShippingMethodsOnCartInputs) => {\n if (!cartId) throw new MissingCart();\n\n return dispatchApiCall({\n type: 'mutation',\n query: setShippingMethodsMutation,\n options: { variables: { cartId, shippingMethods } },\n path: 'setShippingMethodsOnCart.cart',\n signalType: 'cart',\n transformer: transformCart,\n });\n};\n"],"names":["setShippingMethodsMutation","CART_DATA_FRAGMENT","CART_SUMMARY_FRAGMENT","setShippingMethodsOnCart","cartId","shippingMethods","MissingCart","dispatchApiCall","type","query","options","variables","path","signalType","transformer","transformCart"],"mappings":"kLAKaA,MAAAA,EAA2C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAepDC,CAAkB;AAAA,IAClBC,CAAqB;AAAA,ECVZC,EAA2B,MAAO,CAC7CC,OAAAA,EACAC,gBAAAA,CAC8B,IAAM,CACpC,GAAI,CAACD,EAAQ,MAAM,IAAIE,EAEvB,OAAOC,EAAgB,CACrBC,KAAM,WACNC,MAAOT,EACPU,QAAS,CAAEC,UAAW,CAAEP,OAAAA,EAAQC,gBAAAA,CAAgB,CAAE,EAClDO,KAAM,gCACNC,WAAY,OACZC,YAAaC,CAAAA,CACd,CACH"}
@@ -0,0 +1,2 @@
1
+ import{k as v,f as m,o as f,i as S,l as x,v as _}from"./getStoreConfig.js";import"@dropins/tools/event-bus.js";class w extends Error{constructor(r){super(r.map(t=>t.message).join(" ")),this.name="FetchError"}}class i extends Error{constructor(r){super(r),this.name="InvalidArgument"}}class k extends Error{constructor(r){super(r),this.name="UnexpectedError"}}class B extends i{constructor(){super("Cart ID is required")}}class F extends i{constructor(){super("Email is required")}}class G extends i{constructor(){super("Payment method code is required")}}class Q extends i{constructor(){super("Billing address is required")}}class R extends i{constructor(){super("Country Code is required")}}const C=v({pending:!1,data:void 0}),q=v({pending:!1,data:void 0}),l=[];function A(e){return new Promise((r,t)=>{l.push(e);const s=()=>{l[0]===e?e().then(r).catch(t).finally(()=>l.shift()):setTimeout(s,100)};s()})}const P=["sender_email","recipient_email"];function T(e){return e.filter(r=>!r.path||!P.some(t=>{var s;return((s=r.path)==null?void 0:s.at(-1))===t}))}const b={cart:S,regions:q,estimateShippingMethods:C,customer:x};function I(e,r){return r.split(".").reduce((t,s)=>t&&t[s]!==void 0?t[s]:void 0,e)}const g={cart:null,customer:null,estimateShippingMethods:null,regions:null};async function V(e){const{query:r,options:t,path:s,signalType:u,type:M,transformer:c}=e,n=b[u],d=Symbol();g[u]=d,n.value={...n.value,pending:!0};try{const{data:a,errors:p}=await(M==="mutation"?A(()=>m(r,t).catch(f)):m(r,{method:"GET",cache:"no-cache",...t}).catch(f));if(p){const h=T(p);if(h.length>0)throw new w(h)}let o=I(a,s);if(o===void 0)throw new Error(`No data found at path: ${s}`);return c&&(o=c(o)),n.value={...n.value,data:o},setTimeout(()=>{n.value={...n.value,pending:g[u]===d?!1:n.value.pending}},0),o}catch(a){if(a.name==="AbortError")return;throw n.value={...n.value,pending:!1},a}}const N=(e,r)=>e.amount.value-r.amount.value,y=e=>!(!e||!e.method_code||!e.method_title||_(e.amount.value)||!e.amount.currency),E=e=>({amount:{value:e.amount.value,currency:e.amount.currency},title:e.method_title,code:e.method_code,carrier:{code:e.carrier_code,title:e.carrier_title},value:`${e.carrier_code} - ${e.method_code}`}),j=e=>{if(y(e))return E(e)},D=e=>{if(e)return e.filter(y).map(r=>E(r)).sort(N)};export{w as F,i as I,B as M,k as U,F as a,G as b,Q as c,R as d,V as e,C as f,j as g,q as r,D as t};
2
+ //# sourceMappingURL=transform-shipping-methods.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform-shipping-methods.js","sources":["../../src/api/errors/errors.ts","../../src/signals/EstimateShippingMethodsSignal.ts","../../src/signals/RegionsSignal.ts","../../src/api/utils/enqueueRequest.ts","../../src/api/utils/filterControlledErrors.ts","../../src/api/utils/dispatchApiCall.ts","../../src/data/transforms/transform-shipping-methods.ts"],"sourcesContent":["import { FetchQueryError } from '@adobe/fetch-graphql';\n\nexport class FetchError extends Error {\n constructor(reasons: FetchQueryError) {\n super(reasons.map((e: any) => e.message).join(' '));\n this.name = 'FetchError';\n }\n}\n\nexport class InvalidArgument extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'InvalidArgument';\n }\n}\n\nexport class UnexpectedError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'UnexpectedError';\n }\n}\n\nexport class MissingCart extends InvalidArgument {\n constructor() {\n super('Cart ID is required');\n }\n}\nexport class MissingEmail extends InvalidArgument {\n constructor() {\n super('Email is required');\n }\n}\n\nexport class MissingPaymentMethod extends InvalidArgument {\n constructor() {\n super('Payment method code is required');\n }\n}\n\nexport class MissingBillingAddress extends InvalidArgument {\n constructor() {\n super('Billing address is required');\n }\n}\n\nexport class MissingCountry extends InvalidArgument {\n constructor() {\n super('Country Code is required');\n }\n}\n","import { signal } from '@preact/signals';\nimport { ShippingMethod } from '@/checkout/data/models';\n\nexport const estimateShippingMethodsSignal = signal<{\n pending: boolean;\n data?: ShippingMethod[];\n}>({ pending: false, data: undefined });\n","import { AddressFormType } from '@/checkout/data/models';\nimport { Region as RegionModel } from '@/checkout/data/models/region';\nimport { signal } from '@preact/signals';\n\nexport const regionsSignal = signal<{\n addressType?: AddressFormType;\n country?: string;\n selectedRegion?: string;\n selectedRegionId?: string;\n pending: boolean;\n data?: RegionModel[];\n}>({ pending: false, data: undefined });\n","const requestsQueue: (() => Promise<any>)[] = [];\n\nexport function enqueueRequest<T>(requestFn: () => Promise<T>): Promise<T> {\n return new Promise((resolve, reject) => {\n requestsQueue.push(requestFn);\n\n const waitForTurnAndSendRequest = () => {\n if (requestsQueue[0] === requestFn) {\n requestFn()\n .then(resolve)\n .catch(reject)\n .finally(() => requestsQueue.shift());\n } else {\n setTimeout(waitForTurnAndSendRequest, 100);\n }\n };\n\n waitForTurnAndSendRequest();\n });\n}\n","import { FetchQueryError } from '@adobe/fetch-graphql';\n\ntype ErrorPath = (string | number)[];\n\nexport type ErrorWithPath = FetchQueryError[number] & {\n path?: ErrorPath;\n};\n\nconst controlledErrorProps: string[] = ['sender_email', 'recipient_email'];\n\n/**\n * Filters out errors with known paths from a list of errors generated by a GraphQL query.\n *\n * Known issue: The query does not differentiate between physical and virtual gift cards, leading\n * to errors for physical ones as they don't have 'sender_email' and 'recipient_email' properties.\n *\n * @param {ErrorWithPath[]} errors - Array of errors to be filtered.\n * @return {ErrorWithPath[]} Uncontrolled (unexpected) errors not matching predefined paths.\n */\n\nexport function filterControlledErrors(errors: ErrorWithPath[]) {\n return errors.filter(\n (error) =>\n !error.path ||\n !controlledErrorProps.some((controlledErrorProp) => {\n return error.path?.at(-1) === controlledErrorProp;\n })\n );\n}\n","import { FetchError, fetchGraphQl } from '@/checkout/api';\nimport { handleNetworkError } from '@/checkout/lib/network-error';\nimport {\n cartSignal,\n regionsSignal,\n estimateShippingMethodsSignal,\n customerSignal,\n} from '@/checkout/signals';\n\nimport { FetchOptions, FetchQueryError } from '@adobe/fetch-graphql';\nimport { enqueueRequest } from '@/checkout/api/utils/enqueueRequest';\nimport { filterControlledErrors } from '@/checkout/api/utils/filterControlledErrors';\n\nconst signalTypes = {\n cart: cartSignal,\n regions: regionsSignal,\n estimateShippingMethods: estimateShippingMethodsSignal,\n customer: customerSignal,\n};\n\ntype SignalTypesType = typeof signalTypes;\ntype SignalTypesKeys = keyof SignalTypesType;\ntype SignalDataMap = {\n [K in SignalTypesKeys]: SignalTypesType[K]['value']['data'];\n};\ntype DispatchApiCallParams<T extends SignalTypesKeys> = {\n type: 'query' | 'mutation';\n query: string;\n options?: FetchOptions;\n path: string;\n signalType: T;\n transformer?: (data: any) => SignalDataMap[T];\n};\n\nexport function getValueAtPath(obj: any, path: string) {\n return path\n .split('.')\n .reduce(\n (acc, part) => (acc && acc[part] !== undefined ? acc[part] : undefined),\n obj\n );\n}\n\nconst latestCall: Record<SignalTypesKeys, Symbol | null> = {\n cart: null,\n customer: null,\n estimateShippingMethods: null,\n regions: null,\n};\n\nasync function dispatchApiCall<T extends SignalTypesKeys>(\n params: DispatchApiCallParams<T>\n): Promise<SignalDataMap[T]> {\n const { query, options, path, signalType, type, transformer } = params;\n const signal = signalTypes[signalType];\n const currentCall = Symbol();\n\n latestCall[signalType] = currentCall;\n\n signal.value = { ...signal.value, pending: true };\n\n try {\n const { data, errors } = await (type === 'mutation'\n ? enqueueRequest(() =>\n fetchGraphQl(query, options).catch(handleNetworkError)\n )\n : fetchGraphQl(query, {\n method: 'GET',\n cache: 'no-cache',\n ...options,\n }).catch(handleNetworkError));\n\n if (errors) {\n const uncontrolledErrors = filterControlledErrors(errors);\n\n if (uncontrolledErrors.length > 0) {\n throw new FetchError(uncontrolledErrors as FetchQueryError);\n }\n }\n\n let result = getValueAtPath(data, path);\n if (result === undefined) throw new Error(`No data found at path: ${path}`);\n if (transformer) result = transformer(result);\n\n signal.value = { ...signal.value, data: result };\n\n // to avoid flickering of the pending state when there are multiple sequential calls\n setTimeout(() => {\n signal.value = {\n ...signal.value,\n pending:\n latestCall[signalType] === currentCall ? false : signal.value.pending,\n };\n }, 0);\n\n return result;\n } catch (error: any) {\n if (error.name === 'AbortError') return;\n signal.value = { ...signal.value, pending: false };\n throw error;\n }\n}\n\nexport { dispatchApiCall };\n","import { ShippingMethod } from '@/checkout/data/models/shipping-method';\nimport { GetCartQuery } from '@/checkout/__generated__/types';\nimport { isNullish } from '@/checkout/utils/isNullish';\n\ntype Cart = NonNullable<GetCartQuery['cart']>;\ntype ShippingAddresses = Cart['shipping_addresses'];\ntype ShippingAddress = NonNullable<NonNullable<ShippingAddresses>[number]>;\ntype AvailableShippingMethods = ShippingAddress['available_shipping_methods'];\ntype AvailableShippingMethod = NonNullable<AvailableShippingMethods>[number];\ntype SelectedShippingMethod = ShippingAddress['selected_shipping_method'];\n\ntype FilteredShippingMethod = Omit<\n NonNullable<AvailableShippingMethod>,\n 'method_code' | 'method_title' | 'amount'\n> & {\n method_code: string;\n method_title: string;\n amount: {\n value: number;\n currency: string;\n };\n};\n\nconst byPrice = (a: ShippingMethod, b: ShippingMethod) =>\n a.amount.value - b.amount.value;\n\nconst isValid = (method: AvailableShippingMethod | SelectedShippingMethod) => {\n if (!method) return false;\n if (!method.method_code || !method.method_title) return false;\n if (isNullish(method.amount.value) || !method.amount.currency) return false;\n return true;\n};\n\nconst buildShippingMethod = (data: FilteredShippingMethod): ShippingMethod => {\n return {\n amount: {\n value: data.amount.value,\n currency: data.amount.currency,\n },\n title: data.method_title,\n code: data.method_code,\n carrier: {\n code: data.carrier_code,\n title: data.carrier_title,\n },\n value: `${data.carrier_code} - ${data.method_code}`,\n };\n};\n\nexport const transformSelectedShippingMethod = (\n data: SelectedShippingMethod\n): ShippingMethod | undefined => {\n if (!isValid(data)) return;\n return buildShippingMethod(data as FilteredShippingMethod);\n};\n\nexport const transformAvailableShippingMethod = (\n data: AvailableShippingMethod\n): ShippingMethod | undefined => {\n if (!isValid(data)) return;\n return buildShippingMethod(data as FilteredShippingMethod);\n};\n\nexport const transformShippingMethods = (\n data: AvailableShippingMethods\n): ShippingMethod[] | undefined => {\n if (!data) return;\n\n return data\n .filter(isValid)\n .map((method) => buildShippingMethod(method as FilteredShippingMethod))\n .sort(byPrice);\n};\n"],"names":["FetchError","Error","constructor","reasons","map","e","message","join","name","InvalidArgument","UnexpectedError","MissingCart","MissingEmail","MissingPaymentMethod","MissingBillingAddress","MissingCountry","estimateShippingMethodsSignal","signal","pending","data","undefined","regionsSignal","requestsQueue","enqueueRequest","requestFn","Promise","resolve","reject","push","waitForTurnAndSendRequest","then","catch","finally","shift","setTimeout","controlledErrorProps","filterControlledErrors","errors","filter","error","path","some","controlledErrorProp","at","signalTypes","cart","cartSignal","regions","estimateShippingMethods","customer","customerSignal","getValueAtPath","obj","split","reduce","acc","part","latestCall","dispatchApiCall","params","query","options","signalType","type","transformer","currentCall","Symbol","value","fetchGraphQl","handleNetworkError","method","cache","uncontrolledErrors","length","result","byPrice","a","b","amount","isValid","method_code","method_title","isNullish","currency","buildShippingMethod","title","code","carrier","carrier_code","carrier_title","transformSelectedShippingMethod","transformShippingMethods","sort"],"mappings":"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"}
@@ -1 +1,2 @@
1
- import*as e from"@dropins/tools/event-bus.js";import*as t from"@dropins/tools/fetch-graphql.js";export const id=4272;export const ids=[4272];export const modules={1212:(e,t,r)=>{r.d(t,{m:()=>s});var n=r(3584),i=r(1092);function o(e,t,r,n,i,o,s){try{var a=e[o](s),l=a.value}catch(e){return void r(e)}a.done?t(l):Promise.resolve(l).then(n,i)}var s=function(){var e,t=(e=function*(){var e,{data:t,errors:r}=yield(0,n.CA)('\n query fetchAddressFormFields {\n attributesForm(formCode: "customer_register_address") {\n items {\n frontend_input\n code\n label\n default_value\n is_required\n options {\n label\n value\n is_default\n }\n ... on CustomerAttributeMetadata {\n multiline_count\n sort_order\n validate_rules {\n name\n value\n }\n }\n }\n errors {\n message\n type\n }\n }\n }\n',{method:"GET",cache:"no-cache"}).catch(i.i);if(r)throw Error(r.map((e=>e.message)).join(" "));return(null==t||null===(e=t.attributesForm)||void 0===e?void 0:e.items)||[]},function(){var t=this,r=arguments;return new Promise((function(n,i){var s=e.apply(t,r);function a(e){o(s,n,i,a,l,"next",e)}function l(e){o(s,n,i,a,l,"throw",e)}a(void 0)}))});return function(){return t.apply(this,arguments)}}()},2532:(e,t,r)=>{r.d(t,{W:()=>c});var n=r(3760),i=r(3112),o="\n mutation setBillingAddress(\n $cartId: String!\n $input: BillingAddressInput!\n ) {\n setBillingAddressOnCart(\n input: { cart_id: $cartId, billing_address: $input }\n ) {\n cart {\n id\n ...CheckoutData\n ...CartSummaryItems\n }\n }\n }\n ".concat(i.e2,"\n ").concat(i.Qz,"\n"),s=r(9120),a=r(6824);function l(e,t,r,n,i,o,s){try{var a=e[o](s),l=a.value}catch(e){return void r(e)}a.done?t(l):Promise.resolve(l).then(n,i)}var c=function(){var e,t=(e=function*(e){var{signal:t,cartId:r,input:i}=e,{address:l,same_as_shipping:c}=i;if(!r)throw new n.Ij;if(!c&&!l)throw new n.o8;return yield(0,s.m)({type:"mutation",query:o,options:{signal:t,variables:{cartId:r,input:i}},path:"setBillingAddressOnCart.cart",signalType:"cart",transformer:a.o})},function(){var t=this,r=arguments;return new Promise((function(n,i){var o=e.apply(t,r);function s(e){l(o,n,i,s,a,"next",e)}function a(e){l(o,n,i,s,a,"throw",e)}s(void 0)}))});return function(e){return t.apply(this,arguments)}}()},8572:(e,t,r)=>{r.d(t,{_:()=>z,i:()=>q});var n=r(2532),i=r(4944),o=r(3792),s=r(3388),a=r(8412),l=()=>(0,a.im)(s.W,{className:"bill-to-shipping-address__skeleton",children:(0,a.im)(s.K,{variant:"row",size:"small"})}),c=r(5536),d=r.n(c),u=r(7008),p=r.n(u),f=r(1496),v=r.n(f),m=r(9356),b=r.n(m),h=r(9904),g=r.n(h),y=r(9960),O={attributes:{"data-dropin":"storefront-checkout","data-sdk":"0.22.0"},styleTagTransform:function(e,t){window._loadedStyles=window._loadedStyles??{};const r=e?.match(/^\.dropin-(\w+)/)?.[1],n=t.getAttribute("data-sdk"),i=r?`sdk/${r}`:t.getAttribute("data-dropin");t.setAttribute("data-dropin",i),t.removeAttribute("data-sdk");const o=window._loadedStyles[i];if(o){const i=function(e,t){const[r,n]=e.split("-"),[i,o]=t.split("-"),s=[...r.split("."),n],a=[...i.split("."),o],l=parseInt(s[0],10),c=parseInt(a[0],10);if(l!==c)return l>c?e:t;const d=parseInt(s[1],10),u=parseInt(a[1],10);if(d!==u)return d>u?e:t;const p=parseInt(s[2],10),f=parseInt(a[2],10);if(p!==f)return p>f?e:t;if(s[3]&&a[3]){const r=/(alpha|beta)(.*)/,n=s[3].match(r),i=a[3].match(r),o=n[1],l=i[1],c=parseInt(n[2],10),d=parseInt(i[2],10);if(o===l)return c>d?e:t;if("alpha"===o&&"beta"===l)return t;if("beta"===o&&"alpha"===l)return e}return s[3]?t:e}(n,o.sdk);if(!r||r&&i===o.sdk){const t=o.style.textContent;o.style.textContent=`${t}\n/* --- MERGED --- */\n${e}`}else r&&i!==o.sdk&&(o.style.textContent=`/* --- UPGRADED --- */\n${e}`);return void t.remove()}t.textContent=e,window._loadedStyles[i]={sdk:n,core:r,style:t};const s=document.querySelector("head"),{lastDropinStyleInjected:a,lastSDKStyleInjected:l}=window._loadedStyles;r?(l?s.insertBefore(t,l.nextSibling):s.insertBefore(t,s.firstChild),window._loadedStyles.lastSDKStyleInjected=t):(a?s.insertBefore(t,a.nextSibling):l?s.insertBefore(t,l.nextSibling):s.insertBefore(t,s.firstChild),window._loadedStyles.lastDropinStyleInjected=t)}};O.setAttributes=b(),O.insert=v().bind(null,"head"),O.domAPI=p(),O.insertStyleElement=g();d()(y.c,O);y.c&&y.c.locals&&y.c.locals;var S=r(2460),j=["className","isInitialized","checked"];function w(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?w(Object(r),!0).forEach((function(t){k(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):w(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function k(e,t,r){var n;return(t="symbol"==typeof(n=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?n:String(n))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function P(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var I=e=>{var{className:t,isInitialized:r=!0,checked:n=!0}=e,s=P(e,j),c=(0,S.cF)({title:"Checkout.BillToShippingAddress.title"});return r?(0,a.im)("div",{className:(0,i.i)(["checkout-bill-to-shipping-address",t]),children:(0,a.im)(o.y,_({"data-testid":"bill-to-shipping-checkbox",className:"checkout-bill-to-shipping-address__checkbox",checked:n,name:"checkout-bill-to-shipping-address__checkbox",label:c.title},s))}):(0,a.im)(l,{})},A=r(5668),B=r(9488),C=r(2796),x=r(40),T=r(2236),D=["children"];function E(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function F(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?E(Object(r),!0).forEach((function(t){N(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):E(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function N(e,t,r){var n;return(t="symbol"==typeof(n=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?n:String(n))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function $(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function q(e,t,r){return!t&&!r||!(!t||!r)&&e.every((e=>{var n=e.code;return function(e,t,r){var n=e[r],i=t[r];return void 0===n&&void 0===i||null===n&&null===i||("object"==typeof n&&"object"==typeof i?JSON.stringify(n)===JSON.stringify(i):n===i)}(t,r,n)}))}var z=e=>{var{children:t}=e,r=$(e,D),{data:i}=A.cartSignal.value,o=(null==i?void 0:i.id)||"",s=B.isBillToShippingSignal.value.checked,{isInitialized:l}=(e=>{var t,{isBillToShipping:r}=e,[n,i]=(0,C.oT)(!1),{fields:o}=(0,T.q)(),s=A.cartSignal.value.data,a=!!s,l=null==s?void 0:s.billingAddress,c=null==s||null===(t=s.shippingAddresses)||void 0===t?void 0:t[0];return(0,C.YB)((()=>{if(o){var e=localStorage.getItem(x.c);if(!n&&e)return i(!0),void(r.value={checked:"true"===e,setByUser:!1});if(!n&&a){i(!0);var t=q(o,l,c);r.value={checked:null!=s&&s.billingAddress?t:r.value.checked,setByUser:!1}}}}),[l,null==s?void 0:s.billingAddress,o,a,r,n,c]),{isInitialized:n}})({isBillToShipping:B.isBillToShippingSignal});return(0,a.im)(I,F(F({},r),{},{checked:s,isInitialized:l,onChange:e=>{var t,r=e.target.checked,i=A.cartSignal.value.data,s=Boolean(null==i||null===(t=i.shippingAddresses)||void 0===t?void 0:t[0]);if(B.isBillToShippingSignal.value={checked:r,setByUser:!0},localStorage.setItem(x.c,r.toString()),l&&r&&s){var a=new AbortController;return(0,n.W)({signal:a.signal,cartId:o,input:{same_as_shipping:!0}}).catch((e=>{console.error(e)})),()=>{a.abort()}}},disabled:A.cartSignal.value.pending}))}},40:(e,t,r)=>{r.d(t,{c:()=>n});var n="is_bill_to_shipping_address"},9700:(e,t,r)=>{r.d(t,{_k:()=>i._,cT:()=>n.c,cp:()=>i._,iI:()=>i.i});var n=r(40),i=r(8572)},2236:(e,t,r)=>{r.d(t,{Y:()=>l,q:()=>c});var n=r(304),i=r(8596),o=r(1212),s=r(8412),a=(0,n.GY)(void 0);function l(e){var{children:t}=e,[r,n]=(0,i.oT)({});return(0,i.YB)((()=>{(0,o.m)().then((e=>n({fields:e})))}),[]),(0,s.im)(a.Provider,{value:r,children:t})}function c(){var e=(0,i.Co)(a);if(void 0!==e)return e;throw new Error("useAddressFormFields must be used within an AddressFormFieldsProvider")}},9488:(e,t,r)=>{r.d(t,{isBillToShippingSignal:()=>n});var n=(0,r(1520).OC)({checked:!0,setByUser:!1})},9960:(e,t,r)=>{r.d(t,{c:()=>a});var n=r(6008),i=r.n(n),o=r(2076),s=r.n(o)()(i());s.push([e.id,".checkout-bill-to-shipping-address{\n display:grid;\n}\n\n.checkout-bill-to-shipping-address label{\n font:var(--type-body-2-default-font);\n letter-spacing:var(--type-body-2-default-letter-spacing);\n gap:0;\n}\n",""]);const a=s},8122:(t,r,n)=>{t.exports=(e=>{var t={};return n.d(t,e),t})({events:()=>e.events})},8616:(e,r,n)=>{e.exports=(e=>{var t={};return n.d(t,e),t})({FetchGraphQL:()=>t.FetchGraphQL})}};import r from"../runtime.js";import*as n from"../8412.js";r.C(n);import*as i from"../2892.js";r.C(i);import*as o from"../2328.js";r.C(o);import*as s from"../8668.js";r.C(s);import*as a from"../5068.js";r.C(a);import*as l from"./BillToShippingAddress.js";r.C(l);var c,d=(c=9700,r(r.s=c)),u=d.cT,p=d._k,f=d.iI,v=d.cp;export{u as BILL_TO_SHIPPING_KEY,p as BillToShippingAddress,f as compareAddresses,v as default};
1
+ import{a as L,B as P,c as S,B as T}from"../chunks/BillToShippingAddress2.js";import"@dropins/tools/event-bus.js";import"../chunks/getStoreConfig.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/preact.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/setBillingAddress.js";import"../chunks/transform-shipping-methods.js";import"../chunks/getCart.graphql.js";import"../chunks/cart-item.js";import"@dropins/tools/lib.js";import"@dropins/tools/components.js";/* empty css */import"@dropins/tools/i18n.js";import"@dropins/tools/preact-compat.js";export{L as BILL_TO_SHIPPING_KEY,P as BillToShippingAddress,S as compareAddresses,T as default};
2
+ //# sourceMappingURL=BillToShippingAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BillToShippingAddress.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1 +1,2 @@
1
- import*as e from"@dropins/tools/event-bus.js";import*as t from"@dropins/tools/fetch-graphql.js";export const id=5340;export const ids=[5340];export const modules={8572:(e,t,r)=>{r.d(t,{_:()=>G,i:()=>z});var i=r(2532),n=r(4944),o=r(3792),l=r(3388),s=r(8412),a=()=>(0,s.im)(l.W,{className:"bill-to-shipping-address__skeleton",children:(0,s.im)(l.K,{variant:"row",size:"small"})}),c=r(5536),d=r.n(c),p=r(7008),u=r.n(p),f=r(1496),b=r.n(f),g=r(9356),v=r.n(g),y=r(9904),m=r.n(y),h=r(9960),O={attributes:{"data-dropin":"storefront-checkout","data-sdk":"0.22.0"},styleTagTransform:function(e,t){window._loadedStyles=window._loadedStyles??{};const r=e?.match(/^\.dropin-(\w+)/)?.[1],i=t.getAttribute("data-sdk"),n=r?`sdk/${r}`:t.getAttribute("data-dropin");t.setAttribute("data-dropin",n),t.removeAttribute("data-sdk");const o=window._loadedStyles[n];if(o){const n=function(e,t){const[r,i]=e.split("-"),[n,o]=t.split("-"),l=[...r.split("."),i],s=[...n.split("."),o],a=parseInt(l[0],10),c=parseInt(s[0],10);if(a!==c)return a>c?e:t;const d=parseInt(l[1],10),p=parseInt(s[1],10);if(d!==p)return d>p?e:t;const u=parseInt(l[2],10),f=parseInt(s[2],10);if(u!==f)return u>f?e:t;if(l[3]&&s[3]){const r=/(alpha|beta)(.*)/,i=l[3].match(r),n=s[3].match(r),o=i[1],a=n[1],c=parseInt(i[2],10),d=parseInt(n[2],10);if(o===a)return c>d?e:t;if("alpha"===o&&"beta"===a)return t;if("beta"===o&&"alpha"===a)return e}return l[3]?t:e}(i,o.sdk);if(!r||r&&n===o.sdk){const t=o.style.textContent;o.style.textContent=`${t}\n/* --- MERGED --- */\n${e}`}else r&&n!==o.sdk&&(o.style.textContent=`/* --- UPGRADED --- */\n${e}`);return void t.remove()}t.textContent=e,window._loadedStyles[n]={sdk:i,core:r,style:t};const l=document.querySelector("head"),{lastDropinStyleInjected:s,lastSDKStyleInjected:a}=window._loadedStyles;r?(a?l.insertBefore(t,a.nextSibling):l.insertBefore(t,l.firstChild),window._loadedStyles.lastSDKStyleInjected=t):(s?l.insertBefore(t,s.nextSibling):a?l.insertBefore(t,a.nextSibling):l.insertBefore(t,l.firstChild),window._loadedStyles.lastDropinStyleInjected=t)}};O.setAttributes=v(),O.insert=b().bind(null,"head"),O.domAPI=u(),O.insertStyleElement=m();d()(h.c,O);h.c&&h.c.locals&&h.c.locals;var j=r(2460),S=["className","isInitialized","checked"];function w(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function k(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?w(Object(r),!0).forEach((function(t){P(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):w(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function P(e,t,r){var i;return(t="symbol"==typeof(i=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?i:String(i))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function I(e,t){if(null==e)return{};var r,i,n=function(e,t){if(null==e)return{};var r,i,n={},o=Object.keys(e);for(i=0;i<o.length;i++)r=o[i],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i<o.length;i++)r=o[i],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var _=e=>{var{className:t,isInitialized:r=!0,checked:i=!0}=e,l=I(e,S),c=(0,j.cF)({title:"Checkout.BillToShippingAddress.title"});return r?(0,s.im)("div",{className:(0,n.i)(["checkout-bill-to-shipping-address",t]),children:(0,s.im)(o.y,k({"data-testid":"bill-to-shipping-checkbox",className:"checkout-bill-to-shipping-address__checkbox",checked:i,name:"checkout-bill-to-shipping-address__checkbox",label:c.title},l))}):(0,s.im)(a,{})},B=r(5668),x=r(9488),A=r(2796),C=r(40),D=r(2236),E=["children"];function T(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function M(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?T(Object(r),!0).forEach((function(t){N(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):T(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function N(e,t,r){var i;return(t="symbol"==typeof(i=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?i:String(i))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function F(e,t){if(null==e)return{};var r,i,n=function(e,t){if(null==e)return{};var r,i,n={},o=Object.keys(e);for(i=0;i<o.length;i++)r=o[i],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i<o.length;i++)r=o[i],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function z(e,t,r){return!t&&!r||!(!t||!r)&&e.every((e=>{var i=e.code;return function(e,t,r){var i=e[r],n=t[r];return void 0===i&&void 0===n||null===i&&null===n||("object"==typeof i&&"object"==typeof n?JSON.stringify(i)===JSON.stringify(n):i===n)}(t,r,i)}))}var G=e=>{var{children:t}=e,r=F(e,E),{data:n}=B.cartSignal.value,o=(null==n?void 0:n.id)||"",l=x.isBillToShippingSignal.value.checked,{isInitialized:a}=(e=>{var t,{isBillToShipping:r}=e,[i,n]=(0,A.oT)(!1),{fields:o}=(0,D.q)(),l=B.cartSignal.value.data,s=!!l,a=null==l?void 0:l.billingAddress,c=null==l||null===(t=l.shippingAddresses)||void 0===t?void 0:t[0];return(0,A.YB)((()=>{if(o){var e=localStorage.getItem(C.c);if(!i&&e)return n(!0),void(r.value={checked:"true"===e,setByUser:!1});if(!i&&s){n(!0);var t=z(o,a,c);r.value={checked:null!=l&&l.billingAddress?t:r.value.checked,setByUser:!1}}}}),[a,null==l?void 0:l.billingAddress,o,s,r,i,c]),{isInitialized:i}})({isBillToShipping:x.isBillToShippingSignal});return(0,s.im)(_,M(M({},r),{},{checked:l,isInitialized:a,onChange:e=>{var t,r=e.target.checked,n=B.cartSignal.value.data,l=Boolean(null==n||null===(t=n.shippingAddresses)||void 0===t?void 0:t[0]);if(x.isBillToShippingSignal.value={checked:r,setByUser:!0},localStorage.setItem(C.c,r.toString()),a&&r&&l){var s=new AbortController;return(0,i.W)({signal:s.signal,cartId:o,input:{same_as_shipping:!0}}).catch((e=>{console.error(e)})),()=>{s.abort()}}},disabled:B.cartSignal.value.pending}))}},40:(e,t,r)=>{r.d(t,{c:()=>i});var i="is_bill_to_shipping_address"},2872:(e,t,r)=>{r.d(t,{M:()=>y});var i=r(2532),n=r(9296),o=r(8488),l=r(8572),s=r(6476),a=r(2236),c=r(8628),d=r(5668),p=r(9488),u=r(2796),f=r(8412);function b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function g(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?b(Object(r),!0).forEach((function(t){v(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):b(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function v(e,t,r){var i;return(t="symbol"==typeof(i=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?i:String(i))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var y=e=>{var{fields:t}=(0,a.q)(),r=(0,u.yK)(null),{data:b}=d.cartSignal.value,v=(null==b?void 0:b.id)||"",{checked:y,setByUser:m}=p.isBillToShippingSignal.value,h=!y,O=(0,u.kZ)((e=>(0,i.W)({signal:e.signal,cartId:v,input:{address:y?void 0:(0,n.ek)(e.address),same_as_shipping:y}})),[v,y]),j=(0,u.kZ)((()=>{var e,r=d.cartSignal.value.data;return!(0,l.i)(t,null==r?void 0:r.billingAddress,null==r||null===(e=r.shippingAddresses)||void 0===e?void 0:e[0])}),[t]);return(0,u.YB)((()=>{if(m){var e=new AbortController;return y||r.current.triggerSaveAddress(e.signal),()=>{e.abort()}}}),[y,m]),(0,f.im)(o.i,g(g({},e),{},{addressType:c.y.BILLING,"data-testid":"billing-form",headingId:"Checkout.BillingAddress.title",name:s.M,ref:r,saveAddressHandler:O,shouldAutoFillForm:j,style:{display:h?"block":"none"}}))}},6476:(e,t,r)=>{r.d(t,{M:()=>i});var i="billing_address"},3084:(e,t,r)=>{r.d(t,{Mh:()=>n.M,Mx:()=>i.M,cp:()=>i.M});var i=r(2872),n=r(6476)},9960:(e,t,r)=>{r.d(t,{c:()=>s});var i=r(6008),n=r.n(i),o=r(2076),l=r.n(o)()(n());l.push([e.id,".checkout-bill-to-shipping-address{\n display:grid;\n}\n\n.checkout-bill-to-shipping-address label{\n font:var(--type-body-2-default-font);\n letter-spacing:var(--type-body-2-default-letter-spacing);\n gap:0;\n}\n",""]);const s=l},8122:(t,r,i)=>{t.exports=(e=>{var t={};return i.d(t,e),t})({events:()=>e.events})},8616:(e,r,i)=>{e.exports=(e=>{var t={};return i.d(t,e),t})({FetchGraphQL:()=>t.FetchGraphQL})}};import r from"../runtime.js";import*as i from"../8412.js";r.C(i);import*as n from"../2892.js";r.C(n);import*as o from"../184.js";r.C(o);import*as l from"../196.js";r.C(l);import*as s from"../4708.js";r.C(s);import*as a from"../8668.js";r.C(a);import*as c from"../5068.js";r.C(c);import*as d from"../1568.js";r.C(d);import*as p from"../8100.js";r.C(p);import*as u from"./BillingForm.js";r.C(u);var f,b=(f=3084,r(r.s=f)),g=b.Mh,v=b.Mx,y=b.cp;export{g as BILLING_FORM_NAME,v as BillingForm,y as default};
1
+ import{B as n,B as u}from"../chunks/BillingForm.js";import{B as E}from"../chunks/constants3.js";import"@dropins/tools/event-bus.js";import"../chunks/getStoreConfig.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/preact.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/getMultilineValues.js";import"../chunks/transform-shipping-methods.js";import"../chunks/setBillingAddress.js";import"../chunks/getCart.graphql.js";import"../chunks/cart-item.js";import"../chunks/setShippingAddress.js";import"../chunks/ToggleButton.js";import"@dropins/tools/lib.js";import"@dropins/tools/i18n.js";import"@dropins/tools/components.js";/* empty css */import"@dropins/tools/preact-compat.js";import"../chunks/BillToShippingAddress2.js";export{E as BILLING_FORM_NAME,n as BillingForm,u as default};
2
+ //# sourceMappingURL=BillingForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BillingForm.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1 +1,2 @@
1
- import*as t from"@dropins/tools/event-bus.js";import*as e from"@dropins/tools/fetch-graphql.js";export const id=6784;export const ids=[6784,4424];export const modules={4424:(t,e,n)=>{n.r(e),n.d(e,{default:()=>s});var r,i,a=n(2796);function o(){return o=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},o.apply(this,arguments)}const s=function(t){return a.kv("svg",o({width:24,height:24,fill:"none",xmlns:"http://www.w3.org/2000/svg"},t),r||(r=a.kv("path",{vectorEffect:"non-scaling-stroke",d:"M.75 12C.75 5.784 5.784.75 12 .75S23.25 5.784 23.25 12 18.216 23.25 12 23.25.75 18.216.75 12Z",stroke:"currentColor"})),i||(i=a.kv("path",{vectorEffect:"non-scaling-stroke",d:"M11.75 5.884V4.75h.5v1.134l-.201 7.187h-.098l-.201-7.187Zm.05 12.366v-1.263h.425v1.263H11.8Z",stroke:"currentColor"})))}},3720:(t,e,n)=>{n.d(e,{G:()=>S});var r=n(4944),i=n(2796),a=n(5536),o=n.n(a),s=n(7008),l=n.n(s),p=n(1496),c=n.n(p),d=n(9356),u=n.n(d),h=n(9904),y=n.n(h),f=n(4480),g={attributes:{"data-dropin":"storefront-checkout","data-sdk":"0.22.0"},styleTagTransform:function(t,e){window._loadedStyles=window._loadedStyles??{};const n=t?.match(/^\.dropin-(\w+)/)?.[1],r=e.getAttribute("data-sdk"),i=n?`sdk/${n}`:e.getAttribute("data-dropin");e.setAttribute("data-dropin",i),e.removeAttribute("data-sdk");const a=window._loadedStyles[i];if(a){const i=function(t,e){const[n,r]=t.split("-"),[i,a]=e.split("-"),o=[...n.split("."),r],s=[...i.split("."),a],l=parseInt(o[0],10),p=parseInt(s[0],10);if(l!==p)return l>p?t:e;const c=parseInt(o[1],10),d=parseInt(s[1],10);if(c!==d)return c>d?t:e;const u=parseInt(o[2],10),h=parseInt(s[2],10);if(u!==h)return u>h?t:e;if(o[3]&&s[3]){const n=/(alpha|beta)(.*)/,r=o[3].match(n),i=s[3].match(n),a=r[1],l=i[1],p=parseInt(r[2],10),c=parseInt(i[2],10);if(a===l)return p>c?t:e;if("alpha"===a&&"beta"===l)return e;if("beta"===a&&"alpha"===l)return t}return o[3]?e:t}(r,a.sdk);if(!n||n&&i===a.sdk){const e=a.style.textContent;a.style.textContent=`${e}\n/* --- MERGED --- */\n${t}`}else n&&i!==a.sdk&&(a.style.textContent=`/* --- UPGRADED --- */\n${t}`);return void e.remove()}e.textContent=t,window._loadedStyles[i]={sdk:r,core:n,style:e};const o=document.querySelector("head"),{lastDropinStyleInjected:s,lastSDKStyleInjected:l}=window._loadedStyles;n?(l?o.insertBefore(e,l.nextSibling):o.insertBefore(e,o.firstChild),window._loadedStyles.lastSDKStyleInjected=e):(s?o.insertBefore(e,s.nextSibling):l?o.insertBefore(e,l.nextSibling):o.insertBefore(e,o.firstChild),window._loadedStyles.lastDropinStyleInjected=e)}};g.setAttributes=u(),g.insert=c().bind(null,"head"),g.domAPI=l(),g.insertStyleElement=y();o()(f.c,g);f.c&&f.c.locals&&f.c.locals;var m=n(8412),b=["source","size","stroke","viewBox","className"];function _(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function v(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?_(Object(n),!0).forEach((function(e){k(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):_(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function k(t,e,n){var r;return(e="symbol"==typeof(r=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(e,"string"))?r:String(r))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function C(t,e){if(null==t)return{};var n,r,i=function(t,e){if(null==t)return{};var n,r,i={},a=Object.keys(t);for(r=0;r<a.length;r++)n=a[r],e.indexOf(n)>=0||(i[n]=t[n]);return i}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r<a.length;r++)n=a[r],e.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}var w={Add:(0,i.Wk)((()=>n.e(1600).then(n.bind(n,1600)))),Bulk:(0,i.Wk)((()=>n.e(3180).then(n.bind(n,3180)))),Burger:(0,i.Wk)((()=>n.e(3728).then(n.bind(n,3728)))),Cart:(0,i.Wk)((()=>n.e(5008).then(n.bind(n,5008)))),Check:(0,i.Wk)((()=>n.e(9772).then(n.bind(n,9772)))),ChevronDown:(0,i.Wk)((()=>n.e(1680).then(n.bind(n,1680)))),ChevronUp:(0,i.Wk)((()=>n.e(844).then(n.bind(n,844)))),ChevronRight:(0,i.Wk)((()=>n.e(8824).then(n.bind(n,8824)))),Close:(0,i.Wk)((()=>n.e(2543).then(n.bind(n,2543)))),Heart:(0,i.Wk)((()=>n.e(9176).then(n.bind(n,9176)))),Minus:(0,i.Wk)((()=>n.e(1268).then(n.bind(n,1268)))),Placeholder:(0,i.Wk)((()=>n.e(8868).then(n.bind(n,8868)))),PlaceholderFilled:(0,i.Wk)((()=>n.e(5488).then(n.bind(n,5488)))),Search:(0,i.Wk)((()=>n.e(3764).then(n.bind(n,3764)))),SearchFilled:(0,i.Wk)((()=>n.e(6820).then(n.bind(n,6820)))),Sort:(0,i.Wk)((()=>n.e(3832).then(n.bind(n,3832)))),Star:(0,i.Wk)((()=>n.e(3836).then(n.bind(n,3836)))),View:(0,i.Wk)((()=>n.e(7524).then(n.bind(n,7524)))),User:(0,i.Wk)((()=>n.e(3996).then(n.bind(n,3996)))),Warning:(0,i.Wk)((()=>n.e(4004).then(n.bind(n,4004)))),Locker:(0,i.Wk)((()=>n.e(2388).then(n.bind(n,2388)))),Wallet:(0,i.Wk)((()=>n.e(8220).then(n.bind(n,8220)))),Card:(0,i.Wk)((()=>n.e(664).then(n.bind(n,664)))),Order:(0,i.Wk)((()=>n.e(3916).then(n.bind(n,3916)))),Delivery:(0,i.Wk)((()=>n.e(9948).then(n.bind(n,2328)))),OrderError:(0,i.Wk)((()=>n.e(984).then(n.bind(n,984)))),OrderSuccess:(0,i.Wk)((()=>n.e(2920).then(n.bind(n,2920)))),PaymentError:(0,i.Wk)((()=>n.e(9940).then(n.bind(n,9940)))),CheckWithCircle:(0,i.Wk)((()=>n.e(1604).then(n.bind(n,1604)))),WarningWithCircle:(0,i.Wk)((()=>n.e(4424).then(n.bind(n,4424)))),WarningFilled:(0,i.Wk)((()=>n.e(1176).then(n.bind(n,1176)))),InfoFilled:(0,i.Wk)((()=>n.e(6484).then(n.bind(n,6484)))),HeartFilled:(0,i.Wk)((()=>n.e(488).then(n.bind(n,488)))),Trash:(0,i.Wk)((()=>n.e(5476).then(n.bind(n,5476))))};function S(t){var{source:e,size:n="24",stroke:a="2",viewBox:o="0 0 24 24",className:s}=t,l=C(t,b),p="string"==typeof e?w[e]:null,c={className:(0,r.i)(["dropin-icon","dropin-icon--shape-stroke-".concat(a),s]),width:n,height:n,viewBox:o};return(0,m.im)(i.G0,{fallback:null,children:p?(0,m.im)(p,v(v({},l),c)):(0,m.im)(e,v(v({},l),c))})}},2780:(t,e,n)=>{n.d(e,{C:()=>r});var r=(t,e)=>{var n;return function(){for(var r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];clearTimeout(n),n=setTimeout((()=>t.apply(this,i)),e)}}},1044:(t,e,n)=>{n.d(e,{o:()=>c});var r=n(4944),i=n(8412),a=["node"];function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function s(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach((function(e){l(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function l(t,e,n){var r;return(e="symbol"==typeof(r=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(e,"string"))?r:String(r))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function p(t,e){if(null==t)return{};var n,r,i=function(t,e){if(null==t)return{};var n,r,i={},a=Object.keys(t);for(r=0;r<a.length;r++)n=a[r],e.indexOf(n)>=0||(i[n]=t[n]);return i}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r<a.length;r++)n=a[r],e.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}function c(t){var{node:e}=t,n=p(t,a);return e?Array.isArray(e)?(0,i.im)(i.ae,{children:e.map(((t,e)=>(0,i.im)(c,s({node:t,className:n.className},n),e)))}):(n.className=(0,r.i)([e.props.className,n.className]),(0,i.im)(e.type,s(s({ref:e.ref},e.props),n),e.key)):null}},1036:(t,e,n)=>{n.d(e,{a:()=>h});var r=n(3584),i=n(5912),a=n(2256),o=n(4723),s=n(2148);function l(t){return 1===t?o.m.ExcludingTax:2===t?o.m.IncludingTax:3===t?o.m.IncludingAndExcludingTax:o.m.ExcludingTax}function p(t){switch(t){case i.ow.DisplayExcludingTax:return o.m.ExcludingTax;case i.ow.DisplayIncludingTax:return o.m.IncludingTax;case i.ow.DisplayTypeBoth:return o.m.IncludingAndExcludingTax}}var c=n(764),d=n(1092);function u(t,e,n,r,i,a,o){try{var s=t[a](o),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(r,i)}var h=function(){var t,e=(t=function*(){return(0,r.CA)("\n query getStoreConfig {\n storeConfig {\n cart_summary_display_quantity\n countries_with_required_region\n default_country\n display_state_if_optional\n is_guest_checkout_enabled\n is_one_page_checkout_enabled\n locale\n max_items_in_order_summary\n optional_zip_countries\n shopping_cart_display_full_summary\n shopping_cart_display_grand_total\n shopping_cart_display_price\n shopping_cart_display_shipping\n shopping_cart_display_subtotal\n shopping_cart_display_tax_gift_wrapping\n shopping_cart_display_zero_tax\n store_code\n }\n }\n",{method:"GET",cache:"no-cache"}).then((t=>{var{data:e,errors:n}=t;return(0,c.Y)(n),function(t){if(!t)return a.IJ;var e,{default_country:n,countries_with_required_region:r,display_state_if_optional:i,optional_zip_countries:c,is_guest_checkout_enabled:d,is_one_page_checkout_enabled:u,shopping_cart_display_price:h,shopping_cart_display_shipping:y,shopping_cart_display_subtotal:f,shopping_cart_display_tax_gift_wrapping:g,shopping_cart_display_grand_total:m,shopping_cart_display_full_summary:b,shopping_cart_display_zero_tax:_,max_items_in_order_summary:v,cart_summary_display_quantity:k}=t;return{defaultCountry:n||a.IJ.defaultCountry,countriesWithRequiredRegion:(null==r?void 0:r.split(","))||a.IJ.countriesWithRequiredRegion,displayStateIfOptional:i||a.IJ.displayStateIfOptional,countriesWithOptionalZipCode:(null==c?void 0:c.split(","))||a.IJ.countriesWithOptionalZipCode,isGuestCheckoutEnabled:d||a.IJ.isGuestCheckoutEnabled,isOnePageCheckoutEnabled:u||a.IJ.isOnePageCheckoutEnabled,taxCartDisplay:{shoppingCartDisplayPrice:h?l(h):a.IJ.taxCartDisplay.shoppingCartDisplayPrice,shoppingCartDisplayShipping:y?l(y):a.IJ.taxCartDisplay.shoppingCartDisplayShipping,shoppingCartDisplaySubtotal:f?l(f):a.IJ.taxCartDisplay.shoppingCartDisplaySubtotal,shoppingCartDisplayGiftWrapping:g?p(g):a.IJ.taxCartDisplay.shoppingCartDisplayGiftWrapping,shoppingCartDisplayGrandTotal:m||a.IJ.taxCartDisplay.shoppingCartDisplayGrandTotal,shoppingCartDisplayFullSummary:b||a.IJ.taxCartDisplay.shoppingCartDisplayFullSummary,shoppingCartDisplayZeroTax:_||a.IJ.taxCartDisplay.shoppingCartDisplayZeroTax},cartSummaryMaxItems:v||a.IJ.cartSummaryMaxItems,cartSummaryTotalDisplay:(0,s.q)(k)?a.IJ.cartSummaryTotalDisplay:(e=k,0===e?o.E.Rows:o.E.Quantity)}}(null==e?void 0:e.storeConfig)})).catch(d.i)},function(){var e=this,n=arguments;return new Promise((function(r,i){var a=t.apply(e,n);function o(t){u(a,r,i,o,s,"next",t)}function s(t){u(a,r,i,o,s,"throw",t)}o(void 0)}))});return function(){return e.apply(this,arguments)}}()},2216:(t,e,n)=>{n.d(e,{_:()=>g});var r=n(5536),i=n.n(r),a=n(7008),o=n.n(a),s=n(1496),l=n.n(s),p=n(9356),c=n.n(p),d=n(9904),u=n.n(d),h=n(7696),y={attributes:{"data-dropin":"storefront-checkout","data-sdk":"0.22.0"},styleTagTransform:function(t,e){window._loadedStyles=window._loadedStyles??{};const n=t?.match(/^\.dropin-(\w+)/)?.[1],r=e.getAttribute("data-sdk"),i=n?`sdk/${n}`:e.getAttribute("data-dropin");e.setAttribute("data-dropin",i),e.removeAttribute("data-sdk");const a=window._loadedStyles[i];if(a){const i=function(t,e){const[n,r]=t.split("-"),[i,a]=e.split("-"),o=[...n.split("."),r],s=[...i.split("."),a],l=parseInt(o[0],10),p=parseInt(s[0],10);if(l!==p)return l>p?t:e;const c=parseInt(o[1],10),d=parseInt(s[1],10);if(c!==d)return c>d?t:e;const u=parseInt(o[2],10),h=parseInt(s[2],10);if(u!==h)return u>h?t:e;if(o[3]&&s[3]){const n=/(alpha|beta)(.*)/,r=o[3].match(n),i=s[3].match(n),a=r[1],l=i[1],p=parseInt(r[2],10),c=parseInt(i[2],10);if(a===l)return p>c?t:e;if("alpha"===a&&"beta"===l)return e;if("beta"===a&&"alpha"===l)return t}return o[3]?e:t}(r,a.sdk);if(!n||n&&i===a.sdk){const e=a.style.textContent;a.style.textContent=`${e}\n/* --- MERGED --- */\n${t}`}else n&&i!==a.sdk&&(a.style.textContent=`/* --- UPGRADED --- */\n${t}`);return void e.remove()}e.textContent=t,window._loadedStyles[i]={sdk:r,core:n,style:e};const o=document.querySelector("head"),{lastDropinStyleInjected:s,lastSDKStyleInjected:l}=window._loadedStyles;n?(l?o.insertBefore(e,l.nextSibling):o.insertBefore(e,o.firstChild),window._loadedStyles.lastSDKStyleInjected=e):(s?o.insertBefore(e,s.nextSibling):l?o.insertBefore(e,l.nextSibling):o.insertBefore(e,o.firstChild),window._loadedStyles.lastDropinStyleInjected=e)}};y.setAttributes=c(),y.insert=l().bind(null,"head"),y.domAPI=o(),y.insertStyleElement=u();i()(h.c,y);h.c&&h.c.locals&&h.c.locals;var f=n(8412),g=t=>{var{className:e,children:n,level:r=2}=t,i=r>=1&&r<=6?"h".concat(r):"h2";return(0,f.im)(i,{className:e,children:n})}},6768:(t,e,n)=>{n.d(e,{AB:()=>r.A,EP:()=>r.E,cp:()=>r.E});var r=n(3316)},2256:(t,e,n)=>{n.d(e,{EV:()=>c,IJ:()=>l,o3:()=>d});var r=n(1036),i=n(4723),a=n(304),o=n(8596),s=n(8412),l={defaultCountry:"US",countriesWithRequiredRegion:[],displayStateIfOptional:!1,countriesWithOptionalZipCode:[],isGuestCheckoutEnabled:!1,isOnePageCheckoutEnabled:!1,taxCartDisplay:{shoppingCartDisplayPrice:i.m.ExcludingTax,shoppingCartDisplayShipping:i.m.ExcludingTax,shoppingCartDisplaySubtotal:i.m.ExcludingTax,shoppingCartDisplayGiftWrapping:i.m.ExcludingTax,shoppingCartDisplayGrandTotal:!1,shoppingCartDisplayFullSummary:!1,shoppingCartDisplayZeroTax:!1},cartSummaryMaxItems:10,cartSummaryTotalDisplay:i.E.Quantity},p=(0,a.GY)(void 0),c=t=>{var{children:e}=t,[n,i]=(0,o.oT)();return(0,o.YB)((()=>{(0,r.a)().then((t=>{i(t)})).catch((()=>{console.error("Failed to fetch store config"),i(l)}))}),[]),(0,s.im)(p.Provider,{value:{config:n},children:e})};function d(){var t=(0,o.Co)(p);if(void 0!==t)return t;throw new Error("useStore must be used within a StoreProvider")}},5172:(t,e,n)=>{n.d(e,{s:()=>r,w:()=>i});var r=function(t){return t.InStock="IN_STOCK",t.OutOfStock="OUT_OF_STOCK",t}({}),i=function(t){return t.Simple="SimpleProduct",t.Configurable="ConfigurableProduct",t.Downloadable="DownloadableProduct",t.GiftCard="GiftCardProduct",t.Virtual="VirtualProduct",t.Bundle="BundleProduct",t}({})},4723:(t,e,n)=>{n.d(e,{E:()=>i,m:()=>r});var r=function(t){return t[t.ExcludingTax=1]="ExcludingTax",t[t.IncludingTax=2]="IncludingTax",t[t.IncludingAndExcludingTax=3]="IncludingAndExcludingTax",t}({}),i=function(t){return t[t.Rows=0]="Rows",t[t.Quantity=1]="Quantity",t}({})},764:(t,e,n)=>{n.d(e,{Y:()=>r});var r=t=>{if(t)throw Error(t.map((t=>t.message)).join(" "))}},5668:(t,e,n)=>{n.d(e,{cartSignal:()=>r});var r=(0,n(1520).OC)({pending:!1,data:void 0})},4480:(t,e,n)=>{n.d(e,{c:()=>s});var r=n(6008),i=n.n(r),a=n(2076),o=n.n(a)()(i());o.push([t.id,".dropin-icon{\n}\n\n.dropin-icon--shape-stroke-1{\n stroke-width:var(--shape-icon-stroke-1);\n}\n\n.dropin-icon--shape-stroke-2{\n stroke-width:var(--shape-icon-stroke-2);\n}\n\n.dropin-icon--shape-stroke-3{\n stroke-width:var(--shape-icon-stroke-3);\n}\n\n.dropin-icon--shape-stroke-4{\n stroke-width:var(--shape-icon-stroke-4);\n}\n",""]);const s=o},7696:(t,e,n)=>{n.d(e,{c:()=>s});var r=n(6008),i=n.n(r),a=n(2076),o=n.n(a)()(i());o.push([t.id,"\n",""]);const s=o},8122:(e,n,r)=>{e.exports=(t=>{var e={};return r.d(e,t),e})({events:()=>t.events})},8616:(t,n,r)=>{t.exports=(t=>{var e={};return r.d(e,t),e})({FetchGraphQL:()=>e.FetchGraphQL})}};import n from"../runtime.js";import*as r from"../8412.js";n.C(r);import*as i from"../2892.js";n.C(i);import*as a from"../4928.js";n.C(a);import*as o from"../2956.js";n.C(o);import*as s from"../1424.js";n.C(s);import*as l from"../8668.js";n.C(l);import*as p from"../3316.js";n.C(p);import*as c from"./CartSummary.js";n.C(c);var d,u=(d=6768,n(n.s=d)),h=u.EP,y=u.cp,f=u.AB;export{h as CartSummary,y as default,f as useCartSummary};
1
+ import{C as b,C as c,u as g}from"../chunks/CartSummary.js";import"@dropins/tools/lib.js";import"../chunks/ToggleButton.js";import"@dropins/tools/event-bus.js";import"../chunks/getStoreConfig.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/preact.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/getMultilineValues.js";import"../chunks/transform-shipping-methods.js";import"@dropins/tools/i18n.js";import"@dropins/tools/components.js";/* empty css */import"@dropins/tools/preact-compat.js";import"../chunks/cart-item.js";export{b as CartSummary,c as default,g as useCartSummary};
2
+ //# sourceMappingURL=CartSummary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CartSummary.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}