@occluze/tether 0.6.8 → 0.7.1

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 (215) hide show
  1. package/README.md +28 -28
  2. package/dist/esm/astro.js +2 -2
  3. package/dist/esm/chunks/account-CXMA5RPZ.js +1 -0
  4. package/dist/esm/chunks/account-pages-IZO7FEOZ.js +1 -0
  5. package/dist/esm/chunks/analytics-PG5FPRDN.js +1 -0
  6. package/dist/esm/chunks/chunk-4HD4J5JC.js +1 -0
  7. package/dist/esm/chunks/chunk-6TFMLT4A.js +4 -0
  8. package/dist/esm/chunks/chunk-BBVUVPMO.js +1 -0
  9. package/dist/esm/chunks/chunk-E5YO6274.js +1 -0
  10. package/dist/esm/chunks/chunk-EW5SYO6L.js +1 -0
  11. package/dist/esm/chunks/chunk-HJY2JSNB.js +1 -0
  12. package/dist/esm/chunks/chunk-MQYB6BH4.js +1 -0
  13. package/dist/esm/chunks/chunk-N3V45JPS.js +1 -0
  14. package/dist/esm/chunks/chunk-RPMBCAGS.js +1 -0
  15. package/dist/esm/chunks/chunk-VFNHIGCS.js +1 -0
  16. package/dist/esm/chunks/chunk-WT7RGGJU.js +1 -0
  17. package/dist/esm/chunks/chunk-YN6LEBEN.js +1 -0
  18. package/dist/esm/chunks/chunk-Z6HS3H7K.js +1 -0
  19. package/dist/esm/chunks/diagnose-XCEBQKBO.js +14 -0
  20. package/dist/esm/chunks/extras-4HU3VSBQ.js +1 -0
  21. package/dist/esm/chunks/markets-ui-M4IQ62CT.js +1 -0
  22. package/dist/esm/chunks/search-A5DS2IOS.js +1 -0
  23. package/dist/esm/index.js +1 -1
  24. package/dist/esm/server.js +2 -2
  25. package/dist/presets/barba.esm.js +19 -23
  26. package/dist/tether.account-pages.js +332 -367
  27. package/dist/tether.account-pages.min.js +1 -1
  28. package/dist/tether.account.js +253 -492
  29. package/dist/tether.account.min.js +1 -1
  30. package/dist/tether.analytics.js +82 -89
  31. package/dist/tether.analytics.min.js +1 -1
  32. package/dist/tether.diagnose.js +52 -34
  33. package/dist/tether.diagnose.min.js +2 -2
  34. package/dist/tether.extras.js +42 -37
  35. package/dist/tether.extras.min.js +1 -1
  36. package/dist/tether.js +1361 -935
  37. package/dist/tether.markets.js +89 -91
  38. package/dist/tether.markets.min.js +1 -1
  39. package/dist/tether.min.js +0 -0
  40. package/dist/tether.min.js.map +4 -4
  41. package/dist/tether.search.js +60 -69
  42. package/dist/tether.search.min.js +1 -1
  43. package/dist/types/server/src/shared/account-orders.d.ts +44 -0
  44. package/dist/types/server/src/shared/account-routes.d.ts +153 -0
  45. package/dist/types/server/src/shared/api-versions.d.ts +13 -0
  46. package/dist/types/server/src/shared/cart-id.d.ts +2 -0
  47. package/dist/types/server/src/shared/error-message.d.ts +2 -0
  48. package/dist/types/server/src/shared/json.d.ts +25 -0
  49. package/dist/types/server/src/shared/market-codes.d.ts +16 -0
  50. package/dist/types/src/account/addresses-view.d.ts +5 -0
  51. package/dist/types/src/account/answers.d.ts +40 -0
  52. package/dist/types/src/account/markup.d.ts +19 -0
  53. package/dist/types/src/account/operations.d.ts +41 -0
  54. package/dist/types/src/account/order-lines.d.ts +13 -0
  55. package/dist/types/src/account/order-list.d.ts +12 -0
  56. package/dist/types/src/account/order-page.d.ts +6 -0
  57. package/dist/types/src/account/page-answers.d.ts +182 -0
  58. package/dist/types/src/account/page-events.d.ts +2 -0
  59. package/dist/types/src/account/server-client.d.ts +60 -0
  60. package/dist/types/src/account/subscriptions-view.d.ts +2 -0
  61. package/dist/types/src/account-api.d.ts +18 -0
  62. package/dist/types/src/account-marks.d.ts +15 -0
  63. package/dist/types/src/account-pages.d.ts +8 -0
  64. package/dist/types/src/account.d.ts +64 -0
  65. package/dist/types/src/amounts.d.ts +12 -0
  66. package/dist/types/src/analytics-shopify.d.ts +41 -0
  67. package/dist/types/src/analytics.d.ts +2 -0
  68. package/dist/types/src/api-version.d.ts +28 -0
  69. package/dist/types/src/astro.d.ts +42 -0
  70. package/dist/types/src/cart/cart-shape.d.ts +43 -0
  71. package/dist/types/src/cart/checkout.d.ts +16 -0
  72. package/dist/types/src/cart/drawer.d.ts +18 -0
  73. package/dist/types/src/cart/mutations.d.ts +85 -0
  74. package/dist/types/src/cart/render.d.ts +17 -0
  75. package/dist/types/src/cart/store.d.ts +185 -0
  76. package/dist/types/src/cart.d.ts +106 -0
  77. package/dist/types/src/client.d.ts +134 -0
  78. package/dist/types/src/collection.d.ts +25 -0
  79. package/dist/types/src/config-sections.d.ts +40 -0
  80. package/dist/types/src/config.d.ts +190 -0
  81. package/dist/types/src/controls/cart-controls.d.ts +2 -0
  82. package/dist/types/src/controls/discount.d.ts +2 -0
  83. package/dist/types/src/controls/extras.d.ts +5 -0
  84. package/dist/types/src/controls/navigation.d.ts +12 -0
  85. package/dist/types/src/diagnose-markup.d.ts +19 -0
  86. package/dist/types/src/diagnose.d.ts +60 -0
  87. package/dist/types/src/dom.d.ts +75 -0
  88. package/dist/types/src/extras.d.ts +21 -0
  89. package/dist/types/src/fragments.d.ts +158 -0
  90. package/dist/types/src/globals.d.ts +15 -0
  91. package/dist/types/src/images.d.ts +20 -0
  92. package/dist/types/src/index.d.ts +167 -0
  93. package/dist/types/src/initial.d.ts +56 -0
  94. package/dist/types/src/lazy.d.ts +28 -0
  95. package/dist/types/src/loader.d.ts +84 -0
  96. package/dist/types/src/market-codes.d.ts +6 -0
  97. package/dist/types/src/markets-ui.d.ts +32 -0
  98. package/dist/types/src/markets.d.ts +72 -0
  99. package/dist/types/src/markup.d.ts +131 -0
  100. package/dist/types/src/mounting.d.ts +46 -0
  101. package/dist/types/src/page-market.d.ts +27 -0
  102. package/dist/types/src/presets/barba.d.ts +56 -0
  103. package/dist/types/src/product-events.d.ts +2 -0
  104. package/dist/types/src/product-render.d.ts +17 -0
  105. package/dist/types/src/product-shape.d.ts +90 -0
  106. package/dist/types/src/product-state.d.ts +110 -0
  107. package/dist/types/src/product.d.ts +66 -0
  108. package/dist/types/src/repeaters.d.ts +16 -0
  109. package/dist/types/src/search.d.ts +33 -0
  110. package/dist/types/src/selling-plans.d.ts +64 -0
  111. package/dist/types/src/server.d.ts +88 -0
  112. package/dist/types/src/shopify-values.d.ts +46 -0
  113. package/dist/types/src/status.d.ts +33 -0
  114. package/dist/types/src/storage.d.ts +12 -0
  115. package/dist/types/src/store-html.d.ts +39 -0
  116. package/dist/types/src/storefront/catalog.d.ts +38 -0
  117. package/dist/types/src/storefront/json-ld.d.ts +20 -0
  118. package/dist/types/src/variant-render.d.ts +14 -0
  119. package/package.json +24 -24
  120. package/dist/esm/chunks/account-C3NP6HFB.js +0 -1
  121. package/dist/esm/chunks/account-pages-WLK374FO.js +0 -1
  122. package/dist/esm/chunks/analytics-G3SAWMNL.js +0 -1
  123. package/dist/esm/chunks/chunk-27PJJZGC.js +0 -1
  124. package/dist/esm/chunks/chunk-2FSXS55U.js +0 -1
  125. package/dist/esm/chunks/chunk-FCSWQDVV.js +0 -1
  126. package/dist/esm/chunks/chunk-FOMSMIAM.js +0 -1
  127. package/dist/esm/chunks/chunk-GZJTCLLW.js +0 -1
  128. package/dist/esm/chunks/chunk-HEQILZVR.js +0 -1
  129. package/dist/esm/chunks/chunk-JOOEXYF3.js +0 -4
  130. package/dist/esm/chunks/chunk-MPTQYLSM.js +0 -1
  131. package/dist/esm/chunks/chunk-NEHZ37TU.js +0 -3
  132. package/dist/esm/chunks/chunk-V74KGEJF.js +0 -1
  133. package/dist/esm/chunks/chunk-VT4CDUJJ.js +0 -1
  134. package/dist/esm/chunks/chunk-YJLWX2HK.js +0 -1
  135. package/dist/esm/chunks/diagnose-6VVGZNTY.js +0 -14
  136. package/dist/esm/chunks/extras-GJVRDFM3.js +0 -1
  137. package/dist/esm/chunks/markets-ui-UNB4PTA7.js +0 -1
  138. package/dist/esm/chunks/search-OU75RNQL.js +0 -1
  139. package/src/account/addresses-view.js +0 -92
  140. package/src/account/browser-session.js +0 -359
  141. package/src/account/markup.js +0 -48
  142. package/src/account/operations.js +0 -180
  143. package/src/account/order-lines.js +0 -96
  144. package/src/account/order-list.js +0 -91
  145. package/src/account/order-page.js +0 -192
  146. package/src/account/page-events.js +0 -288
  147. package/src/account/server-client.js +0 -172
  148. package/src/account/shared.js +0 -111
  149. package/src/account/shopify-auth.js +0 -150
  150. package/src/account/subscriptions-view.js +0 -158
  151. package/src/account-api.js +0 -118
  152. package/src/account-links.js +0 -35
  153. package/src/account-pages.js +0 -89
  154. package/src/account.js +0 -342
  155. package/src/amounts.js +0 -36
  156. package/src/analytics-shopify.js +0 -241
  157. package/src/analytics.js +0 -352
  158. package/src/api-version.js +0 -85
  159. package/src/astro.js +0 -266
  160. package/src/cart/checkout.js +0 -97
  161. package/src/cart/drawer.js +0 -138
  162. package/src/cart/mutations.js +0 -234
  163. package/src/cart/render.js +0 -294
  164. package/src/cart/store.js +0 -326
  165. package/src/cart.js +0 -391
  166. package/src/client.js +0 -267
  167. package/src/collection.js +0 -183
  168. package/src/config.js +0 -349
  169. package/src/controls/cart-controls.js +0 -155
  170. package/src/controls/discount.js +0 -96
  171. package/src/controls/extras.js +0 -63
  172. package/src/controls/navigation.js +0 -83
  173. package/src/diagnose-markup.js +0 -333
  174. package/src/diagnose.js +0 -295
  175. package/src/dom.js +0 -287
  176. package/src/extras.js +0 -145
  177. package/src/fragments.js +0 -237
  178. package/src/images.js +0 -104
  179. package/src/index.js +0 -353
  180. package/src/initial.js +0 -87
  181. package/src/lazy-iife.js +0 -116
  182. package/src/lazy.js +0 -39
  183. package/src/loader.js +0 -337
  184. package/src/market-codes.js +0 -35
  185. package/src/markets-ui.js +0 -204
  186. package/src/markets.js +0 -334
  187. package/src/markup.js +0 -64
  188. package/src/mounting.js +0 -277
  189. package/src/page-market.js +0 -116
  190. package/src/parts/account-pages.js +0 -6
  191. package/src/parts/account.js +0 -6
  192. package/src/parts/analytics.js +0 -6
  193. package/src/parts/diagnose.js +0 -6
  194. package/src/parts/extras.js +0 -6
  195. package/src/parts/markets.js +0 -6
  196. package/src/parts/search.js +0 -6
  197. package/src/presets/barba.js +0 -190
  198. package/src/product-events.js +0 -130
  199. package/src/product-render.js +0 -257
  200. package/src/product-state.js +0 -318
  201. package/src/product.js +0 -344
  202. package/src/repeaters.js +0 -173
  203. package/src/search.js +0 -323
  204. package/src/selling-plans.js +0 -154
  205. package/src/server.js +0 -215
  206. package/src/shopify-values.js +0 -89
  207. package/src/status.js +0 -126
  208. package/src/store-html.js +0 -0
  209. package/src/storefront/catalog.js +0 -199
  210. package/src/storefront/json-ld.js +0 -167
  211. package/src/variant-render.js +0 -165
  212. package/types/astro.d.ts +0 -28
  213. package/types/barba.d.ts +0 -16
  214. package/types/index.d.ts +0 -577
  215. package/types/server.d.ts +0 -182
