@everfur/sdk 0.15.1 → 0.16.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 (194) hide show
  1. package/CHANGELOG.md +138 -0
  2. package/README.md +3 -1
  3. package/chat/lite/package.json +8 -0
  4. package/dist/Chat.d-CzI2228d.d.ts +11 -0
  5. package/dist/Chat.d-D3ScVQ22.d.cts +11 -0
  6. package/dist/{DepthViews.d-PuBGdAYk.d.cts → DepthViews.d-6U4QqaW3.d.cts} +1 -1
  7. package/dist/{DepthViews.d--1daZblh.d.cts → DepthViews.d-BLx_ZTwa.d.cts} +1 -1
  8. package/dist/{DepthViews.d-CKTnEeUo.d.ts → DepthViews.d-Cwbel5o4.d.ts} +1 -1
  9. package/dist/{DepthViews.d-BuEWI6Ln.d.ts → DepthViews.d-DVIydPLt.d.ts} +1 -1
  10. package/dist/{RecordsPage.d-CBB8sfoY.d.ts → RecordsPage.d-Bwalb0wU.d.ts} +1 -1
  11. package/dist/{RecordsPage.d-Dq5gpQG0.d.cts → RecordsPage.d-Do7T8Fns.d.cts} +1 -1
  12. package/dist/animations/index.d.cts +5 -5
  13. package/dist/animations/index.d.ts +5 -5
  14. package/dist/{Chat.d-BlsnQwCQ.d.ts → appStateLifecycle.d-Bd-rNy6K.d.ts} +62 -144
  15. package/dist/{Chat.d-BO5iJsR2.d.cts → appStateLifecycle.d-_mh4CEAq.d.cts} +62 -144
  16. package/dist/attachmentTransport.d-Syrvv5zH.d.ts +41 -0
  17. package/dist/attachmentTransport.d-r1XCCdUB.d.cts +41 -0
  18. package/dist/{attachments.d-DFP9yvz9.d.ts → attachments.d-BiBGBE4o.d.ts} +24 -6
  19. package/dist/{attachments.d-C2nkIyDB.d.ts → attachments.d-CyB8hzDo.d.ts} +2 -2
  20. package/dist/{attachments.d-DRHsJkni.d.cts → attachments.d-GlO5UP7H.d.cts} +24 -6
  21. package/dist/{attachments.d-DRUC35Ti.d.cts → attachments.d-Y-qvSHVU.d.cts} +2 -2
  22. package/dist/{bookingCopy.d-bF_QknDC.d.cts → bookingCopy.d-BIaCiRuW.d.cts} +2 -2
  23. package/dist/{bookingCopy.d-CFL-1Be2.d.ts → bookingCopy.d-DgWvNKD5.d.ts} +2 -2
  24. package/dist/{casesRepository.d-C__BnffJ.d.ts → casesRepository.d-BW8DTYeN.d.ts} +1 -1
  25. package/dist/{casesRepository.d-BMOnT1fg.d.cts → casesRepository.d-_0AO2YrL.d.cts} +1 -1
  26. package/dist/chat/index.cjs +246 -231
  27. package/dist/chat/index.d.cts +16 -49
  28. package/dist/chat/index.d.ts +16 -49
  29. package/dist/chat/index.js +246 -231
  30. package/dist/chat/lite/index.cjs +430 -0
  31. package/dist/chat/lite/index.d.cts +35 -0
  32. package/dist/chat/lite/index.d.ts +35 -0
  33. package/dist/chat/lite/index.js +430 -0
  34. package/dist/client/index.cjs +4 -4
  35. package/dist/client/index.d.cts +6 -6
  36. package/dist/client/index.d.ts +6 -6
  37. package/dist/client/index.js +4 -4
  38. package/dist/{clinicBatch.d-D68RYvc3.d.ts → clinicBatch.d-BXwATY3-.d.ts} +2 -2
  39. package/dist/{clinicBatch.d-C5deJ4xY.d.cts → clinicBatch.d-BcuSaOkv.d.cts} +2 -2
  40. package/dist/{config.d-BQgrIDdu.d.cts → config.d-D1xcxALX.d.cts} +1 -1
  41. package/dist/{config.d-XSMThgVj.d.ts → config.d-jTVsAeky.d.ts} +1 -1
  42. package/dist/consent/index.d.cts +5 -5
  43. package/dist/consent/index.d.ts +5 -5
  44. package/dist/{context.d-Ba8YyJpk.d.cts → context.d-C3x-z665.d.cts} +5 -5
  45. package/dist/{context.d-xoh5vmxS.d.ts → context.d-goZeZO2I.d.ts} +5 -5
  46. package/dist/{copy.d-Cq-s-UUv.d.cts → copy.d-DPwFY4r5.d.cts} +2 -2
  47. package/dist/{copy.d-HV9fU5kh.d.ts → copy.d-yfJv7fl6.d.ts} +2 -2
  48. package/dist/core/index.cjs +10 -10
  49. package/dist/core/index.d.cts +13 -13
  50. package/dist/core/index.d.ts +13 -13
  51. package/dist/core/index.js +10 -10
  52. package/dist/{depth.d-D7kKiYl7.d.ts → depth.d-SJzknw_P.d.ts} +2 -2
  53. package/dist/{depth.d-DYnkz8Re.d.cts → depth.d-e_8_icip.d.cts} +2 -2
  54. package/dist/{entitlementRepository.d-DmnUZLl_.d.ts → entitlementRepository.d-BNgZhwoE.d.ts} +2 -2
  55. package/dist/{entitlementRepository.d-B_kEPLhz.d.cts → entitlementRepository.d-C_LdzINM.d.cts} +2 -2
  56. package/dist/{focus.d-BHm_QtQ9.d.cts → focus.d-CXpIkIuU.d.cts} +3 -3
  57. package/dist/{focus.d-CjL6Cj0m.d.ts → focus.d-DzIgOqNB.d.ts} +3 -3
  58. package/dist/health-plan/index.cjs +136 -133
  59. package/dist/health-plan/index.d.cts +77 -24
  60. package/dist/health-plan/index.d.ts +77 -24
  61. package/dist/health-plan/index.js +136 -133
  62. package/dist/{idempotency.d-BSRK8od4.d.cts → idempotency.d-0biUa_Vw.d.cts} +1 -1
  63. package/dist/{idempotency.d-CFc4CCc9.d.ts → idempotency.d-DcqIqmf9.d.ts} +1 -1
  64. package/dist/{identity.d-Be2Es9Td.d.ts → identity.d-BEJcHY-5.d.ts} +1 -1
  65. package/dist/{identity.d-HbwYQ4-z.d.cts → identity.d-COcNGuCJ.d.cts} +1 -1
  66. package/dist/index.cjs +245 -230
  67. package/dist/index.d.cts +15 -12
  68. package/dist/index.d.ts +15 -12
  69. package/dist/index.js +246 -231
  70. package/dist/{introEvents.d-Dr34KIaD.d.cts → introEvents.d-D8N9bbGO.d.cts} +1 -1
  71. package/dist/{introEvents.d-DflJ6J9H.d.ts → introEvents.d-GCdyQyUG.d.ts} +1 -1
  72. package/dist/notifications/index.d.cts +4 -4
  73. package/dist/notifications/index.d.ts +4 -4
  74. package/dist/{optInView.d-3mbj1mR6.d.ts → optInView.d-CY2IueSZ.d.ts} +2 -2
  75. package/dist/{optInView.d-D23o1gtT.d.cts → optInView.d-DVuuWDRw.d.cts} +2 -2
  76. package/dist/{parse.d-BERabxHw.d.ts → parse.d--ztmWIIP.d.ts} +1 -1
  77. package/dist/{parse.d-4lUXdmvY.d.cts → parse.d-B-WrkW2C.d.cts} +1 -1
  78. package/dist/{pets.d-CHU0UbXt.d.cts → pets.d-BSW0oEYx.d.cts} +1 -1
  79. package/dist/{pets.d-D_ayuqjp.d.ts → pets.d-DwsImaHU.d.ts} +1 -1
  80. package/dist/{petsRepository.d-Bwfe8yuR.d.cts → petsRepository.d-BQfWC3d4.d.cts} +1 -1
  81. package/dist/{petsRepository.d-DUaAWoTv.d.ts → petsRepository.d-BudLFHVe.d.ts} +1 -1
  82. package/dist/photo/index.cjs +2 -2
  83. package/dist/photo/index.js +2 -2
  84. package/dist/{ports.d-DzEJMVRs.d.ts → ports.d-B6kDPKF7.d.ts} +4 -4
  85. package/dist/{ports.d-ClbPRUtx.d.cts → ports.d-DzPbmiDT.d.cts} +4 -4
  86. package/dist/records/depth/index.cjs +10 -10
  87. package/dist/records/depth/index.d.cts +9 -9
  88. package/dist/records/depth/index.d.ts +9 -9
  89. package/dist/records/depth/index.js +10 -10
  90. package/dist/records/index.cjs +253 -211
  91. package/dist/records/index.d.cts +169 -73
  92. package/dist/records/index.d.ts +169 -73
  93. package/dist/records/index.js +254 -212
  94. package/dist/{requestFunnel.d-YabU6G-Z.d.ts → requestFunnel.d-BPsCHJWf.d.ts} +2 -2
  95. package/dist/{requestFunnel.d-JoqddYSx.d.cts → requestFunnel.d-BdpL7gwg.d.cts} +2 -2
  96. package/dist/{runtimeTypes.d-DQTBJAbk.d.ts → runtimeTypes.d-C_Pcxn-n.d.ts} +4 -4
  97. package/dist/{runtimeTypes.d-Cv38YuzP.d.cts → runtimeTypes.d-Cfq3IrZG.d.cts} +4 -4
  98. package/dist/{screenProps.d-C-AuHoyF.d.cts → screenProps.d-BJMn1kTR.d.cts} +2 -2
  99. package/dist/{screenProps.d-BuJLzFkN.d.ts → screenProps.d-DGrfO17l.d.ts} +2 -2
  100. package/dist/server/events/index.cjs +3 -3
  101. package/dist/server/events/index.d.cts +48 -6
  102. package/dist/server/events/index.d.ts +48 -6
  103. package/dist/server/events/index.js +3 -3
  104. package/dist/server/index.cjs +2 -2
  105. package/dist/server/index.d.cts +3 -3
  106. package/dist/server/index.d.ts +3 -3
  107. package/dist/server/index.js +2 -2
  108. package/dist/shop/index.cjs +16 -16
  109. package/dist/shop/index.d.cts +12 -3
  110. package/dist/shop/index.d.ts +12 -3
  111. package/dist/shop/index.js +16 -16
  112. package/dist/tabs/index.cjs +4 -4
  113. package/dist/tabs/index.d.cts +34 -15
  114. package/dist/tabs/index.d.ts +34 -15
  115. package/dist/tabs/index.js +5 -5
  116. package/dist/{tabsModel.d-BfIQg6yS.d.ts → tabsModel.d-B7QMug1u.d.cts} +1 -17
  117. package/dist/{tabsModel.d-BfIQg6yS.d.cts → tabsModel.d-B7QMug1u.d.ts} +1 -17
  118. package/dist/televet/booking/index.cjs +2 -2
  119. package/dist/televet/booking/index.d.cts +6 -6
  120. package/dist/televet/booking/index.d.ts +6 -6
  121. package/dist/televet/booking/index.js +2 -2
  122. package/dist/televet/call/index.cjs +1 -1
  123. package/dist/televet/call/index.js +1 -1
  124. package/dist/televet/index.cjs +4 -3
  125. package/dist/televet/index.d.cts +1 -0
  126. package/dist/televet/index.d.ts +1 -0
  127. package/dist/televet/index.js +5 -4
  128. package/dist/testing/index.d.cts +1 -1
  129. package/dist/testing/index.d.ts +1 -1
  130. package/dist/testing/rn/index.cjs +1 -1
  131. package/dist/testing/rn/index.d.cts +7 -7
  132. package/dist/testing/rn/index.d.ts +7 -7
  133. package/dist/testing/rn/index.js +1 -1
  134. package/dist/testing/web/index.d.cts +7 -7
  135. package/dist/testing/web/index.d.ts +7 -7
  136. package/dist/texting/index.cjs +21 -16
  137. package/dist/texting/index.d.cts +5 -5
  138. package/dist/texting/index.d.ts +5 -5
  139. package/dist/texting/index.js +22 -17
  140. package/dist/threadOptions.d-B0folrKm.d.cts +147 -0
  141. package/dist/{threadOptions.d-DBrmOwmb.d.cts → threadOptions.d-B8HTJa9A.d.cts} +6 -40
  142. package/dist/{threadOptions.d-8x_1evAr.d.ts → threadOptions.d-BnhE7T8Y.d.ts} +6 -40
  143. package/dist/threadOptions.d-DTsJFkL-.d.ts +147 -0
  144. package/dist/threadOptions.d-GPJPprkn.d.cts +55 -0
  145. package/dist/threadOptions.d-GPJPprkn.d.ts +55 -0
  146. package/dist/{timelineRows.d-B6lLC8Ud.d.cts → timelineRows.d-BTcUdNeI.d.cts} +1 -1
  147. package/dist/{timelineRows.d-Brlkti-G.d.ts → timelineRows.d-kmBms1W5.d.ts} +1 -1
  148. package/dist/{planSignals.d-Dha2CMDF.d.cts → useHealthPlanSubscription.d-B_cth_iF.d.cts} +81 -3
  149. package/dist/{planSignals.d-CON9gTvJ.d.ts → useHealthPlanSubscription.d-BzNaVl89.d.ts} +81 -3
  150. package/dist/{usePresentation.d-Bne14SlX.d.ts → usePresentation.d-B7Uf44Ax.d.ts} +40 -40
  151. package/dist/{usePresentation.d-BcdCIuEU.d.cts → usePresentation.d-BkAMOfb5.d.cts} +40 -40
  152. package/dist/{useRecordsDepth.d-Cd6J03o5.d.ts → useRecordsDepth.d-BHkZi0tM.d.ts} +1 -1
  153. package/dist/{useRecordsDepth.d-DAa169VY.d.cts → useRecordsDepth.d-BxHpKipf.d.cts} +1 -1
  154. package/dist/video/index.cjs +2 -2
  155. package/dist/video/index.js +2 -2
  156. package/dist/{view.d-DkGM8GNA.d.ts → view.d-2BYMRnWj.d.ts} +3 -3
  157. package/dist/{view.d-3d5_O7Xk.d.cts → view.d-CoDbnv0f.d.cts} +3 -3
  158. package/dist/web/consent/index.d.cts +5 -5
  159. package/dist/web/consent/index.d.ts +5 -5
  160. package/dist/web/health-plan/index.cjs +5 -5
  161. package/dist/web/health-plan/index.d.cts +15 -69
  162. package/dist/web/health-plan/index.d.ts +15 -69
  163. package/dist/web/health-plan/index.js +5 -5
  164. package/dist/web/index.cjs +8 -8
  165. package/dist/web/index.d.cts +26 -43
  166. package/dist/web/index.d.ts +26 -43
  167. package/dist/web/index.js +8 -8
  168. package/dist/web/intro/index.d.cts +6 -6
  169. package/dist/web/intro/index.d.ts +6 -6
  170. package/dist/web/notifications/index.d.cts +3 -3
  171. package/dist/web/notifications/index.d.ts +3 -3
  172. package/dist/web/records/depth/index.cjs +9 -9
  173. package/dist/web/records/depth/index.d.cts +9 -9
  174. package/dist/web/records/depth/index.d.ts +9 -9
  175. package/dist/web/records/depth/index.js +9 -9
  176. package/dist/web/records/index.cjs +12 -12
  177. package/dist/web/records/index.d.cts +11 -11
  178. package/dist/web/records/index.d.ts +11 -11
  179. package/dist/web/records/index.js +12 -12
  180. package/dist/web/records-sheet/index.cjs +17 -17
  181. package/dist/web/records-sheet/index.js +17 -17
  182. package/dist/web/shop/index.cjs +12 -12
  183. package/dist/web/shop/index.d.cts +3 -3
  184. package/dist/web/shop/index.d.ts +3 -3
  185. package/dist/web/shop/index.js +12 -12
  186. package/dist/web/televet/booking/index.cjs +2 -2
  187. package/dist/web/televet/booking/index.d.cts +6 -6
  188. package/dist/web/televet/booking/index.d.ts +6 -6
  189. package/dist/web/televet/booking/index.js +2 -2
  190. package/dist/web/televet/call/index.cjs +1 -1
  191. package/dist/web/televet/call/index.js +1 -1
  192. package/dist/web/texting/index.d.cts +5 -5
  193. package/dist/web/texting/index.d.ts +5 -5
  194. package/package.json +22 -27
@@ -1,7 +1,7 @@
1
1
  /*! @everfur/sdk. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
2
- import{createContext,forwardRef,createElement,useMemo,useEffect,useRef,useContext,useCallback,useState,Fragment as Fragment$1,useSyncExternalStore}from"react";import{TextInput,View,ScrollView,Text,Pressable,Platform,Image,Modal,KeyboardAvoidingView,StyleSheet}from"react-native";import{jsxs,jsx,Fragment}from"react/jsx-runtime";var EverfurConfigError=class _EverfurConfigError extends Error{constructor(kind,message){super(message),this.name="EverfurConfigError",this.kind=kind,Object.setPrototypeOf(this,_EverfurConfigError.prototype)}};function omsOk(value){/* @__PURE__ */
2
+ import{createContext,forwardRef,createElement,useContext,useEffect,useMemo,useRef,useCallback,useState,Fragment as Fragment$1,useSyncExternalStore}from"react";import{TextInput,View,ScrollView,Text,Pressable,Platform,Image,RefreshControl,AppState,Modal,KeyboardAvoidingView,StyleSheet}from"react-native";import{jsxs,jsx,Fragment}from"react/jsx-runtime";var EverfurConfigError=class _EverfurConfigError extends Error{constructor(kind,message){super(message),this.name="EverfurConfigError",this.kind=kind,Object.setPrototypeOf(this,_EverfurConfigError.prototype)}};var EVERFUR_CONTEXT_SYMBOL=/* @__PURE__ */Symbol.for("@everfur/sdk#EverfurContext@v1"),globalContextHost=globalThis,EverfurContext=globalContextHost[EVERFUR_CONTEXT_SYMBOL]??(globalContextHost[EVERFUR_CONTEXT_SYMBOL]=createContext(null));EverfurContext.displayName??="EverfurContext";var CART_MAX_QUANTITY=5,stores=/* @__PURE__ */new WeakMap,NONE=[];function storeOf(client){let s=stores.get(client);return s||(s={items:NONE,flash:null,storage:null,binding:null,lastKey:null,listeners:/* @__PURE__ */new Set},stores.set(client,s)),s}function set(client,items){let s=storeOf(client);if(s.items=items,s.storage)try{s.storage.write(JSON.stringify(items))}catch{}for(let l of[...s.listeners])l()}function clamp(n){return Math.max(1,Math.min(CART_MAX_QUANTITY,Math.round(n)))}function cartKey(line){return`${line.offerId}|${line.petId??""}|${line.rxId??""}`}var str=v=>typeof v=="string"&&v!=="";function parseItems(raw){if(!raw)return NONE;let data;try{data=JSON.parse(raw)}catch{return NONE}if(!Array.isArray(data))return NONE;let out=[];for(let d of data){if(!d||typeof d!="object")continue;let o=d;if(!str(o.offerId)||typeof o.title!="string"||typeof o.quantity!="number"||!Number.isFinite(o.quantity))continue;let unitPrice=typeof o.unitPrice=="number"&&Number.isFinite(o.unitPrice)?o.unitPrice:null,petId=str(o.petId)?o.petId:void 0,rxId=str(o.rxId)?o.rxId:void 0,line={offerId:o.offerId,...petId?{petId:petId}:{},...rxId?{rxId:rxId}:{}},key=cartKey(line);out.some(i=>i.key===key)||out.push({...line,key:key,title:o.title,unitPrice:unitPrice,requiresRx:o.requiresRx===true,quantity:rxId?Math.max(1,Math.round(o.quantity)):clamp(o.quantity)})}return out.length>0?out:NONE}function mergeItems(stored,live){let byKey=new Map(live.map(i=>[i.key,i])),out=stored.map(i=>byKey.get(i.key)??i);for(let i of live)stored.some(x=>x.key===i.key)||out.push(i);return out.length>0?out:NONE}var NOOP=()=>{};function bindAsyncCartStorage(client,store,key){let s=storeOf(client);if(!store||s.binding!==null)return NOOP;if(s.lastKey!==null&&s.lastKey!==key&&s.items.length>0){s.items=NONE;for(let l of[...s.listeners])l()}s.lastKey=key;let token={};s.binding={key:key,token:token};let writer={read:()=>null,write:value=>{store.setItem(key,value).catch(()=>{})}},settle=(raw,readOk)=>{if(s.binding?.token!==token)return;s.storage=writer;let stored=parseItems(raw);stored.length>0?set(client,mergeItems(stored,s.items)):readOk&&s.items.length>0&&set(client,s.items)};try{store.getItem(key).then(raw=>settle(raw,!0),()=>settle(null,!1))}catch{settle(null,false)}return()=>{s.binding?.token===token&&(s.binding=null,s.storage=null)}}function cartItems(client){return storeOf(client).items}function addToCart(client,input){let key=cartKey(input),items=cartItems(client),was=items.find(i=>i.key===key),quantity=input.rxId?Math.max(1,Math.round(input.quantity)):clamp((was?.quantity??0)+input.quantity),item={...input,key:key,quantity:quantity};return set(client,was?items.map(i=>i.key===key?item:i):[...items,item]),item}function setCartQuantity(client,key,quantity){let items=cartItems(client);set(client,items.map(i=>i.key===key&&!i.rxId?{...i,quantity:clamp(quantity)}:i))}function removeFromCart(client,key){let items=cartItems(client),was=items.find(i=>i.key===key)??null;return was&&set(client,items.filter(i=>i.key!==key)),was}function removePlaced(client,keys){let gone=new Set(keys),items=cartItems(client);items.some(i=>gone.has(i.key))&&set(client,items.filter(i=>!gone.has(i.key)))}function flashCart(client,line){storeOf(client).flash=line}function takeCartFlash(client){let s=storeOf(client),line=s.flash;return s.flash=null,line}function cartLines(items){return items.map(i=>({offerId:i.offerId,quantity:i.quantity,...i.petId?{petId:i.petId}:{},...i.rxId?{rxId:i.rxId}:{}}))}function cartSubtotal(items){let sum=0;for(let i of items){if(i.unitPrice===null)return null;sum+=i.unitPrice*i.quantity}return sum}function cartCount(items){return items.reduce((n,i)=>n+i.quantity,0)}function useCart(client){let s=storeOf(client);return useSyncExternalStore(l=>(s.listeners.add(l),()=>{s.listeners.delete(l)}),()=>s.items,()=>s.items)}function omsOk(value){/* @__PURE__ */
3
3
  return Object.freeze({ok:true,value:value})}function omsErr(error){/* @__PURE__ */
4
- return Object.freeze({ok:false,error:/* @__PURE__ */Object.freeze(error)})}function isOmsRefusal(error,reasonCode){return error.kind==="refused"&&(reasonCode===void 0||error.reasonCode===reasonCode)}function isOmsUnavailable(error){return error.kind==="unavailable"}function isOmsRetryable(error){return error.kind==="network"||error.kind==="timeout"||error.kind==="serviceUnavailable"||error.kind==="refused"&&error.reasonCode==="order_state_conflict"}var REASON=/^[a-z][a-z0-9_]{0,63}$/,MAX_MESSAGE=300;function cleanMessage(raw){if(typeof raw!="string")return null;let text=raw.replace(/[\u0000-\u001f\u007f]+/g," ").trim();return text.length===0||text.length>MAX_MESSAGE?null:text}function retryAfter(header){if(!header)return null;let seconds=Number(header);return Number.isFinite(seconds)&&seconds>=0?Math.min(Math.round(seconds),3600):null}function omsErrorFromStatus(status,body,headers){let requestId=headers.requestId,rid=requestId?{requestId:requestId}:{};if(status===404)return{kind:"unavailable",...rid};if(status===401)return{kind:"signedOut"};if(status===402||status===409||status===422){let envelope=body&&typeof body=="object"?body:{},reason=typeof envelope.reason_code=="string"&&REASON.test(envelope.reason_code)?envelope.reason_code:null;return{kind:"refused",status:status,reasonCode:reason,message:cleanMessage(envelope.message),...rid}}return status===400?{kind:"invalidRequest",...rid}:status===429?{kind:"rateLimited",retryAfterSeconds:retryAfter(headers.retryAfter??null),...rid}:status===503?{kind:"serviceUnavailable",...rid}:status===403?{kind:"unavailable",...rid}:{kind:"serverError",status:status,...rid}}function newIdempotencyKey(){let c=globalThis.crypto;if(c&&typeof c.randomUUID=="function")return c.randomUUID();if(c&&typeof c.getRandomValues=="function"){let b=c.getRandomValues(new Uint8Array(16));b[6]=b[6]&15|64,b[8]=b[8]&63|128;let h=Array.from(b,x=>x.toString(16).padStart(2,"0")).join("");return`${h.slice(0,8)}-${h.slice(8,12)}-${h.slice(12,16)}-${h.slice(16,20)}-${h.slice(20)}`}throw new EverfurConfigError("missing-peer-dependency","No secure random source: cannot make an idempotency key")}var MAX_ROUNDS=3,NAME_REQUIRED_REASONS=["client_name_missing"];function isNameRequired(error){return!!error&&error.kind==="refused"&&!!error.reasonCode&&NAME_REQUIRED_REASONS.includes(error.reasonCode)}var ShopActionKeys=class{constructor(make=newIdempotencyKey){this.make=make;this.keys=/* @__PURE__ */new Map}key(step){let k=this.keys.get(step);return k||(k=this.make(),this.keys.set(step,k)),k}next(step){let k=this.make();return this.keys.set(step,k),k}};async function confirmWithPayerActions(confirm,keys,payments,options={reconfirm:true}){let key=keys.key("confirm"),orderIds=[];for(let round=0;round<MAX_ROUNDS;round+=1){let res=await confirm(key);if(!res.ok)return{kind:"failed",error:res.error};orderIds=res.value.resale.map(r=>r.orderId);let pending=res.value.resale.filter(r=>r.outcome==="action_required"&&r.payerAction);if(pending.length===0)return{kind:"confirmed",orderIds:orderIds};if(!payments)return{kind:"needsPayerAction",orderIds:orderIds};for(let entry of pending){let stepResult=await payments.handleNextAction(entry.payerAction,{orderId:entry.orderId});if(!stepResult.ok)return stepResult.closed?{kind:"payerActionClosed",orderIds:orderIds}:{kind:"payerActionFailed",orderIds:orderIds,message:stepResult.message}}if(!options.reconfirm)return{kind:"confirmed",orderIds:orderIds};key=keys.next("confirm")}return{kind:"needsPayerAction",orderIds:orderIds}}var UNAVAILABLE_PACKAGE_SOURCE=/* @__PURE__ */Object.freeze({load:()=>Promise.resolve(omsErr({kind:"unavailable"})),removeLine:()=>Promise.resolve(omsErr({kind:"unavailable"})),skip:()=>Promise.resolve(omsErr({kind:"unavailable"})),approve:()=>Promise.resolve({kind:"failed",error:{kind:"unavailable"}})});async function offersFor(client,ids){let unique=[...new Set(ids)],read=await Promise.all(unique.map(id=>client.offer(id)));return new Map(unique.map((id,i)=>[id,read[i].ok?read[i].value:null]))}function createOmsPackageSource(client){async function build(plan,review){let offers=await offersFor(client,review.lines.map(l=>l.offerId)),lines=review.lines.map(l=>({...l,offer:offers.get(l.offerId)??null})),draft=null;if(review.state==="open"&&lines.length>0){let d=await client.draftCycle(plan.planId,review.cycle);if(d.ok)draft=d.value;else if(d.error.kind!=="refused")return omsErr(d.error)}return omsOk({plan:plan,review:review,lines:lines,draft:draft})}return{async load(){let plans=await client.plans();if(!plans.ok)return omsErr(plans.error);let plan=plans.value.plans.find(p=>p.state==="active")??plans.value.plans.find(p=>p.state!=="cancelled");if(!plan)return omsOk(null);let review=await client.cycleReview(plan.planId);return review.ok?build(plan,review.value):omsErr(review.error)},async removeLine(pkg,index,keys){let rest=pkg.lines.filter((_,i)=>i!==index).map(l=>({offerId:l.offerId,quantity:l.quantity,...l.petId?{petId:l.petId}:{}})),edited=await client.editCycle(pkg.plan.planId,pkg.review.cycle,{idempotencyKey:keys.key(`remove:${index}`),lines:rest});return edited.ok?build(pkg.plan,edited.value):omsErr(edited.error)},async skip(pkg,keys){let res=await client.skipCycle(pkg.plan.planId,pkg.review.cycle,{idempotencyKey:keys.key("skip")});return res.ok?omsOk(void 0):omsErr(res.error)},approve(pkg,keys,payments){let draft=pkg.draft;return draft?confirmWithPayerActions(idempotencyKey=>client.approveCycle(pkg.plan.planId,pkg.review.cycle,{idempotencyKey:idempotencyKey,checkoutId:draft.checkoutId,expectedTotal:draft.total}),keys,payments,{reconfirm:false}):Promise.resolve({kind:"failed",error:{kind:"invalidRequest"}})}}}function placeholder(key){return`[copy:shop.${key}]`}var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function possessive(name){return`${name}’s`}function listNames(names){return names.length<=1?names[0]??"":`${names.slice(0,-1).join(", ")} and ${names[names.length-1]}`}function asDate(iso){if(!iso)return null;let d=new Date(/^\d{4}-\d{2}-\d{2}$/.test(iso)?`${iso}T00:00:00Z`:iso);return Number.isNaN(d.getTime())?null:d}function formatDay(iso,opts={}){let d=asDate(iso);if(!d)return null;if(opts.when&&d.getUTCFullYear()!==(opts.now??/* @__PURE__ */new Date).getUTCFullYear())return d.toLocaleDateString("en-US",{timeZone:"UTC",month:"short",day:"numeric",year:"numeric"});let weekday=opts.weekday===true||opts.when===true;return d.toLocaleDateString("en-US",{timeZone:"UTC",...weekday?{weekday:"short"}:{},month:"short",day:"numeric"})}function monthOf(iso){let d=asDate(iso);return d?MONTHS[d.getUTCMonth()]:null}function formatCents(cents){let sign=cents<0?"-":"",abs=Math.abs(Math.round(cents));return`${sign}$${Math.floor(abs/100).toLocaleString("en-US")}.${String(abs%100).padStart(2,"0")}`}function cardLabel(brand,last4){return`${brand?brand.charAt(0).toUpperCase()+brand.slice(1):""} ending ${last4}`}var PHARMACY_REFUSAL="We can’t send this prescription to the pharmacy yet. Contact us.",PHARMACY_REFUSALS=["prescription_missing","prescription_reference_missing","prescription_unreadable","prescriptions_disagree","first_fill_mixed_with_refill","duplicate_prescription_line","prescription_in_flight","client_email_missing","client_phone_missing","client_phone_not_us","practice_email_missing","practice_phone_missing","practice_phone_not_us","patient_birth_date_missing","patient_weight_missing","weight_below_partner_unit","species_not_supported","sex_not_supported","refills_over_partner_limit","indications_missing","indication_not_mapped","compounding_missing","compounding_reason_not_mapped","compounding_unexplained","delivery_speed_unavailable","address_missing","address_not_deliverable"],SHOP_COPY={tabsLabel:"Care",tabPackage:"Package",tabShop:"Shop",tabOrders:"Orders",tabPlan:"Plan",legal:"Prescription items need a valid prescription from a licensed vet, and are filled by a licensed partner pharmacy.",legalTracking:"Prescription items are filled by a licensed partner pharmacy.",loadFailed:thing=>`We couldn’t load ${thing}. Check your connection and try again.`,tryAgain:"Try again",actionFailed:"That didn’t go through. Try again.",saving:"Saving…",keepIt:"Keep it",close:"Close",thingPackage:placeholder("thing.package"),thingShop:placeholder("thing.shop"),thingProduct:placeholder("thing.product"),thingPlan:placeholder("thing.plan"),thingOrders:"your orders",thingOrder:"this order",packageTitle:month=>`${month} package`,packageSub:(names,reviewBy,arrives)=>{let s=[];return names.length>0&&s.push(`For ${listNames(names)}.`),reviewBy&&arrives&&s.push(`Approve by ${reviewBy} and it arrives ${arrives}.`),s.length?s.join(" "):null},inThisPackage:"In this package",reviewBy:day=>`Review by ${day}`,forPet:name=>`For ${name}`,details:"Details",remove:"Remove",removed:"Removed.",total:"Total",items:"Items",shipping:"Shipping",tax:"Tax",free:"Free",approveAndShip:"Approve and ship",itemCount:n=>n===1?placeholder("package.item_count_one"):`${n} items`,withTotal:(label,total)=>`${label} · ${total}`,approveRegion:"Approve",packageDetailsRegion:"Package details",deliveryPaymentRegion:"Delivery and payment",questionsRegion:"Questions",approving:"Approving…",skipThisMonth:"Skip this month",chargedWhenShips:card=>`Charged to ${card} when it ships.`,rxCheckedFirst:"Prescriptions are checked with the vet who wrote them first.",delivery:"Delivery",arrives:day=>`Arrives ${day}`,change:"Change",outOfStock:"Out of stock",packageOutOfStock:"Out of stock right now, so it won’t ship this month.",packageEmpty:month=>`Nothing in ${possessive(month)} package yet. Add something from the shop, or skip this month.`,itemNoLongerSold:placeholder("package.item_no_longer_sold"),reviewClosed:placeholder("package.review_closed"),approvalInProgress:placeholder("package.approval_in_progress"),priceChanged:placeholder("package.price_changed"),cardStepFailed:placeholder("package.card_step_failed"),cardStepClosed:placeholder("package.card_step_closed"),noCardOnFile:placeholder("package.no_card_on_file"),shopTitle:"Shop",searchLabel:"Search the shop",searchPlaceholder:"Search the shop…",filtersLabel:"Filter",filterAll:"All",refillSoon:"Refill soon",prescribedFor:names=>`Prescribed for ${listNames(names)}`,inMonthsPackage:month=>`In ${possessive(month)} package →`,forPets:names=>`For ${listNames(names)}`,allProducts:placeholder("shop.all_products_title"),rx:"Rx",hasPrescription:name=>`${name} has a prescription`,needsPrescription:"Needs a prescription",noMatches:q=>`Nothing in the shop matches ‘${q}’.`,nothingHereYet:"Nothing here yet.",photoToCome:"Photo to come",backToShop:"Shop",howOften:"How often",everyMonthIn:name=>`Every month, in ${possessive(name)} package`,skipOrStop:"Skip or stop any month",justOnce:"Just once",shipsWith:month=>`Ships with ${possessive(month)} package`,justOnceShipsNow:placeholder("product.just_once_meta"),oneFewer:"One fewer",oneMore:"One more",quantity:"Quantity",addToPackage:month=>`Add to ${possessive(month)} package`,refillInPackage:month=>`Refill in ${possessive(month)} package`,buyNow:placeholder("product.buy_now"),startPlan:placeholder("product.start_plan"),adding:"Adding…",outOfStockNow:"Out of stock right now.",prescription:"Prescription",noPrescriptionFor:name=>`No prescription for ${name} on file.`,bookVideoVisit:"Book a video visit",refillsLeft:n=>`${n} ${n===1?"refill":"refills"} left`,rxBeingPrepared:"This prescription is being prepared. You can order it soon.",rxTooSoon:placeholder("rx.too_soon"),rxRenew:placeholder("rx.needs_renewal"),rxPick:placeholder("rx.pick_pet"),educational:"Educational, not a diagnosis.",planTitle:"Your plan",whatRepeats:"What repeats",repeatsLabel:title=>`${title} repeats`,cadenceMonths:months=>months===1?"Every month":`Every ${months} months`,cadenceDays:placeholder("plan.cadence_days"),repeatsEmpty:"Nothing repeats yet. Pick Every month when you add something, and it shows up here.",nextPackage:"Next package",reviewByLabel:"Review by",ships:"Ships",reviewMonthsPackage:month=>`Review ${possessive(month)} package →`,deliveryAndPayment:"Delivery and payment",shipTo:"Ship to",payWith:"Pay with",needABreak:"Need a break?",skipMonth:month=>`Skip ${month}`,skipMonthAsk:month=>`Skip ${month}?`,skipMonthBody:"Nothing ships this month.",pausePlan:"Pause the plan",pausePlanAsk:"Pause the plan?",pausePlanBody:"Nothing ships until you turn it back on.",declined:month=>month?`Declined. Update your card so ${possessive(month)} package can ship.`:"Declined.",resumePlan:placeholder("plan.resume"),stopReason:reason=>placeholder(`plan.stop_reason.${reason}`),consentTitle:placeholder("plan.consent_title"),consentBody:placeholder("plan.consent_body"),consentTermsLink:placeholder("plan.consent_terms_link"),consentAgree:placeholder("plan.consent_agree"),ordersTitle:"Orders",ordersSub:names=>`Packages and one-off orders for ${listNames(names)}.`,allOrders:"All orders",placed:day=>`Placed ${day}`,ordersEmpty:"No orders yet. Your first package shows up here once you approve it.",paymentFailed:"Payment failed",backToCare:"Care",onItsWay:title=>`${title}, on its way`,shouldArrive:day=>`It should arrive ${day}.`,whereItStands:"Where it stands",stepApproved:"Approved",stepChecking:"Checking prescriptions…",stepFilled:"Filled by the pharmacy",stepShipped:"Shipped",stepDelivered:"Delivered",now:"Now",expected:day=>`Expected ${day}.`,inTheBox:"In the box",payment:"Payment",cancelOrder:placeholder("order.cancel"),payOrder:placeholder("order.pay"),trackPackage:placeholder("order.track"),orderStatus:{pending_placement:"Confirmed, sending to the pharmacy",placement_unknown:"Confirmed",placed:"With the pharmacy, in review",accepted:"Approved by the pharmacist",release_sent:"Approved, being prepared",release_unknown:"Approved, being prepared",released:"Being prepared",shipped:"Shipped",delivered:"Delivered",needs_support:"We’re looking into this order",rejected:placeholder("order.status.rejected"),cancelled:"Cancelled",pending_handoff:placeholder("order.status.pending_handoff")},addressTitle:placeholder("address.title"),addressLabel:placeholder("address.label"),addressRecipient:placeholder("address.recipient_name"),addressLine1:placeholder("address.line1"),addressLine2:placeholder("address.line2"),addressCity:placeholder("address.city"),addressRegion:placeholder("address.region"),addressPostal:placeholder("address.postal_code"),addressSave:placeholder("address.save"),addressNeeded:placeholder("address.needed"),cardTitle:placeholder("card.title"),cardBody:placeholder("card.body"),cardStart:placeholder("card.start"),cardUnavailable:placeholder("card.unavailable"),confirmTitle:placeholder("buy.confirm_title"),confirmPay:placeholder("buy.confirm_pay"),nameMissing:placeholder("checkout.name_missing"),addName:placeholder("checkout.add_name"),firstName:placeholder("checkout.first_name"),lastName:placeholder("checkout.last_name"),saveName:placeholder("checkout.save_name"),refusal:{operation_not_supported:"This action isn’t available for this order.",order_not_sellable:"We can’t ship this order as it is. Add items or contact us.",rx_being_prepared:"This prescription is being prepared. You can order it soon.",rx_not_dispensable:PHARMACY_REFUSAL,...Object.fromEntries(PHARMACY_REFUSALS.map(code=>[code,PHARMACY_REFUSAL])),order_state_conflict:"This order changed. Refresh and try again.",payment_method_in_use:"A subscription or an order uses this card."},rateLimited:placeholder("error.rate_limited")},SHOP_COPY_PLACEHOLDERS=(()=>{let keys=/* @__PURE__ */new Set,visit=v=>{if(typeof v=="string"){let m=/^\[copy:(shop\.[a-z0-9_.]+)\]$/.exec(v);m&&keys.add(m[1])}else if(typeof v=="function")try{visit(v("x","x","x"))}catch{}else if(v&&typeof v=="object")for(let inner of Object.values(v))visit(inner)};return visit(SHOP_COPY),[...keys].sort()})();function shopCopy(overrides){return overrides?{...SHOP_COPY,...overrides}:SHOP_COPY}function refusalLine(copy,error){if(error.kind==="rateLimited")return copy.rateLimited;if(error.kind==="refused"){if(isNameRequired(error))return copy.nameMissing;let own=error.reasonCode?copy.refusal[error.reasonCode]:void 0;if(own)return own;if(error.message)return error.message}return copy.actionFailed}var SHOP_V3_COPY={cartTitle:"Cart",cartLabel:n=>n>0?`Cart, ${n} item${n>1?"s":""}`:"Cart, empty",cartEmptyTitle:"Your cart is empty",cartEmptyBody:null,addToCart:"Add to cart",viewCart:"View cart",addedToCart:name=>`${name} is in your cart.`,removedFromCart:name=>`${name} is out of your cart.`,quantityLabel:name=>`How many: ${name}`,fewer:"One fewer",more:"One more",remove:"Remove",subtotal:"Subtotal",shipping:"Shipping",tax:"Tax",free:"Free",total:"Total",checkoutCart:total=>`Checkout · ${total}`,checkoutKicker:"Checkout",itemQuantity:n=>`Qty ${n}`,shipsTo:"Ships to",payWith:"Pay with",placeOrder:total=>`Place order · ${total}`,chooseAddress:placeholder("checkout.choose_address"),chooseCard:placeholder("checkout.choose_card"),addAddress:placeholder("checkout.add_address"),addCard:placeholder("card.start"),makeDefault:placeholder("address.make_default"),editAddress:placeholder("address.edit"),noAddressYet:placeholder("address.needed"),noCardYet:placeholder("package.no_card_on_file"),placedHeader:"Order placed",placedTitle:"Order placed.",placedSteps:"What's coming",placedShips:"It ships.",placedArrives:"It arrives at home.",viewOrder:"View order",ordersTitle:"Orders",ordersEmptyTitle:"No orders yet",ordersEmptyBody:null,moreOrders:placeholder("orders.more"),subscriptionBox:"Subscription box",orderTitle:n=>n===null?"Order":`Order ${n}`,arrivesBy:day=>`Arrives by ${day}`,deliveredOn:day=>`Delivered ${day}`,expected:day=>`Expected ${day}`,orderSteps:["Ordered","Shipped","Out for delivery","Delivered"],tracking:"Tracking",trackOn:carrier=>`Track on ${carrier}`,inThisOrder:"In this order",orderItemLine:n=>`Qty ${n}`,buyAgain:"Buy again",orderHelp:"Get help with this order",paidWith:"Paid with",refund:placeholder("order.refund"),discount:placeholder("order.discount"),cancelAsk:placeholder("order.cancel_ask"),cancelBody:null,cancelRequested:placeholder("order.cancel_requested"),close:"Close",manageKicker:"Your subscription",manageTitle:name=>`Manage ${name}`,manage:"Manage",shipsEvery:"Ships every",daysChip:n=>`${n} days`,skipNext:"Skip the next box",cancelSubscription:"Cancel subscription",nextBox:day=>`Next box ${day}`,everyDays:n=>`Every ${n} days`,subscribedLine:(n,next)=>next===null?`Every ${n} days`:`Every ${n} days · next box ${next}`,skipped:"Skipped.",cancelSubscriptionAsk:placeholder("plan.cancel_ask"),cancelSubscriptionBody:placeholder("plan.cancel_body")},SHOP_V3_COPY_PLACEHOLDERS=Object.values(SHOP_V3_COPY).filter(v=>typeof v=="string"&&v.startsWith("[copy:"));function shopV3Copy(overrides){if(!overrides)return SHOP_V3_COPY;let own={};for(let[k,v]of Object.entries(overrides))k in SHOP_V3_COPY&&v!==void 0&&(own[k]=v);return{...SHOP_V3_COPY,...own}}var ShopContext=createContext(null);function ShopProvider(props){let{client:client,pets:pets,payments:payments,packageSource:packageSource,copy:copy,v3Copy:v3Copy,saveProfileName:saveProfileName,onProfileNameRequired:onProfileNameRequired,children:children}=props,saveName=useRef(saveProfileName);saveName.current=saveProfileName;let editName=useRef(onProfileNameRequired);editName.current=onProfileNameRequired;let canSave=!!saveProfileName,canEdit=!!onProfileNameRequired,value=useMemo(()=>{let list=pets??[],names=new Map(list.map(p=>[p.petId,p.name]));return{client:client,pets:list,petName:id=>id?names.get(id)??null:null,payments:payments??null,packageSource:packageSource??createOmsPackageSource(client),copy:shopCopy(copy),v3:shopV3Copy(v3Copy),saveProfileName:canSave?name=>saveName.current?saveName.current(name):Promise.resolve(false):null,onProfileNameRequired:canEdit?()=>editName.current?.():null}},[client,pets,payments,packageSource,copy,v3Copy,canSave,canEdit]);return createElement(ShopContext.Provider,{value:value},children)}function useShop(){let ctx=useContext(ShopContext);if(!ctx)throw new EverfurConfigError("not-initialized","useShop: wrap the shop in <ShopProvider>");return ctx}function useShopRead(key,read){let[state,setState]=useState({key:null,phase:"loading",value:null,error:null}),epoch=useRef(0),readRef=useRef(read);readRef.current=read;let load=useCallback(quiet=>{let mine=++epoch.current;key!==null&&(quiet||setState({key:key,phase:"loading",value:null,error:null}),readRef.current().then(res=>{mine===epoch.current&&(res.ok?setState({key:key,phase:"ready",value:res.value,error:null}):setState({key:key,phase:res.error.kind==="unavailable"?"unavailable":"failed",value:null,error:res.error}))}))},[key]);useEffect(()=>(load(false),()=>{epoch.current+=1}),[load]);let refresh=useCallback(()=>load(false),[load]);return state.key!==key?{phase:"loading",value:null,error:null,refresh:refresh}:{phase:state.phase,value:state.value,error:state.error,refresh:refresh}}function useShopConfig(){let{client:client}=useShop();return useShopRead("shop-config",()=>client.shopConfig())}function useOffers(query={}){let{client:client}=useShop(),text=query.text?.trim()??"",key=`offers:${text}:${query.requiresRx??""}`;return useShopRead(key,()=>client.offers({...text?{text:text}:{},...query.requiresRx!==void 0?{requiresRx:query.requiresRx}:{},limit:100}))}function useOffer(offerId){let{client:client}=useShop();return useShopRead(offerId?`offer:${offerId}`:null,()=>client.offer(offerId))}function usePrescriptions(){let{client:client}=useShop();return useShopRead("prescriptions",()=>client.prescriptions())}function useAddresses(){let{client:client}=useShop();return useShopRead("addresses",()=>client.addresses())}function useAddress(ref){let{client:client}=useShop();return useShopRead(ref?`address:${ref}`:null,()=>client.address(ref))}function usePaymentMethods(){let{client:client}=useShop();return useShopRead("payment-methods",()=>client.paymentMethods())}function useOrder(orderId){let{client:client}=useShop();return useShopRead(orderId?`order:${orderId}`:null,()=>client.order(orderId))}function usePlans(){let{client:client}=useShop();return useShopRead("plans",()=>client.plans({limit:100}))}function usePackage(){let{packageSource:packageSource}=useShop();return useShopRead("package",()=>packageSource.load())}function useShopAction(act){let[busy,setBusy]=useState(false),[error,setError]=useState(null),keys=useRef(null),running=useRef(false),actRef=useRef(act);actRef.current=act;let mounted=useRef(true);useEffect(()=>(mounted.current=true,()=>{mounted.current=false}),[]);let run=useCallback(async(...args)=>{if(running.current)return null;running.current=true,keys.current??=new ShopActionKeys,setBusy(true),setError(null);try{let res=await actRef.current(keys.current,...args);return res.ok?keys.current=null:isRetryWithSameKey(res.error)||(keys.current=null),mounted.current&&setError(res.ok?null:res.error),res}finally{running.current=false,mounted.current&&setBusy(false)}},[]),reset=useCallback(()=>{keys.current=null,setError(null)},[]);return{busy:busy,error:error,run:run,reset:reset}}function isRetryWithSameKey(error){return error.kind==="network"||error.kind==="timeout"||error.kind==="serviceUnavailable"||error.kind==="serverError"}function distinct(xs){let out=[];for(let x of xs)x!==null&&!out.includes(x)&&out.push(x);return out}var FORMS=[[/\b(inject(ion|able)?|vial|syringe|pen)s?\b/i,"syringe"],[/\b(chew(able)?|soft ?chew|treat)s?\b/i,"bowl"],[/\b(shampoo|spray|ointment|cream|gel|lotion|topical|spot[- ]on|otic|ophthalmic|wipe|foam|mousse|collar)s?\b/i,"shield"],[/\b(solution|suspension|liquid|syrup|elixir|drops?|oral ?paste|paste)s?\b/i,"flask"],[/\b(tablet|caplet|capsule|tab|cap|pill)s?\b/i,"pill"]];function drugFormIcon(title,form){for(let text of[title,form]){if(!text)continue;let hit=FORMS.find(([re])=>re.test(text));if(hit)return hit[1]}return"pill"}function tileFor(rx,title,form){return rx?{tone:"pink",icon:drugFormIcon(title,form)}:{tone:"yellow",icon:"leaf"}}function addressLine(a){return`${a.line2?`${a.line1}, ${a.line2}`:a.line1}, ${a.city}, ${a.region?`${a.region} `:""}${a.postalCode}`}function rxPill(copy){return{label:copy.rx,tone:"rx"}}function refillsLeft(rx){return rx.fillsTotal!==null&&rx.fillsUsed!==null?Math.max(0,rx.fillsTotal-Math.max(rx.fillsUsed,1)):null}function toPackageView(i){let{pkg:pkg,copy:copy,petName:petName}=i,review=pkg.review,month=monthOf(review.shipsOn),names=distinct(pkg.lines.map(l=>petName(l.petId))),open=review.state==="open",priced=new Map(review.quoteLines.map(q=>[`${q.offerId}:${q.petId??""}`,q])),items=pkg.lines.map((line,index)=>{let offer=line.offer,q=priced.get(`${line.offerId}:${line.petId??""}`),rx=offer?.requiresRx??false,pills=[];return offer||pills.push({label:copy.outOfStock,tone:"later"}),{petId:line.petId,view:{key:`${line.offerId}:${line.petId??""}:${index}`,name:offer?.title??copy.itemNoLongerSold,rx:rx,meta:null,alert:offer?null:copy.packageOutOfStock,pills:pills,price:q&&offer?formatCents(q.unitPrice*q.quantity-q.discount):null,...tileFor(rx,offer?.title),details:offer?{label:copy.details,to:{name:"product",offerId:offer.offerId,...line.petId?{petId:line.petId}:{}}}:null,remove:open?{label:copy.remove,busy:i.removing===index,disabled:i.removing!==null,onPress:()=>i.onRemove(index)}:null}}}),groups=[];for(let it of items){let name=petName(it.petId),label=name?copy.forPet(name):null,existing=groups.find(g=>g.label===label);existing?existing.items.push(it.view):groups.push({label:label,items:[it.view]})}let sum=[],d=pkg.draft;d?(sum.push({k:copy.items,v:formatCents(d.total-d.shipping-d.tax)}),sum.push({k:copy.shipping,v:d.shipping===0?copy.free:formatCents(d.shipping)}),sum.push({k:copy.tax,v:formatCents(d.tax)}),sum.push({k:copy.total,v:formatCents(d.total)})):review.quoteLines.length>0&&sum.push({k:copy.items,v:formatCents(review.quoteLines.reduce((n,q)=>n+q.unitPrice*q.quantity-q.discount,0))});let card=i.card?cardLabel(i.card.brand,i.card.last4):null,anyRx=pkg.lines.some(l=>l.offer?.requiresRx),note=card?[copy.chargedWhenShips(card),anyRx?copy.rxCheckedFirst:null].filter(Boolean).join(" "):null,error=i.error;!error&&review.state==="approving"?error=copy.approvalInProgress:!error&&review.state!=="open"&&review.state!==null?error=copy.reviewClosed:!error&&open&&!i.card&&(error=copy.noCardOnFile);let approve=open&&d&&i.card?{label:copy.approveAndShip,busyLabel:copy.approving,busy:i.approving,disabled:i.approving||i.placed===true||i.removing!==null,onPress:i.onApprove}:null;return{title:month?copy.packageTitle(month):copy.tabPackage,sub:copy.packageSub(names,formatDay(review.approveBy,{weekday:true}),null),reviewPill:review.approveBy&&open?copy.reviewBy(formatDay(review.approveBy)):null,countPill:pkg.lines.length>0?copy.itemCount(pkg.lines.length):null,fine:null,groups:pkg.lines.length>0?groups:[],empty:pkg.lines.length===0?{line:month?copy.packageEmpty(month):copy.nothingHereYet,shop:{label:copy.tabShop,to:{name:"shop"}},skip:null}:null,add:null,sum:sum,approve:approve,skip:open?{label:copy.skipThisMonth,to:{name:"plan"}}:null,note:note,error:error,delivery:i.address?[{k:copy.shipTo,v:addressLine(i.address),change:{label:copy.change,to:{name:"address",then:{name:"package"}}}}]:[],legal:copy.legal}}function readyRxFor(offerId,prescriptions){return prescriptions.filter(p=>p.status==="ready"&&p.offerId===offerId)}function toTile(offer,prescriptions,copy,petName,forPetId=null){let pills=[],meta=null,petId=forPetId,holder;return offer.requiresRx&&(pills.push(rxPill(copy)),holder=readyRxFor(offer.offerId,prescriptions).find(p=>petName(p.petId)),petId=holder?.petId??forPetId,meta=holder?copy.hasPrescription(petName(holder.petId)):copy.needsPrescription),{key:offer.offerId,to:{name:"product",offerId:offer.offerId,...petId?{petId:petId}:{}},name:offer.title,meta:meta,price:offer.price!==null?formatCents(offer.price):null,pills:pills,...tileFor(offer.requiresRx,offer.title,holder?.form),imageUrl:offer.imageUrl??null}}function isFirstFill(rx){return rx.fillsUsed===null||rx.fillsUsed===0}function toShelves(i){let{copy:copy}=i,tile=o=>toTile(o,i.prescriptions,copy,i.petName,i.petId??null),shelves=[],byId=/* @__PURE__ */new Map;for(let o of[...i.offers,...i.prescribed??[]])byId.set(o.offerId,o);let first=[],refill=[],firstPets=[];if(!i.searching){let ready=i.prescriptions.filter(p=>p.status==="ready"&&p.offerId!==null&&i.petName(p.petId));for(let offerId of distinct(ready.map(p=>p.offerId))){let o=byId.get(offerId);if(!o||!o.requiresRx)continue;let holders=ready.filter(p=>p.offerId===offerId);if(holders.every(isFirstFill)){first.push(o);for(let p of holders)firstPets.includes(i.petName(p.petId))||firstPets.push(i.petName(p.petId))}else refill.push(o)}}first.length>0&&shelves.push({key:"prescribed",title:copy.prescribedFor(firstPets),link:null,tiles:first.map(tile)}),refill.length>0&&shelves.push({key:"refill",title:copy.refillSoon,link:i.packageMonth?{label:copy.inMonthsPackage(i.packageMonth),to:{name:"package"}}:null,tiles:refill.map(tile)});let above=new Set([...first,...refill].map(o=>o.offerId));return shelves.push({key:"all",title:i.petNames.length>0?copy.forPets(i.petNames):copy.allProducts,link:null,tiles:i.offers.filter(o=>!above.has(o.offerId)).map(tile)}),shelves}function toProductView(i){let{copy:copy,offer:offer}=i,monthly=i.plansOn&&i.petName!==null,choice=monthly?i.choice:"once",submitLabel=choice==="monthly"?i.packageMonth?copy.addToPackage(i.packageMonth):copy.startPlan:copy.buyNow,sellable=offer.price!==null;return{back:{label:copy.backToShop,to:{name:"shop"}},title:offer.title,sub:null,price:sellable?formatCents(offer.price):null,priceUnit:null,...tileFor(false),source:null,stockLine:sellable?null:copy.outOfStockNow,choices:monthly?[{value:"monthly",title:copy.everyMonthIn(i.petName),meta:copy.skipOrStop},{value:"once",title:copy.justOnce,meta:copy.justOnceShipsNow}]:null,choice:monthly?choice:null,onChoice:v=>i.onChoice(v==="once"?"once":"monthly"),quantity:i.quantity,onQuantity:n=>i.onQuantity(Math.min(99,Math.max(1,n))),submit:sellable?{label:submitLabel,busyLabel:copy.adding,busy:i.busy,disabled:i.busy,onPress:i.onSubmit}:{label:copy.outOfStock,disabled:true,onPress:()=>{}},error:i.error,facts:null,cards:[],aside:null,legal:copy.legal}}function toRxProductView(i){let{copy:copy,offer:offer}=i,ready=readyRxFor(offer.offerId,i.prescriptions).filter(p=>i.petName(p.petId)),rx=(i.petId?ready.find(p=>p.petId===i.petId):void 0)??ready[0]??null,sellable=offer.price!==null,script=null,submit=null;if(rx){let left=refillsLeft(rx);script={name:copy.hasPrescription(i.petName(rx.petId)),meta:left!==null&&left>0?copy.refillsLeft(left):null,directions:null},submit=sellable?{label:i.packageMonth?copy.refillInPackage(i.packageMonth):copy.buyNow,busyLabel:copy.adding,busy:i.busy,disabled:i.busy,onPress:()=>i.onSubmit(rx)}:{label:copy.outOfStock,disabled:true,onPress:()=>{}}}else{let who=(i.petId?i.petName(i.petId):null)??i.firstPetName;script=who?{name:copy.noPrescriptionFor(who),meta:null,directions:null}:null,submit=i.bookVisitHref?{label:copy.bookVideoVisit,href:i.bookVisitHref}:null}return{back:{label:copy.backToShop,to:{name:"shop"}},stepLabel:copy.prescription,title:offer.title,sub:null,price:sellable?formatCents(offer.price):null,priceUnit:null,...tileFor(true,offer.title,rx?.form),script:script,stockLine:sellable?null:copy.outOfStockNow,submit:submit,note:null,error:i.error,cards:[],aside:null,legal:copy.legal}}function cadenceLine(days,copy){let months=Math.round(days/30.4);return months>=1&&Math.abs(days-months*30.4)<=2?copy.cadenceMonths(months):copy.cadenceDays}function toPlanView(i){let{copy:copy}=i,live=i.plans.filter(p=>p.state!=="cancelled"),rows=[];for(let plan of live)plan.lines.forEach((line,n)=>{let offer=i.offers.get(line.offerId)??null,pet=i.petName(line.petId),title=[offer?.title??copy.itemNoLongerSold,pet].filter(Boolean).join(" · "),stop=plan.stopReason,meta=stop==="payment_declined"?copy.declined(i.packageMonth):stop&&stop!=="customer"?copy.stopReason(stop):cadenceLine(plan.cadenceDays,copy);rows.push({key:`${plan.planId}:${n}`,title:title,meta:meta,alert:!!(stop&&stop!=="customer"),on:plan.state==="active",busy:i.busyPlan===plan.planId,onToggle:on=>i.onToggle(plan,on),error:i.rowError&&i.rowError.planId===plan.planId&&n===0?i.rowError.line:null})});let active=live.find(p=>p.state==="active")??null,sum=[],reviewBy=formatDay(i.reviewBy,{weekday:true});reviewBy&&sum.push({k:copy.reviewByLabel,v:reviewBy});let ships=formatDay(active?.nextRun??null,{weekday:true});ships&&sum.push({k:copy.ships,v:ships});let declined=live.some(p=>p.stopReason==="payment_declined"),delivery=[];i.address&&delivery.push({k:copy.shipTo,v:addressLine(i.address),change:{label:copy.change,to:{name:"address",then:{name:"plan"}}}}),i.card&&delivery.push({k:copy.payWith,v:cardLabel(i.card.brand,i.card.last4),alert:declined?copy.declined(i.packageMonth):null,change:{label:copy.change,to:{name:"card",then:{name:"plan"}}}});let month=i.packageMonth??monthOf(active?.nextRun??null);return{sub:null,rows:rows,emptyLine:rows.length===0?copy.repeatsEmpty:null,next:active&&sum.length>0?{sum:sum,link:i.packageMonth?{label:copy.reviewMonthsPackage(i.packageMonth),to:{name:"package"}}:null}:null,delivery:delivery,breakCard:active?{skip:month?{label:copy.skipMonth(month),ask:copy.skipMonthAsk(month),body:copy.skipMonthBody}:null,pause:{label:copy.pausePlan,ask:copy.pausePlanAsk,body:copy.pausePlanBody},busy:i.breakBusy,error:i.breakError,onConfirm:i.onBreak}:null,legal:copy.legal}}var SharedContext=createContext(null),ShopSharedProvider=SharedContext.Provider;function useShopShared(){let s=useContext(SharedContext);if(!s)throw new EverfurConfigError("not-initialized","shop screens render inside EverfurShop");return s}function packageMonth(pkg){return pkg.phase==="ready"&&pkg.value?monthOf(pkg.value.review.shipsOn):null}function loadable(read,map){return read.phase==="ready"&&read.value!==null?{phase:"ready",value:map(read.value)}:read.phase==="loading"?{phase:"loading"}:{phase:"failed",retry:read.refresh}}function pickCard(cards,id){return!cards||cards.length===0?null:(id?cards.find(c=>c.paymentMethodId===id):void 0)??cards[0]??null}function useOffersById(ids){let{client:client}=useShop(),unique=[...new Set(ids)].sort();return useShopRead(`offers-by-id:${unique.join(",")}`,async()=>{let read=await Promise.all(unique.map(id=>client.offer(id)));return omsOk(new Map(unique.map((id,i)=>[id,read[i].ok?read[i].value:null])))})}function outcomeLine(copy,outcome){return outcome.kind==="confirmed"?null:outcome.kind==="needsPayerAction"?copy.cardStepFailed:outcome.kind==="payerActionFailed"?outcome.message??copy.cardStepFailed:outcome.kind==="payerActionClosed"?copy.cardStepClosed:outcome.error.kind==="refused"&&outcome.error.reasonCode==="price_changed"?copy.priceChanged:refusalLine(copy,outcome.error)}var orderNotices=/* @__PURE__ */new WeakMap;function leaveOrderNotice(client,orderId,line){let notices=orderNotices.get(client);notices||(notices=/* @__PURE__ */new Map,orderNotices.set(client,notices)),line?notices.set(orderId,line):notices.delete(orderId)}function peekOrderNotice(client,orderId){return orderNotices.get(client)?.get(orderId)??null}function dropOrderNotice(client,orderId){orderNotices.get(client)?.delete(orderId)}var CARD_PAGE_NOTICE="\0card";function usePackageScreen(go){let{copy:copy,petName:petName,packageSource:packageSource,payments:payments,client:client}=useShop(),{tabs:tabs,pkg:pkg}=useShopShared(),plan=pkg.phase==="ready"?pkg.value?.plan??null:null,cards=usePaymentMethods(),address=useAddress(plan?.destination??null),[removing,setRemoving]=useState(null),[error,setError]=useState(null),[approving,setApproving]=useState(false),[placed,setPlaced]=useState(false),remove=useShopAction((keys,p,index)=>packageSource.removeLine(p,index,keys));if(pkg.phase==="ready"&&pkg.value===null)return{tabs:tabs,view:{phase:"failed",retry:pkg.refresh}};let view=loadable(pkg,p=>toPackageView({pkg:p,card:pickCard(cards.value,p.plan.paymentMethodId),address:address.value?.address??null,copy:copy,petName:petName,removing:removing,approving:approving,placed:placed,error:error,onRemove:index=>{setRemoving(index),setError(null),remove.run(p,index).then(res=>{setRemoving(null),res&&res.ok?pkg.refresh():res&&setError(refusalLine(copy,res.error))})},onApprove:()=>{approving||placed||(setApproving(true),setError(null),(async()=>{let outcome=await approveOnce(packageSource,p,payments);setApproving(false);let line=outcomeLine(copy,outcome),orderId=outcome.kind!=="failed"?outcome.orderIds[0]:void 0;orderId?(setPlaced(true),leaveOrderNotice(client,orderId,line),go({name:"order",orderId:orderId})):(setError(line),outcome.kind==="failed"&&outcome.error.kind==="refused"&&pkg.refresh())})())}}));return{tabs:tabs,view:view}}var approvalKeys=/* @__PURE__ */new WeakMap;async function approveOnce(source,p,payments){let keys=approvalKeys.get(p);keys||(keys=new ShopActionKeys,approvalKeys.set(p,keys));let out=await source.approve(p,keys,payments);return(out.kind!=="failed"||out.error.kind==="refused")&&approvalKeys.delete(p),out}function useDebounced(value,ms){let[v,setV]=useState(value);return useEffect(()=>{let t=setTimeout(()=>setV(value),ms);return()=>clearTimeout(t)},[value,ms]),v}function useShopScreen(initialQuery){let{client:client,copy:copy,petName:petName,pets:pets}=useShop(),{tabs:tabs,pkg:pkg}=useShopShared(),[query,setQuery]=useState(initialQuery??""),text=useDebounced(query,250),offers=useOffers({text:text}),rx=usePrescriptions(),prescriptions=rx.value??[],names=pets.map(p=>p.name),month=packageMonth(pkg),prescribedIds=prescriptions.filter(p=>p.status==="ready"&&p.offerId!==null&&petName(p.petId)).map(p=>p.offerId),prescribed=useOffersById(prescribedIds),first=offers.phase==="ready"?offers.value??null:null,[laterState,setLater]=useState(null),later=laterState&&first&&laterState.first===first?laterState:null,cursor=later?later.cursor:first?.nextCursor??null,moreBusy=useRef(false),onMore=useCallback(()=>{if(!first||!cursor||moreBusy.current)return;moreBusy.current=true,setLater(l=>({first:first,offers:l&&l.first===first?l.offers:[],cursor:cursor,loading:true,failed:false}));let words=text.trim();client.offers({...words?{text:words}:{},cursor:cursor,limit:100}).then(res=>{moreBusy.current=false,setLater(l=>!l||l.first!==first?l:res.ok?{first:first,offers:[...l.offers,...res.value.offers],cursor:res.value.nextCursor,loading:false,failed:false}:{...l,loading:false,failed:true})})},[client,first,cursor,text]),shelves,prescribedWait=rx.phase==="loading"||prescribedIds.length>0&&prescribed.phase==="loading";if(first&&!prescribedWait){let seen=/* @__PURE__ */new Set,all=[];for(let o of[...first.offers,...later?.offers??[]])seen.has(o.offerId)||(seen.add(o.offerId),all.push(o));shelves={phase:"ready",value:toShelves({offers:all,prescribed:[...prescribed.value?.values()??[]].filter(o=>o!==null),prescriptions:prescriptions,copy:copy,petName:petName,petNames:names,packageMonth:month,searching:text.trim()!=="",petId:pets.length===1?pets[0].petId:null})}}else offers.phase==="loading"||prescribedWait?shelves={phase:"loading"}:offers.phase==="unavailable"?shelves={phase:"ready",value:[]}:shelves={phase:"failed",retry:offers.refresh};let count=shelves.phase==="ready"?shelves.value.reduce((n,s)=>n+s.tiles.length,0):1,empty=shelves.phase==="ready"&&count===0?text.trim()?copy.noMatches(text.trim()):copy.nothingHereYet:null,more=first&&cursor?{onMore:onMore,loading:later?.loading??false,failed:later?.failed??false}:null;return{tabs:tabs,view:{sub:null,query:query,onQuery:setQuery,filters:[],shelves:shelves,empty:empty,legal:copy.legal,more:more}}}function lineFor(offer,quantity,petId,rx){return{offerId:offer.offerId,quantity:rx?.packCount??quantity,...rx?.petId??petId?{petId:rx?.petId??petId}:{},...rx?{rxId:rx.rxId}:{}}}function routeFor(name,line){return{name:name,offerId:line.offerId,quantity:line.quantity,...line.petId?{petId:line.petId}:{},...line.rxId?{rxId:line.rxId}:{}}}function useProductScreen(offerId,petId,go){let{copy:copy,petName:petName,pets:pets,client:client}=useShop(),{config:config,pkg:pkg,bookVisitHref:bookVisitHref}=useShopShared(),offer=useOffer(offerId),rx=usePrescriptions(),[choice,setChoice]=useState("monthly"),[quantity,setQuantity]=useState(1),[error,setError]=useState(null),month=packageMonth(pkg),plans=usePlans(),plan=(pkg.phase==="ready"?pkg.value?.plan??null:null)??plans.value?.plans.find(p=>p.state==="active")??null,addToPlan=useShopAction((keys,p,line)=>client.updatePlan(p.planId,{idempotencyKey:keys.key("add"),lines:[...p.lines.map(l=>({offerId:l.offerId,quantity:l.quantity,...l.petId?{petId:l.petId}:{}})),line]})),submit=(line,monthly)=>{if(setError(null),!monthly)return go(routeFor("buy",line));if(!plan)return go(routeFor("consent",line));addToPlan.run(plan,line).then(res=>{res&&res.ok?(pkg.refresh(),go({name:"package"})):res&&setError(refusalLine(copy,res.error))})};if(offer.phase==="ready"&&offer.value?.requiresRx){let o=offer.value,base={offer:o,copy:copy,petId:petId??null,petName:petName,firstPetName:pets[0]?.name??null,packageMonth:month,error:error,bookVisitHref:bookVisitHref};return rx.phase==="unavailable"?{kind:"rx",view:{phase:"ready",value:toRxProductView({...base,prescriptions:[],busy:false,onSubmit:()=>{}})}}:{kind:"rx",view:loadable(rx,list=>toRxProductView({...base,prescriptions:list,busy:addToPlan.busy,onSubmit:p=>submit(lineFor(o,1,null,p),plan!==null)}))}}let petForChoice=(petId?petName(petId):null)??pets[0]?.name??null;return{kind:"product",view:loadable(offer,o=>toProductView({offer:o,copy:copy,petName:petForChoice,packageMonth:month,plansOn:config.recurringTermsVersion!==null,choice:choice,onChoice:setChoice,quantity:quantity,onQuantity:setQuantity,busy:addToPlan.busy,error:error,onSubmit:()=>submit(lineFor(o,quantity,petId??pets[0]?.petId??null,null),choice==="monthly"&&config.recurringTermsVersion!==null&&petForChoice!==null)}))}}function usePlanScreen(){let{copy:copy,petName:petName,client:client}=useShop(),{tabs:tabs,pkg:pkg}=useShopShared(),plans=usePlans(),cards=usePaymentMethods(),live=(plans.value?.plans??[]).filter(p=>p.state!=="cancelled"),active=live.find(p=>p.state==="active")??live[0]??null,address=useAddress(active?.destination??null),offers=useOffersById(live.flatMap(p=>p.lines.map(l=>l.offerId))),[busyPlan,setBusyPlan]=useState(null),[rowError,setRowError]=useState(null),[breakError,setBreakError]=useState(null),toggle=useShopAction((keys,p,on)=>client.planAction(p.planId,{idempotencyKey:keys.key(on?"resume":"pause"),operation:on?"resume":"pause"})),brk=useShopAction((keys,p,which)=>client.planAction(p.planId,{idempotencyKey:keys.key(which),operation:which})),month=packageMonth(pkg);if(plans.phase==="unavailable")return{tabs:tabs,view:{phase:"failed",retry:plans.refresh}};let view=loadable(plans,()=>toPlanView({plans:live,offers:offers.value??/* @__PURE__ */new Map,copy:copy,petName:petName,card:pickCard(cards.value,active?.paymentMethodId??null),address:address.value?.address??null,reviewBy:pkg.phase==="ready"?pkg.value?.review.approveBy??null:null,packageMonth:month,busyPlan:busyPlan,rowError:rowError,onToggle:(p,on)=>{setBusyPlan(p.planId),setRowError(null),toggle.run(p,on).then(res=>{setBusyPlan(null),toggle.reset(),res&&res.ok?plans.refresh():res&&setRowError({planId:p.planId,line:refusalLine(copy,res.error)})})},breakBusy:brk.busy,breakError:breakError,onBreak:async which=>{if(!active)return false;setBreakError(null);let res=await brk.run(active,which);return res&&res.ok?(brk.reset(),plans.refresh(),pkg.refresh(),true):(res&&setBreakError(refusalLine(copy,res.error)),false)}}));return{tabs:tabs,view:view}}var addedAddresses=/* @__PURE__ */new WeakMap;function peekAddedAddress(client){return addedAddresses.get(client)??null}function dropAddedAddress(client){addedAddresses.delete(client)}function useAddressStep(then,go){let{copy:copy,client:client}=useShop(),{pkg:pkg}=useShopShared(),back=then??{name:"package"},saved=useRef(null),save=useShopAction(async(keys,input)=>{let sent=JSON.stringify(input),ref=saved.current?.sent===sent?saved.current.ref:null;if(ref===null){let res=await client.addAddress(input);if(!res.ok)return omsErr(res.error);ref=res.value.ref,saved.current={sent:sent,ref:ref}}if(then?.name==="package"||then?.name==="plan"){let page=await client.plans({limit:100});if(!page.ok)return omsErr(page.error);let live=page.value.plans.filter(p=>p.state!=="cancelled"),shown=then.name==="package"?live.find(p=>p.planId===(pkg.value?.plan.planId??null))??null:live.find(p=>p.state==="active")??live[0]??null,moving=shown?live.filter(p=>p.planId===shown.planId||shown.destination!==null&&p.destination===shown.destination):[];for(let p of moving){if(p.destination===ref)continue;let moved=await client.updatePlan(p.planId,{idempotencyKey:keys.key(`destination:${p.planId}`),destination:ref});if(!moved.ok)return omsErr(moved.error)}}return omsOk(ref)});return{back:{label:copy.backToCare,to:back},busy:save.busy,error:save.error?refusalLine(copy,save.error):null,onSave:input=>{save.run(input).then(res=>{!res||!res.ok||(then?.name==="package"||then?.name==="plan"?pkg.refresh():addedAddresses.set(client,res.value),go(back))})}}}function useCardStep(then,go,handoff){let{copy:copy,client:client,payments:payments}=useShop(),{config:config}=useShopShared(),back=then??{name:"plan"},[error,setError]=useState(()=>peekOrderNotice(client,CARD_PAGE_NOTICE));useEffect(()=>dropOrderNotice(client,CARD_PAGE_NOTICE),[client]);let setup=useShopAction(async()=>{if(handoff){let step2=await handoff();return step2.ok?omsOk(true):(setError(step2.closed?copy.cardStepClosed:step2.message??copy.cardStepFailed),omsOk(false))}let s=await client.setupPaymentMethod();if(!s.ok||!payments)return s.ok?omsErr({kind:"invalidRequest"}):omsErr(s.error);let step=await payments.confirmCardSetup(s.value.payerAction);return step.ok?omsOk(true):(setError(step.closed?copy.cardStepClosed:step.message??copy.cardStepFailed),omsOk(false))}),on=handoff?true:payments!==null&&config.stripePublishableKey!==null;return{back:{label:copy.backToCare,to:back},error:error??(setup.error?refusalLine(copy,setup.error):null),start:on?{label:copy.cardStart,busyLabel:copy.saving,busy:setup.busy,disabled:setup.busy,onPress:()=>{setError(null),setup.run().then(res=>{res&&res.ok&&res.value&&go(back)})}}:null}}function useNameStep(retry){let{copy:copy,saveProfileName:saveProfileName,onProfileNameRequired:onProfileNameRequired}=useShop(),[open,setOpen]=useState(false),[busy,setBusy]=useState(false),[error,setError]=useState(null),retryRef=useRef(retry);retryRef.current=retry;let running=useRef(false),mounted=useRef(true);return useEffect(()=>(mounted.current=true,()=>{mounted.current=false}),[]),{view:open?{line:copy.nameMissing,form:saveProfileName?{firstLabel:copy.firstName,lastLabel:copy.lastName,saveLabel:copy.saveName,busy:busy,error:error,onSave:name=>{let firstName=name.firstName.trim(),lastName=name.lastName.trim();running.current||!firstName||!lastName||(running.current=true,setBusy(true),setError(null),saveProfileName({firstName:firstName,lastName:lastName}).then(saved=>saved,()=>false).then(saved=>{if(running.current=false,!!mounted.current){if(setBusy(false),!saved){setError(copy.actionFailed);return}setOpen(false),retryRef.current()}}))}}:null,handoff:!saveProfileName&&onProfileNameRequired?{label:copy.addName,onPress:onProfileNameRequired}:null}:null,raise:e=>isNameRequired(e)?(setError(null),setOpen(true),true):false,clear:()=>setOpen(false)}}function useCheckoutBasics(){let addresses=useAddresses(),cards=usePaymentMethods(),address=addresses.value?.find(a=>a.isDefault&&a.isComplete)??addresses.value?.find(a=>a.isComplete)??null,card=pickCard(cards.value,null);return{addresses:addresses,cards:cards,address:address,card:card}}function quoteLine(copy,quote){return quote.phase==="unavailable"?copy.actionFailed:quote.phase==="failed"&&quote.error?refusalLine(copy,quote.error):null}function useBuyStep(route,go){let{copy:copy,client:client,payments:payments,petName:petName}=useShop(),offer=useOffer(route.offerId),{address:address,card:card}=useCheckoutBasics(),line=useMemo(()=>({offerId:route.offerId,quantity:route.quantity,...route.petId?{petId:route.petId}:{},...route.rxId?{rxId:route.rxId}:{}}),[route.offerId,route.quantity,route.petId,route.rxId]),quote=useShopRead(address?`quote:${address.ref}:${JSON.stringify(line)}`:null,()=>client.quote({lines:[line],shipTo:address.ref})),[shown,setShown]=useState(null),[error,setError]=useState(null),[placed,setPlaced]=useState(false),buy=useShopAction(async keys=>{let draft=await client.createCheckout({idempotencyKey:keys.key("draft"),lines:[line],shipTo:address.ref});if(!draft.ok)return omsErr(draft.error);if((shown??quote.value?.total??null)!==draft.value.total)return setShown(draft.value.total),omsErr({kind:"refused",status:409,reasonCode:"price_changed",message:null});let out=await confirmWithPayerActions(idempotencyKey=>client.confirmCheckout(draft.value.checkoutId,{idempotencyKey:idempotencyKey,expectedTotal:draft.value.total,paymentMethodId:card.paymentMethodId}),keys,payments);return out.kind==="failed"?omsErr(out.error):omsOk(out)}),needs=[...address?[]:[{label:copy.addressNeeded,to:{name:"address",then:route}}],...card?[]:[{label:copy.cardTitle,to:{name:"card",then:route}}]],q=quote.value,total=shown??q?.total??null,placeRef=useRef(()=>{}),name=useNameStep(()=>placeRef.current()),place2=()=>{placed||(setError(null),name.clear(),buy.run().then(res=>{if(!res)return;let out=res.ok?res.value:{kind:"failed",error:res.error},orderId=out.kind!=="failed"?out.orderIds[0]:void 0;orderId?(setPlaced(true),leaveOrderNotice(client,orderId,outcomeLine(copy,out)),go({name:"order",orderId:orderId})):out.kind==="failed"&&name.raise(out.error)||setError(outcomeLine(copy,out))}))};return placeRef.current=place2,{back:{label:copy.backToShop,to:{name:"product",offerId:route.offerId}},title:copy.confirmTitle,lines:offer.value?[{key:line.offerId,name:offer.value.title,meta:petName(line.petId),price:offer.value.price!==null?formatCents(offer.value.price*line.quantity):null}]:[],sum:q&&total!==null?[{k:copy.shipping,v:q.shipping===0?copy.free:formatCents(q.shipping)},{k:copy.tax,v:formatCents(q.tax)},{k:copy.total,v:formatCents(total)}]:null,needs:needs,pay:address&&card&&q?{label:copy.confirmPay,busyLabel:copy.saving,busy:buy.busy,disabled:buy.busy||placed,onPress:place2}:null,note:card?copy.chargedWhenShips(cardLabel(card.brand,card.last4)):null,error:error??quoteLine(copy,quote),nameStep:name.view}}function useConsentStep(route,go){let{copy:copy,client:client}=useShop(),{config:config,pkg:pkg}=useShopShared(),{address:address,card:card}=useCheckoutBasics(),create=useShopAction(keys=>client.createPlan({idempotencyKey:keys.key("create"),cadenceDays:30,destination:address.ref,paymentMethodId:card.paymentMethodId,consentTermsVersion:config.recurringTermsVersion,lines:[{offerId:route.offerId,quantity:route.quantity,...route.petId?{petId:route.petId}:{},...route.rxId?{rxId:route.rxId}:{}}]})),needs=[...address?[]:[{label:copy.addressNeeded,to:{name:"address",then:route}}],...card?[]:[{label:copy.cardTitle,to:{name:"card",then:route}}]];return{back:{label:copy.backToShop,to:{name:"product",offerId:route.offerId}},terms:config.recurringTermsUrl?{label:copy.consentTermsLink,href:config.recurringTermsUrl}:null,needs:needs,error:create.error?refusalLine(copy,create.error):null,agree:address&&card&&config.recurringTermsVersion?{label:copy.consentAgree,busyLabel:copy.saving,busy:create.busy,disabled:create.busy,onPress:()=>{create.run().then(res=>{res&&res.ok&&(pkg.refresh(),go({name:"plan"}))})}}:null}}var CART_MAX_QUANTITY=5,stores=/* @__PURE__ */new WeakMap,NONE=[];function storeOf(client){let s=stores.get(client);return s||(s={items:NONE,flash:null,storage:null,listeners:/* @__PURE__ */new Set},stores.set(client,s)),s}function set(client,items){let s=storeOf(client);if(s.items=items,s.storage)try{s.storage.write(JSON.stringify(items))}catch{}for(let l of[...s.listeners])l()}function clamp(n){return Math.max(1,Math.min(CART_MAX_QUANTITY,Math.round(n)))}function cartKey(line){return`${line.offerId}|${line.petId??""}|${line.rxId??""}`}function cartItems(client){return storeOf(client).items}function addToCart(client,input){let key=cartKey(input),items=cartItems(client),was=items.find(i=>i.key===key),quantity=input.rxId?Math.max(1,Math.round(input.quantity)):clamp((was?.quantity??0)+input.quantity),item={...input,key:key,quantity:quantity};return set(client,was?items.map(i=>i.key===key?item:i):[...items,item]),item}function setCartQuantity(client,key,quantity){let items=cartItems(client);set(client,items.map(i=>i.key===key&&!i.rxId?{...i,quantity:clamp(quantity)}:i))}function removeFromCart(client,key){let items=cartItems(client),was=items.find(i=>i.key===key)??null;return was&&set(client,items.filter(i=>i.key!==key)),was}function removePlaced(client,keys){let gone=new Set(keys),items=cartItems(client);items.some(i=>gone.has(i.key))&&set(client,items.filter(i=>!gone.has(i.key)))}function flashCart(client,line){storeOf(client).flash=line}function takeCartFlash(client){let s=storeOf(client),line=s.flash;return s.flash=null,line}function cartLines(items){return items.map(i=>({offerId:i.offerId,quantity:i.quantity,...i.petId?{petId:i.petId}:{},...i.rxId?{rxId:i.rxId}:{}}))}function cartSubtotal(items){let sum=0;for(let i of items){if(i.unitPrice===null)return null;sum+=i.unitPrice*i.quantity}return sum}function cartCount(items){return items.reduce((n,i)=>n+i.quantity,0)}function useCart(client){let s=storeOf(client);return useSyncExternalStore(l=>(s.listeners.add(l),()=>{s.listeners.delete(l)}),()=>s.items,()=>s.items)}var NavContext=createContext({go:()=>{},openExternal:()=>{}});function ShopNativeNavProvider({value:value,children:children}){return createElement(NavContext.Provider,{value:value},children)}function useShopNativeNav(){return useContext(NavContext)}var US_STATES=["AL","AK","AZ","AR","CA","CO","CT","DE","DC","FL","GA","HI","ID","IL","IN","IA","KS","KY","LA","ME","MD","MA","MI","MN","MS","MO","MT","NE","NV","NH","NJ","NM","NY","NC","ND","OH","OK","OR","PA","RI","SC","SD","TN","TX","UT","VT","VA","WA","WV","WI","WY","AS","GU","MP","PR","VI","AA","AE","AP"],US_ZIP=/^\d{5}(-\d{4})?$/;function isUsState(region){return US_STATES.includes(region.trim().toUpperCase())}var PHONE_BOX={body:{paddingTop:8,paddingRight:16,paddingLeft:16},pushBody:{paddingRight:16,paddingLeft:16},subtabs:{backgroundColor:"#ffffff"},subtab:{minHeight:44,rowGap:6,columnGap:6},subtabCurrent:{minHeight:44,rowGap:6,columnGap:6},titleBlock:{paddingTop:4,rowGap:2,columnGap:2},screenTitle:{},screenMeta:{},stack:{marginTop:12,rowGap:12,columnGap:12},card:{paddingTop:16,paddingRight:16,paddingBottom:16,paddingLeft:16,borderWidth:1,borderColor:"#e4e4e4",borderRadius:20,backgroundColor:"#ffffff"},cardHead:{marginBottom:12,rowGap:8,columnGap:16},cardTitle:{marginBottom:12},cardTitleInHead:{},cardLink:{},cardLinkAfterNote:{marginTop:12,marginBottom:2.34},forLabel:{marginTop:4,marginBottom:8},forLabelNext:{marginTop:16,marginBottom:8},itemsLiFirst:{paddingBottom:16,rowGap:12,columnGap:12},itemsLiMid:{paddingTop:16,paddingBottom:16,borderTopWidth:1,borderTopColor:"#e4e4e4",rowGap:12,columnGap:12},itemsLiLast:{paddingTop:16,borderTopWidth:1,borderTopColor:"#e4e4e4",rowGap:12,columnGap:12},thumb:{borderRadius:10,backgroundColor:"#eaeef6",width:48,height:48},thumbIcon:{width:22,height:22},thumbPink:{borderRadius:10,backgroundColor:"#ffeae8"},thumbYellow:{borderRadius:10,backgroundColor:"#fcf0d6"},thumbSage:{borderRadius:10,backgroundColor:"#e6ece8"},itemsName:{rowGap:4,columnGap:8},itemsMeta:{marginTop:2},itemsActs:{marginTop:6,rowGap:16,columnGap:16},itemsActLink:{},itemsActButton:{},itemsEnd:{rowGap:4,columnGap:4},itemsPrice:{},pill:{paddingRight:10,paddingLeft:10,borderRadius:999,backgroundColor:"#eaeef6",minHeight:24},pillSoon:{paddingRight:10,paddingLeft:10,borderRadius:999,backgroundColor:"#ffffff",minHeight:24},btnRow:{paddingRight:14,paddingLeft:14,borderWidth:1,borderColor:"#10462e",borderRadius:999,minHeight:36,rowGap:8,columnGap:8},btnRowIcon:{width:17,height:17},btnRowLabel:{},sumTotal:{paddingRight:24,paddingLeft:24,borderWidth:1,borderColor:"#e4e4e4",borderRadius:20,backgroundColor:"#ffffff"},sumRowFirst:{paddingTop:14,paddingBottom:14,rowGap:2,columnGap:16},sumRowLast:{paddingTop:14,paddingBottom:14,rowGap:2,columnGap:16},sumDt:{},sumDd:{},sumDdTotal:{},noteAfterSum:{marginTop:12},rowsLiFirst:{paddingBottom:16,rowGap:8,columnGap:16},rowsLiNext:{paddingTop:16,borderTopWidth:1,borderTopColor:"#e4e4e4",rowGap:8,columnGap:16},rowsK:{},rowsV:{marginTop:2},rowsMeta:{marginTop:2},legal:{marginTop:32},legalText:{},traybar:{paddingTop:12,paddingRight:16,paddingBottom:8,paddingLeft:16,backgroundColor:"#ffffff",rowGap:6,columnGap:6},btnInk:{paddingRight:24,paddingLeft:24,borderWidth:1,borderColor:"#10462e",borderRadius:999,backgroundColor:"#10462e",minHeight:50,rowGap:8,columnGap:8},traybarFine:{},input:{paddingRight:16,paddingLeft:16,borderWidth:1,borderColor:"#e4e4e4",borderRadius:10,backgroundColor:"#ffffff",minHeight:52,rowGap:10,columnGap:10},inputIcon:{width:20,height:20},inputText:{paddingTop:1,paddingRight:2,paddingBottom:1,paddingLeft:2},inputPlaceholder:{},filters:{paddingBottom:2,rowGap:8,columnGap:8},filter:{paddingRight:14,paddingLeft:14,borderWidth:1,borderColor:"#e4e4e4",borderRadius:999,minHeight:36},filterCurrent:{paddingRight:14,paddingLeft:14,borderWidth:1,borderColor:"#10462e",borderRadius:999,backgroundColor:"#ffeae8",minHeight:36},sectionHead:{marginTop:8,rowGap:8,columnGap:12},prods:{rowGap:16,columnGap:12},prod:{rowGap:12,columnGap:12},prodImg:{borderRadius:10,backgroundColor:"#ffeae8",aspectRatio:1},prodIcon:{width:36,height:36},prodTags:{rowGap:6,columnGap:6,position:"absolute",top:8,left:8},prodBody:{rowGap:4,columnGap:4},prodName:{},prodMeta:{},prodPrice:{marginTop:4,rowGap:8,columnGap:8},pillClear:{paddingRight:10,paddingLeft:10,borderRadius:999,backgroundColor:"#ffffff",minHeight:24},pillPlain:{paddingRight:10,paddingLeft:10,borderRadius:999,backgroundColor:"#ffffff",minHeight:24},pillOverdue:{paddingRight:10,paddingLeft:10,borderRadius:999,backgroundColor:"#ffffff",minHeight:24},hero:{borderRadius:20,backgroundColor:"#fcf0d6",aspectRatio:1.6},heroIcon:{width:56,height:56},source:{rowGap:8,columnGap:8},sourceIcon:{marginTop:2,width:16,height:16},sourceBold:{},sourceLink:{},choices:{rowGap:8,columnGap:8},choiceCurrent:{paddingTop:14,paddingRight:16,paddingBottom:14,paddingLeft:16,borderWidth:1,borderColor:"#10462e",borderRadius:10,backgroundColor:"#ffeae8",rowGap:12,columnGap:12},choice:{paddingTop:14,paddingRight:16,paddingBottom:14,paddingLeft:16,borderWidth:1,borderColor:"#e4e4e4",borderRadius:10,backgroundColor:"#ffffff",rowGap:12,columnGap:12},radioOn:{borderWidth:6,borderColor:"#10462e",borderRadius:10,backgroundColor:"#ffffff",width:20,height:20},radioOff:{borderWidth:1,borderColor:"#819d90",borderRadius:10,backgroundColor:"#ffffff",width:20,height:20},choiceText:{},choiceTitle:{},choiceMeta:{marginTop:2},facts:{marginTop:12,rowGap:8,columnGap:8},factsLi:{paddingTop:12,paddingRight:12,paddingBottom:12,paddingLeft:12,borderRadius:10,backgroundColor:"#e6ece8",rowGap:4,columnGap:4},factsLiHer:{paddingTop:12,paddingRight:12,paddingBottom:12,paddingLeft:12,borderRadius:10,backgroundColor:"#fcf0d6",rowGap:4,columnGap:4},factsK:{},factsN:{},factsUnit:{},noteAfterFacts:{marginTop:12},cardLead:{marginBottom:12},person:{rowGap:12,columnGap:16},avatar:{borderRadius:18,backgroundColor:"#ffffff",width:36,height:36},personName:{},personMeta:{},sourceInCard:{marginTop:12,rowGap:8,columnGap:8},sourceInCardIcon:{marginTop:2,width:16,height:16},noteAfterSource:{marginTop:8},rxLead:{marginBottom:12},btnOutlineSm:{marginTop:12,paddingRight:16,paddingLeft:16,borderWidth:1,borderColor:"#10462e",borderRadius:999,minHeight:46,rowGap:8,columnGap:8},btnOutlineSmIcon:{width:20,height:20},noteStandalone:{},noteLink:{},sumPlain:{paddingRight:24,paddingLeft:24,borderWidth:1,borderColor:"#e4e4e4",borderRadius:20,backgroundColor:"#ffffff"},sumPlainRowFirst:{paddingTop:14,paddingBottom:14,rowGap:2,columnGap:16},sumPlainRowLast:{paddingTop:14,paddingBottom:14,rowGap:2,columnGap:16},sumPlainDd:{},planRowsLiFirst:{paddingTop:12,paddingBottom:12,rowGap:8,columnGap:16},planRowsLiNext:{paddingTop:12,paddingBottom:12,borderTopWidth:1,borderTopColor:"#e4e4e4",rowGap:8,columnGap:16},switch:{width:48,height:28},switchTrack:{borderRadius:999,backgroundColor:"#10462e",width:48,height:28},switchKnob:{borderRadius:11,backgroundColor:"#ffffff",position:"absolute",top:3,left:3,transform:[{translateX:20}],width:22,height:22},switchTrackOff:{borderRadius:999,backgroundColor:"#d0d6d3",width:48,height:28},switchKnobOff:{borderRadius:11,backgroundColor:"#ffffff",position:"absolute",top:3,left:3,width:22,height:22},breaks:{marginTop:12,rowGap:12,columnGap:24},btnSm:{paddingRight:16,paddingLeft:16,borderWidth:1,borderColor:"#10462e",borderRadius:999,minHeight:46,rowGap:8,columnGap:8},linkDanger:{},sheet:{borderTopLeftRadius:28,borderTopRightRadius:28,backgroundColor:"#ffffff"},sheetBackdrop:{backgroundColor:"rgba(0, 0, 0, 0.32)",position:"absolute"},sheetGrab:{height:20},sheetGrabBar:{borderRadius:3,backgroundColor:"#c9c9c9",width:36,height:5},sheetHead:{paddingTop:4,paddingRight:16,paddingBottom:12,paddingLeft:16,rowGap:12,columnGap:12},sheetClose:{paddingTop:1,paddingRight:6,paddingBottom:1,paddingLeft:6,borderRadius:18,backgroundColor:"#e6ece8",width:36,height:36},sheetCloseIcon:{width:20,height:20},sheetBody:{paddingRight:16,paddingBottom:24,paddingLeft:16,rowGap:12,columnGap:12},sheetText:{},sheetActions:{marginTop:16,rowGap:8,columnGap:8},btnDanger:{paddingRight:16,paddingLeft:16,borderWidth:1,borderColor:"#c03410",borderRadius:999,backgroundColor:"#ffffff",minHeight:46,rowGap:8,columnGap:8},btnOutline:{paddingRight:24,paddingLeft:24,borderWidth:1,borderColor:"#10462e",borderRadius:999,minHeight:52,rowGap:8,columnGap:8},rec:{marginRight:-8,marginLeft:-8,rowGap:4,columnGap:4},recRow:{paddingTop:10,paddingRight:8,paddingBottom:10,paddingLeft:8,borderRadius:10,rowGap:12,columnGap:12},recIcon:{width:20,height:20},recText:{rowGap:2,columnGap:2},recTitle:{},recMeta:{},recEnd:{rowGap:8,columnGap:8},trackerLi:{paddingBottom:24,rowGap:16,columnGap:16},trackerLiLast:{rowGap:16,columnGap:16},trackerLineDone:{borderRadius:1,backgroundColor:"#10462e",position:"absolute",top:30,left:13,bottom:2,width:2},trackerLine:{borderRadius:1,backgroundColor:"#e4e4e4",position:"absolute",top:30,left:13,bottom:2,width:2},dotDone:{borderWidth:2,borderColor:"#10462e",borderRadius:14,backgroundColor:"#10462e",width:28,height:28},dotDoneIcon:{width:16,height:16},dotNow:{borderWidth:2,borderColor:"#10462e",borderRadius:14,backgroundColor:"#ffffff",width:28,height:28},dotNowCore:{borderRadius:5,backgroundColor:"#07c168",width:10,height:10},dotNext:{borderWidth:2,borderColor:"#e4e4e4",borderRadius:14,backgroundColor:"#ffffff",width:28,height:28},trackerTitle:{paddingTop:3,rowGap:4,columnGap:8},trackerTitleNext:{paddingTop:3,rowGap:4,columnGap:8},trackerWhen:{marginTop:2},trackerText:{marginTop:2},pillStable:{paddingRight:10,paddingLeft:10,borderRadius:999,backgroundColor:"#dcf6ea",minHeight:24},trackItemsEnd:{rowGap:4,columnGap:4},trackItemsLiFirst:{paddingBottom:16,rowGap:12,columnGap:12},trackItemsLiLast:{paddingTop:16,borderTopWidth:1,borderTopColor:"#e4e4e4",rowGap:12,columnGap:12},noteAfterTotal:{marginTop:8},rowLink:{paddingTop:16,paddingRight:24,paddingBottom:16,paddingLeft:24,borderWidth:1,borderColor:"#e4e4e4",borderRadius:20,backgroundColor:"#ffffff",rowGap:12,columnGap:12},rowLinkIcon:{width:22,height:22},rowLinkChevron:{width:20,height:20},ghost:{marginTop:16,rowGap:10,columnGap:10},ghostBar:{borderRadius:999,backgroundColor:"#e6ece8",height:12},field:{rowGap:6,columnGap:6},fieldLabel:{},fieldInput:{paddingRight:16,paddingLeft:16,borderWidth:1,borderColor:"#e4e4e4",borderRadius:10,backgroundColor:"#ffffff",minHeight:52,rowGap:10,columnGap:10},fieldInputText:{paddingTop:1,paddingRight:2,paddingBottom:1,paddingLeft:2}},PHONE_TEXT={body:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},pushBody:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},subtabs:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},subtab:{color:"#6b6b6b",fontSize:15,fontWeight:"500",lineHeight:23.25},subtabCurrent:{color:"#10462e",fontSize:15,fontWeight:"700",lineHeight:23.25},titleBlock:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},screenTitle:{color:"#10462e",fontSize:22,fontWeight:"500",lineHeight:26.390625,letterSpacing:-.33},screenMeta:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:18.84375},stack:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},card:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},cardHead:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},cardTitle:{color:"#10462e",fontSize:18,fontWeight:"700",lineHeight:22.5,letterSpacing:-.36},cardTitleInHead:{color:"#10462e",fontSize:18,fontWeight:"700",lineHeight:22.5,letterSpacing:-.36},cardLink:{color:"#10462e",fontSize:15,fontWeight:"700",lineHeight:21},cardLinkAfterNote:{color:"#10462e",fontSize:15,fontWeight:"700",lineHeight:21},forLabel:{color:"#6b6b6b",fontSize:12,fontWeight:"700",lineHeight:16.796875,letterSpacing:.72,textTransform:"uppercase"},forLabelNext:{color:"#6b6b6b",fontSize:12,fontWeight:"700",lineHeight:16.796875,letterSpacing:.72,textTransform:"uppercase"},itemsLiFirst:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},itemsLiMid:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},itemsLiLast:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},thumb:{color:"#10462e",fontSize:17,fontWeight:"400",lineHeight:26.34375},thumbIcon:{color:"#10462e",fontSize:17,fontWeight:"400",lineHeight:26.34375},thumbPink:{color:"#10462e",fontSize:17,fontWeight:"400",lineHeight:26.34375},thumbYellow:{color:"#10462e",fontSize:17,fontWeight:"400",lineHeight:26.34375},thumbSage:{color:"#10462e",fontSize:17,fontWeight:"400",lineHeight:26.34375},itemsName:{color:"#10462e",fontSize:17,fontWeight:"700",lineHeight:22.09375},itemsMeta:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:18.84375},itemsActs:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},itemsActLink:{color:"#10462e",fontSize:13,fontWeight:"700",lineHeight:20.140625,textDecorationLine:"underline"},itemsActButton:{color:"#10462e",fontSize:13,fontWeight:"700",lineHeight:20.140625,textDecorationLine:"underline",textAlign:"center"},itemsEnd:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375,fontVariant:["tabular-nums"]},itemsPrice:{color:"#10462e",fontSize:17,fontWeight:"700",lineHeight:26.34375,fontVariant:["tabular-nums"]},pill:{color:"#10462e",fontSize:12,fontWeight:"700",lineHeight:12,letterSpacing:.72,textTransform:"uppercase"},pillSoon:{color:"#10462e",fontSize:12,fontWeight:"700",lineHeight:12,letterSpacing:.72,textTransform:"uppercase"},btnRow:{color:"#10462e",fontSize:14,fontWeight:"400",lineHeight:14,textAlign:"center",fontVariant:["tabular-nums"]},btnRowIcon:{color:"#10462e",fontSize:14,fontWeight:"400",lineHeight:14,textAlign:"center",fontVariant:["tabular-nums"]},btnRowLabel:{color:"#10462e",fontSize:14,fontWeight:"400",lineHeight:14,textAlign:"center",fontVariant:["tabular-nums"]},sumTotal:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},sumRowFirst:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},sumRowLast:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},sumDt:{color:"#6b6b6b",fontSize:15,fontWeight:"400",lineHeight:23.25},sumDd:{color:"#10462e",fontSize:15,fontWeight:"700",lineHeight:21,textAlign:"right"},sumDdTotal:{color:"#10462e",fontSize:20,fontWeight:"700",lineHeight:28,textAlign:"right"},noteAfterSum:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:19.5},rowsLiFirst:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},rowsLiNext:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},rowsK:{color:"#10462e",fontSize:17,fontWeight:"700",lineHeight:22.09375},rowsV:{color:"#000000",fontSize:15,fontWeight:"400",lineHeight:21.75},rowsMeta:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:18.84375},legal:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:20.796875,textAlign:"center"},legalText:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:20.796875,textAlign:"center"},traybar:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},btnInk:{color:"#ffffff",fontSize:17,fontWeight:"700",lineHeight:17,textAlign:"center"},traybarFine:{color:"#6b6b6b",fontSize:12,fontWeight:"400",lineHeight:15.59375,textAlign:"center"},input:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},inputIcon:{color:"#6b6b6b",fontSize:17,fontWeight:"400",lineHeight:26.34375},inputText:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},inputPlaceholder:{color:"#757575",fontSize:17,fontWeight:"400"},filters:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},filter:{color:"#10462e",fontSize:15,fontWeight:"400",lineHeight:18},filterCurrent:{color:"#10462e",fontSize:15,fontWeight:"700",lineHeight:18},sectionHead:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},prods:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},prod:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},prodImg:{color:"#10462e",fontSize:17,fontWeight:"400",lineHeight:26.34375},prodIcon:{color:"#10462e",fontSize:17,fontWeight:"400",lineHeight:26.34375},prodTags:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},prodBody:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},prodName:{color:"#10462e",fontSize:15,fontWeight:"700",lineHeight:19.5},prodMeta:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:18.84375},prodPrice:{color:"#10462e",fontSize:15,fontWeight:"700",lineHeight:23.25,fontVariant:["tabular-nums"]},pillClear:{color:"#07c168",fontSize:12,fontWeight:"700",lineHeight:12,letterSpacing:.72,textTransform:"uppercase"},pillPlain:{color:"#10462e",fontSize:12,fontWeight:"700",lineHeight:12,letterSpacing:.72,textTransform:"uppercase"},pillOverdue:{color:"#c03410",fontSize:12,fontWeight:"700",lineHeight:12,letterSpacing:.72,textTransform:"uppercase"},hero:{color:"#10462e",fontSize:17,fontWeight:"400",lineHeight:26.34375},heroIcon:{color:"#10462e",fontSize:17,fontWeight:"400",lineHeight:26.34375},source:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:19.5},sourceIcon:{color:"#819d90",fontSize:13,fontWeight:"400",lineHeight:19.5},sourceBold:{color:"#6b6b6b",fontSize:13,fontWeight:"700",lineHeight:19.5},sourceLink:{color:"#10462e",fontSize:13,fontWeight:"700",lineHeight:19.5,textDecorationLine:"underline"},choices:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},choiceCurrent:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},choice:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},radioOn:{color:"#000000",fontSize:13.333,fontWeight:"400"},radioOff:{color:"#000000",fontSize:13.333,fontWeight:"400"},choiceText:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},choiceTitle:{color:"#10462e",fontSize:17,fontWeight:"700",lineHeight:22.09375},choiceMeta:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:18.1875},facts:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},factsLi:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},factsLiHer:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},factsK:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:18.1875},factsN:{color:"#10462e",fontSize:20,fontWeight:"700",lineHeight:22,letterSpacing:-.4,fontVariant:["tabular-nums"]},factsUnit:{color:"#6b6b6b",fontSize:13,fontWeight:"500",lineHeight:14.296875,letterSpacing:-.4,fontVariant:["tabular-nums"]},noteAfterFacts:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:19.5},cardLead:{color:"#000000",fontSize:15,fontWeight:"400",lineHeight:22.5},person:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},avatar:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},personName:{color:"#10462e",fontSize:17,fontWeight:"700",lineHeight:22.09375},personMeta:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:18.84375},sourceInCard:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:19.5},sourceInCardIcon:{color:"#819d90",fontSize:13,fontWeight:"400",lineHeight:19.5},noteAfterSource:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:19.5},rxLead:{color:"#000000",fontSize:15,fontWeight:"400",lineHeight:22.5},btnOutlineSm:{color:"#10462e",fontSize:15,fontWeight:"400",lineHeight:15,textAlign:"center"},btnOutlineSmIcon:{color:"#10462e",fontSize:15,fontWeight:"400",lineHeight:15,textAlign:"center"},noteStandalone:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:19.5},noteLink:{color:"#10462e",fontSize:15,fontWeight:"700",lineHeight:21},sumPlain:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},sumPlainRowFirst:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},sumPlainRowLast:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},sumPlainDd:{color:"#10462e",fontSize:15,fontWeight:"700",lineHeight:21,textAlign:"right"},planRowsLiFirst:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},planRowsLiNext:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},switch:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},switchTrack:{color:"#000000",fontSize:13.333,fontWeight:"400"},switchKnob:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},switchTrackOff:{color:"#000000",fontSize:13.333,fontWeight:"400"},switchKnobOff:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},breaks:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},btnSm:{color:"#10462e",fontSize:15,fontWeight:"400",lineHeight:15,textAlign:"center"},linkDanger:{color:"#c03410",fontSize:15,fontWeight:"700",lineHeight:23.25,textDecorationLine:"underline",textAlign:"center"},sheet:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},sheetBackdrop:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},sheetGrab:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},sheetGrabBar:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},sheetHead:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},sheetClose:{color:"#10462e",fontSize:13.333,fontWeight:"400",textAlign:"center"},sheetCloseIcon:{color:"#10462e",fontSize:13.333,fontWeight:"400",textAlign:"center"},sheetBody:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},sheetText:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:25.5},sheetActions:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},btnDanger:{color:"#c03410",fontSize:15,fontWeight:"700",lineHeight:23.25,textAlign:"center"},btnOutline:{color:"#10462e",fontSize:17,fontWeight:"700",lineHeight:17,textAlign:"center"},rec:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},recRow:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},recIcon:{color:"#6b6b6b",fontSize:17,fontWeight:"400",lineHeight:26.34375},recText:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},recTitle:{color:"#10462e",fontSize:17,fontWeight:"700",lineHeight:22.09375},recMeta:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:18.1875},recEnd:{color:"#6b6b6b",fontSize:15,fontWeight:"400",lineHeight:23.25},trackerLi:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},trackerLiLast:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},trackerLineDone:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},trackerLine:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},dotDone:{color:"#ffffff",fontSize:17,fontWeight:"400",lineHeight:26.34375},dotDoneIcon:{color:"#ffffff",fontSize:17,fontWeight:"400",lineHeight:26.34375},dotNow:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},dotNowCore:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},dotNext:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},trackerTitle:{color:"#10462e",fontSize:17,fontWeight:"700",lineHeight:22.09375},trackerTitleNext:{color:"#6b6b6b",fontSize:17,fontWeight:"700",lineHeight:22.09375},trackerWhen:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:18.1875},trackerText:{color:"#000000",fontSize:15,fontWeight:"400",lineHeight:22.5},pillStable:{color:"#10462e",fontSize:12,fontWeight:"700",lineHeight:12,letterSpacing:.72,textTransform:"uppercase"},trackItemsEnd:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375,fontVariant:["tabular-nums"]},trackItemsLiFirst:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},trackItemsLiLast:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},noteAfterTotal:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:19.5},rowLink:{color:"#10462e",fontSize:15,fontWeight:"700",lineHeight:20.25},rowLinkIcon:{color:"#10462e",fontSize:15,fontWeight:"700",lineHeight:20.25},rowLinkChevron:{color:"#819d90",fontSize:15,fontWeight:"700",lineHeight:20.25},ghost:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},ghostBar:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},field:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},fieldLabel:{color:"#10462e",fontSize:15,fontWeight:"700",lineHeight:21},fieldInput:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},fieldInputText:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375}},PHONE_DECOR={body:{font:"sans"},pushBody:{font:"sans"},subtabs:{font:"sans",lineBottom:{width:1,color:"#e4e4e4"}},subtab:{font:"sans"},subtabCurrent:{font:"sans",insetBottom:{width:3,color:"#07c168"}},titleBlock:{font:"sans"},screenTitle:{font:"sans",wrap:"balance"},screenMeta:{font:"mono",wrap:"pretty"},stack:{font:"sans"},card:{font:"sans"},cardHead:{font:"sans"},cardTitle:{font:"sans"},cardTitleInHead:{font:"sans"},cardLink:{font:"sans"},cardLinkAfterNote:{font:"sans"},forLabel:{font:"mono"},forLabelNext:{font:"mono"},itemsLiFirst:{font:"sans"},itemsLiMid:{font:"sans"},itemsLiLast:{font:"sans"},thumb:{font:"sans"},thumbIcon:{font:"sans"},thumbPink:{font:"sans"},thumbYellow:{font:"sans"},thumbSage:{font:"sans"},itemsName:{font:"sans"},itemsMeta:{font:"sans"},itemsActs:{font:"sans"},itemsActLink:{font:"sans",underlineOffset:3},itemsActButton:{font:"sans",underlineOffset:3},itemsEnd:{font:"sans"},itemsPrice:{font:"sans"},pill:{font:"mono"},pillSoon:{font:"mono",ring:{width:1.25,color:"#f6d892"}},btnRow:{font:"sans"},btnRowIcon:{font:"sans"},btnRowLabel:{font:"sans"},sumTotal:{font:"sans"},sumRowFirst:{font:"sans"},sumRowLast:{font:"sans"},sumDt:{font:"sans"},sumDd:{font:"sans"},sumDdTotal:{font:"sans"},noteAfterSum:{font:"sans"},rowsLiFirst:{font:"sans"},rowsLiNext:{font:"sans"},rowsK:{font:"sans"},rowsV:{font:"sans"},rowsMeta:{font:"sans"},legal:{font:"sans"},legalText:{font:"sans"},traybar:{font:"sans",lineTop:{width:1,color:"#e4e4e4"}},btnInk:{font:"sans"},traybarFine:{font:"sans"},input:{font:"sans"},inputIcon:{font:"sans"},inputText:{font:"sans"},inputPlaceholder:{font:"sans"},filters:{font:"sans"},filter:{font:"sans"},filterCurrent:{font:"sans"},sectionHead:{font:"sans"},prods:{font:"sans"},prod:{font:"sans"},prodImg:{font:"sans"},prodIcon:{font:"sans"},prodTags:{font:"sans"},prodBody:{font:"sans"},prodName:{font:"sans"},prodMeta:{font:"sans"},prodPrice:{font:"sans"},pillClear:{font:"mono",ring:{width:1.5,color:"#07c168"}},pillPlain:{font:"mono",ring:{width:1.5,color:"rgba(16, 70, 46, 0.2)"}},pillOverdue:{font:"mono",ring:{width:1.25,color:"#c03410"}},hero:{font:"sans"},heroIcon:{font:"sans"},source:{font:"sans"},sourceIcon:{font:"sans"},sourceBold:{font:"sans"},sourceLink:{font:"sans",underlineOffset:3},choices:{font:"sans"},choiceCurrent:{font:"sans"},choice:{font:"sans"},radioOn:{font:"sans"},radioOff:{font:"sans"},choiceText:{font:"sans"},choiceTitle:{font:"sans"},choiceMeta:{font:"sans"},facts:{font:"sans"},factsLi:{font:"sans"},factsLiHer:{font:"sans"},factsK:{font:"sans"},factsN:{font:"sans"},factsUnit:{font:"sans"},noteAfterFacts:{font:"sans"},cardLead:{font:"sans"},person:{font:"sans"},avatar:{font:"sans",ring:{width:1,color:"#e4e4e4"}},personName:{font:"sans"},personMeta:{font:"sans"},sourceInCard:{font:"sans"},sourceInCardIcon:{font:"sans"},noteAfterSource:{font:"sans"},rxLead:{font:"sans"},btnOutlineSm:{font:"sans"},btnOutlineSmIcon:{font:"sans"},noteStandalone:{font:"sans"},noteLink:{font:"sans"},sumPlain:{font:"sans"},sumPlainRowFirst:{font:"sans"},sumPlainRowLast:{font:"sans"},sumPlainDd:{font:"sans"},planRowsLiFirst:{font:"sans"},planRowsLiNext:{font:"sans"},switch:{font:"sans"},switchTrack:{font:"sans"},switchKnob:{font:"sans",drop:{x:0,y:1,blur:2,spread:0,color:"rgba(16, 70, 46, 0.06)"}},switchTrackOff:{font:"sans"},switchKnobOff:{font:"sans",drop:{x:0,y:1,blur:2,spread:0,color:"rgba(16, 70, 46, 0.06)"}},breaks:{font:"sans"},btnSm:{font:"sans"},linkDanger:{font:"sans",underlineOffset:3},sheet:{font:"sans"},sheetBackdrop:{font:"sans"},sheetGrab:{font:"sans"},sheetGrabBar:{font:"sans"},sheetHead:{font:"sans"},sheetClose:{font:"sans"},sheetCloseIcon:{font:"sans"},sheetBody:{font:"sans"},sheetText:{font:"sans"},sheetActions:{font:"sans"},btnDanger:{font:"sans"},btnOutline:{font:"sans"},rec:{font:"sans"},recRow:{font:"sans"},recIcon:{font:"sans"},recText:{font:"sans"},recTitle:{font:"sans"},recMeta:{font:"sans"},recEnd:{font:"sans"},trackerLi:{font:"sans"},trackerLiLast:{font:"sans"},trackerLineDone:{font:"sans"},trackerLine:{font:"sans"},dotDone:{font:"sans"},dotDoneIcon:{font:"sans"},dotNow:{font:"sans"},dotNowCore:{font:"sans"},dotNext:{font:"sans"},trackerTitle:{font:"sans"},trackerTitleNext:{font:"sans"},trackerWhen:{font:"sans"},trackerText:{font:"sans"},pillStable:{font:"mono"},trackItemsEnd:{font:"sans"},trackItemsLiFirst:{font:"sans"},trackItemsLiLast:{font:"sans"},noteAfterTotal:{font:"sans"},rowLink:{font:"sans"},rowLinkIcon:{font:"sans"},rowLinkChevron:{font:"sans"},ghost:{font:"sans"},ghostBar:{font:"sans"},field:{font:"sans"},fieldLabel:{font:"sans"},fieldInput:{font:"sans"},fieldInputText:{font:"sans"}},PHONE_ICONS={shield:{size:56,uri:"data:image/png;base64,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"},pill:{size:56,uri:"data:image/png;base64,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"},leaf:{size:56,uri:"data:image/png;base64,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"},paw:{size:56,uri:"data:image/png;base64,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"},box:{size:22,uri:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEIAAABCCAQAAABJXchjAAAFiklEQVR4Ae3Bf4zVBQEA8M/3vXciGIIEKhP1SQ1ddwwaUzI2PRJnDQnPoZZlIjCBwfx5au7UnMDOOjEKSI0feZszy9CTsHAFcjXihy1KRCB37pCy5dEPjjiww6O1u+P74727e+/Q7f7w8/GxDoGTM8T52OefTkKgt4a51U0u1O5Nz1ipSa8EeqPEnaqcLq7ZQku0KlqgeNeqMVJ+DSrVKVKgOKWWu1z36s2zSxEChRuq2gwpPWuzUpUDChQoVI1bnS5phfWyZiiV1OwRixUkUIhbPKVEUr059vi/wDcsco6kBpXq9CjQk1LLXS6pUaU1ovq7x71Ok1Rvnl26FejOUNVmSIlr84RKR+UaptotUuLarFTlgC6ldaVEpZ+5VCApcImhtjgiqcVazyuTFRUYZ45jXtMmr0B+FR4zUneaVVkmvy+pUSqpQaU6eQRylVqmXNJxgaTdbvcr+c1UbZikTebbJSEtLuU+z/mUuA88ocJRl8iIGuYm42zzL7l2+AEulhGVNcv7tjouIi1upXukxW02Wa1DNqo1XJlA1IXmGmSr/0pqtdGPnGW0QCjtSsOtE5EWNU21uP1mqdSkXbM11htthKi0z5vpoB1yHfKidUqdJ2qcP/izE9Ki1hskdMwCN3hd3F+ttNfFBos6zRTX2Gm/XH+z2usmGSB0qe85IS10gYdEpVxgv11yveFJR4x3iqizzVBqu4OSbvCY4aIGe9pBHdJCk1wvbrBpJtrh75KO+a1VhhgrEFVqjv62atVpjJ+622BJv7FHh7TQF10lV9YcWb/TIumwtdYolRWVcZlbNNmJsyzzpPPls8U2HdJCVymX31izfeA1bZKaPG2HcT4paqAKU5RZZbyubLNJh7RQuXKd3jVQVD9XutE+e+Xaa5lml+onarjx+ol710Cd6m3SIS1Urlyns3GJjKghvmKi1zTJtdUP9fM5XTvq265XpVO9TTqkhcqV6/SAjZ5xjlJxWbOdbYsjko54xbNG+bR8njfVi1o9rFO9TTpkdG2f602w3BhRaXN91SOWOiYu42rj5fqTeTbrRkb3NvusGRY5S9Rgj5vtbi8LTfa4UZJa3Ga147qV0ZPjVnnOQ+5wiqgLrbPBfHtwkWWukNRmu0kO61FGIQ67z1MWu0bcFXb7vrR5ctW529sKklGot1X4gqU+I+42ud4036sKllGMjUa71QJDda3Jg1ZoU4SM4rR50o99y3wlcrVa6mGHFCmjeAfd5QnfNVncOnd5Sy9k9M5brnaFtQZo1+LLNuillN7bYLtO223Qayl9QEofkNIHpPQBKX1ASh+Q0gek9AEpoYNC5/gonCv0byekhN4RqvBRmCW0zwkZoS1CS/VX48M0wjJThTY7ISP0rldN1Ok7ZrnXSz4Mp7rfPfoLveI9J2RELTBRaJQ6m9zpj07O11Q7V9wCEWlRjfabKiprjlG2OSSf6bLaNaqVT5k17jBI3M3WiciIW+0fnjVA1I0qLPaow4ozxAKzpcW1uM4vxKQl7bVWqayoEpeZ6bDfi5suq12jWnHzveAyKXGvmmqLhLRc73naThc7Q9QnTDbN2xqEpstq16hWaIJfull/cQ1mut8BOTLye8HLbveAgaLKrFdvrt26NsLjrpPUbKElWuWV1pUPbLbKGcYKRGXNMcJWLZguq12jWpyqyk+MEddmhal+rU0X0rpz2M+9ZLTzRKWMM1fadl+X1a5RrWnWukaJuHpTrNaiG4FCXKvGSEl/8R8XabddqwmSGlSq06NAob7pQQMUrtkjFitIoHBnWmSGlJ61WanKAQUKFGeM5SboXr15dilCoHjXqjFSfg0q1SlSoDf6uUOVgeKaLbREq6IFeutM95mnn3bvW+5RTXolcDKGKnMe3vGGAz520v4HN6Zvz27hkx4AAAAASUVORK5CYII="},bag:{size:22,uri:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEIAAABCCAQAAABJXchjAAAC/UlEQVR4Ae3BXWiVZQAA4Od792m0UJhSQy+GdZHrSBDLrF0kDbuwELstUgmDfjToIgw0MRW7kSAQEiJJbwJBjcDALgx/yDCK/F8QFKbEmmKazZuQFqLf+c62c7b3bGeH78LncdcdidFN86ipJuZfpw0YRWI0r9qhMVbaqaYWtfXYK9EYSx11Xg1BLbPslWiUxF6z1BBUF+wxQyPNsEdQVYvqNlqu0TokDqsiVc0iG+QO22T8Nlkos8FR3xghMVK7c2bKXDFPv/Frd85MmSvm6TdMi+GCr82VGbTEWRNxww9WSNzWqtsug4ZoMdxmy+Q+8JmJOm+KhTIdgkOGCIbq8Z7cMe9rhA2Oya3XY4hEpXY/a5O57hVXNUabXabLXPWIfmWJSpfcrzkue0BZi9yHntUs92l10B1BrkszzVcW5P7STFeVBbmzmumsslR1PSbHIVWkqjusiYICCAogKIAgXqdOsTp1ipaK0+GAEnotdtHoOhxQQq/FLooQxFmr5JaSdcayVsktJetECeI8KFMylpLMHFGCONdk5hvLEzLXRAni9Mu0mmM0D7lXpk+UIM4puceMpkvupChBnK/k1kvVMsVauQOiBHEuOSfzuI/Usk2XzCmXRQlibZN7y1ZTDXePrd6Q2yZSEOtTvXJrnPakSvP1WiN30k6RUrEGvei4Vpm5jut1xLemesrTSird8LJBkVLxzlhun0olJW+qZple0YJ6fGG1QWP5zypfqkOqPtv9Yp/partuqSPqkqrXQQ/bbKXUSDftsFG/OqXq1+91W71kiQUStw363n67/WYcUuPzqy22SM3Wjj/1uWncUhNx0wUXTFhQAEEBBAUQFEBQAEEBBAUQFEBQAEEBBAUQFECQ65NrMxna5PqUBbkTcs+ZDM/L/aQslTsj97kFDhrQONMs8rbcGWWJSp94TXNst1pZUOkdf2iG372rQlBpwHLNsMINFVoMdd5u3WabPD96xglDJKpZ5QXdpmmsf3xnv4+NkKity3SN87cT7hrD/w1CmKiWHePxAAAAAElFTkSuQmCC"},plus:{size:17,uri:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAzCAQAAACQqPihAAAAz0lEQVR4Ae3BIVLDUBiF0S+XDrZLqE3dYwcgqzAVkSyARXQtVSBRlbADcLwtICur2slE8ZKKfzK96p1DVVVhd0Qltpz4I6Qh5pFPek98ESBiXhh0hIiYM4N7QoSFsBAWwkJYCAthISyEhbAQFgvGWjYsmZYYPLBj2pEDmUJDqeWXudZk/hGljvk6CqL0xlxn9hQaxlo2LJn2TKL3wwfTjhzIFBaMZTLXrEj0vtkRICyEhbAQFsJCWAgLYSEshIWwEBYi5p3BnhtLvJKoqurmLoEZGakNbs0TAAAAAElFTkSuQmCC"},search:{size:20,uri:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAQAAACQ9RH5AAAD2UlEQVR4Ae3Ba2hVdQAA8N85N4uVbbdNp1ExI3siZBaVICwqTPOxJkX0dFAQRkEfioqooIIeBNH7TU8xorqFKT0QsQ/21KQoKkt3Mc3RXG5mq0zrw/HfvXeeM+92WV/y97PPPiMlUr16c03W4giHO8xGG/yo0ypL9RmySDXGu9gsZ8qyzNsW6TIEkb0Z42YL1Nmbfo+4T7cqRQbT6AbXOki1fvWg+21VhUi2k71jjKHabKY19iqSZY5XHKjSuwrW6NFjiyaNmpxijukq/eoC79iLSLoOzyn3i1s9b7s0o3W4U165y7xsUDlpWr0uFuzylDYf2CHdnz7xtEYniQRtltlgEDl7OtpydYI+Mzyq3+D6LbbSPPtLxNq9aqtMOQPVW2mcoNM0n6vOOgVtGiTqzPSiP2TIGehhZwnWOs1G1ev2knkaJZo0WCpDrNIxrhD0mW6Loek2S5/gKkfKEKt0t1hip7k6Dd13zrNTIuc+GWLlppgneMgKw7Pc44LznSJVrNy1gu3uMny32y64WqpYudmCe/UYvh4PCGZLFSuZbIzE3x5Xm4cEY02WIlYyU/CZbrX52WrBDCliJZMFS9VuieBEKWIlzYJVardK0CxFrKRZsEntNgrGShEraRZsUrtNgrFSxErGCH5Su02CvBSxki5Bs9qNF2yVIlbSJRinduMFm6WIlXQJxqndeMFmKWIlXYIpajdFsFmKWMlqwWy1my1YLUWs5E3BNA1q0+R0wWtSxErW+1YiskBtFogkvvKTFLFyiwU3aTB8Da4XLJYqVu4xOyUa3Gj4btEgsdOTUsXKrfes4HpTDc9U1wme0ClVrNJtfpcYZYkJhm6CJUZJ/O4OGXIqbTfaNIk6syzUbyiafKFJcI+3ZcgZ6ENzjZNocqF3davWcT7RLFijw18y5Ay0wxLz1UnkdfjUOtU413saBbu0KcqUs6deH7lcLLG/yxzvS1sM5lhPuMsBSiLTFfTKkJOmaIM2QWSSaxzlNz9IM8MdnnSCSKW8dgW9UkWynO01DSpts9THvrbOWkc7yvGmmmm0SrvEgqJWRSki2SZ63wRD9b0rvaBFUNSqaA852Xo8Y5dT7ada/e5xqe8VtMtL5LUr6DVAzmB2WO5lh5qkGovM9ZYd6FXQLi+R166gV4VINSa61CUmyrLWQi9ar1yLFVoERa2KykSqd5oOJ6lXr97BtunTZ4vPLfSxNC1WaBEUtSr6V2QktVihRVDUqmi3nJHUq6BdXiLvEG/aLTayis5QFFzkALvFRlqnVkWJRf6wW87I6/WGc4z1jfm2+Y+NcqL97PO/8g+Ihe5zzyrCeQAAAABJRU5ErkJggg=="},check:{size:16,uri:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAQAAAD9CzEMAAABVUlEQVR4Ae3Bu20UQQAA0Lde13AF0AQSLZglQISklphxAUAdyDOSJXIyMlIaOG0CLTAShBTgI1jGd+fznu+XgPY9k8nkP9A4pdfeWXjrizut0wk+mpl55oOFv86cSpAMGivOnUZ0rXrv1p0zpxBcq6JPVjSOFyRVlK1pHCtIqii7p3GcIKmibEPjGEFSRdkDGocLkirKHtQ4VJBUUTaicZggqaJsVGvVhc+C377ZLkqqKNuitXTuqydmXip644KkirKtzqxaGNy4NCZIqih7RGvpVvHKoPPT3KYoqa5kj2qt+q7oDJ4reuuCpIqyHbTW9YrOoFP0loKkirKdtO7rFZ1Bp+gNgqSKsh21NvWKzqBT9AiSKsp21npIr+gMOsVTSRVle2iMeSPbFGV7aY2Z++XCuivZnlrj5orOUpTtrbVNr+gMouwAre16P7zApRuTyWTyz/oDUB1ZN9kNGUEAAAAASUVORK5CYII="},file:{size:16,uri:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAQAAAD9CzEMAAABtElEQVR4Ad3Bv2rUcAAA4K+/ZndUXARBIp3cxEkQHYq4aOmiHQTvQH0GIw30DYTK3WhdgqBu/sHdQe2mzQNY6wM4V0oI5rze7+5yZNDv889bMm7DTZecNN03W56LWjLqlOeumMcD2yKWjXrjsvlct++LiZY13fPQ/G746ZMJEk23VF54ZM9kh0Zt46ljBU2XVB7bM4u+2raeYwVNJ1S+ms1QX22g5xjBYob6agM9Y4JFDfXVBnr+EixuqK820DMiaONAZUVl6IHawG0NQRu7KpvOqWy7r7alIdHGwKoja9aMO6MhaOOVD2aUiFmXS1VKmULtjmeumkEQk0vVUrk/Dlyz4aV9UyTa27Fj1KExQUymVCtlWkjEFAoLCjoWdCzoWCJmXS4VV8oUJgpicqlpUrmIoGNBTKY0TSkTkYgpFBYUdCzoWNCxRMy6XCqulClMFMTkUtOkchFBx4KYTGmaUiYiEVMoLCjoWNCxoGNB04HKijZWVH5oCJp2VTadM6/zNlU+a0g0Da06smZNe080BE0vfbCo195qWDbqnQvOau+9u35pWDLujpsuOm0+3330yo7/zm9pA1VwIYzMRQAAAABJRU5ErkJggg=="},message:{size:20,uri:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAQAAACQ9RH5AAAD+UlEQVR4Ae3Bf4iW9QEA8M/7vVfIS67uamWlcZW1cE7SrD8qNK2z2hzbXJ60QtoUrP5IiiiSKJIiCIoo65/KiDIz1jbJ+WtalDXH8kedyVwL71REa8w8Uy/jrDievu/zvK/v/X76z8/HCSf8WAr65wzXmORnGtSpU2efXfbZY7s1tuuHgr76rWtdbbTutVltueX6pKAvrrHQxfpmk7k26VVBby72pBv0x3dedZ+9elTQkwYLzFXUfwc1W60HBd1rtN4IlfZYYa1W++33pQb16l3kJtNUesgC3SrozgjrNcra4Qlrfaq6er93j0ZZy9zssKoKqhvufRdI7fegZ/XuNgv8RGqrKxxSRY1qhnvPKKnHzPC+vthooVNdLjrTWEtUUaOa1S4RtbvSq47qq04r7PJLQeIiRe84To3jNbtb9JUmG/XXR9aZbqjERC22q1Cj0lCrDJM4pMm/DMRuG8wSJH7lLV8oU6PSI64XzbHCQO10wA0SQ1zmeWWCcue5T/S2VwzG014WTXClMkG5eaKj5hisuTaL5isTZA1xq+hRrQbrqDmiXxgjI8j6tVMkDntcHrb4h+h+GUHWH0VLHJWPp0UzBCVB6izXiRbJy5s+lxhitJIgNUWQ+NQGeem0XDReSZC6UPSiPG0TjVMSpC4UrZenbaLxSoLUKNE+edommqAkSI0W7ZanA6JawQ+C6DTDJNp1ylOtqMO3fhBEQTREvk4WtSsJov/pkKh1ujydLDqoJEjtEDXKU62oXUmQahM1ytNwUbuSINUqapSnJtG/lQSpNtFUeZoqWqMkSK0RNblAXkb4qcQx7ygJUlttEt0lL9eLPnBYSZD1gugP6uTjDtEaGUHWazokak2Th5uNE62WEWQd9KGoQR4eE31oo4wgq95E0QcG714jRfOUCbKmi3bbYrAmelj0FxuUCbJmil4xWJda6SSJY+5SIUjVmyJaanDGWqdWtNBOFYpSzWokPtNi4Aru9Ihhon+a7zhFqZmixQbu5xaZINWiyRHHKYrOMFm0RLlz/MYXVvlKz05xr/myPjHZIVUURc2iT/xHdLqZZrpKAUf8yYveU03BZLNNd5KsVlPsV1VRNEP0ui4NbnSTq6VqzTJLq8Xa7LRXGxqd7Vznu8W5Ki1yjy91oyhxpomiVWZrNlV153lA7/5rtvV6UJCY5yn5WeAhvShKNOvJAR+71DC9+7/FnvGZXhV1GekK1R3wV0v93TFD/c5skxRU12mll7ylU58UdLndcyod8aal/qZcnXHGG2OMyyU22GqbTTbr0A9FXc6W1WGZ1y1TzUHveldiLFoMUFGXP3tAl6+t8IZlvtYXLQahIHGa63xjpcNO+JF8D+9X6jVU+QFxAAAAAElFTkSuQmCC"},chevron:{size:20,uri:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAQAAACQ9RH5AAABfklEQVR4Ae3BPWoWQQAA0LeZz9gMeA1rywFzBsVSELzDbpEUgj9osVuJN8gF7Af1ChIsxRsIgm1iJMWw7cxsCsF9z2632+3+eUG9p14bfHMrglrPnLvviYMvbkFQ59hH99w4EWWbHal1rRjNNgvqXPnlkSK547NNglpfRUlxIso2COplUVIkUdYtaJFFSZFEWaegTRYlRRJlXYJWWZQUSZR1CNplUVIkUdYs6JFFSZFEWaOgTxYlRRJlTYJeWZQUSZQ1CPplUVIkUVYt2CKLkiKJskrBNtldDxXJDxeqBFt9EiXFAx/8UeHIdr9dKq5VOtjqrVOrFy5VOdhmNlotzlUabDEbrRaTaoN+s9FqMWkw6DUbrRaTJoM+s9FqMWk06DEbrRaTZoN2s9FqMekwaDUbrRaTLoM2s9FqMek0aDEbrRaTboN6s9FqMdngoNZzo9U7ZzY5UufYS6vFmY2O1LpWLCabBXWu/PTYjTdO3YKg1oXvDl55b7fb7Xb/ib+2W04he97hEgAAAABJRU5ErkJggg=="},close:{size:24,uri:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAQAAAD/5HvMAAAC6UlEQVR4Ae3BQYoVRwAA0DdV4saF4jplEOYAVsClV8ghijYgQiArB/fJDcRFz7QHcJPYvfcIuYvgwo0VBhm6Ysb+3T3u8t9zdHR0dHR0dOTUqe/h1KmDTiw78cozvPZctd+JV57hteeqBdGyP/zm0mPJaK/g3C8uPRa9tyBYcs+ZK8W5E3sEveLKmTsWBEtuOzErzp3YKugVs1uiBdGSjx56ZJb94J1tLhStC28tiJa9k2SznzwwWis4V7QGTy2KllWTJJtlyWiNoFe0Bp1qUXRINUmyWZaMDgl6RWvQqQ6IDqsmSTbLktGSoFe0Bp3qoGiNapJksywZfUvQK1qDTrVCtE41SbJZloyuE/SK1qBTrRKtVU2SbJYlo68FvaI16FQrRetVkySbZcmoFfSK1qBTrRZtUU2SbJYloytBr2gNOtUG0TbVJMlmWTK6FPSK1qBTbRJtVU2SbJYlo6BXtAadaqNou2qSZLPsgZ8VrUGn2izao5ok2SzLWoNOtUO0TzVJsusNOtUu0V7VJMn+a9Cpdor2qyYPZP/2RqfaLfjeqhuJ9gt6xdeyZLRbtFfQK66TJaOdon2CXvEtWTLaJdoj6BWtN/6WzbJktEO0XdArWoPOKMlmWTLaLNoq6BWtQaeqJkk2y5LRRtE2Qa9oDTrVpWqSZLMsGW0SbRH0itagU12pJkk2y5LRBtF6Qa9oDTpVq5ok2SxLRqtFawW9ojXoVF+rJkk2y5LRStE6Qa9oDTrVdapJks2yZLRKtEbQK1qDTvUt1STJZlkyWiE6LOgVrUGnWlJNkmyWJaODokOCXtEadKpDqkmSzbJkdEC0LOgVrUGnWqOaJNksS0aLomW/+1Vr0KnWqiZJNsui9xYES+450xp0qi0+e2rQOnPHgmDJbSdmg0611WdPDWa3RAuiJR899MgXFzr7VO/8KPviwlsLomV/+uCJT1546Sb+8sETn7zw0o3dd9f3cN9dR0dHR0dHR/97/wCCc9FG6sbg8AAAAABJRU5ErkJggg=="},flask:{size:56,uri:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKgAAACoCAQAAADeQm0/AAAHtUlEQVR4Ae3B/4/fd10A8Mc9j8tuVo9Slqo5tzWKRzZPhCYmUGNiMWMbEX5S941tVvYDs7TbWqC9fmEb/Tba0Y02Fn+YljKwHRr1B2ALootomqCx2aDWeA1wmzkTqrmVhuKVszf/gvdrn/fn83q/3/du34+HTqfT6XQ6nU4vhtTtNnd5p3eo3re95LgX1GpInZZ72v3qddQm59VmWH3CN3xA3d7lN33e62oyrD5brNOEG8z7JzUJdQkf05TNQk1CXSa8VVOuM6EmoS7v1qR3q0moy6gmjapJqMtLmvSSmoS6fMeipix6WU1CXS46rCmH/a+ahPp8wj9rwr/4uNoMq89lf+lnvUu9jrnHj9VmSN1uc5d3eofqfdvL/twLajWkWa8rNqTY64oNaVDoZBU6WYVOVqGTVehkFTpZhU5WoZNV6GQVOlmFTlahk1XoZBU6WYVOVqGTVehkFTpZhU5WoZNV6GQVOlmFTlahk1XoZBU6WYVOVqGTVehkFTpZhU5WoZNV6GQVOlmFJi1X7LyUHyo2pkGhSb+o2PekzCi2SoNCk+5U7FUpryh2hwaF5ox5QLHvSfm+Yh8xpjGhOTu8RbFXpLyq2ArbNSY0ZdzDUl6Q8ndSNhrXkNCUvUYU+5ZpKS/7V8VG7dGQ0IxJH5LyjDfyjJR7TWpEaMaTQrGLjnsjz5pXLBzQiNCEtW6VcsJFb+Si56TcZq0GhCYckrJov17stSjlkAaE+t1jUsqfmdaLaUelTLpb7ULdRnxayrzterXNvJQ9RtQs1G2DcSmfcU6vzjkoZZWPqlmo15hHpczZp4y95qTsMKZWoV7bjUl5zEVlXPS4lBW2qVWo07iNUmYcUdbnzEh5yLgahTrtNSpli8vKWrBVyqjdahTqM+lDUk75sn4855SU+0yqTajPk0LKBv3aICXsV5tQl7VulfIVJ/XrpK9Kud0aNQl1OSRl0WaD2GRRymE1CfW4x6SUo6YNYtrnpax2p1qEOoz4tJR52wzqk+al7DOiBqEOG4xL+YxzBjXrKSmrrFeDUL0xj0qZs08OT5iTstOYyoXqbTcm5TEX5XDBp6SsMKVyoWrjNkqZcUQuR8xIedi4ioWq7TEqZYvLclkwJWXULhUL1Zp0r5RTviynE05Jud+ESoVqHRBSNshtg5TwlEqFKq11m5SvOCm3k56X8n5rVChU6ZCURZtV4RMWpRxWoVCdu01KOWpaFU77gpTV7lCZUJUR+6XM26YqO8xLecKIioSqfNS4lIPOqcqsp6Ws8qCKhGqM2SFlzl5V2mdOyqPGVCJUY5sVUh53UZUu2CVlhS0qEaow7iEpMz6nan9sRsomK1UgVGGPUSlbLajagm1SRu1TgZDfpHulnPKcOhx3WsofmJBdyO+AkLJBXTZKCQdlNyS3tf5ee/yGk7IKuT2jTf5UZsPyesSd2uQ6r/mWjEJO19inbfYbkdGwnA55j7Z5k+Wel03IZ8w6bfSAZbIJ+WxzrTa61pRsQi7jHtJWm62USchlt1FtNWqPTEIek+7TZn9oQhYhj/1Cm4UnZRFyWOt2bfcBa2QQcjjkSnBYBmFwd5l0JVjt9wzsTQY1Yq+UeTc6Z2kY930jiu33Vy4bSBjUequkPOWcpWLW01JWedCAwmDG7JQy5wlLyW4XpDxumYEMG8xjbpEy5ZuWkksWvE+xay160QDCIMY9LGXGEUvNIbNSPmalAYRB7DYqZcqCpWbBVimjdhtA6N+k+6SccsJS9EWnpXzYhL6F/u0XUjZYqjZKCQf0LfRrjdulfM1JS9WLvi7lg9boU+jXYSmLHrGUbZZ2WJ9Cf+6yWsox05ay056Vstrv6kvox4i9UubttNRNWZBywLA+hH6st0rKU2YtdbM+K2WVj+hDKG/MTilzntAGu1yQ8inLlDasvMfcImXKN7XBJf/nfYpd67IXlRTKGvewlBlHtMVnzUr5uJVKCmXtMiplyoK2WDAlZdQuJYVyJtwv5ZQT2uRZp6V82IRSQjlbhZRN2uYRKcO2KCWU8VPulvI1/6BtvuFFKXdbpoRQxv2uUWzRFm20Ucqoe5QQylgv5ZjT2ui0L0p5QAmhd6v9imLzdmqrrRYU+3W/pmehd++V8rRZbTXrkJTf0rPQu19Q7If2abPdLih2vZ6F3t2o2DEXtNl5zyp2g56F3l2v2Je03XHFrtez0LsbFfuOtjuj2A16Fnr304pdo+2GFPsZPQu9O6vY27XdTYp9V89C784q9vva7g7FzupZ6N20Yuss12ZvdZ9i/6FnoXdnFXuLL2mvIX/hzYqd1bPQu7NS3u95K7XRz/lba6VM69mw3r1qvWWKvc0f+XlzfuSSdljhV211zISU//aQng0p43GfdPXZYY+ehTKOuORq8xNHlBDK+IHjrjbHvKaEUM5BV5uDShlWzjmXvdfVY7u/Vsqwsv7Re/ySq8NXPaikUNbr7vCKq8F33am0UN55H3TJle7HfsePlDasHz/wdbd6syvXjFv8mz4M68+so272dlemv3GL/9SXYf265ITX/LZhV5ZLHrHZT/RpyGAmbbLOleOoJ50xgCGDW26dB/2ydpv2J446b0BDchl3s5vc7GY3uU47/I8zzvh3Z5zxXzqdTqfT6XQ69fl/IEJ+PiL5Pq8AAAAASUVORK5CYII="},syringe:{size:56,uri:"data:image/png;base64,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"},bowl:{size:56,uri:"data:image/png;base64,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"}};function face(f,weight){return f?typeof f=="string"?{fontFamily:f,fontWeight:weight}:{fontFamily:weight==="700"?f.bold??f.regular:weight==="500"?f.medium??f.regular:f.regular}:{fontWeight:weight}}function makeKit(options){let views=/* @__PURE__ */new Map,texts=/* @__PURE__ */new Map,types=/* @__PURE__ */new Map,type=key=>{let s=types.get(key);if(!s){let{fontWeight:fontWeight,...rest}=PHONE_TEXT[key];s={...rest,...face(PHONE_DECOR[key].font==="mono"?options.fonts?.mono:options.fonts?.sans,fontWeight)},types.set(key,s)}return s};return{options:options,v(key){let s=views.get(key);return s||(s={...PHONE_BOX[key]},views.set(key,s)),s},t(key){let s=texts.get(key);return s||(s={...PHONE_BOX[key],...type(key)},texts.set(key,s)),s},tx:type}}var DEFAULT_KIT=makeKit({}),KitContext=createContext(DEFAULT_KIT);function ShopKitProvider({fonts:fonts,renderIcon:renderIcon,children:children}){let kit=useMemo(()=>makeKit({...fonts?{fonts:fonts}:{},...renderIcon?{renderIcon:renderIcon}:{}}),[fonts,renderIcon]);return createElement(KitContext.Provider,{value:kit},children)}function useKit(){return useContext(KitContext)}function inkOf(key){return PHONE_TEXT[key].color??"#000000"}function Decor({k:k}){let d=PHONE_DECOR[k],radius=PHONE_BOX[k].borderRadius??0,out=[];if(d.ring){let ring=Platform.OS==="web"?{boxShadow:`inset 0 0 0 ${d.ring.width}px ${d.ring.color}`}:{borderWidth:d.ring.width,borderColor:d.ring.color};out.push(createElement(View,{key:"ring",pointerEvents:"none",style:[{position:"absolute",top:0,right:0,bottom:0,left:0,borderRadius:radius},ring]}))}return d.insetBottom&&out.push(createElement(View,{key:"bar",pointerEvents:"none",style:{position:"absolute",right:0,bottom:0,left:0,height:d.insetBottom.width,backgroundColor:d.insetBottom.color}})),d.lineTop&&out.push(createElement(View,{key:"top",pointerEvents:"none",style:{position:"absolute",right:0,top:-d.lineTop.width,left:0,height:d.lineTop.width,backgroundColor:d.lineTop.color}})),d.lineBottom&&out.push(createElement(View,{key:"bottom",pointerEvents:"none",style:{position:"absolute",right:0,bottom:-d.lineBottom.width,left:0,height:d.lineBottom.width,backgroundColor:d.lineBottom.color}})),out.length?out:null}function dropShadow(k){let d=PHONE_DECOR[k].drop;return d?Platform.OS==="web"?{boxShadow:`${d.x}px ${d.y}px ${d.blur}px ${d.spread}px ${d.color}`}:{shadowColor:d.color,shadowOpacity:1,shadowRadius:d.blur/2,shadowOffset:{width:d.x,height:d.y}}:null}function Icon({name:name,size:size,color:color,style:style}){let own=useKit().options.renderIcon?.({name:name,size:size,color:color});if(own!=null)return createElement(View,{style:[{width:size,height:size},style],pointerEvents:"none"},own);let img=[{width:size,height:size,tintColor:color},style];return createElement(Image,{source:{uri:PHONE_ICONS[name].uri},style:img,accessible:false,importantForAccessibility:"no",resizeMode:"contain"})}function PartIcon({name:name,k:k,inkKey:inkKey,style:style}){let box=PHONE_BOX[k];return createElement(Icon,{name:name,size:box.width??24,color:inkOf(inkKey??k),style:[box.marginTop?{marginTop:box.marginTop}:null,style]})}function T({k:k,style:style,children:children,lines:lines,role:role,bare:bare}){let kit=useKit();return createElement(Text,{style:[bare?kit.tx(k):kit.t(k),wrapStyle(k),style],...wrapOf(k),...lines?{numberOfLines:lines}:{},...role?{accessibilityRole:role}:{}},children)}function wrapOf(k){return PHONE_DECOR[k].wrap?Platform.OS==="web"?{}:Platform.OS==="ios"?{lineBreakStrategyIOS:"standard"}:{textBreakStrategy:"balanced"}:{}}function wrapStyle(k){let w=PHONE_DECOR[k].wrap;return w&&Platform.OS==="web"?{textWrap:w}:null}function underline(k){let off=PHONE_DECOR[k].underlineOffset;return off?{textUnderlineOffset:off}:{}}function Press({onPress:onPress,disabled:disabled,label:label,style:style,children:children,role:role="button",selected:selected}){return createElement(Pressable,{onPress:disabled?void 0:onPress,disabled:disabled===true,accessibilityRole:role,...label?{accessibilityLabel:label}:{},accessibilityState:{disabled:disabled===true,...selected!==void 0?{selected:selected,checked:selected}:{}},style:style},children)}function phoneLabel(label){return label.replace(/\s*→$/,"")}var TAB_ROUTE={package:{name:"package"},shop:{name:"shop"},orders:{name:"orders"},plan:{name:"plan"}};function tabLabel(copy,tab){return tab==="package"?copy.tabPackage:tab==="shop"?copy.tabShop:tab==="orders"?copy.tabOrders:copy.tabPlan}function CareTabs({copy:copy,current:current,tabs:tabs}){let kit=useKit(),nav=useShopNativeNav();/* @__PURE__ */
4
+ return Object.freeze({ok:false,error:/* @__PURE__ */Object.freeze(error)})}function isOmsRefusal(error,reasonCode){return error.kind==="refused"&&(reasonCode===void 0||error.reasonCode===reasonCode)}function isOmsUnavailable(error){return error.kind==="unavailable"}function isOmsRetryable(error){return error.kind==="network"||error.kind==="timeout"||error.kind==="serviceUnavailable"||error.kind==="refused"&&error.reasonCode==="order_state_conflict"}var REASON=/^[a-z][a-z0-9_]{0,63}$/,MAX_MESSAGE=300;function cleanMessage(raw){if(typeof raw!="string")return null;let text=raw.replace(/[\u0000-\u001f\u007f]+/g," ").trim();return text.length===0||text.length>MAX_MESSAGE?null:text}function retryAfter(header){if(!header)return null;let seconds=Number(header);return Number.isFinite(seconds)&&seconds>=0?Math.min(Math.round(seconds),3600):null}function omsErrorFromStatus(status,body,headers){let requestId=headers.requestId,rid=requestId?{requestId:requestId}:{};if(status===404)return{kind:"unavailable",...rid};if(status===401)return{kind:"signedOut"};if(status===402||status===409||status===422){let envelope=body&&typeof body=="object"?body:{},reason=typeof envelope.reason_code=="string"&&REASON.test(envelope.reason_code)?envelope.reason_code:null;return{kind:"refused",status:status,reasonCode:reason,message:cleanMessage(envelope.message),...rid}}return status===400?{kind:"invalidRequest",...rid}:status===429?{kind:"rateLimited",retryAfterSeconds:retryAfter(headers.retryAfter??null),...rid}:status===503?{kind:"serviceUnavailable",...rid}:status===403?{kind:"unavailable",...rid}:{kind:"serverError",status:status,...rid}}function newIdempotencyKey(){let c=globalThis.crypto;if(c&&typeof c.randomUUID=="function")return c.randomUUID();if(c&&typeof c.getRandomValues=="function"){let b=c.getRandomValues(new Uint8Array(16));b[6]=b[6]&15|64,b[8]=b[8]&63|128;let h=Array.from(b,x=>x.toString(16).padStart(2,"0")).join("");return`${h.slice(0,8)}-${h.slice(8,12)}-${h.slice(12,16)}-${h.slice(16,20)}-${h.slice(20)}`}throw new EverfurConfigError("missing-peer-dependency","No secure random source: cannot make an idempotency key")}var MAX_ROUNDS=3,NAME_REQUIRED_REASONS=["client_name_missing"];function isNameRequired(error){return!!error&&error.kind==="refused"&&!!error.reasonCode&&NAME_REQUIRED_REASONS.includes(error.reasonCode)}var ShopActionKeys=class{constructor(make=newIdempotencyKey){this.make=make;this.keys=/* @__PURE__ */new Map}key(step){let k=this.keys.get(step);return k||(k=this.make(),this.keys.set(step,k)),k}next(step){let k=this.make();return this.keys.set(step,k),k}};async function confirmWithPayerActions(confirm,keys,payments,options={reconfirm:true}){let key=keys.key("confirm"),orderIds=[];for(let round=0;round<MAX_ROUNDS;round+=1){let res=await confirm(key);if(!res.ok)return{kind:"failed",error:res.error};orderIds=res.value.resale.map(r=>r.orderId);let pending=res.value.resale.filter(r=>r.outcome==="action_required"&&r.payerAction);if(pending.length===0)return{kind:"confirmed",orderIds:orderIds};if(!payments)return{kind:"needsPayerAction",orderIds:orderIds};if(round===0&&options.beforePayerAction)try{options.beforePayerAction(orderIds)}catch{}for(let entry of pending){let stepResult=await payments.handleNextAction(entry.payerAction,{orderId:entry.orderId});if(!stepResult.ok)return stepResult.closed?{kind:"payerActionClosed",orderIds:orderIds}:{kind:"payerActionFailed",orderIds:orderIds,message:stepResult.message}}if(!options.reconfirm)return{kind:"confirmed",orderIds:orderIds};key=keys.next("confirm")}return{kind:"needsPayerAction",orderIds:orderIds}}var UNAVAILABLE_PACKAGE_SOURCE=/* @__PURE__ */Object.freeze({load:()=>Promise.resolve(omsErr({kind:"unavailable"})),removeLine:()=>Promise.resolve(omsErr({kind:"unavailable"})),skip:()=>Promise.resolve(omsErr({kind:"unavailable"})),approve:()=>Promise.resolve({kind:"failed",error:{kind:"unavailable"}})});async function offersFor(client,ids){let unique=[...new Set(ids)],read=await Promise.all(unique.map(id=>client.offer(id)));return new Map(unique.map((id,i)=>[id,read[i].ok?read[i].value:null]))}function createOmsPackageSource(client){async function build(plan,review){let offers=await offersFor(client,review.lines.map(l=>l.offerId)),lines=review.lines.map(l=>({...l,offer:offers.get(l.offerId)??null})),draft=null;if(review.state==="open"&&lines.length>0){let d=await client.draftCycle(plan.planId,review.cycle);if(d.ok)draft=d.value;else if(d.error.kind!=="refused")return omsErr(d.error)}return omsOk({plan:plan,review:review,lines:lines,draft:draft})}return{async load(){let plans=await client.plans();if(!plans.ok)return omsErr(plans.error);let plan=plans.value.plans.find(p=>p.state==="active")??plans.value.plans.find(p=>p.state!=="cancelled");if(!plan)return omsOk(null);let review=await client.cycleReview(plan.planId);return review.ok?build(plan,review.value):omsErr(review.error)},async removeLine(pkg,index,keys){let rest=pkg.lines.filter((_,i)=>i!==index).map(l=>({offerId:l.offerId,quantity:l.quantity,...l.petId?{petId:l.petId}:{}})),edited=await client.editCycle(pkg.plan.planId,pkg.review.cycle,{idempotencyKey:keys.key(`remove:${index}`),lines:rest});return edited.ok?build(pkg.plan,edited.value):omsErr(edited.error)},async skip(pkg,keys){let res=await client.skipCycle(pkg.plan.planId,pkg.review.cycle,{idempotencyKey:keys.key("skip")});return res.ok?omsOk(void 0):omsErr(res.error)},approve(pkg,keys,payments){let draft=pkg.draft;return draft?confirmWithPayerActions(idempotencyKey=>client.approveCycle(pkg.plan.planId,pkg.review.cycle,{idempotencyKey:idempotencyKey,checkoutId:draft.checkoutId,expectedTotal:draft.total}),keys,payments,{reconfirm:false}):Promise.resolve({kind:"failed",error:{kind:"invalidRequest"}})}}}function placeholder(key){return`[copy:shop.${key}]`}var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function possessive(name){return`${name}’s`}function listNames(names){return names.length<=1?names[0]??"":`${names.slice(0,-1).join(", ")} and ${names[names.length-1]}`}function asDate(iso){if(!iso)return null;let d=new Date(/^\d{4}-\d{2}-\d{2}$/.test(iso)?`${iso}T00:00:00Z`:iso);return Number.isNaN(d.getTime())?null:d}function formatDay(iso,opts={}){let d=asDate(iso);if(!d)return null;if(opts.when&&d.getUTCFullYear()!==(opts.now??/* @__PURE__ */new Date).getUTCFullYear())return d.toLocaleDateString("en-US",{timeZone:"UTC",month:"short",day:"numeric",year:"numeric"});let weekday=opts.weekday===true||opts.when===true;return d.toLocaleDateString("en-US",{timeZone:"UTC",...weekday?{weekday:"short"}:{},month:"short",day:"numeric"})}function monthOf(iso){let d=asDate(iso);return d?MONTHS[d.getUTCMonth()]:null}function formatCents(cents){let sign=cents<0?"-":"",abs=Math.abs(Math.round(cents));return`${sign}$${Math.floor(abs/100).toLocaleString("en-US")}.${String(abs%100).padStart(2,"0")}`}function cardLabel(brand,last4){return`${brand?brand.charAt(0).toUpperCase()+brand.slice(1):""} ending ${last4}`}var PHARMACY_REFUSAL="We can’t send this prescription to the pharmacy yet. Contact us.",PHARMACY_REFUSALS=["prescription_missing","prescription_reference_missing","prescription_unreadable","prescriptions_disagree","first_fill_mixed_with_refill","duplicate_prescription_line","prescription_in_flight","client_email_missing","client_phone_missing","client_phone_not_us","practice_email_missing","practice_phone_missing","practice_phone_not_us","patient_birth_date_missing","patient_weight_missing","weight_below_partner_unit","species_not_supported","sex_not_supported","refills_over_partner_limit","indications_missing","indication_not_mapped","compounding_missing","compounding_reason_not_mapped","compounding_unexplained","delivery_speed_unavailable","address_missing","address_not_deliverable"],SHOP_COPY={tabsLabel:"Care",tabPackage:"Package",tabShop:"Shop",tabOrders:"Orders",tabPlan:"Plan",legal:"Prescription items need a valid prescription from a licensed vet, and are filled by a licensed partner pharmacy.",legalTracking:"Prescription items are filled by a licensed partner pharmacy.",loadFailed:thing=>`We couldn’t load ${thing}. Check your connection and try again.`,tryAgain:"Try again",actionFailed:"That didn’t go through. Try again.",saving:"Saving…",keepIt:"Keep it",close:"Close",thingPackage:placeholder("thing.package"),thingShop:placeholder("thing.shop"),thingProduct:placeholder("thing.product"),thingPlan:placeholder("thing.plan"),thingOrders:"your orders",thingOrder:"this order",packageTitle:month=>`${month} package`,packageSub:(names,reviewBy,arrives)=>{let s=[];return names.length>0&&s.push(`For ${listNames(names)}.`),reviewBy&&arrives&&s.push(`Approve by ${reviewBy} and it arrives ${arrives}.`),s.length?s.join(" "):null},inThisPackage:"In this package",reviewBy:day=>`Review by ${day}`,forPet:name=>`For ${name}`,details:"Details",remove:"Remove",removed:"Removed.",total:"Total",items:"Items",shipping:"Shipping",tax:"Tax",free:"Free",approveAndShip:"Approve and ship",itemCount:n=>n===1?placeholder("package.item_count_one"):`${n} items`,withTotal:(label,total)=>`${label} · ${total}`,approveRegion:"Approve",packageDetailsRegion:"Package details",deliveryPaymentRegion:"Delivery and payment",questionsRegion:"Questions",approving:"Approving…",skipThisMonth:"Skip this month",chargedWhenShips:card=>`Charged to ${card} when it ships.`,rxCheckedFirst:"Prescriptions are checked with the vet who wrote them first.",delivery:"Delivery",arrives:day=>`Arrives ${day}`,change:"Change",outOfStock:"Out of stock",packageOutOfStock:"Out of stock right now, so it won’t ship this month.",packageEmpty:month=>`Nothing in ${possessive(month)} package yet. Add something from the shop, or skip this month.`,itemNoLongerSold:placeholder("package.item_no_longer_sold"),reviewClosed:placeholder("package.review_closed"),approvalInProgress:placeholder("package.approval_in_progress"),priceChanged:placeholder("package.price_changed"),cardStepFailed:placeholder("package.card_step_failed"),cardStepClosed:placeholder("package.card_step_closed"),noCardOnFile:placeholder("package.no_card_on_file"),shopTitle:"Shop",searchLabel:"Search the shop",searchPlaceholder:"Search the shop…",filtersLabel:"Filter",filterAll:"All",refillSoon:"Refill soon",prescribedFor:names=>`Prescribed for ${listNames(names)}`,inMonthsPackage:month=>`In ${possessive(month)} package →`,forPets:names=>`For ${listNames(names)}`,allProducts:placeholder("shop.all_products_title"),rx:"Rx",hasPrescription:name=>`${name} has a prescription`,needsPrescription:"Needs a prescription",noMatches:q=>`Nothing in the shop matches ‘${q}’.`,nothingHereYet:"Nothing here yet.",photoToCome:"Photo to come",backToShop:"Shop",howOften:"How often",everyMonthIn:name=>`Every month, in ${possessive(name)} package`,skipOrStop:"Skip or stop any month",justOnce:"Just once",shipsWith:month=>`Ships with ${possessive(month)} package`,justOnceShipsNow:placeholder("product.just_once_meta"),oneFewer:"One fewer",oneMore:"One more",quantity:"Quantity",addToPackage:month=>`Add to ${possessive(month)} package`,refillInPackage:month=>`Refill in ${possessive(month)} package`,buyNow:placeholder("product.buy_now"),startPlan:placeholder("product.start_plan"),adding:"Adding…",outOfStockNow:"Out of stock right now.",prescription:"Prescription",noPrescriptionFor:name=>`No prescription for ${name} on file.`,bookVideoVisit:"Book a video visit",refillsLeft:n=>`${n} ${n===1?"refill":"refills"} left`,rxBeingPrepared:"This prescription is being prepared. You can order it soon.",rxTooSoon:placeholder("rx.too_soon"),rxRenew:placeholder("rx.needs_renewal"),rxPick:placeholder("rx.pick_pet"),educational:"Educational, not a diagnosis.",planTitle:"Your plan",whatRepeats:"What repeats",repeatsLabel:title=>`${title} repeats`,cadenceMonths:months=>months===1?"Every month":`Every ${months} months`,cadenceDays:placeholder("plan.cadence_days"),repeatsEmpty:"Nothing repeats yet. Pick Every month when you add something, and it shows up here.",nextPackage:"Next package",reviewByLabel:"Review by",ships:"Ships",reviewMonthsPackage:month=>`Review ${possessive(month)} package →`,deliveryAndPayment:"Delivery and payment",shipTo:"Ship to",payWith:"Pay with",needABreak:"Need a break?",skipMonth:month=>`Skip ${month}`,skipMonthAsk:month=>`Skip ${month}?`,skipMonthBody:"Nothing ships this month.",pausePlan:"Pause the plan",pausePlanAsk:"Pause the plan?",pausePlanBody:"Nothing ships until you turn it back on.",declined:month=>month?`Declined. Update your card so ${possessive(month)} package can ship.`:"Declined.",resumePlan:placeholder("plan.resume"),stopReason:reason=>placeholder(`plan.stop_reason.${reason}`),consentTitle:placeholder("plan.consent_title"),consentBody:placeholder("plan.consent_body"),consentTermsLink:placeholder("plan.consent_terms_link"),consentAgree:placeholder("plan.consent_agree"),ordersTitle:"Orders",ordersSub:names=>`Packages and one-off orders for ${listNames(names)}.`,allOrders:"All orders",placed:day=>`Placed ${day}`,ordersEmpty:"No orders yet. Your first package shows up here once you approve it.",paymentFailed:"Payment failed",backToCare:"Care",onItsWay:title=>`${title}, on its way`,shouldArrive:day=>`It should arrive ${day}.`,whereItStands:"Where it stands",stepApproved:"Approved",stepChecking:"Checking prescriptions…",stepFilled:"Filled by the pharmacy",stepShipped:"Shipped",stepDelivered:"Delivered",now:"Now",expected:day=>`Expected ${day}.`,inTheBox:"In the box",payment:"Payment",cancelOrder:placeholder("order.cancel"),payOrder:placeholder("order.pay"),trackPackage:placeholder("order.track"),orderStatus:{pending_placement:"Confirmed, sending to the pharmacy",placement_unknown:"Confirmed",placed:"With the pharmacy, in review",accepted:"Approved by the pharmacist",release_sent:"Approved, being prepared",release_unknown:"Approved, being prepared",released:"Being prepared",shipped:"Shipped",delivered:"Delivered",needs_support:"We’re looking into this order",rejected:placeholder("order.status.rejected"),cancelled:"Cancelled",pending_handoff:placeholder("order.status.pending_handoff")},addressTitle:placeholder("address.title"),addressLabel:placeholder("address.label"),addressRecipient:placeholder("address.recipient_name"),addressLine1:placeholder("address.line1"),addressLine2:placeholder("address.line2"),addressCity:placeholder("address.city"),addressRegion:placeholder("address.region"),addressPostal:placeholder("address.postal_code"),addressSave:placeholder("address.save"),addressNeeded:placeholder("address.needed"),cardTitle:placeholder("card.title"),cardBody:placeholder("card.body"),cardStart:placeholder("card.start"),cardUnavailable:placeholder("card.unavailable"),confirmTitle:placeholder("buy.confirm_title"),confirmPay:placeholder("buy.confirm_pay"),nameMissing:placeholder("checkout.name_missing"),addName:placeholder("checkout.add_name"),firstName:placeholder("checkout.first_name"),lastName:placeholder("checkout.last_name"),saveName:placeholder("checkout.save_name"),refusal:{operation_not_supported:"This action isn’t available for this order.",order_not_sellable:"We can’t ship this order as it is. Add items or contact us.",rx_being_prepared:"This prescription is being prepared. You can order it soon.",rx_not_dispensable:PHARMACY_REFUSAL,...Object.fromEntries(PHARMACY_REFUSALS.map(code=>[code,PHARMACY_REFUSAL])),order_state_conflict:"This order changed. Refresh and try again.",payment_method_in_use:"A subscription or an order uses this card."},rateLimited:placeholder("error.rate_limited")},SHOP_COPY_PLACEHOLDERS=(()=>{let keys=/* @__PURE__ */new Set,visit=v=>{if(typeof v=="string"){let m=/^\[copy:(shop\.[a-z0-9_.]+)\]$/.exec(v);m&&keys.add(m[1])}else if(typeof v=="function")try{visit(v("x","x","x"))}catch{}else if(v&&typeof v=="object")for(let inner of Object.values(v))visit(inner)};return visit(SHOP_COPY),[...keys].sort()})();function shopCopy(overrides){return overrides?{...SHOP_COPY,...overrides}:SHOP_COPY}function refusalLine(copy,error){if(error.kind==="rateLimited")return copy.rateLimited;if(error.kind==="refused"){if(isNameRequired(error))return copy.nameMissing;let own=error.reasonCode?copy.refusal[error.reasonCode]:void 0;if(own)return own;if(error.message)return error.message}return copy.actionFailed}var SHOP_V3_COPY={cartTitle:"Cart",cartLabel:n=>n>0?`Cart, ${n} item${n>1?"s":""}`:"Cart, empty",cartEmptyTitle:"Your cart is empty",cartEmptyBody:null,addToCart:"Add to cart",viewCart:"View cart",addedToCart:name=>`${name} is in your cart.`,removedFromCart:name=>`${name} is out of your cart.`,quantityLabel:name=>`How many: ${name}`,fewer:"One fewer",more:"One more",remove:"Remove",subtotal:"Subtotal",shipping:"Shipping",tax:"Tax",free:"Free",total:"Total",checkoutCart:total=>`Checkout · ${total}`,checkoutKicker:"Checkout",itemQuantity:n=>`Qty ${n}`,shipsTo:"Ships to",payWith:"Pay with",placeOrder:total=>`Place order · ${total}`,chooseAddress:placeholder("checkout.choose_address"),chooseCard:placeholder("checkout.choose_card"),addAddress:placeholder("checkout.add_address"),addCard:placeholder("card.start"),makeDefault:placeholder("address.make_default"),editAddress:placeholder("address.edit"),noAddressYet:placeholder("address.needed"),noCardYet:placeholder("package.no_card_on_file"),placedHeader:"Order placed",placedTitle:"Order placed.",placedSteps:"What's coming",placedShips:"It ships.",placedArrives:"It arrives at home.",viewOrder:"View order",ordersTitle:"Orders",ordersEmptyTitle:"No orders yet",ordersEmptyBody:null,moreOrders:placeholder("orders.more"),subscriptionBox:"Subscription box",orderTitle:n=>n===null?"Order":`Order ${n}`,arrivesBy:day=>`Arrives by ${day}`,deliveredOn:day=>`Delivered ${day}`,expected:day=>`Expected ${day}`,orderSteps:["Ordered","Shipped","Out for delivery","Delivered"],tracking:"Tracking",trackOn:carrier=>`Track on ${carrier}`,inThisOrder:"In this order",orderItemLine:n=>`Qty ${n}`,buyAgain:"Buy again",orderHelp:"Get help with this order",paidWith:"Paid with",refund:placeholder("order.refund"),discount:placeholder("order.discount"),cancelAsk:placeholder("order.cancel_ask"),cancelBody:null,cancelRequested:placeholder("order.cancel_requested"),close:"Close",manageKicker:"Your subscription",manageTitle:name=>`Manage ${name}`,manage:"Manage",shipsEvery:"Ships every",daysChip:n=>`${n} days`,skipNext:"Skip the next box",cancelSubscription:"Cancel subscription",nextBox:day=>`Next box ${day}`,everyDays:n=>`Every ${n} days`,subscribedLine:(n,next)=>next===null?`Every ${n} days`:`Every ${n} days · next box ${next}`,skipped:"Skipped.",cancelSubscriptionAsk:placeholder("plan.cancel_ask"),cancelSubscriptionBody:placeholder("plan.cancel_body")},SHOP_V3_COPY_PLACEHOLDERS=Object.values(SHOP_V3_COPY).filter(v=>typeof v=="string"&&v.startsWith("[copy:"));function shopV3Copy(overrides){if(!overrides)return SHOP_V3_COPY;let own={};for(let[k,v]of Object.entries(overrides))k in SHOP_V3_COPY&&v!==void 0&&(own[k]=v);return{...SHOP_V3_COPY,...own}}var ShopContext=createContext(null);function ShopProvider(props){let{client:client,pets:pets,payments:payments,packageSource:packageSource,copy:copy,v3Copy:v3Copy,saveProfileName:saveProfileName,onProfileNameRequired:onProfileNameRequired,children:children}=props,saveName=useRef(saveProfileName);saveName.current=saveProfileName;let editName=useRef(onProfileNameRequired);editName.current=onProfileNameRequired;let canSave=!!saveProfileName,canEdit=!!onProfileNameRequired,value=useMemo(()=>{let list=pets??[],names=new Map(list.map(p=>[p.petId,p.name]));return{client:client,pets:list,petName:id=>id?names.get(id)??null:null,payments:payments??null,packageSource:packageSource??createOmsPackageSource(client),copy:shopCopy(copy),v3:shopV3Copy(v3Copy),saveProfileName:canSave?name=>saveName.current?saveName.current(name):Promise.resolve(false):null,onProfileNameRequired:canEdit?()=>editName.current?.():null}},[client,pets,payments,packageSource,copy,v3Copy,canSave,canEdit]);return createElement(ShopContext.Provider,{value:value},children)}function useShop(){let ctx=useContext(ShopContext);if(!ctx)throw new EverfurConfigError("not-initialized","useShop: wrap the shop in <ShopProvider>");return ctx}function useShopRead(key,read){let[state,setState]=useState({key:null,phase:"loading",value:null,error:null}),epoch=useRef(0),inflight=useRef(null),readRef=useRef(read);readRef.current=read;let load=useCallback(quiet=>{let mine=++epoch.current;if(key===null)return Promise.resolve();quiet||setState({key:key,phase:"loading",value:null,error:null});let done=readRef.current().then(res=>{if(mine!==epoch.current)return;if(res.ok){setState({key:key,phase:"ready",value:res.value,error:null});return}let next={key:key,phase:res.error.kind==="unavailable"?"unavailable":"failed",value:null,error:res.error};quiet&&next.phase==="failed"?setState(prev=>prev.key===key&&prev.phase==="ready"?prev:next):setState(next)},()=>{});return inflight.current={epoch:mine,done:done},done.then(()=>{inflight.current?.epoch===mine&&(inflight.current=null)}),done},[key]);useEffect(()=>(load(false),()=>{epoch.current+=1}),[load]);let refresh=useCallback(()=>{load(false)},[load]),reread=useCallback(()=>{let running=inflight.current;return running&&running.epoch===epoch.current?running.done:load(true)},[load]);return state.key!==key?{phase:"loading",value:null,error:null,refresh:refresh,reread:reread}:{phase:state.phase,value:state.value,error:state.error,refresh:refresh,reread:reread}}function useShopConfig(){let{client:client}=useShop();return useShopRead("shop-config",()=>client.shopConfig())}function useOffers(query={}){let{client:client}=useShop(),text=query.text?.trim()??"",key=`offers:${text}:${query.requiresRx??""}`;return useShopRead(key,()=>client.offers({...text?{text:text}:{},...query.requiresRx!==void 0?{requiresRx:query.requiresRx}:{},limit:100}))}function useOffer(offerId){let{client:client}=useShop();return useShopRead(offerId?`offer:${offerId}`:null,()=>client.offer(offerId))}function usePrescriptions(){let{client:client}=useShop();return useShopRead("prescriptions",()=>client.prescriptions())}function useAddresses(){let{client:client}=useShop();return useShopRead("addresses",()=>client.addresses())}function useAddress(ref){let{client:client}=useShop();return useShopRead(ref?`address:${ref}`:null,()=>client.address(ref))}function usePaymentMethods(){let{client:client}=useShop();return useShopRead("payment-methods",()=>client.paymentMethods())}function useOrder(orderId){let{client:client}=useShop();return useShopRead(orderId?`order:${orderId}`:null,()=>client.order(orderId))}function usePlans(){let{client:client}=useShop();return useShopRead("plans",()=>client.plans({limit:100}))}function usePackage(){let{packageSource:packageSource}=useShop();return useShopRead("package",()=>packageSource.load())}function useShopAction(act){let[busy,setBusy]=useState(false),[error,setError]=useState(null),keys=useRef(null),running=useRef(false),actRef=useRef(act);actRef.current=act;let mounted=useRef(true);useEffect(()=>(mounted.current=true,()=>{mounted.current=false}),[]);let run=useCallback(async(...args)=>{if(running.current)return null;running.current=true,keys.current??=new ShopActionKeys,setBusy(true),setError(null);try{let res=await actRef.current(keys.current,...args);return res.ok?keys.current=null:isRetryWithSameKey(res.error)||(keys.current=null),mounted.current&&setError(res.ok?null:res.error),res}finally{running.current=false,mounted.current&&setBusy(false)}},[]),reset=useCallback(()=>{keys.current=null,setError(null)},[]);return{busy:busy,error:error,run:run,reset:reset}}function isRetryWithSameKey(error){return error.kind==="network"||error.kind==="timeout"||error.kind==="serviceUnavailable"||error.kind==="serverError"}function distinct(xs){let out=[];for(let x of xs)x!==null&&!out.includes(x)&&out.push(x);return out}var FORMS=[[/\b(inject(ion|able)?|vial|syringe|pen)s?\b/i,"syringe"],[/\b(chew(able)?|soft ?chew|treat)s?\b/i,"bowl"],[/\b(shampoo|spray|ointment|cream|gel|lotion|topical|spot[- ]on|otic|ophthalmic|wipe|foam|mousse|collar)s?\b/i,"shield"],[/\b(solution|suspension|liquid|syrup|elixir|drops?|oral ?paste|paste)s?\b/i,"flask"],[/\b(tablet|caplet|capsule|tab|cap|pill)s?\b/i,"pill"]];function drugFormIcon(title,form){for(let text of[title,form]){if(!text)continue;let hit=FORMS.find(([re])=>re.test(text));if(hit)return hit[1]}return"pill"}function tileFor(rx,title,form){return rx?{tone:"pink",icon:drugFormIcon(title,form)}:{tone:"yellow",icon:"leaf"}}function addressLine(a){return`${a.line2?`${a.line1}, ${a.line2}`:a.line1}, ${a.city}, ${a.region?`${a.region} `:""}${a.postalCode}`}function rxPill(copy){return{label:copy.rx,tone:"rx"}}function refillsLeft(rx){return rx.fillsTotal!==null&&rx.fillsUsed!==null?Math.max(0,rx.fillsTotal-Math.max(rx.fillsUsed,1)):null}function toPackageView(i){let{pkg:pkg,copy:copy,petName:petName}=i,review=pkg.review,month=monthOf(review.shipsOn),names=distinct(pkg.lines.map(l=>petName(l.petId))),open=review.state==="open",priced=new Map(review.quoteLines.map(q=>[`${q.offerId}:${q.petId??""}`,q])),items=pkg.lines.map((line,index)=>{let offer=line.offer,q=priced.get(`${line.offerId}:${line.petId??""}`),rx=offer?.requiresRx??false,pills=[];return offer||pills.push({label:copy.outOfStock,tone:"later"}),{petId:line.petId,view:{key:`${line.offerId}:${line.petId??""}:${index}`,name:offer?.title??copy.itemNoLongerSold,rx:rx,meta:null,alert:offer?null:copy.packageOutOfStock,pills:pills,price:q&&offer?formatCents(q.unitPrice*q.quantity-q.discount):null,...tileFor(rx,offer?.title),details:offer?{label:copy.details,to:{name:"product",offerId:offer.offerId,...line.petId?{petId:line.petId}:{}}}:null,remove:open?{label:copy.remove,busy:i.removing===index,disabled:i.removing!==null,onPress:()=>i.onRemove(index)}:null}}}),groups=[];for(let it of items){let name=petName(it.petId),label=name?copy.forPet(name):null,existing=groups.find(g=>g.label===label);existing?existing.items.push(it.view):groups.push({label:label,items:[it.view]})}let sum=[],d=pkg.draft;d?(sum.push({k:copy.items,v:formatCents(d.total-d.shipping-d.tax)}),sum.push({k:copy.shipping,v:d.shipping===0?copy.free:formatCents(d.shipping)}),sum.push({k:copy.tax,v:formatCents(d.tax)}),sum.push({k:copy.total,v:formatCents(d.total)})):review.quoteLines.length>0&&sum.push({k:copy.items,v:formatCents(review.quoteLines.reduce((n,q)=>n+q.unitPrice*q.quantity-q.discount,0))});let card=i.card?cardLabel(i.card.brand,i.card.last4):null,anyRx=pkg.lines.some(l=>l.offer?.requiresRx),note=card?[copy.chargedWhenShips(card),anyRx?copy.rxCheckedFirst:null].filter(Boolean).join(" "):null,error=i.error;!error&&review.state==="approving"?error=copy.approvalInProgress:!error&&review.state!=="open"&&review.state!==null?error=copy.reviewClosed:!error&&open&&!i.card&&(error=copy.noCardOnFile);let approve=open&&d&&i.card?{label:copy.approveAndShip,busyLabel:copy.approving,busy:i.approving,disabled:i.approving||i.placed===true||i.removing!==null,onPress:i.onApprove}:null;return{title:month?copy.packageTitle(month):copy.tabPackage,sub:copy.packageSub(names,formatDay(review.approveBy,{weekday:true}),null),reviewPill:review.approveBy&&open?copy.reviewBy(formatDay(review.approveBy)):null,countPill:pkg.lines.length>0?copy.itemCount(pkg.lines.length):null,fine:null,groups:pkg.lines.length>0?groups:[],empty:pkg.lines.length===0?{line:month?copy.packageEmpty(month):copy.nothingHereYet,shop:{label:copy.tabShop,to:{name:"shop"}},skip:null}:null,add:null,sum:sum,approve:approve,skip:open?{label:copy.skipThisMonth,to:{name:"plan"}}:null,note:note,error:error,delivery:i.address?[{k:copy.shipTo,v:addressLine(i.address),change:{label:copy.change,to:{name:"address",then:{name:"package"}}}}]:[],legal:copy.legal}}function readyRxFor(offerId,prescriptions){return prescriptions.filter(p=>p.status==="ready"&&p.offerId===offerId)}function toTile(offer,prescriptions,copy,petName,forPetId=null){let pills=[],meta=null,petId=forPetId,holder;return offer.requiresRx&&(pills.push(rxPill(copy)),holder=readyRxFor(offer.offerId,prescriptions).find(p=>petName(p.petId)),petId=holder?.petId??forPetId,meta=holder?copy.hasPrescription(petName(holder.petId)):copy.needsPrescription),{key:offer.offerId,to:{name:"product",offerId:offer.offerId,...petId?{petId:petId}:{}},name:offer.title,meta:meta,price:offer.price!==null?formatCents(offer.price):null,pills:pills,...tileFor(offer.requiresRx,offer.title,holder?.form),imageUrl:offer.imageUrl??null}}function isFirstFill(rx){return rx.fillsUsed===null||rx.fillsUsed===0}function toShelves(i){let{copy:copy}=i,tile=o=>toTile(o,i.prescriptions,copy,i.petName,i.petId??null),shelves=[],byId=/* @__PURE__ */new Map;for(let o of[...i.offers,...i.prescribed??[]])byId.set(o.offerId,o);let first=[],refill=[],firstPets=[];if(!i.searching){let ready=i.prescriptions.filter(p=>p.status==="ready"&&p.offerId!==null&&i.petName(p.petId));for(let offerId of distinct(ready.map(p=>p.offerId))){let o=byId.get(offerId);if(!o||!o.requiresRx)continue;let holders=ready.filter(p=>p.offerId===offerId);if(holders.every(isFirstFill)){first.push(o);for(let p of holders)firstPets.includes(i.petName(p.petId))||firstPets.push(i.petName(p.petId))}else refill.push(o)}}first.length>0&&shelves.push({key:"prescribed",title:copy.prescribedFor(firstPets),link:null,tiles:first.map(tile)}),refill.length>0&&shelves.push({key:"refill",title:copy.refillSoon,link:i.packageMonth?{label:copy.inMonthsPackage(i.packageMonth),to:{name:"package"}}:null,tiles:refill.map(tile)});let above=new Set([...first,...refill].map(o=>o.offerId));return shelves.push({key:"all",title:i.petNames.length>0?copy.forPets(i.petNames):copy.allProducts,link:null,tiles:i.offers.filter(o=>!above.has(o.offerId)).map(tile)}),shelves}function toProductView(i){let{copy:copy,offer:offer}=i,monthly=i.plansOn&&i.petName!==null,choice=monthly?i.choice:"once",submitLabel=choice==="monthly"?i.packageMonth?copy.addToPackage(i.packageMonth):copy.startPlan:copy.buyNow,sellable=offer.price!==null;return{back:{label:copy.backToShop,to:{name:"shop"}},title:offer.title,sub:null,price:sellable?formatCents(offer.price):null,priceUnit:null,...tileFor(false),source:null,stockLine:sellable?null:copy.outOfStockNow,choices:monthly?[{value:"monthly",title:copy.everyMonthIn(i.petName),meta:copy.skipOrStop},{value:"once",title:copy.justOnce,meta:copy.justOnceShipsNow}]:null,choice:monthly?choice:null,onChoice:v=>i.onChoice(v==="once"?"once":"monthly"),quantity:i.quantity,onQuantity:n=>i.onQuantity(Math.min(99,Math.max(1,n))),submit:sellable?{label:submitLabel,busyLabel:copy.adding,busy:i.busy,disabled:i.busy,onPress:i.onSubmit}:{label:copy.outOfStock,disabled:true,onPress:()=>{}},error:i.error,facts:null,cards:[],aside:null,legal:copy.legal}}function toRxProductView(i){let{copy:copy,offer:offer}=i,ready=readyRxFor(offer.offerId,i.prescriptions).filter(p=>i.petName(p.petId)),rx=(i.petId?ready.find(p=>p.petId===i.petId):void 0)??ready[0]??null,sellable=offer.price!==null,script=null,submit=null,form=rx?.form??null;if(rx){let left=refillsLeft(rx);script={name:copy.hasPrescription(i.petName(rx.petId)),meta:left!==null&&left>0?copy.refillsLeft(left):null,directions:null},submit=sellable?{label:i.packageMonth?copy.refillInPackage(i.packageMonth):copy.buyNow,busyLabel:copy.adding,busy:i.busy,disabled:i.busy,onPress:()=>i.onSubmit(rx)}:{label:copy.outOfStock,disabled:true,onPress:()=>{}}}else{let held=i.prescriptions.filter(p=>p.offerId===offer.offerId&&(p.status==="being_prepared"||p.status==="too_soon")&&i.petName(p.petId)),wait=(i.petId?held.find(p=>p.petId===i.petId):void 0)??held[0]??null;if(wait)script={name:copy.hasPrescription(i.petName(wait.petId)),meta:wait.status==="being_prepared"?copy.rxBeingPrepared:copy.rxTooSoon,directions:null},submit=null,form=wait.form;else{let who=(i.petId?i.petName(i.petId):null)??i.firstPetName;script=who?{name:copy.noPrescriptionFor(who),meta:null,directions:null}:null,submit=i.bookVisitHref?{label:copy.bookVideoVisit,href:i.bookVisitHref}:null}}return{back:{label:copy.backToShop,to:{name:"shop"}},stepLabel:copy.prescription,title:offer.title,sub:null,price:sellable?formatCents(offer.price):null,priceUnit:null,...tileFor(true,offer.title,form),script:script,stockLine:sellable?null:copy.outOfStockNow,submit:submit,note:null,error:i.error,cards:[],aside:null,legal:copy.legal}}function cadenceLine(days,copy){let months=Math.round(days/30.4);return months>=1&&Math.abs(days-months*30.4)<=2?copy.cadenceMonths(months):copy.cadenceDays}function toPlanView(i){let{copy:copy}=i,live=i.plans.filter(p=>p.state!=="cancelled"),rows=[];for(let plan of live)plan.lines.forEach((line,n)=>{let offer=i.offers.get(line.offerId)??null,pet=i.petName(line.petId),title=[offer?.title??copy.itemNoLongerSold,pet].filter(Boolean).join(" · "),stop=plan.stopReason,meta=stop==="payment_declined"?copy.declined(i.packageMonth):stop&&stop!=="customer"?copy.stopReason(stop):cadenceLine(plan.cadenceDays,copy);rows.push({key:`${plan.planId}:${n}`,title:title,meta:meta,alert:!!(stop&&stop!=="customer"),on:plan.state==="active",busy:i.busyPlan===plan.planId,onToggle:on=>i.onToggle(plan,on),error:i.rowError&&i.rowError.planId===plan.planId&&n===0?i.rowError.line:null})});let active=live.find(p=>p.state==="active")??null,sum=[],reviewBy=formatDay(i.reviewBy,{weekday:true});reviewBy&&sum.push({k:copy.reviewByLabel,v:reviewBy});let ships=formatDay(active?.nextRun??null,{weekday:true});ships&&sum.push({k:copy.ships,v:ships});let declined=live.some(p=>p.stopReason==="payment_declined"),delivery=[];i.address&&delivery.push({k:copy.shipTo,v:addressLine(i.address),change:{label:copy.change,to:{name:"address",then:{name:"plan"}}}}),i.card&&delivery.push({k:copy.payWith,v:cardLabel(i.card.brand,i.card.last4),alert:declined?copy.declined(i.packageMonth):null,change:{label:copy.change,to:{name:"card",then:{name:"plan"}}}});let month=i.packageMonth??monthOf(active?.nextRun??null);return{sub:null,rows:rows,emptyLine:rows.length===0?copy.repeatsEmpty:null,next:active&&sum.length>0?{sum:sum,link:i.packageMonth?{label:copy.reviewMonthsPackage(i.packageMonth),to:{name:"package"}}:null}:null,delivery:delivery,breakCard:active?{skip:month?{label:copy.skipMonth(month),ask:copy.skipMonthAsk(month),body:copy.skipMonthBody}:null,pause:{label:copy.pausePlan,ask:copy.pausePlanAsk,body:copy.pausePlanBody},busy:i.breakBusy,error:i.breakError,onConfirm:i.onBreak}:null,legal:copy.legal}}var SharedContext=createContext(null),ShopSharedProvider=SharedContext.Provider;function useShopShared(){let s=useContext(SharedContext);if(!s)throw new EverfurConfigError("not-initialized","shop screens render inside EverfurShop");return s}function packageMonth(pkg){return pkg.phase==="ready"&&pkg.value?monthOf(pkg.value.review.shipsOn):null}function loadable(read,map){return read.phase==="ready"&&read.value!==null?{phase:"ready",value:map(read.value)}:read.phase==="loading"?{phase:"loading"}:{phase:"failed",retry:read.refresh}}function pickCard(cards,id){return!cards||cards.length===0?null:(id?cards.find(c=>c.paymentMethodId===id):void 0)??cards[0]??null}function useOffersById(ids){let{client:client}=useShop(),unique=[...new Set(ids)].sort();return useShopRead(`offers-by-id:${unique.join(",")}`,async()=>{let read=await Promise.all(unique.map(id=>client.offer(id)));return omsOk(new Map(unique.map((id,i)=>[id,read[i].ok?read[i].value:null])))})}function outcomeLine(copy,outcome){return outcome.kind==="confirmed"?null:outcome.kind==="needsPayerAction"?copy.cardStepFailed:outcome.kind==="payerActionFailed"?outcome.message??copy.cardStepFailed:outcome.kind==="payerActionClosed"?copy.cardStepClosed:outcome.error.kind==="refused"&&outcome.error.reasonCode==="price_changed"?copy.priceChanged:refusalLine(copy,outcome.error)}var orderNotices=/* @__PURE__ */new WeakMap;function leaveOrderNotice(client,orderId,line){let notices=orderNotices.get(client);notices||(notices=/* @__PURE__ */new Map,orderNotices.set(client,notices)),line?notices.set(orderId,line):notices.delete(orderId)}function peekOrderNotice(client,orderId){return orderNotices.get(client)?.get(orderId)??null}function dropOrderNotice(client,orderId){orderNotices.get(client)?.delete(orderId)}var CARD_PAGE_NOTICE="\0card";function usePackageScreen(go){let{copy:copy,petName:petName,packageSource:packageSource,payments:payments,client:client}=useShop(),{tabs:tabs,pkg:pkg}=useShopShared(),plan=pkg.phase==="ready"?pkg.value?.plan??null:null,cards=usePaymentMethods(),address=useAddress(plan?.destination??null),[removing,setRemoving]=useState(null),[error,setError]=useState(null),[approving,setApproving]=useState(false),[placed,setPlaced]=useState(false),remove=useShopAction((keys,p,index)=>packageSource.removeLine(p,index,keys));if(pkg.phase==="ready"&&pkg.value===null)return{tabs:tabs,view:{phase:"failed",retry:pkg.refresh}};let view=loadable(pkg,p=>toPackageView({pkg:p,card:pickCard(cards.value,p.plan.paymentMethodId),address:address.value?.address??null,copy:copy,petName:petName,removing:removing,approving:approving,placed:placed,error:error,onRemove:index=>{setRemoving(index),setError(null),remove.run(p,index).then(res=>{setRemoving(null),res&&res.ok?pkg.refresh():res&&setError(refusalLine(copy,res.error))})},onApprove:()=>{approving||placed||(setApproving(true),setError(null),(async()=>{let outcome=await approveOnce(packageSource,p,payments);setApproving(false);let line=outcomeLine(copy,outcome),orderId=outcome.kind!=="failed"?outcome.orderIds[0]:void 0;orderId?(setPlaced(true),leaveOrderNotice(client,orderId,line),go({name:"order",orderId:orderId})):(setError(line),outcome.kind==="failed"&&outcome.error.kind==="refused"&&pkg.refresh())})())}}));return{tabs:tabs,view:view}}var approvalKeys=/* @__PURE__ */new WeakMap;async function approveOnce(source,p,payments){let keys=approvalKeys.get(p);keys||(keys=new ShopActionKeys,approvalKeys.set(p,keys));let out=await source.approve(p,keys,payments);return(out.kind!=="failed"||out.error.kind==="refused")&&approvalKeys.delete(p),out}function useDebounced(value,ms){let[v,setV]=useState(value);return useEffect(()=>{let t=setTimeout(()=>setV(value),ms);return()=>clearTimeout(t)},[value,ms]),v}function useShopScreen(initialQuery){let{client:client,copy:copy,petName:petName,pets:pets}=useShop(),{tabs:tabs,pkg:pkg}=useShopShared(),[query,setQuery]=useState(initialQuery??""),text=useDebounced(query,250),offers=useOffers({text:text}),rx=usePrescriptions(),prescriptions=rx.value??[],names=pets.map(p=>p.name),month=packageMonth(pkg),prescribedIds=prescriptions.filter(p=>p.status==="ready"&&p.offerId!==null&&petName(p.petId)).map(p=>p.offerId),prescribed=useOffersById(prescribedIds),first=offers.phase==="ready"?offers.value??null:null,[laterState,setLater]=useState(null),later=laterState&&first&&laterState.first===first?laterState:null,cursor=later?later.cursor:first?.nextCursor??null,moreBusy=useRef(false),onMore=useCallback(()=>{if(!first||!cursor||moreBusy.current)return;moreBusy.current=true,setLater(l=>({first:first,offers:l&&l.first===first?l.offers:[],cursor:cursor,loading:true,failed:false}));let words=text.trim();client.offers({...words?{text:words}:{},cursor:cursor,limit:100}).then(res=>{moreBusy.current=false,setLater(l=>!l||l.first!==first?l:res.ok?{first:first,offers:[...l.offers,...res.value.offers],cursor:res.value.nextCursor,loading:false,failed:false}:{...l,loading:false,failed:true})})},[client,first,cursor,text]),shelves,prescribedWait=rx.phase==="loading"||prescribedIds.length>0&&prescribed.phase==="loading";if(first&&!prescribedWait){let seen=/* @__PURE__ */new Set,all=[];for(let o of[...first.offers,...later?.offers??[]])seen.has(o.offerId)||(seen.add(o.offerId),all.push(o));shelves={phase:"ready",value:toShelves({offers:all,prescribed:[...prescribed.value?.values()??[]].filter(o=>o!==null),prescriptions:prescriptions,copy:copy,petName:petName,petNames:names,packageMonth:month,searching:text.trim()!=="",petId:pets.length===1?pets[0].petId:null})}}else offers.phase==="loading"||prescribedWait?shelves={phase:"loading"}:offers.phase==="unavailable"?shelves={phase:"ready",value:[]}:shelves={phase:"failed",retry:offers.refresh};let count=shelves.phase==="ready"?shelves.value.reduce((n,s)=>n+s.tiles.length,0):1,empty=shelves.phase==="ready"&&count===0?text.trim()?copy.noMatches(text.trim()):copy.nothingHereYet:null,more=first&&cursor?{onMore:onMore,loading:later?.loading??false,failed:later?.failed??false}:null;return{tabs:tabs,view:{sub:null,query:query,onQuery:setQuery,filters:[],shelves:shelves,empty:empty,legal:copy.legal,more:more}}}function lineFor(offer,quantity,petId,rx){return{offerId:offer.offerId,quantity:rx?.packCount??quantity,...rx?.petId??petId?{petId:rx?.petId??petId}:{},...rx?{rxId:rx.rxId}:{}}}function routeFor(name,line){return{name:name,offerId:line.offerId,quantity:line.quantity,...line.petId?{petId:line.petId}:{},...line.rxId?{rxId:line.rxId}:{}}}function useProductScreen(offerId,petId,go){let{copy:copy,petName:petName,pets:pets,client:client}=useShop(),{config:config,pkg:pkg,bookVisitHref:bookVisitHref}=useShopShared(),offer=useOffer(offerId),rx=usePrescriptions(),[choice,setChoice]=useState("monthly"),[quantity,setQuantity]=useState(1),[error,setError]=useState(null),month=packageMonth(pkg),plans=usePlans(),plan=(pkg.phase==="ready"?pkg.value?.plan??null:null)??plans.value?.plans.find(p=>p.state==="active")??null,addToPlan=useShopAction((keys,p,line)=>client.updatePlan(p.planId,{idempotencyKey:keys.key("add"),lines:[...p.lines.map(l=>({offerId:l.offerId,quantity:l.quantity,...l.petId?{petId:l.petId}:{}})),line]})),submit=(line,monthly)=>{if(setError(null),!monthly)return go(routeFor("buy",line));if(!plan)return go(routeFor("consent",line));addToPlan.run(plan,line).then(res=>{res&&res.ok?(pkg.refresh(),go({name:"package"})):res&&setError(refusalLine(copy,res.error))})};if(offer.phase==="ready"&&offer.value?.requiresRx){let o=offer.value,base={offer:o,copy:copy,petId:petId??null,petName:petName,firstPetName:pets[0]?.name??null,packageMonth:month,error:error,bookVisitHref:bookVisitHref};return rx.phase==="unavailable"?{kind:"rx",view:{phase:"ready",value:toRxProductView({...base,prescriptions:[],busy:false,onSubmit:()=>{}})}}:{kind:"rx",view:loadable(rx,list=>toRxProductView({...base,prescriptions:list,busy:addToPlan.busy,onSubmit:p=>submit(lineFor(o,1,null,p),plan!==null)}))}}let petForChoice=(petId?petName(petId):null)??pets[0]?.name??null;return{kind:"product",view:loadable(offer,o=>toProductView({offer:o,copy:copy,petName:petForChoice,packageMonth:month,plansOn:config.recurringTermsVersion!==null,choice:choice,onChoice:setChoice,quantity:quantity,onQuantity:setQuantity,busy:addToPlan.busy,error:error,onSubmit:()=>submit(lineFor(o,quantity,petId??pets[0]?.petId??null,null),choice==="monthly"&&config.recurringTermsVersion!==null&&petForChoice!==null)}))}}function usePlanScreen(){let{copy:copy,petName:petName,client:client}=useShop(),{tabs:tabs,pkg:pkg}=useShopShared(),plans=usePlans(),cards=usePaymentMethods(),live=(plans.value?.plans??[]).filter(p=>p.state!=="cancelled"),active=live.find(p=>p.state==="active")??live[0]??null,address=useAddress(active?.destination??null),offers=useOffersById(live.flatMap(p=>p.lines.map(l=>l.offerId))),[busyPlan,setBusyPlan]=useState(null),[rowError,setRowError]=useState(null),[breakError,setBreakError]=useState(null),toggle=useShopAction((keys,p,on)=>client.planAction(p.planId,{idempotencyKey:keys.key(on?"resume":"pause"),operation:on?"resume":"pause"})),brk=useShopAction((keys,p,which)=>client.planAction(p.planId,{idempotencyKey:keys.key(which),operation:which})),month=packageMonth(pkg);if(plans.phase==="unavailable")return{tabs:tabs,view:{phase:"failed",retry:plans.refresh}};let view=loadable(plans,()=>toPlanView({plans:live,offers:offers.value??/* @__PURE__ */new Map,copy:copy,petName:petName,card:pickCard(cards.value,active?.paymentMethodId??null),address:address.value?.address??null,reviewBy:pkg.phase==="ready"?pkg.value?.review.approveBy??null:null,packageMonth:month,busyPlan:busyPlan,rowError:rowError,onToggle:(p,on)=>{setBusyPlan(p.planId),setRowError(null),toggle.run(p,on).then(res=>{setBusyPlan(null),toggle.reset(),res&&res.ok?plans.refresh():res&&setRowError({planId:p.planId,line:refusalLine(copy,res.error)})})},breakBusy:brk.busy,breakError:breakError,onBreak:async which=>{if(!active)return false;setBreakError(null);let res=await brk.run(active,which);return res&&res.ok?(brk.reset(),plans.refresh(),pkg.refresh(),true):(res&&setBreakError(refusalLine(copy,res.error)),false)}}));return{tabs:tabs,view:view}}var addedAddresses=/* @__PURE__ */new WeakMap;function peekAddedAddress(client){return addedAddresses.get(client)??null}function dropAddedAddress(client){addedAddresses.delete(client)}function useAddressStep(then,go){let{copy:copy,client:client}=useShop(),{pkg:pkg}=useShopShared(),back=then??{name:"package"},saved=useRef(null),save=useShopAction(async(keys,input)=>{let sent=JSON.stringify(input),ref=saved.current?.sent===sent?saved.current.ref:null;if(ref===null){let res=await client.addAddress(input);if(!res.ok)return omsErr(res.error);ref=res.value.ref,saved.current={sent:sent,ref:ref}}if(then?.name==="package"||then?.name==="plan"){let page=await client.plans({limit:100});if(!page.ok)return omsErr(page.error);let live=page.value.plans.filter(p=>p.state!=="cancelled"),shown=then.name==="package"?live.find(p=>p.planId===(pkg.value?.plan.planId??null))??null:live.find(p=>p.state==="active")??live[0]??null,moving=shown?live.filter(p=>p.planId===shown.planId||shown.destination!==null&&p.destination===shown.destination):[];for(let p of moving){if(p.destination===ref)continue;let moved=await client.updatePlan(p.planId,{idempotencyKey:keys.key(`destination:${p.planId}`),destination:ref});if(!moved.ok)return omsErr(moved.error)}}return omsOk(ref)});return{back:{label:copy.backToCare,to:back},busy:save.busy,error:save.error?refusalLine(copy,save.error):null,onSave:input=>{save.run(input).then(res=>{!res||!res.ok||(then?.name==="package"||then?.name==="plan"?pkg.refresh():addedAddresses.set(client,res.value),go(back))})}}}function useCardStep(then,go,handoff){let{copy:copy,client:client,payments:payments}=useShop(),{config:config}=useShopShared(),back=then??{name:"plan"},[error,setError]=useState(()=>peekOrderNotice(client,CARD_PAGE_NOTICE));useEffect(()=>dropOrderNotice(client,CARD_PAGE_NOTICE),[client]);let setup=useShopAction(async()=>{if(handoff){let step2=await handoff();return step2.ok?omsOk(true):(setError(step2.closed?copy.cardStepClosed:step2.message??copy.cardStepFailed),omsOk(false))}let s=await client.setupPaymentMethod();if(!s.ok||!payments)return s.ok?omsErr({kind:"invalidRequest"}):omsErr(s.error);let step=await payments.confirmCardSetup(s.value.payerAction);return step.ok?omsOk(true):(setError(step.closed?copy.cardStepClosed:step.message??copy.cardStepFailed),omsOk(false))}),on=handoff?true:payments!==null&&config.stripePublishableKey!==null;return{back:{label:copy.backToCare,to:back},error:error??(setup.error?refusalLine(copy,setup.error):null),start:on?{label:copy.cardStart,busyLabel:copy.saving,busy:setup.busy,disabled:setup.busy,onPress:()=>{setError(null),setup.run().then(res=>{res&&res.ok&&res.value&&go(back)})}}:null}}function useNameStep(retry){let{copy:copy,saveProfileName:saveProfileName,onProfileNameRequired:onProfileNameRequired}=useShop(),[open,setOpen]=useState(false),[busy,setBusy]=useState(false),[error,setError]=useState(null),retryRef=useRef(retry);retryRef.current=retry;let running=useRef(false),mounted=useRef(true);return useEffect(()=>(mounted.current=true,()=>{mounted.current=false}),[]),{view:open?{line:copy.nameMissing,form:saveProfileName?{firstLabel:copy.firstName,lastLabel:copy.lastName,saveLabel:copy.saveName,busy:busy,error:error,onSave:name=>{let firstName=name.firstName.trim(),lastName=name.lastName.trim();running.current||!firstName||!lastName||(running.current=true,setBusy(true),setError(null),saveProfileName({firstName:firstName,lastName:lastName}).then(saved=>saved,()=>false).then(saved=>{if(running.current=false,!!mounted.current){if(setBusy(false),!saved){setError(copy.actionFailed);return}setOpen(false),retryRef.current()}}))}}:null,handoff:!saveProfileName&&onProfileNameRequired?{label:copy.addName,onPress:onProfileNameRequired}:null}:null,raise:e=>isNameRequired(e)?(setError(null),setOpen(true),true):false,clear:()=>setOpen(false)}}function useCheckoutBasics(){let addresses=useAddresses(),cards=usePaymentMethods(),address=addresses.value?.find(a=>a.isDefault&&a.isComplete)??addresses.value?.find(a=>a.isComplete)??null,card=pickCard(cards.value,null);return{addresses:addresses,cards:cards,address:address,card:card}}function quoteLine(copy,quote){return quote.phase==="unavailable"?copy.actionFailed:quote.phase==="failed"&&quote.error?refusalLine(copy,quote.error):null}function useBuyStep(route,go){let{copy:copy,client:client,payments:payments,petName:petName}=useShop(),offer=useOffer(route.offerId),{address:address,card:card}=useCheckoutBasics(),line=useMemo(()=>({offerId:route.offerId,quantity:route.quantity,...route.petId?{petId:route.petId}:{},...route.rxId?{rxId:route.rxId}:{}}),[route.offerId,route.quantity,route.petId,route.rxId]),quote=useShopRead(address?`quote:${address.ref}:${JSON.stringify(line)}`:null,()=>client.quote({lines:[line],shipTo:address.ref})),[shown,setShown]=useState(null),[error,setError]=useState(null),[placed,setPlaced]=useState(false),buy=useShopAction(async keys=>{let draft=await client.createCheckout({idempotencyKey:keys.key("draft"),lines:[line],shipTo:address.ref});if(!draft.ok)return omsErr(draft.error);if((shown??quote.value?.total??null)!==draft.value.total)return setShown(draft.value.total),omsErr({kind:"refused",status:409,reasonCode:"price_changed",message:null});let out=await confirmWithPayerActions(idempotencyKey=>client.confirmCheckout(draft.value.checkoutId,{idempotencyKey:idempotencyKey,expectedTotal:draft.value.total,paymentMethodId:card.paymentMethodId}),keys,payments);return out.kind==="failed"?omsErr(out.error):omsOk(out)}),needs=[...address?[]:[{label:copy.addressNeeded,to:{name:"address",then:route}}],...card?[]:[{label:copy.cardTitle,to:{name:"card",then:route}}]],q=quote.value,total=shown??q?.total??null,placeRef=useRef(()=>{}),name=useNameStep(()=>placeRef.current()),place2=()=>{placed||(setError(null),name.clear(),buy.run().then(res=>{if(!res)return;let out=res.ok?res.value:{kind:"failed",error:res.error},orderId=out.kind!=="failed"?out.orderIds[0]:void 0;orderId?(setPlaced(true),leaveOrderNotice(client,orderId,outcomeLine(copy,out)),go({name:"order",orderId:orderId})):out.kind==="failed"&&name.raise(out.error)||setError(outcomeLine(copy,out))}))};return placeRef.current=place2,{back:{label:copy.backToShop,to:{name:"product",offerId:route.offerId}},title:copy.confirmTitle,lines:offer.value?[{key:line.offerId,name:offer.value.title,meta:petName(line.petId),price:offer.value.price!==null?formatCents(offer.value.price*line.quantity):null}]:[],sum:q&&total!==null?[{k:copy.shipping,v:q.shipping===0?copy.free:formatCents(q.shipping)},{k:copy.tax,v:formatCents(q.tax)},{k:copy.total,v:formatCents(total)}]:null,needs:needs,pay:address&&card&&q?{label:copy.confirmPay,busyLabel:copy.saving,busy:buy.busy,disabled:buy.busy||placed,onPress:place2}:null,note:card?copy.chargedWhenShips(cardLabel(card.brand,card.last4)):null,error:error??quoteLine(copy,quote),nameStep:name.view}}function useConsentStep(route,go){let{copy:copy,client:client}=useShop(),{config:config,pkg:pkg}=useShopShared(),{address:address,card:card}=useCheckoutBasics(),create=useShopAction(keys=>client.createPlan({idempotencyKey:keys.key("create"),cadenceDays:30,destination:address.ref,paymentMethodId:card.paymentMethodId,consentTermsVersion:config.recurringTermsVersion,lines:[{offerId:route.offerId,quantity:route.quantity,...route.petId?{petId:route.petId}:{},...route.rxId?{rxId:route.rxId}:{}}]})),needs=[...address?[]:[{label:copy.addressNeeded,to:{name:"address",then:route}}],...card?[]:[{label:copy.cardTitle,to:{name:"card",then:route}}]];return{back:{label:copy.backToShop,to:{name:"product",offerId:route.offerId}},terms:config.recurringTermsUrl?{label:copy.consentTermsLink,href:config.recurringTermsUrl}:null,needs:needs,error:create.error?refusalLine(copy,create.error):null,agree:address&&card&&config.recurringTermsVersion?{label:copy.consentAgree,busyLabel:copy.saving,busy:create.busy,disabled:create.busy,onPress:()=>{create.run().then(res=>{res&&res.ok&&(pkg.refresh(),go({name:"plan"}))})}}:null}}var NavContext=createContext({go:()=>{},openExternal:()=>{}});function ShopNativeNavProvider({value:value,children:children}){return createElement(NavContext.Provider,{value:value},children)}function useShopNativeNav(){return useContext(NavContext)}var US_STATES=["AL","AK","AZ","AR","CA","CO","CT","DE","DC","FL","GA","HI","ID","IL","IN","IA","KS","KY","LA","ME","MD","MA","MI","MN","MS","MO","MT","NE","NV","NH","NJ","NM","NY","NC","ND","OH","OK","OR","PA","RI","SC","SD","TN","TX","UT","VT","VA","WA","WV","WI","WY","AS","GU","MP","PR","VI","AA","AE","AP"],US_ZIP=/^\d{5}(-\d{4})?$/;function isUsState(region){return US_STATES.includes(region.trim().toUpperCase())}var PHONE_BOX={body:{paddingTop:8,paddingRight:16,paddingLeft:16},pushBody:{paddingRight:16,paddingLeft:16},subtabs:{backgroundColor:"#ffffff"},subtab:{minHeight:44,rowGap:6,columnGap:6},subtabCurrent:{minHeight:44,rowGap:6,columnGap:6},titleBlock:{paddingTop:4,rowGap:2,columnGap:2},screenTitle:{},screenMeta:{},stack:{marginTop:12,rowGap:12,columnGap:12},card:{paddingTop:16,paddingRight:16,paddingBottom:16,paddingLeft:16,borderWidth:1,borderColor:"#e4e4e4",borderRadius:20,backgroundColor:"#ffffff"},cardHead:{marginBottom:12,rowGap:8,columnGap:16},cardTitle:{marginBottom:12},cardTitleInHead:{},cardLink:{},cardLinkAfterNote:{marginTop:12,marginBottom:2.34},forLabel:{marginTop:4,marginBottom:8},forLabelNext:{marginTop:16,marginBottom:8},itemsLiFirst:{paddingBottom:16,rowGap:12,columnGap:12},itemsLiMid:{paddingTop:16,paddingBottom:16,borderTopWidth:1,borderTopColor:"#e4e4e4",rowGap:12,columnGap:12},itemsLiLast:{paddingTop:16,borderTopWidth:1,borderTopColor:"#e4e4e4",rowGap:12,columnGap:12},thumb:{borderRadius:10,backgroundColor:"#eaeef6",width:48,height:48},thumbIcon:{width:22,height:22},thumbPink:{borderRadius:10,backgroundColor:"#ffeae8"},thumbYellow:{borderRadius:10,backgroundColor:"#fcf0d6"},thumbSage:{borderRadius:10,backgroundColor:"#e6ece8"},itemsName:{rowGap:4,columnGap:8},itemsMeta:{marginTop:2},itemsActs:{marginTop:6,rowGap:16,columnGap:16},itemsActLink:{},itemsActButton:{},itemsEnd:{rowGap:4,columnGap:4},itemsPrice:{},pill:{paddingRight:10,paddingLeft:10,borderRadius:999,backgroundColor:"#eaeef6",minHeight:24},pillSoon:{paddingRight:10,paddingLeft:10,borderRadius:999,backgroundColor:"#ffffff",minHeight:24},btnRow:{paddingRight:14,paddingLeft:14,borderWidth:1,borderColor:"#10462e",borderRadius:999,minHeight:36,rowGap:8,columnGap:8},btnRowIcon:{width:17,height:17},btnRowLabel:{},sumTotal:{paddingRight:24,paddingLeft:24,borderWidth:1,borderColor:"#e4e4e4",borderRadius:20,backgroundColor:"#ffffff"},sumRowFirst:{paddingTop:14,paddingBottom:14,rowGap:2,columnGap:16},sumRowLast:{paddingTop:14,paddingBottom:14,rowGap:2,columnGap:16},sumDt:{},sumDd:{},sumDdTotal:{},noteAfterSum:{marginTop:12},rowsLiFirst:{paddingBottom:16,rowGap:8,columnGap:16},rowsLiNext:{paddingTop:16,borderTopWidth:1,borderTopColor:"#e4e4e4",rowGap:8,columnGap:16},rowsK:{},rowsV:{marginTop:2},rowsMeta:{marginTop:2},legal:{marginTop:32},legalText:{},traybar:{paddingTop:12,paddingRight:16,paddingBottom:8,paddingLeft:16,backgroundColor:"#ffffff",rowGap:6,columnGap:6},btnInk:{paddingRight:24,paddingLeft:24,borderWidth:1,borderColor:"#10462e",borderRadius:999,backgroundColor:"#10462e",minHeight:50,rowGap:8,columnGap:8},traybarFine:{},input:{paddingRight:16,paddingLeft:16,borderWidth:1,borderColor:"#e4e4e4",borderRadius:10,backgroundColor:"#ffffff",minHeight:52,rowGap:10,columnGap:10},inputIcon:{width:20,height:20},inputText:{paddingTop:1,paddingRight:2,paddingBottom:1,paddingLeft:2},inputPlaceholder:{},filters:{paddingBottom:2,rowGap:8,columnGap:8},filter:{paddingRight:14,paddingLeft:14,borderWidth:1,borderColor:"#e4e4e4",borderRadius:999,minHeight:36},filterCurrent:{paddingRight:14,paddingLeft:14,borderWidth:1,borderColor:"#10462e",borderRadius:999,backgroundColor:"#ffeae8",minHeight:36},sectionHead:{marginTop:8,rowGap:8,columnGap:12},prods:{rowGap:16,columnGap:12},prod:{rowGap:12,columnGap:12},prodImg:{borderRadius:10,backgroundColor:"#ffeae8",aspectRatio:1},prodIcon:{width:36,height:36},prodTags:{rowGap:6,columnGap:6,position:"absolute",top:8,left:8},prodBody:{rowGap:4,columnGap:4},prodName:{},prodMeta:{},prodPrice:{marginTop:4,rowGap:8,columnGap:8},pillClear:{paddingRight:10,paddingLeft:10,borderRadius:999,backgroundColor:"#ffffff",minHeight:24},pillPlain:{paddingRight:10,paddingLeft:10,borderRadius:999,backgroundColor:"#ffffff",minHeight:24},pillOverdue:{paddingRight:10,paddingLeft:10,borderRadius:999,backgroundColor:"#ffffff",minHeight:24},hero:{borderRadius:20,backgroundColor:"#fcf0d6",aspectRatio:1.6},heroIcon:{width:56,height:56},source:{rowGap:8,columnGap:8},sourceIcon:{marginTop:2,width:16,height:16},sourceBold:{},sourceLink:{},choices:{rowGap:8,columnGap:8},choiceCurrent:{paddingTop:14,paddingRight:16,paddingBottom:14,paddingLeft:16,borderWidth:1,borderColor:"#10462e",borderRadius:10,backgroundColor:"#ffeae8",rowGap:12,columnGap:12},choice:{paddingTop:14,paddingRight:16,paddingBottom:14,paddingLeft:16,borderWidth:1,borderColor:"#e4e4e4",borderRadius:10,backgroundColor:"#ffffff",rowGap:12,columnGap:12},radioOn:{borderWidth:6,borderColor:"#10462e",borderRadius:10,backgroundColor:"#ffffff",width:20,height:20},radioOff:{borderWidth:1,borderColor:"#819d90",borderRadius:10,backgroundColor:"#ffffff",width:20,height:20},choiceText:{},choiceTitle:{},choiceMeta:{marginTop:2},facts:{marginTop:12,rowGap:8,columnGap:8},factsLi:{paddingTop:12,paddingRight:12,paddingBottom:12,paddingLeft:12,borderRadius:10,backgroundColor:"#e6ece8",rowGap:4,columnGap:4},factsLiHer:{paddingTop:12,paddingRight:12,paddingBottom:12,paddingLeft:12,borderRadius:10,backgroundColor:"#fcf0d6",rowGap:4,columnGap:4},factsK:{},factsN:{},factsUnit:{},noteAfterFacts:{marginTop:12},cardLead:{marginBottom:12},person:{rowGap:12,columnGap:16},avatar:{borderRadius:18,backgroundColor:"#ffffff",width:36,height:36},personName:{},personMeta:{},sourceInCard:{marginTop:12,rowGap:8,columnGap:8},sourceInCardIcon:{marginTop:2,width:16,height:16},noteAfterSource:{marginTop:8},rxLead:{marginBottom:12},btnOutlineSm:{marginTop:12,paddingRight:16,paddingLeft:16,borderWidth:1,borderColor:"#10462e",borderRadius:999,minHeight:46,rowGap:8,columnGap:8},btnOutlineSmIcon:{width:20,height:20},noteStandalone:{},noteLink:{},sumPlain:{paddingRight:24,paddingLeft:24,borderWidth:1,borderColor:"#e4e4e4",borderRadius:20,backgroundColor:"#ffffff"},sumPlainRowFirst:{paddingTop:14,paddingBottom:14,rowGap:2,columnGap:16},sumPlainRowLast:{paddingTop:14,paddingBottom:14,rowGap:2,columnGap:16},sumPlainDd:{},planRowsLiFirst:{paddingTop:12,paddingBottom:12,rowGap:8,columnGap:16},planRowsLiNext:{paddingTop:12,paddingBottom:12,borderTopWidth:1,borderTopColor:"#e4e4e4",rowGap:8,columnGap:16},switch:{width:48,height:28},switchTrack:{borderRadius:999,backgroundColor:"#10462e",width:48,height:28},switchKnob:{borderRadius:11,backgroundColor:"#ffffff",position:"absolute",top:3,left:3,transform:[{translateX:20}],width:22,height:22},switchTrackOff:{borderRadius:999,backgroundColor:"#d0d6d3",width:48,height:28},switchKnobOff:{borderRadius:11,backgroundColor:"#ffffff",position:"absolute",top:3,left:3,width:22,height:22},breaks:{marginTop:12,rowGap:12,columnGap:24},btnSm:{paddingRight:16,paddingLeft:16,borderWidth:1,borderColor:"#10462e",borderRadius:999,minHeight:46,rowGap:8,columnGap:8},linkDanger:{},sheet:{borderTopLeftRadius:28,borderTopRightRadius:28,backgroundColor:"#ffffff"},sheetBackdrop:{backgroundColor:"rgba(0, 0, 0, 0.32)",position:"absolute"},sheetGrab:{height:20},sheetGrabBar:{borderRadius:3,backgroundColor:"#c9c9c9",width:36,height:5},sheetHead:{paddingTop:4,paddingRight:16,paddingBottom:12,paddingLeft:16,rowGap:12,columnGap:12},sheetClose:{paddingTop:1,paddingRight:6,paddingBottom:1,paddingLeft:6,borderRadius:18,backgroundColor:"#e6ece8",width:36,height:36},sheetCloseIcon:{width:20,height:20},sheetBody:{paddingRight:16,paddingBottom:24,paddingLeft:16,rowGap:12,columnGap:12},sheetText:{},sheetActions:{marginTop:16,rowGap:8,columnGap:8},btnDanger:{paddingRight:16,paddingLeft:16,borderWidth:1,borderColor:"#c03410",borderRadius:999,backgroundColor:"#ffffff",minHeight:46,rowGap:8,columnGap:8},btnOutline:{paddingRight:24,paddingLeft:24,borderWidth:1,borderColor:"#10462e",borderRadius:999,minHeight:52,rowGap:8,columnGap:8},rec:{marginRight:-8,marginLeft:-8,rowGap:4,columnGap:4},recRow:{paddingTop:10,paddingRight:8,paddingBottom:10,paddingLeft:8,borderRadius:10,rowGap:12,columnGap:12},recIcon:{width:20,height:20},recText:{rowGap:2,columnGap:2},recTitle:{},recMeta:{},recEnd:{rowGap:8,columnGap:8},trackerLi:{paddingBottom:24,rowGap:16,columnGap:16},trackerLiLast:{rowGap:16,columnGap:16},trackerLineDone:{borderRadius:1,backgroundColor:"#10462e",position:"absolute",top:30,left:13,bottom:2,width:2},trackerLine:{borderRadius:1,backgroundColor:"#e4e4e4",position:"absolute",top:30,left:13,bottom:2,width:2},dotDone:{borderWidth:2,borderColor:"#10462e",borderRadius:14,backgroundColor:"#10462e",width:28,height:28},dotDoneIcon:{width:16,height:16},dotNow:{borderWidth:2,borderColor:"#10462e",borderRadius:14,backgroundColor:"#ffffff",width:28,height:28},dotNowCore:{borderRadius:5,backgroundColor:"#07c168",width:10,height:10},dotNext:{borderWidth:2,borderColor:"#e4e4e4",borderRadius:14,backgroundColor:"#ffffff",width:28,height:28},trackerTitle:{paddingTop:3,rowGap:4,columnGap:8},trackerTitleNext:{paddingTop:3,rowGap:4,columnGap:8},trackerWhen:{marginTop:2},trackerText:{marginTop:2},pillStable:{paddingRight:10,paddingLeft:10,borderRadius:999,backgroundColor:"#dcf6ea",minHeight:24},trackItemsEnd:{rowGap:4,columnGap:4},trackItemsLiFirst:{paddingBottom:16,rowGap:12,columnGap:12},trackItemsLiLast:{paddingTop:16,borderTopWidth:1,borderTopColor:"#e4e4e4",rowGap:12,columnGap:12},noteAfterTotal:{marginTop:8},rowLink:{paddingTop:16,paddingRight:24,paddingBottom:16,paddingLeft:24,borderWidth:1,borderColor:"#e4e4e4",borderRadius:20,backgroundColor:"#ffffff",rowGap:12,columnGap:12},rowLinkIcon:{width:22,height:22},rowLinkChevron:{width:20,height:20},ghost:{marginTop:16,rowGap:10,columnGap:10},ghostBar:{borderRadius:999,backgroundColor:"#e6ece8",height:12},field:{rowGap:6,columnGap:6},fieldLabel:{},fieldInput:{paddingRight:16,paddingLeft:16,borderWidth:1,borderColor:"#e4e4e4",borderRadius:10,backgroundColor:"#ffffff",minHeight:52,rowGap:10,columnGap:10},fieldInputText:{paddingTop:1,paddingRight:2,paddingBottom:1,paddingLeft:2}},PHONE_TEXT={body:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},pushBody:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},subtabs:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},subtab:{color:"#6b6b6b",fontSize:15,fontWeight:"500",lineHeight:23.25},subtabCurrent:{color:"#10462e",fontSize:15,fontWeight:"700",lineHeight:23.25},titleBlock:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},screenTitle:{color:"#10462e",fontSize:22,fontWeight:"500",lineHeight:26.390625,letterSpacing:-.33},screenMeta:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:18.84375},stack:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},card:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},cardHead:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},cardTitle:{color:"#10462e",fontSize:18,fontWeight:"700",lineHeight:22.5,letterSpacing:-.36},cardTitleInHead:{color:"#10462e",fontSize:18,fontWeight:"700",lineHeight:22.5,letterSpacing:-.36},cardLink:{color:"#10462e",fontSize:15,fontWeight:"700",lineHeight:21},cardLinkAfterNote:{color:"#10462e",fontSize:15,fontWeight:"700",lineHeight:21},forLabel:{color:"#6b6b6b",fontSize:12,fontWeight:"700",lineHeight:16.796875,letterSpacing:.72,textTransform:"uppercase"},forLabelNext:{color:"#6b6b6b",fontSize:12,fontWeight:"700",lineHeight:16.796875,letterSpacing:.72,textTransform:"uppercase"},itemsLiFirst:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},itemsLiMid:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},itemsLiLast:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},thumb:{color:"#10462e",fontSize:17,fontWeight:"400",lineHeight:26.34375},thumbIcon:{color:"#10462e",fontSize:17,fontWeight:"400",lineHeight:26.34375},thumbPink:{color:"#10462e",fontSize:17,fontWeight:"400",lineHeight:26.34375},thumbYellow:{color:"#10462e",fontSize:17,fontWeight:"400",lineHeight:26.34375},thumbSage:{color:"#10462e",fontSize:17,fontWeight:"400",lineHeight:26.34375},itemsName:{color:"#10462e",fontSize:17,fontWeight:"700",lineHeight:22.09375},itemsMeta:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:18.84375},itemsActs:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},itemsActLink:{color:"#10462e",fontSize:13,fontWeight:"700",lineHeight:20.140625,textDecorationLine:"underline"},itemsActButton:{color:"#10462e",fontSize:13,fontWeight:"700",lineHeight:20.140625,textDecorationLine:"underline",textAlign:"center"},itemsEnd:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375,fontVariant:["tabular-nums"]},itemsPrice:{color:"#10462e",fontSize:17,fontWeight:"700",lineHeight:26.34375,fontVariant:["tabular-nums"]},pill:{color:"#10462e",fontSize:12,fontWeight:"700",lineHeight:12,letterSpacing:.72,textTransform:"uppercase"},pillSoon:{color:"#10462e",fontSize:12,fontWeight:"700",lineHeight:12,letterSpacing:.72,textTransform:"uppercase"},btnRow:{color:"#10462e",fontSize:14,fontWeight:"400",lineHeight:14,textAlign:"center",fontVariant:["tabular-nums"]},btnRowIcon:{color:"#10462e",fontSize:14,fontWeight:"400",lineHeight:14,textAlign:"center",fontVariant:["tabular-nums"]},btnRowLabel:{color:"#10462e",fontSize:14,fontWeight:"400",lineHeight:14,textAlign:"center",fontVariant:["tabular-nums"]},sumTotal:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},sumRowFirst:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},sumRowLast:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},sumDt:{color:"#6b6b6b",fontSize:15,fontWeight:"400",lineHeight:23.25},sumDd:{color:"#10462e",fontSize:15,fontWeight:"700",lineHeight:21,textAlign:"right"},sumDdTotal:{color:"#10462e",fontSize:20,fontWeight:"700",lineHeight:28,textAlign:"right"},noteAfterSum:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:19.5},rowsLiFirst:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},rowsLiNext:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},rowsK:{color:"#10462e",fontSize:17,fontWeight:"700",lineHeight:22.09375},rowsV:{color:"#000000",fontSize:15,fontWeight:"400",lineHeight:21.75},rowsMeta:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:18.84375},legal:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:20.796875,textAlign:"center"},legalText:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:20.796875,textAlign:"center"},traybar:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},btnInk:{color:"#ffffff",fontSize:17,fontWeight:"700",lineHeight:17,textAlign:"center"},traybarFine:{color:"#6b6b6b",fontSize:12,fontWeight:"400",lineHeight:15.59375,textAlign:"center"},input:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},inputIcon:{color:"#6b6b6b",fontSize:17,fontWeight:"400",lineHeight:26.34375},inputText:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},inputPlaceholder:{color:"#757575",fontSize:17,fontWeight:"400"},filters:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},filter:{color:"#10462e",fontSize:15,fontWeight:"400",lineHeight:18},filterCurrent:{color:"#10462e",fontSize:15,fontWeight:"700",lineHeight:18},sectionHead:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},prods:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},prod:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},prodImg:{color:"#10462e",fontSize:17,fontWeight:"400",lineHeight:26.34375},prodIcon:{color:"#10462e",fontSize:17,fontWeight:"400",lineHeight:26.34375},prodTags:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},prodBody:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},prodName:{color:"#10462e",fontSize:15,fontWeight:"700",lineHeight:19.5},prodMeta:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:18.84375},prodPrice:{color:"#10462e",fontSize:15,fontWeight:"700",lineHeight:23.25,fontVariant:["tabular-nums"]},pillClear:{color:"#07c168",fontSize:12,fontWeight:"700",lineHeight:12,letterSpacing:.72,textTransform:"uppercase"},pillPlain:{color:"#10462e",fontSize:12,fontWeight:"700",lineHeight:12,letterSpacing:.72,textTransform:"uppercase"},pillOverdue:{color:"#c03410",fontSize:12,fontWeight:"700",lineHeight:12,letterSpacing:.72,textTransform:"uppercase"},hero:{color:"#10462e",fontSize:17,fontWeight:"400",lineHeight:26.34375},heroIcon:{color:"#10462e",fontSize:17,fontWeight:"400",lineHeight:26.34375},source:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:19.5},sourceIcon:{color:"#819d90",fontSize:13,fontWeight:"400",lineHeight:19.5},sourceBold:{color:"#6b6b6b",fontSize:13,fontWeight:"700",lineHeight:19.5},sourceLink:{color:"#10462e",fontSize:13,fontWeight:"700",lineHeight:19.5,textDecorationLine:"underline"},choices:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},choiceCurrent:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},choice:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},radioOn:{color:"#000000",fontSize:13.333,fontWeight:"400"},radioOff:{color:"#000000",fontSize:13.333,fontWeight:"400"},choiceText:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},choiceTitle:{color:"#10462e",fontSize:17,fontWeight:"700",lineHeight:22.09375},choiceMeta:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:18.1875},facts:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},factsLi:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},factsLiHer:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},factsK:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:18.1875},factsN:{color:"#10462e",fontSize:20,fontWeight:"700",lineHeight:22,letterSpacing:-.4,fontVariant:["tabular-nums"]},factsUnit:{color:"#6b6b6b",fontSize:13,fontWeight:"500",lineHeight:14.296875,letterSpacing:-.4,fontVariant:["tabular-nums"]},noteAfterFacts:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:19.5},cardLead:{color:"#000000",fontSize:15,fontWeight:"400",lineHeight:22.5},person:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},avatar:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},personName:{color:"#10462e",fontSize:17,fontWeight:"700",lineHeight:22.09375},personMeta:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:18.84375},sourceInCard:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:19.5},sourceInCardIcon:{color:"#819d90",fontSize:13,fontWeight:"400",lineHeight:19.5},noteAfterSource:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:19.5},rxLead:{color:"#000000",fontSize:15,fontWeight:"400",lineHeight:22.5},btnOutlineSm:{color:"#10462e",fontSize:15,fontWeight:"400",lineHeight:15,textAlign:"center"},btnOutlineSmIcon:{color:"#10462e",fontSize:15,fontWeight:"400",lineHeight:15,textAlign:"center"},noteStandalone:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:19.5},noteLink:{color:"#10462e",fontSize:15,fontWeight:"700",lineHeight:21},sumPlain:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},sumPlainRowFirst:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},sumPlainRowLast:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},sumPlainDd:{color:"#10462e",fontSize:15,fontWeight:"700",lineHeight:21,textAlign:"right"},planRowsLiFirst:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},planRowsLiNext:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},switch:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},switchTrack:{color:"#000000",fontSize:13.333,fontWeight:"400"},switchKnob:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},switchTrackOff:{color:"#000000",fontSize:13.333,fontWeight:"400"},switchKnobOff:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},breaks:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},btnSm:{color:"#10462e",fontSize:15,fontWeight:"400",lineHeight:15,textAlign:"center"},linkDanger:{color:"#c03410",fontSize:15,fontWeight:"700",lineHeight:23.25,textDecorationLine:"underline",textAlign:"center"},sheet:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},sheetBackdrop:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},sheetGrab:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},sheetGrabBar:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},sheetHead:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},sheetClose:{color:"#10462e",fontSize:13.333,fontWeight:"400",textAlign:"center"},sheetCloseIcon:{color:"#10462e",fontSize:13.333,fontWeight:"400",textAlign:"center"},sheetBody:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},sheetText:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:25.5},sheetActions:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},btnDanger:{color:"#c03410",fontSize:15,fontWeight:"700",lineHeight:23.25,textAlign:"center"},btnOutline:{color:"#10462e",fontSize:17,fontWeight:"700",lineHeight:17,textAlign:"center"},rec:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},recRow:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},recIcon:{color:"#6b6b6b",fontSize:17,fontWeight:"400",lineHeight:26.34375},recText:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},recTitle:{color:"#10462e",fontSize:17,fontWeight:"700",lineHeight:22.09375},recMeta:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:18.1875},recEnd:{color:"#6b6b6b",fontSize:15,fontWeight:"400",lineHeight:23.25},trackerLi:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},trackerLiLast:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},trackerLineDone:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},trackerLine:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},dotDone:{color:"#ffffff",fontSize:17,fontWeight:"400",lineHeight:26.34375},dotDoneIcon:{color:"#ffffff",fontSize:17,fontWeight:"400",lineHeight:26.34375},dotNow:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},dotNowCore:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},dotNext:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},trackerTitle:{color:"#10462e",fontSize:17,fontWeight:"700",lineHeight:22.09375},trackerTitleNext:{color:"#6b6b6b",fontSize:17,fontWeight:"700",lineHeight:22.09375},trackerWhen:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:18.1875},trackerText:{color:"#000000",fontSize:15,fontWeight:"400",lineHeight:22.5},pillStable:{color:"#10462e",fontSize:12,fontWeight:"700",lineHeight:12,letterSpacing:.72,textTransform:"uppercase"},trackItemsEnd:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375,fontVariant:["tabular-nums"]},trackItemsLiFirst:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},trackItemsLiLast:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},noteAfterTotal:{color:"#6b6b6b",fontSize:13,fontWeight:"400",lineHeight:19.5},rowLink:{color:"#10462e",fontSize:15,fontWeight:"700",lineHeight:20.25},rowLinkIcon:{color:"#10462e",fontSize:15,fontWeight:"700",lineHeight:20.25},rowLinkChevron:{color:"#819d90",fontSize:15,fontWeight:"700",lineHeight:20.25},ghost:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},ghostBar:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},field:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},fieldLabel:{color:"#10462e",fontSize:15,fontWeight:"700",lineHeight:21},fieldInput:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375},fieldInputText:{color:"#000000",fontSize:17,fontWeight:"400",lineHeight:26.34375}},PHONE_DECOR={body:{font:"sans"},pushBody:{font:"sans"},subtabs:{font:"sans",lineBottom:{width:1,color:"#e4e4e4"}},subtab:{font:"sans"},subtabCurrent:{font:"sans",insetBottom:{width:3,color:"#07c168"}},titleBlock:{font:"sans"},screenTitle:{font:"sans",wrap:"balance"},screenMeta:{font:"mono",wrap:"pretty"},stack:{font:"sans"},card:{font:"sans"},cardHead:{font:"sans"},cardTitle:{font:"sans"},cardTitleInHead:{font:"sans"},cardLink:{font:"sans"},cardLinkAfterNote:{font:"sans"},forLabel:{font:"mono"},forLabelNext:{font:"mono"},itemsLiFirst:{font:"sans"},itemsLiMid:{font:"sans"},itemsLiLast:{font:"sans"},thumb:{font:"sans"},thumbIcon:{font:"sans"},thumbPink:{font:"sans"},thumbYellow:{font:"sans"},thumbSage:{font:"sans"},itemsName:{font:"sans"},itemsMeta:{font:"sans"},itemsActs:{font:"sans"},itemsActLink:{font:"sans",underlineOffset:3},itemsActButton:{font:"sans",underlineOffset:3},itemsEnd:{font:"sans"},itemsPrice:{font:"sans"},pill:{font:"mono"},pillSoon:{font:"mono",ring:{width:1.25,color:"#f6d892"}},btnRow:{font:"sans"},btnRowIcon:{font:"sans"},btnRowLabel:{font:"sans"},sumTotal:{font:"sans"},sumRowFirst:{font:"sans"},sumRowLast:{font:"sans"},sumDt:{font:"sans"},sumDd:{font:"sans"},sumDdTotal:{font:"sans"},noteAfterSum:{font:"sans"},rowsLiFirst:{font:"sans"},rowsLiNext:{font:"sans"},rowsK:{font:"sans"},rowsV:{font:"sans"},rowsMeta:{font:"sans"},legal:{font:"sans"},legalText:{font:"sans"},traybar:{font:"sans",lineTop:{width:1,color:"#e4e4e4"}},btnInk:{font:"sans"},traybarFine:{font:"sans"},input:{font:"sans"},inputIcon:{font:"sans"},inputText:{font:"sans"},inputPlaceholder:{font:"sans"},filters:{font:"sans"},filter:{font:"sans"},filterCurrent:{font:"sans"},sectionHead:{font:"sans"},prods:{font:"sans"},prod:{font:"sans"},prodImg:{font:"sans"},prodIcon:{font:"sans"},prodTags:{font:"sans"},prodBody:{font:"sans"},prodName:{font:"sans"},prodMeta:{font:"sans"},prodPrice:{font:"sans"},pillClear:{font:"mono",ring:{width:1.5,color:"#07c168"}},pillPlain:{font:"mono",ring:{width:1.5,color:"rgba(16, 70, 46, 0.2)"}},pillOverdue:{font:"mono",ring:{width:1.25,color:"#c03410"}},hero:{font:"sans"},heroIcon:{font:"sans"},source:{font:"sans"},sourceIcon:{font:"sans"},sourceBold:{font:"sans"},sourceLink:{font:"sans",underlineOffset:3},choices:{font:"sans"},choiceCurrent:{font:"sans"},choice:{font:"sans"},radioOn:{font:"sans"},radioOff:{font:"sans"},choiceText:{font:"sans"},choiceTitle:{font:"sans"},choiceMeta:{font:"sans"},facts:{font:"sans"},factsLi:{font:"sans"},factsLiHer:{font:"sans"},factsK:{font:"sans"},factsN:{font:"sans"},factsUnit:{font:"sans"},noteAfterFacts:{font:"sans"},cardLead:{font:"sans"},person:{font:"sans"},avatar:{font:"sans",ring:{width:1,color:"#e4e4e4"}},personName:{font:"sans"},personMeta:{font:"sans"},sourceInCard:{font:"sans"},sourceInCardIcon:{font:"sans"},noteAfterSource:{font:"sans"},rxLead:{font:"sans"},btnOutlineSm:{font:"sans"},btnOutlineSmIcon:{font:"sans"},noteStandalone:{font:"sans"},noteLink:{font:"sans"},sumPlain:{font:"sans"},sumPlainRowFirst:{font:"sans"},sumPlainRowLast:{font:"sans"},sumPlainDd:{font:"sans"},planRowsLiFirst:{font:"sans"},planRowsLiNext:{font:"sans"},switch:{font:"sans"},switchTrack:{font:"sans"},switchKnob:{font:"sans",drop:{x:0,y:1,blur:2,spread:0,color:"rgba(16, 70, 46, 0.06)"}},switchTrackOff:{font:"sans"},switchKnobOff:{font:"sans",drop:{x:0,y:1,blur:2,spread:0,color:"rgba(16, 70, 46, 0.06)"}},breaks:{font:"sans"},btnSm:{font:"sans"},linkDanger:{font:"sans",underlineOffset:3},sheet:{font:"sans"},sheetBackdrop:{font:"sans"},sheetGrab:{font:"sans"},sheetGrabBar:{font:"sans"},sheetHead:{font:"sans"},sheetClose:{font:"sans"},sheetCloseIcon:{font:"sans"},sheetBody:{font:"sans"},sheetText:{font:"sans"},sheetActions:{font:"sans"},btnDanger:{font:"sans"},btnOutline:{font:"sans"},rec:{font:"sans"},recRow:{font:"sans"},recIcon:{font:"sans"},recText:{font:"sans"},recTitle:{font:"sans"},recMeta:{font:"sans"},recEnd:{font:"sans"},trackerLi:{font:"sans"},trackerLiLast:{font:"sans"},trackerLineDone:{font:"sans"},trackerLine:{font:"sans"},dotDone:{font:"sans"},dotDoneIcon:{font:"sans"},dotNow:{font:"sans"},dotNowCore:{font:"sans"},dotNext:{font:"sans"},trackerTitle:{font:"sans"},trackerTitleNext:{font:"sans"},trackerWhen:{font:"sans"},trackerText:{font:"sans"},pillStable:{font:"mono"},trackItemsEnd:{font:"sans"},trackItemsLiFirst:{font:"sans"},trackItemsLiLast:{font:"sans"},noteAfterTotal:{font:"sans"},rowLink:{font:"sans"},rowLinkIcon:{font:"sans"},rowLinkChevron:{font:"sans"},ghost:{font:"sans"},ghostBar:{font:"sans"},field:{font:"sans"},fieldLabel:{font:"sans"},fieldInput:{font:"sans"},fieldInputText:{font:"sans"}},PHONE_ICONS={shield:{size:56,uri:"data:image/png;base64,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"},pill:{size:56,uri:"data:image/png;base64,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"},leaf:{size:56,uri:"data:image/png;base64,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"},paw:{size:56,uri:"data:image/png;base64,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"},box:{size:22,uri:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEIAAABCCAQAAABJXchjAAAFiklEQVR4Ae3Bf4zVBQEA8M/3vXciGIIEKhP1SQ1ddwwaUzI2PRJnDQnPoZZlIjCBwfx5au7UnMDOOjEKSI0feZszy9CTsHAFcjXihy1KRCB37pCy5dEPjjiww6O1u+P74727e+/Q7f7w8/GxDoGTM8T52OefTkKgt4a51U0u1O5Nz1ipSa8EeqPEnaqcLq7ZQku0KlqgeNeqMVJ+DSrVKVKgOKWWu1z36s2zSxEChRuq2gwpPWuzUpUDChQoVI1bnS5phfWyZiiV1OwRixUkUIhbPKVEUr059vi/wDcsco6kBpXq9CjQk1LLXS6pUaU1ovq7x71Ok1Rvnl26FejOUNVmSIlr84RKR+UaptotUuLarFTlgC6ldaVEpZ+5VCApcImhtjgiqcVazyuTFRUYZ45jXtMmr0B+FR4zUneaVVkmvy+pUSqpQaU6eQRylVqmXNJxgaTdbvcr+c1UbZikTebbJSEtLuU+z/mUuA88ocJRl8iIGuYm42zzL7l2+AEulhGVNcv7tjouIi1upXukxW02Wa1DNqo1XJlA1IXmGmSr/0pqtdGPnGW0QCjtSsOtE5EWNU21uP1mqdSkXbM11htthKi0z5vpoB1yHfKidUqdJ2qcP/izE9Ki1hskdMwCN3hd3F+ttNfFBos6zRTX2Gm/XH+z2usmGSB0qe85IS10gYdEpVxgv11yveFJR4x3iqizzVBqu4OSbvCY4aIGe9pBHdJCk1wvbrBpJtrh75KO+a1VhhgrEFVqjv62atVpjJ+622BJv7FHh7TQF10lV9YcWb/TIumwtdYolRWVcZlbNNmJsyzzpPPls8U2HdJCVymX31izfeA1bZKaPG2HcT4paqAKU5RZZbyubLNJh7RQuXKd3jVQVD9XutE+e+Xaa5lml+onarjx+ol710Cd6m3SIS1Urlyns3GJjKghvmKi1zTJtdUP9fM5XTvq265XpVO9TTqkhcqV6/SAjZ5xjlJxWbOdbYsjko54xbNG+bR8njfVi1o9rFO9TTpkdG2f602w3BhRaXN91SOWOiYu42rj5fqTeTbrRkb3NvusGRY5S9Rgj5vtbi8LTfa4UZJa3Ga147qV0ZPjVnnOQ+5wiqgLrbPBfHtwkWWukNRmu0kO61FGIQ67z1MWu0bcFXb7vrR5ctW529sKklGot1X4gqU+I+42ud4036sKllGMjUa71QJDda3Jg1ZoU4SM4rR50o99y3wlcrVa6mGHFCmjeAfd5QnfNVncOnd5Sy9k9M5brnaFtQZo1+LLNuillN7bYLtO223Qayl9QEofkNIHpPQBKX1ASh+Q0gek9AEpoYNC5/gonCv0byekhN4RqvBRmCW0zwkZoS1CS/VX48M0wjJThTY7ISP0rldN1Ok7ZrnXSz4Mp7rfPfoLveI9J2RELTBRaJQ6m9zpj07O11Q7V9wCEWlRjfabKiprjlG2OSSf6bLaNaqVT5k17jBI3M3WiciIW+0fnjVA1I0qLPaow4ozxAKzpcW1uM4vxKQl7bVWqayoEpeZ6bDfi5suq12jWnHzveAyKXGvmmqLhLRc73naThc7Q9QnTDbN2xqEpstq16hWaIJfull/cQ1mut8BOTLye8HLbveAgaLKrFdvrt26NsLjrpPUbKElWuWV1pUPbLbKGcYKRGXNMcJWLZguq12jWpyqyk+MEddmhal+rU0X0rpz2M+9ZLTzRKWMM1fadl+X1a5RrWnWukaJuHpTrNaiG4FCXKvGSEl/8R8XabddqwmSGlSq06NAob7pQQMUrtkjFitIoHBnWmSGlJ61WanKAQUKFGeM5SboXr15dilCoHjXqjFSfg0q1SlSoDf6uUOVgeKaLbREq6IFeutM95mnn3bvW+5RTXolcDKGKnMe3vGGAz520v4HN6Zvz27hkx4AAAAASUVORK5CYII="},bag:{size:22,uri:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEIAAABCCAQAAABJXchjAAAC/UlEQVR4Ae3BXWiVZQAA4Od792m0UJhSQy+GdZHrSBDLrF0kDbuwELstUgmDfjToIgw0MRW7kSAQEiJJbwJBjcDALgx/yDCK/F8QFKbEmmKazZuQFqLf+c62c7b3bGeH78LncdcdidFN86ipJuZfpw0YRWI0r9qhMVbaqaYWtfXYK9EYSx11Xg1BLbPslWiUxF6z1BBUF+wxQyPNsEdQVYvqNlqu0TokDqsiVc0iG+QO22T8Nlkos8FR3xghMVK7c2bKXDFPv/Frd85MmSvm6TdMi+GCr82VGbTEWRNxww9WSNzWqtsug4ZoMdxmy+Q+8JmJOm+KhTIdgkOGCIbq8Z7cMe9rhA2Oya3XY4hEpXY/a5O57hVXNUabXabLXPWIfmWJSpfcrzkue0BZi9yHntUs92l10B1BrkszzVcW5P7STFeVBbmzmumsslR1PSbHIVWkqjusiYICCAogKIAgXqdOsTp1ipaK0+GAEnotdtHoOhxQQq/FLooQxFmr5JaSdcayVsktJetECeI8KFMylpLMHFGCONdk5hvLEzLXRAni9Mu0mmM0D7lXpk+UIM4puceMpkvupChBnK/k1kvVMsVauQOiBHEuOSfzuI/Usk2XzCmXRQlibZN7y1ZTDXePrd6Q2yZSEOtTvXJrnPakSvP1WiN30k6RUrEGvei4Vpm5jut1xLemesrTSird8LJBkVLxzlhun0olJW+qZple0YJ6fGG1QWP5zypfqkOqPtv9Yp/partuqSPqkqrXQQ/bbKXUSDftsFG/OqXq1+91W71kiQUStw363n67/WYcUuPzqy22SM3Wjj/1uWncUhNx0wUXTFhQAEEBBAUQFEBQAEEBBAUQFEBQAEEBBAUQFECQ65NrMxna5PqUBbkTcs+ZDM/L/aQslTsj97kFDhrQONMs8rbcGWWJSp94TXNst1pZUOkdf2iG372rQlBpwHLNsMINFVoMdd5u3WabPD96xglDJKpZ5QXdpmmsf3xnv4+NkKity3SN87cT7hrD/w1CmKiWHePxAAAAAElFTkSuQmCC"},plus:{size:17,uri:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAzCAQAAACQqPihAAAAz0lEQVR4Ae3BIVLDUBiF0S+XDrZLqE3dYwcgqzAVkSyARXQtVSBRlbADcLwtICur2slE8ZKKfzK96p1DVVVhd0Qltpz4I6Qh5pFPek98ESBiXhh0hIiYM4N7QoSFsBAWwkJYCAthISyEhbAQFgvGWjYsmZYYPLBj2pEDmUJDqeWXudZk/hGljvk6CqL0xlxn9hQaxlo2LJn2TKL3wwfTjhzIFBaMZTLXrEj0vtkRICyEhbAQFsJCWAgLYSEshIWwEBYi5p3BnhtLvJKoqurmLoEZGakNbs0TAAAAAElFTkSuQmCC"},search:{size:20,uri:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAQAAACQ9RH5AAAD2UlEQVR4Ae3Ba2hVdQAA8N85N4uVbbdNp1ExI3siZBaVICwqTPOxJkX0dFAQRkEfioqooIIeBNH7TU8xorqFKT0QsQ/21KQoKkt3Mc3RXG5mq0zrw/HfvXeeM+92WV/y97PPPiMlUr16c03W4giHO8xGG/yo0ypL9RmySDXGu9gsZ8qyzNsW6TIEkb0Z42YL1Nmbfo+4T7cqRQbT6AbXOki1fvWg+21VhUi2k71jjKHabKY19iqSZY5XHKjSuwrW6NFjiyaNmpxijukq/eoC79iLSLoOzyn3i1s9b7s0o3W4U165y7xsUDlpWr0uFuzylDYf2CHdnz7xtEYniQRtltlgEDl7OtpydYI+Mzyq3+D6LbbSPPtLxNq9aqtMOQPVW2mcoNM0n6vOOgVtGiTqzPSiP2TIGehhZwnWOs1G1ev2knkaJZo0WCpDrNIxrhD0mW6Loek2S5/gKkfKEKt0t1hip7k6Dd13zrNTIuc+GWLlppgneMgKw7Pc44LznSJVrNy1gu3uMny32y64WqpYudmCe/UYvh4PCGZLFSuZbIzE3x5Xm4cEY02WIlYyU/CZbrX52WrBDCliJZMFS9VuieBEKWIlzYJVardK0CxFrKRZsEntNgrGShEraRZsUrtNgrFSxErGCH5Su02CvBSxki5Bs9qNF2yVIlbSJRinduMFm6WIlXQJxqndeMFmKWIlXYIpajdFsFmKWMlqwWy1my1YLUWs5E3BNA1q0+R0wWtSxErW+1YiskBtFogkvvKTFLFyiwU3aTB8Da4XLJYqVu4xOyUa3Gj4btEgsdOTUsXKrfes4HpTDc9U1wme0ClVrNJtfpcYZYkJhm6CJUZJ/O4OGXIqbTfaNIk6syzUbyiafKFJcI+3ZcgZ6ENzjZNocqF3davWcT7RLFijw18y5Ay0wxLz1UnkdfjUOtU413saBbu0KcqUs6deH7lcLLG/yxzvS1sM5lhPuMsBSiLTFfTKkJOmaIM2QWSSaxzlNz9IM8MdnnSCSKW8dgW9UkWynO01DSpts9THvrbOWkc7yvGmmmm0SrvEgqJWRSki2SZ63wRD9b0rvaBFUNSqaA852Xo8Y5dT7ada/e5xqe8VtMtL5LUr6DVAzmB2WO5lh5qkGovM9ZYd6FXQLi+R166gV4VINSa61CUmyrLWQi9ar1yLFVoERa2KykSqd5oOJ6lXr97BtunTZ4vPLfSxNC1WaBEUtSr6V2QktVihRVDUqmi3nJHUq6BdXiLvEG/aLTayis5QFFzkALvFRlqnVkWJRf6wW87I6/WGc4z1jfm2+Y+NcqL97PO/8g+Ihe5zzyrCeQAAAABJRU5ErkJggg=="},check:{size:16,uri:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAQAAAD9CzEMAAABVUlEQVR4Ae3Bu20UQQAA0Lde13AF0AQSLZglQISklphxAUAdyDOSJXIyMlIaOG0CLTAShBTgI1jGd+fznu+XgPY9k8nkP9A4pdfeWXjrizut0wk+mpl55oOFv86cSpAMGivOnUZ0rXrv1p0zpxBcq6JPVjSOFyRVlK1pHCtIqii7p3GcIKmibEPjGEFSRdkDGocLkirKHtQ4VJBUUTaicZggqaJsVGvVhc+C377ZLkqqKNuitXTuqydmXip644KkirKtzqxaGNy4NCZIqih7RGvpVvHKoPPT3KYoqa5kj2qt+q7oDJ4reuuCpIqyHbTW9YrOoFP0loKkirKdtO7rFZ1Bp+gNgqSKsh21NvWKzqBT9AiSKsp21npIr+gMOsVTSRVle2iMeSPbFGV7aY2Z++XCuivZnlrj5orOUpTtrbVNr+gMouwAre16P7zApRuTyWTyz/oDUB1ZN9kNGUEAAAAASUVORK5CYII="},file:{size:16,uri:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAQAAAD9CzEMAAABtElEQVR4Ad3Bv2rUcAAA4K+/ZndUXARBIp3cxEkQHYq4aOmiHQTvQH0GIw30DYTK3WhdgqBu/sHdQe2mzQNY6wM4V0oI5rze7+5yZNDv889bMm7DTZecNN03W56LWjLqlOeumMcD2yKWjXrjsvlct++LiZY13fPQ/G746ZMJEk23VF54ZM9kh0Zt46ljBU2XVB7bM4u+2raeYwVNJ1S+ms1QX22g5xjBYob6agM9Y4JFDfXVBnr+EixuqK820DMiaONAZUVl6IHawG0NQRu7KpvOqWy7r7alIdHGwKoja9aMO6MhaOOVD2aUiFmXS1VKmULtjmeumkEQk0vVUrk/Dlyz4aV9UyTa27Fj1KExQUymVCtlWkjEFAoLCjoWdCzoWCJmXS4VV8oUJgpicqlpUrmIoGNBTKY0TSkTkYgpFBYUdCzoWNCxRMy6XCqulClMFMTkUtOkchFBx4KYTGmaUiYiEVMoLCjoWNCxoGNB04HKijZWVH5oCJp2VTadM6/zNlU+a0g0Da06smZNe080BE0vfbCo195qWDbqnQvOau+9u35pWDLujpsuOm0+3330yo7/zm9pA1VwIYzMRQAAAABJRU5ErkJggg=="},message:{size:20,uri:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAQAAACQ9RH5AAAD+UlEQVR4Ae3Bf4iW9QEA8M/7vVfIS67uamWlcZW1cE7SrD8qNK2z2hzbXJ60QtoUrP5IiiiSKJIiCIoo65/KiDIz1jbJ+WtalDXH8kedyVwL71REa8w8Uy/jrDievu/zvK/v/X76z8/HCSf8WAr65wzXmORnGtSpU2efXfbZY7s1tuuHgr76rWtdbbTutVltueX6pKAvrrHQxfpmk7k26VVBby72pBv0x3dedZ+9elTQkwYLzFXUfwc1W60HBd1rtN4IlfZYYa1W++33pQb16l3kJtNUesgC3SrozgjrNcra4Qlrfaq6er93j0ZZy9zssKoKqhvufRdI7fegZ/XuNgv8RGqrKxxSRY1qhnvPKKnHzPC+vthooVNdLjrTWEtUUaOa1S4RtbvSq47qq04r7PJLQeIiRe84To3jNbtb9JUmG/XXR9aZbqjERC22q1Cj0lCrDJM4pMm/DMRuG8wSJH7lLV8oU6PSI64XzbHCQO10wA0SQ1zmeWWCcue5T/S2VwzG014WTXClMkG5eaKj5hisuTaL5isTZA1xq+hRrQbrqDmiXxgjI8j6tVMkDntcHrb4h+h+GUHWH0VLHJWPp0UzBCVB6izXiRbJy5s+lxhitJIgNUWQ+NQGeem0XDReSZC6UPSiPG0TjVMSpC4UrZenbaLxSoLUKNE+edommqAkSI0W7ZanA6JawQ+C6DTDJNp1ylOtqMO3fhBEQTREvk4WtSsJov/pkKh1ujydLDqoJEjtEDXKU62oXUmQahM1ytNwUbuSINUqapSnJtG/lQSpNtFUeZoqWqMkSK0RNblAXkb4qcQx7ygJUlttEt0lL9eLPnBYSZD1gugP6uTjDtEaGUHWazokak2Th5uNE62WEWQd9KGoQR4eE31oo4wgq95E0QcG714jRfOUCbKmi3bbYrAmelj0FxuUCbJmil4xWJda6SSJY+5SIUjVmyJaanDGWqdWtNBOFYpSzWokPtNi4Aru9Ihhon+a7zhFqZmixQbu5xaZINWiyRHHKYrOMFm0RLlz/MYXVvlKz05xr/myPjHZIVUURc2iT/xHdLqZZrpKAUf8yYveU03BZLNNd5KsVlPsV1VRNEP0ui4NbnSTq6VqzTJLq8Xa7LRXGxqd7Vznu8W5Ki1yjy91oyhxpomiVWZrNlV153lA7/5rtvV6UJCY5yn5WeAhvShKNOvJAR+71DC9+7/FnvGZXhV1GekK1R3wV0v93TFD/c5skxRU12mll7ylU58UdLndcyod8aal/qZcnXHGG2OMyyU22GqbTTbr0A9FXc6W1WGZ1y1TzUHveldiLFoMUFGXP3tAl6+t8IZlvtYXLQahIHGa63xjpcNO+JF8D+9X6jVU+QFxAAAAAElFTkSuQmCC"},chevron:{size:20,uri:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAQAAACQ9RH5AAABfklEQVR4Ae3BPWoWQQAA0LeZz9gMeA1rywFzBsVSELzDbpEUgj9osVuJN8gF7Af1ChIsxRsIgm1iJMWw7cxsCsF9z2632+3+eUG9p14bfHMrglrPnLvviYMvbkFQ59hH99w4EWWbHal1rRjNNgvqXPnlkSK547NNglpfRUlxIso2COplUVIkUdYtaJFFSZFEWaegTRYlRRJlXYJWWZQUSZR1CNplUVIkUdYs6JFFSZFEWaOgTxYlRRJlTYJeWZQUSZQ1CPplUVIkUVYt2CKLkiKJskrBNtldDxXJDxeqBFt9EiXFAx/8UeHIdr9dKq5VOtjqrVOrFy5VOdhmNlotzlUabDEbrRaTaoN+s9FqMWkw6DUbrRaTJoM+s9FqMWk06DEbrRaTZoN2s9FqMekwaDUbrRaTLoM2s9FqMek0aDEbrRaTboN6s9FqMdngoNZzo9U7ZzY5UufYS6vFmY2O1LpWLCabBXWu/PTYjTdO3YKg1oXvDl55b7fb7Xb/ib+2W04he97hEgAAAABJRU5ErkJggg=="},close:{size:24,uri:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAQAAAD/5HvMAAAC6UlEQVR4Ae3BQYoVRwAA0DdV4saF4jplEOYAVsClV8ghijYgQiArB/fJDcRFz7QHcJPYvfcIuYvgwo0VBhm6Ysb+3T3u8t9zdHR0dHR0dOTUqe/h1KmDTiw78cozvPZctd+JV57hteeqBdGyP/zm0mPJaK/g3C8uPRa9tyBYcs+ZK8W5E3sEveLKmTsWBEtuOzErzp3YKugVs1uiBdGSjx56ZJb94J1tLhStC28tiJa9k2SznzwwWis4V7QGTy2KllWTJJtlyWiNoFe0Bp1qUXRINUmyWZaMDgl6RWvQqQ6IDqsmSTbLktGSoFe0Bp3qoGiNapJksywZfUvQK1qDTrVCtE41SbJZloyuE/SK1qBTrRKtVU2SbJYlo68FvaI16FQrRetVkySbZcmoFfSK1qBTrRZtUU2SbJYloytBr2gNOtUG0TbVJMlmWTK6FPSK1qBTbRJtVU2SbJYlo6BXtAadaqNou2qSZLPsgZ8VrUGn2izao5ok2SzLWoNOtUO0TzVJsusNOtUu0V7VJMn+a9Cpdor2qyYPZP/2RqfaLfjeqhuJ9gt6xdeyZLRbtFfQK66TJaOdon2CXvEtWTLaJdoj6BWtN/6WzbJktEO0XdArWoPOKMlmWTLaLNoq6BWtQaeqJkk2y5LRRtE2Qa9oDTrVpWqSZLMsGW0SbRH0itagU12pJkk2y5LRBtF6Qa9oDTpVq5ok2SxLRqtFawW9ojXoVF+rJkk2y5LRStE6Qa9oDTrVdapJks2yZLRKtEbQK1qDTvUt1STJZlkyWiE6LOgVrUGnWlJNkmyWJaODokOCXtEadKpDqkmSzbJkdEC0LOgVrUGnWqOaJNksS0aLomW/+1Vr0KnWqiZJNsui9xYES+450xp0qi0+e2rQOnPHgmDJbSdmg0611WdPDWa3RAuiJR899MgXFzr7VO/8KPviwlsLomV/+uCJT1546Sb+8sETn7zw0o3dd9f3cN9dR0dHR0dHR/97/wCCc9FG6sbg8AAAAABJRU5ErkJggg=="},flask:{size:56,uri:"data:image/png;base64,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"},syringe:{size:56,uri:"data:image/png;base64,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"},bowl:{size:56,uri:"data:image/png;base64,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"}};function face(f,weight){return f?typeof f=="string"?{fontFamily:f,fontWeight:weight}:{fontFamily:weight==="700"?f.bold??f.regular:weight==="500"?f.medium??f.regular:f.regular}:{fontWeight:weight}}function makeKit(options){let views=/* @__PURE__ */new Map,texts=/* @__PURE__ */new Map,types=/* @__PURE__ */new Map,type=key=>{let s=types.get(key);if(!s){let{fontWeight:fontWeight,...rest}=PHONE_TEXT[key];s={...rest,...face(PHONE_DECOR[key].font==="mono"?options.fonts?.mono:options.fonts?.sans,fontWeight)},types.set(key,s)}return s};return{options:options,v(key){let s=views.get(key);return s||(s={...PHONE_BOX[key]},views.set(key,s)),s},t(key){let s=texts.get(key);return s||(s={...PHONE_BOX[key],...type(key)},texts.set(key,s)),s},tx:type}}var DEFAULT_KIT=makeKit({}),KitContext=createContext(DEFAULT_KIT);function ShopKitProvider({fonts:fonts,renderIcon:renderIcon,children:children}){let kit=useMemo(()=>makeKit({...fonts?{fonts:fonts}:{},...renderIcon?{renderIcon:renderIcon}:{}}),[fonts,renderIcon]);return createElement(KitContext.Provider,{value:kit},children)}function useKit(){return useContext(KitContext)}function inkOf(key){return PHONE_TEXT[key].color??"#000000"}function Decor({k:k}){let d=PHONE_DECOR[k],radius=PHONE_BOX[k].borderRadius??0,out=[];if(d.ring){let ring=Platform.OS==="web"?{boxShadow:`inset 0 0 0 ${d.ring.width}px ${d.ring.color}`}:{borderWidth:d.ring.width,borderColor:d.ring.color};out.push(createElement(View,{key:"ring",pointerEvents:"none",style:[{position:"absolute",top:0,right:0,bottom:0,left:0,borderRadius:radius},ring]}))}return d.insetBottom&&out.push(createElement(View,{key:"bar",pointerEvents:"none",style:{position:"absolute",right:0,bottom:0,left:0,height:d.insetBottom.width,backgroundColor:d.insetBottom.color}})),d.lineTop&&out.push(createElement(View,{key:"top",pointerEvents:"none",style:{position:"absolute",right:0,top:-d.lineTop.width,left:0,height:d.lineTop.width,backgroundColor:d.lineTop.color}})),d.lineBottom&&out.push(createElement(View,{key:"bottom",pointerEvents:"none",style:{position:"absolute",right:0,bottom:-d.lineBottom.width,left:0,height:d.lineBottom.width,backgroundColor:d.lineBottom.color}})),out.length?out:null}function dropShadow(k){let d=PHONE_DECOR[k].drop;return d?Platform.OS==="web"?{boxShadow:`${d.x}px ${d.y}px ${d.blur}px ${d.spread}px ${d.color}`}:{shadowColor:d.color,shadowOpacity:1,shadowRadius:d.blur/2,shadowOffset:{width:d.x,height:d.y}}:null}function Icon({name:name,size:size,color:color,style:style}){let own=useKit().options.renderIcon?.({name:name,size:size,color:color});if(own!=null)return createElement(View,{style:[{width:size,height:size},style],pointerEvents:"none"},own);let img=[{width:size,height:size,tintColor:color},style];return createElement(Image,{source:{uri:PHONE_ICONS[name].uri},style:img,accessible:false,importantForAccessibility:"no",resizeMode:"contain"})}function PartIcon({name:name,k:k,inkKey:inkKey,style:style}){let box=PHONE_BOX[k];return createElement(Icon,{name:name,size:box.width??24,color:inkOf(inkKey??k),style:[box.marginTop?{marginTop:box.marginTop}:null,style]})}function T({k:k,style:style,children:children,lines:lines,role:role,bare:bare}){let kit=useKit();return createElement(Text,{style:[bare?kit.tx(k):kit.t(k),wrapStyle(k),style],...wrapOf(k),...lines?{numberOfLines:lines}:{},...role?{accessibilityRole:role}:{}},children)}function wrapOf(k){return PHONE_DECOR[k].wrap?Platform.OS==="web"?{}:Platform.OS==="ios"?{lineBreakStrategyIOS:"standard"}:{textBreakStrategy:"balanced"}:{}}function wrapStyle(k){let w=PHONE_DECOR[k].wrap;return w&&Platform.OS==="web"?{textWrap:w}:null}function underline(k){let off=PHONE_DECOR[k].underlineOffset;return off?{textUnderlineOffset:off}:{}}function Press({onPress:onPress,disabled:disabled,label:label,style:style,children:children,role:role="button",selected:selected}){return createElement(Pressable,{onPress:disabled?void 0:onPress,disabled:disabled===true,accessibilityRole:role,...label?{accessibilityLabel:label}:{},accessibilityState:{disabled:disabled===true,...selected!==void 0?{selected:selected,checked:selected}:{}},style:style},children)}function phoneLabel(label){return label.replace(/\s*→$/,"")}var TAB_ROUTE={package:{name:"package"},shop:{name:"shop"},orders:{name:"orders"},plan:{name:"plan"}};function tabLabel(copy,tab){return tab==="package"?copy.tabPackage:tab==="shop"?copy.tabShop:tab==="orders"?copy.tabOrders:copy.tabPlan}function CareTabs({copy:copy,current:current,tabs:tabs}){let kit=useKit(),nav=useShopNativeNav();/* @__PURE__ */
5
5
  return jsxs(View,{style:[kit.v("subtabs"),{flexDirection:"row",zIndex:1}],accessibilityRole:"tablist",accessibilityLabel:copy.tabsLabel,testID:"shop-subtabs",children:[tabs.map(tab=>{let on=tab===current,k=on?"subtabCurrent":"subtab";/* @__PURE__ */
6
6
  return jsxs(Press,{role:"tab",selected:on,onPress:()=>nav.go(TAB_ROUTE[tab]),style:[kit.v(k),{flex:1,alignItems:"center",justifyContent:"center"}],children:[
7
7
  /* @__PURE__ */jsx(T,{k:k,bare:true,children:tabLabel(copy,tab)}),
@@ -203,7 +203,7 @@ return jsx(Press,{role:"tab",selected:f.current,...f.to?{onPress:()=>nav.go(f.to
203
203
  /* @__PURE__ */jsxs(View,{style:[kit.v("sectionHead"),{flexDirection:"row",flexWrap:"wrap",alignItems:"center",justifyContent:"space-between"}],children:[
204
204
  /* @__PURE__ */jsx(T,{k:"cardTitleInHead",role:"header",children:s.title}),s.link?/* @__PURE__ */jsx(ShopLinkText,{link:s.link}):null]}),
205
205
  /* @__PURE__ */jsx(Prods,{children:s.tiles.map(t=>/* @__PURE__ */jsx(Tile,{tile:t},t.key))})]},s.key)):null,more?.loading?/* @__PURE__ */jsx(GhostTiles,{n:2}):null,more?.failed?/* @__PURE__ */jsx(LoadFailed,{copy:copy,thing:copy.thingShop,retry:more.onMore}):null,shelves.phase==="ready"&&view.empty?/* @__PURE__ */jsx(View,{accessibilityLiveRegion:"polite",children:/* @__PURE__ */jsx(T,{k:"cardLead",children:view.empty})}):null]}),
206
- /* @__PURE__ */jsx(Legal,{line:view.legal})]})}function useCartCheckout(items,go,cardHandoff=null){let{client:client,copy:copy,v3:v3,payments:payments}=useShop(),addresses=useAddresses(),cards=usePaymentMethods(),[open,setOpen]=useState(false),[pane,setPane]=useState("main"),[addressRef,setAddressRef]=useState(()=>peekAddedAddress(client));useEffect(()=>dropAddedAddress(client),[client]);let[cardId,setCardId]=useState(null),[error,setError]=useState(null),usable=(addresses.value??[]).filter(a=>a.isComplete),address=usable.find(a=>a.ref===addressRef)??usable.find(a=>a.isDefault)??usable[0]??null,cardList=cards.value??[],card=cardList.find(c=>c.paymentMethodId===cardId)??cardList[0]??null,lines=useMemo(()=>cartLines(items),[items]),linesKey=JSON.stringify(lines),quote=useShopRead(address&&lines.length>0?`cart-quote:${address.ref}:${linesKey}`:null,()=>client.quote({lines:lines,shipTo:address.ref})),[shown,setShown]=useState(null),draftKey=`${address?.ref??""}:${linesKey}`,shownTotal=shown&&shown.key===draftKey?shown.total:null,placeRef=useRef(()=>{}),nameStep=useNameStep(()=>placeRef.current()),placeAction=useShopAction(async keys=>{let draft=await client.createCheckout({idempotencyKey:keys.key("draft"),lines:lines,shipTo:address.ref});if(!draft.ok)return omsErr(draft.error);if((shownTotal??quote.value?.total??null)!==draft.value.total)return setShown({key:draftKey,total:draft.value.total}),omsErr({kind:"refused",status:409,reasonCode:"price_changed",message:null});let out=await confirmWithPayerActions(idempotencyKey=>client.confirmCheckout(draft.value.checkoutId,{idempotencyKey:idempotencyKey,expectedTotal:draft.value.total,paymentMethodId:card.paymentMethodId}),keys,payments);return out.kind==="failed"?omsErr(out.error):omsOk(out)}),place2=()=>{if(!address||!card||!quote.value||placeAction.busy)return;setError(null),nameStep.clear();let placedKeys=items.map(i=>i.key);placeAction.run().then(res=>{if(!res)return;let out=res.ok?res.value:{kind:"failed",error:res.error};if(out.kind==="failed"){if(nameStep.raise(out.error))return;setError(outcomeLine(copy,out));return}if(out.orderIds.length===0){setError(copy.actionFailed);return}if(removePlaced(client,placedKeys),setOpen(false),setPane("main"),out.kind==="confirmed"){go({name:"placed",orderIds:out.orderIds});return}leaveOrderNotice(client,out.orderIds[0],outcomeLine(copy,out)),go({name:"order",orderId:out.orderIds[0]})})};placeRef.current=place2;let[cardBusy,setCardBusy]=useState(false),before=useRef(null);useEffect(()=>{if(!before.current||cards.phase!=="ready"||!cards.value)return;let added=cards.value.find(c=>!before.current.has(c.paymentMethodId));before.current=null,added&&setCardId(added.paymentMethodId)},[cards.phase,cards.value]);let addCard=cardHandoff?{busy:cardBusy,run:()=>{if(cardBusy)return;setCardBusy(true),setError(null);let ids=new Set(cardList.map(c=>c.paymentMethodId));cardHandoff().then(step=>{setCardBusy(false),step.ok?(before.current=ids,setPane("main"),cards.refresh()):setError(step.closed?copy.cardStepClosed:step.message??copy.cardStepFailed)},()=>{setCardBusy(false),setError(copy.cardStepFailed)})}}:null,save=useShopAction((_keys,input)=>client.addAddress(input)),saveAddress={busy:save.busy,error:save.error?refusalLine(copy,save.error):null,run:input=>{save.run(input).then(res=>{res&&res.ok&&(setAddressRef(res.value.ref),setPane("main"),addresses.refresh())})}},sub=cartSubtotal(items),q=quote.value,totalCents=shownTotal??q?.total??null,sum=[];sub!==null&&sum.push({k:v3.subtotal,v:formatCents(sub)}),q&&totalCents!==null&&(sum.push({k:v3.shipping,v:q.shipping===0?v3.free:formatCents(q.shipping)}),sum.push({k:v3.tax,v:formatCents(q.tax)}),sum.push({k:v3.total,v:formatCents(totalCents),total:true}));let rx=items.some(i=>i.requiresRx),fineParts=[card?copy.chargedWhenShips(cardLabel(card.brand,card.last4)):null,rx?copy.rxCheckedFirst:null].filter(x=>!!x);return{open:open,pane:pane,setPane:setPane,openSheet:()=>{setError(null),setPane("main"),setOpen(true)},closeSheet:()=>{placeAction.busy||(setOpen(false),setPane("main"))},addresses:[...usable].sort((a,b)=>Number(b.isDefault)-Number(a.isDefault)),addressesLoading:addresses.phase==="loading",address:address,chooseAddress:ref=>{setAddressRef(ref),setPane("main")},cards:cardList,cardsLoading:cards.phase==="loading",card:card,chooseCard:id=>{setCardId(id),setPane("main")},addCard:addCard,saveAddress:saveAddress,sum:sum,subtotal:sub!==null?formatCents(sub):null,total:totalCents!==null?formatCents(totalCents):null,canPlace:!!address&&!!card&&!!q&&items.length>0&&!placeAction.busy,placing:placeAction.busy,place:place2,error:nameStep.view!==null?null:error??quoteLine(copy,quote),nameStep:nameStep.view,fine:fineParts.length>0?fineParts.join(" "):null}}var freezeInPlace=Object.freeze;function deepFreeze(value){if(value!==null&&typeof value=="object"&&!Object.isFrozen(value)){freezeInPlace(value);for(let key of Object.keys(value))deepFreeze(value[key])}return value}var TEXT_SCALE_TIER_CAPS=/* @__PURE__ */Object.freeze({content:0,heading:2,control:1.8,compact:1.5,badge:1.3}),SPACE={xs:4,sm:8,md:12,lg:16,xl:24,xxl:32},RADIUS={tile:5,xs:6,sm:10,md:14,lg:20,xl:28,pill:500},TYPE_SIZE={nano:8,small:9,micro:10,tiny:11,caption:13,bodyTight:15,body:17,subtitle:20,heading:22,verdict:24},LINE_HEIGHT={tight:1.15,snug:1.3,normal:1.4,relaxed:1.55},WEIGHT={regular:"400",medium:"500",bold:"700"},LETTER_SPACING={eyebrow:1,monoWide:.9,headerBrand:-.42,tight:-.35},DEFAULT_MAX_FONT_SCALE=0,SYSTEM_FONT_FAMILY="System",SYSTEM_MONO_FAMILY="monospace",TIERS=["content","heading","control","compact","badge"];function authoredTierSizes(size){let out={};for(let tier of TIERS)out[tier]=size;return out}var NO_FONT_SOURCES=[];function baseType(){return{family:SYSTEM_FONT_FAMILY,mono:SYSTEM_MONO_FAMILY,fontUrl:null,families:{regular:SYSTEM_FONT_FAMILY,medium:SYSTEM_FONT_FAMILY,bold:SYSTEM_FONT_FAMILY,mono:SYSTEM_MONO_FAMILY,monoMedium:SYSTEM_MONO_FAMILY,monoBold:SYSTEM_MONO_FAMILY},namedFaces:{regular:false,medium:false,bold:false,mono:false,monoMedium:false,monoBold:false},fontUrls:{},size:TYPE_SIZE,tierSizes:authoredTierSizes(TYPE_SIZE),lineHeight:LINE_HEIGHT,weight:WEIGHT,letterSpacing:LETTER_SPACING,scale:1,maxScale:DEFAULT_MAX_FONT_SCALE,scaleCaps:TEXT_SCALE_TIER_CAPS,headingFamily:null,headingWeight:null,fontSources:NO_FONT_SOURCES}}var NO_SLOTS={},EASING_CURVES=/* @__PURE__ */Object.freeze({standard:/* @__PURE__ */Object.freeze([.2,0,0,1]),emphasized:/* @__PURE__ */Object.freeze([.2,.8,.2,1]),exit:/* @__PURE__ */Object.freeze([.4,0,1,1])});function cssCubicBezier(curve){return`cubic-bezier(${curve.join(", ")})`}var MOTION={duration:{instant:80,fast:140,normal:220,slow:320},spring:{gentle:{damping:18,stiffness:200}},easing:{standard:cssCubicBezier(EASING_CURVES.standard),emphasized:cssCubicBezier(EASING_CURVES.emphasized),exit:cssCubicBezier(EASING_CURVES.exit)},reducedMotion:false},LIGHT_COLOR={brand:"#10462E",brandSoft:"rgba(16,70,46,0.10)",brandSofter:"rgba(16,70,46,0.15)",brandBorder:"rgba(16,70,46,0.18)",borderHairlineGreen:"rgba(16,70,46,0.25)",brandBorderStrong:"rgba(16,70,46,0.55)",brandInk:"#10462E",linkInk:"#10462E",surface:"#FFFFFF",surfaceCream:"#FFFFFF",surfaceSubtle:"#F1F5F2",background:"#FFFFFF",borderRingCream:"#E4E4E4",chatGround:"#FFFFFF",composerFill:"#FFFFFF",composerBorder:"rgba(16,70,46,0.75)",shadow:"#0B3421",text:{primary:"#000000",secondary:"#0E462E",muted:"#6B6B6B",placeholder:"rgba(61,61,61,0.75)",onBrand:"#FFFFFF",metaCool:"#3D3D3D",timestamp:"rgba(61,61,61,0.75)"},primary:"#10462E",onPrimary:"#FFFFFF",accent:"#10462E",onAccent:"#FFFFFF",accentEdge:"#07C168",success:"#07C168",danger:"#C03410",onDanger:"#FFFFFF",errorRed:"#C03410",warningStrong:"#A45610",cautionAccent:"#D9821D",riskConcern:"#EFA700",sentiment:{up:"#07C168",neutral:"#FBC558",down:"#FF1B00"},badgeBgPositive:"rgba(7,193,104,0.12)",badgeBgCaution:"rgba(217,130,29,0.14)",badgeBgCritical:"rgba(192,52,16,0.06)",badgeBgNeutral:"rgba(107,107,107,0.12)",bubbleUser:"#10462E",bubbleAssistant:"#FFFFFF",bubbleVet:"#FFC3BC",onBubbleVet:"#000000",skeleton:"#E9F1E9",scanButtonPink:"#FFC3BC",highlight:"#FFC3BC",onHighlight:"#000000",mark:"#07C168",controlEdge:"rgba(16,70,46,0.18)",structureEdge:"rgba(16,70,46,0.25)",primaryEdge:"#10462E",checkupCardLowRiskBg:"rgba(7,193,104,0.10)",checkupCardConcernBg:"rgba(239,167,0,0.10)",info:"#10462E",badgeBgInfo:"rgba(16,70,46,0.10)",infoEdge:"rgba(16,70,46,0.25)"},EVERFUR_LIGHT=deepFreeze({brightness:"light",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false,assistantAvatarUrl:null},color:LIGHT_COLOR,space:SPACE,radius:RADIUS,type:baseType(),motion:MOTION,slots:NO_SLOTS}),DARK_COLOR={brand:"#6BD39A",brandSoft:"rgba(107,211,154,0.12)",brandSofter:"rgba(107,211,154,0.18)",brandBorder:"rgba(107,211,154,0.22)",borderHairlineGreen:"rgba(107,211,154,0.28)",brandBorderStrong:"rgba(107,211,154,0.55)",brandInk:"#6BD39A",linkInk:"#6BD39A",surface:"#1C1F23",surfaceCream:"#23272C",surfaceSubtle:"#23272C",background:"#15171A",borderRingCream:"#3A3F45",chatGround:"#1C1F23",composerFill:"#23272C",composerBorder:"rgba(107,211,154,0.75)",shadow:"#000000",text:{primary:"#F5F3F0",secondary:"#A9E4C4",muted:"#9A9A9A",placeholder:"rgba(255,255,255,0.55)",onBrand:"#0E1F17",metaCool:"#C9C9C9",timestamp:"rgba(245,243,240,0.7)"},primary:"#6BD39A",onPrimary:"#0E1F17",accent:"#6BD39A",onAccent:"#0E1F17",accentEdge:"#34D888",success:"#07C168",danger:"#F87171",onDanger:"#0E1F17",errorRed:"#FF6B5B",warningStrong:"#F0A35E",cautionAccent:"#D9821D",riskConcern:"#EFA700",sentiment:{up:"#07C168",neutral:"#FBC558",down:"#FF1B00"},badgeBgPositive:"rgba(7,193,104,0.18)",badgeBgCaution:"rgba(217,130,29,0.20)",badgeBgCritical:"rgba(185,28,28,0.22)",badgeBgNeutral:"rgba(255,255,255,0.10)",bubbleUser:"#6BD39A",bubbleAssistant:"#1C1F23",bubbleVet:"#FFC3BC",onBubbleVet:"#000000",skeleton:"#23272C",scanButtonPink:"#FFC3BC",highlight:"#605051",onHighlight:"#F5F3F0",mark:"#07C168",controlEdge:"rgba(107,211,154,0.22)",structureEdge:"rgba(107,211,154,0.28)",primaryEdge:"#6BD39A",checkupCardLowRiskBg:"rgba(7,193,104,0.16)",checkupCardConcernBg:"rgba(239,167,0,0.16)",info:"#6BD39A",badgeBgInfo:"rgba(107,211,154,0.12)",infoEdge:"rgba(107,211,154,0.28)"};deepFreeze({brightness:"dark",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false,assistantAvatarUrl:null},color:DARK_COLOR,space:SPACE,radius:RADIUS,type:baseType(),motion:MOTION,slots:NO_SLOTS});var EVERFUR_THEME_CONTEXT_SYMBOL=/* @__PURE__ */Symbol.for("@everfur/sdk#EverfurThemeContext@v1"),globalThemeHost=globalThis,EverfurThemeContext=globalThemeHost[EVERFUR_THEME_CONTEXT_SYMBOL]??(globalThemeHost[EVERFUR_THEME_CONTEXT_SYMBOL]=createContext(EVERFUR_LIGHT));EverfurThemeContext.displayName??="EverfurThemeContext";function useEverfurTheme(){return useContext(EverfurThemeContext)}function tierMultiplier(type,tier){let cap=type.scaleCaps[tier];return cap>0?cap:void 0}function Text4({tier:tier="content",...props}){let{type:type}=useEverfurTheme(),cap=tierMultiplier(type,tier);return createElement(Text,cap===void 0?props:{maxFontSizeMultiplier:cap,...props})}var TextInput3=forwardRef(function(props,ref){return createElement(TextInput,{...props,...ref===null?{}:{ref:ref}})});var RAPH_RN_PLAN_ICONS=/* @__PURE__ */Object.freeze({shield:{strokes:[{width:1.8,cap:true,closed:true,points:[12,3,19,6,19,12,18.759,14.125,18.074,16,17,17.625,15.593,19,13.907,20.125,12,21,10.093,20.125,8.407,19,7,17.625,5.926,16,5.241,14.125,5,12,5,6]},{width:1.8,cap:true,closed:false,points:[9,12,11,14,15,10]}],boxes:[],triangles:[],seams:[]},arrow:{strokes:[{width:2,cap:true,closed:false,points:[4.5,12,19,12]},{width:2,cap:true,closed:false,points:[13.5,6.5,19,12,13.5,17.5]}],boxes:[],triangles:[],seams:[]},check:{strokes:[{width:2.4,cap:true,closed:false,points:[5,12.6,9.4,17,19,7.4]}],boxes:[],triangles:[],seams:[]},star:{strokes:[],boxes:[],triangles:[[12,16.9,6.8,19.6,7.8,13.8],[16.2,13.8,17.2,19.6,12,16.9],[7.8,13.8,3.5,9.7,9.4,8.8],[14.6,8.8,20.5,9.7,16.2,13.8],[9.4,8.8,12,3.5,14.6,8.8],[16.2,13.8,12,16.9,7.8,13.8],[14.6,8.8,16.2,13.8,7.8,13.8],[14.6,8.8,7.8,13.8,9.4,8.8]],seams:[[12,16.9,7.8,13.8,.245,.677],[12,16.9,16.2,13.8,.245,.677],[7.8,13.8,9.4,8.8,.69,.248],[14.6,8.8,16.2,13.8,.248,.243],[14.6,8.8,9.4,8.8,.68,.245],[16.2,13.8,7.8,13.8,.677,.68],[14.6,8.8,7.8,13.8,.68,.69]]},truck:{strokes:[{width:1.7,cap:false,closed:true,points:[2.8,6.5,14.2,6.5,14.2,16,2.8,16]},{width:1.7,cap:false,closed:false,points:[14.2,9.5,17.8,9.5,21.2,12.9,21.2,16,14.2,16]}],boxes:[{x:5,y:15.8,w:3.6,h:3.6,radius:1.8,width:1.7},{x:15.4,y:15.8,w:3.6,h:3.6,radius:1.8,width:1.7}],triangles:[],seams:[]},refresh:{strokes:[{width:1.7,cap:true,closed:false,points:[4,12,4.343,14.363,5.368,16.52,6.985,18.278,9.048,19.48,11.374,20.021,13.756,19.85,15.981,18.984,17.852,17.5,19.201,15.53,19.909,13.249,19.912,10.861,19.21,8.578,17.865,6.605,15.998,5.116,13.775,4.245,11.393,4.068,9.066,4.602,7,5.8]},{width:1.7,cap:true,closed:false,points:[4,4,4,8,8,8]}],boxes:[],triangles:[],seams:[]},card:{strokes:[{width:1.7,cap:true,closed:false,points:[3,9.5,21,9.5]},{width:1.7,cap:true,closed:false,points:[6.5,15,10.5,15]}],boxes:[{x:3,y:5.5,w:18,h:13,radius:2.2,width:1.7}],triangles:[],seams:[]},alert:{strokes:[{width:1.9,cap:true,closed:true,points:[12,3.5,21.5,20,2.5,20]},{width:1.9,cap:true,closed:false,points:[12,10,12,14.5]},{width:1.9,cap:true,closed:false,points:[12,17.2,12.01,17.2]}],boxes:[],triangles:[],seams:[]},x:{strokes:[{width:2,cap:true,closed:false,points:[6.5,6.5,17.5,17.5]},{width:2,cap:true,closed:false,points:[17.5,6.5,6.5,17.5]}],boxes:[],triangles:[],seams:[]},chat:{strokes:[{width:1.7,cap:false,closed:true,points:[5,5.2,19,5.2,19.8,5.414,20.386,6,20.6,6.8,20.6,15.4,20.386,16.2,19.8,16.786,19,17,10.3,17,5.5,20.6,5.5,17,5,17,4.2,16.786,3.614,16.2,3.4,15.4,3.4,6.8,3.614,6,4.2,5.414,5,5.2]}],boxes:[],triangles:[],seams:[]},repeat:{strokes:[{width:1.8,cap:true,closed:false,points:[4.5,11,4.824,8.824,5.766,6.837,7.244,5.208,9.131,4.077,11.264,3.543,13.461,3.65,15.533,4.391,17.3,5.7,19.5,8]},{width:1.8,cap:true,closed:false,points:[19.5,3.5,19.5,8,15,8]},{width:1.8,cap:true,closed:false,points:[19.5,13,19.176,15.176,18.234,17.163,16.756,18.792,14.869,19.923,12.736,20.457,10.539,20.35,8.467,19.609,6.7,18.3,4.5,16]},{width:1.8,cap:true,closed:false,points:[4.5,20.5,4.5,16,9,16]}],boxes:[],triangles:[],seams:[]},calendar:{strokes:[{width:1.8,cap:true,closed:false,points:[4,10,20,10]},{width:1.8,cap:true,closed:false,points:[8.5,3.5,8.5,7.5]},{width:1.8,cap:true,closed:false,points:[15.5,3.5,15.5,7.5]}],boxes:[{x:4,y:5.5,w:16,h:15,radius:2.5,width:1.8}],triangles:[],seams:[]},flame:{strokes:[],boxes:[],triangles:[[12.15,14.513,13.1,15.2,13.1,13.7],[11.5,13.3,12.15,14.513,13.1,13.7],[16.874,10.907,15.7,9.3,15.381,10.659],[14.7,16.7,16.838,18.516,17.693,16.84],[14.7,16.7,14.489,17.681,16.838,18.516],[18,14.9,14.507,15.633,17.693,16.84],[16.874,10.907,15.381,10.659,14.685,11.707],[17.693,12.759,16.874,10.907,14.685,11.707],[15.538,19.832,16.838,18.516,14.489,17.681],[14.685,11.707,13.959,14.633,17.693,12.759],[17.693,12.759,13.959,14.633,18,14.9],[13.891,20.692,13.055,19.006,12,21],[12,21,12,19.2,10.109,20.692],[8.462,19.832,10.109,20.692,10.659,18.863],[10.659,18.863,9.741,17.97,8.462,19.832],[6.307,16.84,9.602,15.677,6,14.9],[6.273,13.033,6,14.9,9.602,15.677],[9.602,15.677,10.113,14.812,6.273,13.033],[6.988,11.438,6.273,13.033,10.113,14.812],[13.525,7.088,12.856,5.017,12,3.5],[13.856,9.589,13.525,7.088,12,3.5],[13.7,12.4,13.856,9.589,12,3.5],[10.113,14.812,10.792,14.042,6.988,11.438],[14.7,16.7,17.693,16.84,14.507,15.633],[13.7,12.4,13.959,14.633,14.685,11.707],[14.507,15.633,18,14.9,13.959,14.633],[13.1,13.7,13.959,14.633,13.7,12.4],[11.5,13.3,13.1,13.7,13.7,12.4],[7.983,10.048,6.988,11.438,10.792,14.042],[10.792,14.042,11.5,13.3,7.983,10.048],[14.489,17.681,13.913,18.475,15.538,19.832],[13.891,20.692,15.538,19.832,13.913,18.475],[13.891,20.692,13.913,18.475,13.055,19.006],[12,19.2,12,21,13.055,19.006],[10.659,18.863,10.109,20.692,12,19.2],[7.162,18.516,8.462,19.832,9.741,17.97],[9.741,17.97,9.4,16.7,7.162,18.516],[6.307,16.84,7.162,18.516,9.4,16.7],[6.307,16.84,9.4,16.7,9.602,15.677],[9.1,8.8,7.983,10.048,11.5,13.3],[11.5,13.3,13.7,12.4,9.1,8.8],[10.054,7.77,9.1,8.8,13.7,12.4],[10.927,6.683,10.054,7.77,13.7,12.4],[11.613,5.481,10.927,6.683,13.7,12.4],[12.006,4.106,11.613,5.481,13.7,12.4],[12,2.5,12.006,4.106,13.7,12.4],[12,2.5,13.7,12.4,12,3.5]],seams:[[12.15,14.513,13.1,13.7,.121,.428],[11.5,13.3,13.1,13.7,.681,.356],[15.381,10.659,16.874,10.907,.033,.883],[14.7,16.7,16.838,18.516,.648,1.318],[14.7,16.7,17.693,16.84,.648,1.533],[14.489,17.681,16.838,18.516,.51,1.318],[14.507,15.633,18,14.9,.782,1.787],[14.507,15.633,17.693,16.84,.782,1.533],[14.685,11.707,16.874,10.907,.68,.883],[14.685,11.707,17.693,12.759,.61,.484],[14.489,17.681,15.538,19.832,.51,1.115],[13.959,14.633,14.685,11.707,1.333,.576],[13.959,14.633,17.693,12.759,.851,.484],[13.959,14.633,18,14.9,.851,1.787],[13.055,19.006,13.891,20.692,.36,.984],[12,21,13.055,19.006,.945,.395],[12,19.2,12,21,.394,.945],[10.109,20.692,12,19.2,.715,.394],[10.109,20.692,10.659,18.863,.715,.428],[10.659,18.863,8.462,19.832,.428,.809],[8.462,19.832,9.741,17.97,.809,.525],[6.307,16.84,9.602,15.677,1.65,.812],[6,14.9,9.602,15.677,.194,1.012],[6.273,13.033,9.602,15.677,2.068,1.012],[10.113,14.812,6.273,13.033,1.217,2.068],[10.113,14.812,6.988,11.438,1.217,2.2],[12,3.5,13.525,7.088,4.697,5.571],[12,3.5,13.856,9.589,4.697,3.017],[12,3.5,13.7,12.4,4.648,26.765],[10.792,14.042,6.988,11.438,1.339,2.2],[13.7,12.4,13.959,14.633,.819,1.333],[13.1,13.7,13.7,12.4,0,.819],[11.5,13.3,13.7,12.4,.681,.537],[10.792,14.042,7.983,10.048,1.339,2.328],[11.5,13.3,7.983,10.048,1.438,2.328],[13.913,18.475,15.538,19.832,.409,1.115],[13.891,20.692,13.913,18.475,.984,.409],[7.162,18.516,9.741,17.97,.977,.525],[7.162,18.516,9.4,16.7,.977,.677],[6.307,16.84,9.4,16.7,1.65,.677],[11.5,13.3,9.1,8.8,1.438,1.129],[13.7,12.4,9.1,8.8,2.046,1.129],[10.054,7.77,13.7,12.4,.079,2.285],[10.927,6.683,13.7,12.4,.237,3.126],[11.613,5.481,13.7,12.4,.475,5.451],[12.006,4.106,13.7,12.4,.961,15.892],[12,2.5,13.7,12.4,2.974,26.765]]},box:{strokes:[{width:1.7,cap:false,closed:true,points:[3.8,7.8,12,4,20.2,7.8,20.2,16.4,12,20,3.8,16.4]},{width:1.7,cap:false,closed:false,points:[3.8,7.8,12,11.6,20.2,7.8]},{width:1.7,cap:false,closed:false,points:[12,11.6,12,20]}],boxes:[],triangles:[],seams:[]},cart:{strokes:[{width:1.8,cap:true,closed:false,points:[2.8,4,5.4,4,7.7,14.6,8.203,15.401,9.1,15.7,17.3,15.7,18.197,15.401,18.7,14.6,20.4,7.6,6.3,7.6]}],boxes:[{x:8.3,y:18.3,w:2.6,h:2.6,radius:1.3,width:1.8},{x:15.8,y:18.3,w:2.6,h:2.6,radius:1.3,width:1.8}],triangles:[],seams:[]},minus:{strokes:[{width:2.2,cap:true,closed:false,points:[6,12,18,12]}],boxes:[],triangles:[],seams:[]},plus:{strokes:[{width:2.2,cap:true,closed:false,points:[12,6,12,18]},{width:2.2,cap:true,closed:false,points:[6,12,18,12]}],boxes:[],triangles:[],seams:[]},chev:{strokes:[{width:2,cap:true,closed:false,points:[9,5.5,15.5,12,9,18.5]}],boxes:[],triangles:[],seams:[]},pulse:{strokes:[{width:1.8,cap:true,closed:false,points:[3,12.5,6.8,12.5,9.2,6.9,13.4,17.5,15.8,12.5,21,12.5]}],boxes:[],triangles:[],seams:[]},file:{strokes:[{width:1.7,cap:true,closed:true,points:[7,3.5,14.2,3.5,18.5,7.8,18.5,20,18.324,20.424,17.9,20.6,7,20.6,6.576,20.424,6.4,20,6.4,4.1,6.576,3.676,7,3.5]},{width:1.7,cap:true,closed:false,points:[14,3.6,14,8,18.4,8]},{width:1.7,cap:true,closed:false,points:[9.4,12.4,14.6,12.4]},{width:1.7,cap:true,closed:false,points:[9.4,15.8,14.6,15.8]}],boxes:[],triangles:[],seams:[]},kit:{strokes:[{width:1.7,cap:false,closed:true,points:[4,7.6,12,3.6,20,7.6,20,16.4,12,20.4,4,16.4]},{width:1.7,cap:false,closed:false,points:[4,7.6,12,11.6,20,7.6]},{width:1.7,cap:false,closed:false,points:[12,11.6,12,20.4]}],boxes:[],triangles:[],seams:[]},dna:{strokes:[{width:1.7,cap:true,closed:false,points:[7,3.5,7.28,4.645,8.04,5.594,9.16,6.394,10.52,7.097,12,7.75,13.48,8.403,14.84,9.106,15.96,9.906,16.72,10.855,17,12,16.72,13.145,15.96,14.094,14.84,14.894,13.48,15.597,12,16.25,10.52,16.903,9.16,17.606,8.04,18.406,7.28,19.355,7,20.5]},{width:1.7,cap:true,closed:false,points:[17,3.5,16.72,4.645,15.96,5.594,14.84,6.394,13.48,7.097,12,7.75,10.52,8.403,9.16,9.106,8.04,9.906,7.28,10.855,7,12,7.28,13.145,8.04,14.094,9.16,14.894,10.52,15.597,12,16.25,13.48,16.903,14.84,17.606,15.96,18.406,16.72,19.355,17,20.5]},{width:1.7,cap:true,closed:false,points:[8.6,6.3,15.4,6.3]},{width:1.7,cap:true,closed:false,points:[8.6,17.7,15.4,17.7]},{width:1.7,cap:true,closed:false,points:[10.4,9.6,13.6,9.6]},{width:1.7,cap:true,closed:false,points:[10.4,14.4,13.6,14.4]}],boxes:[],triangles:[],seams:[]},heart:{strokes:[{width:1.8,cap:false,closed:true,points:[12,20.2,11.739,20.035,11.041,19.559,10.03,18.804,8.831,17.799,7.569,16.575,6.37,15.163,5.359,13.593,4.661,11.895,4.4,10.1,4.833,8.454,5.87,7.105,7.349,6.264,9.039,6.062,10.675,6.532,12,7.6,13.325,6.532,14.961,6.062,16.651,6.264,18.13,7.105,19.167,8.454,19.6,10.1,19.339,11.895,18.641,13.593,17.63,15.163,16.431,16.575,15.169,17.799,13.97,18.804,12.959,19.559,12.261,20.035,12,20.2]}],boxes:[],triangles:[],seams:[]},bottle:{strokes:[{width:1.7,cap:false,closed:true,points:[7.2,6.2,16.8,6.2,17.507,6.493,17.8,7.2,17.8,19.5,17.572,20.35,16.95,20.972,16.1,21.2,7.9,21.2,7.05,20.972,6.428,20.35,6.2,19.5,6.2,7.2,6.493,6.493,7.2,6.2]},{width:1.7,cap:false,closed:true,points:[9,11,15,11,15,16,9,16]}],boxes:[{x:8,y:2.8,w:8,h:3.4,radius:1,width:1.7}],triangles:[],seams:[]},harness:{strokes:[{width:1.5,cap:true,closed:false,points:[7.5,4.5,7.728,6.82,8.364,8.708,9.336,10.116,10.572,10.996,12,11.3,13.428,10.996,14.664,10.116,15.636,8.708,16.272,6.82,16.5,4.5]},{width:1.5,cap:true,closed:true,points:[5,12.6,19,12.6,19,17.2,18.692,18.35,17.85,19.192,16.7,19.5,7.3,19.5,6.15,19.192,5.308,18.35,5,17.2]},{width:1.5,cap:true,closed:false,points:[8.2,15.3,15.8,15.3]}],boxes:[{x:10.7,y:8.9,w:2.6,h:2.6,radius:1.3,width:1.5}],triangles:[],seams:[]},ramp:{strokes:[{width:1.5,cap:true,closed:false,points:[2.5,19.5,21.5,19.5]},{width:1.5,cap:true,closed:false,points:[3.5,19.5,3.5,16.5,8,16.5,8,13.5,12.5,13.5,12.5,10.5,17,10.5,17,7.5,20.5,7.5,20.5,19.5]},{width:1.5,cap:true,closed:false,points:[3.5,16.5,20.5,7.5],opacity:.35}],boxes:[],triangles:[],seams:[]}});var BOX=24,FINE=16,SEAM=.8,fine=dp=>Math.round(dp*FINE);function place(cx,cy,W,H,ux,uy){let left=cx-W/2,top=cy-H/2,x=Math.round(left),y=Math.round(top);return{position:"absolute",left:x,top:y,width:W,height:H,transform:[{translateX:left-x},{translateY:top-y},{rotate:`${Math.atan2(uy,ux)*180/Math.PI}deg`},{scale:1/FINE}]}}function strokePieces(icon,k,out){for(let s of icon.strokes){let w=s.width*k,pts=s.points,n=pts.length/2,last=s.closed?n:n-1;for(let i=0;i<last;i+=1){let j=(i+1)%n,px=(pts[i*2]??0)*k,py=(pts[i*2+1]??0)*k,dx=(pts[j*2]??0)*k-px,dy=(pts[j*2+1]??0)*k-py,len=Math.hypot(dx,dy);if(len===0&&!(n===2&&s.cap))continue;let ux=len===0?1:dx/len,uy=len===0?0:dy/len,e0=s.closed||i>0||s.cap?w/2:0,e1=s.closed||j!==n-1||s.cap?w/2:0,along=(len+e1-e0)/2;out.push({paint:"backgroundColor",style:{...place(px+ux*along,py+uy*along,fine(len+e0+e1),fine(w),ux,uy),borderTopLeftRadius:e0>0?fine(w)/2:0,borderBottomLeftRadius:e0>0?fine(w)/2:0,borderTopRightRadius:e1>0?fine(w)/2:0,borderBottomRightRadius:e1>0?fine(w)/2:0,...s.opacity===void 0?{}:{opacity:s.opacity}}})}}}function boxPieces(icon,k,out){for(let b of icon.boxes){let w=(b.w+b.width)*k,h=(b.h+b.width)*k;out.push({paint:"borderColor",style:{...place((b.x-b.width/2)*k+w/2,(b.y-b.width/2)*k+h/2,fine(w),fine(h),1,0),borderWidth:fine(b.width*k),borderRadius:(b.radius+b.width/2)*k*FINE,...b.opacity===void 0?{}:{opacity:b.opacity}}})}}function trianglePieces(icon,k,out){for(let t of icon.triangles){let p=[0,1,2].map(i=>[(t[i*2]??0)*k,(t[i*2+1]??0)*k]),base=0,len=-1;for(let i=0;i<3;i+=1){let a2=p[i]??[0,0],b=p[(i+1)%3]??[0,0],d=Math.hypot(b[0]-a2[0],b[1]-a2[1]);d>len&&(len=d,base=i)}if(len<=0)continue;let b0=p[base]??[0,0],b1=p[(base+1)%3]??[0,0],a=p[(base+2)%3]??[0,0],ux=(b1[0]-b0[0])/len,uy=(b1[1]-b0[1])/len,along=(a[0]-b0[0])*ux+(a[1]-b0[1])*uy,across=(a[0]-b0[0])*-uy+(a[1]-b0[1])*ux,h=Math.abs(across),up=across<0,mid=up?-h/2:h/2,bl=fine(along),br=fine(len)-bl,bh=fine(h);out.push({paint:up?"borderBottomColor":"borderTopColor",style:{...place(b0[0]+ux*(len/2)-uy*mid,b0[1]+uy*(len/2)+ux*mid,bl+br,bh,ux,uy),width:0,height:0,borderLeftWidth:bl,borderRightWidth:br,borderLeftColor:"transparent",borderRightColor:"transparent",...up?{borderBottomWidth:bh}:{borderTopWidth:bh}}})}for(let e of icon.seams){let x0=(e[0]??0)*k,y0=(e[1]??0)*k,dx=(e[2]??0)*k-x0,dy=(e[3]??0)*k-y0,d=Math.hypot(dx,dy),in0=SEAM*(e[4]??0),in1=SEAM*(e[5]??0),bar=d-in0-in1;if(d===0||bar<=0)continue;let mid=in0+bar/2;out.push({paint:"backgroundColor",style:place(x0+dx/d*mid,y0+dy/d*mid,fine(bar),fine(SEAM),dx/d,dy/d)})}}var cache=/* @__PURE__ */new Map;function piecesOf(name,size){let key=`${name}:${size}`,hit=cache.get(key);if(hit!==void 0)return hit;let icon=RAPH_RN_PLAN_ICONS[name],out=[],k=size/BOX;return boxPieces(icon,k,out),strokePieces(icon,k,out),trianglePieces(icon,k,out),cache.set(key,out),out}function FocusIcon({name:name,size:size=18,color:color}){let pieces=RAPH_RN_PLAN_ICONS[name]===void 0?[]:piecesOf(name,size);/* @__PURE__ */
206
+ /* @__PURE__ */jsx(Legal,{line:view.legal})]})}function useCartCheckout(items,go,cardHandoff=null){let{client:client,copy:copy,v3:v3,payments:payments}=useShop(),addresses=useAddresses(),cards=usePaymentMethods(),[open,setOpen]=useState(false),[pane,setPane]=useState("main"),[addressRef,setAddressRef]=useState(()=>peekAddedAddress(client));useEffect(()=>dropAddedAddress(client),[client]);let[cardId,setCardId]=useState(null),[error,setError]=useState(null),usable=(addresses.value??[]).filter(a=>a.isComplete),address=usable.find(a=>a.ref===addressRef)??usable.find(a=>a.isDefault)??usable[0]??null,cardList=cards.value??[],card=cardList.find(c=>c.paymentMethodId===cardId)??cardList[0]??null,lines=useMemo(()=>cartLines(items),[items]),linesKey=JSON.stringify(lines),quote=useShopRead(address&&lines.length>0?`cart-quote:${address.ref}:${linesKey}`:null,()=>client.quote({lines:lines,shipTo:address.ref})),[shown,setShown]=useState(null),draftKey=`${address?.ref??""}:${linesKey}`,shownTotal=shown&&shown.key===draftKey?shown.total:null,placeRef=useRef(()=>{}),nameStep=useNameStep(()=>placeRef.current()),placedKeys=items.map(i=>i.key),placeAction=useShopAction(async keys=>{let draft=await client.createCheckout({idempotencyKey:keys.key("draft"),lines:lines,shipTo:address.ref});if(!draft.ok)return omsErr(draft.error);if((shownTotal??quote.value?.total??null)!==draft.value.total)return setShown({key:draftKey,total:draft.value.total}),omsErr({kind:"refused",status:409,reasonCode:"price_changed",message:null});let out=await confirmWithPayerActions(idempotencyKey=>client.confirmCheckout(draft.value.checkoutId,{idempotencyKey:idempotencyKey,expectedTotal:draft.value.total,paymentMethodId:card.paymentMethodId}),keys,payments,{reconfirm:true,beforePayerAction:()=>removePlaced(client,placedKeys)});return out.kind==="failed"?omsErr(out.error):omsOk(out)}),place2=()=>{!address||!card||!quote.value||placeAction.busy||(setError(null),nameStep.clear(),placeAction.run().then(res=>{if(!res)return;let out=res.ok?res.value:{kind:"failed",error:res.error};if(out.kind==="failed"){if(nameStep.raise(out.error))return;setError(outcomeLine(copy,out));return}if(out.orderIds.length===0){setError(copy.actionFailed);return}if(removePlaced(client,placedKeys),setOpen(false),setPane("main"),out.kind==="confirmed"){go({name:"placed",orderIds:out.orderIds});return}leaveOrderNotice(client,out.orderIds[0],outcomeLine(copy,out)),go({name:"order",orderId:out.orderIds[0]})}))};placeRef.current=place2;let[cardBusy,setCardBusy]=useState(false),before=useRef(null);useEffect(()=>{if(!before.current||cards.phase!=="ready"||!cards.value)return;let added=cards.value.find(c=>!before.current.has(c.paymentMethodId));before.current=null,added&&setCardId(added.paymentMethodId)},[cards.phase,cards.value]);let addCard=cardHandoff?{busy:cardBusy,run:()=>{if(cardBusy)return;setCardBusy(true),setError(null);let ids=new Set(cardList.map(c=>c.paymentMethodId));cardHandoff().then(step=>{setCardBusy(false),step.ok?(before.current=ids,setPane("main"),cards.refresh()):setError(step.closed?copy.cardStepClosed:step.message??copy.cardStepFailed)},()=>{setCardBusy(false),setError(copy.cardStepFailed)})}}:null,save=useShopAction((_keys,input)=>client.addAddress(input)),saveAddress={busy:save.busy,error:save.error?refusalLine(copy,save.error):null,run:input=>{save.run(input).then(res=>{res&&res.ok&&(setAddressRef(res.value.ref),setPane("main"),addresses.refresh())})}},sub=cartSubtotal(items),q=quote.value,totalCents=shownTotal??q?.total??null,sum=[];sub!==null&&sum.push({k:v3.subtotal,v:formatCents(sub)}),q&&totalCents!==null&&(sum.push({k:v3.shipping,v:q.shipping===0?v3.free:formatCents(q.shipping)}),sum.push({k:v3.tax,v:formatCents(q.tax)}),sum.push({k:v3.total,v:formatCents(totalCents),total:true}));let rx=items.some(i=>i.requiresRx),fineParts=[card?copy.chargedWhenShips(cardLabel(card.brand,card.last4)):null,rx?copy.rxCheckedFirst:null].filter(x=>!!x);return{open:open,pane:pane,setPane:setPane,openSheet:()=>{setError(null),setPane("main"),setOpen(true)},closeSheet:()=>{placeAction.busy||(setOpen(false),setPane("main"))},addresses:[...usable].sort((a,b)=>Number(b.isDefault)-Number(a.isDefault)),addressesLoading:addresses.phase==="loading",address:address,chooseAddress:ref=>{setAddressRef(ref),setPane("main")},cards:cardList,cardsLoading:cards.phase==="loading",card:card,chooseCard:id=>{setCardId(id),setPane("main")},addCard:addCard,saveAddress:saveAddress,sum:sum,subtotal:sub!==null?formatCents(sub):null,total:totalCents!==null?formatCents(totalCents):null,canPlace:!!address&&!!card&&!!q&&items.length>0&&!placeAction.busy,placing:placeAction.busy,place:place2,error:nameStep.view!==null?null:error??quoteLine(copy,quote),nameStep:nameStep.view,fine:fineParts.length>0?fineParts.join(" "):null}}var freezeInPlace=Object.freeze;function deepFreeze(value){if(value!==null&&typeof value=="object"&&!Object.isFrozen(value)){freezeInPlace(value);for(let key of Object.keys(value))deepFreeze(value[key])}return value}var TEXT_SCALE_TIER_CAPS=/* @__PURE__ */Object.freeze({content:0,heading:2,control:1.8,compact:1.5,badge:1.3}),SPACE={xs:4,sm:8,md:12,lg:16,xl:24,xxl:32},RADIUS={tile:5,xs:6,sm:10,md:14,lg:20,xl:28,pill:500},TYPE_SIZE={nano:8,small:9,micro:10,tiny:11,caption:13,bodyTight:15,body:17,subtitle:20,heading:22,verdict:24},LINE_HEIGHT={tight:1.15,snug:1.3,normal:1.4,relaxed:1.55},WEIGHT={regular:"400",medium:"500",bold:"700"},LETTER_SPACING={eyebrow:1,monoWide:.9,headerBrand:-.42,tight:-.35},DEFAULT_MAX_FONT_SCALE=0,SYSTEM_FONT_FAMILY="System",SYSTEM_MONO_FAMILY="monospace",TIERS=["content","heading","control","compact","badge"];function authoredTierSizes(size){let out={};for(let tier of TIERS)out[tier]=size;return out}var NO_FONT_SOURCES=[];function baseType(){return{family:SYSTEM_FONT_FAMILY,mono:SYSTEM_MONO_FAMILY,fontUrl:null,families:{regular:SYSTEM_FONT_FAMILY,medium:SYSTEM_FONT_FAMILY,bold:SYSTEM_FONT_FAMILY,mono:SYSTEM_MONO_FAMILY,monoMedium:SYSTEM_MONO_FAMILY,monoBold:SYSTEM_MONO_FAMILY},namedFaces:{regular:false,medium:false,bold:false,mono:false,monoMedium:false,monoBold:false},fontUrls:{},size:TYPE_SIZE,tierSizes:authoredTierSizes(TYPE_SIZE),lineHeight:LINE_HEIGHT,weight:WEIGHT,letterSpacing:LETTER_SPACING,scale:1,maxScale:DEFAULT_MAX_FONT_SCALE,scaleCaps:TEXT_SCALE_TIER_CAPS,headingFamily:null,headingWeight:null,fontSources:NO_FONT_SOURCES}}var NO_SLOTS={},EASING_CURVES=/* @__PURE__ */Object.freeze({standard:/* @__PURE__ */Object.freeze([.2,0,0,1]),emphasized:/* @__PURE__ */Object.freeze([.2,.8,.2,1]),exit:/* @__PURE__ */Object.freeze([.4,0,1,1])});function cssCubicBezier(curve){return`cubic-bezier(${curve.join(", ")})`}var MOTION={duration:{instant:80,fast:140,normal:220,slow:320},spring:{gentle:{damping:18,stiffness:200}},easing:{standard:cssCubicBezier(EASING_CURVES.standard),emphasized:cssCubicBezier(EASING_CURVES.emphasized),exit:cssCubicBezier(EASING_CURVES.exit)},reducedMotion:false},LIGHT_COLOR={brand:"#10462E",brandSoft:"rgba(16,70,46,0.10)",brandSofter:"rgba(16,70,46,0.15)",brandBorder:"rgba(16,70,46,0.18)",borderHairlineGreen:"rgba(16,70,46,0.25)",brandBorderStrong:"rgba(16,70,46,0.55)",brandInk:"#10462E",linkInk:"#10462E",surface:"#FFFFFF",surfaceCream:"#FFFFFF",surfaceSubtle:"#F1F5F2",background:"#FFFFFF",borderRingCream:"#E4E4E4",chatGround:"#FFFFFF",composerFill:"#FFFFFF",composerBorder:"rgba(16,70,46,0.75)",shadow:"#0B3421",text:{primary:"#000000",secondary:"#0E462E",muted:"#6B6B6B",placeholder:"rgba(61,61,61,0.75)",onBrand:"#FFFFFF",metaCool:"#3D3D3D",timestamp:"rgba(61,61,61,0.75)"},primary:"#10462E",onPrimary:"#FFFFFF",accent:"#10462E",onAccent:"#FFFFFF",accentEdge:"#07C168",success:"#07C168",danger:"#C03410",onDanger:"#FFFFFF",errorRed:"#C03410",warningStrong:"#A45610",cautionAccent:"#D9821D",riskConcern:"#EFA700",sentiment:{up:"#07C168",neutral:"#FBC558",down:"#FF1B00"},badgeBgPositive:"rgba(7,193,104,0.12)",badgeBgCaution:"rgba(217,130,29,0.14)",badgeBgCritical:"rgba(192,52,16,0.06)",badgeBgNeutral:"rgba(107,107,107,0.12)",bubbleUser:"#10462E",bubbleAssistant:"#FFFFFF",bubbleVet:"#FFC3BC",onBubbleVet:"#000000",skeleton:"#E9F1E9",scanButtonPink:"#FFC3BC",highlight:"#FFC3BC",onHighlight:"#000000",mark:"#07C168",controlEdge:"rgba(16,70,46,0.18)",structureEdge:"rgba(16,70,46,0.25)",primaryEdge:"#10462E",checkupCardLowRiskBg:"rgba(7,193,104,0.10)",checkupCardConcernBg:"rgba(239,167,0,0.10)",info:"#10462E",badgeBgInfo:"rgba(16,70,46,0.10)",infoEdge:"rgba(16,70,46,0.25)"},EVERFUR_LIGHT=deepFreeze({brightness:"light",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false,assistantAvatarUrl:null},color:LIGHT_COLOR,space:SPACE,radius:RADIUS,type:baseType(),motion:MOTION,slots:NO_SLOTS}),DARK_COLOR={brand:"#6BD39A",brandSoft:"rgba(107,211,154,0.12)",brandSofter:"rgba(107,211,154,0.18)",brandBorder:"rgba(107,211,154,0.22)",borderHairlineGreen:"rgba(107,211,154,0.28)",brandBorderStrong:"rgba(107,211,154,0.55)",brandInk:"#6BD39A",linkInk:"#6BD39A",surface:"#1C1F23",surfaceCream:"#23272C",surfaceSubtle:"#23272C",background:"#15171A",borderRingCream:"#3A3F45",chatGround:"#1C1F23",composerFill:"#23272C",composerBorder:"rgba(107,211,154,0.75)",shadow:"#000000",text:{primary:"#F5F3F0",secondary:"#A9E4C4",muted:"#9A9A9A",placeholder:"rgba(255,255,255,0.55)",onBrand:"#0E1F17",metaCool:"#C9C9C9",timestamp:"rgba(245,243,240,0.7)"},primary:"#6BD39A",onPrimary:"#0E1F17",accent:"#6BD39A",onAccent:"#0E1F17",accentEdge:"#34D888",success:"#07C168",danger:"#F87171",onDanger:"#0E1F17",errorRed:"#FF6B5B",warningStrong:"#F0A35E",cautionAccent:"#D9821D",riskConcern:"#EFA700",sentiment:{up:"#07C168",neutral:"#FBC558",down:"#FF1B00"},badgeBgPositive:"rgba(7,193,104,0.18)",badgeBgCaution:"rgba(217,130,29,0.20)",badgeBgCritical:"rgba(185,28,28,0.22)",badgeBgNeutral:"rgba(255,255,255,0.10)",bubbleUser:"#6BD39A",bubbleAssistant:"#1C1F23",bubbleVet:"#FFC3BC",onBubbleVet:"#000000",skeleton:"#23272C",scanButtonPink:"#FFC3BC",highlight:"#605051",onHighlight:"#F5F3F0",mark:"#07C168",controlEdge:"rgba(107,211,154,0.22)",structureEdge:"rgba(107,211,154,0.28)",primaryEdge:"#6BD39A",checkupCardLowRiskBg:"rgba(7,193,104,0.16)",checkupCardConcernBg:"rgba(239,167,0,0.16)",info:"#6BD39A",badgeBgInfo:"rgba(107,211,154,0.12)",infoEdge:"rgba(107,211,154,0.28)"};deepFreeze({brightness:"dark",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false,assistantAvatarUrl:null},color:DARK_COLOR,space:SPACE,radius:RADIUS,type:baseType(),motion:MOTION,slots:NO_SLOTS});var EVERFUR_THEME_CONTEXT_SYMBOL=/* @__PURE__ */Symbol.for("@everfur/sdk#EverfurThemeContext@v1"),globalThemeHost=globalThis,EverfurThemeContext=globalThemeHost[EVERFUR_THEME_CONTEXT_SYMBOL]??(globalThemeHost[EVERFUR_THEME_CONTEXT_SYMBOL]=createContext(EVERFUR_LIGHT));EverfurThemeContext.displayName??="EverfurThemeContext";function useEverfurTheme(){return useContext(EverfurThemeContext)}function tierMultiplier(type,tier){let cap=type.scaleCaps[tier];return cap>0?cap:void 0}function Text4({tier:tier="content",...props}){let{type:type}=useEverfurTheme(),cap=tierMultiplier(type,tier);return createElement(Text,cap===void 0?props:{maxFontSizeMultiplier:cap,...props})}var TextInput3=forwardRef(function(props,ref){return createElement(TextInput,{...props,...ref===null?{}:{ref:ref}})});var RAPH_RN_PLAN_ICONS=/* @__PURE__ */Object.freeze({shield:{strokes:[{width:1.8,cap:true,closed:true,points:[12,3,19,6,19,12,18.759,14.125,18.074,16,17,17.625,15.593,19,13.907,20.125,12,21,10.093,20.125,8.407,19,7,17.625,5.926,16,5.241,14.125,5,12,5,6]},{width:1.8,cap:true,closed:false,points:[9,12,11,14,15,10]}],boxes:[],triangles:[],seams:[]},arrow:{strokes:[{width:2,cap:true,closed:false,points:[4.5,12,19,12]},{width:2,cap:true,closed:false,points:[13.5,6.5,19,12,13.5,17.5]}],boxes:[],triangles:[],seams:[]},check:{strokes:[{width:2.4,cap:true,closed:false,points:[5,12.6,9.4,17,19,7.4]}],boxes:[],triangles:[],seams:[]},star:{strokes:[],boxes:[],triangles:[[12,16.9,6.8,19.6,7.8,13.8],[16.2,13.8,17.2,19.6,12,16.9],[7.8,13.8,3.5,9.7,9.4,8.8],[14.6,8.8,20.5,9.7,16.2,13.8],[9.4,8.8,12,3.5,14.6,8.8],[16.2,13.8,12,16.9,7.8,13.8],[14.6,8.8,16.2,13.8,7.8,13.8],[14.6,8.8,7.8,13.8,9.4,8.8]],seams:[[12,16.9,7.8,13.8,.245,.677],[12,16.9,16.2,13.8,.245,.677],[7.8,13.8,9.4,8.8,.69,.248],[14.6,8.8,16.2,13.8,.248,.243],[14.6,8.8,9.4,8.8,.68,.245],[16.2,13.8,7.8,13.8,.677,.68],[14.6,8.8,7.8,13.8,.68,.69]]},truck:{strokes:[{width:1.7,cap:false,closed:true,points:[2.8,6.5,14.2,6.5,14.2,16,2.8,16]},{width:1.7,cap:false,closed:false,points:[14.2,9.5,17.8,9.5,21.2,12.9,21.2,16,14.2,16]}],boxes:[{x:5,y:15.8,w:3.6,h:3.6,radius:1.8,width:1.7},{x:15.4,y:15.8,w:3.6,h:3.6,radius:1.8,width:1.7}],triangles:[],seams:[]},refresh:{strokes:[{width:1.7,cap:true,closed:false,points:[4,12,4.343,14.363,5.368,16.52,6.985,18.278,9.048,19.48,11.374,20.021,13.756,19.85,15.981,18.984,17.852,17.5,19.201,15.53,19.909,13.249,19.912,10.861,19.21,8.578,17.865,6.605,15.998,5.116,13.775,4.245,11.393,4.068,9.066,4.602,7,5.8]},{width:1.7,cap:true,closed:false,points:[4,4,4,8,8,8]}],boxes:[],triangles:[],seams:[]},card:{strokes:[{width:1.7,cap:true,closed:false,points:[3,9.5,21,9.5]},{width:1.7,cap:true,closed:false,points:[6.5,15,10.5,15]}],boxes:[{x:3,y:5.5,w:18,h:13,radius:2.2,width:1.7}],triangles:[],seams:[]},alert:{strokes:[{width:1.9,cap:true,closed:true,points:[12,3.5,21.5,20,2.5,20]},{width:1.9,cap:true,closed:false,points:[12,10,12,14.5]},{width:1.9,cap:true,closed:false,points:[12,17.2,12.01,17.2]}],boxes:[],triangles:[],seams:[]},x:{strokes:[{width:2,cap:true,closed:false,points:[6.5,6.5,17.5,17.5]},{width:2,cap:true,closed:false,points:[17.5,6.5,6.5,17.5]}],boxes:[],triangles:[],seams:[]},chat:{strokes:[{width:1.7,cap:false,closed:true,points:[5,5.2,19,5.2,19.8,5.414,20.386,6,20.6,6.8,20.6,15.4,20.386,16.2,19.8,16.786,19,17,10.3,17,5.5,20.6,5.5,17,5,17,4.2,16.786,3.614,16.2,3.4,15.4,3.4,6.8,3.614,6,4.2,5.414,5,5.2]}],boxes:[],triangles:[],seams:[]},repeat:{strokes:[{width:1.8,cap:true,closed:false,points:[4.5,11,4.824,8.824,5.766,6.837,7.244,5.208,9.131,4.077,11.264,3.543,13.461,3.65,15.533,4.391,17.3,5.7,19.5,8]},{width:1.8,cap:true,closed:false,points:[19.5,3.5,19.5,8,15,8]},{width:1.8,cap:true,closed:false,points:[19.5,13,19.176,15.176,18.234,17.163,16.756,18.792,14.869,19.923,12.736,20.457,10.539,20.35,8.467,19.609,6.7,18.3,4.5,16]},{width:1.8,cap:true,closed:false,points:[4.5,20.5,4.5,16,9,16]}],boxes:[],triangles:[],seams:[]},calendar:{strokes:[{width:1.8,cap:true,closed:false,points:[4,10,20,10]},{width:1.8,cap:true,closed:false,points:[8.5,3.5,8.5,7.5]},{width:1.8,cap:true,closed:false,points:[15.5,3.5,15.5,7.5]}],boxes:[{x:4,y:5.5,w:16,h:15,radius:2.5,width:1.8}],triangles:[],seams:[]},flame:{strokes:[],boxes:[],triangles:[[12.15,14.513,13.1,15.2,13.1,13.7],[11.5,13.3,12.15,14.513,13.1,13.7],[16.874,10.907,15.7,9.3,15.381,10.659],[14.7,16.7,16.838,18.516,17.693,16.84],[14.7,16.7,14.489,17.681,16.838,18.516],[18,14.9,14.507,15.633,17.693,16.84],[16.874,10.907,15.381,10.659,14.685,11.707],[17.693,12.759,16.874,10.907,14.685,11.707],[15.538,19.832,16.838,18.516,14.489,17.681],[14.685,11.707,13.959,14.633,17.693,12.759],[17.693,12.759,13.959,14.633,18,14.9],[13.891,20.692,13.055,19.006,12,21],[12,21,12,19.2,10.109,20.692],[8.462,19.832,10.109,20.692,10.659,18.863],[10.659,18.863,9.741,17.97,8.462,19.832],[6.307,16.84,9.602,15.677,6,14.9],[6.273,13.033,6,14.9,9.602,15.677],[9.602,15.677,10.113,14.812,6.273,13.033],[6.988,11.438,6.273,13.033,10.113,14.812],[13.525,7.088,12.856,5.017,12,3.5],[13.856,9.589,13.525,7.088,12,3.5],[13.7,12.4,13.856,9.589,12,3.5],[10.113,14.812,10.792,14.042,6.988,11.438],[14.7,16.7,17.693,16.84,14.507,15.633],[13.7,12.4,13.959,14.633,14.685,11.707],[14.507,15.633,18,14.9,13.959,14.633],[13.1,13.7,13.959,14.633,13.7,12.4],[11.5,13.3,13.1,13.7,13.7,12.4],[7.983,10.048,6.988,11.438,10.792,14.042],[10.792,14.042,11.5,13.3,7.983,10.048],[14.489,17.681,13.913,18.475,15.538,19.832],[13.891,20.692,15.538,19.832,13.913,18.475],[13.891,20.692,13.913,18.475,13.055,19.006],[12,19.2,12,21,13.055,19.006],[10.659,18.863,10.109,20.692,12,19.2],[7.162,18.516,8.462,19.832,9.741,17.97],[9.741,17.97,9.4,16.7,7.162,18.516],[6.307,16.84,7.162,18.516,9.4,16.7],[6.307,16.84,9.4,16.7,9.602,15.677],[9.1,8.8,7.983,10.048,11.5,13.3],[11.5,13.3,13.7,12.4,9.1,8.8],[10.054,7.77,9.1,8.8,13.7,12.4],[10.927,6.683,10.054,7.77,13.7,12.4],[11.613,5.481,10.927,6.683,13.7,12.4],[12.006,4.106,11.613,5.481,13.7,12.4],[12,2.5,12.006,4.106,13.7,12.4],[12,2.5,13.7,12.4,12,3.5]],seams:[[12.15,14.513,13.1,13.7,.121,.428],[11.5,13.3,13.1,13.7,.681,.356],[15.381,10.659,16.874,10.907,.033,.883],[14.7,16.7,16.838,18.516,.648,1.318],[14.7,16.7,17.693,16.84,.648,1.533],[14.489,17.681,16.838,18.516,.51,1.318],[14.507,15.633,18,14.9,.782,1.787],[14.507,15.633,17.693,16.84,.782,1.533],[14.685,11.707,16.874,10.907,.68,.883],[14.685,11.707,17.693,12.759,.61,.484],[14.489,17.681,15.538,19.832,.51,1.115],[13.959,14.633,14.685,11.707,1.333,.576],[13.959,14.633,17.693,12.759,.851,.484],[13.959,14.633,18,14.9,.851,1.787],[13.055,19.006,13.891,20.692,.36,.984],[12,21,13.055,19.006,.945,.395],[12,19.2,12,21,.394,.945],[10.109,20.692,12,19.2,.715,.394],[10.109,20.692,10.659,18.863,.715,.428],[10.659,18.863,8.462,19.832,.428,.809],[8.462,19.832,9.741,17.97,.809,.525],[6.307,16.84,9.602,15.677,1.65,.812],[6,14.9,9.602,15.677,.194,1.012],[6.273,13.033,9.602,15.677,2.068,1.012],[10.113,14.812,6.273,13.033,1.217,2.068],[10.113,14.812,6.988,11.438,1.217,2.2],[12,3.5,13.525,7.088,4.697,5.571],[12,3.5,13.856,9.589,4.697,3.017],[12,3.5,13.7,12.4,4.648,26.765],[10.792,14.042,6.988,11.438,1.339,2.2],[13.7,12.4,13.959,14.633,.819,1.333],[13.1,13.7,13.7,12.4,0,.819],[11.5,13.3,13.7,12.4,.681,.537],[10.792,14.042,7.983,10.048,1.339,2.328],[11.5,13.3,7.983,10.048,1.438,2.328],[13.913,18.475,15.538,19.832,.409,1.115],[13.891,20.692,13.913,18.475,.984,.409],[7.162,18.516,9.741,17.97,.977,.525],[7.162,18.516,9.4,16.7,.977,.677],[6.307,16.84,9.4,16.7,1.65,.677],[11.5,13.3,9.1,8.8,1.438,1.129],[13.7,12.4,9.1,8.8,2.046,1.129],[10.054,7.77,13.7,12.4,.079,2.285],[10.927,6.683,13.7,12.4,.237,3.126],[11.613,5.481,13.7,12.4,.475,5.451],[12.006,4.106,13.7,12.4,.961,15.892],[12,2.5,13.7,12.4,2.974,26.765]]},box:{strokes:[{width:1.7,cap:false,closed:true,points:[3.8,7.8,12,4,20.2,7.8,20.2,16.4,12,20,3.8,16.4]},{width:1.7,cap:false,closed:false,points:[3.8,7.8,12,11.6,20.2,7.8]},{width:1.7,cap:false,closed:false,points:[12,11.6,12,20]}],boxes:[],triangles:[],seams:[]},cart:{strokes:[{width:1.8,cap:true,closed:false,points:[2.8,4,5.4,4,7.7,14.6,8.203,15.401,9.1,15.7,17.3,15.7,18.197,15.401,18.7,14.6,20.4,7.6,6.3,7.6]}],boxes:[{x:8.3,y:18.3,w:2.6,h:2.6,radius:1.3,width:1.8},{x:15.8,y:18.3,w:2.6,h:2.6,radius:1.3,width:1.8}],triangles:[],seams:[]},minus:{strokes:[{width:2.2,cap:true,closed:false,points:[6,12,18,12]}],boxes:[],triangles:[],seams:[]},plus:{strokes:[{width:2.2,cap:true,closed:false,points:[12,6,12,18]},{width:2.2,cap:true,closed:false,points:[6,12,18,12]}],boxes:[],triangles:[],seams:[]},chev:{strokes:[{width:2,cap:true,closed:false,points:[9,5.5,15.5,12,9,18.5]}],boxes:[],triangles:[],seams:[]},pulse:{strokes:[{width:1.8,cap:true,closed:false,points:[3,12.5,6.8,12.5,9.2,6.9,13.4,17.5,15.8,12.5,21,12.5]}],boxes:[],triangles:[],seams:[]},file:{strokes:[{width:1.7,cap:true,closed:true,points:[7,3.5,14.2,3.5,18.5,7.8,18.5,20,18.324,20.424,17.9,20.6,7,20.6,6.576,20.424,6.4,20,6.4,4.1,6.576,3.676,7,3.5]},{width:1.7,cap:true,closed:false,points:[14,3.6,14,8,18.4,8]},{width:1.7,cap:true,closed:false,points:[9.4,12.4,14.6,12.4]},{width:1.7,cap:true,closed:false,points:[9.4,15.8,14.6,15.8]}],boxes:[],triangles:[],seams:[]},kit:{strokes:[{width:1.7,cap:false,closed:true,points:[4,7.6,12,3.6,20,7.6,20,16.4,12,20.4,4,16.4]},{width:1.7,cap:false,closed:false,points:[4,7.6,12,11.6,20,7.6]},{width:1.7,cap:false,closed:false,points:[12,11.6,12,20.4]}],boxes:[],triangles:[],seams:[]},dna:{strokes:[{width:1.7,cap:true,closed:false,points:[7,3.5,7.28,4.645,8.04,5.594,9.16,6.394,10.52,7.097,12,7.75,13.48,8.403,14.84,9.106,15.96,9.906,16.72,10.855,17,12,16.72,13.145,15.96,14.094,14.84,14.894,13.48,15.597,12,16.25,10.52,16.903,9.16,17.606,8.04,18.406,7.28,19.355,7,20.5]},{width:1.7,cap:true,closed:false,points:[17,3.5,16.72,4.645,15.96,5.594,14.84,6.394,13.48,7.097,12,7.75,10.52,8.403,9.16,9.106,8.04,9.906,7.28,10.855,7,12,7.28,13.145,8.04,14.094,9.16,14.894,10.52,15.597,12,16.25,13.48,16.903,14.84,17.606,15.96,18.406,16.72,19.355,17,20.5]},{width:1.7,cap:true,closed:false,points:[8.6,6.3,15.4,6.3]},{width:1.7,cap:true,closed:false,points:[8.6,17.7,15.4,17.7]},{width:1.7,cap:true,closed:false,points:[10.4,9.6,13.6,9.6]},{width:1.7,cap:true,closed:false,points:[10.4,14.4,13.6,14.4]}],boxes:[],triangles:[],seams:[]},heart:{strokes:[{width:1.8,cap:false,closed:true,points:[12,20.2,11.739,20.035,11.041,19.559,10.03,18.804,8.831,17.799,7.569,16.575,6.37,15.163,5.359,13.593,4.661,11.895,4.4,10.1,4.833,8.454,5.87,7.105,7.349,6.264,9.039,6.062,10.675,6.532,12,7.6,13.325,6.532,14.961,6.062,16.651,6.264,18.13,7.105,19.167,8.454,19.6,10.1,19.339,11.895,18.641,13.593,17.63,15.163,16.431,16.575,15.169,17.799,13.97,18.804,12.959,19.559,12.261,20.035,12,20.2]}],boxes:[],triangles:[],seams:[]},bottle:{strokes:[{width:1.7,cap:false,closed:true,points:[7.2,6.2,16.8,6.2,17.507,6.493,17.8,7.2,17.8,19.5,17.572,20.35,16.95,20.972,16.1,21.2,7.9,21.2,7.05,20.972,6.428,20.35,6.2,19.5,6.2,7.2,6.493,6.493,7.2,6.2]},{width:1.7,cap:false,closed:true,points:[9,11,15,11,15,16,9,16]}],boxes:[{x:8,y:2.8,w:8,h:3.4,radius:1,width:1.7}],triangles:[],seams:[]},harness:{strokes:[{width:1.5,cap:true,closed:false,points:[7.5,4.5,7.728,6.82,8.364,8.708,9.336,10.116,10.572,10.996,12,11.3,13.428,10.996,14.664,10.116,15.636,8.708,16.272,6.82,16.5,4.5]},{width:1.5,cap:true,closed:true,points:[5,12.6,19,12.6,19,17.2,18.692,18.35,17.85,19.192,16.7,19.5,7.3,19.5,6.15,19.192,5.308,18.35,5,17.2]},{width:1.5,cap:true,closed:false,points:[8.2,15.3,15.8,15.3]}],boxes:[{x:10.7,y:8.9,w:2.6,h:2.6,radius:1.3,width:1.5}],triangles:[],seams:[]},ramp:{strokes:[{width:1.5,cap:true,closed:false,points:[2.5,19.5,21.5,19.5]},{width:1.5,cap:true,closed:false,points:[3.5,19.5,3.5,16.5,8,16.5,8,13.5,12.5,13.5,12.5,10.5,17,10.5,17,7.5,20.5,7.5,20.5,19.5]},{width:1.5,cap:true,closed:false,points:[3.5,16.5,20.5,7.5],opacity:.35}],boxes:[],triangles:[],seams:[]}});var BOX=24,FINE=16,SEAM=.8,fine=dp=>Math.round(dp*FINE);function place(cx,cy,W,H,ux,uy){let left=cx-W/2,top=cy-H/2,x=Math.round(left),y=Math.round(top);return{position:"absolute",left:x,top:y,width:W,height:H,transform:[{translateX:left-x},{translateY:top-y},{rotate:`${Math.atan2(uy,ux)*180/Math.PI}deg`},{scale:1/FINE}]}}function strokePieces(icon,k,out){for(let s of icon.strokes){let w=s.width*k,pts=s.points,n=pts.length/2,last=s.closed?n:n-1;for(let i=0;i<last;i+=1){let j=(i+1)%n,px=(pts[i*2]??0)*k,py=(pts[i*2+1]??0)*k,dx=(pts[j*2]??0)*k-px,dy=(pts[j*2+1]??0)*k-py,len=Math.hypot(dx,dy);if(len===0&&!(n===2&&s.cap))continue;let ux=len===0?1:dx/len,uy=len===0?0:dy/len,e0=s.closed||i>0||s.cap?w/2:0,e1=s.closed||j!==n-1||s.cap?w/2:0,along=(len+e1-e0)/2;out.push({paint:"backgroundColor",style:{...place(px+ux*along,py+uy*along,fine(len+e0+e1),fine(w),ux,uy),borderTopLeftRadius:e0>0?fine(w)/2:0,borderBottomLeftRadius:e0>0?fine(w)/2:0,borderTopRightRadius:e1>0?fine(w)/2:0,borderBottomRightRadius:e1>0?fine(w)/2:0,...s.opacity===void 0?{}:{opacity:s.opacity}}})}}}function boxPieces(icon,k,out){for(let b of icon.boxes){let w=(b.w+b.width)*k,h=(b.h+b.width)*k;out.push({paint:"borderColor",style:{...place((b.x-b.width/2)*k+w/2,(b.y-b.width/2)*k+h/2,fine(w),fine(h),1,0),borderWidth:fine(b.width*k),borderRadius:(b.radius+b.width/2)*k*FINE,...b.opacity===void 0?{}:{opacity:b.opacity}}})}}function trianglePieces(icon,k,out){for(let t of icon.triangles){let p=[0,1,2].map(i=>[(t[i*2]??0)*k,(t[i*2+1]??0)*k]),base=0,len=-1;for(let i=0;i<3;i+=1){let a2=p[i]??[0,0],b=p[(i+1)%3]??[0,0],d=Math.hypot(b[0]-a2[0],b[1]-a2[1]);d>len&&(len=d,base=i)}if(len<=0)continue;let b0=p[base]??[0,0],b1=p[(base+1)%3]??[0,0],a=p[(base+2)%3]??[0,0],ux=(b1[0]-b0[0])/len,uy=(b1[1]-b0[1])/len,along=(a[0]-b0[0])*ux+(a[1]-b0[1])*uy,across=(a[0]-b0[0])*-uy+(a[1]-b0[1])*ux,h=Math.abs(across),up=across<0,mid=up?-h/2:h/2,bl=fine(along),br=fine(len)-bl,bh=fine(h);out.push({paint:up?"borderBottomColor":"borderTopColor",style:{...place(b0[0]+ux*(len/2)-uy*mid,b0[1]+uy*(len/2)+ux*mid,bl+br,bh,ux,uy),width:0,height:0,borderLeftWidth:bl,borderRightWidth:br,borderLeftColor:"transparent",borderRightColor:"transparent",...up?{borderBottomWidth:bh}:{borderTopWidth:bh}}})}for(let e of icon.seams){let x0=(e[0]??0)*k,y0=(e[1]??0)*k,dx=(e[2]??0)*k-x0,dy=(e[3]??0)*k-y0,d=Math.hypot(dx,dy),in0=SEAM*(e[4]??0),in1=SEAM*(e[5]??0),bar=d-in0-in1;if(d===0||bar<=0)continue;let mid=in0+bar/2;out.push({paint:"backgroundColor",style:place(x0+dx/d*mid,y0+dy/d*mid,fine(bar),fine(SEAM),dx/d,dy/d)})}}var cache=/* @__PURE__ */new Map;function piecesOf(name,size){let key=`${name}:${size}`,hit=cache.get(key);if(hit!==void 0)return hit;let icon=RAPH_RN_PLAN_ICONS[name],out=[],k=size/BOX;return boxPieces(icon,k,out),strokePieces(icon,k,out),trianglePieces(icon,k,out),cache.set(key,out),out}function FocusIcon({name:name,size:size=18,color:color}){let pieces=RAPH_RN_PLAN_ICONS[name]===void 0?[]:piecesOf(name,size);/* @__PURE__ */
207
207
  return jsx(View,{accessibilityElementsHidden:true,importantForAccessibility:"no-hide-descendants",testID:`health-plan-icon-${name}`,children:/* @__PURE__ */jsx(View,{style:{width:size,height:size},children:pieces.map((piece,i)=>/* @__PURE__ */jsx(View,{style:[piece.style,{[piece.paint]:color}]},i))})})}var HIDDEN={pointerEvents:"none",accessibilityElementsHidden:true,importantForAccessibility:"no-hide-descendants"};function ShopV3Icon({name:name,size:size,color:color}){let w=Math.max(1.5,Math.round(size*1.8/24*2)/2),at=n=>Math.round(size*n);switch(name){case"check":case"plus":case"minus":case"cart":case"box":/* @__PURE__ */
208
208
  return jsx(FocusIcon,{name:name,size:size,color:color});case"close":/* @__PURE__ */
209
209
  return jsx(FocusIcon,{name:"x",size:size,color:color});case"chev":/* @__PURE__ */
@@ -225,9 +225,9 @@ return jsxs(View,{style:{width:size,height:size},...HIDDEN,children:[
225
225
  /* @__PURE__ */jsx(View,{style:{position:"absolute",left:at(.66),top:at(.1),width:w,height:at(.18),borderRadius:w,backgroundColor:color}})]});case"pin":/* @__PURE__ */
226
226
  return jsxs(View,{style:{width:size,height:size},...HIDDEN,children:[
227
227
  /* @__PURE__ */jsx(View,{style:{position:"absolute",left:at(.24),top:at(.1),width:at(.52),height:at(.52),borderWidth:w,borderColor:color,borderRadius:size}}),
228
- /* @__PURE__ */jsx(View,{style:{position:"absolute",left:at(.5)-w/2,top:at(.6),width:w,height:at(.28),borderRadius:w,backgroundColor:color}})]})}}var FACE_WEIGHT=/* @__PURE__ */Object.freeze({regular:"regular",medium:"medium",bold:"bold",mono:"regular",monoMedium:"medium",monoBold:"bold"});function face2(theme,weight){let type=theme.type,fontFamily=type.families[weight];return weight==="mono"||type.namedFaces[weight]?{fontFamily:fontFamily}:{fontFamily:fontFamily,fontWeight:type.weight[FACE_WEIGHT[weight]]}}function headingFace(theme,fallback="bold"){let{headingFamily:headingFamily,headingWeight:headingWeight}=theme.type;if(headingFamily===null&&headingWeight===null)return face2(theme,fallback);if(headingFamily!==null)return{fontFamily:headingFamily,fontWeight:headingWeight??theme.type.weight[FACE_WEIGHT[fallback]]};let base=face2(theme,fallback);return base.fontWeight===void 0||headingWeight===null?base:{fontFamily:base.fontFamily,fontWeight:headingWeight}}function toRgba(value){if(typeof value=="number")return argbIntToRgba(value);if(typeof value!="string")return null;let s=value.trim();if(s.length===0)return null;if(s.startsWith("#"))return fromHex(s.slice(1));if(s.toLowerCase().startsWith("0x"))return fromHex(s.slice(2));if(s.toLowerCase().startsWith("rgb"))return fromRgbFunc(s);if(/^[0-9a-fA-F]+$/.test(s)){let hex=fromHex(s);if(hex!==null)return hex}return/^\d+$/.test(s)?argbIntToRgba(Number.parseInt(s,10)):null}function fromHex(hex){let h=hex.trim();if(!/^[0-9a-fA-F]+$/.test(h))return null;if(h.length===3)return{r:dup(h[0]),g:dup(h[1]),b:dup(h[2]),a:1};if(h.length===6)return{r:byte(h,0),g:byte(h,2),b:byte(h,4),a:1};if(h.length===8){let a=byte(h,0);return{r:byte(h,2),g:byte(h,4),b:byte(h,6),a:a/255}}return null}function fromRgbFunc(input){let open=input.indexOf("("),close=input.indexOf(")");if(open<0||close<0||close<open)return null;let parts=input.slice(open+1,close).split(",").map(p=>p.trim());if(parts.length<3)return null;let r=clampByte(Number(parts[0])),g=clampByte(Number(parts[1])),b=clampByte(Number(parts[2]));if(r===null||g===null||b===null)return null;let a=1;if(parts.length>=4){let alpha=Number(parts[3]);if(!Number.isFinite(alpha))return null;a=Math.min(1,Math.max(0,alpha))}return{r:r,g:g,b:b,a:a}}function argbIntToRgba(n){if(!Number.isFinite(n))return null;let int2=Math.trunc(n)>>>0,a=int2>>>24&255;return{r:int2>>>16&255,g:int2>>>8&255,b:int2&255,a:a===0?1:a/255}}function byte(hex,at){return Number.parseInt(hex.slice(at,at+2),16)}function dup(nibble){return Number.parseInt(`${nibble??"0"}${nibble??"0"}`,16)}function clampByte(n){return Number.isFinite(n)?Math.min(255,Math.max(0,Math.round(n))):null}function rgbToHex(r,g,b){return`#${hex2(r)}${hex2(g)}${hex2(b)}`.toUpperCase()}function hex2(n){return n.toString(16).padStart(2,"0")}var NEAR_BLACK="#111111",WHITE="#FFFFFF",BLACK="#000000";function readableOn(background){let rgba=toRgba(background);if(rgba===null)return WHITE;let bg=relativeLuminance(rgba),black=relativeLuminance({r:17,g:17,b:17}),white=relativeLuminance({r:255,g:255,b:255});return luminanceContrast(bg,white)>=luminanceContrast(bg,black)?WHITE:NEAR_BLACK}function legibleOn(background,target){let first=readableOn(background);return contrastRatio(first,background)>=target?first:contrastRatio(WHITE,background)>=contrastRatio(BLACK,background)?WHITE:BLACK}function poleForGrounds(grounds){let worst=ink=>grounds.reduce((low,ground)=>Math.min(low,contrastRatio(ink,ground)),Number.POSITIVE_INFINITY);return worst(WHITE)>=worst(BLACK)?WHITE:BLACK}function relativeLuminance(rgba){let r=linearize(rgba.r/255),g=linearize(rgba.g/255),b=linearize(rgba.b/255);return.2126*r+.7152*g+.0722*b}function linearize(channel){return channel<=.03928?channel/12.92:Math.pow((channel+.055)/1.055,2.4)}function luminanceContrast(l1,l2){let lighter=Math.max(l1,l2),darker=Math.min(l1,l2);return(lighter+.05)/(darker+.05)}function contrastRatio(a,b){let fg=toRgba(a),bg=toRgba(b);if(fg===null||bg===null)return 1;let ground=bg.a>=1?bg:{...bg},fore=fg.a>=1?fg:composite(fg,ground);return luminanceContrast(relativeLuminance(fore),relativeLuminance(ground))}function composite(fg,bg){let a=fg.a,mix=(f,g)=>Math.round(f*a+g*(1-a));return{r:mix(fg.r,bg.r),g:mix(fg.g,bg.g),b:mix(fg.b,bg.b),a:1}}function flattenOnto(color,background){let fg=toRgba(color),bg=toRgba(background);if(fg===null||bg===null)return null;let out=fg.a>=1?fg:composite(fg,{...bg});return rgbToHex(out.r,out.g,out.b)}var PUSH_STEP=.05;function pushToContrast(color,grounds,pole,target){let first=grounds[0];if(first===void 0)return pole;let reads=candidate=>grounds.every(ground=>contrastRatio(candidate,ground)>=target);if(toRgba(color)===null)return pole;if(reads(color))return color;let flat=flattenOnto(color,first),from=flat===null?null:toRgba(flat),to=toRgba(pole);if(from===null||to===null)return pole;for(let step=1;step<1/PUSH_STEP;step+=1){let t=step*PUSH_STEP,mix=(a,b)=>Math.round(a+(b-a)*t),candidate=rgbToHex(mix(from.r,to.r),mix(from.g,to.g),mix(from.b,to.b));if(reads(candidate))return candidate}return pole}var RAPH_V3_LIGHT=/* @__PURE__ */Object.freeze({ink:"#262523",ink2:"#4A4845",ink3:"#6B6863",paper:"#F8F7F4",card:"#FFFFFF",line:"#E7E6E2",tile:"#F2F1EE",shadow:"rgba(38, 37, 35, .07)",riskBg:"#FFE3E1",riskInk:"#B0231B",riskDot:"#E5372B",clearBg:"#E6F4D3",clearInk:"#2F6A12",clearDot:"#5FA82B",watchDot:"#E5A000"}),cache2=/* @__PURE__ */new WeakMap;function v3Palette(theme){let hit=cache2.get(theme);if(hit!==void 0)return hit;let c=theme.color,dark=theme.brightness==="dark",neutrals=dark?{dark:dark,ink:c.text.primary,ink2:c.text.secondary,ink3:c.text.muted,paper:c.background,card:c.surface,line:c.borderRingCream,tile:c.surfaceSubtle,shadow:c.shadow,riskBg:c.badgeBgCritical,riskInk:c.danger,riskDot:c.danger,clearBg:c.badgeBgPositive,clearInk:c.success,clearDot:c.success,watchDot:c.warningStrong}:{dark:dark,...RAPH_V3_LIGHT},textOn=(ink,grounds)=>pushToContrast(ink,grounds,poleForGrounds(grounds),V3_TEXT_CONTRAST),labelOn=(ink,fill)=>contrastRatio(ink,fill)>=V3_TEXT_CONTRAST?ink:legibleOn(fill,V3_TEXT_CONTRAST),badgeGrounds=[neutrals.card,neutrals.paper].map(under=>flattenOnto(c.brandSoft,under)??under),brand={primary:c.primary,onPrimary:labelOn(c.onPrimary,c.primary),accent:c.accent,onAccent:labelOn(c.onAccent,c.accent),link:textOn(c.linkInk,[neutrals.card,neutrals.paper,neutrals.tile]),badge:c.brandSoft,onBadge:textOn(c.brandInk,badgeGrounds)},palette=/* @__PURE__ */Object.freeze({...neutrals,...brand});return cache2.set(theme,palette),palette}var V3_TEXT_CONTRAST=4.5;function shopPalette(theme){let v=v3Palette(theme),c=theme.color,dark=theme.brightness==="dark";return{ink:v.ink,ink2:v.ink2,ink3:v.ink3,paper:v.paper,tile:v.tile,line:v.line,card:v.card,link:v.link,soft:c.brandSofter,onSoft:c.brandInk,accent:v.accent,onAccent:v.onAccent,wait:dark?c.badgeBgCaution:"#FFF3C9",chosen:dark?c.surfaceSubtle:"#FFF7DC",button:v.primary,onButton:v.onPrimary,riskBg:v.riskBg,riskInk:v.riskInk,clearBg:v.clearBg,clearInk:v.clearInk,edge:dark?v.line:"#DAD7D1",rail:dark?v.line:"#E2DFD9",ring:dark?v.line:"#CFCBC4",scrim:dark?"rgba(0,0,0,0.6)":"rgba(38,37,35,0.45)",toastInk:dark?c.text.primary:"#FFFFFF"}}function hostFace(f,weight){return typeof f=="string"?{fontFamily:f,fontWeight:weight==="bold"?"700":weight==="medium"?"500":"400"}:{fontFamily:weight==="bold"?f.bold??f.regular:weight==="medium"?f.medium??f.regular:f.regular}}function faceOf(theme,fonts,w){let host=w==="mono"||w==="monoBold"?fonts?.mono:fonts?.sans;return host?hostFace(host,w==="mono"?"regular":w==="monoBold"?"bold":w):face2(theme,w)}function makeShopStyles(theme,fonts){let P=shopPalette(theme),dark=theme.brightness==="dark",t=(size,ink,weight="regular",ratio=1.35)=>({...faceOf(theme,fonts,weight),fontSize:size,lineHeight:Math.round(size*ratio),color:ink}),heading=(size,ratio)=>({...fonts?.sans?hostFace(fonts.sans,"bold"):headingFace(theme,"bold"),fontSize:size,lineHeight:Math.round(size*ratio),color:P.ink}),lift={shadowColor:"#262523",shadowOpacity:dark?0:.06,shadowRadius:3,shadowOffset:{width:0,height:1},elevation:dark?0:1};return{...StyleSheet.create({page:{flex:1,backgroundColor:P.paper},body:{paddingHorizontal:18,paddingTop:8,paddingBottom:28,gap:12},foot:{paddingTop:12,paddingHorizontal:18,gap:10,backgroundColor:P.paper,borderTopWidth:1,borderTopColor:P.line},grow:{flex:1,minWidth:0},row:{flexDirection:"row",alignItems:"center"},title:heading(29,1.08),sub2:{...t(15,P.ink2,"regular",1.45),marginTop:-6},k:{...t(16,P.ink,"bold",1.3),marginTop:6,marginHorizontal:2,marginBottom:-4},card:{paddingVertical:14,paddingHorizontal:16,borderRadius:22,backgroundColor:P.card,...lift},items:{gap:18},item:{flexDirection:"row",alignItems:"flex-start",gap:12},itemImg:{width:64,height:64,borderRadius:14,overflow:"hidden",alignItems:"center",justifyContent:"center",backgroundColor:P.soft},itemName:t(16.5,P.ink,"bold",1.25),itemP:{flexDirection:"row",flexWrap:"wrap",alignItems:"center",columnGap:8,rowGap:2,marginTop:3},itemPrice:{...t(16,P.ink,"bold",1.3),fontVariant:["tabular-nums"]},itemWas:{...t(14,P.ink3,"medium",1.3),textDecorationLine:"line-through"},itemSmall:t(14,P.ink3,"regular",1.35),itemActs:{flexDirection:"row",alignItems:"center",gap:16,marginTop:8},step:{flexDirection:"row",alignItems:"center",height:40,borderRadius:999,borderWidth:1.5,borderColor:P.edge,backgroundColor:P.card},stepButton:{width:40,height:40,borderRadius:999,alignItems:"center",justifyContent:"center"},stepOff:{opacity:.3},stepValue:{...t(15.5,P.ink,"bold",1.2),width:30,textAlign:"center",fontVariant:["tabular-nums"]},rm:{minHeight:40,justifyContent:"center"},rmText:{...t(14.5,P.ink2,"bold",1.3),textDecorationLine:"underline"},sum:{paddingVertical:6,paddingHorizontal:16,borderRadius:16,backgroundColor:P.card,...lift},sumFlat:{paddingVertical:6,paddingHorizontal:16,borderRadius:16,backgroundColor:P.paper},sumRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:12,minHeight:34},sumKey:{...t(15,P.ink2,"regular",1.35),flexShrink:1},sumValue:{...t(15,P.ink,"regular",1.35),fontVariant:["tabular-nums"],textAlign:"right"},sumTotalRow:{minHeight:42},sumTotal:{...t(17,P.ink,"bold",1.3),fontVariant:["tabular-nums"]},fine:t(13,P.ink3,"regular",1.45),fineC:{...t(13,P.ink3,"regular",1.45),marginTop:14,textAlign:"center"},coFine:{...t(12.5,P.ink3,"regular",1.45),textAlign:"center"},empty:{alignItems:"center",gap:8,paddingTop:48,paddingHorizontal:12,paddingBottom:8},emptyTile:{width:72,height:72,borderRadius:20,marginBottom:8,alignItems:"center",justifyContent:"center",backgroundColor:P.soft},emptyTitle:{...heading(28,1.1),textAlign:"center"},emptyBody:{...t(15.5,P.ink2,"regular",1.45),textAlign:"center",maxWidth:270},emptyAct:{marginTop:12},link:{minHeight:40,justifyContent:"center",alignSelf:"center"},linkText:{...t(15,P.link,"bold",1.3),textDecorationLine:"underline"},acts:{gap:4,alignItems:"stretch",marginTop:4},cancel:{minHeight:40,justifyContent:"center",alignSelf:"center"},cancelText:t(14.5,P.riskInk,"bold",1.3),orders:{gap:10},order:{flexDirection:"row",alignItems:"center",gap:10,paddingVertical:14,paddingLeft:16,paddingRight:14,borderRadius:22,backgroundColor:P.card,...lift},orderTop:{flexDirection:"row",flexWrap:"wrap",alignItems:"center",columnGap:10,rowGap:4},orderNo:{...t(12,P.ink3,"mono",1.3),letterSpacing:.48},orderWhat:{...t(16,P.ink,"bold",1.3),marginTop:8},orderMeta:{...t(14,P.ink3,"regular",1.4),marginTop:2},pics:{flexDirection:"row",gap:6,marginTop:10},pic:{width:40,height:40,borderRadius:10,overflow:"hidden",alignItems:"center",justifyContent:"center",backgroundColor:P.soft},pill:{flexDirection:"row",alignItems:"center",gap:6,minHeight:26,paddingHorizontal:10,borderRadius:999,backgroundColor:P.wait},pillText:t(13,P.ink,"bold",1.2),pillDone:{backgroundColor:P.clearBg},pillDoneText:{color:P.clearInk},pillSub:{backgroundColor:P.soft},pillSubText:{color:P.onSoft},pillRisk:{backgroundColor:P.riskBg},pillRiskText:{color:P.riskInk},pillQuiet:{backgroundColor:P.tile},pillQuietText:{color:P.ink2},carrier:{flexDirection:"row",alignItems:"center",gap:12},carrierIc:{width:40,height:40,borderRadius:11,alignItems:"center",justifyContent:"center",backgroundColor:P.soft},carrierName:t(16,P.ink,"bold",1.3),carrierNo:{...t(13,P.ink2,"mono",1.35),letterSpacing:.26,marginTop:1},carrierWait:t(14.5,P.ink2,"regular",1.4),carrierGo:{marginTop:10},trackLi:{flexDirection:"row",gap:12,paddingBottom:16},trackLast:{paddingBottom:0},trackRail:{position:"absolute",left:10,top:20,bottom:-2,width:2,borderRadius:1,backgroundColor:P.rail},trackRailDone:{backgroundColor:P.ink},trackDot:{width:22,height:22,borderRadius:11,alignItems:"center",justifyContent:"center",backgroundColor:P.card,borderWidth:2,borderColor:P.ring},trackDotDone:{backgroundColor:P.ink,borderWidth:0},trackDotNow:{backgroundColor:P.accent,borderColor:P.ink},trackT:t(15.5,P.ink,"bold",1.3),trackTNext:{color:P.ink3},trackD:{...t(14,P.ink3,"regular",1.35),marginTop:1},done:{paddingTop:40,paddingHorizontal:22,paddingBottom:20,alignItems:"center"},doneCheck:{width:76,height:76,borderRadius:38,alignItems:"center",justifyContent:"center",backgroundColor:P.accent},doneTitle:{...heading(34,1.1),marginTop:20,textAlign:"center"},doneWhen:{...t(16,P.ink,"bold",1.35),marginTop:10,textAlign:"center"},doneWho:{...t(15,P.ink2,"regular",1.35),marginTop:2,textAlign:"center"},next:{alignSelf:"stretch",marginTop:22,paddingVertical:4,paddingHorizontal:16,borderRadius:18,backgroundColor:P.card,...lift},nextLi:{flexDirection:"row",alignItems:"center",gap:12,paddingVertical:10},nextIc:{width:36,height:36,borderRadius:11,overflow:"hidden",alignItems:"center",justifyContent:"center",backgroundColor:P.soft},nextK:{...t(10.5,P.ink3,"mono",1.3),letterSpacing:.53,textTransform:"uppercase"},nextV:{...t(15,P.ink,"medium",1.35),marginTop:1},btn:{minHeight:48,paddingHorizontal:22,borderRadius:999,alignItems:"center",justifyContent:"center",flexDirection:"row",gap:8,backgroundColor:P.button},btnLg:{minHeight:56,paddingHorizontal:28},btnSm:{minHeight:40,paddingHorizontal:16},btnGhost:{backgroundColor:"transparent",borderWidth:1.5,borderColor:P.ink},btnOff:{opacity:.32},btnText:{...t(16,P.onButton,"bold",1.25),textAlign:"center"},btnTextLg:{fontSize:17,lineHeight:21},btnTextSm:{fontSize:15,lineHeight:19},btnTextGhost:{color:P.ink},scrim:{flex:1,justifyContent:"flex-end",backgroundColor:P.scrim},sheet:{maxHeight:"88%",paddingTop:10,paddingHorizontal:20,borderTopLeftRadius:28,borderTopRightRadius:28,backgroundColor:P.card},grab:{alignSelf:"center",width:40,height:5,borderRadius:3,backgroundColor:P.edge,marginBottom:10},sheetTop:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},kicker:{...t(11,P.ink3,"mono",1.3),letterSpacing:.88,textTransform:"uppercase",flexShrink:1},x:{width:40,height:40,marginRight:-8,alignItems:"center",justifyContent:"center",borderRadius:20},sheetTitle:{...heading(26,1.1),marginTop:4},co:{gap:10,marginTop:2},coItems:{gap:10},coItem:{flexDirection:"row",alignItems:"center",gap:12},coPic:{width:44,height:44,borderRadius:10,overflow:"hidden",alignItems:"center",justifyContent:"center",backgroundColor:P.soft},coName:t(15.5,P.ink,"bold",1.25),coSmall:t(13.5,P.ink3,"regular",1.35),coPrice:{...t(15,P.ink,"bold",1.3),fontVariant:["tabular-nums"]},coRows:{paddingVertical:2,paddingHorizontal:14,borderRadius:16,backgroundColor:P.paper},coRowsOnPage:{backgroundColor:P.card,...lift},coRow:{flexDirection:"row",alignItems:"center",gap:10,minHeight:44},coKey:{...t(14.5,P.ink3,"regular",1.3),width:74},coValue:{...t(14.5,P.ink,"bold",1.3),flex:1,minWidth:0},opts:{gap:8},opt:{flexDirection:"row",alignItems:"center",gap:12,minHeight:48,paddingVertical:12,paddingHorizontal:14,borderRadius:16,borderWidth:1.5,borderColor:P.edge},optOn:{backgroundColor:P.chosen,borderWidth:2,borderColor:P.ink},optRadio:{width:22,height:22,borderRadius:11,borderWidth:2,borderColor:P.edge,backgroundColor:P.card},optRadioOn:{borderWidth:7,borderColor:P.ink},optName:t(16,P.ink,"bold",1.35),optSmall:t(13,P.ink2,"regular",1.4),every:{flexDirection:"row",gap:4,padding:4,borderRadius:999,borderWidth:1.5,borderColor:P.edge,backgroundColor:P.card},everyBtn:{flex:1,minHeight:36,paddingHorizontal:6,borderRadius:999,alignItems:"center",justifyContent:"center"},everyOn:{backgroundColor:P.ink},everyText:{...t(14,P.ink,"bold",1.2),textAlign:"center"},everyTextOn:{color:P.card},coK:{...t(10.5,P.ink3,"mono",1.3),letterSpacing:.63,textTransform:"uppercase",marginBottom:6},subc:{flexDirection:"row",alignItems:"center",gap:12,paddingVertical:12,paddingLeft:12,paddingRight:14,borderRadius:22,backgroundColor:P.clearBg},subcImg:{width:56,height:56,borderRadius:14,overflow:"hidden",alignItems:"center",justifyContent:"center",backgroundColor:P.card},subcName:t(16,P.ink,"bold",1.25),subcSmall:{...t(14,P.ink2,"regular",1.35),marginTop:2},subcAlert:{...t(14,P.riskInk,"bold",1.35),marginTop:2},subcBtn:{minHeight:40,paddingHorizontal:14,borderRadius:999,alignItems:"center",justifyContent:"center",borderWidth:1.5,borderColor:P.ink,backgroundColor:P.card},subcBtnText:t(14,P.ink,"bold",1.2),coProd:{flexDirection:"row",alignItems:"center",gap:12},coProdImg:{width:56,height:56,borderRadius:14,overflow:"hidden",alignItems:"center",justifyContent:"center",backgroundColor:P.soft},coProdT:t(14,P.ink2,"bold",1.35),coProdP:{...t(14,P.ink2,"regular",1.35),marginTop:2},error:{paddingVertical:12,paddingHorizontal:14,borderRadius:14,backgroundColor:P.riskBg},errorText:t(14.5,P.riskInk,"medium",1.4),toast:{paddingVertical:12,paddingHorizontal:15,borderRadius:16,backgroundColor:P.ink},toastText:t(14.5,P.toastInk,"regular",1.4),ghostLine:{height:14,borderRadius:7,backgroundColor:P.tile},fieldLabel:{...t(15,P.ink,"bold",1.3),marginBottom:8},field:{...t(17,P.ink,"regular",1.25),minHeight:52,paddingHorizontal:16,borderRadius:16,borderWidth:1.5,borderColor:P.edge,backgroundColor:P.card},fieldErr:{...t(14,P.riskInk,"bold",1.35),marginTop:6}}),palette:P}}var HostContext=createContext({bottomInset:0,screenBottomInset:0,cardHandoff:null,onOrderHelp:null}),ShopV3HostProvider=HostContext.Provider;function useShopV3Host(){return useContext(HostContext)}function useShopStyles(){let theme=useEverfurTheme(),fonts=useKit().options.fonts;return useMemo(()=>makeShopStyles(theme,fonts),[theme,fonts])}function Page({head:head,foot:foot,children:children,testID:testID}){let s=useShopStyles(),{bottomInset:bottomInset}=useShopV3Host();/* @__PURE__ */
228
+ /* @__PURE__ */jsx(View,{style:{position:"absolute",left:at(.5)-w/2,top:at(.6),width:w,height:at(.28),borderRadius:w,backgroundColor:color}})]})}}var FACE_WEIGHT=/* @__PURE__ */Object.freeze({regular:"regular",medium:"medium",bold:"bold",mono:"regular",monoMedium:"medium",monoBold:"bold"});function face2(theme,weight){let type=theme.type,fontFamily=type.families[weight];return weight==="mono"||type.namedFaces[weight]?{fontFamily:fontFamily}:{fontFamily:fontFamily,fontWeight:type.weight[FACE_WEIGHT[weight]]}}function headingFace(theme,fallback="bold"){let{headingFamily:headingFamily,headingWeight:headingWeight}=theme.type;if(headingFamily===null&&headingWeight===null)return face2(theme,fallback);if(headingFamily!==null)return{fontFamily:headingFamily,fontWeight:headingWeight??theme.type.weight[FACE_WEIGHT[fallback]]};let base=face2(theme,fallback);return base.fontWeight===void 0||headingWeight===null?base:{fontFamily:base.fontFamily,fontWeight:headingWeight}}function toRgba(value){if(typeof value=="number")return argbIntToRgba(value);if(typeof value!="string")return null;let s=value.trim();if(s.length===0)return null;if(s.startsWith("#"))return fromHex(s.slice(1));if(s.toLowerCase().startsWith("0x"))return fromHex(s.slice(2));if(s.toLowerCase().startsWith("rgb"))return fromRgbFunc(s);if(/^[0-9a-fA-F]+$/.test(s)){let hex=fromHex(s);if(hex!==null)return hex}return/^\d+$/.test(s)?argbIntToRgba(Number.parseInt(s,10)):null}function fromHex(hex){let h=hex.trim();if(!/^[0-9a-fA-F]+$/.test(h))return null;if(h.length===3)return{r:dup(h[0]),g:dup(h[1]),b:dup(h[2]),a:1};if(h.length===6)return{r:byte(h,0),g:byte(h,2),b:byte(h,4),a:1};if(h.length===8){let a=byte(h,0);return{r:byte(h,2),g:byte(h,4),b:byte(h,6),a:a/255}}return null}function fromRgbFunc(input){let open=input.indexOf("("),close=input.indexOf(")");if(open<0||close<0||close<open)return null;let parts=input.slice(open+1,close).split(",").map(p=>p.trim());if(parts.length<3)return null;let r=clampByte(Number(parts[0])),g=clampByte(Number(parts[1])),b=clampByte(Number(parts[2]));if(r===null||g===null||b===null)return null;let a=1;if(parts.length>=4){let alpha=Number(parts[3]);if(!Number.isFinite(alpha))return null;a=Math.min(1,Math.max(0,alpha))}return{r:r,g:g,b:b,a:a}}function argbIntToRgba(n){if(!Number.isFinite(n))return null;let int2=Math.trunc(n)>>>0,a=int2>>>24&255;return{r:int2>>>16&255,g:int2>>>8&255,b:int2&255,a:a===0?1:a/255}}function byte(hex,at){return Number.parseInt(hex.slice(at,at+2),16)}function dup(nibble){return Number.parseInt(`${nibble??"0"}${nibble??"0"}`,16)}function clampByte(n){return Number.isFinite(n)?Math.min(255,Math.max(0,Math.round(n))):null}function rgbToHex(r,g,b){return`#${hex2(r)}${hex2(g)}${hex2(b)}`.toUpperCase()}function hex2(n){return n.toString(16).padStart(2,"0")}var NEAR_BLACK="#111111",WHITE="#FFFFFF",BLACK="#000000";function readableOn(background){let rgba=toRgba(background);if(rgba===null)return WHITE;let bg=relativeLuminance(rgba),black=relativeLuminance({r:17,g:17,b:17}),white=relativeLuminance({r:255,g:255,b:255});return luminanceContrast(bg,white)>=luminanceContrast(bg,black)?WHITE:NEAR_BLACK}function legibleOn(background,target){let first=readableOn(background);return contrastRatio(first,background)>=target?first:contrastRatio(WHITE,background)>=contrastRatio(BLACK,background)?WHITE:BLACK}function poleForGrounds(grounds){let worst=ink=>grounds.reduce((low,ground)=>Math.min(low,contrastRatio(ink,ground)),Number.POSITIVE_INFINITY);return worst(WHITE)>=worst(BLACK)?WHITE:BLACK}function relativeLuminance(rgba){let r=linearize(rgba.r/255),g=linearize(rgba.g/255),b=linearize(rgba.b/255);return.2126*r+.7152*g+.0722*b}function linearize(channel){return channel<=.03928?channel/12.92:Math.pow((channel+.055)/1.055,2.4)}function luminanceContrast(l1,l2){let lighter=Math.max(l1,l2),darker=Math.min(l1,l2);return(lighter+.05)/(darker+.05)}function contrastRatio(a,b){let fg=toRgba(a),bg=toRgba(b);if(fg===null||bg===null)return 1;let ground=bg.a>=1?bg:{...bg},fore=fg.a>=1?fg:composite(fg,ground);return luminanceContrast(relativeLuminance(fore),relativeLuminance(ground))}function composite(fg,bg){let a=fg.a,mix=(f,g)=>Math.round(f*a+g*(1-a));return{r:mix(fg.r,bg.r),g:mix(fg.g,bg.g),b:mix(fg.b,bg.b),a:1}}function flattenOnto(color,background){let fg=toRgba(color),bg=toRgba(background);if(fg===null||bg===null)return null;let out=fg.a>=1?fg:composite(fg,{...bg});return rgbToHex(out.r,out.g,out.b)}var PUSH_STEP=.05;function pushToContrast(color,grounds,pole,target){let first=grounds[0];if(first===void 0)return pole;let reads=candidate=>grounds.every(ground=>contrastRatio(candidate,ground)>=target);if(toRgba(color)===null)return pole;if(reads(color))return color;let flat=flattenOnto(color,first),from=flat===null?null:toRgba(flat),to=toRgba(pole);if(from===null||to===null)return pole;for(let step=1;step<1/PUSH_STEP;step+=1){let t=step*PUSH_STEP,mix=(a,b)=>Math.round(a+(b-a)*t),candidate=rgbToHex(mix(from.r,to.r),mix(from.g,to.g),mix(from.b,to.b));if(reads(candidate))return candidate}return pole}var RAPH_V3_LIGHT=/* @__PURE__ */Object.freeze({ink:"#262523",ink2:"#4A4845",ink3:"#6B6863",paper:"#F8F7F4",card:"#FFFFFF",line:"#E7E6E2",tile:"#F2F1EE",shadow:"rgba(38, 37, 35, .07)",riskBg:"#FFE3E1",riskInk:"#B0231B",riskDot:"#E5372B",clearBg:"#E6F4D3",clearInk:"#2F6A12",clearDot:"#5FA82B",watchDot:"#E5A000"}),cache2=/* @__PURE__ */new WeakMap;function v3Palette(theme){let hit=cache2.get(theme);if(hit!==void 0)return hit;let c=theme.color,dark=theme.brightness==="dark",neutrals=dark?{dark:dark,ink:c.text.primary,ink2:c.text.secondary,ink3:c.text.muted,paper:c.background,card:c.surface,line:c.borderRingCream,tile:c.surfaceSubtle,shadow:c.shadow,riskBg:c.badgeBgCritical,riskInk:c.danger,riskDot:c.danger,clearBg:c.badgeBgPositive,clearInk:c.success,clearDot:c.success,watchDot:c.warningStrong}:{dark:dark,...RAPH_V3_LIGHT},textOn=(ink,grounds)=>pushToContrast(ink,grounds,poleForGrounds(grounds),V3_TEXT_CONTRAST),labelOn=(ink,fill)=>contrastRatio(ink,fill)>=V3_TEXT_CONTRAST?ink:legibleOn(fill,V3_TEXT_CONTRAST),badgeGrounds=[neutrals.card,neutrals.paper].map(under=>flattenOnto(c.brandSoft,under)??under),brand={primary:c.primary,onPrimary:labelOn(c.onPrimary,c.primary),accent:c.accent,onAccent:labelOn(c.onAccent,c.accent),link:textOn(c.linkInk,[neutrals.card,neutrals.paper,neutrals.tile]),badge:c.brandSoft,onBadge:textOn(c.brandInk,badgeGrounds)},palette=/* @__PURE__ */Object.freeze({...neutrals,...brand});return cache2.set(theme,palette),palette}var V3_TEXT_CONTRAST=4.5;function shopPalette(theme){let v=v3Palette(theme),c=theme.color,dark=theme.brightness==="dark";return{ink:v.ink,ink2:v.ink2,ink3:v.ink3,paper:v.paper,tile:v.tile,line:v.line,card:v.card,link:v.link,soft:c.brandSofter,onSoft:c.brandInk,accent:v.accent,onAccent:v.onAccent,wait:dark?c.badgeBgCaution:"#FFF3C9",chosen:dark?c.surfaceSubtle:"#FFF7DC",button:v.primary,onButton:v.onPrimary,riskBg:v.riskBg,riskInk:v.riskInk,clearBg:v.clearBg,clearInk:v.clearInk,edge:dark?v.line:"#DAD7D1",rail:dark?v.line:"#E2DFD9",ring:dark?v.line:"#CFCBC4",scrim:dark?"rgba(0,0,0,0.6)":"rgba(38,37,35,0.45)",toastInk:dark?c.text.primary:"#FFFFFF"}}function hostFace(f,weight){return typeof f=="string"?{fontFamily:f,fontWeight:weight==="bold"?"700":weight==="medium"?"500":"400"}:{fontFamily:weight==="bold"?f.bold??f.regular:weight==="medium"?f.medium??f.regular:f.regular}}function faceOf(theme,fonts,w){let host=w==="mono"||w==="monoBold"?fonts?.mono:fonts?.sans;return host?hostFace(host,w==="mono"?"regular":w==="monoBold"?"bold":w):face2(theme,w)}function makeShopStyles(theme,fonts){let P=shopPalette(theme),dark=theme.brightness==="dark",t=(size,ink,weight="regular",ratio=1.35)=>({...faceOf(theme,fonts,weight),fontSize:size,lineHeight:Math.round(size*ratio),color:ink}),heading=(size,ratio)=>({...fonts?.sans?hostFace(fonts.sans,"bold"):headingFace(theme,"bold"),fontSize:size,lineHeight:Math.round(size*ratio),color:P.ink}),lift={shadowColor:"#262523",shadowOpacity:dark?0:.06,shadowRadius:3,shadowOffset:{width:0,height:1},elevation:dark?0:1};return{...StyleSheet.create({page:{flex:1,backgroundColor:P.paper},body:{paddingHorizontal:18,paddingTop:8,paddingBottom:28,gap:12},foot:{paddingTop:12,paddingHorizontal:18,gap:10,backgroundColor:P.paper,borderTopWidth:1,borderTopColor:P.line},grow:{flex:1,minWidth:0},row:{flexDirection:"row",alignItems:"center"},title:heading(29,1.08),sub2:{...t(15,P.ink2,"regular",1.45),marginTop:-6},k:{...t(16,P.ink,"bold",1.3),marginTop:6,marginHorizontal:2,marginBottom:-4},card:{paddingVertical:14,paddingHorizontal:16,borderRadius:22,backgroundColor:P.card,...lift},items:{gap:18},item:{flexDirection:"row",alignItems:"flex-start",gap:12},itemImg:{width:64,height:64,borderRadius:14,overflow:"hidden",alignItems:"center",justifyContent:"center",backgroundColor:P.soft},itemName:t(16.5,P.ink,"bold",1.25),itemP:{flexDirection:"row",flexWrap:"wrap",alignItems:"center",columnGap:8,rowGap:2,marginTop:3},itemPrice:{...t(16,P.ink,"bold",1.3),fontVariant:["tabular-nums"]},itemWas:{...t(14,P.ink3,"medium",1.3),textDecorationLine:"line-through"},itemSmall:t(14,P.ink3,"regular",1.35),itemActs:{flexDirection:"row",alignItems:"center",gap:16,marginTop:8},step:{flexDirection:"row",alignItems:"center",height:40,borderRadius:999,borderWidth:1.5,borderColor:P.edge,backgroundColor:P.card},stepButton:{width:40,height:40,borderRadius:999,alignItems:"center",justifyContent:"center"},stepOff:{opacity:.3},stepValue:{...t(15.5,P.ink,"bold",1.2),width:30,textAlign:"center",fontVariant:["tabular-nums"]},rm:{minHeight:40,justifyContent:"center"},rmText:{...t(14.5,P.ink2,"bold",1.3),textDecorationLine:"underline"},sum:{paddingVertical:6,paddingHorizontal:16,borderRadius:16,backgroundColor:P.card,...lift},sumFlat:{paddingVertical:6,paddingHorizontal:16,borderRadius:16,backgroundColor:P.paper},sumRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:12,minHeight:34},sumKey:{...t(15,P.ink2,"regular",1.35),flexShrink:1},sumValue:{...t(15,P.ink,"regular",1.35),fontVariant:["tabular-nums"],textAlign:"right"},sumTotalRow:{minHeight:42},sumTotal:{...t(17,P.ink,"bold",1.3),fontVariant:["tabular-nums"]},fine:t(13,P.ink3,"regular",1.45),fineC:{...t(13,P.ink3,"regular",1.45),marginTop:14,textAlign:"center"},coFine:{...t(12.5,P.ink3,"regular",1.45),textAlign:"center"},empty:{alignItems:"center",gap:8,paddingTop:48,paddingHorizontal:12,paddingBottom:8},emptyTile:{width:72,height:72,borderRadius:20,marginBottom:8,alignItems:"center",justifyContent:"center",backgroundColor:P.soft},emptyTitle:{...heading(28,1.1),textAlign:"center"},emptyBody:{...t(15.5,P.ink2,"regular",1.45),textAlign:"center",maxWidth:270},emptyAct:{marginTop:12},link:{minHeight:40,justifyContent:"center",alignSelf:"center"},linkText:{...t(15,P.link,"bold",1.3),textDecorationLine:"underline"},acts:{gap:4,alignItems:"stretch",marginTop:4},cancel:{minHeight:40,justifyContent:"center",alignSelf:"center"},cancelText:t(14.5,P.riskInk,"bold",1.3),orders:{gap:10},order:{flexDirection:"row",alignItems:"center",gap:10,paddingVertical:14,paddingLeft:16,paddingRight:14,borderRadius:22,backgroundColor:P.card,...lift},orderTop:{flexDirection:"row",flexWrap:"wrap",alignItems:"center",columnGap:10,rowGap:4},orderNo:{...t(12,P.ink3,"mono",1.3),letterSpacing:.48},orderWhat:{...t(16,P.ink,"bold",1.3),marginTop:8},orderMeta:{...t(14,P.ink3,"regular",1.4),marginTop:2},pics:{flexDirection:"row",gap:6,marginTop:10},pic:{width:40,height:40,borderRadius:10,overflow:"hidden",alignItems:"center",justifyContent:"center",backgroundColor:P.soft},pill:{flexDirection:"row",alignItems:"center",gap:6,minHeight:26,paddingHorizontal:10,borderRadius:999,backgroundColor:P.wait},pillText:t(13,P.ink,"bold",1.2),pillDone:{backgroundColor:P.clearBg},pillDoneText:{color:P.clearInk},pillSub:{backgroundColor:P.soft},pillSubText:{color:P.onSoft},pillRisk:{backgroundColor:P.riskBg},pillRiskText:{color:P.riskInk},pillQuiet:{backgroundColor:P.tile},pillQuietText:{color:P.ink2},carrier:{flexDirection:"row",alignItems:"center",gap:12},carrierIc:{width:40,height:40,borderRadius:11,alignItems:"center",justifyContent:"center",backgroundColor:P.soft},carrierName:t(16,P.ink,"bold",1.3),carrierNo:{...t(13,P.ink2,"mono",1.35),letterSpacing:.26,marginTop:1},carrierWait:t(14.5,P.ink2,"regular",1.4),carrierGo:{marginTop:10},trackLi:{flexDirection:"row",gap:12,paddingBottom:16},trackLast:{paddingBottom:0},trackRail:{position:"absolute",left:10,top:20,bottom:-2,width:2,borderRadius:1,backgroundColor:P.rail},trackRailDone:{backgroundColor:P.ink},trackDot:{width:22,height:22,borderRadius:11,alignItems:"center",justifyContent:"center",backgroundColor:P.card,borderWidth:2,borderColor:P.ring},trackDotDone:{backgroundColor:P.ink,borderWidth:0},trackDotNow:{backgroundColor:P.accent,borderColor:P.ink},trackT:t(15.5,P.ink,"bold",1.3),trackTNext:{color:P.ink3},trackD:{...t(14,P.ink3,"regular",1.35),marginTop:1},done:{paddingTop:40,paddingHorizontal:22,paddingBottom:20,alignItems:"center"},doneCheck:{width:76,height:76,borderRadius:38,alignItems:"center",justifyContent:"center",backgroundColor:P.accent},doneTitle:{...heading(34,1.1),marginTop:20,textAlign:"center"},doneWhen:{...t(16,P.ink,"bold",1.35),marginTop:10,textAlign:"center"},doneWho:{...t(15,P.ink2,"regular",1.35),marginTop:2,textAlign:"center"},next:{alignSelf:"stretch",marginTop:22,paddingVertical:4,paddingHorizontal:16,borderRadius:18,backgroundColor:P.card,...lift},nextLi:{flexDirection:"row",alignItems:"center",gap:12,paddingVertical:10},nextIc:{width:36,height:36,borderRadius:11,overflow:"hidden",alignItems:"center",justifyContent:"center",backgroundColor:P.soft},nextK:{...t(10.5,P.ink3,"mono",1.3),letterSpacing:.53,textTransform:"uppercase"},nextV:{...t(15,P.ink,"medium",1.35),marginTop:1},btn:{minHeight:48,paddingHorizontal:22,borderRadius:999,alignItems:"center",justifyContent:"center",flexDirection:"row",gap:8,backgroundColor:P.button},btnLg:{minHeight:56,paddingHorizontal:28},btnSm:{minHeight:40,paddingHorizontal:16},btnGhost:{backgroundColor:"transparent",borderWidth:1.5,borderColor:P.ink},btnOff:{opacity:.32},btnText:{...t(16,P.onButton,"bold",1.25),textAlign:"center"},btnTextLg:{fontSize:17,lineHeight:21},btnTextSm:{fontSize:15,lineHeight:19},btnTextGhost:{color:P.ink},scrim:{flex:1,justifyContent:"flex-end",backgroundColor:P.scrim},sheet:{maxHeight:"88%",paddingTop:10,paddingHorizontal:20,borderTopLeftRadius:28,borderTopRightRadius:28,backgroundColor:P.card},grab:{alignSelf:"center",width:40,height:5,borderRadius:3,backgroundColor:P.edge,marginBottom:10},sheetTop:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},kicker:{...t(11,P.ink3,"mono",1.3),letterSpacing:.88,textTransform:"uppercase",flexShrink:1},x:{width:40,height:40,marginRight:-8,alignItems:"center",justifyContent:"center",borderRadius:20},sheetTitle:{...heading(26,1.1),marginTop:4},co:{gap:10,marginTop:2},coItems:{gap:10},coItem:{flexDirection:"row",alignItems:"center",gap:12},coPic:{width:44,height:44,borderRadius:10,overflow:"hidden",alignItems:"center",justifyContent:"center",backgroundColor:P.soft},coName:t(15.5,P.ink,"bold",1.25),coSmall:t(13.5,P.ink3,"regular",1.35),coPrice:{...t(15,P.ink,"bold",1.3),fontVariant:["tabular-nums"]},coRows:{paddingVertical:2,paddingHorizontal:14,borderRadius:16,backgroundColor:P.paper},coRowsOnPage:{backgroundColor:P.card,...lift},coRow:{flexDirection:"row",alignItems:"center",gap:10,minHeight:44},coKey:{...t(14.5,P.ink3,"regular",1.3),width:74},coValue:{...t(14.5,P.ink,"bold",1.3),flex:1,minWidth:0},opts:{gap:8},opt:{flexDirection:"row",alignItems:"center",gap:12,minHeight:48,paddingVertical:12,paddingHorizontal:14,borderRadius:16,borderWidth:1.5,borderColor:P.edge},optOn:{backgroundColor:P.chosen,borderWidth:2,borderColor:P.ink},optRadio:{width:22,height:22,borderRadius:11,borderWidth:2,borderColor:P.edge,backgroundColor:P.card},optRadioOn:{borderWidth:7,borderColor:P.ink},optName:t(16,P.ink,"bold",1.35),optSmall:t(13,P.ink2,"regular",1.4),every:{flexDirection:"row",gap:4,padding:4,borderRadius:999,borderWidth:1.5,borderColor:P.edge,backgroundColor:P.card},everyBtn:{flex:1,minHeight:36,paddingHorizontal:6,borderRadius:999,alignItems:"center",justifyContent:"center"},everyOn:{backgroundColor:P.ink},everyText:{...t(14,P.ink,"bold",1.2),textAlign:"center"},everyTextOn:{color:P.card},coK:{...t(10.5,P.ink3,"mono",1.3),letterSpacing:.63,textTransform:"uppercase",marginBottom:6},subc:{flexDirection:"row",alignItems:"center",gap:12,paddingVertical:12,paddingLeft:12,paddingRight:14,borderRadius:22,backgroundColor:P.clearBg},subcImg:{width:56,height:56,borderRadius:14,overflow:"hidden",alignItems:"center",justifyContent:"center",backgroundColor:P.card},subcName:t(16,P.ink,"bold",1.25),subcSmall:{...t(14,P.ink2,"regular",1.35),marginTop:2},subcAlert:{...t(14,P.riskInk,"bold",1.35),marginTop:2},subcBtn:{minHeight:40,paddingHorizontal:14,borderRadius:999,alignItems:"center",justifyContent:"center",borderWidth:1.5,borderColor:P.ink,backgroundColor:P.card},subcBtnText:t(14,P.ink,"bold",1.2),coProd:{flexDirection:"row",alignItems:"center",gap:12},coProdImg:{width:56,height:56,borderRadius:14,overflow:"hidden",alignItems:"center",justifyContent:"center",backgroundColor:P.soft},coProdT:t(14,P.ink2,"bold",1.35),coProdP:{...t(14,P.ink2,"regular",1.35),marginTop:2},error:{paddingVertical:12,paddingHorizontal:14,borderRadius:14,backgroundColor:P.riskBg},errorText:t(14.5,P.riskInk,"medium",1.4),toast:{paddingVertical:12,paddingHorizontal:15,borderRadius:16,backgroundColor:P.ink},toastText:t(14.5,P.toastInk,"regular",1.4),ghostLine:{height:14,borderRadius:7,backgroundColor:P.tile},fieldLabel:{...t(15,P.ink,"bold",1.3),marginBottom:8},field:{...t(17,P.ink,"regular",1.25),minHeight:52,paddingHorizontal:16,borderRadius:16,borderWidth:1.5,borderColor:P.edge,backgroundColor:P.card},fieldErr:{...t(14,P.riskInk,"bold",1.35),marginTop:6}}),palette:P}}var HostContext=createContext({bottomInset:0,screenBottomInset:0,cardHandoff:null,onOrderHelp:null}),ShopV3HostProvider=HostContext.Provider;function useShopV3Host(){return useContext(HostContext)}function useShopStyles(){let theme=useEverfurTheme(),fonts=useKit().options.fonts;return useMemo(()=>makeShopStyles(theme,fonts),[theme,fonts])}function Page({head:head,foot:foot,children:children,testID:testID,onRefresh:onRefresh}){let s=useShopStyles(),{bottomInset:bottomInset}=useShopV3Host(),[pulling,setPulling]=useState(false),refreshControl=onRefresh?/* @__PURE__ */jsx(RefreshControl,{refreshing:pulling,tintColor:s.palette.ink3,colors:[s.palette.ink3],onRefresh:()=>{setPulling(true),onRefresh().finally(()=>setPulling(false))}}):void 0;/* @__PURE__ */
229
229
  return jsxs(View,{style:s.page,testID:testID,children:[head??null,
230
- /* @__PURE__ */jsx(ScrollView,{style:{flex:1},contentContainerStyle:s.body,keyboardShouldPersistTaps:"handled",children:children}),foot?/* @__PURE__ */jsx(View,{style:[s.foot,{paddingBottom:Math.max(12,bottomInset)}],children:foot}):null]})}function Title({children:children,sub:sub}){let s=useShopStyles();/* @__PURE__ */
230
+ /* @__PURE__ */jsx(ScrollView,{style:{flex:1},contentContainerStyle:s.body,keyboardShouldPersistTaps:"handled",refreshControl:refreshControl,children:children}),foot?/* @__PURE__ */jsx(View,{style:[s.foot,{paddingBottom:Math.max(12,bottomInset)}],children:foot}):null]})}function Title({children:children,sub:sub}){let s=useShopStyles();/* @__PURE__ */
231
231
  return jsxs(Fragment,{children:[
232
232
  /* @__PURE__ */jsx(Text4,{tier:"heading",style:s.title,accessibilityRole:"header",children:children}),sub?/* @__PURE__ */jsx(Text4,{style:s.sub2,children:sub}):null]})}function K({children:children}){let s=useShopStyles();/* @__PURE__ */
233
233
  return jsx(Text4,{tier:"heading",style:s.k,accessibilityRole:"header",children:children})}function Card2({children:children,style:style}){let s=useShopStyles();/* @__PURE__ */
@@ -316,14 +316,14 @@ return jsxs(View,{style:s.opts,children:[co.cards.map(c=>/* @__PURE__ */jsx(Opt,
316
316
  return jsxs(ErrorLine,{line:step.line,children:[step.form?/* @__PURE__ */jsxs(View,{style:{gap:12},children:[
317
317
  /* @__PURE__ */jsx(Field2,{label:step.form.firstLabel,value:first,onChange:setFirst,autoComplete:"given-name"}),
318
318
  /* @__PURE__ */jsx(Field2,{label:step.form.lastLabel,value:last,onChange:setLast,autoComplete:"family-name"}),step.form.error?/* @__PURE__ */jsx(Text4,{children:step.form.error}):null,
319
- /* @__PURE__ */jsx(Btn,{label:step.form.saveLabel,busy:step.form.busy,disabled:!first.trim()||!last.trim(),onPress:()=>step.form.onSave({firstName:first,lastName:last}),testID:"shop-save-name"})]}):null,step.handoff?/* @__PURE__ */jsx(Btn,{ghost:true,size:"sm",label:step.handoff.label,onPress:step.handoff.onPress,testID:"shop-add-name"}):null]})}var STEP_KEYS=["ordered","shipped","out_for_delivery","delivered"];function paymentFailed(order){return order.paymentStatus==="failed"||order.canPay&&order.paymentStatus==="requires_action"}function statusPill(status,copy,v3,failed=false){if(failed)return{label:copy.paymentFailed,tone:"risk"};let label=copy.orderStatus[status]??v3.orderSteps[0];return status==="delivered"?{label:label,tone:"done"}:status==="cancelled"||status==="rejected"?{label:label,tone:"quiet"}:status==="needs_support"?{label:label,tone:"risk"}:{label:label,tone:"wait"}}function latestTracking(order){if(order.tracking)return order.tracking;let best=null;for(let sh of order.shipments)for(let ev of sh.tracking)(!best||(ev.occurredAt??"")>(best.occurredAt??""))&&(best=ev);return best}function arrivesByOf(order){return order.arrivesBy??latestTracking(order)?.deliveryBy??null}function deliveredAt(order){let step=order.steps?.find(s=>s.key==="delivered");if(step?.at)return step.at;for(let sh of order.shipments){let ev=sh.tracking.find(t=>t.status==="delivered");if(ev?.occurredAt)return ev.occurredAt}return null}function orderEnded(status){return status==="cancelled"||status==="rejected"||status==="needs_support"}function orderHeadline(order,copy,v3){let status=order.summary.status;return paymentFailed(order)?copy.paymentFailed:status==="delivered"?v3.orderSteps[3]:orderEnded(status)?copy.orderStatus[status]??v3.orderSteps[0]:status==="shipped"?v3.orderSteps[1]:v3.orderSteps[0]}function orderSubline(order,copy,v3){let status=order.summary.status;if(orderEnded(status))return null;if(status==="delivered"){let day=formatDay(deliveredAt(order),{when:true});return day?v3.deliveredOn(day):null}let by=formatDay(arrivesByOf(order),{weekday:true});return by?v3.arrivesBy(by):copy.orderStatus[status]??null}function trackSteps(order,v3){let status=order.summary.status;if(status==="cancelled"||status==="rejected")return null;let sent=order.steps&&order.steps.length>0?order.steps:null,tracking=latestTracking(order),shippedAt=order.shipments.flatMap(sh=>sh.tracking).map(t=>t.occurredAt).filter(d=>!!d).sort()[0]??null,derived={ordered:{done:true,at:order.summary.placedAt},shipped:{done:status==="shipped"||status==="delivered"||!!tracking,at:shippedAt},out_for_delivery:{done:status==="delivered",at:null},delivered:{done:status==="delivered",at:deliveredAt(order)}},by=formatDay(arrivesByOf(order),{weekday:true}),steps=STEP_KEYS.map((key,i)=>{let s=sent?.find(x=>x.key===key),done=s?s.done:derived[key].done,at=s?s.at:derived[key].at,line=done?formatDay(at,{when:true}):key==="delivered"&&by?v3.expected(by):null;return{key:key,title:v3.orderSteps[i],line:line,done:done}}),nowAt=steps.reduce((at,s,i)=>s.done?i:at,-1);return steps.map(({done:done,...s},i)=>({...s,state:done?i===nowAt&&i<steps.length-1?"now":"done":"next"}))}function itemNames(items){return items.map(i=>i.title).join(", ")}function orderMeta(summary,copy,total=formatCents(summary.total)){let day=formatDay(summary.placedAt);return day?`${copy.placed(day)} · ${total}`:total}function OrderScreen({orderId:orderId,go:go}){let{client:client,copy:copy,v3:v3,payments:payments,petName:petName}=useShop(),host=useShopV3Host(),nav=useShopNativeNav(),s=useShopStyles(),order=useOrder(orderId),cards=usePaymentMethods(),[line,setLine]=useState(()=>peekOrderNotice(client,orderId));useEffect(()=>dropOrderNotice(client,orderId),[client,orderId]);let[asking,setAsking]=useState(false),cancel=useShopAction(keys=>client.cancelOrder(orderId,{idempotencyKey:keys.key("cancel"),reasonCode:"customer_request"})),pay=useShopAction(async keys=>{let key=keys.key("pay");for(let round=0;round<3;round+=1){let res=await client.payOrder(orderId,{idempotencyKey:key});if(!res.ok)return omsErr(res.error);if(res.value.outcome==="authorized")return omsOk({kind:"confirmed",orderIds:[orderId]});if(!payments||!res.value.payerAction)return omsOk({kind:"needsPayerAction",orderIds:[orderId]});let step=await payments.handleNextAction(res.value.payerAction,{orderId:orderId});if(!step.ok)return omsOk(step.closed?{kind:"payerActionClosed",orderIds:[orderId]}:{kind:"payerActionFailed",orderIds:[orderId],message:step.message});key=keys.next("pay")}return omsOk({kind:"needsPayerAction",orderIds:[orderId]})});if(order.phase==="loading")/* @__PURE__ */
319
+ /* @__PURE__ */jsx(Btn,{label:step.form.saveLabel,busy:step.form.busy,disabled:!first.trim()||!last.trim(),onPress:()=>step.form.onSave({firstName:first,lastName:last}),testID:"shop-save-name"})]}):null,step.handoff?/* @__PURE__ */jsx(Btn,{ghost:true,size:"sm",label:step.handoff.label,onPress:step.handoff.onPress,testID:"shop-add-name"}):null]})}var SHOP_FOREGROUND_COOLDOWN_MS=2e3;function useRereadOnForeground(signal,reread,enabled=true){let latest=useRef({reread:reread,enabled:enabled});latest.current={reread:reread,enabled:enabled},useEffect(()=>{let last=Number.NEGATIVE_INFINITY;return signal(()=>{if(!latest.current.enabled)return;let now=Date.now();now-last<SHOP_FOREGROUND_COOLDOWN_MS||(last=now,latest.current.reread())})},[signal])}var STEP_KEYS=["ordered","shipped","out_for_delivery","delivered"];function paymentFailed(order){return order.paymentStatus==="failed"||order.canPay&&order.paymentStatus==="requires_action"}function paymentSettled(order){return!order.canPay&&(order.paymentStatus==="authorized"||order.paymentStatus==="captured")}function paymentHeld(order){return order.paymentStatus==="authorized"||order.paymentStatus==="captured"}function statusPill(status,copy,v3,failed=false){if(failed)return{label:copy.paymentFailed,tone:"risk"};let label=copy.orderStatus[status]??v3.orderSteps[0];return status==="delivered"?{label:label,tone:"done"}:status==="cancelled"||status==="rejected"?{label:label,tone:"quiet"}:status==="needs_support"?{label:label,tone:"risk"}:{label:label,tone:"wait"}}function latestTracking(order){if(order.tracking)return order.tracking;let best=null;for(let sh of order.shipments)for(let ev of sh.tracking)(!best||(ev.occurredAt??"")>(best.occurredAt??""))&&(best=ev);return best}function arrivesByOf(order){return order.arrivesBy??latestTracking(order)?.deliveryBy??null}function deliveredAt(order){let step=order.steps?.find(s=>s.key==="delivered");if(step?.at)return step.at;for(let sh of order.shipments){let ev=sh.tracking.find(t=>t.status==="delivered");if(ev?.occurredAt)return ev.occurredAt}return null}function orderEnded(status){return status==="cancelled"||status==="rejected"||status==="needs_support"}function orderHeadline(order,copy,v3){let status=order.summary.status;return paymentFailed(order)?copy.paymentFailed:status==="delivered"?v3.orderSteps[3]:orderEnded(status)?copy.orderStatus[status]??v3.orderSteps[0]:status==="shipped"?v3.orderSteps[1]:v3.orderSteps[0]}function orderSubline(order,copy,v3){let status=order.summary.status;if(orderEnded(status)||paymentFailed(order))return null;if(status==="delivered"){let day=formatDay(deliveredAt(order),{when:true});return day?v3.deliveredOn(day):null}let by=formatDay(arrivesByOf(order),{weekday:true});if(by)return v3.arrivesBy(by);let line=copy.orderStatus[status]??null;return line===orderHeadline(order,copy,v3)?null:line}function offersBuyAgain(status){return status==="delivered"||orderEnded(status)}function trackSteps(order,v3){let status=order.summary.status;if(status==="cancelled"||status==="rejected")return null;let sent=order.steps&&order.steps.length>0?order.steps:null,tracking=latestTracking(order),shippedAt=order.shipments.flatMap(sh=>sh.tracking).map(t=>t.occurredAt).filter(d=>!!d).sort()[0]??null,derived={ordered:{done:true,at:order.summary.placedAt},shipped:{done:status==="shipped"||status==="delivered"||!!tracking,at:shippedAt},out_for_delivery:{done:status==="delivered",at:null},delivered:{done:status==="delivered",at:deliveredAt(order)}},by=formatDay(arrivesByOf(order),{weekday:true}),steps=STEP_KEYS.map((key,i)=>{let s=sent?.find(x=>x.key===key),done=s?s.done:derived[key].done,at=s?s.at:derived[key].at,line=done?formatDay(at,{when:true}):key==="delivered"&&by?v3.expected(by):null;return{key:key,title:v3.orderSteps[i],line:line,done:done}}),nowAt=steps.reduce((at,s,i)=>s.done?i:at,-1);return steps.map(({done:done,...s},i)=>({...s,state:done?i===nowAt&&i<steps.length-1?"now":"done":"next"}))}function itemNames(items){return items.map(i=>i.title).join(", ")}function orderMeta(summary,copy,total=formatCents(summary.total)){let day=formatDay(summary.placedAt);return day?`${copy.placed(day)} · ${total}`:total}var appForeground=listener=>{let away=AppState.currentState==="background",subscription=AppState.addEventListener("change",next=>{next==="background"?away=true:next==="active"&&away&&(away=false,listener())});return()=>subscription.remove()};function OrderScreen({orderId:orderId,go:go}){let{client:client,copy:copy,v3:v3,payments:payments,petName:petName}=useShop(),host=useShopV3Host(),nav=useShopNativeNav(),s=useShopStyles(),order=useOrder(orderId);useRereadOnForeground(appForeground,order.reread);let cards=usePaymentMethods(),[line,setLine]=useState(()=>peekOrderNotice(client,orderId));useEffect(()=>dropOrderNotice(client,orderId),[client,orderId]);let[asking,setAsking]=useState(false),cancel=useShopAction(keys=>client.cancelOrder(orderId,{idempotencyKey:keys.key("cancel"),reasonCode:"customer_request"})),pay=useShopAction(async keys=>{let key=keys.key("pay");for(let round=0;round<3;round+=1){let res=await client.payOrder(orderId,{idempotencyKey:key});if(!res.ok)return omsErr(res.error);if(res.value.outcome==="authorized")return omsOk({kind:"confirmed",orderIds:[orderId]});if(!payments||!res.value.payerAction)return omsOk({kind:"needsPayerAction",orderIds:[orderId]});let step=await payments.handleNextAction(res.value.payerAction,{orderId:orderId});if(!step.ok)return omsOk(step.closed?{kind:"payerActionClosed",orderIds:[orderId]}:{kind:"payerActionFailed",orderIds:[orderId],message:step.message});key=keys.next("pay")}return omsOk({kind:"needsPayerAction",orderIds:[orderId]})});if(order.phase==="loading")/* @__PURE__ */
320
320
  return jsxs(Page,{testID:"shop-order",children:[
321
321
  /* @__PURE__ */jsx(Ghosts,{}),
322
322
  /* @__PURE__ */jsx(Ghosts,{rows:2})]});if(order.phase!=="ready"||!order.value)/* @__PURE__ */
323
- return jsx(Page,{testID:"shop-order",children:/* @__PURE__ */jsx(ErrorLine,{line:copy.loadFailed(copy.thingOrder),children:/* @__PURE__ */jsx(Btn,{ghost:true,size:"sm",label:copy.tryAgain,onPress:order.refresh})})});let o=order.value,ref=o.summary.referenceNumber,steps=trackSteps(o,v3),tracking=latestTracking(o),carrier=tracking?.carrier??null,subtotal=o.subtotal??o.lines.reduce((n,l)=>n+l.unitPrice*l.quantity,0),discount=o.discount??o.lines.reduce((n,l)=>n+l.discount,0),tax=o.tax??o.lines.reduce((n,l)=>n+l.tax,0)+o.shippingTax,refunded=o.refunds.reduce((n,r)=>n+r.amount,0),sum=[{k:v3.subtotal,v:formatCents(subtotal)},...discount>0?[{k:v3.discount,v:formatCents(-discount)}]:[],{k:copy.shipping,v:o.shipping===0?copy.free:formatCents(o.shipping)},{k:copy.tax,v:formatCents(tax)},{k:copy.total,v:formatCents(o.summary.total),total:true},...refunded>0?[{k:v3.refund,v:formatCents(refunded)}]:[]],paidCard=o.paymentMethodId?(cards.value??[]).find(c=>c.paymentMethodId===o.paymentMethodId):void 0,again=o.lines.filter(l=>!l.requiresRx),busy=pay.busy||cancel.busy,onPay=()=>{setLine(null),pay.run().then(res=>{res&&(setLine(res.ok?outcomeLine(copy,res.value):refusalLine(copy,res.error)),order.refresh())})},onCancel=()=>{cancel.run().then(res=>{if(!res)return;if(!res.ok){setLine(refusalLine(copy,res.error)),setAsking(false);return}setAsking(false),cancel.reset();let out=res.value.outcome;setLine(out==="requested"?v3.cancelRequested:out==="not_cancellable"?copy.refusal.operation_not_supported??copy.actionFailed:null),order.refresh()})};/* @__PURE__ */
324
- return jsxs(Page,{testID:"shop-order",children:[ref?/* @__PURE__ */jsx(Text4,{style:s.orderNo,children:v3.orderTitle(ref)}):null,
323
+ return jsx(Page,{testID:"shop-order",onRefresh:order.reread,children:/* @__PURE__ */jsx(ErrorLine,{line:copy.loadFailed(copy.thingOrder),children:/* @__PURE__ */jsx(Btn,{ghost:true,size:"sm",label:copy.tryAgain,onPress:order.refresh})})});let o=order.value,ref=o.summary.referenceNumber,steps=trackSteps(o,v3),tracking=latestTracking(o),carrier=tracking?.carrier??null,subtotal=o.subtotal??o.lines.reduce((n,l)=>n+l.unitPrice*l.quantity,0),discount=o.discount??o.lines.reduce((n,l)=>n+l.discount,0),tax=o.tax??o.lines.reduce((n,l)=>n+l.tax,0)+o.shippingTax,refunded=o.refunds.reduce((n,r)=>r.state==="succeeded"?n+r.amount:n,0),sum=[{k:v3.subtotal,v:formatCents(subtotal)},...discount>0?[{k:v3.discount,v:formatCents(-discount)}]:[],{k:copy.shipping,v:o.shipping===0?copy.free:formatCents(o.shipping)},{k:copy.tax,v:formatCents(tax)},{k:copy.total,v:formatCents(o.summary.total),total:true},...refunded>0?[{k:v3.refund,v:formatCents(refunded)}]:[]],paidCard=o.paymentMethodId&&paymentHeld(o)?(cards.value??[]).find(c=>c.paymentMethodId===o.paymentMethodId):void 0,plain=o.lines.filter(l=>!l.requiresRx),rxLine=o.lines.find(l=>l.requiresRx)??null,buyAgain=offersBuyAgain(o.summary.status)?plain.length>0?()=>{for(let l of plain)addToCart(client,{offerId:l.offerId,title:l.title,unitPrice:l.unitPrice,requiresRx:false,quantity:l.quantity,...l.petId?{petId:l.petId}:{}});go({name:"cart"})}:rxLine?()=>go({name:"product",offerId:rxLine.offerId,...rxLine.petId?{petId:rxLine.petId}:{}}):null:null,busy=pay.busy||cancel.busy,staleCardLine=(line===copy.cardStepClosed||line===copy.cardStepFailed)&&paymentSettled(o),onPay=()=>{setLine(null),pay.run().then(res=>{res&&(setLine(res.ok?outcomeLine(copy,res.value):refusalLine(copy,res.error)),order.refresh())})},onCancel=()=>{cancel.run().then(res=>{if(!res)return;if(!res.ok){setLine(refusalLine(copy,res.error)),setAsking(false),order.reread();return}setAsking(false),cancel.reset();let out=res.value.outcome;setLine(out==="requested"?v3.cancelRequested:out==="not_cancellable"?copy.refusal.operation_not_supported??copy.actionFailed:null),order.refresh()})};/* @__PURE__ */
324
+ return jsxs(Page,{testID:"shop-order",onRefresh:order.reread,children:[ref?/* @__PURE__ */jsx(Text4,{style:s.orderNo,children:v3.orderTitle(ref)}):null,
325
325
  /* @__PURE__ */jsx(Title,{sub:orderSubline(o,copy,v3),children:orderHeadline(o,copy,v3)}),
326
- /* @__PURE__ */jsx(ErrorLine,{line:line}),o.canPay?/* @__PURE__ */jsx(Btn,{label:copy.payOrder,busy:pay.busy,busyLabel:copy.saving,disabled:busy,onPress:onPay,testID:"shop-order-pay"}):null,steps?/* @__PURE__ */jsx(Card2,{children:/* @__PURE__ */jsx(Track,{steps:steps,label:v3.tracking})}):null,tracking&&(carrier||tracking.trackingNumber)?/* @__PURE__ */jsxs(Card2,{children:[
326
+ /* @__PURE__ */jsx(ErrorLine,{line:staleCardLine?null:line}),o.canPay?/* @__PURE__ */jsx(Btn,{label:copy.payOrder,busy:pay.busy,busyLabel:copy.saving,disabled:busy,onPress:onPay,testID:"shop-order-pay"}):null,steps?/* @__PURE__ */jsx(Card2,{children:/* @__PURE__ */jsx(Track,{steps:steps,label:v3.tracking})}):null,tracking&&(carrier||tracking.trackingNumber)?/* @__PURE__ */jsxs(Card2,{children:[
327
327
  /* @__PURE__ */jsxs(View,{style:s.carrier,children:[
328
328
  /* @__PURE__ */jsx(IconTile,{name:"truck",size:40}),
329
329
  /* @__PURE__ */jsxs(View,{style:s.grow,children:[
@@ -338,7 +338,7 @@ return jsxs(View,{style:s.item,children:[
338
338
  /* @__PURE__ */jsx(Text4,{style:s.itemPrice,children:formatCents(l.unitPrice*l.quantity)}),
339
339
  /* @__PURE__ */jsx(Text4,{style:s.itemSmall,children:v3.orderItemLine(l.quantity)}),pet?/* @__PURE__ */jsx(Text4,{style:s.itemSmall,children:copy.forPet(pet)}):null]})]})]},l.lineId)})})}),
340
340
  /* @__PURE__ */jsx(Sum2,{rows:sum}),paidCard?/* @__PURE__ */jsx(View,{style:[s.coRows,s.coRowsOnPage],children:/* @__PURE__ */jsx(CoRow,{icon:"card",k:v3.paidWith,value:cardLabel(paidCard.brand,paidCard.last4)})}):null,
341
- /* @__PURE__ */jsxs(View,{style:s.acts,children:[again.length>0?/* @__PURE__ */jsx(Btn,{ghost:true,label:v3.buyAgain,onPress:()=>{for(let l of again)addToCart(client,{offerId:l.offerId,title:l.title,unitPrice:l.unitPrice,requiresRx:false,quantity:l.quantity,...l.petId?{petId:l.petId}:{}});go({name:"cart"})}}):null,host.onOrderHelp?/* @__PURE__ */jsx(LinkBtn,{label:v3.orderHelp,onPress:()=>host.onOrderHelp?.(orderId)}):null,o.canCancel?/* @__PURE__ */jsx(LinkBtn,{label:copy.cancelOrder,tone:"risk",disabled:busy,onPress:()=>setAsking(true)}):null]}),
341
+ /* @__PURE__ */jsxs(View,{style:s.acts,children:[buyAgain?/* @__PURE__ */jsx(Btn,{ghost:true,label:v3.buyAgain,onPress:buyAgain}):null,host.onOrderHelp?/* @__PURE__ */jsx(LinkBtn,{label:v3.orderHelp,onPress:()=>host.onOrderHelp?.(orderId)}):null,o.canCancel?/* @__PURE__ */jsx(LinkBtn,{label:copy.cancelOrder,tone:"risk",disabled:busy,onPress:()=>setAsking(true)}):null]}),
342
342
  /* @__PURE__ */jsxs(Sheet,{open:asking,kicker:v3.orderTitle(ref),closeLabel:copy.close,onClose:()=>!cancel.busy&&setAsking(false),children:[
343
343
  /* @__PURE__ */jsx(Text4,{tier:"heading",style:s.sheetTitle,accessibilityRole:"header",children:v3.cancelAsk}),v3.cancelBody?/* @__PURE__ */jsx(Text4,{style:s.sub2,children:v3.cancelBody}):null,
344
344
  /* @__PURE__ */jsxs(View,{style:{gap:10,marginTop:8},children:[
@@ -372,14 +372,14 @@ return jsx(Pressable,{style:[s.everyBtn,on?s.everyOn:null],onPress:()=>onEvery(d
372
372
  /* @__PURE__ */jsx(Toast,{line:line}),
373
373
  /* @__PURE__ */jsx(ErrorLine,{line:error}),active?/* @__PURE__ */jsx(Btn,{ghost:true,label:v3.skipNext,disabled:busy,onPress:onSkip,testID:"shop-plan-skip"}):null,paused?/* @__PURE__ */jsx(Btn,{label:copy.resumePlan,busy:busy,busyLabel:copy.saving,onPress:onResume,testID:"shop-plan-resume"}):null,active?/* @__PURE__ */jsx(LinkBtn,{label:copy.pausePlan,disabled:busy,onPress:onPause}):null,
374
374
  /* @__PURE__ */jsx(LinkBtn,{label:v3.cancelSubscription,tone:"risk",disabled:busy,onPress:onCancel}),
375
- /* @__PURE__ */jsx(LinkBtn,{label:copy.allOrders,onPress:onOrders})]})}var PAGE=20;function OrdersScreen({tabs:tabs,go:go}){let{client:client,copy:copy,v3:v3}=useShop(),s=useShopStyles(),first=useShopRead("v3-orders",()=>client.orders({limit:PAGE})),subs=useSubscriptions(),[more,setMore]=useState(null),[moreBusy,setMoreBusy]=useState(false),[moreError,setMoreError]=useState(null),firstValue=first.value;useEffect(()=>setMore(null),[firstValue]);let orders=[...firstValue?.orders??[],...more?.orders??[]],cursor=more?more.cursor:firstValue?.nextCursor??null,missing=orders.filter(o=>!o.items).map(o=>o.orderId),details=useShopRead(missing.length>0?`v3-order-items:${missing.join(",")}`:null,async()=>{let read=await Promise.all(missing.map(id=>client.order(id)));return omsOk(new Map(missing.map((id,i)=>[id,read[i].ok?read[i].value.lines.map(l=>({title:l.title,quantity:l.quantity,rx:l.requiresRx})):[]])))}),named=o=>o.items?o.items.map(i=>({title:i.title,quantity:i.quantity,rx:false})):details.value?.get(o.orderId)??null,busy=useRef(false),loadMore=useCallback(()=>{!cursor||busy.current||(busy.current=true,setMoreBusy(true),setMoreError(null),client.orders({limit:PAGE,cursor:cursor}).then(res=>{busy.current=false,setMoreBusy(false),res.ok?setMore(m=>({orders:[...m?.orders??[],...res.value.orders],cursor:res.value.nextCursor})):setMoreError(refusalLine(copy,res.error))}))},[client,copy,cursor]),head=/* @__PURE__ */jsx(CareTabs,{copy:copy,current:"orders",tabs:tabs});if(first.phase==="loading"||subs.phase==="loading")/* @__PURE__ */
375
+ /* @__PURE__ */jsx(LinkBtn,{label:copy.allOrders,onPress:onOrders})]})}var PAGE=20;function OrdersScreen({tabs:tabs,go:go}){let{client:client,copy:copy,v3:v3}=useShop(),s=useShopStyles(),first=useShopRead("v3-orders",()=>client.orders({limit:PAGE})),subs=useSubscriptions(),[more,setMore]=useState(null),[moreBusy,setMoreBusy]=useState(false),[moreError,setMoreError]=useState(null),firstValue=first.value;useEffect(()=>setMore(null),[firstValue]),useRereadOnForeground(appForeground,first.reread,more===null);let orders=[...firstValue?.orders??[],...more?.orders??[]],cursor=more?more.cursor:firstValue?.nextCursor??null,missing=orders.filter(o=>!o.items).map(o=>o.orderId),details=useShopRead(missing.length>0?`v3-order-items:${missing.join(",")}`:null,async()=>{let read=await Promise.all(missing.map(id=>client.order(id)));return omsOk(new Map(missing.map((id,i)=>[id,read[i].ok?read[i].value.lines.map(l=>({title:l.title,quantity:l.quantity,rx:l.requiresRx})):[]])))}),named=o=>o.items?o.items.map(i=>({title:i.title,quantity:i.quantity,rx:false})):details.value?.get(o.orderId)??null,busy=useRef(false),loadMore=useCallback(()=>{!cursor||busy.current||(busy.current=true,setMoreBusy(true),setMoreError(null),client.orders({limit:PAGE,cursor:cursor}).then(res=>{busy.current=false,setMoreBusy(false),res.ok?setMore(m=>({orders:[...m?.orders??[],...res.value.orders],cursor:res.value.nextCursor})):setMoreError(refusalLine(copy,res.error))}))},[client,copy,cursor]),head=/* @__PURE__ */jsx(CareTabs,{copy:copy,current:"orders",tabs:tabs});if(first.phase==="loading"||subs.phase==="loading")/* @__PURE__ */
376
376
  return jsxs(Page,{head:head,testID:"shop-orders",children:[
377
377
  /* @__PURE__ */jsx(Title,{children:v3.ordersTitle}),
378
378
  /* @__PURE__ */jsx(Ghosts,{})]});if(first.phase==="failed")/* @__PURE__ */
379
- return jsxs(Page,{head:head,testID:"shop-orders",children:[
379
+ return jsxs(Page,{head:head,testID:"shop-orders",onRefresh:first.reread,children:[
380
380
  /* @__PURE__ */jsx(Title,{children:v3.ordersTitle}),
381
- /* @__PURE__ */jsx(ErrorLine,{line:copy.loadFailed(copy.thingOrders),children:/* @__PURE__ */jsx(Btn,{ghost:true,size:"sm",label:copy.tryAgain,onPress:first.refresh})})]});let subbed=subs.phase==="failed"||subs.plans.length>0,section=/* @__PURE__ */jsx(Subscriptions,{subs:subs,onOrders:()=>{}});return orders.length===0&&subbed?/* @__PURE__ */jsxs(Page,{head:head,testID:"shop-orders",children:[
382
- /* @__PURE__ */jsx(Title,{children:v3.ordersTitle}),section]}):orders.length===0?/* @__PURE__ */jsx(Page,{head:head,testID:"shop-orders",children:/* @__PURE__ */jsx(Empty,{icon:"box",title:v3.ordersEmptyTitle,body:v3.ordersEmptyBody,action:/* @__PURE__ */jsx(Btn,{label:copy.tabShop,onPress:()=>go({name:"shop"})})})}):/* @__PURE__ */jsxs(Page,{head:head,testID:"shop-orders",children:[
381
+ /* @__PURE__ */jsx(ErrorLine,{line:copy.loadFailed(copy.thingOrders),children:/* @__PURE__ */jsx(Btn,{ghost:true,size:"sm",label:copy.tryAgain,onPress:first.refresh})})]});let subbed=subs.phase==="failed"||subs.plans.length>0,section=/* @__PURE__ */jsx(Subscriptions,{subs:subs,onOrders:()=>{}});return orders.length===0&&subbed?/* @__PURE__ */jsxs(Page,{head:head,testID:"shop-orders",onRefresh:first.reread,children:[
382
+ /* @__PURE__ */jsx(Title,{children:v3.ordersTitle}),section]}):orders.length===0?/* @__PURE__ */jsx(Page,{head:head,testID:"shop-orders",onRefresh:first.reread,children:/* @__PURE__ */jsx(Empty,{icon:"box",title:v3.ordersEmptyTitle,body:v3.ordersEmptyBody,action:/* @__PURE__ */jsx(Btn,{label:copy.tabShop,onPress:()=>go({name:"shop"})})})}):/* @__PURE__ */jsxs(Page,{head:head,testID:"shop-orders",onRefresh:first.reread,children:[
383
383
  /* @__PURE__ */jsx(Title,{children:v3.ordersTitle}),subbed?/* @__PURE__ */jsxs(Fragment,{children:[section,
384
384
  /* @__PURE__ */jsx(K,{children:v3.ordersTitle})]}):null,
385
385
  /* @__PURE__ */jsx(View,{style:s.orders,children:orders.map(o=>/* @__PURE__ */jsx(OrderCard,{order:o,items:named(o),onPress:()=>go({name:"order",orderId:o.orderId})},o.orderId))}),
@@ -413,7 +413,7 @@ return jsx(PlacedScreen,{orderIds:orderIds,go:nav.go})}function LiveAddress({the
413
413
  return jsx(AddressFormScreen,{copy:copy,...useAddressStep(then,nav.go)})}function LiveCard({then:then,handoff:handoff}){let{copy:copy}=useShop(),nav=useShopNativeNav();/* @__PURE__ */
414
414
  return jsx(CardSetupScreen,{copy:copy,...useCardStep(then,nav.go,handoff)})}function LiveBuy({route:route}){let{copy:copy}=useShop(),nav=useShopNativeNav();/* @__PURE__ */
415
415
  return jsx(BuyConfirmScreen,{copy:copy,...useBuyStep(route,nav.go)})}function LiveConsent({route:route}){let{copy:copy}=useShop(),nav=useShopNativeNav();/* @__PURE__ */
416
- return jsx(PlanConsentScreen,{copy:copy,...useConsentStep(route,nav.go)})}function shopBackRoute(route){switch(route.name){case"package":case"shop":case"plan":case"orders":return null;case"product":return{name:"shop"};case"order":return{name:"orders"};case"cart":case"placed":return{name:"shop"};case"address":case"card":return route.then??{name:"plan"};case"buy":case"consent":return{name:"product",offerId:route.offerId,...route.petId?{petId:route.petId}:{}}}}function EverfurShop(props){let{client:client,pets:pets,packageSource:packageSource,copy:copy,v3Copy:v3Copy,fonts:fonts,renderIcon:renderIcon,payments:payments,bottomInset:bottomInset,screenBottomInset:screenBottomInset,onOrderHelp:onOrderHelp,saveProfileName:saveProfileName,onProfileNameRequired:onProfileNameRequired,...rest}=props,addToCart2=v3Copy?.addToCart??SHOP_V3_COPY.addToCart,shopWords=useMemo(()=>({buyNow:addToCart2,...copy??{}}),[addToCart2,copy]),host=useMemo(()=>({bottomInset:bottomInset??0,screenBottomInset:screenBottomInset??bottomInset??0,cardHandoff:rest.cardHandoff??null,onOrderHelp:onOrderHelp??null}),[bottomInset,screenBottomInset,rest.cardHandoff,onOrderHelp]);/* @__PURE__ */
416
+ return jsx(PlanConsentScreen,{copy:copy,...useConsentStep(route,nav.go)})}function shopBackRoute(route){switch(route.name){case"package":case"shop":case"plan":case"orders":return null;case"product":return{name:"shop"};case"order":return{name:"orders"};case"cart":case"placed":return{name:"shop"};case"address":case"card":return route.then??{name:"plan"};case"buy":case"consent":return{name:"product",offerId:route.offerId,...route.petId?{petId:route.petId}:{}}}}function EverfurShop(props){let{client:client,pets:pets,packageSource:packageSource,copy:copy,v3Copy:v3Copy,fonts:fonts,renderIcon:renderIcon,payments:payments,bottomInset:bottomInset,screenBottomInset:screenBottomInset,onOrderHelp:onOrderHelp,saveProfileName:saveProfileName,onProfileNameRequired:onProfileNameRequired,cartStorageKey:cartStorageKey,...rest}=props,kv=useContext(EverfurContext)?.runtime.registry.services.kv;useEffect(()=>{if(cartStorageKey)return bindAsyncCartStorage(client,kv,`everfur.shop.cart.${cartStorageKey}`)},[client,kv,cartStorageKey]);let addToCart2=v3Copy?.addToCart??SHOP_V3_COPY.addToCart,shopWords=useMemo(()=>({buyNow:addToCart2,...copy??{}}),[addToCart2,copy]),host=useMemo(()=>({bottomInset:bottomInset??0,screenBottomInset:screenBottomInset??bottomInset??0,cardHandoff:rest.cardHandoff??null,onOrderHelp:onOrderHelp??null}),[bottomInset,screenBottomInset,rest.cardHandoff,onOrderHelp]);/* @__PURE__ */
417
417
  return jsx(ShopProvider,{client:client,payments:payments??null,copy:shopWords,...v3Copy?{v3Copy:v3Copy}:{},...pets?{pets:pets}:{},...packageSource?{packageSource:packageSource}:{},...saveProfileName?{saveProfileName:saveProfileName}:{},...onProfileNameRequired?{onProfileNameRequired:onProfileNameRequired}:{},children:/* @__PURE__ */jsx(ShopKitProvider,{...fonts?{fonts:fonts}:{},...renderIcon?{renderIcon:renderIcon}:{},children:/* @__PURE__ */jsx(ShopV3HostProvider,{value:host,children:/* @__PURE__ */jsx(ShopGate,{...rest})})})})}function ShopGate({route:route,onRouteChange:onRouteChange,openExternal:openExternal,bookVisitHref:bookVisitHref,cardHandoff:cardHandoff,avatar:avatar,reminders:reminders,onUnavailable:onUnavailable}){let{copy:copy}=useShop(),config=useShopConfig(),nav=useMemo(()=>({go:onRouteChange,openExternal:openExternal}),[onRouteChange,openExternal]),unavailable=config.phase==="unavailable"||config.error?.kind==="signedOut";return useEffect(()=>{unavailable&&onUnavailable?.()},[unavailable,onUnavailable]),config.phase==="loading"||unavailable?null:config.phase==="failed"||!config.value?/* @__PURE__ */jsx(ShopNativeNavProvider,{value:nav,children:/* @__PURE__ */jsx(Frame,{children:/* @__PURE__ */jsx(Stack,{children:/* @__PURE__ */jsx(LoadFailed,{copy:copy,thing:copy.thingShop,retry:config.refresh})})})}):/* @__PURE__ */jsx(ShopNativeNavProvider,{value:nav,children:/* @__PURE__ */jsx(ShopPages,{route:route,config:config.value,bookVisitHref:bookVisitHref??null,cardHandoff:cardHandoff??null,avatar:avatar,reminders:reminders})})}function ShopPages({route:route,config:config,bookVisitHref:bookVisitHref,cardHandoff:cardHandoff,avatar:avatar,reminders:reminders}){let pkg=usePackage(),packageShown=pkg.phase==="loading"||pkg.phase==="failed"||pkg.phase==="ready"&&pkg.value!==null,tabs=useMemo(()=>packageShown?["package","shop","orders","plan"]:["shop","orders","plan"],[packageShown]),shown=route.name==="package"&&!packageShown?{name:"shop"}:route,shared=useMemo(()=>({config:config,tabs:tabs,pkg:pkg,bookVisitHref:bookVisitHref}),[config,tabs,pkg,bookVisitHref]);/* @__PURE__ */
418
418
  return jsx(ShopSharedProvider,{value:shared,children:screen(shown,tabs,cardHandoff,avatar,reminders)})}function screen(route,tabs,cardHandoff,avatar,reminders){switch(route.name){case"package":/* @__PURE__ */
419
419
  return jsx(LivePackage,{});case"shop":/* @__PURE__ */
@@ -427,4 +427,4 @@ return jsx(LiveCard,{handoff:cardHandoff,...route.then?{then:route.then}:{}});ca
427
427
  return jsx(LiveBuy,{route:route});case"consent":/* @__PURE__ */
428
428
  return jsx(LiveConsent,{route:route});case"cart":/* @__PURE__ */
429
429
  return jsx(LiveCart,{});case"placed":/* @__PURE__ */
430
- return jsx(LivePlaced,{orderIds:route.orderIds},route.orderIds.join(","))}}var SECRET_IN_URL=/(client_secret|_secret_|[?&#](sk|rk)_(live|test)_)/i,FAILED={ok:false,message:null},CLOSED={ok:false,message:null,closed:true};function safePageUrl(raw){if(!raw)return null;let u;try{u=new URL(raw)}catch{return null}return u.protocol!=="https:"||u.username||u.password||SECRET_IN_URL.test(raw)?null:u.toString()}function returnedParam(result,returnUrl,key){if(result.type!=="success"||typeof result.url!="string"||!result.url.startsWith(returnUrl))return;let queryAt=result.url.indexOf("?");if(queryAt===-1)return null;let query=result.url.slice(queryAt+1).split("#")[0]??"";for(let pair of query.split("&")){let[k,v=""]=pair.split("=");if(k===key)try{return decodeURIComponent(v)}catch{return null}}return null}async function runInBrowser(openAuthSession,url,returnUrl,read){let result;try{result=await openAuthSession(url,returnUrl)}catch{return FAILED}return result.type!=="success"?CLOSED:read(result)}function createInAppBrowserCardSetup(options){let{openAuthSession:openAuthSession,pageUrl:pageUrl,client:client,returnUrl:returnUrl}=options,makePage=async()=>{if(pageUrl)return pageUrl();if(!client)return null;let res=await client.startCardSetupSession({idempotencyKey:newIdempotencyKey(),returnUrl:returnUrl});return res.ok?res.value.url:null};return async()=>{let url;try{url=safePageUrl(await makePage())}catch{url=null}return url?runInBrowser(openAuthSession,url,returnUrl,result=>{let outcome=returnedParam(result,returnUrl,"oms_card");return outcome===void 0?FAILED:outcome==="canceled"?CLOSED:outcome===null||outcome==="done"?{ok:true}:FAILED}):FAILED}}function createInAppBrowserPayments(options){let{openAuthSession:openAuthSession,client:client,returnUrl:returnUrl}=options;return{confirmCardSetup:()=>Promise.resolve(FAILED),async handleNextAction(_clientSecret,context){if(!context?.orderId)return FAILED;let url;try{let res=await client.cardActionLink(context.orderId,{returnUrl:returnUrl});url=res.ok?safePageUrl(res.value.url):null}catch{url=null}return url?runInBrowser(openAuthSession,url,returnUrl,result=>{let outcome=returnedParam(result,returnUrl,"oms_card_action");return outcome==="succeeded"?{ok:true}:outcome==="canceled"?CLOSED:FAILED}):FAILED}}}function createInAppBrowserCard(options){return{cardHandoff:createInAppBrowserCardSetup({openAuthSession:options.openAuthSession,client:options.client,returnUrl:options.returnUrl}),payments:createInAppBrowserPayments(options)}}var OmsWireError=class _OmsWireError extends Error{constructor(field){super(`OMS answer could not be read: ${field}`);this.field=field;this.name="OmsWireError",Object.setPrototypeOf(this,_OmsWireError.prototype)}};function obj(value,field){if(value===null||typeof value!="object"||Array.isArray(value))throw new OmsWireError(field);return value}function arr(value,field){if(value==null)return[];if(!Array.isArray(value))throw new OmsWireError(field);return value}function str(o,key,field=key){let v=o[key];if(typeof v!="string"||v.length===0)throw new OmsWireError(field);return v}function optStr(o,key){let v=o[key];return typeof v=="string"&&v.length>0?v:null}function int(o,key,field=key){let v=o[key];if(typeof v!="number"||!Number.isFinite(v))throw new OmsWireError(field);return Math.trunc(v)}function optInt(o,key){let v=o[key];return typeof v=="number"&&Number.isFinite(v)?Math.trunc(v):null}function bool(o,key){return o[key]===true}function petIdOf(value){if(!value||typeof value!="object")return null;let id=value.pet_id;return typeof id=="string"&&id.length>0?id:null}var PACK_UNITS=["each","gram","milliliter"],SPEEDS=["ground","two_day","next_day"];function packUnit(o){let v=o.pack_unit;return typeof v=="string"&&PACK_UNITS.includes(v)?v:null}function speed(v){return typeof v=="string"&&SPEEDS.includes(v)?v:null}function httpsUrl(o,key){let v=optStr(o,key);if(!v)return null;try{return new URL(v).protocol==="https:"?v:null}catch{return null}}function shopConfigFromWire(raw){let o=obj(raw,"shop-config"),delivery=o.delivery&&typeof o.delivery=="object"?o.delivery:null,key=optStr(o,"stripe_publishable_key");return{recurringTermsVersion:optStr(o,"recurring_terms_version"),recurringTermsUrl:httpsUrl(o,"recurring_terms_url"),stripePublishableKey:key&&/^pk_(test|live)_[A-Za-z0-9]+$/.test(key)?key:null,delivery:delivery?{firstFill:speed(delivery.first_fill),refill:speed(delivery.refill)}:null,rxContactMissing:Array.isArray(o.rx_contact_missing)?o.rx_contact_missing.filter(p=>typeof p=="string"):null}}function offerFromWire(raw){let o=obj(raw,"offer"),qty=o.pack_quantity;return{offerId:str(o,"offer_id"),sku:optStr(o,"sku")??"",title:str(o,"title"),fulfillmentType:optStr(o,"fulfillment_type")??"physical",requiresRx:bool(o,"requires_rx"),compounded:bool(o,"compounded"),packQuantity:typeof qty=="string"&&/^\d+(\.\d+)?$/.test(qty)?qty:null,packUnit:packUnit(o),price:optInt(o,"price"),imageUrl:httpsUrl(o,"image_url")}}function offerPageFromWire(raw){let o=obj(raw,"offers");return{offers:arr(o.offers,"offers").map(offerFromWire),nextCursor:optStr(o,"next_cursor")}}function quoteFromWire(raw){let o=obj(raw,"quote");return{lines:arr(o.lines,"lines").map(l=>{let line=obj(l,"line");return{offerId:str(line,"offer_id"),quantity:int(line,"quantity"),petId:petIdOf(line.pet),unitPrice:int(line,"unit_price"),discount:optInt(line,"discount")??0,tax:optInt(line,"tax")??0}}),shipping:int(o,"shipping"),tax:optInt(o,"tax")??0,total:int(o,"total"),expiresAt:str(o,"expires_at")}}function checkoutFromWire(raw){let o=obj(raw,"checkout");return{checkoutId:str(o,"checkout_id"),state:optStr(o,"state")??"draft",orderIds:arr(o.order_ids,"order_ids").filter(id=>typeof id=="string"),createdAt:optStr(o,"created_at")??"",total:int(o,"total"),shipping:optInt(o,"shipping")??0,tax:optInt(o,"tax")??0}}function confirmationFromWire(raw){let o=obj(raw,"confirmation");return{checkoutId:str(o,"checkout_id"),resale:arr(o.resale,"resale").map(r=>{let entry=obj(r,"resale"),outcome=str(entry,"outcome");if(outcome!=="confirmed"&&outcome!=="action_required")throw new OmsWireError("resale.outcome");let payerAction=optStr(entry,"payer_action");if(outcome==="action_required"&&!payerAction)throw new OmsWireError("resale.payer_action");return{outcome:outcome,orderId:str(entry,"order_id"),payerAction:outcome==="confirmed"?null:payerAction}})}}function orderSummaryFromWire(raw){let o=obj(raw,"order"),ref=o.reference&&typeof o.reference=="object"?o.reference:null;return{orderId:str(o,"order_id"),referenceNumber:ref?optStr(ref,"number"):null,status:str(o,"status"),total:int(o,"total"),placedAt:optStr(o,"placed_at"),itemCount:optInt(o,"item_count"),items:Array.isArray(o.items)?o.items.flatMap(orderItemFromWire):null}}function orderItemFromWire(raw){if(raw===null||typeof raw!="object"||Array.isArray(raw))return[];let o=raw,offerId=optStr(o,"offer_id"),title=optStr(o,"title"),quantity=optInt(o,"quantity");return offerId&&title&&quantity!==null?[{offerId:offerId,title:title,quantity:quantity}]:[]}function orderStepFromWire(raw){if(raw===null||typeof raw!="object"||Array.isArray(raw))return[];let o=raw,key=optStr(o,"key");return key?[{key:key,done:o.done===true,at:optStr(o,"at")}]:[]}function optTrackingFromWire(raw){if(raw===null||typeof raw!="object"||Array.isArray(raw))return null;try{return trackingFromWire(raw)}catch{return null}}function orderPageFromWire(raw){let o=obj(raw,"orders");return{orders:arr(o.orders,"orders").map(orderSummaryFromWire),nextCursor:optStr(o,"next_cursor")}}function orderLineFromWire(raw){let o=obj(raw,"line"),qty=o.pack_quantity;return{lineId:str(o,"line_id"),offerId:str(o,"offer_id"),sku:optStr(o,"sku")??"",title:str(o,"title"),requiresRx:bool(o,"requires_rx"),compounded:bool(o,"compounded"),packQuantity:typeof qty=="string"&&/^\d+(\.\d+)?$/.test(qty)?qty:null,packUnit:packUnit(o),quantity:int(o,"quantity"),unitPrice:int(o,"unit_price"),discount:optInt(o,"discount")??0,tax:optInt(o,"tax")??0,fulfillmentType:optStr(o,"fulfillment_type")??"physical",petId:petIdOf(o.pet)}}function trackingFromWire(raw){let o=obj(raw,"tracking");return{carrier:optStr(o,"carrier"),trackingNumber:optStr(o,"tracking_number"),status:str(o,"status"),occurredAt:optStr(o,"occurred_at"),trackingUrl:httpsUrl(o,"tracking_url"),deliveryBy:optStr(o,"delivery_by")}}function shipmentFromWire(raw){let o=obj(raw,"shipment");return{shipmentId:str(o,"shipment_id"),state:str(o,"state"),lines:arr(o.lines,"shipment.lines").map(l=>{let line=obj(l,"shipment.line");return{lineId:str(line,"line_id"),quantity:int(line,"quantity")}}),tracking:arr(o.tracking,"tracking").map(trackingFromWire)}}function orderFromWire(raw){let o=obj(raw,"order");return{summary:orderSummaryFromWire(o.summary),lines:arr(o.lines,"lines").map(orderLineFromWire),shipping:optInt(o,"shipping")??0,shippingTax:optInt(o,"shipping_tax")??0,shipments:arr(o.shipments,"shipments").map(shipmentFromWire),canCancel:bool(o,"can_cancel"),canReturn:bool(o,"can_return"),canPay:bool(o,"can_pay"),paymentStatus:optStr(o,"payment_status"),refunds:arr(o.refunds,"refunds").map(r=>{let refund=obj(r,"refund");return{refundId:str(refund,"refund_id"),amount:int(refund,"amount"),state:str(refund,"state")}}),returnIds:arr(o.return_ids,"return_ids").filter(id=>typeof id=="string"),subtotal:optInt(o,"subtotal"),discount:optInt(o,"discount"),tax:optInt(o,"tax"),arrivesBy:optStr(o,"arrives_by"),tracking:optTrackingFromWire(o.tracking),steps:Array.isArray(o.steps)?o.steps.flatMap(orderStepFromWire):null,paymentMethodId:optStr(o,"payment_method_id")}}function cancelOutcomeFromWire(raw){let o=obj(raw,"cancel");return{outcome:str(o,"outcome"),refunded:optInt(o,"refunded"),reasonCode:optStr(o,"reason_code")}}function payOutcomeFromWire(raw){let o=obj(raw,"pay"),outcome=str(o,"outcome");if(outcome!=="authorized"&&outcome!=="action_required")throw new OmsWireError("pay.outcome");let payerAction=optStr(o,"payer_action");if(outcome==="action_required"&&!payerAction)throw new OmsWireError("pay.payer_action");return{outcome:outcome,orderId:str(o,"order_id"),payerAction:outcome==="authorized"?null:payerAction}}function returnFromWire(raw){let o=obj(raw,"return");return{returnId:str(o,"return_id"),orderId:str(o,"order_id"),lines:arr(o.lines,"return.lines").map(l=>{let line=obj(l,"return.line");return{lineId:str(line,"line_id"),quantity:int(line,"quantity"),reasonCode:str(line,"reason_code")}}),state:str(o,"state"),rma:optStr(o,"rma"),labelUrl:httpsUrl(o,"label_url")}}function caseFromWire(raw){let o=obj(raw,"case");return{caseId:str(o,"case_id"),orderId:str(o,"order_id"),reasonCode:str(o,"reason_code"),message:typeof o.message=="string"?o.message:"",openedAt:str(o,"opened_at"),closedAt:optStr(o,"closed_at")}}function casesFromWire(raw){return arr(obj(raw,"cases").cases,"cases").map(caseFromWire)}function prescriptionsFromWire(raw){return arr(obj(raw,"prescriptions").prescriptions,"prescriptions").map(r=>{let o=obj(r,"prescription");return{rxId:str(o,"rx_id"),petId:str(o,"pet_id"),drug:optStr(o,"drug")??"",strength:optStr(o,"strength"),form:optStr(o,"form"),status:str(o,"status"),offerId:optStr(o,"offer_id"),packCount:optInt(o,"pack_count"),fillsUsed:optInt(o,"fills_used"),fillsTotal:optInt(o,"fills_total"),expiresOn:optStr(o,"expires_on"),nextFillOn:optStr(o,"next_fill_on")}})}function addressEntryFromWire(raw){let o=obj(raw,"address");return{ref:str(o,"ref"),label:optStr(o,"label")??"",isDefault:bool(o,"is_default"),isComplete:bool(o,"is_complete")}}function addressesFromWire(raw){return arr(obj(raw,"addresses").addresses,"addresses").map(addressEntryFromWire)}function addressDetailFromWire(raw){let o=obj(raw,"address"),a=obj(o.address,"address.address"),address={recipientName:optStr(a,"recipient_name"),line1:str(a,"line1","address.line1"),line2:optStr(a,"line2"),city:str(a,"city","address.city"),region:optStr(a,"region")??"",postalCode:str(a,"postal_code","address.postal_code"),country:str(a,"country","address.country")};return{...addressEntryFromWire(o),address:address}}function paymentMethodsFromWire(raw){return arr(obj(raw,"payment_methods").payment_methods,"payment_methods").map(r=>{let o=obj(r,"payment_method");return{paymentMethodId:str(o,"payment_method_id"),brand:optStr(o,"brand")??"",last4:optStr(o,"last4")??"",wallet:optStr(o,"wallet")}})}function paymentSetupFromWire(raw){let o=obj(raw,"setup");return{setupId:str(o,"setup_id"),payerAction:str(o,"payer_action")}}function cardSetupLinkFromWire(raw){let o=obj(raw,"card_setup");return{url:str(o,"url")}}function cardActionLinkFromWire(raw){let o=obj(raw,"card_action");return{url:str(o,"url"),expiresAt:str(o,"expires_at")}}function planFromWire(raw){let o=obj(raw,"plan");return{planId:str(o,"plan_id"),lines:arr(o.lines,"plan.lines").map(l=>{let line=obj(l,"plan.line");return{offerId:str(line,"offer_id"),quantity:int(line,"quantity"),petId:petIdOf(line.pet)}}),cadenceDays:int(o,"cadence_days"),destination:optStr(o,"destination"),paymentMethodId:optStr(o,"payment_method_id"),discountBps:optInt(o,"discount_bps")??0,nextRun:optStr(o,"next_run"),state:str(o,"state"),stopReason:optStr(o,"stop_reason")}}function planPageFromWire(raw){let o=obj(raw,"plans");return{plans:arr(o.plans,"plans").map(planFromWire),nextCursor:optStr(o,"next_cursor")}}function cartLineToWire(line){let wire={offer_id:line.offerId,quantity:line.quantity};return line.petId&&(wire.pet={namespace:"consumer",pet_id:line.petId}),line.rxId&&(wire.rx_id=line.rxId),wire}function addressInputToWire(input){let a=input.address;return{label:input.label,make_default:input.makeDefault===true,address:{recipient_name:a.recipientName,line1:a.line1,line2:a.line2,city:a.city,region:a.region,postal_code:a.postalCode,country:a.country}}}function cycleReviewFromWire(raw){let o=obj(raw,"cycle"),review=o.review&&typeof o.review=="object"&&!Array.isArray(o.review)?o.review:null,pick=key=>review&&review[key]!==void 0&&review[key]!==null?review[key]:o[key];return{planId:str(o,"plan_id"),reviewId:optStr(o,"review_id")??(review?optStr(review,"review_id"):null),cycle:int(o,"cycle"),state:review?optStr(review,"state")??optStr(o,"state"):optStr(o,"state"),lines:arr(pick("lines"),"cycle.lines").map(l=>{let line=obj(l,"cycle.line");return{offerId:str(line,"offer_id"),quantity:int(line,"quantity"),petId:petIdOf(line.pet)}}),shipsOn:review?optStr(review,"ships_on")??optStr(o,"ships_on"):optStr(o,"ships_on"),approveBy:review?optStr(review,"approve_by")??optStr(o,"approve_by"):optStr(o,"approve_by"),quoteLines:arr(o.quote&&typeof o.quote=="object"?o.quote.lines:null,"cycle.quote.lines").map(l=>{let line=obj(l,"cycle.quote.line");return{offerId:str(line,"offer_id"),quantity:int(line,"quantity"),petId:petIdOf(line.pet),unitPrice:int(line,"unit_price"),discount:optInt(line,"discount")??0,tax:optInt(line,"tax")??0}})}}function cycleDraftFromWire(raw){let o=obj(raw,"cycle-draft");return{checkoutId:str(o,"checkout_id"),shipping:optInt(o,"shipping")??0,tax:optInt(o,"tax")??0,total:int(o,"total"),expiresAt:optStr(o,"expires_at")}}var DEFAULT_PATH="/api/v1/oms",DEFAULT_TIMEOUT_MS=3e4,PAYMENT_METHOD_ID=/^[A-Za-z0-9_]+$/,REASON_CODE=/^[a-z][a-z0-9_]{0,63}$/;function checkBaseUrl(raw){let url;try{url=new URL(raw)}catch{throw new EverfurConfigError("invalid-argument","createOmsClient: baseUrl is not a URL")}let local=url.hostname==="localhost"||url.hostname==="127.0.0.1"||url.hostname==="[::1]";if(url.protocol!=="https:"&&!(local&&url.protocol==="http:"))throw new EverfurConfigError("invalid-argument","createOmsClient: baseUrl must be https");if(url.username||url.password||url.search||url.hash)throw new EverfurConfigError("invalid-argument","createOmsClient: baseUrl must be a bare origin or path");return url.origin+url.pathname.replace(/\/+$/,"")}function seg(id){return encodeURIComponent(id)}function isValidId(id){return typeof id=="string"&&id.length>0&&id.length<=256}function createOmsClient(config){let base=checkBaseUrl(config.baseUrl)+(config.path??DEFAULT_PATH).replace(/\/+$/,""),fetchImpl=config.fetch??(typeof globalThis.fetch=="function"?globalThis.fetch.bind(globalThis):void 0);if(!fetchImpl)throw new EverfurConfigError("missing-peer-dependency","createOmsClient: no fetch available; pass config.fetch");if(!config.auth||config.auth.kind!=="everfur_consumer"||typeof config.auth.getToken!="function")throw new EverfurConfigError("invalid-argument",'createOmsClient: auth must be { kind: "everfur_consumer", getToken }');let getToken=config.auth.getToken,channel=config.channel??"web",timeoutMs=config.timeoutMs??DEFAULT_TIMEOUT_MS;async function token(){try{let t=await getToken();return typeof t=="string"&&t.length>0?t:null}catch{return null}}async function send(call){let bearer=await token();if(!bearer)return omsErr({kind:"signedOut"});let url=base+call.path;if(call.query){let params=new URLSearchParams;for(let[k,v]of Object.entries(call.query))v!==void 0&&params.set(k,String(v));let qs=params.toString();qs&&(url+=`?${qs}`)}let headers={accept:"application/json",authorization:`Bearer ${bearer}`},init={method:call.method,headers:headers};call.body!==void 0&&(headers["content-type"]="application/json",init.body=JSON.stringify(call.body));let controller=typeof AbortController=="function"?new AbortController:null;controller&&(init.signal=controller.signal);let timedOut=false,timer=setTimeout(()=>{timedOut=true,controller?.abort()},timeoutMs),res;try{res=await fetchImpl(url,init)}catch{return clearTimeout(timer),omsErr({kind:timedOut?"timeout":"network"})}try{let requestId=res.headers.get("x-request-id")??void 0,rid=requestId?{requestId:requestId}:{};if(res.status<200||res.status>=300){let body=res.status===402||res.status===409||res.status===422?await res.json().catch(()=>null):null;return omsErr(omsErrorFromStatus(res.status,body,{...rid,retryAfter:res.headers.get("retry-after")}))}if(call.read===null||res.status===204)return omsOk(void 0);let raw;try{raw=await res.json()}catch{return omsErr({kind:"badResponse",...rid})}try{return omsOk(call.read(raw))}catch{return omsErr({kind:"badResponse",...rid})}}catch{return omsErr({kind:timedOut?"timeout":"network"})}finally{clearTimeout(timer)}}let invalid=()=>Promise.resolve(omsErr({kind:"invalidRequest"}));function withId(id,run){return isValidId(id)?run(seg(id)):invalid()}let lines=ls=>ls.map(cartLineToWire);return{shopConfig:()=>send({method:"GET",path:"/shop-config",read:shopConfigFromWire}),offers:(q={})=>send({method:"GET",path:"/catalog/offers",query:{text:q.text,requires_rx:q.requiresRx,cursor:q.cursor,limit:q.limit},read:offerPageFromWire}),offer:offerId=>withId(offerId,id=>send({method:"GET",path:`/catalog/offers/${id}`,read:offerFromWire})),prescriptions:()=>send({method:"GET",path:"/prescriptions",read:prescriptionsFromWire}),addresses:()=>send({method:"GET",path:"/addresses",read:addressesFromWire}),address:ref=>withId(ref,id=>send({method:"GET",path:`/addresses/${id}`,read:addressDetailFromWire})),addAddress:input=>send({method:"POST",path:"/addresses",body:addressInputToWire(input),read:addressEntryFromWire}),updateAddress:(ref,input)=>withId(ref,id=>send({method:"PUT",path:`/addresses/${id}`,body:addressInputToWire(input),read:addressEntryFromWire})),removeAddress:ref=>withId(ref,id=>send({method:"DELETE",path:`/addresses/${id}`,read:null})),makeDefaultAddress:ref=>withId(ref,id=>send({method:"POST",path:`/addresses/${id}/default`,read:addressEntryFromWire})),paymentMethods:()=>send({method:"GET",path:"/payment-methods",read:paymentMethodsFromWire}),setupPaymentMethod:()=>send({method:"POST",path:"/payment-methods/setup",read:paymentSetupFromWire}),startCardSetupSession:r=>send({method:"POST",path:"/payment-methods/setup-session",body:{idempotency_key:r.idempotencyKey,return_url:r.returnUrl},read:cardSetupLinkFromWire}),removePaymentMethod:pm=>PAYMENT_METHOD_ID.test(pm)?send({method:"DELETE",path:`/payment-methods/${pm}`,read:null}):invalid(),quote:r=>send({method:"POST",path:"/cart/quote",body:{lines:lines(r.lines),ship_to:r.shipTo,promo_code:r.promoCode??null},read:quoteFromWire}),createCheckout:r=>send({method:"POST",path:"/checkouts",body:{idempotency_key:r.idempotencyKey,channel:channel,lines:lines(r.lines),ship_to:r.shipTo,receipt_email:r.receiptEmail??null,promo_code:r.promoCode??null},read:checkoutFromWire}),confirmCheckout:(checkoutId,r)=>PAYMENT_METHOD_ID.test(r.paymentMethodId)&&Number.isInteger(r.expectedTotal)?withId(checkoutId,id=>send({method:"POST",path:`/checkouts/${id}/confirm`,body:{idempotency_key:r.idempotencyKey,expected_total:r.expectedTotal,payment_method_id:r.paymentMethodId},read:confirmationFromWire})):invalid(),orders:(q={})=>send({method:"GET",path:"/orders",query:{cursor:q.cursor,limit:q.limit,reference:q.reference},read:orderPageFromWire}),order:orderId=>withId(orderId,id=>send({method:"GET",path:`/orders/${id}`,read:orderFromWire})),cancelOrder:(orderId,r)=>REASON_CODE.test(r.reasonCode)?withId(orderId,id=>send({method:"POST",path:`/orders/${id}/cancel`,body:{idempotency_key:r.idempotencyKey,reason_code:r.reasonCode},read:cancelOutcomeFromWire})):invalid(),payOrder:(orderId,r)=>{if(r.paymentMethodId!==void 0&&!PAYMENT_METHOD_ID.test(r.paymentMethodId))return invalid();let body={idempotency_key:r.idempotencyKey};return r.paymentMethodId&&(body.payment_method_id=r.paymentMethodId),withId(orderId,id=>send({method:"POST",path:`/orders/${id}/pay`,body:body,read:payOutcomeFromWire}))},cardActionLink:(orderId,r)=>withId(orderId,id=>send({method:"POST",path:`/orders/${id}/card-action-link`,body:{return_url:r.returnUrl},read:cardActionLinkFromWire})),requestReturn:(orderId,r)=>r.lines.every(l=>REASON_CODE.test(l.reasonCode))?withId(orderId,id=>send({method:"POST",path:`/orders/${id}/returns`,body:{idempotency_key:r.idempotencyKey,lines:r.lines.map(l=>({line_id:l.lineId,quantity:l.quantity,reason_code:l.reasonCode}))},read:returnFromWire})):invalid(),getReturn:returnId=>withId(returnId,id=>send({method:"GET",path:`/returns/${id}`,read:returnFromWire})),cancelReturn:returnId=>withId(returnId,id=>send({method:"POST",path:`/returns/${id}/cancel`,read:returnFromWire})),openCase:(orderId,r)=>REASON_CODE.test(r.reasonCode)&&r.message.length<=4e3?withId(orderId,id=>send({method:"POST",path:`/orders/${id}/cases`,body:{idempotency_key:r.idempotencyKey,reason_code:r.reasonCode,message:r.message},read:caseFromWire})):invalid(),orderCases:orderId=>withId(orderId,id=>send({method:"GET",path:`/orders/${id}/cases`,read:casesFromWire})),plans:(q={})=>send({method:"GET",path:"/subscriptions",query:{cursor:q.cursor,limit:q.limit},read:planPageFromWire}),createPlan:input=>PAYMENT_METHOD_ID.test(input.paymentMethodId)?send({method:"POST",path:"/subscriptions",body:{idempotency_key:input.idempotencyKey,cadence_days:input.cadenceDays,destination:input.destination,payment_method_id:input.paymentMethodId,consent_terms_version:input.consentTermsVersion,lines:lines(input.lines)},read:planFromWire}):invalid(),updatePlan:(planId,patch)=>{if(patch.paymentMethodId!==void 0&&!PAYMENT_METHOD_ID.test(patch.paymentMethodId))return invalid();let body={idempotency_key:patch.idempotencyKey};return patch.lines&&(body.lines=lines(patch.lines)),patch.cadenceDays!==void 0&&(body.cadence_days=patch.cadenceDays),patch.destination!==void 0&&(body.destination=patch.destination),patch.paymentMethodId!==void 0&&(body.payment_method_id=patch.paymentMethodId),withId(planId,id=>send({method:"PATCH",path:`/subscriptions/${id}`,body:body,read:planFromWire}))},planAction:(planId,r)=>withId(planId,id=>send({method:"POST",path:`/subscriptions/${id}/actions`,body:{idempotency_key:r.idempotencyKey,operation:r.operation},read:planFromWire})),cancelPlan:planId=>withId(planId,id=>send({method:"POST",path:`/subscriptions/${id}/cancel`,read:planFromWire})),cycleReview:planId=>withId(planId,id=>send({method:"GET",path:`/subscriptions/${id}/cycle`,read:cycleReviewFromWire})),editCycle:(planId,cycle,r)=>Number.isInteger(cycle)&&cycle>0?withId(planId,id=>send({method:"PUT",path:`/subscriptions/${id}/cycles/${cycle}/lines`,body:{idempotency_key:r.idempotencyKey,lines:lines(r.lines)},read:cycleReviewFromWire})):invalid(),draftCycle:(planId,cycle)=>Number.isInteger(cycle)&&cycle>0?withId(planId,id=>send({method:"POST",path:`/subscriptions/${id}/cycles/${cycle}/draft`,read:cycleDraftFromWire})):invalid(),approveCycle:(planId,cycle,r)=>Number.isInteger(cycle)&&cycle>0&&Number.isInteger(r.expectedTotal)?withId(planId,id=>send({method:"POST",path:`/subscriptions/${id}/cycles/${cycle}/approve`,body:{idempotency_key:r.idempotencyKey,checkout_id:r.checkoutId,expected_total:r.expectedTotal},read:confirmationFromWire})):invalid(),skipCycle:(planId,cycle,r)=>Number.isInteger(cycle)&&cycle>0?withId(planId,id=>send({method:"POST",path:`/subscriptions/${id}/cycles/${cycle}/skip`,body:{idempotency_key:r.idempotencyKey},read:planFromWire})):invalid()}}export{EverfurShop,SHOP_COPY,SHOP_COPY_PLACEHOLDERS,SHOP_V3_COPY,SHOP_V3_COPY_PLACEHOLDERS,ShopSwitchCard,UNAVAILABLE_PACKAGE_SOURCE,createInAppBrowserCard,createInAppBrowserCardSetup,createInAppBrowserPayments,createOmsClient,createOmsPackageSource,isOmsRefusal,isOmsRetryable,isOmsUnavailable,newIdempotencyKey,shopBackRoute,shopCopy,shopV3Copy};
430
+ return jsx(LivePlaced,{orderIds:route.orderIds},route.orderIds.join(","))}}function parseUrl(raw,base){let Url=globalThis.URL;if(typeof Url=="function"){let url;try{url=base===void 0?new Url(raw):new Url(raw,base)}catch{return null}try{if(url.protocol)return url}catch{}}return parseByPattern(raw)}var WHOLE_URL=/^([a-z][a-z0-9+.-]*):\/\/(?:([^:@/?#]*)(?::([^@/?#]*))?@)?(\[[0-9a-f:.]+\]|[\w.~-]+)(?::(\d*))?(\/[^?#]*)?(\?[^#]*)?(#.*)?$/i,REWRITTEN_BY_STANDARD_PARSER=/[\s\u0000-\u001f\u007f\\]/,DEFAULT_PORTS={"http:":"80","https:":"443"};function parseByPattern(raw,base){let input=raw.trim();let match=REWRITTEN_BY_STANDARD_PARSER.test(input)?null:WHOLE_URL.exec(input);if(match===null)return null;let[,scheme="",username="",password="",host="",portText="",path="",query="",fragment=""]=match,protocol=`${scheme.toLowerCase()}:`,portNumber=Number(portText);if(portNumber>65535)return null;let port=portText===""||String(portNumber)===DEFAULT_PORTS[protocol]?"":String(portNumber),special=DEFAULT_PORTS[protocol]!==void 0,hostPort=host.toLowerCase()+(port&&`:${port}`),pathname=path||(special?"/":""),credentials=username||password?`${username}${password&&`:${password}`}@`:"";return{href:`${protocol}//${credentials}${hostPort}${pathname}${query}${fragment}`,protocol:protocol,username:username,password:password,hostname:host.toLowerCase(),port:port,origin:special?`${protocol}//${hostPort}`:"null",pathname:pathname,search:query==="?"?"":query,hash:fragment==="#"?"":fragment}}var SECRET_IN_URL=/(client_secret|_secret_|[?&#](sk|rk)_(live|test)_)/i,FAILED={ok:false,message:null},CLOSED={ok:false,message:null,closed:true};function safePageUrl(raw){if(!raw)return null;let u=parseUrl(raw);return u===null||u.protocol!=="https:"||u.username||u.password||SECRET_IN_URL.test(raw)?null:u.href}function returnedParam(result,returnUrl,key){if(result.type!=="success"||typeof result.url!="string"||!result.url.startsWith(returnUrl))return;let queryAt=result.url.indexOf("?");if(queryAt===-1)return null;let query=result.url.slice(queryAt+1).split("#")[0]??"";for(let pair of query.split("&")){let[k,v=""]=pair.split("=");if(k===key)try{return decodeURIComponent(v)}catch{return null}}return null}async function runInBrowser(openAuthSession,url,returnUrl,read){let result;try{result=await openAuthSession(url,returnUrl)}catch{return FAILED}return result.type!=="success"?CLOSED:read(result)}function createInAppBrowserCardSetup(options){let{openAuthSession:openAuthSession,pageUrl:pageUrl,client:client,returnUrl:returnUrl}=options,makePage=async()=>{if(pageUrl)return pageUrl();if(!client)return null;let res=await client.startCardSetupSession({idempotencyKey:newIdempotencyKey(),returnUrl:returnUrl});return res.ok?res.value.url:null};return async()=>{let url;try{url=safePageUrl(await makePage())}catch{url=null}return url?runInBrowser(openAuthSession,url,returnUrl,result=>{let outcome=returnedParam(result,returnUrl,"oms_card");return outcome===void 0?FAILED:outcome==="canceled"?CLOSED:outcome===null||outcome==="done"?{ok:true}:FAILED}):FAILED}}function createInAppBrowserPayments(options){let{openAuthSession:openAuthSession,client:client,returnUrl:returnUrl}=options;return{confirmCardSetup:()=>Promise.resolve(FAILED),async handleNextAction(_clientSecret,context){if(!context?.orderId)return FAILED;let url;try{let res=await client.cardActionLink(context.orderId,{returnUrl:returnUrl});url=res.ok?safePageUrl(res.value.url):null}catch{url=null}return url?runInBrowser(openAuthSession,url,returnUrl,result=>{let outcome=returnedParam(result,returnUrl,"oms_card_action");return outcome==="succeeded"?{ok:true}:outcome==="canceled"?CLOSED:FAILED}):FAILED}}}function createInAppBrowserCard(options){return{cardHandoff:createInAppBrowserCardSetup({openAuthSession:options.openAuthSession,client:options.client,returnUrl:options.returnUrl}),payments:createInAppBrowserPayments(options)}}var OmsWireError=class _OmsWireError extends Error{constructor(field){super(`OMS answer could not be read: ${field}`);this.field=field;this.name="OmsWireError",Object.setPrototypeOf(this,_OmsWireError.prototype)}};function obj(value,field){if(value===null||typeof value!="object"||Array.isArray(value))throw new OmsWireError(field);return value}function arr(value,field){if(value==null)return[];if(!Array.isArray(value))throw new OmsWireError(field);return value}function str2(o,key,field=key){let v=o[key];if(typeof v!="string"||v.length===0)throw new OmsWireError(field);return v}function optStr(o,key){let v=o[key];return typeof v=="string"&&v.length>0?v:null}function int(o,key,field=key){let v=o[key];if(typeof v!="number"||!Number.isFinite(v))throw new OmsWireError(field);return Math.trunc(v)}function optInt(o,key){let v=o[key];return typeof v=="number"&&Number.isFinite(v)?Math.trunc(v):null}function bool(o,key){return o[key]===true}function petIdOf(value){if(!value||typeof value!="object")return null;let id=value.pet_id;return typeof id=="string"&&id.length>0?id:null}var PACK_UNITS=["each","gram","milliliter"],SPEEDS=["ground","two_day","next_day"];function packUnit(o){let v=o.pack_unit;return typeof v=="string"&&PACK_UNITS.includes(v)?v:null}function speed(v){return typeof v=="string"&&SPEEDS.includes(v)?v:null}function httpsUrl(o,key){let v=optStr(o,key);return v&&parseUrl(v)?.protocol==="https:"?v:null}function shopConfigFromWire(raw){let o=obj(raw,"shop-config"),delivery=o.delivery&&typeof o.delivery=="object"?o.delivery:null,key=optStr(o,"stripe_publishable_key");return{recurringTermsVersion:optStr(o,"recurring_terms_version"),recurringTermsUrl:httpsUrl(o,"recurring_terms_url"),stripePublishableKey:key&&/^pk_(test|live)_[A-Za-z0-9]+$/.test(key)?key:null,delivery:delivery?{firstFill:speed(delivery.first_fill),refill:speed(delivery.refill)}:null,rxContactMissing:Array.isArray(o.rx_contact_missing)?o.rx_contact_missing.filter(p=>typeof p=="string"):null}}function offerFromWire(raw){let o=obj(raw,"offer"),qty=o.pack_quantity;return{offerId:str2(o,"offer_id"),sku:optStr(o,"sku")??"",title:str2(o,"title"),fulfillmentType:optStr(o,"fulfillment_type")??"physical",requiresRx:bool(o,"requires_rx"),compounded:bool(o,"compounded"),packQuantity:typeof qty=="string"&&/^\d+(\.\d+)?$/.test(qty)?qty:null,packUnit:packUnit(o),price:optInt(o,"price"),imageUrl:httpsUrl(o,"image_url")}}function offerPageFromWire(raw){let o=obj(raw,"offers");return{offers:arr(o.offers,"offers").map(offerFromWire),nextCursor:optStr(o,"next_cursor")}}function quoteFromWire(raw){let o=obj(raw,"quote");return{lines:arr(o.lines,"lines").map(l=>{let line=obj(l,"line");return{offerId:str2(line,"offer_id"),quantity:int(line,"quantity"),petId:petIdOf(line.pet),unitPrice:int(line,"unit_price"),discount:optInt(line,"discount")??0,tax:optInt(line,"tax")??0}}),shipping:int(o,"shipping"),tax:optInt(o,"tax")??0,total:int(o,"total"),expiresAt:str2(o,"expires_at")}}function checkoutFromWire(raw){let o=obj(raw,"checkout");return{checkoutId:str2(o,"checkout_id"),state:optStr(o,"state")??"draft",orderIds:arr(o.order_ids,"order_ids").filter(id=>typeof id=="string"),createdAt:optStr(o,"created_at")??"",total:int(o,"total"),shipping:optInt(o,"shipping")??0,tax:optInt(o,"tax")??0}}function confirmationFromWire(raw){let o=obj(raw,"confirmation");return{checkoutId:str2(o,"checkout_id"),resale:arr(o.resale,"resale").map(r=>{let entry=obj(r,"resale"),outcome=str2(entry,"outcome");if(outcome!=="confirmed"&&outcome!=="action_required")throw new OmsWireError("resale.outcome");let payerAction=optStr(entry,"payer_action");if(outcome==="action_required"&&!payerAction)throw new OmsWireError("resale.payer_action");return{outcome:outcome,orderId:str2(entry,"order_id"),payerAction:outcome==="confirmed"?null:payerAction}})}}function orderSummaryFromWire(raw){let o=obj(raw,"order"),ref=o.reference&&typeof o.reference=="object"?o.reference:null;return{orderId:str2(o,"order_id"),referenceNumber:ref?optStr(ref,"number"):null,status:str2(o,"status"),total:int(o,"total"),placedAt:optStr(o,"placed_at"),itemCount:optInt(o,"item_count"),items:Array.isArray(o.items)?o.items.flatMap(orderItemFromWire):null}}function orderItemFromWire(raw){if(raw===null||typeof raw!="object"||Array.isArray(raw))return[];let o=raw,offerId=optStr(o,"offer_id"),title=optStr(o,"title"),quantity=optInt(o,"quantity");return offerId&&title&&quantity!==null?[{offerId:offerId,title:title,quantity:quantity}]:[]}function orderStepFromWire(raw){if(raw===null||typeof raw!="object"||Array.isArray(raw))return[];let o=raw,key=optStr(o,"key");return key?[{key:key,done:o.done===true,at:optStr(o,"at")}]:[]}function optTrackingFromWire(raw){if(raw===null||typeof raw!="object"||Array.isArray(raw))return null;try{return trackingFromWire(raw)}catch{return null}}function orderPageFromWire(raw){let o=obj(raw,"orders");return{orders:arr(o.orders,"orders").map(orderSummaryFromWire),nextCursor:optStr(o,"next_cursor")}}function orderLineFromWire(raw){let o=obj(raw,"line"),qty=o.pack_quantity;return{lineId:str2(o,"line_id"),offerId:str2(o,"offer_id"),sku:optStr(o,"sku")??"",title:str2(o,"title"),requiresRx:bool(o,"requires_rx"),compounded:bool(o,"compounded"),packQuantity:typeof qty=="string"&&/^\d+(\.\d+)?$/.test(qty)?qty:null,packUnit:packUnit(o),quantity:int(o,"quantity"),unitPrice:int(o,"unit_price"),discount:optInt(o,"discount")??0,tax:optInt(o,"tax")??0,fulfillmentType:optStr(o,"fulfillment_type")??"physical",petId:petIdOf(o.pet)}}function trackingFromWire(raw){let o=obj(raw,"tracking");return{carrier:optStr(o,"carrier"),trackingNumber:optStr(o,"tracking_number"),status:str2(o,"status"),occurredAt:optStr(o,"occurred_at"),trackingUrl:httpsUrl(o,"tracking_url"),deliveryBy:optStr(o,"delivery_by")}}function shipmentFromWire(raw){let o=obj(raw,"shipment");return{shipmentId:str2(o,"shipment_id"),state:str2(o,"state"),lines:arr(o.lines,"shipment.lines").map(l=>{let line=obj(l,"shipment.line");return{lineId:str2(line,"line_id"),quantity:int(line,"quantity")}}),tracking:arr(o.tracking,"tracking").map(trackingFromWire)}}function orderFromWire(raw){let o=obj(raw,"order");return{summary:orderSummaryFromWire(o.summary),lines:arr(o.lines,"lines").map(orderLineFromWire),shipping:optInt(o,"shipping")??0,shippingTax:optInt(o,"shipping_tax")??0,shipments:arr(o.shipments,"shipments").map(shipmentFromWire),canCancel:bool(o,"can_cancel"),canReturn:bool(o,"can_return"),canPay:bool(o,"can_pay"),paymentStatus:optStr(o,"payment_status"),refunds:arr(o.refunds,"refunds").map(r=>{let refund=obj(r,"refund");return{refundId:str2(refund,"refund_id"),amount:int(refund,"amount"),state:str2(refund,"state")}}),returnIds:arr(o.return_ids,"return_ids").filter(id=>typeof id=="string"),subtotal:optInt(o,"subtotal"),discount:optInt(o,"discount"),tax:optInt(o,"tax"),arrivesBy:optStr(o,"arrives_by"),tracking:optTrackingFromWire(o.tracking),steps:Array.isArray(o.steps)?o.steps.flatMap(orderStepFromWire):null,paymentMethodId:optStr(o,"payment_method_id")}}function cancelOutcomeFromWire(raw){let o=obj(raw,"cancel");return{outcome:str2(o,"outcome"),refunded:optInt(o,"refunded"),reasonCode:optStr(o,"reason_code")}}function payOutcomeFromWire(raw){let o=obj(raw,"pay"),outcome=str2(o,"outcome");if(outcome!=="authorized"&&outcome!=="action_required")throw new OmsWireError("pay.outcome");let payerAction=optStr(o,"payer_action");if(outcome==="action_required"&&!payerAction)throw new OmsWireError("pay.payer_action");return{outcome:outcome,orderId:str2(o,"order_id"),payerAction:outcome==="authorized"?null:payerAction}}function returnFromWire(raw){let o=obj(raw,"return");return{returnId:str2(o,"return_id"),orderId:str2(o,"order_id"),lines:arr(o.lines,"return.lines").map(l=>{let line=obj(l,"return.line");return{lineId:str2(line,"line_id"),quantity:int(line,"quantity"),reasonCode:str2(line,"reason_code")}}),state:str2(o,"state"),rma:optStr(o,"rma"),labelUrl:httpsUrl(o,"label_url")}}function caseFromWire(raw){let o=obj(raw,"case");return{caseId:str2(o,"case_id"),orderId:str2(o,"order_id"),reasonCode:str2(o,"reason_code"),message:typeof o.message=="string"?o.message:"",openedAt:str2(o,"opened_at"),closedAt:optStr(o,"closed_at")}}function casesFromWire(raw){return arr(obj(raw,"cases").cases,"cases").map(caseFromWire)}function prescriptionsFromWire(raw){return arr(obj(raw,"prescriptions").prescriptions,"prescriptions").map(r=>{let o=obj(r,"prescription");return{rxId:str2(o,"rx_id"),petId:str2(o,"pet_id"),drug:optStr(o,"drug")??"",strength:optStr(o,"strength"),form:optStr(o,"form"),status:str2(o,"status"),offerId:optStr(o,"offer_id"),packCount:optInt(o,"pack_count"),fillsUsed:optInt(o,"fills_used"),fillsTotal:optInt(o,"fills_total"),expiresOn:optStr(o,"expires_on"),nextFillOn:optStr(o,"next_fill_on")}})}function addressEntryFromWire(raw){let o=obj(raw,"address");return{ref:str2(o,"ref"),label:optStr(o,"label")??"",isDefault:bool(o,"is_default"),isComplete:bool(o,"is_complete")}}function addressesFromWire(raw){return arr(obj(raw,"addresses").addresses,"addresses").map(addressEntryFromWire)}function addressDetailFromWire(raw){let o=obj(raw,"address"),a=obj(o.address,"address.address"),address={recipientName:optStr(a,"recipient_name"),line1:str2(a,"line1","address.line1"),line2:optStr(a,"line2"),city:str2(a,"city","address.city"),region:optStr(a,"region")??"",postalCode:str2(a,"postal_code","address.postal_code"),country:str2(a,"country","address.country")};return{...addressEntryFromWire(o),address:address}}function paymentMethodsFromWire(raw){return arr(obj(raw,"payment_methods").payment_methods,"payment_methods").map(r=>{let o=obj(r,"payment_method");return{paymentMethodId:str2(o,"payment_method_id"),brand:optStr(o,"brand")??"",last4:optStr(o,"last4")??"",wallet:optStr(o,"wallet")}})}function paymentSetupFromWire(raw){let o=obj(raw,"setup");return{setupId:str2(o,"setup_id"),payerAction:str2(o,"payer_action")}}function cardSetupLinkFromWire(raw){let o=obj(raw,"card_setup");return{url:str2(o,"url")}}function cardActionLinkFromWire(raw){let o=obj(raw,"card_action");return{url:str2(o,"url"),expiresAt:str2(o,"expires_at")}}function planFromWire(raw){let o=obj(raw,"plan");return{planId:str2(o,"plan_id"),lines:arr(o.lines,"plan.lines").map(l=>{let line=obj(l,"plan.line");return{offerId:str2(line,"offer_id"),quantity:int(line,"quantity"),petId:petIdOf(line.pet)}}),cadenceDays:int(o,"cadence_days"),destination:optStr(o,"destination"),paymentMethodId:optStr(o,"payment_method_id"),discountBps:optInt(o,"discount_bps")??0,nextRun:optStr(o,"next_run"),state:str2(o,"state"),stopReason:optStr(o,"stop_reason")}}function planPageFromWire(raw){let o=obj(raw,"plans");return{plans:arr(o.plans,"plans").map(planFromWire),nextCursor:optStr(o,"next_cursor")}}function cartLineToWire(line){let wire={offer_id:line.offerId,quantity:line.quantity};return line.petId&&(wire.pet={namespace:"consumer",pet_id:line.petId}),line.rxId&&(wire.rx_id=line.rxId),wire}function addressInputToWire(input){let a=input.address;return{label:input.label,make_default:input.makeDefault===true,address:{recipient_name:a.recipientName,line1:a.line1,line2:a.line2,city:a.city,region:a.region,postal_code:a.postalCode,country:a.country}}}function cycleReviewFromWire(raw){let o=obj(raw,"cycle"),review=o.review&&typeof o.review=="object"&&!Array.isArray(o.review)?o.review:null,pick=key=>review&&review[key]!==void 0&&review[key]!==null?review[key]:o[key];return{planId:str2(o,"plan_id"),reviewId:optStr(o,"review_id")??(review?optStr(review,"review_id"):null),cycle:int(o,"cycle"),state:review?optStr(review,"state")??optStr(o,"state"):optStr(o,"state"),lines:arr(pick("lines"),"cycle.lines").map(l=>{let line=obj(l,"cycle.line");return{offerId:str2(line,"offer_id"),quantity:int(line,"quantity"),petId:petIdOf(line.pet)}}),shipsOn:review?optStr(review,"ships_on")??optStr(o,"ships_on"):optStr(o,"ships_on"),approveBy:review?optStr(review,"approve_by")??optStr(o,"approve_by"):optStr(o,"approve_by"),quoteLines:arr(o.quote&&typeof o.quote=="object"?o.quote.lines:null,"cycle.quote.lines").map(l=>{let line=obj(l,"cycle.quote.line");return{offerId:str2(line,"offer_id"),quantity:int(line,"quantity"),petId:petIdOf(line.pet),unitPrice:int(line,"unit_price"),discount:optInt(line,"discount")??0,tax:optInt(line,"tax")??0}})}}function cycleDraftFromWire(raw){let o=obj(raw,"cycle-draft");return{checkoutId:str2(o,"checkout_id"),shipping:optInt(o,"shipping")??0,tax:optInt(o,"tax")??0,total:int(o,"total"),expiresAt:optStr(o,"expires_at")}}var DEFAULT_PATH="/api/v1/oms",DEFAULT_TIMEOUT_MS=3e4,PAYMENT_METHOD_ID=/^[A-Za-z0-9_]+$/,REASON_CODE=/^[a-z][a-z0-9_]{0,63}$/;function checkBaseUrl(raw){let url=parseUrl(raw);if(url===null)throw new EverfurConfigError("invalid-argument","createOmsClient: baseUrl is not a URL");let local=url.hostname==="localhost"||url.hostname==="127.0.0.1"||url.hostname==="[::1]";if(url.protocol!=="https:"&&!(local&&url.protocol==="http:"))throw new EverfurConfigError("invalid-argument","createOmsClient: baseUrl must be https");if(url.username||url.password||url.search||url.hash)throw new EverfurConfigError("invalid-argument","createOmsClient: baseUrl must be a bare origin or path");return url.origin+url.pathname.replace(/\/+$/,"")}function seg(id){return encodeURIComponent(id)}function isValidId(id){return typeof id=="string"&&id.length>0&&id.length<=256}function createOmsClient(config){let base=checkBaseUrl(config.baseUrl)+(config.path??DEFAULT_PATH).replace(/\/+$/,""),fetchImpl=config.fetch??(typeof globalThis.fetch=="function"?globalThis.fetch.bind(globalThis):void 0);if(!fetchImpl)throw new EverfurConfigError("missing-peer-dependency","createOmsClient: no fetch available; pass config.fetch");if(!config.auth||config.auth.kind!=="everfur_consumer"||typeof config.auth.getToken!="function")throw new EverfurConfigError("invalid-argument",'createOmsClient: auth must be { kind: "everfur_consumer", getToken }');let getToken=config.auth.getToken,channel=config.channel??"web",timeoutMs=config.timeoutMs??DEFAULT_TIMEOUT_MS;async function token(){try{let t=await getToken();return typeof t=="string"&&t.length>0?t:null}catch{return null}}async function send(call){let bearer=await token();if(!bearer)return omsErr({kind:"signedOut"});let url=base+call.path;if(call.query){let params=new URLSearchParams;for(let[k,v]of Object.entries(call.query))v!==void 0&&params.set(k,String(v));let qs=params.toString();qs&&(url+=`?${qs}`)}let headers={accept:"application/json",authorization:`Bearer ${bearer}`},init={method:call.method,headers:headers};call.body!==void 0&&(headers["content-type"]="application/json",init.body=JSON.stringify(call.body));let controller=typeof AbortController=="function"?new AbortController:null;controller&&(init.signal=controller.signal);let timedOut=false,timer=setTimeout(()=>{timedOut=true,controller?.abort()},timeoutMs),res;try{res=await fetchImpl(url,init)}catch{return clearTimeout(timer),omsErr({kind:timedOut?"timeout":"network"})}try{let requestId=res.headers.get("x-request-id")??void 0,rid=requestId?{requestId:requestId}:{};if(res.status<200||res.status>=300){let body=res.status===402||res.status===409||res.status===422?await res.json().catch(()=>null):null;return omsErr(omsErrorFromStatus(res.status,body,{...rid,retryAfter:res.headers.get("retry-after")}))}if(call.read===null||res.status===204)return omsOk(void 0);let raw;try{raw=await res.json()}catch{return omsErr({kind:"badResponse",...rid})}try{return omsOk(call.read(raw))}catch{return omsErr({kind:"badResponse",...rid})}}catch{return omsErr({kind:timedOut?"timeout":"network"})}finally{clearTimeout(timer)}}let invalid=()=>Promise.resolve(omsErr({kind:"invalidRequest"}));function withId(id,run){return isValidId(id)?run(seg(id)):invalid()}let lines=ls=>ls.map(cartLineToWire);return{shopConfig:()=>send({method:"GET",path:"/shop-config",read:shopConfigFromWire}),offers:(q={})=>send({method:"GET",path:"/catalog/offers",query:{text:q.text,requires_rx:q.requiresRx,cursor:q.cursor,limit:q.limit},read:offerPageFromWire}),offer:offerId=>withId(offerId,id=>send({method:"GET",path:`/catalog/offers/${id}`,read:offerFromWire})),prescriptions:()=>send({method:"GET",path:"/prescriptions",read:prescriptionsFromWire}),addresses:()=>send({method:"GET",path:"/addresses",read:addressesFromWire}),address:ref=>withId(ref,id=>send({method:"GET",path:`/addresses/${id}`,read:addressDetailFromWire})),addAddress:input=>send({method:"POST",path:"/addresses",body:addressInputToWire(input),read:addressEntryFromWire}),updateAddress:(ref,input)=>withId(ref,id=>send({method:"PUT",path:`/addresses/${id}`,body:addressInputToWire(input),read:addressEntryFromWire})),removeAddress:ref=>withId(ref,id=>send({method:"DELETE",path:`/addresses/${id}`,read:null})),makeDefaultAddress:ref=>withId(ref,id=>send({method:"POST",path:`/addresses/${id}/default`,read:addressEntryFromWire})),paymentMethods:()=>send({method:"GET",path:"/payment-methods",read:paymentMethodsFromWire}),setupPaymentMethod:()=>send({method:"POST",path:"/payment-methods/setup",read:paymentSetupFromWire}),startCardSetupSession:r=>send({method:"POST",path:"/payment-methods/setup-session",body:{idempotency_key:r.idempotencyKey,return_url:r.returnUrl},read:cardSetupLinkFromWire}),removePaymentMethod:pm=>PAYMENT_METHOD_ID.test(pm)?send({method:"DELETE",path:`/payment-methods/${pm}`,read:null}):invalid(),quote:r=>send({method:"POST",path:"/cart/quote",body:{lines:lines(r.lines),ship_to:r.shipTo,promo_code:r.promoCode??null},read:quoteFromWire}),createCheckout:r=>send({method:"POST",path:"/checkouts",body:{idempotency_key:r.idempotencyKey,channel:channel,lines:lines(r.lines),ship_to:r.shipTo,receipt_email:r.receiptEmail??null,promo_code:r.promoCode??null},read:checkoutFromWire}),confirmCheckout:(checkoutId,r)=>PAYMENT_METHOD_ID.test(r.paymentMethodId)&&Number.isInteger(r.expectedTotal)?withId(checkoutId,id=>send({method:"POST",path:`/checkouts/${id}/confirm`,body:{idempotency_key:r.idempotencyKey,expected_total:r.expectedTotal,payment_method_id:r.paymentMethodId},read:confirmationFromWire})):invalid(),orders:(q={})=>send({method:"GET",path:"/orders",query:{cursor:q.cursor,limit:q.limit,reference:q.reference},read:orderPageFromWire}),order:orderId=>withId(orderId,id=>send({method:"GET",path:`/orders/${id}`,read:orderFromWire})),cancelOrder:(orderId,r)=>REASON_CODE.test(r.reasonCode)?withId(orderId,id=>send({method:"POST",path:`/orders/${id}/cancel`,body:{idempotency_key:r.idempotencyKey,reason_code:r.reasonCode},read:cancelOutcomeFromWire})):invalid(),payOrder:(orderId,r)=>{if(r.paymentMethodId!==void 0&&!PAYMENT_METHOD_ID.test(r.paymentMethodId))return invalid();let body={idempotency_key:r.idempotencyKey};return r.paymentMethodId&&(body.payment_method_id=r.paymentMethodId),withId(orderId,id=>send({method:"POST",path:`/orders/${id}/pay`,body:body,read:payOutcomeFromWire}))},cardActionLink:(orderId,r)=>withId(orderId,id=>send({method:"POST",path:`/orders/${id}/card-action-link`,body:{return_url:r.returnUrl},read:cardActionLinkFromWire})),requestReturn:(orderId,r)=>r.lines.every(l=>REASON_CODE.test(l.reasonCode))?withId(orderId,id=>send({method:"POST",path:`/orders/${id}/returns`,body:{idempotency_key:r.idempotencyKey,lines:r.lines.map(l=>({line_id:l.lineId,quantity:l.quantity,reason_code:l.reasonCode}))},read:returnFromWire})):invalid(),getReturn:returnId=>withId(returnId,id=>send({method:"GET",path:`/returns/${id}`,read:returnFromWire})),cancelReturn:returnId=>withId(returnId,id=>send({method:"POST",path:`/returns/${id}/cancel`,read:returnFromWire})),openCase:(orderId,r)=>REASON_CODE.test(r.reasonCode)&&r.message.length<=4e3?withId(orderId,id=>send({method:"POST",path:`/orders/${id}/cases`,body:{idempotency_key:r.idempotencyKey,reason_code:r.reasonCode,message:r.message},read:caseFromWire})):invalid(),orderCases:orderId=>withId(orderId,id=>send({method:"GET",path:`/orders/${id}/cases`,read:casesFromWire})),plans:(q={})=>send({method:"GET",path:"/subscriptions",query:{cursor:q.cursor,limit:q.limit},read:planPageFromWire}),createPlan:input=>PAYMENT_METHOD_ID.test(input.paymentMethodId)?send({method:"POST",path:"/subscriptions",body:{idempotency_key:input.idempotencyKey,cadence_days:input.cadenceDays,destination:input.destination,payment_method_id:input.paymentMethodId,consent_terms_version:input.consentTermsVersion,lines:lines(input.lines)},read:planFromWire}):invalid(),updatePlan:(planId,patch)=>{if(patch.paymentMethodId!==void 0&&!PAYMENT_METHOD_ID.test(patch.paymentMethodId))return invalid();let body={idempotency_key:patch.idempotencyKey};return patch.lines&&(body.lines=lines(patch.lines)),patch.cadenceDays!==void 0&&(body.cadence_days=patch.cadenceDays),patch.destination!==void 0&&(body.destination=patch.destination),patch.paymentMethodId!==void 0&&(body.payment_method_id=patch.paymentMethodId),withId(planId,id=>send({method:"PATCH",path:`/subscriptions/${id}`,body:body,read:planFromWire}))},planAction:(planId,r)=>withId(planId,id=>send({method:"POST",path:`/subscriptions/${id}/actions`,body:{idempotency_key:r.idempotencyKey,operation:r.operation},read:planFromWire})),cancelPlan:planId=>withId(planId,id=>send({method:"POST",path:`/subscriptions/${id}/cancel`,read:planFromWire})),cycleReview:planId=>withId(planId,id=>send({method:"GET",path:`/subscriptions/${id}/cycle`,read:cycleReviewFromWire})),editCycle:(planId,cycle,r)=>Number.isInteger(cycle)&&cycle>0?withId(planId,id=>send({method:"PUT",path:`/subscriptions/${id}/cycles/${cycle}/lines`,body:{idempotency_key:r.idempotencyKey,lines:lines(r.lines)},read:cycleReviewFromWire})):invalid(),draftCycle:(planId,cycle)=>Number.isInteger(cycle)&&cycle>0?withId(planId,id=>send({method:"POST",path:`/subscriptions/${id}/cycles/${cycle}/draft`,read:cycleDraftFromWire})):invalid(),approveCycle:(planId,cycle,r)=>Number.isInteger(cycle)&&cycle>0&&Number.isInteger(r.expectedTotal)?withId(planId,id=>send({method:"POST",path:`/subscriptions/${id}/cycles/${cycle}/approve`,body:{idempotency_key:r.idempotencyKey,checkout_id:r.checkoutId,expected_total:r.expectedTotal},read:confirmationFromWire})):invalid(),skipCycle:(planId,cycle,r)=>Number.isInteger(cycle)&&cycle>0?withId(planId,id=>send({method:"POST",path:`/subscriptions/${id}/cycles/${cycle}/skip`,body:{idempotency_key:r.idempotencyKey},read:planFromWire})):invalid()}}export{EverfurShop,SHOP_COPY,SHOP_COPY_PLACEHOLDERS,SHOP_V3_COPY,SHOP_V3_COPY_PLACEHOLDERS,ShopSwitchCard,UNAVAILABLE_PACKAGE_SOURCE,createInAppBrowserCard,createInAppBrowserCardSetup,createInAppBrowserPayments,createOmsClient,createOmsPackageSource,isOmsRefusal,isOmsRetryable,isOmsUnavailable,newIdempotencyKey,shopBackRoute,shopCopy,shopV3Copy};