@occluze/tether 0.6.8 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. package/README.md +11 -11
  2. package/dist/esm/astro.js +2 -2
  3. package/dist/esm/chunks/account-UIPWJQ3Y.js +1 -0
  4. package/dist/esm/chunks/account-pages-6ROA6Y4V.js +1 -0
  5. package/dist/esm/chunks/analytics-2V632IRV.js +1 -0
  6. package/dist/esm/chunks/chunk-4GCXM764.js +1 -0
  7. package/dist/esm/chunks/chunk-56FCLJJD.js +1 -0
  8. package/dist/esm/chunks/chunk-5Z5O3767.js +1 -0
  9. package/dist/esm/chunks/chunk-6OZJCAGZ.js +1 -0
  10. package/dist/esm/chunks/chunk-A5SYCVQM.js +1 -0
  11. package/dist/esm/chunks/chunk-BA4LQJJQ.js +1 -0
  12. package/dist/esm/chunks/chunk-BFTZR4OB.js +4 -0
  13. package/dist/esm/chunks/chunk-C5JYQCWH.js +1 -0
  14. package/dist/esm/chunks/chunk-E5YO6274.js +1 -0
  15. package/dist/esm/chunks/chunk-MPDWM2NN.js +1 -0
  16. package/dist/esm/chunks/chunk-T44MUL4Y.js +1 -0
  17. package/dist/esm/chunks/chunk-YLUULATY.js +1 -0
  18. package/dist/esm/chunks/diagnose-3FEKRIEK.js +14 -0
  19. package/dist/esm/chunks/extras-6POFBNOP.js +1 -0
  20. package/dist/esm/chunks/markets-ui-FD6NI2OG.js +1 -0
  21. package/dist/esm/chunks/search-UJ73YBQ5.js +1 -0
  22. package/dist/esm/index.js +1 -1
  23. package/dist/esm/server.js +2 -2
  24. package/dist/presets/barba.esm.js +19 -23
  25. package/dist/tether.account-pages.js +320 -365
  26. package/dist/tether.account-pages.min.js +1 -1
  27. package/dist/tether.account.js +242 -491
  28. package/dist/tether.account.min.js +1 -1
  29. package/dist/tether.analytics.js +66 -88
  30. package/dist/tether.analytics.min.js +1 -1
  31. package/dist/tether.diagnose.js +36 -33
  32. package/dist/tether.diagnose.min.js +2 -2
  33. package/dist/tether.extras.js +28 -36
  34. package/dist/tether.extras.min.js +1 -1
  35. package/dist/tether.js +1270 -894
  36. package/dist/tether.markets.js +73 -90
  37. package/dist/tether.markets.min.js +1 -1
  38. package/dist/tether.min.js +0 -0
  39. package/dist/tether.min.js.map +4 -4
  40. package/dist/tether.search.js +44 -68
  41. package/dist/tether.search.min.js +1 -1
  42. package/dist/types/server/src/shared/account-orders.d.ts +44 -0
  43. package/dist/types/server/src/shared/account-routes.d.ts +153 -0
  44. package/dist/types/server/src/shared/api-versions.d.ts +13 -0
  45. package/dist/types/server/src/shared/error-message.d.ts +2 -0
  46. package/dist/types/server/src/shared/json.d.ts +25 -0
  47. package/dist/types/server/src/shared/market-codes.d.ts +16 -0
  48. package/dist/types/src/account/addresses-view.d.ts +5 -0
  49. package/dist/types/src/account/answers.d.ts +40 -0
  50. package/dist/types/src/account/markup.d.ts +19 -0
  51. package/dist/types/src/account/operations.d.ts +41 -0
  52. package/dist/types/src/account/order-lines.d.ts +13 -0
  53. package/dist/types/src/account/order-list.d.ts +12 -0
  54. package/dist/types/src/account/order-page.d.ts +6 -0
  55. package/dist/types/src/account/page-answers.d.ts +182 -0
  56. package/dist/types/src/account/page-events.d.ts +2 -0
  57. package/dist/types/src/account/server-client.d.ts +60 -0
  58. package/dist/types/src/account/subscriptions-view.d.ts +2 -0
  59. package/dist/types/src/account-api.d.ts +18 -0
  60. package/dist/types/src/account-marks.d.ts +15 -0
  61. package/dist/types/src/account-pages.d.ts +8 -0
  62. package/dist/types/src/account.d.ts +64 -0
  63. package/dist/types/src/amounts.d.ts +12 -0
  64. package/dist/types/src/analytics-shopify.d.ts +41 -0
  65. package/dist/types/src/analytics.d.ts +2 -0
  66. package/dist/types/src/api-version.d.ts +28 -0
  67. package/dist/types/src/astro.d.ts +42 -0
  68. package/dist/types/src/cart/cart-shape.d.ts +43 -0
  69. package/dist/types/src/cart/checkout.d.ts +16 -0
  70. package/dist/types/src/cart/drawer.d.ts +18 -0
  71. package/dist/types/src/cart/mutations.d.ts +79 -0
  72. package/dist/types/src/cart/render.d.ts +17 -0
  73. package/dist/types/src/cart/store.d.ts +182 -0
  74. package/dist/types/src/cart.d.ts +106 -0
  75. package/dist/types/src/client.d.ts +100 -0
  76. package/dist/types/src/collection.d.ts +25 -0
  77. package/dist/types/src/config-sections.d.ts +40 -0
  78. package/dist/types/src/config.d.ts +185 -0
  79. package/dist/types/src/controls/cart-controls.d.ts +2 -0
  80. package/dist/types/src/controls/discount.d.ts +2 -0
  81. package/dist/types/src/controls/extras.d.ts +5 -0
  82. package/dist/types/src/controls/navigation.d.ts +12 -0
  83. package/dist/types/src/diagnose-markup.d.ts +19 -0
  84. package/dist/types/src/diagnose.d.ts +60 -0
  85. package/dist/types/src/dom.d.ts +75 -0
  86. package/dist/types/src/extras.d.ts +21 -0
  87. package/dist/types/src/fragments.d.ts +158 -0
  88. package/dist/types/src/globals.d.ts +15 -0
  89. package/dist/types/src/images.d.ts +20 -0
  90. package/dist/types/src/index.d.ts +167 -0
  91. package/dist/types/src/initial.d.ts +56 -0
  92. package/dist/types/src/lazy.d.ts +28 -0
  93. package/dist/types/src/loader.d.ts +84 -0
  94. package/dist/types/src/market-codes.d.ts +6 -0
  95. package/dist/types/src/markets-ui.d.ts +32 -0
  96. package/dist/types/src/markets.d.ts +72 -0
  97. package/dist/types/src/markup.d.ts +131 -0
  98. package/dist/types/src/mounting.d.ts +46 -0
  99. package/dist/types/src/page-market.d.ts +27 -0
  100. package/dist/types/src/presets/barba.d.ts +56 -0
  101. package/dist/types/src/product-events.d.ts +2 -0
  102. package/dist/types/src/product-render.d.ts +17 -0
  103. package/dist/types/src/product-shape.d.ts +88 -0
  104. package/dist/types/src/product-state.d.ts +110 -0
  105. package/dist/types/src/product.d.ts +66 -0
  106. package/dist/types/src/repeaters.d.ts +16 -0
  107. package/dist/types/src/search.d.ts +33 -0
  108. package/dist/types/src/selling-plans.d.ts +64 -0
  109. package/dist/types/src/server.d.ts +88 -0
  110. package/dist/types/src/shopify-values.d.ts +46 -0
  111. package/dist/types/src/status.d.ts +33 -0
  112. package/dist/types/src/storage.d.ts +12 -0
  113. package/dist/types/src/store-html.d.ts +39 -0
  114. package/dist/types/src/storefront/catalog.d.ts +38 -0
  115. package/dist/types/src/storefront/json-ld.d.ts +20 -0
  116. package/dist/types/src/variant-render.d.ts +14 -0
  117. package/package.json +24 -23
  118. package/src/account/addresses-view.ts +58 -0
  119. package/src/account/answers.ts +79 -0
  120. package/src/account/markup.ts +36 -0
  121. package/src/account/operations.ts +145 -0
  122. package/src/account/{order-lines.js → order-lines.ts} +20 -41
  123. package/src/account/order-list.ts +107 -0
  124. package/src/account/order-page.ts +137 -0
  125. package/src/account/page-answers.ts +317 -0
  126. package/src/account/{page-events.js → page-events.ts} +55 -90
  127. package/src/account/server-client.ts +183 -0
  128. package/src/account/{subscriptions-view.js → subscriptions-view.ts} +25 -68
  129. package/src/account-api.ts +98 -0
  130. package/src/account-marks.ts +35 -0
  131. package/src/{account-pages.js → account-pages.ts} +29 -37
  132. package/src/account.ts +284 -0
  133. package/src/amounts.ts +64 -0
  134. package/src/{analytics-shopify.js → analytics-shopify.ts} +112 -107
  135. package/src/analytics.ts +315 -0
  136. package/src/{api-version.js → api-version.ts} +25 -31
  137. package/src/{astro.js → astro.ts} +110 -104
  138. package/src/cart/cart-shape.ts +25 -0
  139. package/src/cart/checkout.ts +101 -0
  140. package/src/cart/{drawer.js → drawer.ts} +18 -31
  141. package/src/cart/mutations.ts +237 -0
  142. package/src/cart/{render.js → render.ts} +68 -96
  143. package/src/cart/store.ts +279 -0
  144. package/src/{cart.js → cart.ts} +82 -128
  145. package/src/client.ts +391 -0
  146. package/src/{collection.js → collection.ts} +30 -38
  147. package/src/config-sections.ts +284 -0
  148. package/src/config.ts +480 -0
  149. package/src/controls/{cart-controls.js → cart-controls.ts} +22 -54
  150. package/src/controls/{discount.js → discount.ts} +13 -34
  151. package/src/controls/{extras.js → extras.ts} +15 -24
  152. package/src/controls/{navigation.js → navigation.ts} +24 -30
  153. package/src/{diagnose-markup.js → diagnose-markup.ts} +37 -72
  154. package/src/{diagnose.js → diagnose.ts} +95 -96
  155. package/src/dom.ts +268 -0
  156. package/src/{extras.js → extras.ts} +43 -52
  157. package/src/fragments.ts +261 -0
  158. package/src/globals.d.ts +15 -0
  159. package/src/{images.js → images.ts} +30 -43
  160. package/src/index.ts +415 -0
  161. package/src/initial.ts +101 -0
  162. package/src/lazy-iife.ts +197 -0
  163. package/src/lazy.ts +42 -0
  164. package/src/{loader.js → loader.ts} +149 -123
  165. package/src/market-codes.ts +6 -0
  166. package/src/{markets-ui.js → markets-ui.ts} +91 -68
  167. package/src/markets.ts +246 -0
  168. package/src/markup.ts +127 -0
  169. package/src/{mounting.js → mounting.ts} +88 -101
  170. package/src/{page-market.js → page-market.ts} +32 -38
  171. package/src/part-integrity.ts +7 -0
  172. package/src/parts/account-pages.ts +7 -0
  173. package/src/parts/account.ts +7 -0
  174. package/src/parts/analytics.ts +7 -0
  175. package/src/parts/diagnose.ts +7 -0
  176. package/src/parts/extras.ts +7 -0
  177. package/src/parts/markets.ts +7 -0
  178. package/src/parts/search.ts +7 -0
  179. package/src/presets/barba.ts +194 -0
  180. package/src/{product-events.js → product-events.ts} +33 -48
  181. package/src/{product-render.js → product-render.ts} +38 -77
  182. package/src/product-shape.ts +49 -0
  183. package/src/product-state.ts +318 -0
  184. package/src/{product.js → product.ts} +90 -126
  185. package/src/{repeaters.js → repeaters.ts} +40 -52
  186. package/src/{search.js → search.ts} +85 -103
  187. package/src/selling-plans.ts +145 -0
  188. package/src/server.ts +211 -0
  189. package/src/{shopify-values.js → shopify-values.ts} +24 -22
  190. package/src/{status.js → status.ts} +34 -54
  191. package/src/storage.ts +34 -0
  192. package/src/store-html.ts +359 -0
  193. package/src/storefront/catalog.ts +196 -0
  194. package/src/storefront/{json-ld.js → json-ld.ts} +45 -68
  195. package/src/{variant-render.js → variant-render.ts} +24 -50
  196. package/dist/esm/chunks/account-C3NP6HFB.js +0 -1
  197. package/dist/esm/chunks/account-pages-WLK374FO.js +0 -1
  198. package/dist/esm/chunks/analytics-G3SAWMNL.js +0 -1
  199. package/dist/esm/chunks/chunk-27PJJZGC.js +0 -1
  200. package/dist/esm/chunks/chunk-2FSXS55U.js +0 -1
  201. package/dist/esm/chunks/chunk-FCSWQDVV.js +0 -1
  202. package/dist/esm/chunks/chunk-FOMSMIAM.js +0 -1
  203. package/dist/esm/chunks/chunk-GZJTCLLW.js +0 -1
  204. package/dist/esm/chunks/chunk-HEQILZVR.js +0 -1
  205. package/dist/esm/chunks/chunk-JOOEXYF3.js +0 -4
  206. package/dist/esm/chunks/chunk-MPTQYLSM.js +0 -1
  207. package/dist/esm/chunks/chunk-NEHZ37TU.js +0 -3
  208. package/dist/esm/chunks/chunk-V74KGEJF.js +0 -1
  209. package/dist/esm/chunks/chunk-VT4CDUJJ.js +0 -1
  210. package/dist/esm/chunks/chunk-YJLWX2HK.js +0 -1
  211. package/dist/esm/chunks/diagnose-6VVGZNTY.js +0 -14
  212. package/dist/esm/chunks/extras-GJVRDFM3.js +0 -1
  213. package/dist/esm/chunks/markets-ui-UNB4PTA7.js +0 -1
  214. package/dist/esm/chunks/search-OU75RNQL.js +0 -1
  215. package/src/account/addresses-view.js +0 -92
  216. package/src/account/browser-session.js +0 -359
  217. package/src/account/markup.js +0 -48
  218. package/src/account/operations.js +0 -180
  219. package/src/account/order-list.js +0 -91
  220. package/src/account/order-page.js +0 -192
  221. package/src/account/server-client.js +0 -172
  222. package/src/account/shared.js +0 -111
  223. package/src/account/shopify-auth.js +0 -150
  224. package/src/account-api.js +0 -118
  225. package/src/account-links.js +0 -35
  226. package/src/account.js +0 -342
  227. package/src/amounts.js +0 -36
  228. package/src/analytics.js +0 -352
  229. package/src/cart/checkout.js +0 -97
  230. package/src/cart/mutations.js +0 -234
  231. package/src/cart/store.js +0 -326
  232. package/src/client.js +0 -267
  233. package/src/config.js +0 -349
  234. package/src/dom.js +0 -287
  235. package/src/fragments.js +0 -237
  236. package/src/index.js +0 -353
  237. package/src/initial.js +0 -87
  238. package/src/lazy-iife.js +0 -116
  239. package/src/lazy.js +0 -39
  240. package/src/market-codes.js +0 -35
  241. package/src/markets.js +0 -334
  242. package/src/markup.js +0 -64
  243. package/src/parts/account-pages.js +0 -6
  244. package/src/parts/account.js +0 -6
  245. package/src/parts/analytics.js +0 -6
  246. package/src/parts/diagnose.js +0 -6
  247. package/src/parts/extras.js +0 -6
  248. package/src/parts/markets.js +0 -6
  249. package/src/parts/search.js +0 -6
  250. package/src/presets/barba.js +0 -190
  251. package/src/product-state.js +0 -318
  252. package/src/selling-plans.js +0 -154
  253. package/src/server.js +0 -215
  254. package/src/store-html.js +0 -0
  255. package/src/storefront/catalog.js +0 -199
  256. package/types/astro.d.ts +0 -28
  257. package/types/barba.d.ts +0 -16
  258. package/types/index.d.ts +0 -577
  259. 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"],[xt,Tt,Ot,Et,St,T,Lt]=qe;var ve=window.Tether.__core["dom.ts"],[kt,y,It,ue,P,h,p,Ct,Rt,Nt,Dt,Mt,l,A,u,B,g,_]=ve;var He=window.Tether.__core["client.ts"],[vt,Ht,Ft,Ut,R]=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 w(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function i(e,t){return w(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 R(`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=>w(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 Be(e){let t=a(i(i(e,"lineItem"),"id"));return{quantity:N(i(e,"quantity")),lineItem:t===null?null:{id:t}}}function _e(e){return w(e)?{returnableLineItems:x(e.returnableLineItems,Be)}:null}function ye(e){if(!w(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:_e(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(!w(e))return null;let t=e.intervalCount;return{interval:a(e.interval),intervalCount:w(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(w(t))return{contract:{id:a(t.id),status:a(t.status)}};if(w(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 R("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)&&_(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(", "),b=(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:h(e.price),total:h(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 C=p(f,"order-line")??"";if(C==="image"){s.image&&B(f,s.image.url,s.image.altText||s.title||"");return}let ae=b(c,C);ae!==void 0&&g(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(y("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:h(e.totalPrice),subtotal:h(e.subtotal),shipping:h(e.totalShipping),tax:h(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),_(s,f);return}let d=b(r,o);d!==void 0&&g(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 C=t.statusPageUrl;C!==null&&se(C)&&d.setAttribute("href",C);return}let f=b(s,c);f!==void 0&&g(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(y("order-state"),"ready")}async function Y(e){let t=Ke(e);if(!t){e.setAttribute(y("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=b(n,p(r,"address-bind")??"");s!==void 0&&g(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:h(t.length&&e.currencyCode?{amount:String(n),currencyCode:e.currencyCode}:null),delivery:h(e.deliveryPrice)}}function st(e,t){let n={title:t.title??"","variant-title":t.variantTitle||"",quantity:String(t.quantity),price:h(t.currentPrice)};S(e,"subscription-line").forEach(r=>{let s=p(r,"subscription-line")??"";if(s==="image"){t.image&&B(r,t.image.url,t.image.altText||t.title||"");return}let o=b(n,s);o!==void 0&&g(r,o)})}function it(e,t){e.dataset.tetherSubscription=t.id,e.setAttribute(y("subscription-status"),L(t.status));let n=rt(t);l(e,u("subscription-bind")).forEach(s=>{let o=b(n,p(s,"subscription-bind")??"");o!==void 0&&g(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=b(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 R?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(y("form-state"),"pending");let n=l(e,u("form-error"));n.forEach(r=>{g(r,"")});try{return await t(),e.setAttribute(y("form-state"),"saved"),"saved"}catch(r){return e.setAttribute(y("form-state"),"error"),n.forEach(s=>{g(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(y("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(y("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 Ce(){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 Re=!1;async function bt(e=document){Re||(Re=!0,Ce()),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})}var{Tether:Ne}=window;if(!Ne)throw new Error("tether.account-pages.js runs after the Tether script, which loads it");Ne.__parts["account-pages"]=oe;})();