@@ -1 +1 @@
1
- "use strict";(()=>{var Te=Object.defineProperty;var xe=(e,t)=>{for(var r in t)Te(e,r,{get:t[r],enumerable:!0})};var ne={};xe(ne,{addresses:()=>K,deleteAddress:()=>X,order:()=>G,renderPages:()=>it,requestReturn:()=>W,saveAddress:()=>_,setup:()=>ce,showUnavailable:()=>at,subscriptionAction:()=>Q,subscriptions:()=>J,updateProfile:()=>z});var Ee=window.Tether.__core["config.js"],{DEFAULTS:ct,cfg:oe,configure:ut,isConfigured:lt,log:ft,reportError:E,resolveConfig:pt,toMetafieldIdentifier:mt,warn:ht}=Ee;var Ce=window.Tether.__core["dom.js"],{attr:y,busy:gt,cdnUrl:bt,emit:ie,formatDate:wt,formatMoney:g,formatPercent:At,get:p,has:It,hasTemplate:Tt,imageUrl:xt,notifyLayoutChanged:Et,parseJSONAttr:Ct,productUrl:St,qsa:u,repeat:A,repeatKeyed:$t,sameImage:Dt,scoped:Ot,sel:a,setImage:F,setSelected:qt,setStoreHtml:Rt,setText:h,setTextTracked:vt,show:H,toAttributes:Pt,watchImages:kt}=Ce;var Se=window.Tether.__core["client.js"],{TetherError:R,endpoint:Lt,gql:Ut,request:Bt,unwrap:_t,withContext:Mt}=Se;var m=class extends Error{constructor(t,{status:r=400,userErrors:s=[]}={}){super(t),this.name="InputError",this.status=r,this.userErrors=s}},I="amount currencyCode",L="id firstName lastName company address1 address2 city province zoneCode zip country countryCode phoneNumber formatted",w="userErrors { field message }",V={order:`query TetherOrder($id:ID!){order(id:$id){id name number processedAt cancelledAt financialStatus fulfillmentStatus statusPageUrl requiresShipping totalPrice{${I}}subtotal{${I}}totalShipping{${I}}totalTax{${I}}shippingAddress{${L}}billingAddress{${L}}lineItems(first:50){nodes{id name title variantTitle quantity sku image{url altText}price{${I}}totalPrice{${I}}suggestedReturnReasonDefinitions(first:10){nodes{id name handle}}}}fulfillments(first:10){nodes{id status createdAt estimatedDeliveryAt latestShipmentStatus trackingInformation{company number url}}}returnInformation{returnableLineItems(first:50){nodes{quantity lineItem{id}}}}returns(first:10){nodes{id status}}}}`,addresses:`query TetherAddresses{customer{defaultAddress{id}addresses(first:20){nodes{${L}}}}}`,subscriptions:`query TetherSubscriptions{customer{subscriptionContracts(first:20,reverse:true){nodes{id status nextBillingDate currencyCode deliveryPrice{${I}}deliveryPolicy{interval intervalCount{count}}lines(first:20){nodes{id name title variantTitle quantity sku currentPrice{${I}}lineDiscountedPrice{${I}}image{url altText}}}upcomingBillingCycles(first:3){nodes{cycleIndex skipped billingAttemptExpectedDate}}}}}}`,contract:"query TetherContract($id:ID!){customer{subscriptionContract(id:$id){id status upcomingBillingCycles(first:3){nodes{cycleIndex skipped}}}}}"},N={profile:`mutation TetherProfile($input:CustomerUpdateInput!){customerUpdate(input:$input){customer{firstName lastName}${w}}}`,addressCreate:`mutation TetherAddressCreate($address:CustomerAddressInput!,$default:Boolean){customerAddressCreate(address:$address,defaultAddress:$default){customerAddress{${L}}${w}}}`,addressUpdate:`mutation TetherAddressUpdate($id:ID!,$address:CustomerAddressInput,$default:Boolean){customerAddressUpdate(addressId:$id,address:$address,defaultAddress:$default){customerAddress{${L}}${w}}}`,addressDelete:`mutation TetherAddressDelete($id:ID!){customerAddressDelete(addressId:$id){deletedAddressId ${w}}}`,returnRequest:`mutation TetherReturn($orderId:ID!,$lines:[RequestedLineItemInput!]!){orderRequestReturn(orderId:$orderId,requestedLineItems:$lines){return{id status}${w}}}`},ae={pause:{document:`mutation TetherPause($id:ID!){subscriptionContractPause(subscriptionContractId:$id){contract{id status}${w}}}`,payload:"subscriptionContractPause",input:"contract"},resume:{document:`mutation TetherResume($id:ID!){subscriptionContractActivate(subscriptionContractId:$id){contract{id status}${w}}}`,payload:"subscriptionContractActivate",input:"contract"},cancel:{document:`mutation TetherCancel($id:ID!){subscriptionContractCancel(subscriptionContractId:$id){contract{id status}${w}}}`,payload:"subscriptionContractCancel",input:"contract"},skip:{document:`mutation TetherSkip($input:SubscriptionBillingCycleInput!){subscriptionBillingCycleSkip(billingCycleInput:$input){billingCycle{cycleIndex skipped}${w}}}`,payload:"subscriptionBillingCycleSkip",input:"billingCycle"},unskip:{document:`mutation TetherUnskip($input:SubscriptionBillingCycleInput!){subscriptionBillingCycleUnskip(billingCycleInput:$input){billingCycle{cycleIndex skipped}${w}}}`,payload:"subscriptionBillingCycleUnskip",input:"billingCycle"}};function $e(e){return typeof e=="string"&&Object.hasOwn(ae,e)}function c(e,t){if(!(e===null||typeof e!="object"))return e[t]}function te(e){let t=c(e,"nodes");return Array.isArray(t)?t:[]}var De=/^\d{1,20}$/;function D(e,t){let r=typeof t=="string"||typeof t=="number"?String(t):"",s=De.test(r)?`gid://shopify/${e}/${r}`:r;if(!new RegExp(`^gid://shopify/${e}/\\d+(\\?[\\w=&.-]{1,80})?$`).test(s))throw new m(`${e} id`);return s}var Oe=/[\u0000-\u001f\u007f]/g;function U(e,t=255){if(e==null||e==="")return;if(typeof e!="string"&&typeof e!="number")throw new m("text");let r=String(e).replace(Oe,"").trim();if(r.length>t)throw new m("too long");return r}var qe=["firstName","lastName","company","address1","address2","city","zip","zoneCode","phoneNumber"];function Re(e,{clear:t=!1}={}){if(e===null||typeof e!="object"||Array.isArray(e))throw new m("address");let r=e,s={};for(let o of qe){let i=U(r[o]);i!==void 0?s[o]=i:t&&o in r&&(r[o]===""||r[o]===null)&&(s[o]="")}let n=U(r.countryCode);if(n!==void 0){let o=n.toUpperCase();if(!/^[A-Z]{2}$/.test(o))throw new m("countryCode");s.countryCode=o}return s}function O(e,t){let r=c(e,t),s=c(r,"userErrors");if(Array.isArray(s)&&s.length){let n=s;throw new m(n.map(o=>o.message).join(" | "),{userErrors:n})}return r}var de={async order(e,{id:t}){let r=await e(V.order,{id:D("Order",t)});return{order:c(r,"order")??null}},async profile(e,{firstName:t,lastName:r}){let s={};if(t!==void 0&&(s.firstName=U(t,100)??""),r!==void 0&&(s.lastName=U(r,100)??""),!Object.keys(s).length)throw new m("nothing to change");let n=O(await e(N.profile,{input:s}),"customerUpdate");return{customer:c(n,"customer")}},async addresses(e){let t=c(await e(V.addresses,{}),"customer"),r=c(c(t,"defaultAddress"),"id")??null;return{addresses:te(c(t,"addresses")).map(n=>({...n,isDefault:c(n,"id")===r}))}},async saveAddress(e,{id:t,address:r,isDefault:s}){let n=Re(r??{},{clear:!!t}),o=s===!0;if(!t){let d=await e(N.addressCreate,{address:n,default:o});return{address:c(O(d,"customerAddressCreate"),"customerAddress")}}let i=await e(N.addressUpdate,{id:D("CustomerAddress",t),address:Object.keys(n).length?n:null,default:o?!0:null});return{address:c(O(i,"customerAddressUpdate"),"customerAddress")}},async deleteAddress(e,{id:t}){let r=await e(N.addressDelete,{id:D("CustomerAddress",t)});return{deleted:c(O(r,"customerAddressDelete"),"deletedAddressId")}},async subscriptions(e){let t=c(c(await e(V.subscriptions,{}),"customer"),"subscriptionContracts");return{subscriptions:te(t)}},async subscription(e,{id:t,action:r}){if(!$e(r))throw new m("action");let s=D("SubscriptionContract",t),n=c(c(await e(V.contract,{id:s}),"customer"),"subscriptionContract");if(!n)throw new m("not found",{status:404});let{document:o,payload:i,input:d}=ae[r];if(d==="contract")return{contract:c(O(await e(o,{id:s}),i),"contract")};let l=te(c(n,"upcomingBillingCycles")),T=r==="unskip",x=l.find(Ie=>!!c(Ie,"skipped")===T);if(!x)throw new m(T?"nothing skipped":"no upcoming delivery to skip");let Ae={input:{contractId:s,selector:{index:c(x,"cycleIndex")}}};return{billingCycle:c(O(await e(o,Ae),i),"billingCycle")}},async requestReturn(e,{orderId:t,lines:r}){let s=D("Order",t);if(!Array.isArray(r)||!r.length||r.length>50)throw new m("lines");let n=r.map(i=>{let d=Number(c(i,"quantity"));if(!Number.isInteger(d)||d<1||d>1e3)throw new m("quantity");let l={lineItemId:D("LineItem",c(i,"lineItemId")),quantity:d},T=c(i,"reasonId");T&&(l.returnReasonDefinitionId=D("ReturnReasonDefinition",T));let x=U(c(i,"note"),300);return x&&(l.customerNote=x),l}),o=await e(N.returnRequest,{orderId:s,lines:n});return{return:c(O(o,"orderRequestReturn"),"return")}}};var re=null;function ce(e){re=e}function v(){if(!re)throw new Error("account-pages: loaded without the account part");return re}var ve={order:e=>["GET",`/order?id=${encodeURIComponent(String(e.id))}`],addresses:()=>["GET","/addresses"],subscriptions:()=>["GET","/subscriptions"],profile:()=>["POST","/profile"],saveAddress:()=>["POST","/address"],deleteAddress:()=>["POST","/address/delete"],subscription:()=>["POST","/subscription"],requestReturn:()=>["POST","/return"]};async function C(e,t={}){let{serverBase:r,serverFetch:s,query:n}=v();if(r()){let[i,d]=ve[e](t),l=await s(d,i==="POST"?{method:i,body:t}:{});if(l.kind==="logged-out")throw new R("Not logged in",{code:"NOT_LOGGED_IN",status:401});return l.data}let o=de[e];if(!o)throw new R(`Customer accounts: no operation ${e}`);try{return await o(async(i,d)=>await n(i,d),t)}catch(i){throw i instanceof m?new R(i.message,{code:"INVALID",userErrors:i.userErrors}):i}}function B(e){v().reset(),ie("account-updated",{what:e})}async function G(e){return(await C("order",{id:e})).order??null}async function z({firstName:e,lastName:t}={}){let r=await C("profile",{firstName:e,lastName:t});return B("profile"),r.customer}async function K(){return(await C("addresses")).addresses}async function _(e,{id:t,isDefault:r}={}){let s=await C("saveAddress",{id:t,address:e,isDefault:r});return B("addresses"),s.address}async function X(e){let t=await C("deleteAddress",{id:e});return B("addresses"),t.deleted}async function J(){return(await C("subscriptions")).subscriptions}async function Q(e,t){let r=await C("subscription",{id:e,action:t});return B("subscriptions"),r}async function W(e,t){let r=await C("requestReturn",{orderId:e,lines:t});return B("orders"),r.return}var Pe=window.Tether.__core["shopify-values.js"],{STORE_ENV_NAMES:Kt,formatMoney:Xt,isHttpsUrl:Y,isSecretShopifyToken:Jt,productKey:Qt,productUrl:Wt}=Pe;function q(e){try{return new Date(e).toLocaleDateString(oe.locale)}catch(t){if(t instanceof RangeError)return e;throw t}}function f(e,t,r){u(e,a(t)).forEach(s=>{let n=p(s,t)??"";Object.hasOwn(r,n)&&H(s,r[n]===!0)})}var S=(e,t)=>u(e,a(t)).concat(e.matches(a(t))?[e]:[]),$=e=>e?e.toLowerCase().replace(/_/g," "):"",M=e=>(e?.formatted??[]).join(", "),b=(e,t)=>Object.hasOwn(e,t)?e[t]:void 0;var ke=(e,t)=>({title:e.title||e.name,"variant-title":e.variantTitle||"",quantity:String(e.quantity),price:g(e.price),total:g(e.totalPrice),sku:e.sku||"",returnable:t===null?void 0:String(t)}),Ne=e=>e.tagName==="INPUT";function Le(e,t,r){f(e,"order-line-show",{returnable:r>0}),u(e,a("return-quantity")).forEach(s=>{Ne(s)&&(s.max=String(r),s.min="0",s.value||(s.value="0"),s.disabled=r<1)}),u(e,`select${a("return-reason")}`).forEach(s=>{s.dataset.tetherFilled!==t.id&&(s.dataset.tetherFilled=t.id,(t.suggestedReturnReasonDefinitions?.nodes??[]).forEach(n=>{s.appendChild(new Option(n.name,n.id))}))})}function ue(e,t,r){A(e,t,(s,n)=>{let o=n.id,i=r&&o?r.get(o)??0:null;o&&(s.dataset.tetherLine=o);let d=ke(n,i);S(s,"order-line").forEach(l=>{let T=p(l,"order-line")??"";if(T==="image"){n.image&&F(l,n.image.url,n.image.altText||n.title);return}let x=b(d,T);x!==void 0&&h(l,x)}),o&&i!==null&&Le(s,{...n,id:o},i)})}function Ue(e){let t=p(e,"order")||"";return t.startsWith("url:")?new URL(window.location.href).searchParams.get(t.slice(4)||"id"):t}function j(e,t){e.setAttribute(y("order-state"),t),f(e,"order-show",{loading:t==="loading",ready:!1,"not-found":t==="not-found",error:t==="error"})}var Be=e=>({name:e.name,date:q(e.processedAt),total:g(e.totalPrice),subtotal:g(e.subtotal),shipping:g(e.totalShipping),tax:g(e.totalTax),status:$(e.financialStatus),fulfillment:$(e.fulfillmentStatus),"shipping-address":M(e.shippingAddress),"billing-address":M(e.billingAddress),items:e.lineItems.nodes.map(t=>`${t.quantity}\xD7 ${t.title||t.name}`).join(", "),cancelled:e.cancelledAt?q(e.cancelledAt):""});function _e(e,t){let r=t.trackingInformation[0],s={status:$(t.latestShipmentStatus||t.status),date:q(t.createdAt),eta:t.estimatedDeliveryAt?q(t.estimatedDeliveryAt):"",company:r?.company||"",number:r?.number||""};S(e,"fulfillment-bind").forEach(n=>{let o=p(n,"fulfillment-bind")??"";if(o==="url"){let d=r?.url,l=Y(d);l&&d&&n.setAttribute("href",d),H(n,l);return}let i=b(s,o);i!==void 0&&h(n,i)})}function Me(e,t){let r=new Map((t.returnInformation?.returnableLineItems.nodes??[]).map(i=>[i.lineItem?.id??"",i.quantity])),s=t.fulfillments.nodes,n=Be(t);u(e,a("order-bind")).forEach(i=>{let d=p(i,"order-bind")??"";if(d==="url"){t.statusPageUrl&&Y(t.statusPageUrl)&&i.setAttribute("href",t.statusPageUrl);return}let l=b(n,d);l!==void 0&&h(i,l)}),u(e,a("order-lines")).forEach(i=>{ue(i,t.lineItems.nodes,r)}),u(e,a("order-fulfillments")).forEach(i=>{A(i,s,_e)});let o=e.dataset.tetherReturned==="1";f(e,"order-show",{loading:!1,ready:!0,error:!1,"not-found":!1,cancelled:!!t.cancelledAt,shipped:s.length>0,returnable:[...r.values()].some(i=>i>0),"has-returns":!o&&t.returns.nodes.length>0,"return-requested":o}),e.setAttribute(y("order-state"),"ready")}async function Z(e){let t=Ue(e);if(!t){e.setAttribute(y("order-state"),"not-found"),f(e,"order-show",{"not-found":!0});return}j(e,"loading");let r;try{r=await G(t)}catch(s){E(s,"order"),j(e,"error");return}if(!r){j(e,"not-found");return}e.dataset.tetherOrderId=r.id,Me(e,r)}var le=[],fe=e=>le.find(t=>t.id===e),je=e=>({formatted:M(e),name:[e.firstName,e.lastName].filter(Boolean).join(" "),company:e.company||"",address1:e.address1||"",address2:e.address2||"",city:e.city||"",zip:e.zip||"",province:e.province||"",country:e.country||"",phone:e.phoneNumber||""});function Fe(e,t){e.dataset.tetherAddress=t.id;let r=je(t);S(e,"address-bind").forEach(s=>{let n=b(r,p(s,"address-bind")??"");n!==void 0&&h(s,n)}),f(e,"address-show",{default:t.isDefault,"not-default":!t.isDefault})}async function P(e){let t=u(e,a("addresses"));if(!t.length)return;f(e,"show",{"addresses-loading":!0,"addresses-empty":!1});let r;try{r=await K()}catch(s){E(s,"addresses"),f(e,"show",{"addresses-loading":!1,"addresses-error":!0});return}le=r,f(e,"show",{"addresses-loading":!1,"addresses-empty":r.length===0,"addresses-error":!1}),t.forEach(s=>{A(s,r,Fe)})}function He(e){let t=e.upcomingBillingCycles.nodes[0],r=e.status,s=r==="ACTIVE";return{active:s,paused:r==="PAUSED",cancelled:r==="CANCELLED",expired:r==="EXPIRED",failed:r==="FAILED",skipped:!!t?.skipped,"can-pause":s,"can-resume":r==="PAUSED"||r==="FAILED","can-skip":s&&t!==void 0&&!t.skipped,"can-unskip":s&&!!t?.skipped,"can-cancel":s||r==="PAUSED"||r==="FAILED"}}function Ve(e){let t=$(e.deliveryPolicy?.interval);if(!t)return"";let r=e.deliveryPolicy?.intervalCount?.count??1;return r<=1?t:`${r} ${t}s`}function Ge(e){let t=e.lines.nodes,r=t.reduce((s,n)=>s+Number.parseFloat(n.lineDiscountedPrice?.amount??"0"),0);return{status:$(e.status),next:e.nextBillingDate?q(e.nextBillingDate):"",interval:Ve(e),products:t.map(s=>`${s.quantity}\xD7 ${s.title}`).join(", "),total:t.length?g({amount:String(r),currencyCode:e.currencyCode}):"",delivery:g(e.deliveryPrice)}}function ze(e,t){let r={title:t.title,"variant-title":t.variantTitle||"",quantity:String(t.quantity),price:g(t.currentPrice)};S(e,"subscription-line").forEach(s=>{let n=p(s,"subscription-line")??"";if(n==="image"){t.image&&F(s,t.image.url,t.image.altText||t.title);return}let o=b(r,n);o!==void 0&&h(s,o)})}function Ke(e,t){e.dataset.tetherSubscription=t.id,e.setAttribute(y("subscription-status"),$(t.status));let r=Ge(t);u(e,a("subscription-bind")).forEach(n=>{let o=b(r,p(n,"subscription-bind")??"");o!==void 0&&h(n,o)}),u(e,a("subscription-lines")).forEach(n=>{A(n,t.lines.nodes,ze)});let s=He(t);f(e,"subscription-show",s),u(e,a("subscription-action")).forEach(n=>{let o=b(s,`can-${p(n,"subscription-action")??""}`)===!0;"disabled"in n&&(n.disabled=!o),n.classList.toggle("is-disabled",!o)})}async function ee(e){let t=u(e,a("subscriptions"));if(!t.length)return;f(e,"show",{"subscriptions-loading":!0,"subscriptions-empty":!1});let r;try{r=await J()}catch(s){E(s,"subscriptions"),f(e,"show",{"subscriptions-loading":!1,"subscriptions-error":!0});return}f(e,"show",{"subscriptions-loading":!1,"subscriptions-empty":r.length===0,"subscriptions-error":!1}),t.forEach(s=>{A(s,r,Ke)})}var Xe=["pause","resume","skip","unskip","cancel"],Je=e=>Xe.some(t=>t===e),me=e=>e.tagName==="INPUT",he=e=>e.tagName==="FORM";function pe(e){let t={};for(let r of e.elements){if(!me(r)&&r.tagName!=="SELECT"&&r.tagName!=="TEXTAREA")continue;let s=r;!s.name||s.type==="submit"||s.type==="button"||s.type==="checkbox"||(t[s.name]=s.value)}return t}function Qe(e){let r=(e instanceof R?e.userErrors??[]:[]).map(n=>n.message).join(" ");return r||(e instanceof Error&&e.message?e.message:"Something went wrong").replace(/^Customer accounts: /,"")}async function k(e,t){if(e.getAttribute("aria-busy")==="true")return"busy";e.classList.add("is-busy"),e.setAttribute("aria-busy","true"),e.setAttribute(y("form-state"),"pending");let r=u(e,a("form-error"));r.forEach(s=>{h(s,"")});try{return await t(),e.setAttribute(y("form-state"),"saved"),"saved"}catch(s){return e.setAttribute(y("form-state"),"error"),r.forEach(n=>{h(n,Qe(s))}),"error"}finally{e.classList.remove("is-busy"),e.removeAttribute("aria-busy")}}var se=e=>{let t=p(e,"confirm");return!t||window.confirm(t)},ye=e=>{e.reset(),delete e.dataset.tetherAddressId};function We(e){let t=e.target;if(t instanceof window.HTMLFormElement){if(t.matches(a("profile-form")))e.preventDefault(),k(t,async()=>{await z(pe(t)),await v().bindCustomer(document)});else if(t.matches(a("address-form"))){e.preventDefault();let r=t.dataset.tetherAddressId,s=t.elements.namedItem("isDefault"),n=s instanceof window.HTMLInputElement&&s.checked;k(t,async()=>{await _(pe(t),{id:r,isDefault:n}),ye(t),await P(document)})}}}function Ye(e){let t=fe(e),r=document.querySelector(a("address-form"));if(!(!t||!r||!he(r))){r.dataset.tetherAddressId=t.id;for(let s of r.elements){if(!me(s)&&s.tagName!=="SELECT"&&s.tagName!=="TEXTAREA")continue;let n=s;if(n.name==="isDefault")n.checked=t.isDefault;else if(n.name&&Object.hasOwn(t,n.name)){let o=Object.entries(t).find(([i])=>i===n.name)?.[1];n.value=typeof o=="string"?o:""}}r.scrollIntoView({block:"nearest"})}}function Ze(e,t){let r=t.closest("[data-tether-address]"),s=r instanceof window.HTMLElement?r.dataset.tetherAddress:void 0;if(t.closest(a("address-new"))){let o=document.querySelector(a("address-form"));return o&&he(o)&&ye(o),!0}if(!(r instanceof window.HTMLElement)||!s)return!1;let n=t.closest(a("address-delete"));if(n){if(e.preventDefault(),!se(n))return!0;k(r,async()=>{await X(s),await P(document)})}else if(t.closest(a("address-default")))e.preventDefault(),k(r,async()=>{await _(null,{id:s,isDefault:!0}),await P(document)});else if(t.closest(a("address-edit")))e.preventDefault(),Ye(s);else return!1;return!0}function et(e){let t=e.closest("[data-tether-subscription]"),r=p(e,"subscription-action"),s="disabled"in e&&e.disabled===!0||e.classList.contains("is-disabled");if(!(t instanceof window.HTMLElement)||!Je(r)||s||!se(e))return;let n=t.dataset.tetherSubscription??"";t.setAttribute(y("subscription-state"),"pending"),k(t,async()=>{await Q(n,r),await ee(document)}).then(o=>{let i=o==="error"?"error":"done";u(document,"[data-tether-subscription]").filter(d=>d===t||d.dataset.tetherSubscription===n).forEach(d=>{d.setAttribute(y("subscription-state"),i)})})}function tt(e){let t=e.querySelector(a("return-quantity")),r=e.querySelector(a("return-reason")),s=e.querySelector(a("return-note")),n=l=>l&&"value"in l&&typeof l.value=="string"?l.value:"",o={lineItemId:e.dataset.tetherLine??"",quantity:Number.parseInt(n(t)||"0",10)},i=n(r);i&&(o.reasonId=i);let d=n(s);return d&&(o.note=d),o}function rt(e){let t=e.closest(a("order"));if(!(t instanceof window.HTMLElement))return;let r=t.dataset.tetherOrderId;if(!r)return;let s=u(t,"[data-tether-line]").map(tt).filter(n=>n.quantity>0);!s.length||!se(e)||k(t,async()=>{await W(r,s),t.dataset.tetherReturned="1",await Z(t)})}function st(e){let t=e.target;if(!(t instanceof window.Element)||Ze(e,t))return;let r=t.closest(a("subscription-action"));if(r instanceof window.HTMLElement){e.preventDefault(),et(r);return}let s=t.closest(a("order-return"));s instanceof window.HTMLElement&&(e.preventDefault(),rt(s))}function ge(){document.addEventListener("submit",We,!0),document.addEventListener("input",e=>{let t=e.target;t instanceof window.HTMLElement&&t.closest(a("profile-form"))&&(t.dataset.tetherTouched="1")}),document.addEventListener("click",st)}var nt=["firstName","lastName"];async function ot(e){let t=await v().customer().catch(s=>(E(s,"account"),null));if(!t||e.tagName!=="FORM")return;let r=e.elements;nt.forEach(s=>{let n=r.namedItem(s);(n instanceof window.HTMLInputElement||n instanceof window.HTMLTextAreaElement)&&!n.dataset.tetherTouched&&(n.value=t[s]??"")})}var be=!1;async function it(e=document){be||(be=!0,ge()),await Promise.all([...u(e,a("order")).map(t=>Z(t)),...u(e,a("profile-form")).map(t=>ot(t)),P(e),ee(e)])}function at(e){u(e,a("order")).forEach(t=>{j(t,"error")}),f(e,"show",{"addresses-loading":!1,"addresses-error":!0,"subscriptions-loading":!1,"subscriptions-error":!0})}var{Tether:we}=window;if(!we)throw new Error("tether.account-pages.js runs after the Tether script, which loads it");we.__parts["account-pages"]=ne;})();
1
+ (()=>{var De=Object.defineProperty;var Me=(e,t)=>{for(var n in t)De(e,n,{get:t[n],enumerable:!0})};var oe={};Me(oe,{addresses:()=>G,deleteAddress:()=>V,order:()=>j,renderPages:()=>bt,requestReturn:()=>K,saveAddress:()=>H,setup:()=>Te,showUnavailable:()=>wt,subscriptionAction:()=>J,subscriptions:()=>Z,updateProfile:()=>z});var qe=window.Tether.__core["config.ts"],[Tt,Ot,Et,St,Lt,T,Pt]=qe;var ve=window.Tether.__core["dom.ts"],[It,h,Rt,ue,P,b,p,Ct,Nt,Dt,Mt,qt,l,A,u,_,y,B]=ve;var He=window.Tether.__core["client.ts"],[Ht,Ft,Ut,_t,C]=He;var de={order:{name:"order",method:"GET",path:"/order",fields:{id:!0}},addresses:{name:"addresses",method:"GET",path:"/addresses",fields:{}},subscriptions:{name:"subscriptions",method:"GET",path:"/subscriptions",fields:{}},profile:{name:"profile",method:"POST",path:"/profile",fields:{firstName:!0,lastName:!0}},saveAddress:{name:"saveAddress",method:"POST",path:"/address",fields:{id:!0,address:!0,isDefault:!0}},deleteAddress:{name:"deleteAddress",method:"POST",path:"/address/delete",fields:{id:!0}},subscription:{name:"subscription",method:"POST",path:"/subscription",fields:{id:!0,action:!0}},requestReturn:{name:"requestReturn",method:"POST",path:"/return",fields:{orderId:!0,lines:!0}}},$t=new Map(Object.values(de).map(e=>[`${e.method} ${e.path}`,{...e,fields:Object.keys(e.fields)}]));function le(e,t){let n=de[e];if(n.method==="POST")return{method:"POST",path:n.path};let r=t,s=new URLSearchParams;for(let d of Object.keys(n.fields)){let c=r[d];(typeof c=="string"||typeof c=="number")&&s.set(d,String(c))}let o=s.toString();return{method:"GET",path:o?`${n.path}?${o}`:n.path}}function g(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function i(e,t){return g(e)?e[t]:void 0}function ce(e){return Array.isArray(e)?e:[]}function a(e){return typeof e=="string"&&e!==""?e:null}var $=e=>typeof e=="number"&&Number.isFinite(e)?e:null,N=e=>$(e)??0,k=(e,t)=>ce(e).map(n=>t(n)),x=(e,t)=>({nodes:k(i(e,"nodes"),t)}),W=e=>k(e,a).filter(t=>t!==null);function I(e){let t=a(i(e,"amount")),n=a(i(e,"currencyCode"));return t===null||n===null?null:{amount:t,currencyCode:n}}function X(e){let t=a(i(e,"url"));return t===null?null:{url:t,altText:a(i(e,"altText"))}}var me=e=>({title:a(i(e,"title")),variantTitle:a(i(e,"variantTitle")),quantity:N(i(e,"quantity")),image:X(i(e,"image"))});var ee=e=>new C(`Customer accounts: the answer has no ${e}`);function O(e,t){let n=a(e);if(!n)throw ee(t);return n}function fe(e){let t=n=>a(i(e,n));return{id:t("id"),firstName:t("firstName"),lastName:t("lastName"),company:t("company"),address1:t("address1"),address2:t("address2"),city:t("city"),province:t("province"),zoneCode:t("zoneCode"),zip:t("zip"),country:t("country"),countryCode:t("countryCode"),phoneNumber:t("phoneNumber"),formatted:W(i(e,"formatted"))}}var pe=e=>g(e)?fe(e):null,te=e=>({...fe(e),id:O(i(e,"id"),"address id")}),ge=e=>k(e,t=>({...te(t),isDefault:i(t,"isDefault")===!0})),Fe=e=>({...me(e),id:O(i(e,"id"),"line item id"),name:a(i(e,"name")),sku:a(i(e,"sku")),price:I(i(e,"price")),totalPrice:I(i(e,"totalPrice")),suggestedReturnReasonDefinitions:x(i(e,"suggestedReturnReasonDefinitions"),t=>({id:O(i(t,"id"),"return reason id"),name:a(i(t,"name")),handle:a(i(t,"handle"))}))}),Ue=e=>({id:a(i(e,"id")),status:a(i(e,"status")),createdAt:a(i(e,"createdAt")),estimatedDeliveryAt:a(i(e,"estimatedDeliveryAt")),latestShipmentStatus:a(i(e,"latestShipmentStatus")),trackingInformation:k(i(e,"trackingInformation"),t=>({company:a(i(t,"company")),number:a(i(t,"number")),url:a(i(t,"url"))}))});function _e(e){let t=a(i(i(e,"lineItem"),"id"));return{quantity:N(i(e,"quantity")),lineItem:t===null?null:{id:t}}}function Be(e){return g(e)?{returnableLineItems:x(e.returnableLineItems,_e)}:null}function ye(e){if(!g(e))return null;let t=s=>a(e[s]),n=s=>I(e[s]),r=e.requiresShipping;return{id:O(e.id,"order id"),name:t("name"),number:$(e.number),processedAt:t("processedAt"),cancelledAt:t("cancelledAt"),financialStatus:t("financialStatus"),fulfillmentStatus:t("fulfillmentStatus"),statusPageUrl:t("statusPageUrl"),requiresShipping:typeof r=="boolean"?r:null,totalPrice:n("totalPrice"),subtotal:n("subtotal"),totalShipping:n("totalShipping"),totalTax:n("totalTax"),shippingAddress:pe(e.shippingAddress),billingAddress:pe(e.billingAddress),lineItems:x(e.lineItems,Fe),fulfillments:x(e.fulfillments,Ue),returnInformation:Be(e.returnInformation),returns:x(e.returns,ne)}}var $e=e=>({id:a(i(e,"id")),name:a(i(e,"name")),title:a(i(e,"title")),variantTitle:a(i(e,"variantTitle")),quantity:N(i(e,"quantity")),sku:a(i(e,"sku")),currentPrice:I(i(e,"currentPrice")),lineDiscountedPrice:I(i(e,"lineDiscountedPrice")),image:X(i(e,"image"))}),he=e=>({cycleIndex:$(i(e,"cycleIndex")),skipped:i(e,"skipped")===!0,billingAttemptExpectedDate:a(i(e,"billingAttemptExpectedDate"))});function je(e){if(!g(e))return null;let t=e.intervalCount;return{interval:a(e.interval),intervalCount:g(t)?{count:N(t.count)}:null}}var ze=e=>({id:O(i(e,"id"),"subscription id"),status:a(i(e,"status")),nextBillingDate:a(i(e,"nextBillingDate")),currencyCode:a(i(e,"currencyCode")),deliveryPrice:I(i(e,"deliveryPrice")),deliveryPolicy:je(i(e,"deliveryPolicy")),lines:x(i(e,"lines"),$e),upcomingBillingCycles:x(i(e,"upcomingBillingCycles"),he)}),be=e=>k(e,ze);function we(e){let{contract:t,billingCycle:n}=e;if(g(t))return{contract:{id:a(t.id),status:a(t.status)}};if(g(n)){let{cycleIndex:r,skipped:s}=he(n);return{billingCycle:{cycleIndex:r,skipped:s}}}throw ee("changed subscription")}function ne(e){return{id:O(i(e,"id"),"return id"),status:a(i(e,"status"))}}var Ae=e=>O(e,"deleted address id"),xe=e=>({firstName:a(i(e,"firstName")),lastName:a(i(e,"lastName"))});var re=null;function Te(e){re=e}function D(){if(!re)throw new Error("account-pages: loaded without the account part");return re}async function E(e,t){let{serverFetch:n}=D(),{method:r,path:s}=le(e,t),o=await n(s,r==="POST"?{method:r,body:t}:{});if(o.kind==="logged-out")throw new C("Not logged in",{code:"NOT_LOGGED_IN",status:401});return o.data}function v(e){D().reset(),ue("account-updated",{what:e})}async function j(e){let t=await E("order",{id:e});return ye(t.order)}async function z({firstName:e,lastName:t}={}){let n=await E("profile",{firstName:e,lastName:t});return v("profile"),xe(n.customer)}async function G(){let e=await E("addresses",{});return ge(e.addresses)}async function H(e,{id:t,isDefault:n}={}){let r=await E("saveAddress",{id:t,address:e,isDefault:n});return v("addresses"),te(r.address)}async function V(e){let t=await E("deleteAddress",{id:e});return v("addresses"),Ae(t.deleted)}async function Z(){let e=await E("subscriptions",{});return be(e.subscriptions)}async function J(e,t){let n=await E("subscription",{id:e,action:t});return v("subscriptions"),we(n)}async function K(e,t){let n=await E("requestReturn",{orderId:e,lines:t});return v("orders"),ne(n.return)}var Ge=window.Tether.__core["shopify-values.ts"],[se]=Ge;function m(e,t,n){l(e,u(t)).forEach(r=>{let s=p(r,t)??"";Object.hasOwn(n,s)&&B(r,n[s]===!0)})}var S=(e,t)=>l(e,u(t)).concat(e.matches(u(t))?[e]:[]),L=e=>e?e.toLowerCase().replace(/_/g," "):"",F=e=>(e?.formatted??[]).join(", "),w=(e,t)=>Object.hasOwn(e,t)?e[t]:void 0;var Ve=(e,t)=>({title:e.title||e.name||"","variant-title":e.variantTitle||"",quantity:String(e.quantity),price:b(e.price),total:b(e.totalPrice),sku:e.sku||"",returnable:t===null?void 0:String(t)}),Ze=e=>e.tagName==="INPUT";function Je(e,t,n){m(e,"order-line-show",{returnable:n>0}),l(e,u("return-quantity")).forEach(r=>{Ze(r)&&(r.max=String(n),r.min="0",r.value||(r.value="0"),r.disabled=n<1)}),l(e,`select${u("return-reason")}`).forEach(r=>{r.dataset.tetherFilled!==t.id&&(r.dataset.tetherFilled=t.id,(t.suggestedReturnReasonDefinitions?.nodes??[]).forEach(s=>{r.appendChild(new Option(s.name??"",s.id))}))})}function Oe(e,t,n){A(e,t,(r,s)=>{let o=s.id,d=n&&o?n.get(o)??0:null;o&&(r.dataset.tetherLine=o);let c=Ve(s,d);S(r,"order-line").forEach(f=>{let R=p(f,"order-line")??"";if(R==="image"){s.image&&_(f,s.image.url,s.image.altText||s.title||"");return}let ae=w(c,R);ae!==void 0&&y(f,ae)}),o&&d!==null&&Je(r,{...s,id:o},d)})}function Ke(e){let t=p(e,"order")||"";return t.startsWith("url:")?new URL(window.location.href).searchParams.get(t.slice(4)||"id"):t}function U(e,t){e.setAttribute(h("order-state"),t),m(e,"order-show",{loading:t==="loading",ready:!1,"not-found":t==="not-found",error:t==="error"})}var Ye=e=>({name:e.name??"",date:P(e.processedAt),total:b(e.totalPrice),subtotal:b(e.subtotal),shipping:b(e.totalShipping),tax:b(e.totalTax),status:L(e.financialStatus),fulfillment:L(e.fulfillmentStatus),"shipping-address":F(e.shippingAddress),"billing-address":F(e.billingAddress),items:e.lineItems.nodes.map(t=>`${String(t.quantity)}\xD7 ${t.title||t.name||""}`).join(", "),cancelled:P(e.cancelledAt)});function Qe(e,t){let n=t.trackingInformation[0],r={status:L(t.latestShipmentStatus||t.status),date:P(t.createdAt),eta:P(t.estimatedDeliveryAt),company:n?.company||"",number:n?.number||""};S(e,"fulfillment-bind").forEach(s=>{let o=p(s,"fulfillment-bind")??"";if(o==="url"){let c=n?.url??null,f=c!==null&&se(c);f&&s.setAttribute("href",c),B(s,f);return}let d=w(r,o);d!==void 0&&y(s,d)})}function We(e,t){let n=new Map((t.returnInformation?.returnableLineItems.nodes??[]).map(d=>[d.lineItem?.id??"",d.quantity])),r=t.fulfillments.nodes,s=Ye(t);l(e,u("order-bind")).forEach(d=>{let c=p(d,"order-bind")??"";if(c==="url"){let R=t.statusPageUrl;R!==null&&se(R)&&d.setAttribute("href",R);return}let f=w(s,c);f!==void 0&&y(d,f)}),l(e,u("order-lines")).forEach(d=>{Oe(d,t.lineItems.nodes,n)}),l(e,u("order-fulfillments")).forEach(d=>{A(d,r,Qe)});let o=e.dataset.tetherReturned==="1";m(e,"order-show",{loading:!1,ready:!0,error:!1,"not-found":!1,cancelled:!!t.cancelledAt,shipped:r.length>0,returnable:[...n.values()].some(d=>d>0),"has-returns":!o&&t.returns.nodes.length>0,"return-requested":o}),e.setAttribute(h("order-state"),"ready")}async function Y(e){let t=Ke(e);if(!t){e.setAttribute(h("order-state"),"not-found"),m(e,"order-show",{"not-found":!0});return}U(e,"loading");let n;try{n=await j(t)}catch(r){T(r,"order"),U(e,"error");return}if(!n){U(e,"not-found");return}e.dataset.tetherOrderId=n.id,We(e,n)}var Ee=[],Se=e=>Ee.find(t=>t.id===e),Xe=e=>({formatted:F(e),name:[e.firstName,e.lastName].filter(Boolean).join(" "),company:e.company||"",address1:e.address1||"",address2:e.address2||"",city:e.city||"",zip:e.zip||"",province:e.province||"",country:e.country||"",phone:e.phoneNumber||""});function et(e,t){e.dataset.tetherAddress=t.id;let n=Xe(t);S(e,"address-bind").forEach(r=>{let s=w(n,p(r,"address-bind")??"");s!==void 0&&y(r,s)}),m(e,"address-show",{default:t.isDefault,"not-default":!t.isDefault})}async function M(e){let t=l(e,u("addresses"));if(!t.length)return;m(e,"show",{"addresses-loading":!0,"addresses-empty":!1});let n;try{n=await G()}catch(r){T(r,"addresses"),m(e,"show",{"addresses-loading":!1,"addresses-error":!0});return}Ee=n,m(e,"show",{"addresses-loading":!1,"addresses-empty":n.length===0,"addresses-error":!1}),t.forEach(r=>{A(r,n,et)})}function tt(e){let t=e.upcomingBillingCycles.nodes[0],n=e.status,r=n==="ACTIVE";return{active:r,paused:n==="PAUSED",cancelled:n==="CANCELLED",expired:n==="EXPIRED",failed:n==="FAILED",skipped:!!t?.skipped,"can-pause":r,"can-resume":n==="PAUSED"||n==="FAILED","can-skip":r&&t!==void 0&&!t.skipped,"can-unskip":r&&!!t?.skipped,"can-cancel":r||n==="PAUSED"||n==="FAILED"}}function nt(e){let t=L(e.deliveryPolicy?.interval);if(!t)return"";let n=e.deliveryPolicy?.intervalCount?.count??1;return n<=1?t:`${String(n)} ${t}s`}function rt(e){let t=e.lines.nodes,n=t.reduce((r,s)=>r+Number.parseFloat(s.lineDiscountedPrice?.amount??"0"),0);return{status:L(e.status),next:P(e.nextBillingDate),interval:nt(e),products:t.map(r=>`${String(r.quantity)}\xD7 ${r.title??""}`).join(", "),total:b(t.length&&e.currencyCode?{amount:String(n),currencyCode:e.currencyCode}:null),delivery:b(e.deliveryPrice)}}function st(e,t){let n={title:t.title??"","variant-title":t.variantTitle||"",quantity:String(t.quantity),price:b(t.currentPrice)};S(e,"subscription-line").forEach(r=>{let s=p(r,"subscription-line")??"";if(s==="image"){t.image&&_(r,t.image.url,t.image.altText||t.title||"");return}let o=w(n,s);o!==void 0&&y(r,o)})}function it(e,t){e.dataset.tetherSubscription=t.id,e.setAttribute(h("subscription-status"),L(t.status));let n=rt(t);l(e,u("subscription-bind")).forEach(s=>{let o=w(n,p(s,"subscription-bind")??"");o!==void 0&&y(s,o)}),l(e,u("subscription-lines")).forEach(s=>{A(s,t.lines.nodes,st)});let r=tt(t);m(e,"subscription-show",r),l(e,u("subscription-action")).forEach(s=>{let o=w(r,`can-${p(s,"subscription-action")??""}`)===!0;"disabled"in s&&(s.disabled=!o),s.classList.toggle("is-disabled",!o)})}async function Q(e){let t=l(e,u("subscriptions"));if(!t.length)return;m(e,"show",{"subscriptions-loading":!0,"subscriptions-empty":!1});let n;try{n=await Z()}catch(r){T(r,"subscriptions"),m(e,"show",{"subscriptions-loading":!1,"subscriptions-error":!0});return}m(e,"show",{"subscriptions-loading":!1,"subscriptions-empty":n.length===0,"subscriptions-error":!1}),t.forEach(r=>{A(r,n,it)})}var ot=["pause","resume","skip","unskip","cancel"],at=e=>ot.some(t=>t===e),Pe=e=>e instanceof window.HTMLInputElement||e instanceof window.HTMLSelectElement||e instanceof window.HTMLTextAreaElement,ke=e=>e instanceof window.HTMLFormElement;function Le(e){let t={};for(let n of e.elements)Pe(n)&&(!n.name||n.type==="submit"||n.type==="button"||n.type==="checkbox"||(t[n.name]=n.value));return t}function ut(e){let n=(e instanceof C?e.userErrors??[]:[]).map(s=>s.message).join(" ");return n||(e instanceof Error&&e.message?e.message:"Something went wrong").replace(/^Customer accounts: /,"")}async function q(e,t){if(e.getAttribute("aria-busy")==="true")return"busy";e.classList.add("is-busy"),e.setAttribute("aria-busy","true"),e.setAttribute(h("form-state"),"pending");let n=l(e,u("form-error"));n.forEach(r=>{y(r,"")});try{return await t(),e.setAttribute(h("form-state"),"saved"),"saved"}catch(r){return e.setAttribute(h("form-state"),"error"),n.forEach(s=>{y(s,ut(r))}),"error"}finally{e.classList.remove("is-busy"),e.removeAttribute("aria-busy")}}var ie=e=>{let t=p(e,"confirm");return!t||window.confirm(t)},Ie=e=>{e.reset(),delete e.dataset.tetherAddressId};function dt(e){let t=e.target;if(t instanceof window.HTMLFormElement){if(t.matches(u("profile-form")))e.preventDefault(),q(t,async()=>{await z(Le(t)),await D().bindCustomer(document)});else if(t.matches(u("address-form"))){e.preventDefault();let n=t.dataset.tetherAddressId,r=t.elements.namedItem("isDefault"),s=r instanceof window.HTMLInputElement&&r.checked;q(t,async()=>{await H(Le(t),{id:n,isDefault:s}),Ie(t),await M(document)})}}}function lt(e){let t=Se(e),n=document.querySelector(u("address-form"));if(!t||!n||!ke(n))return;n.dataset.tetherAddressId=t.id;let r={...t};for(let s of n.elements)if(Pe(s)){if(s.name==="isDefault")s instanceof window.HTMLInputElement&&(s.checked=t.isDefault);else if(s.name&&Object.hasOwn(r,s.name)){let o=r[s.name];s.value=typeof o=="string"?o:""}}n.scrollIntoView({block:"nearest"})}function ct(e,t){let n=t.closest("[data-tether-address]"),r=n instanceof window.HTMLElement?n.dataset.tetherAddress:void 0;if(t.closest(u("address-new"))){let o=document.querySelector(u("address-form"));return o&&ke(o)&&Ie(o),!0}if(!(n instanceof window.HTMLElement)||!r)return!1;let s=t.closest(u("address-delete"));if(s){if(e.preventDefault(),!ie(s))return!0;q(n,async()=>{await V(r),await M(document)})}else if(t.closest(u("address-default")))e.preventDefault(),q(n,async()=>{await H(null,{id:r,isDefault:!0}),await M(document)});else if(t.closest(u("address-edit")))e.preventDefault(),lt(r);else return!1;return!0}function mt(e){let t=e.closest("[data-tether-subscription]"),n=p(e,"subscription-action"),r="disabled"in e&&e.disabled===!0||e.classList.contains("is-disabled");if(!(t instanceof window.HTMLElement)||!at(n)||r||!ie(e))return;let s=t.dataset.tetherSubscription??"";t.setAttribute(h("subscription-state"),"pending"),q(t,async()=>{await J(s,n),await Q(document)}).then(o=>{let d=o==="error"?"error":"done";l(document,"[data-tether-subscription]").filter(c=>c===t||c.dataset.tetherSubscription===s).forEach(c=>{c.setAttribute(h("subscription-state"),d)})})}function pt(e){let t=e.querySelector(u("return-quantity")),n=e.querySelector(u("return-reason")),r=e.querySelector(u("return-note")),s=f=>f&&"value"in f&&typeof f.value=="string"?f.value:"",o={lineItemId:e.dataset.tetherLine??"",quantity:Number.parseInt(s(t)||"0",10)},d=s(n);d&&(o.reasonId=d);let c=s(r);return c&&(o.note=c),o}function ft(e){let t=e.closest(u("order"));if(!(t instanceof window.HTMLElement))return;let n=t.dataset.tetherOrderId;if(!n)return;let r=l(t,"[data-tether-line]").map(pt).filter(s=>s.quantity>0);!r.length||!ie(e)||q(t,async()=>{await K(n,r),t.dataset.tetherReturned="1",await Y(t)})}function gt(e){let t=e.target;if(!(t instanceof window.Element)||ct(e,t))return;let n=t.closest(u("subscription-action"));if(n instanceof window.HTMLElement){e.preventDefault(),mt(n);return}let r=t.closest(u("order-return"));r instanceof window.HTMLElement&&(e.preventDefault(),ft(r))}function Re(){document.addEventListener("submit",dt,!0),document.addEventListener("input",e=>{let t=e.target;t instanceof window.HTMLElement&&t.closest(u("profile-form"))&&(t.dataset.tetherTouched="1")}),document.addEventListener("click",gt)}var yt=["firstName","lastName"];async function ht(e){if(!(e instanceof window.HTMLFormElement))return;let t;try{t=await D().customer()}catch(r){T(r,"account");return}if(!t)return;let n=e.elements;yt.forEach(r=>{let s=n.namedItem(r);(s instanceof window.HTMLInputElement||s instanceof window.HTMLTextAreaElement)&&!s.dataset.tetherTouched&&(s.value=t[r]??"")})}var Ce=!1;async function bt(e=document){Ce||(Ce=!0,Re()),await Promise.all([...l(e,u("order")).map(t=>Y(t)),...l(e,u("profile-form")).map(t=>ht(t)),M(e),Q(e)])}function wt(e){l(e,u("order")).forEach(t=>{U(t,"error")}),m(e,"show",{"addresses-loading":!1,"addresses-error":!0,"subscriptions-loading":!1,"subscriptions-error":!0})}function At(e){return g(e)&&g(e.__core)&&g(e.__parts)}function Ne(e,t){let n=Reflect.get(window,"Tether");if(!At(n))throw new Error(`tether.${e}.js runs after the Tether script, which loads it, and needs its window.Tether`);n.__parts[e]=t}Ne("account-pages",oe);})();