@everfur/sdk 0.5.9 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/CHANGELOG.md +279 -0
  2. package/dist/{BookedScreen-BJPbXLCG.d.ts → BookedScreen-DFJcgf1e.d.ts} +12 -2
  3. package/dist/{BookedScreen-Cnld-jB_.d.cts → BookedScreen-R5X_Zrlh.d.cts} +12 -2
  4. package/dist/{Chat-C9dVhnyt.d.ts → Chat-DZpYH8Uh.d.ts} +4 -4
  5. package/dist/{Chat-WmdRwC3b.d.cts → Chat-bATY4atj.d.cts} +4 -4
  6. package/dist/{DepthViews-CBoI9EYy.d.ts → DepthViews-BpHUbjSY.d.cts} +1 -1
  7. package/dist/{DepthViews-CmxhM8iP.d.ts → DepthViews-C4DC4Kom.d.cts} +1 -1
  8. package/dist/{DepthViews-NPFtO5Kz.d.cts → DepthViews-dLTizxjr.d.ts} +1 -1
  9. package/dist/{DepthViews-DoODlUnQ.d.cts → DepthViews-qBIoA48w.d.ts} +1 -1
  10. package/dist/animations/index.cjs +1 -1
  11. package/dist/animations/index.d.cts +3 -3
  12. package/dist/animations/index.d.ts +3 -3
  13. package/dist/animations/index.js +1 -1
  14. package/dist/{attachments-R2oajKPT.d.ts → attachments-CPRFfoHT.d.ts} +2 -2
  15. package/dist/{attachments-c4mJcIWU.d.cts → attachments-CUOGILir.d.cts} +5 -5
  16. package/dist/{attachments-CuFT1o5q.d.ts → attachments-CXAnZcEg.d.ts} +5 -5
  17. package/dist/{attachments-OaW36D0H.d.cts → attachments-Ce06TWqe.d.cts} +2 -2
  18. package/dist/{bookingCopy-DGQPrisa.d.cts → bookingCopy-BwVopcoV.d.cts} +451 -50
  19. package/dist/{bookingCopy-EtPJ4nME.d.ts → bookingCopy-DFTv9w6J.d.ts} +451 -50
  20. package/dist/{bookingTypes-DCs8mmBb.d.cts → bookingTypes-D4pD3tHs.d.cts} +13 -1
  21. package/dist/{bookingTypes-DCs8mmBb.d.ts → bookingTypes-D4pD3tHs.d.ts} +13 -1
  22. package/dist/{branding-Ry0em51L.d.ts → branding-Bio5MM6g.d.cts} +135 -3
  23. package/dist/{branding-DiaCIJZL.d.cts → branding-ytH4jJq1.d.ts} +135 -3
  24. package/dist/{callCopy-CPe9mbwG.d.cts → callCopy-DHjem0R-.d.cts} +12 -1
  25. package/dist/{callCopy-CPe9mbwG.d.ts → callCopy-DHjem0R-.d.ts} +12 -1
  26. package/dist/{casesRepository-DB5c8AAo.d.cts → casesRepository-CJchNp3x.d.cts} +1 -1
  27. package/dist/{casesRepository-Cu8h8gQK.d.ts → casesRepository-DAVcY3jC.d.ts} +1 -1
  28. package/dist/chat/index.cjs +1 -1
  29. package/dist/chat/index.d.cts +9 -9
  30. package/dist/chat/index.d.ts +9 -9
  31. package/dist/chat/index.js +1 -1
  32. package/dist/client/index.cjs +6 -6
  33. package/dist/client/index.d.cts +10 -10
  34. package/dist/client/index.d.ts +10 -10
  35. package/dist/client/index.js +6 -6
  36. package/dist/{config-DlR_I-0S.d.ts → config-ZxwCylac.d.ts} +1 -1
  37. package/dist/{config-DQFMkaTU.d.cts → config-h5h6TsHL.d.cts} +1 -1
  38. package/dist/consent/index.cjs +1 -1
  39. package/dist/consent/index.d.cts +5 -5
  40. package/dist/consent/index.d.ts +5 -5
  41. package/dist/consent/index.js +1 -1
  42. package/dist/{context-DZEieVJ5.d.cts → context-CtsAgJnc.d.cts} +7 -7
  43. package/dist/{context-CLuquPRB.d.ts → context-DtPIshVA.d.ts} +7 -7
  44. package/dist/{copy-B2DOzSSy.d.cts → copy-CaWaplQc.d.cts} +2 -2
  45. package/dist/{copy-ptTCT5-J.d.ts → copy-Cg89Qoal.d.ts} +2 -2
  46. package/dist/core/index.cjs +9 -9
  47. package/dist/core/index.d.cts +21 -21
  48. package/dist/core/index.d.ts +21 -21
  49. package/dist/core/index.js +9 -9
  50. package/dist/{depth-CtyC7HOF.d.ts → depth-Bo4bAwcn.d.ts} +132 -38
  51. package/dist/{depth-DuOyvthD.d.cts → depth-EXZYEO70.d.cts} +132 -38
  52. package/dist/{entitlementRepository-DlGwxZ1k.d.cts → entitlementRepository-BYtVb1oU.d.cts} +3 -3
  53. package/dist/{entitlementRepository-CAtyh8Xt.d.ts → entitlementRepository-DcbIx8yV.d.ts} +3 -3
  54. package/dist/{identity-D_NR9ucT.d.ts → identity-EC5-apbY.d.ts} +1 -1
  55. package/dist/{identity-BC9AF3y4.d.cts → identity-b5Vp32Vp.d.cts} +1 -1
  56. package/dist/index.cjs +6 -6
  57. package/dist/index.d.cts +17 -17
  58. package/dist/index.d.ts +17 -17
  59. package/dist/index.js +6 -6
  60. package/dist/notifications/index.d.cts +2 -2
  61. package/dist/notifications/index.d.ts +2 -2
  62. package/dist/{pets-DuuNvKTK.d.ts → pets-B_27_agU.d.ts} +1 -1
  63. package/dist/{pets-D7UjvR1A.d.cts → pets-DM8QvKLo.d.cts} +1 -1
  64. package/dist/{petsRepository-llMvpMkp.d.cts → petsRepository-BJsJ4cju.d.cts} +1 -1
  65. package/dist/{petsRepository-C28NKFwy.d.ts → petsRepository-CuYZZaI5.d.ts} +1 -1
  66. package/dist/photo/index.cjs +1 -1
  67. package/dist/photo/index.js +1 -1
  68. package/dist/{ports-Dbw2h_M1.d.cts → ports-ZmJYgd5I.d.cts} +10 -9
  69. package/dist/{ports-s45HNNyc.d.ts → ports-nXHf50_X.d.ts} +10 -9
  70. package/dist/records/depth/index.cjs +2 -2
  71. package/dist/records/depth/index.d.cts +7 -7
  72. package/dist/records/depth/index.d.ts +7 -7
  73. package/dist/records/depth/index.js +2 -2
  74. package/dist/records/index.cjs +3 -3
  75. package/dist/records/index.d.cts +19 -10
  76. package/dist/records/index.d.ts +19 -10
  77. package/dist/records/index.js +3 -3
  78. package/dist/{requestFunnel-D_o7se38.d.cts → requestFunnel-C_cZXhIA.d.cts} +2 -2
  79. package/dist/{requestFunnel-CqwOiZNJ.d.ts → requestFunnel-Ve9BshTB.d.ts} +2 -2
  80. package/dist/{runtimeTypes-DS0RLoKN.d.ts → runtimeTypes-ByKsp8hm.d.ts} +5 -5
  81. package/dist/{runtimeTypes-BNBENMkz.d.cts → runtimeTypes-D155OlBW.d.cts} +5 -5
  82. package/dist/server/events/index.cjs +1 -1
  83. package/dist/server/events/index.d.cts +2 -2
  84. package/dist/server/events/index.d.ts +2 -2
  85. package/dist/server/events/index.js +1 -1
  86. package/dist/server/index.cjs +1 -1
  87. package/dist/server/index.d.cts +3 -3
  88. package/dist/server/index.d.ts +3 -3
  89. package/dist/server/index.js +1 -1
  90. package/dist/televet/booking/index.cjs +4 -1
  91. package/dist/televet/booking/index.d.cts +116 -29
  92. package/dist/televet/booking/index.d.ts +116 -29
  93. package/dist/televet/booking/index.js +4 -1
  94. package/dist/televet/call/index.cjs +1 -1
  95. package/dist/televet/call/index.d.cts +1 -1
  96. package/dist/televet/call/index.d.ts +1 -1
  97. package/dist/televet/call/index.js +1 -1
  98. package/dist/televet/index.cjs +1 -1
  99. package/dist/televet/index.js +1 -1
  100. package/dist/testing/index.cjs +3 -3
  101. package/dist/testing/index.d.cts +1 -1
  102. package/dist/testing/index.d.ts +1 -1
  103. package/dist/testing/index.js +3 -3
  104. package/dist/testing/rn/index.cjs +1 -1
  105. package/dist/testing/rn/index.d.cts +14 -12
  106. package/dist/testing/rn/index.d.ts +14 -12
  107. package/dist/testing/rn/index.js +1 -1
  108. package/dist/testing/web/index.d.cts +9 -9
  109. package/dist/testing/web/index.d.ts +9 -9
  110. package/dist/{timelineRows-B6nCq30k.d.cts → timelineRows-BNF43SXK.d.cts} +1 -1
  111. package/dist/{timelineRows-DacfDpDU.d.ts → timelineRows-DXpjECfA.d.ts} +1 -1
  112. package/dist/{tokens-DOTIxrws.d.cts → tokens-BYtbKwFh.d.cts} +12 -4
  113. package/dist/{tokens-DOTIxrws.d.ts → tokens-BYtbKwFh.d.ts} +12 -4
  114. package/dist/{typeStyle-achxqQ-h.d.cts → typeStyle-BqfwxZH4.d.cts} +2 -2
  115. package/dist/{typeStyle-DROhJNkh.d.ts → typeStyle-DKz02DGU.d.ts} +2 -2
  116. package/dist/{uploadTransport-C1p8FuG8.d.cts → uploadTransport-BM_pnEWj.d.cts} +5 -0
  117. package/dist/{uploadTransport-bZIKBTyK.d.ts → uploadTransport-C6kGP1Kd.d.ts} +5 -0
  118. package/dist/{useRecordsDepth-BLK8W646.d.cts → useRecordsDepth-CARTuHKh.d.cts} +1 -1
  119. package/dist/{useRecordsDepth-C7guUoLc.d.ts → useRecordsDepth-fPSv-GXU.d.ts} +1 -1
  120. package/dist/video/index.cjs +1 -1
  121. package/dist/video/index.js +1 -1
  122. package/dist/{view-BF9oW2GJ.d.cts → view-DGPaVno8.d.cts} +47 -5
  123. package/dist/{view-B6JsD22K.d.ts → view-Dc-JlFkf.d.ts} +47 -5
  124. package/dist/web/consent/index.cjs +1 -1
  125. package/dist/web/consent/index.d.cts +5 -5
  126. package/dist/web/consent/index.d.ts +5 -5
  127. package/dist/web/consent/index.js +1 -1
  128. package/dist/web/index.cjs +7 -7
  129. package/dist/web/index.d.cts +23 -22
  130. package/dist/web/index.d.ts +23 -22
  131. package/dist/web/index.js +7 -7
  132. package/dist/web/notifications/index.d.cts +3 -3
  133. package/dist/web/notifications/index.d.ts +3 -3
  134. package/dist/web/records/depth/index.cjs +2 -2
  135. package/dist/web/records/depth/index.d.cts +7 -7
  136. package/dist/web/records/depth/index.d.ts +7 -7
  137. package/dist/web/records/depth/index.js +2 -2
  138. package/dist/web/records/index.cjs +3 -3
  139. package/dist/web/records/index.d.cts +28 -17
  140. package/dist/web/records/index.d.ts +28 -17
  141. package/dist/web/records/index.js +3 -3
  142. package/dist/web/televet/booking/index.cjs +4 -2
  143. package/dist/web/televet/booking/index.d.cts +228 -90
  144. package/dist/web/televet/booking/index.d.ts +228 -90
  145. package/dist/web/televet/booking/index.js +4 -2
  146. package/dist/web/televet/call/index.cjs +1 -1
  147. package/dist/web/televet/call/index.d.cts +1 -1
  148. package/dist/web/televet/call/index.d.ts +1 -1
  149. package/dist/web/televet/call/index.js +1 -1
  150. package/dist/web/televet/index.cjs +2 -2
  151. package/dist/web/televet/index.d.cts +2 -2
  152. package/dist/web/televet/index.d.ts +2 -2
  153. package/dist/web/televet/index.js +2 -2
  154. package/package.json +1 -1
@@ -1,2 +1,4 @@
1
- 'use strict';var react=require('react'),jsxRuntime=require('react/jsx-runtime');var Ns=Object.defineProperty;var o=(e,t)=>Ns(e,"name",{value:t,configurable:true});function dr(e){throw new Error(`assertNever: unhandled discriminated-union member ${JSON.stringify(e)}`)}o(dr,"assertNever");function mi(e){return Object.freeze({kind:"error",terminal:true,code:e.code,retryable:e.retryable,wireMessage:e.wireMessage,synthesized:e.synthesized,lastEventId:e.lastEventId,serverRequestId:e.serverRequestId??null})}o(mi,"errorFrame");function tn(e){let t=globalThis.console;try{t?.error?.("[everfur] A host callback threw; the SDK ignored it.",e);}catch{}}o(tn,"reportHostFailure");function Ms(e){return (typeof e=="object"||typeof e=="function")&&e!==null&&typeof e.then=="function"}o(Ms,"isThenable");function ur(e,...t){if(typeof e=="function")try{let r=e(...t);return Ms(r)&&Promise.resolve(r).then(void 0,tn),r}catch(r){tn(r);return}}o(ur,"callHost");var gi=new WeakMap;function js(e){if(typeof e!="function")return;let t=gi.get(e);if(t!==void 0)return t;let r=o((...n)=>{ur(e,...n);},"guarded");return gi.set(e,r),r}o(js,"guardHost");function yt(e,t){let r=null;for(let n of t){let i=e[n];typeof i=="function"&&(r??={...e},r[n]=js(i));}return r??e}o(yt,"guardHostProps");function cr(e,...t){let r;try{r=e(...t);}catch(n){return tn(n),Promise.resolve({ok:false,error:n})}return Promise.resolve(r).then(n=>({ok:true,value:n}),n=>({ok:false,error:n}))}o(cr,"callHostAsync");var g=o(e=>e,"DRAFT"),zs=["[PLACEHOLDER","[PLAN NAME]","[LINK]","[Last]","TODO","TBD"];function Hs(e){return zs.some(t=>e.toUpperCase().includes(t.toUpperCase()))}o(Hs,"isPlaceholderCopy");function W(e,t){let r=e;for(let[n,i]of Object.entries(t))r=r.split(`{${n}}`).join(i);return r}o(W,"fill");var le=Object.freeze({stateBlockedTitle:g("Not available in this state yet"),noCliniciansTitle:g("No vets available right now"),noCliniciansBody:g("Nobody is free in your area at the moment. This changes through the day."),noCliniciansRetryCta:g("Check again"),noCliniciansRegionBody:g("Video visits have to be with a vet licensed in your state, and we don\u2019t have one there yet."),yourVetTitle:g("Your Vet"),reviewsLabel:g("reviews"),rescheduleFromTemplate:g("Moving your visit on {when}"),rescheduleFailed:g("That did not move. Your original time is unchanged."),keepExistingCta:g("Keep my current time"),bookingPausedTitle:g("Booking is not available right now."),slotsErrorTitle:g("Could not load times"),noSlotsTitle:g("No times available"),nextOpeningTemplate:g("Next opening across our vets: {when}"),seeOtherVetsCta:g("See other vets"),retryCta:g("Try again"),holdExpired:g("That time is no longer held. Pick another."),slotTaken:g("That time was just taken. Pick another."),reasonPlaceholder:g("What is going on with your pet?"),reasonTooLong:g("That is too long. Please shorten it."),shareRecordsOff:g("Share health records with this vet"),confirmNotEntitled:g("A Pro membership is needed to book a video visit."),confirmFailed:g("That did not book. Try again."),checkAvailabilityCta:g("Check availability"),stateInterest:Object.freeze({cta:g("Add me to the list"),submitting:g("Adding you to the list\u2026"),joinedTitle:g("You are on the list"),joinedBody:g("We will let you know when this changes."),failed:g("That did not save. Try again.")}),media:Object.freeze({droppedTemplate:g("{n} attachment did not upload."),droppedPluralTemplate:g("{n} attachments did not upload."),refusedSizeTemplate:g("{n} attachment was too large to send."),refusedSizePluralTemplate:g("{n} attachments were too large to send."),refusedTypeTemplate:g("{n} attachment is a file type that cannot be sent."),refusedTypePluralTemplate:g("{n} attachments are file types that cannot be sent."),refusedUnreadableTemplate:g("{n} attachment could not be read."),refusedUnreadablePluralTemplate:g("{n} attachments could not be read.")}),navTitle:g("Book a visit"),rescheduleNavTitle:g("Change your visit"),close:g("Close"),continueCta:g("Continue"),petSelectTitle:g("Who is this visit for?"),addPetCta:g("Add a pet"),locationUnknownTitle:g("We need your location to find a vet"),locationUnknownBody:g("Turn on location for Everfur, then try again."),locationUnknownCta:g("Allow location"),locationBlockedTitle:g("Location is turned off"),locationBlockedBody:g("Everfur needs your location to match you with a vet in your area."),locationBlockedCta:g("Open Settings"),locationUnavailableTitle:g("We could not read your location"),locationUnavailableBody:g("Try again in a moment."),stateAttestTemplate:g("I confirm my pet and I are in {state} right now."),describeHeading:g("Tell the vet what you are seeing"),describeHelpLong:g("A few sentences is plenty. When it started, what changed, anything you've already tried."),addPhotoCta:g("ADD PHOTO OR VIDEO"),removePhotoLabel:g("Remove photo"),summaryPet:g("Pet"),summaryVet:g("Vet"),summaryWhen:g("When"),summaryLength:g("Length"),summaryReason:g("Reason"),summaryLengthTemplate:g("{n} minutes"),confirmCta:g("Confirm visit"),bookedTitle:g("You are booked."),addToCalendarCta:g("Add to calendar"),doneCta:g("Done"),booked:Object.freeze({remindPromise:g("We will notify you 30 minutes before."),summaryPromise:g("{pet}'s summary goes to the vet ahead of the call."),joinPromise:g("Join right here in the app. No links to hunt for."),backToPet:g("Back to {pet}"),calendarAdded:g("Added to your calendar"),calendarFailedBody:g("That did not save to your calendar.")}),chrome:Object.freeze({closeHint:g("Closes without saving"),discardTitle:g("Leave without booking?"),discardBody:g("Your answers will not be saved."),discardConfirmCta:g("Leave"),discardKeepCta:g("Keep going"),noPetsTitle:g("No pets on this account"),loadFailedTitle:g("Could not load"),retryCta:g("Try again")}),emergency:Object.freeze({bannerTitle:g("This cannot wait for a scheduled call."),keepBookingCta:g("I have handled this, keep booking"),lede:g("What you are describing is the kind of thing vets want to see in person, now."),exitPrimaryVetTitle:g("Call {petName}'s primary vet"),exitFindErTitle:g("Find an emergency vet near you"),startCallHint:g("Starts a phone call")}),visit:Object.freeze({title:g("Your visit")}),loading:Object.freeze({pets:"Loading pets. Nothing to read yet.",clinicians:"Loading vets. Nothing to read yet.",slots:"Loading times. Nothing to read yet.",consult:"Loading your visit. Nothing to read yet.",progressTemplate:"Step {step} of {total}"})});function vi(e=le){return typeof e=="string"?[e]:typeof e!="object"||e===null?[]:Object.values(e).flatMap(t=>vi(t))}o(vi,"televetBookingCopyValues");function Ne(){return vi().every(e=>e.trim().length>0&&!Hs(e))}o(Ne,"isTelevetBookingCopyReady");var mt=Object.freeze({findEmergencyVet:"Find an emergency vet near you",poisonControl:"ASPCA Animal Poison Control",poisonControlDetail:"(888) 426-4435 \xB7 a fee may apply",poisonControlTel:"tel:+18884264435"}),y=Object.freeze({...le,petSelectTitle:"Who is this visit for?",describeHeading:"Type to the vet what you're seeing",describeHelpLong:"Describe the issues your pet is experiencing",reasonPlaceholder:"She's been scratching her left ear a lot this week...",yourVetTitle:"Which vet would you like to see?",timeHeading:"Pick a date and time",reviewHeading:"Does this look right?",issuesHeadingTemplate:"Select {pet}\u2019s main issues",issuesHint:"Can select more than 1",otherIssue:"Other",bookedHeadingTemplate:"You're booked with {vet}",addToCalendarCta:"Add to Calendar",backLabel:"Back",emergency:Object.freeze({...le.emergency,bannerTitle:"This can't wait for a scheduled call.",lede:"What you're describing is the kind of thing vets want to see in person, now. Please call one of these first.",ledeWithoutExits:le.emergency.lede,keepBookingCta:"I've handled this, continue with booking",exitPrimaryVetTitle:"Call {petName}'s primary vet"})});var rn=Object.freeze([Object.freeze({wireCode:"AccessDeniedException",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"AuthorizationException",envelope:"http_envelope",httpStatus:401,retryable:false}),Object.freeze({wireCode:"ConflictException",envelope:"http_envelope",httpStatus:409,retryable:true}),Object.freeze({wireCode:"DAILY_QUOTA_EXCEEDED",envelope:"http_envelope",httpStatus:429,retryable:true}),Object.freeze({wireCode:"FILE_TOO_LARGE",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"IDEMPOTENCY_KEY_IN_FLIGHT",envelope:"http_envelope",httpStatus:409,retryable:true}),Object.freeze({wireCode:"IDEMPOTENCY_KEY_REUSED_DIFFERENT_REQUEST",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"INVALID_CONTENT_TYPE",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"InternalFailureException",envelope:"http_envelope",httpStatus:500,retryable:true}),Object.freeze({wireCode:"MethodNotAllowedException",envelope:"http_envelope",httpStatus:405,retryable:false}),Object.freeze({wireCode:"NotImplementedException",envelope:"http_envelope",httpStatus:501,retryable:false}),Object.freeze({wireCode:"PaymentRequiredException",envelope:"http_envelope",httpStatus:402,retryable:false}),Object.freeze({wireCode:"ResourceNotFoundException",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"ServiceUnavailableException",envelope:"http_envelope",httpStatus:503,retryable:true}),Object.freeze({wireCode:"TIER_UPGRADE_REQUIRED",envelope:"http_envelope",httpStatus:402,retryable:false}),Object.freeze({wireCode:"ThrottlingException",envelope:"http_envelope",httpStatus:429,retryable:true}),Object.freeze({wireCode:"ValidationException",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"accessDenied",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"access_denied",envelope:"oauth_error",httpStatus:302,retryable:false}),Object.freeze({wireCode:"attachment_unreadable",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"authExpired",envelope:"http_envelope",httpStatus:401,retryable:true}),Object.freeze({wireCode:"authRejected",envelope:"http_envelope",httpStatus:401,retryable:false}),Object.freeze({wireCode:"consent_invalid",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"consent_required",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"consent_scope_wrong_route",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"device_cipher_unavailable",envelope:"http_envelope",httpStatus:503,retryable:true}),Object.freeze({wireCode:"email_invalid",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"event_cursor_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"event_filter_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"event_payload_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"event_type_not_available",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"event_type_unknown",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"idempotency_key_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"idempotency_key_required",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"idempotency_key_reused",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"insufficientCapability",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"insufficient_scope",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"internal_error",envelope:"sse_frame",httpStatus:200,retryable:false}),Object.freeze({wireCode:"invalidRequest",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_client",envelope:"oauth_error",httpStatus:401,retryable:false}),Object.freeze({wireCode:"invalid_client_metadata",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_grant",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_redirect_uri",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_request",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_scope",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_target",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"mcp_connection_not_found",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"mcp_request_conflict",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"mcp_request_gone",envelope:"http_envelope",httpStatus:410,retryable:false}),Object.freeze({wireCode:"mcp_request_not_found",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"not_found",envelope:"sse_frame",httpStatus:200,retryable:false}),Object.freeze({wireCode:"partner_visit_link_conflict",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"partner_visit_owner_only",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"partner_visit_pet_already_mapped",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"payload_too_large",envelope:"http_envelope",httpStatus:413,retryable:false}),Object.freeze({wireCode:"petRefInUse",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"pet_health_list_removals_unconfirmed",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"pet_health_species_unsupported",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"pet_not_registered",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"provider_unsupported",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"rateLimited",envelope:"http_envelope",httpStatus:429,retryable:true}),Object.freeze({wireCode:"record_species_unsupported",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"record_subject_not_found",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"record_upload_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"records_consent_required",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"sandbox_only",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"session_required",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"share_limit_reached",envelope:"http_envelope",httpStatus:429,retryable:false}),Object.freeze({wireCode:"slow_down",envelope:"oauth_error",httpStatus:429,retryable:true}),Object.freeze({wireCode:"species_unsupported",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"tenant_filter_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"tenant_has_no_capabilities",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"tenant_resource_not_found",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"tenant_surface_not_enabled",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"timeout",envelope:"sse_frame",httpStatus:200,retryable:true}),Object.freeze({wireCode:"token_invalid",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"unavailable",envelope:"sse_frame",httpStatus:200,retryable:true}),Object.freeze({wireCode:"unavailable",envelope:"http_envelope",httpStatus:503,retryable:true}),Object.freeze({wireCode:"unsupported_grant_type",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"unsupported_response_type",envelope:"oauth_error",httpStatus:302,retryable:false}),Object.freeze({wireCode:"verify_mint_rate_limited",envelope:"http_envelope",httpStatus:429,retryable:true}),Object.freeze({wireCode:"verify_mint_refused",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"verify_mint_unavailable",envelope:"http_envelope",httpStatus:503,retryable:true}),Object.freeze({wireCode:"verify_user_ref_invalid",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"webhook_endpoint_update_empty",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"webhook_endpoint_update_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"webhook_url_rejected",envelope:"http_envelope",httpStatus:400,retryable:false})]);Object.freeze(rn.map(e=>e.wireCode));var Us=Object.freeze({ValidationException:"validationFailed",AuthorizationException:"authRejected",PaymentRequiredException:"paymentRequired",AccessDeniedException:"accessDenied",ResourceNotFoundException:"resourceNotFound",ConflictException:"conflict",ThrottlingException:"rateLimited",InternalFailureException:"internalError",NotImplementedException:"notImplemented",ServiceUnavailableException:"serviceUnavailable",MethodNotAllowedException:"validationFailed",authExpired:"authExpired",unavailable:"serviceUnavailable",session_required:"sessionRequired",accessDenied:"accessDenied",invalidRequest:"sdkUpdateRequired",authRejected:"authRejected",rateLimited:"rateLimited",insufficientCapability:"accessDenied",event_cursor_invalid:"validationFailed",event_filter_invalid:"validationFailed",event_payload_invalid:"validationFailed",event_type_unknown:"validationFailed",idempotency_key_invalid:"validationFailed",idempotency_key_required:"validationFailed",idempotency_key_reused:"idempotencyConflict",payload_too_large:"validationFailed",webhook_url_rejected:"validationFailed",webhook_endpoint_update_empty:"validationFailed",webhook_endpoint_update_invalid:"validationFailed",event_type_not_available:"conflict",record_subject_not_found:"resourceNotFound",records_consent_required:"conflict",record_species_unsupported:"validationFailed",record_upload_invalid:"validationFailed",FILE_TOO_LARGE:"validationFailed",INVALID_CONTENT_TYPE:"validationFailed",attachment_unreadable:"validationFailed",provider_unsupported:"validationFailed",token_invalid:"validationFailed",device_cipher_unavailable:"serviceUnavailable",email_invalid:"validationFailed",consent_required:"validationFailed",consent_invalid:"validationFailed",consent_scope_wrong_route:"validationFailed",IDEMPOTENCY_KEY_IN_FLIGHT:"idempotencyInFlight",IDEMPOTENCY_KEY_REUSED_DIFFERENT_REQUEST:"idempotencyConflict",DAILY_QUOTA_EXCEEDED:"quotaExceeded",TIER_UPGRADE_REQUIRED:"paymentRequired",not_found:"conversationNotFound",timeout:"streamTimeout",internal_error:"internalError",invalid_request:"validationFailed",invalid_client:"authRejected",invalid_grant:"authRejected",unsupported_grant_type:"validationFailed",invalid_scope:"validationFailed",invalid_target:"validationFailed",invalid_redirect_uri:"validationFailed",invalid_client_metadata:"validationFailed",unsupported_response_type:"validationFailed",access_denied:"accessDenied",slow_down:"rateLimited",mcp_request_not_found:"resourceNotFound",mcp_request_gone:"resourceNotFound",mcp_connection_not_found:"resourceNotFound",mcp_request_conflict:"conflict",sandbox_only:"accessDenied",tenant_has_no_capabilities:"conflict",verify_mint_refused:"accessDenied",verify_mint_rate_limited:"rateLimited",verify_mint_unavailable:"serviceUnavailable",verify_user_ref_invalid:"validationFailed",insufficient_scope:"accessDenied",tenant_filter_invalid:"validationFailed",tenant_resource_not_found:"resourceNotFound",tenant_surface_not_enabled:"conflict",pet_health_species_unsupported:"validationFailed",pet_health_list_removals_unconfirmed:"validationFailed",petRefInUse:"conflict",share_limit_reached:"conflict",pet_not_registered:"resourceNotFound",species_unsupported:"validationFailed",partner_visit_owner_only:"accessDenied",partner_visit_link_conflict:"conflict",partner_visit_pet_already_mapped:"conflict"}),hi=Object.freeze(rn.map(e=>Object.freeze({wireCode:e.wireCode,envelope:e.envelope,retryable:e.retryable,normalized:Us[e.wireCode]}))),Ws=new Map(hi.map(e=>[e.envelope+e.wireCode.toUpperCase(),e])),$s=Object.freeze(["http_envelope",...[...new Set(hi.map(e=>e.envelope))].filter(e=>e!=="http_envelope").sort()]);function pr(e,t){if(typeof e!="string")return;let r=e.trim().toUpperCase();if(r.length!==0)for(let n of [t??"http_envelope",...$s]){let i=Ws.get(n+r);if(i)return i}}o(pr,"contractErrorFor");function Ks(e){return e.envelope==="sse_frame"?`/errors#sse-${e.wireCode}`:e.envelope==="oauth_error"?`/errors#oauth-${e.wireCode}`:`/errors#${e.wireCode}`}o(Ks,"contractDocUrl");function Ti(e){return null}o(Ti,"publishedDocUrl");var qs=Object.freeze({authExpired:"authentication",authRejected:"authentication",sessionRequired:"authentication",accessDenied:"authorization",paymentRequired:"entitlement",quotaExceeded:"rateLimit",rateLimited:"rateLimit",validationFailed:"invalidRequest",sdkUpdateRequired:"invalidRequest",conversationNotFound:"notFound",petNotFound:"notFound",resourceNotFound:"notFound",conflict:"conflict",idempotencyConflict:"conflict",idempotencyInFlight:"conflict",streamTimeout:"connection",streamIncomplete:"connection",upstreamLlmTimeout:"connection",serviceUnavailable:"connection",internalError:"server",notImplemented:"server",mediaUploadFailed:"media",moderationBlocked:"policy",unknown:"unknown"});function Si(e){return qs[e]}o(Si,"categoryFor");function Ei(e){let t=pr(e);if(t)return t.normalized;let r=(e??"").trim().toUpperCase(),n=r.replace(/[^A-Z0-9]/g,"");if(n==="AUTHREJECTED")return "authRejected";if(r.startsWith("AUTH"))return "authExpired";switch(n){case "DAILYQUOTAEXCEEDED":case "QUOTAEXCEEDED":return "quotaExceeded";case "RATELIMITED":case "TOOMANYREQUESTS":case "TELEVETRATELIMITED":return "rateLimited";case "IDEMPOTENCYKEYCONFLICT":case "IDEMPOTENCYCONFLICT":return "idempotencyConflict";case "ACCESSDENIED":case "FORBIDDEN":return "accessDenied";case "NOTFOUND":case "CONVERSATIONNOTFOUND":return "conversationNotFound";case "PETNOTFOUND":return "petNotFound";case "TIMEOUT":case "STREAMTIMEOUT":return "streamTimeout";case "MEDIAUPLOADFAILED":case "UNRECOGNIZEDVIDEOFORMAT":case "FILETOOSMALL":return "mediaUploadFailed";case "MODERATIONBLOCKED":return "moderationBlocked";case "UPSTREAMLLMTIMEOUT":return "upstreamLlmTimeout";case "INTERNALERROR":case "INTERNALSERVERERROR":return "internalError";case "STREAMINCOMPLETE":case "CHATSTREAMINCOMPLETE":return "streamIncomplete";case "INVALIDANALYSISTYPE":case "INVALIDUPLOADPURPOSE":return "unknown";default:return "unknown"}}o(Ei,"fromWire");var Ys=new Set(["streamTimeout","rateLimited","internalError","upstreamLlmTimeout","streamIncomplete"]);function nn(e){return Ys.has(e)}o(nn,"isAutoRetryable");var Gs=new Set(["serviceUnavailable","conflict","idempotencyInFlight"]);function Ci(e){return nn(e)||Gs.has(e)}o(Ci,"isRetryableCode");var Js=500,on=8e3,ki=4;function xi(e,t=Math.random){let r=Math.max(0,e),n=Math.min(Js*2**r,on);return Math.floor(t()*n)}o(xi,"backoffDelayMs");var Xs=Object.freeze({authExpired:"Please sign in again to continue.",authRejected:"Please sign in again to continue.",sessionRequired:"This app needs to be updated to keep using Everfur.",accessDenied:"This feature isn't available on your account right now.",paymentRequired:"This is part of a paid plan.",quotaExceeded:"You have used today's messages. This resets tomorrow.",rateLimited:"You are sending messages quickly. Try again in a few seconds.",validationFailed:"Something in that request was not right. Check the details and try again.",sdkUpdateRequired:"This app needs to be updated to keep using Everfur.",conflict:"That is already running. Wait for it to finish, then try again.",idempotencyConflict:"That message was already delivered.",idempotencyInFlight:"That is still processing. Give it a moment.",conversationNotFound:"This conversation is no longer available.",petNotFound:"We could not find that pet. Please pick a pet and try again.",resourceNotFound:"We could not find that.",streamTimeout:"The response timed out. Tap retry to try again.",mediaUploadFailed:"We could not upload that photo. Please attach it again.",moderationBlocked:"This request cannot be answered here.",upstreamLlmTimeout:"The response timed out. Tap retry to try again.",internalError:"We hit a snag on our end. Please try again.",notImplemented:"That is not available yet.",serviceUnavailable:"That service is briefly unavailable. Try again shortly.",streamIncomplete:"The connection dropped mid-answer. Tap retry to continue.",unknown:"Something went wrong. Please try again."});function ln(e){return Xs[e]}o(ln,"userFacingError");function Ri(e,t,r){Object.defineProperty(e,t,{value:r,enumerable:false,writable:false,configurable:false});}o(Ri,"defineHidden");var Qs=/^[a-z][a-z0-9_]{0,63}$/;function te(e,t){let r=pr(t?.wireCode,t?.wireEnvelope),n={code:e,category:Si(e),retryable:t?.retryable??Ci(e),displayMessage:ln(e)};if(t?.httpStatus!==void 0&&(n.httpStatus=t.httpStatus),t?.requestId&&(n.requestId=t.requestId),typeof t?.reasonCode=="string"&&Qs.test(t.reasonCode)&&(n.reasonCode=t.reasonCode),r);return t?.wireMessage&&Ri(n,"wireMessage",t.wireMessage),t?.raw!==void 0&&t.raw!==null&&Ri(n,"raw",t.raw),Object.freeze(n)}o(te,"makeEverfurError");function F(e,t){return Object.freeze(t===void 0?{ok:true,value:e}:{ok:true,value:e,warning:t})}o(F,"ok");function R(e){return Object.freeze({ok:false,error:e})}o(R,"err");var fr=class fr extends Error{constructor(t,r){super(r),this.name="EverfurConfigError",this.kind=t,Object.setPrototypeOf(this,fr.prototype);}};o(fr,"EverfurConfigError");var Bt=fr;function Zs(e){let t={};return e.mode==="personalized"?t.authorization=`Bearer ${e.token}`:t["x-everfur-partner-key"]=e.publishableKey,e.userRef&&(t["x-everfur-user-ref"]=e.userRef),e.sessionId&&(t["x-everfur-session-id"]=e.sessionId),t}o(Zs,"authHeaders");function Lt(e,t){return {...e,headers:{...ed(e.headers),...Zs(t)}}}o(Lt,"withAuthHeaders");function ed(e){if(!e)return {};let t={};for(let[r,n]of Object.entries(e)){let i=r.toLowerCase();i==="authorization"||i==="x-everfur-partner-key"||(t[r]=n);}return t}o(ed,"stripAuthHeaders");async function _i(e,t){if(t.mode==="anonymous")return t.transport.request(Lt(e,{mode:"anonymous",publishableKey:t.publishableKey,userRef:t.userRef,...t.sessionId?{sessionId:t.sessionId}:{}}));let r;try{r=await t.identity.currentToken();}catch{return R(an())}let n=await t.transport.request(Lt(e,{mode:"personalized",token:r,userRef:t.userRef,...t.sessionId?{sessionId:t.sessionId}:{}}));if(n.ok||n.error.httpStatus!==401)return n;let i;try{i=await t.identity.currentToken({forceRefresh:!0});}catch{return R(an())}let l=await t.transport.request(Lt(e,{mode:"personalized",token:i,userRef:t.userRef,...t.sessionId?{sessionId:t.sessionId}:{}}));return !l.ok&&l.error.httpStatus===401?R(an(l.error.httpStatus)):l}o(_i,"authedSend");function an(e){return te("authRejected",{retryable:false,...e!==void 0?{httpStatus:e}:{}})}o(an,"authRejectedError");function Pi(e){return te("internalError",{retryable:true,wireMessage:td(e)})}o(Pi,"networkError");function td(e){return e instanceof Error?e.message:typeof e=="string"?e:"network request failed"}o(td,"describeCause");var sn=3e4,rd=on*2,nd="idempotency-key",od=new Set(["POST","PUT","PATCH","DELETE"]),id=Object.freeze({onEvent(){}}),ld=Object.freeze({setTimeout:o((e,t)=>setTimeout(e,t),"setTimeout"),clearTimeout:o(e=>clearTimeout(e),"clearTimeout"),now:o(()=>Date.now(),"now")});function ad(e){let t=e.trim().replace(/[^A-Za-z0-9_.:-]/g,"-");return t.length===0?null:`efs_${t}`.slice(0,128)}o(ad,"seededIdempotencyKey");function et(e){let t=e.observer??id,r=e.timers??ld,n=e.rng??Math.random,i=e.sleep??((m,c)=>Td(m,r,c)),l=e.maxAttempts??ki,s=e.unaryTimeoutMs??sn,a=e.newIdempotencyKey??dn(),d=o(m=>{try{t.onEvent(m);}catch{}},"emit");async function u(m,c,v){let b=v?.maxAttempts,h=Math.max(1,b??l),S=v?.idempotent??od.has(c.method),E=v?.idempotencyKey===void 0?null:ad(v.idempotencyKey),k=S?E??a():null,L=sd(c,k),x=0;for(;;){let A=o(ee=>Object.freeze({call:m,method:c.method,path:c.path,attempt:x,...k?{idempotencyKey:k}:{},...ee}),"stamp");d(A({phase:"attempt"}));let z=bd(s,r),H=hd(z.signal,c.signal),X;try{X=await _i({...L,signal:H.signal},e.auth);}catch(ee){X=R(Pi(ee));}finally{H.dispose(),z.cancel();}if(X.ok)return d(A({phase:"settled",ok:true,reason:"ok"})),X;let D=X.error,G=ud(D,x,{maxAttempts:h,rng:n,now:r.now(),aborted:c.signal?.aborted===true,...b!==void 0?{perCallMaxAttempts:b}:{},...e.errorPolicy!==void 0?{policy:e.errorPolicy}:{}}),q={ok:false,code:D.code,reason:G.reason,...D.httpStatus!==void 0?{httpStatus:D.httpStatus}:{},...D.requestId!==void 0?{requestId:D.requestId}:{}};if(!G.retry)return d(A({phase:"settled",...q})),R(D);if(d(A({phase:"retry",...q,delayMs:G.delayMs})),await i(G.delayMs,c.signal),c.signal?.aborted===true)return d(A({phase:"settled",...q,reason:"aborted"})),R(D);x+=1;}}o(u,"send");async function p(m){return Lt(m,await vd(e.auth))}o(p,"authorize");async function*f(m,c,v){d(Object.freeze({call:m,phase:"stream.open",method:c.method,path:c.path,attempt:0}));try{yield*e.auth.transport.stream(c,v);}catch{yield mi({code:"internal_error",retryable:true,wireMessage:null,synthesized:true,lastEventId:null,serverRequestId:null});}}return o(f,"stream"),Object.freeze({send:u,authorize:p,stream:f})}o(et,"createRequestFunnel");function sd(e,t){let r={};for(let[n,i]of Object.entries(e.headers??{}))n.toLowerCase()!==nd&&(r[n]=i);return t!==null&&(r["Idempotency-Key"]=t),{...e,headers:r}}o(sd,"assembleHeaders");function dn(){let e=0;return ()=>`efk_${Date.now().toString(36)}_${(e++).toString(36)}_${Math.random().toString(36).slice(2,12)}`}o(dn,"defaultIdempotencyKeyFactory");var dd=10;function ud(e,t,r){if(r.aborted)return {retry:false,reason:"aborted"};let n=cd(e);if(n==="quota")return {retry:false,reason:"daily-quota-exhausted"};if(n!=="burst"&&!nn(e.code))return {retry:false,reason:"terminal-code"};let i=n==="burst"?"burst-throttle":"retryable-code";if(o(()=>{if(r.policy===void 0)return false;try{return !r.policy.shouldRetry(e.code,t)}catch{return false}},"policyVetoedRetry")())return {retry:false,reason:"terminal-code"};let s=o(()=>{if(r.policy===void 0)return null;let u;try{u=r.policy.maxAttempts(e.code);}catch{return null}return typeof u!="number"||!Number.isFinite(u)?null:Math.max(1,Math.min(dd,Math.floor(u)))},"policyCeiling"),a=r.perCallMaxAttempts??s()??r.maxAttempts;if(t+1>=a)return {retry:false,reason:"attempts-exhausted"};let d=pd(e,r.now);return d!==null?d>rd?{retry:false,reason:"server-reset-beyond-budget"}:{retry:true,reason:i,delayMs:d}:{retry:true,reason:i,delayMs:xi(t,r.rng)}}o(ud,"decideRetry");function cd(e){let t=e.code==="unknown"?Ei(gd(e.raw)):e.code;return t==="quotaExceeded"?"quota":t==="rateLimited"||e.httpStatus===429?"burst":null}o(cd,"throttleKind");function pd(e,t){let r=yd(e.raw);if(r!==null){let i=r-t;return i>0?i:0}let n=fd(e.raw);return n===null?null:Math.round(n*1e3)}o(pd,"retryOverrideMs");function fd(e){for(let t of un(e)){let r=t.retry_after_seconds;if(typeof r=="number"&&Number.isFinite(r)&&r>=0)return r}return null}o(fd,"findRetryAfterSeconds");function yd(e){for(let t of un(e)){let r=t.resets_at,n=md(r);if(n!==null)return n}return null}o(yd,"findResetsAt");function un(e){if(!wi(e))return [];let t=[e];for(let r of ["error","detail"]){let n=e[r];wi(n)&&t.push(n);}return t}o(un,"candidateScopes");function md(e){if(typeof e=="number"&&Number.isFinite(e))return e<1e11?Math.round(e*1e3):Math.round(e);if(typeof e=="string"&&e.trim().length>0){let t=Date.parse(e);return Number.isFinite(t)?t:null}return null}o(md,"parseInstantMs");function gd(e){for(let t of un(e)){let r=t.code;if(typeof r=="string"&&r.length>0)return r}return null}o(gd,"rawWireCode");function wi(e){return typeof e=="object"&&e!==null}o(wi,"isRecord");async function vd(e){return e.mode==="anonymous"?{mode:"anonymous",publishableKey:e.publishableKey,userRef:e.userRef,...e.sessionId?{sessionId:e.sessionId}:{}}:{mode:"personalized",token:await e.identity.currentToken(),userRef:e.userRef,...e.sessionId?{sessionId:e.sessionId}:{}}}o(vd,"resolveDeviceAuth");function bd(e,t){let r=new AbortController,n=t.setTimeout(()=>r.abort(),e);return {signal:r.signal,cancel:o(()=>t.clearTimeout(n),"cancel")}}o(bd,"boundedSignal");function hd(e,t){let r=o(()=>{},"noop");if(!t)return {signal:e,dispose:r};let n=new AbortController;if(e.aborted||t.aborted)return n.abort(),{signal:n.signal,dispose:r};let i=o(()=>n.abort(),"onAbort");return e.addEventListener("abort",i,{once:true}),t.addEventListener("abort",i,{once:true}),{signal:n.signal,dispose:o(()=>{e.removeEventListener("abort",i),t.removeEventListener("abort",i);},"dispose")}}o(hd,"mergeSignals");function Td(e,t,r){return e<=0||r?.aborted===true?Promise.resolve():new Promise(n=>{let i=t.setTimeout(()=>{r?.removeEventListener("abort",l),n();},e),l=o(()=>{t.clearTimeout(i),n();},"onAbort");r?.addEventListener("abort",l,{once:true});})}o(Td,"delayAbortable");var Bi="televet_booking_not_live";function yr(e){return te("conflict",{retryable:false,reasonCode:Bi,wireMessage:`the booking was answered with a consult whose status is ${e}, which is not a live visit`})}o(yr,"televetBookingNotLiveError");var cn="televet_booking_key_reused",Ii="IDEMPOTENCY_KEY_REUSED_DIFFERENT_REQUEST";function mr(e){return e.httpStatus!==409||e.reasonCode===cn||Nt(e)?.code!==Ii?e:te(e.code,{retryable:false,httpStatus:409,...e.requestId!==void 0?{requestId:e.requestId}:{},wireCode:Ii,reasonCode:cn,...e.wireMessage!==void 0?{wireMessage:e.wireMessage}:{},raw:e.raw})}o(mr,"foldTelevetBookingKeyReused");function Nt(e){let t=e.raw;if(typeof t!="object"||t===null)return null;let r=t,n=r.detail??r.error;return typeof n=="object"&&n!==null?n:r}o(Nt,"details");function Sd(e){let t=Nt(e)?.categories;return Array.isArray(t)?Object.freeze(t.filter(r=>typeof r=="string")):Object.freeze([])}o(Sd,"categoriesOf");function Oi(e){let t=Nt(e)?.retry_after_seconds;return typeof t=="number"&&Number.isFinite(t)&&t>0?t:null}o(Oi,"retryAfterOf");function Ai(e){let t=e.wireMessage;if(typeof t=="string"&&t.trim().length>0)return t.trim();let r=Nt(e)?.message;return typeof r=="string"&&r.trim().length>0?r.trim():null}o(Ai,"messageOf");function Ed(e){let t=e.reasonCode;if(typeof t=="string"&&t.length>0)return t;let r=Nt(e),n=r?.code??r?.error_code;return typeof n=="string"&&n.length>0?n:null}o(Ed,"codeOf");function Ue(e){let t=e.httpStatus;if(t===402)return Object.freeze({kind:"not_entitled"});if(t===429||e.code==="rateLimited"||e.code==="quotaExceeded")return Object.freeze({kind:"rate_limited",retryAfterSeconds:Oi(e),message:Ai(e)});if(t===404)return Object.freeze({kind:"unavailable"});switch(Ed(e)){case "televet_rate_limited":return Object.freeze({kind:"rate_limited",retryAfterSeconds:Oi(e),message:Ai(e)});case "televet_emergency_ack_required":return Object.freeze({kind:"emergency",categories:Sd(e)});case "televet_not_entitled":return Object.freeze({kind:"not_entitled"});case "televet_slot_conflict":return Object.freeze({kind:"slot_taken"});case "televet_hold_invalid":return Object.freeze({kind:"slot_taken"});case Bi:return Object.freeze({kind:"slot_taken"});case cn:return Object.freeze({kind:"slot_taken"});case "televet_clinician_cannot_prescribe":case "televet_clinician_unavailable":case "televet_clinician_not_bookable":return Object.freeze({kind:"clinician_unavailable"});case "televet_membership_conflict":return Object.freeze({kind:"not_entitled"});case "televet_registry_unavailable":return Object.freeze({kind:"failed"});}return Object.freeze({kind:"failed"})}o(Ue,"televetBookingRefusal");function Cd(e){try{return new URL(e.trim()).protocol==="https:"}catch{return false}}o(Cd,"isSafeRoomUrl");function kd(e,t){return Cd(e)&&t.trim().length>0}o(kd,"isUsableRoomCredential");function gr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}o(gr,"isRecord");function pn(e,t){return typeof e=="number"&&Number.isInteger(e)&&e>=t?e:null}o(pn,"wholeNumber");function xd(e){if(!gr(e))return null;let t=pn(e.consult_minutes,1),r=pn(e.auto_end_minutes,0),n=pn(e.warn_before_seconds,0);return t===null||r===null||n===null?null:Object.freeze({consultMinutes:t,autoEndMinutes:r,warnBeforeSeconds:n})}o(xd,"parseCallLimits");function fn(e){if(!gr(e))return null;let t=e.room_url??e.url,r=e.token;if(typeof t!="string"||typeof r!="string"||!kd(t,r))return null;let n=e.recording_notice;return Object.freeze({roomUrl:t.trim(),token:r,recordingNotice:typeof n=="boolean"?n:true,callLimits:xd(e.call_limits)})}o(fn,"parseVetCallCredential");function yn(e){let t=Li(e.raw);return t!==null&&t.length>0?t:null}o(yn,"vetCallJoinReason");function Li(e){if(!gr(e))return null;let t=e.detail??e.error,n=(gr(t)?t:e).reason;return typeof n=="string"?n:null}o(Li,"reasonOf");function mn(e){if(e.httpStatus===404)return "unavailable";let t=Li(e.raw);return t==="too_early"||t==="too_late"||t==="room_not_ready"?t:t!==null&&t.startsWith("status_")?"not_joinable":"unknown"}o(mn,"vetCallJoinRefusal");var Di=["scheduled","in_progress","awaiting_summary","completed","cancelled_owner","cancelled_ops","no_show_owner","no_show_vet"],vr=new Set(["completed","cancelled_owner","cancelled_ops","no_show_owner","no_show_vet"]),Rd=new Set(["scheduled","in_progress","awaiting_summary"]);function br(e){return Rd.has(e.status)}o(br,"isLiveConsult");var Fi=["wellness","prescription"],_d=60;function vn(e){let t=Date.parse(e.startsAt),r=Date.parse(e.endsAt);if(Number.isNaN(t)||Number.isNaN(r))return null;let n=Math.round((r-t)/6e4);return n>0?Math.min(n,_d):null}o(vn,"televetSlotMinutes");var hr=64,$e=2e3,Tr=10;function _e(e){return typeof e=="string"&&/^[A-Za-z]{2}$/.test(e.trim())}o(_e,"isWellFormedStateCode");function De(e){return typeof e=="object"&&e!==null?e:null}o(De,"row");function Q(e){return typeof e=="string"&&e.length>0?e:null}o(Q,"str");function We(e){return typeof e=="string"&&e.trim().length>0?e.trim():null}o(We,"trimmedOrNull");function gt(e,t){return typeof e=="boolean"?e:t}o(gt,"bool");function gn(e){return typeof e=="number"&&Number.isFinite(e)?e:null}o(gn,"num");function Ni(e,t){return typeof t=="string"&&e.includes(t)?t:"unknown"}o(Ni,"closed");function vt(e,t){if(!Array.isArray(e))return Object.freeze([]);let r=[];for(let n of e){let i=t(n);i!==null&&r.push(i);}return Object.freeze(r)}o(vt,"parseList");function Mi(e,t){let r=De(e);return r===null?null:Object.freeze({state:Q(r.state)??t,wellnessAvailable:gt(r.wellness_available,false),prescriptionsAvailable:gt(r.prescriptions_available,false),cancellationPolicyText:We(r.cancellation_policy_text)})}o(Mi,"parseStatePolicy");function ji(e){let t=De(e);if(t===null)return null;let r=We(t.summary),n=We(t.version);return r===null||n===null?null:Object.freeze({summary:r,version:n})}o(ji,"parseCancellationPolicy");function zi(e){let t=De(e);if(t===null)return null;let r=Q(t.clinician_id),n=Q(t.display_name);return r===null||n===null?null:Object.freeze({clinicianId:r,displayName:n,credentials:We(t.credentials_text),rating:gn(t.rating),ratingCount:gn(t.rating_count),bio:We(t.bio),photoRef:Q(t.photo_ref),licensedStates:vt(t.licensed_states,i=>{let l=De(i),s=l===null?null:Q(l.state);return s===null?null:Object.freeze({state:s,canPrescribe:gt(l?.can_prescribe,false)})})})}o(zi,"parseClinician");function bn(e){let t=De(e);if(t===null)return null;let r=Q(t.slot_id),n=Q(t.starts_at);return r===null||n===null?null:Object.freeze({slotId:r,startsAt:n,endsAt:Q(t.ends_at)??n})}o(bn,"parseSlot");function Hi(e){let t=De(e);if(t===null)return null;let r=Q(t.slot_id),n=Q(t.hold_expires_at);return r===null||n===null?null:Object.freeze({slotId:r,expiresAt:n})}o(Hi,"parseSlotHold");function Dt(e){let t=De(e);if(t===null)return null;let r=Q(t.consult_id),n=Q(t.scheduled_at);return r===null||n===null?null:Object.freeze({consultId:r,petId:Q(t.pet_id)??"",clinicianId:Q(t.clinician_id)??"",clinicianName:We(t.display_name),reasonText:We(t.reason_text),mediaRefs:vt(t.media_refs,i=>Q(i)),status:Ni(Di,t.status),kind:Ni(Fi,t.kind),scheduledAt:n,emergencyFlagged:gt(t.emergency_flagged,false),hasRoom:Q(t.meeting_url)!==null})}o(Dt,"parseConsult");function Vi(e){let t=De(e);return Object.freeze({active:gt(t?.active,false)})}o(Vi,"parseBookingEntitlement");var Ke=240;function Ui(e){let t=De(e);if(t===null)return null;let r=gn(t.fee_cents);return r===null||r<0?null:Object.freeze({feeCents:r,currency:Q(t.currency)??"usd",feeRecorded:gt(t.fee_recorded,r>0),summary:We(t.summary)})}o(Ui,"parseCancelReceipt");var qe="/widget/v1/televet",Pd=`${qe}/state-policy`,wd=`${qe}/vets`,Wi=`${qe}/slots`,Id=`${qe}/slots/next`,Sr=`${qe}/consults`,Od=`${qe}/entitlement`,Ad=`${qe}/cancellation-policy`;function $i(e){return `${Wi}/${encodeURIComponent(e)}/hold`}o($i,"televetHoldCall");function Ki(e){return `${Sr}/${encodeURIComponent(e)}/reschedule`}o(Ki,"televetRescheduleCall");function Er(e){return `${Sr}/${encodeURIComponent(e)}`}o(Er,"televetConsultCall");function qi(e){return `${Er(e)}/join`}o(qi,"televetJoinCall");function Yi(e){return `${Er(e)}/cancel`}o(Yi,"televetCancelCall");var Gi=100;function ce(e){return R(te("validationFailed",{retryable:false,wireMessage:e}))}o(ce,"invalid");function tt(e){return R(te("internalError",{retryable:false,httpStatus:502,wireMessage:e}))}o(tt,"unusable");function hn(e){return e.httpStatus===404}o(hn,"isDark");function bt(e,t,r){try{e?.track(t,r);}catch{}}o(bt,"safeTrack");function Ji(e){if(e.pet_id.trim().length===0)return "pet_id is required";if(e.clinician_id.trim().length===0)return "clinician_id is required";if(e.slot_id.trim().length===0)return "slot_id is required";if(!_e(e.state))return "state must be a two-letter US state code";let t=e.reason_text.trim();return t.length===0?"reason_text is required":t.length>$e?`reason_text must be at most ${$e} characters`:Bd(e)}o(Ji,"validateBookingBody");function Bd(e){let t=e.state_attested===true,r=e.cancellation_policy_version?.trim()??"";return t!==r.length>0?"state_attested and cancellation_policy_version must be sent together or omitted together":r.length>hr?`cancellation_policy_version must be at most ${hr} characters`:null}o(Bd,"attestationRefusal");function Sn(e){let t=e.funnel??et({auth:e.auth,...e.errorPolicy?{errorPolicy:e.errorPolicy}:{}}),r=e.telemetry;return {async statePolicy(n,i){let l=n.trim();if(!_e(l))return ce("state must be a two-letter US state code");let s=await t.send("televet.booking.state_policy",{method:"GET",path:`${Pd}/${encodeURIComponent(l)}`,...i?{signal:i}:{}});if(!s.ok)return R(s.error);let a=Mi(s.value,l);return a===null?tt("the state policy response was unreadable"):F(a)},async entitlement(n){let i=await t.send("televet.booking.entitlement",{method:"GET",path:Od,...n?{signal:n}:{}});return i.ok?F(Vi(i.value)):R(i.error)},async cancellationPolicy(n){let i=await t.send("televet.booking.cancellation_policy",{method:"GET",path:Ad,...n?{signal:n}:{}});return i.ok?F(ji(i.value)):F(null)},async clinicians(n,i){let l=n.trim();if(!_e(l))return ce("state must be a two-letter US state code");let s=await t.send("televet.booking.clinicians",{method:"GET",path:wd,query:{state:l},...i?{signal:i}:{}});return s.ok?F(vt(Tn(s.value,"vets"),zi)):hn(s.error)?F(Object.freeze([])):R(s.error)},async slots(n,i){let l=n.trim();if(l.length===0)return ce("clinicianId is required");let s=await t.send("televet.booking.slots",{method:"GET",path:Wi,query:{clinician_id:l},...i?{signal:i}:{}});return s.ok?F(vt(Tn(s.value,"slots"),bn)):hn(s.error)?F(Object.freeze([])):R(s.error)},async nextSlot(n){let i=await t.send("televet.booking.next_slot",{method:"GET",path:Id,...n?{signal:n}:{}});return i.ok?F(bn(Nd(i.value,"slot"))):F(null)},async holdSlot(n){let i=n.trim();if(i.length===0)return ce("slotId is required");let l=await t.send("televet.booking.hold",{method:"POST",path:$i(i)},{idempotent:false,maxAttempts:1});if(!l.ok)return bt(r,"televet.booking.hold_failed",{status:l.error.httpStatus??null}),R(l.error);let s=Hi(l.value);return s===null?tt("the hold response carried no usable expiry"):F(s)},async book(n,i){let l=Ji(n);if(l!==null)return ce(l);let s=i.trim();if(s.length===0)return ce("idempotencyKey is required");let a=await t.send("televet.booking.book",{method:"POST",path:Sr,body:Ld(n)},{idempotent:true,idempotencyKey:s,maxAttempts:1});if(!a.ok)return bt(r,"televet.booking.book_failed",{status:a.error.httpStatus??null}),R(mr(a.error));let d=Dt(a.value);return d===null?tt("the booking response was unreadable"):br(d)?F(d):(bt(r,"televet.booking.book_failed",{status:null,consult_status:d.status}),R(yr(d.status)))},async reschedule(n,i){let l=n.trim(),s=i.trim();if(l.length===0)return ce("consultId is required");if(s.length===0)return ce("slotId is required");let a=await t.send("televet.booking.reschedule",{method:"POST",path:Ki(l),body:{new_slot_id:s}},{idempotent:false,maxAttempts:1});if(!a.ok)return bt(r,"televet.booking.reschedule_failed",{status:a.error.httpStatus??null}),R(a.error);let d=Dt(a.value);return d===null?tt("the reschedule response was unreadable"):F(d)},async listConsults(n){let i=await t.send("televet.booking.consults",{method:"GET",path:Sr,query:{limit:String(Gi)},...n?{signal:n}:{}});return i.ok?F(vt(Tn(i.value,"consults"),Dt)):hn(i.error)?F(Object.freeze([])):R(i.error)},async getConsult(n,i){let l=n.trim();if(l.length===0)return ce("consultId is required");let s=await t.send("televet.booking.consult",{method:"GET",path:Er(l),...i?{signal:i}:{}});if(!s.ok)return R(s.error);let a=Dt(s.value);return a===null?tt("the consult response was unreadable"):F(a)},async joinConsult(n){let i=n.trim();if(i.length===0)return ce("consultId is required");let l=await t.send("televet.booking.join",{method:"POST",path:qi(i)},{idempotent:false,maxAttempts:1});if(!l.ok)return bt(r,"televet.booking.join_failed",{status:l.error.httpStatus??null}),R(l.error);let s=fn(l.value);return s===null?tt("the join response carried no usable room credential"):F(s)},async cancelConsult(n,i){let l=n.trim(),s=i.trim();if(l.length===0)return ce("consultId is required");if(s.length===0)return ce("reason is required");if(s.length>Ke)return ce(`reason must be at most ${Ke} characters`);let a=await t.send("televet.booking.cancel",{method:"POST",path:Yi(l),body:{reason:s}},{idempotent:false,maxAttempts:1});if(!a.ok)return bt(r,"televet.booking.cancel_failed",{status:a.error.httpStatus??null}),R(a.error);let d=Ui(a.value);return d===null?tt("the cancel response was unreadable"):F(d)}}}o(Sn,"createTelevetBookingController");function Ld(e){let t=e.cancellation_policy_version?.trim()??"",r=e.state_attested===true&&t.length>0;return {pet_id:e.pet_id,clinician_id:e.clinician_id,slot_id:e.slot_id,state:e.state,reason_text:e.reason_text.trim(),species:e.species,media_refs:[...e.media_refs],emergency_acknowledged:e.emergency_acknowledged,share_health_records:e.share_health_records,...r?{state_attested:true,cancellation_policy_version:t}:{}}}o(Ld,"bookingWireBody");function Tn(e,t){if(Array.isArray(e))return e;if(typeof e=="object"&&e!==null){let r=e,n=r[t]??r.items??r.data;if(Array.isArray(n))return n}return e}o(Tn,"rows");function Nd(e,t){if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let r=e,n=r[t]??r.data;if(typeof n=="object"&&n!==null)return n}return e}o(Nd,"unwrap");var Xi=Symbol.for("@everfur/sdk#EverfurContext@v1"),Qi=globalThis,Zi=Qi[Xi]??(Qi[Xi]=react.createContext(null));Zi.displayName??="EverfurContext";function Te(){let e=react.useContext(Zi);if(e===null)throw new Bt("not-initialized","Everfur hooks must be called inside <EverfurProvider>. Wrap your tree once, high.");return e}o(Te,"useEverfurContext");var Md=Object.freeze({chat:Object.freeze(["chat.message.create"]),records:Object.freeze(["records.upload.create","records.record.read"]),recordsClinic:Object.freeze(["records.clinic.create"]),video:Object.freeze(["video.gait.execute"]),photo:Object.freeze(["photo.checkup.execute"]),animations:Object.freeze(["animations.state.read"]),televet:Object.freeze(["televet.visit.create"])});function jd(e){return Md[e]}o(jd,"requires");function el(e,t,r){let n=jd(e),i=new Map;for(let a of t)i.set(a.resource,a);if(r?.isPending===true&&n.some(a=>!i.has(a)))return En({name:e,enabled:false,isPending:true,limits:{}});let l=zd(n,i);return n.filter(a=>i.get(a)?.granted!==true).length===0?En({name:e,enabled:true,isPending:false,limits:l}):En({name:e,enabled:false,isPending:false,limits:l,disabled:Hd(n,i)})}o(el,"decideCapability");function zd(e,t){let r={};for(let n of e){let i=t.get(n)?.limits;if(i)for(let[l,s]of Object.entries(i)){let a=r[l];r[l]=a===void 0?s:Math.min(a,s);}}return r}o(zd,"mergeLimits");function Hd(e,t){for(let r of e){let n=t.get(r)?.disabled;if(n)return Object.freeze({reason:n.reason,level:n.level,recoverable:n.recoverable})}return Object.freeze({reason:ln("accessDenied"),level:"user_entitlement",recoverable:false})}o(Hd,"disabledFor");function En(e){let t={name:e.name,enabled:e.enabled,isPending:e.isPending,limits:Object.freeze({...e.limits})};return e.disabled!==void 0&&(t.disabled=e.disabled),Object.freeze(t)}o(En,"freezeDecision");function Ft(e){let{runtime:t}=Te(),r=t.entitlements,n=react.useSyncExternalStore(r.subscribe,r.getSnapshot,r.getSnapshot);return react.useMemo(()=>el(e,n.decisions,{isPending:n.isPending}),[e,n])}o(Ft,"useCapability");function Se(e){let{runtime:t,userRef:r,scopeEpoch:n}=Te();return react.useMemo(()=>{if(e)return e;if(r===null)return null;let{services:i}=t.registry;return Sn({auth:i.authFor(r),telemetry:i.telemetry,...i.errorPolicy?{errorPolicy:i.errorPolicy}:{}})},[t,r,n,e])}o(Se,"useTelevetBookingController");function Wd(){let{userRef:e}=Te(),t=Ft("televet");return react.useMemo(()=>({available:t.enabled&&e!==null,isPending:t.isPending}),[t.enabled,t.isPending,e])}o(Wd,"useTelevetBookingAvailable");function rt(e,t,r){let[n,i]=react.useState(()=>({key:e,data:null,isPending:t&&r!==null,error:null})),[l,s]=react.useState(0),a=react.useRef(r);a.current=r,react.useEffect(()=>{let p=a.current;if(!t||p===null){i({key:e,data:null,isPending:false,error:null});return}let f=new AbortController,m=true;return i(c=>c.key===e?{...c,isPending:true,error:null}:{key:e,data:null,isPending:true,error:null}),(async()=>{let c;try{c=await p(f.signal);}catch{m&&i({key:e,data:null,isPending:false,error:null});return}m&&(c.ok?i({key:e,data:c.value,isPending:false,error:null}):i({key:e,data:null,isPending:false,error:c.error}));})(),()=>{m=false,f.abort();}},[e,t,l]);let d=react.useCallback(()=>s(p=>p+1),[]),u=n.key===e;return react.useMemo(()=>({enabled:t,data:u?n.data:null,isPending:t&&(!u||n.isPending),isError:u&&n.error!==null,error:u?n.error:null,refetch:d}),[t,u,n.data,n.isPending,n.error,d])}o(rt,"useTelevetRead");function kn(e,t){let r=e?.trim()??"",n=t?.statePolicy!==void 0&&_e(r),i=t?.statePolicy;return rt(`state-policy:${r}`,n,n&&i?l=>i.call(t,r,l):null)}o(kn,"useTelevetStatePolicy");function xn(e){let t=e?.entitlement!==void 0,r=e?.entitlement;return rt("entitlement",t,t&&r?n=>r.call(e,n):null)}o(xn,"useTelevetBookingEntitlement");function Mt(e){let t=e?.cancellationPolicy!==void 0,r=e?.cancellationPolicy;return rt("cancellation-policy",t,t&&r?n=>r.call(e,n):null)}o(Mt,"useTelevetCancellationPolicy");function Rn(e,t){let r=e?.trim()??"",n=t?.clinicians!==void 0&&_e(r),i=t?.clinicians;return rt(`clinicians:${r}`,n,n&&i?l=>i.call(t,r,l):null)}o(Rn,"useTelevetClinicians");function jt(e,t){let r=e?.trim()??"",n=t!==null&&r.length>0;return rt(`slots:${r}`,n,n&&t?i=>t.slots(r,i):null)}o(jt,"useTelevetSlots");function _n(e){let t=e?.nextSlot!==void 0,r=e?.nextSlot;return rt("next-slot",t,t&&r?n=>r.call(e,n):null)}o(_n,"useTelevetNextSlot");function Pn(e){let[t,r]=react.useState(null),n=react.useRef(true),i=react.useRef(false),l=react.useRef(e);l.current=e,react.useEffect(()=>(n.current=true,()=>{n.current=false;}),[]);let s=react.useCallback((...a)=>{let d=l.current;if(d===null||i.current)return;let u=a[a.length-1],p=typeof u=="object"&&u!==null&&("onSuccess"in u||"onError"in u),f=p?u:void 0,m=p?a.slice(0,-1):a;i.current=true,r({variables:m[0]??null}),(async()=>{let c=null;try{c=await d(...m);}catch{c=null;}i.current=false,n.current&&r(null),c!==null&&(c.ok?f?.onSuccess?.(c.value):f?.onError?.(c.error));})();},[]);return react.useMemo(()=>({isPending:t!==null,variables:t?.variables??null,mutate:s}),[t,s])}o(Pn,"useTelevetWrite");function zt(e){return Pn(e?t=>e.holdSlot(t):null)}o(zt,"useTelevetHoldSlot");function wn(e){return Pn(e?(t,r)=>e.book(t,r):null)}o(wn,"useTelevetBookConsult");function In(e,t){return Pn(t&&e?r=>t.reschedule(e,r):null)}o(In,"useTelevetRescheduleConsult");function xr(e,t=0){let r=e?.listConsults!==void 0,n=e?.listConsults;return rt(`consults:${t}`,r,r&&n?i=>n.call(e,i):null)}o(xr,"useTelevetConsults");function Ht(e){return e.error!==null&&e.error.httpStatus===404}o(Ht,"televetReadIsDark");var On=15,An=250,nl=new Set(["scheduled","in_progress"]);function nt(e){let t=Date.parse(e.scheduledAt);return Number.isNaN(t)?null:t}o(nt,"startsAtMs");function Bn(e){let t=nt(e);return t===null?null:t-On*6e4}o(Bn,"televetJoinOpensAtMs");function Ln(e,t){if(!nl.has(e.status))return {joinable:false,reason:`status_${e.status}`};if(!e.hasRoom)return {joinable:false,reason:"room_not_ready"};let r=nt(e);return r===null||t<r-On*6e4?{joinable:false,reason:"too_early"}:t>r+An*6e4?{joinable:false,reason:"too_late"}:{joinable:true}}o(Ln,"televetJoinDecision");function Vt(e,t){let r=[],n=[];for(let i of e){let l=nt(i);(nl.has(i.status)&&l!==null&&l+An*6e4>t?r:n).push(i);}return r.sort((i,l)=>(nt(i)??0)-(nt(l)??0)),n.sort((i,l)=>(nt(l)??0)-(nt(i)??0)),Object.freeze({upcoming:Object.freeze(r),past:Object.freeze(n)})}o(Vt,"splitTelevetVisits");function Nn(e){return e==="scheduled"}o(Nn,"canManageTelevetVisit");function ol(e){let t=xr(e);return t.enabled?t.isPending?"pending":t.isError||Vt(t.data??[],Date.now()).upcoming.length>0?"visits":"booking":"booking"}o(ol,"useTelevetLanding");var I=Object.freeze({bookCardTitle:"Book a video visit",bookCardCta:"Find a time",upcomingTitle:"Upcoming visits",pastTitle:"Past visits",emptyTitle:"No visits yet",emptyBody:"When you book a video visit, it will appear here.",loading:"Loading your visits\u2026",loadErrorTitle:"Could not load your visits",loadErrorBody:"Check your connection and try again.",retry:"Try again",joinCta:"Join visit",joining:"Joining\u2026",rescheduleCta:"Reschedule",cancelCta:"Cancel visit",cancelConfirmTitle:"Cancel this visit?",cancellationReasonLabel:"Why are you cancelling?",cancelConfirmCta:"Cancel visit",cancellingVisit:"Cancelling visit\u2026",cancelDismissCta:"Keep visit",cancelledTitle:"Visit cancelled",cancellationFeeRecorded:"A late cancellation fee was recorded for this visit.",cancellationFeeNotRecorded:"No late cancellation fee was recorded for this visit.",loadingCancellationTerms:"Loading cancellation terms\u2026",cancellationTermsUnavailable:"We could not confirm the current cancellation terms. Try again before continuing.",cancellationReasonMissing:"Tell us why you are cancelling.",cancellationReasonTooLong:o(e=>`Keep the reason to ${String(e)} characters or fewer.`,"cancellationReasonTooLong"),cancelTermsFirst:"We could not confirm the cancellation terms. Please try again before cancelling.",cancelFailed:"We could not cancel this visit. Refresh your visits to confirm its status before trying again."});function il(e){switch(e){case "scheduled":return "Scheduled";case "in_progress":return "In progress";case "awaiting_summary":return "Summary on its way";case "completed":return "Completed";case "cancelled_owner":return "Cancelled by you";case "cancelled_ops":return "Cancelled by Everfur";case "no_show_owner":return "Missed";case "no_show_vet":return "Vet couldn't attend";default:return null}}o(il,"televetVisitStatusWeb");function ll(e,t){if(e==="too_early")return t?`This visit opens at ${t}. You can join from then.`:"This visit has not opened yet.";if(e==="too_late")return "This visit has ended.";if(e==="room_not_ready")return "We are still setting up the video room. Try again in a moment.";switch(e){case "status_cancelled_owner":return "You cancelled this visit.";case "status_cancelled_ops":return "This visit was cancelled. Please book another time.";case "status_no_show_owner":return "This visit was missed.";case "status_no_show_vet":return "The vet could not make this visit. Please book another time.";case "status_awaiting_summary":return "This visit has ended. Your summary is on its way.";case "status_completed":return "This visit has ended.";default:return "This visit cannot be joined right now."}}o(ll,"televetJoinBlockWeb");var Mn=class Mn extends react.Component{constructor(){super(...arguments);this.state={failed:false,key:this.props.resetKey};}static getDerivedStateFromError(){return {failed:true}}static getDerivedStateFromProps(r,n){return Object.is(r.resetKey,n.key)?null:{failed:false,key:r.resetKey}}render(){return this.state.failed?this.props.fallback:this.props.children}};o(Mn,"HostRenderBoundary");var Dn=Mn;function Kd({render:e}){return e()}o(Kd,"RenderHost");function Fn({render:e,fallback:t,resetKey:r}){return react.createElement(Dn,{fallback:t,resetKey:r,children:react.createElement(Kd,{render:e})})}o(Fn,"HostRender");function Hn(e){if(e!==null&&typeof e=="object"&&!Object.isFrozen(e)){Object.freeze(e);for(let t of Object.keys(e))Hn(e[t]);}return e}o(Hn,"deepFreeze");var qd=Object.freeze({content:0,heading:2,control:1.8,compact:1.5,badge:1.3}),dl={xs:4,sm:8,md:12,lg:16,xl:24,xxl:32},ul={tile:5,xs:6,sm:10,md:14,lg:20,xl:28,pill:500},sl={nano:8,small:9,micro:10,tiny:11,caption:12,bodyTight:13,body:14,subtitle:16,heading:18,verdict:24},Yd={tight:1.15,snug:1.3,normal:1.4,relaxed:1.55},Gd={regular:"400",medium:"500",bold:"700"},Jd={eyebrow:1,monoWide:.9,headerBrand:-0.42,tight:-0.35},Xd=0,Rr="System",_r="monospace",Qd=["content","heading","control","compact","badge"];function Zd(e){let t={};for(let r of Qd)t[r]=e;return t}o(Zd,"authoredTierSizes");function cl(){return {family:Rr,mono:_r,fontUrl:null,families:{regular:Rr,medium:Rr,bold:Rr,mono:_r,monoMedium:_r,monoBold:_r},namedFaces:{regular:false,medium:false,bold:false,mono:false,monoMedium:false,monoBold:false},fontUrls:{},size:sl,tierSizes:Zd(sl),lineHeight:Yd,weight:Gd,letterSpacing:Jd,scale:1,maxScale:Xd,scaleCaps:qd}}o(cl,"baseType");var pl={},jn=Object.freeze({standard:Object.freeze([.2,0,0,1]),emphasized:Object.freeze([.2,.8,.2,1]),exit:Object.freeze([.4,0,1,1])});function zn(e){return `cubic-bezier(${e.join(", ")})`}o(zn,"cssCubicBezier");var fl={duration:{instant:80,fast:140,normal:220,slow:320},spring:{gentle:{damping:18,stiffness:200}},easing:{standard:zn(jn.standard),emphasized:zn(jn.emphasized),exit:zn(jn.exit)},reducedMotion:false},eu={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:"#FDFBF8",surfaceSubtle:"#EFE9E3",background:"#FFFFFF",borderRingCream:"#D8D2C8",chatGround:"#FFFFFF",composerFill:"#FDFBF8",composerBorder:"rgba(16,70,46,0.75)",shadow:"#0B3421",text:{primary:"#111111",secondary:"#0E462E",muted:"#6E6660",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:"#B91C1C",errorRed:"#FF1B00",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(185,28,28,0.12)",badgeBgNeutral:"rgba(110,102,96,0.12)",bubbleUser:"#10462E",bubbleAssistant:"#FFFFFF",bubbleVet:"#FFC3BC",onBubbleVet:"#111111",skeleton:"#EFE9E3",scanButtonPink:"#FFC3BC",checkupCardLowRiskBg:"rgba(7,193,104,0.10)",checkupCardConcernBg:"rgba(239,167,0,0.10)"},yl=Hn({brightness:"light",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:eu,space:dl,radius:ul,type:cl(),motion:fl,slots:pl}),tu={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:"#9A938C",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",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:"#111111",skeleton:"#23272C",scanButtonPink:"#FFC3BC",checkupCardLowRiskBg:"rgba(7,193,104,0.16)",checkupCardConcernBg:"rgba(239,167,0,0.16)"};Hn({brightness:"dark",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:tu,space:dl,radius:ul,type:cl(),motion:fl,slots:pl});var ml=Symbol.for("@everfur/sdk#EverfurThemeContext@v1"),gl=globalThis,Vn=gl[ml]??(gl[ml]=react.createContext(yl));Vn.displayName??="EverfurThemeContext";function w(){return react.useContext(Vn)}o(w,"useEverfurTheme");var vl=Object.freeze({regular:"regular",medium:"medium",bold:"bold",mono:"regular",monoMedium:"medium",monoBold:"bold"});var bl='system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',ou="System";function iu(e){let t=e.trim();return t.length===0||t===ou?bl:`${hl(t)}, ${bl}`}o(iu,"cssFontFamily");function lu(e){let t=e.trim();return t.length===0||t==="monospace"?"ui-monospace, Menlo, Consolas, monospace":`${hl(t)}, ui-monospace, Menlo, Consolas, monospace`}o(lu,"cssMonoFamily");function hl(e){return `"${e.replace(/[\\"]/g,"\\$&")}"`}o(hl,"quote");function T(e,t){let r=e.type,n=r.families[t];return {fontFamily:t==="mono"||t==="monoMedium"||t==="monoBold"?lu(n):iu(n),fontWeight:r.namedFaces[t]?r.weight.regular:r.weight[vl[t]]}}o(T,"faceCss");var ht=Object.freeze({textAlign:"start"});var au=48;function su(e){return e.isPending?"pending":e.enabled?"enabled":"disabled"}o(su,"selectView");function El(e){let{capability:t,children:r,renderDisabled:n,renderPending:i,style:l,className:s}=e,a=Ft(t),d=react.useMemo(()=>su(a),[a]);switch(d){case "enabled":return r;case "pending":return i?jsxRuntime.jsx(Fn,{render:i,fallback:jsxRuntime.jsx(Tl,{capability:t,style:l,className:s})}):jsxRuntime.jsx(Tl,{capability:t,style:l,className:s});case "disabled":return n?jsxRuntime.jsx(Fn,{render:()=>n(a),fallback:jsxRuntime.jsx(Sl,{decision:a,style:l,className:s}),resetKey:a}):jsxRuntime.jsx(Sl,{decision:a,style:l,className:s});default:return dr(d)}}o(El,"CapabilityGate");function Tl({capability:e,style:t,className:r}){let n=w(),i=react.useMemo(()=>Cl(n),[n]);return jsxRuntime.jsx("div",{role:"status","aria-busy":"true","aria-label":`Loading ${e}`,className:r,style:{...i.offstate,...t},children:jsxRuntime.jsx("div",{style:i.skeletonBar})})}o(Tl,"PendingSkeleton");function Sl({decision:e,style:t,className:r}){let n=w(),i=react.useMemo(()=>Cl(n),[n]),l=e.disabled?.reason??"";return jsxRuntime.jsx("div",{className:r,style:{...i.offstate,...t},children:l.length>0?jsxRuntime.jsx("p",{style:i.offstateText,children:l}):null})}o(Sl,"OffState");function Cl(e){let{color:t,space:r,radius:n,type:i}=e;return {offstate:{...ht,boxSizing:"border-box",minHeight:au,display:"flex",flexDirection:"column",justifyContent:"center",padding:`${r.md}px ${r.lg}px`,backgroundColor:t.surfaceCream,borderRadius:n.md,border:`1px solid ${t.brandBorder}`},offstateText:{margin:0,...T(e,"regular"),fontSize:i.size.body,lineHeight:`${Math.round(i.size.body*i.lineHeight.normal)}px`,color:t.text.muted},skeletonBar:{height:r.md,borderRadius:n.xs,backgroundColor:t.brandSofter}}}o(Cl,"makeStyles");function Tt(e){for(let t=0;t<e.length;t+=1){let r=e.charCodeAt(t);if(r>=55296&&r<=56319){let n=e.charCodeAt(t+1);if(!(n>=56320&&n<=57343))return true;t+=1;}else if(r>=56320&&r<=57343)return true}return false}o(Tt,"hasLoneSurrogate");function St(e){return [...e].length}o(St,"serverLength");var kl=Object.freeze({dog:"dog",canine:"dog",k9:"dog",puppy:"dog",cat:"cat",feline:"cat",kitten:"cat"});function xl(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return Object.prototype.hasOwnProperty.call(kl,t)?kl[t]:null}o(xl,"canonicalPetSpecies");var Rl=50,du=128,Wn=120,_l=120,uu=2e3,Pl=120,cu=80,Ol=new Set(["male","female","unknown"]),Al=new Set(["day","month","year"]),Bl=new Set(["low","medium","high","athletic"]),Ll=new Set(["indoor","outdoor","both"]),Nl=new Set(["mild","moderate","severe"]),pu=/^(\d{4})-(\d{2})-(\d{2})$/,Dl=[["sex","sex"],["spayedNeutered","spayed_neutered"],["birthDate","birth_date"],["birthDatePrecision","birth_date_precision"],["activityLevel","activity_level"],["indoorOutdoor","indoor_outdoor"],["foodBrand","food_brand"],["foodType","food_type"],["microchipId","microchip_id"]],Fl=[["allergies","allergies"],["medications","medications"],["supplements","supplements"],["conditions","conditions"]];Object.freeze([...Dl,...Fl].map(([e])=>e));function fu(e){let t=pu.exec(e);if(t===null)return false;let[r,n,i]=[Number(t[1]),Number(t[2]),Number(t[3])],l=new Date(Date.UTC(r,n-1,i));return l.getUTCFullYear()===r&&l.getUTCMonth()===n-1&&l.getUTCDate()===i}o(fu,"isRealDate");var Wt=o(e=>(t,r)=>typeof r=="string"&&e.has(r)?null:`${t} must be one of ${[...e].join(", ")}`,"oneOf"),yu=o((e,t)=>typeof t=="boolean"?null:`${e} must be true or false`,"boolean"),wr=o((e,t)=>typeof t=="string"&&fu(t)?null:`${e} must be a real date written YYYY-MM-DD`,"date"),we=o((e,t={})=>(r,n)=>{if(typeof n!="string")return `${r} must be a string`;if(Tt(n))return `${r} contains an unpaired surrogate and cannot be encoded`;let i=t.trimmed?n.trim():n;if(t.required&&i.length===0)return `${r} is required and must not be blank`;let l=St(i);return l<=e?null:`${r} is ${l} characters; the server accepts at most ${e}`},"text"),mu={sex:Wt(Ol),spayedNeutered:yu,birthDate:wr,birthDatePrecision:Wt(Al),activityLevel:Wt(Bl),indoorOutdoor:Wt(Ll),foodBrand:we(Pl),foodType:we(Pl),microchipId:we(cu)},$n=["ref","ref",false,we(du,{required:true,trimmed:true})],Kn=["notes","notes",false,we(uu,{trimmed:true})],wl=[$n,["name","name",true,we(Wn,{required:true,trimmed:true})],["dose","dose",false,we(_l,{trimmed:true})],["frequency","frequency",false,we(_l,{trimmed:true})],["startDate","start_date",false,wr],["endDate","end_date",false,wr],Kn],gu={allergies:[$n,["allergen","allergen",true,we(Wn,{required:true,trimmed:true})],["severity","severity",false,Wt(Nl)],Kn],medications:wl,supplements:wl,conditions:[$n,["conditionName","condition_name",true,we(Wn,{required:true,trimmed:true})],["diagnosedDate","diagnosed_date",false,wr],Kn]};function vu(e,t,r){let n=`${e}[${t}]`;if(typeof r!="object"||r===null||Array.isArray(r))return {error:`${n} must be an object`};let i=r,l={};for(let[d,u,p,f]of gu[e]){let m=i[d];if(m==null){if(p)return {error:`${n}.${d} is required`};m===null&&(l[u]=null);continue}let c=f(`${n}.${d}`,m);if(c!==null)return {error:c};l[u]=m;}let s=l.start_date,a=l.end_date;return typeof s=="string"&&typeof a=="string"&&a<s?{error:`${n}.endDate must not be before startDate`}:{item:l}}o(vu,"itemToWire");function bu(e,t){if(!Array.isArray(t))return {error:`${e} must be an array (send [] to clear it)`};if(t.length>Rl)return {error:`${e} has ${t.length} items; the server accepts at most ${Rl}`};let r=[],n=new Set;for(let i=0;i<t.length;i+=1){let l=vu(e,i,t[i]);if("error"in l)return l;let s=l.item.ref;if(typeof s=="string"){let a=s.trim();if(n.has(a))return {error:`${e}: ref ${JSON.stringify(a)} is used twice; a ref names one item`};n.add(a);}r.push(l.item);}return {items:r}}o(bu,"listToWire");function Ml(e,t){let r=e,n={};for(let[s,a]of Dl){let d=r[s];if(d!==void 0){if(d!==null){let u=mu[s](s,d);if(u!==null)return {error:u}}n[a]=d;}}let i=r.birthDate!==void 0,l=r.birthDatePrecision!==void 0;if(i!==l||i&&r.birthDate===null!=(r.birthDatePrecision===null))return {error:"birthDate and birthDatePrecision must be sent together, both set or both null"};for(let[s,a]of Fl){let d=r[s];if(d===void 0)continue;let u=bu(s,d);if("error"in u)return u;n[a]=u.items;}return Object.keys(n).length>0&&t!==void 0&&xl(t)===null?{error:"health fields need a pet Everfur reads as a dog or a cat (dog, canine, k9, puppy, cat, feline, kitten)"}:{body:n}}o(Ml,"petHealthToWire");var J=o(e=>typeof e=="string"?e:null,"str"),Ut=o((e,t)=>typeof t=="string"&&e.has(t)?t:null,"pick"),hu=o(e=>typeof e=="boolean"?e:null,"bool");function Pr(e,t){return Array.isArray(e)?Object.freeze(e.flatMap(r=>{if(typeof r!="object"||r===null||Array.isArray(r))return [];let n=t(r);return n===null?[]:[n]})):Object.freeze([])}o(Pr,"itemsFromWire");function Il(e){let t=J(e.name);return t===null||t.length===0?null:Object.freeze({ref:J(e.ref),name:t,dose:J(e.dose),frequency:J(e.frequency),startDate:J(e.start_date),endDate:J(e.end_date),notes:J(e.notes)})}o(Il,"medicationFromWire");function jl(e){let t=e.profile_version;return Object.freeze({profileVersion:typeof t=="number"&&Number.isInteger(t)&&t>=0?t:0,sex:Ut(Ol,e.sex),spayedNeutered:hu(e.spayed_neutered),birthDate:J(e.birth_date),birthDatePrecision:Ut(Al,e.birth_date_precision),activityLevel:Ut(Bl,e.activity_level),indoorOutdoor:Ut(Ll,e.indoor_outdoor),foodBrand:J(e.food_brand),foodType:J(e.food_type),microchipId:J(e.microchip_id),allergies:Pr(e.allergies,r=>{let n=J(r.allergen);return n===null||n.length===0?null:Object.freeze({ref:J(r.ref),allergen:n,severity:Ut(Nl,r.severity),notes:J(r.notes)})}),medications:Pr(e.medications,Il),supplements:Pr(e.supplements,Il),conditions:Pr(e.conditions,r=>{let n=J(r.condition_name);return n===null||n.length===0?null:Object.freeze({ref:J(r.ref),conditionName:n,diagnosedDate:J(r.diagnosed_date),notes:J(r.notes)})})})}o(jl,"petHealthFromWire");var Vl=100,Ul=50,Wl=100,$l=50,Kl=500,Tu=128,Su=6e4;function Oe(e){return te("validationFailed",{retryable:false,wireMessage:e})}o(Oe,"invalid");function ot(e,t,r){if(typeof t!="string")return Oe(`${e} must be a string`);let n=St(t);return n<=r?null:Oe(`${e} is ${n} characters; the server accepts at most ${r}`)}o(ot,"checkString");function Ir(e,t,r){return typeof t=="number"&&Number.isFinite(t)&&t>=0&&t<=r?null:Oe(`${e} must be a finite number between 0 and ${r}`)}o(Ir,"outOfRange");function zl(e,t){if(typeof e!="string")return Oe("pet_ref must be a string");if(e.trim().length===0)return Oe("pet_ref must not be blank");if(Tt(e))return Oe("pet_ref contains an unpaired surrogate and cannot be encoded");if(t!=null&&typeof t!="object")return Oe("profile must be an object");let r=[ot("pet_ref",e,Tu)];return t?.name!==void 0&&r.push(ot("name",t.name,Vl)),t?.species!==void 0&&r.push(ot("species",t.species,Ul)),t?.breed!==void 0&&r.push(ot("breed",t.breed,Wl)),t?.ageYears!==void 0&&r.push(Ir("age_years",t.ageYears,$l)),t?.weightKg!==void 0&&r.push(Ir("weight_kg",t.weightKg,Kl)),r.find(n=>n!==null)??null}o(zl,"validate");function ql(e,t){let r=Ml(e,t);return "error"in r?{error:Oe(r.error)}:r}o(ql,"healthToWire");function Eu(e){if(typeof e!="object"||e===null)return {error:Oe("patch must be an object")};let t=e,r=[["name","name",l=>ot("name",l,Vl)],["species","species",l=>ot("species",l,Ul)],["breed","breed",l=>ot("breed",l,Wl)],["ageYears","age_years",l=>Ir("age_years",l,$l)],["weightKg","weight_kg",l=>Ir("weight_kg",l,Kl)]],n={};for(let[l,s,a]of r){let d=t[l];if(d!==void 0){if(d!==null){let u=a(d);if(u!==null)return {error:u}}n[s]=d;}}let i=ql(t,t.species);return "error"in i?i:(Object.assign(n,i.body),Object.keys(n).length===0?{error:Oe("patch must change at least one field")}:{body:n})}o(Eu,"patchToWire");function Cu(e){if(e==null)return {body:{}};let t=ql(e,e.species);return "error"in t?t:{body:{...e.name!==void 0?{name:e.name}:{},...e.species!==void 0?{species:e.species}:{},...e.breed!==void 0?{breed:e.breed}:{},...e.ageYears!==void 0?{age_years:e.ageYears}:{},...e.weightKg!==void 0?{weight_kg:e.weightKg}:{},...t.body}}}o(Cu,"toWire");var Ie=o(e=>typeof e=="string"?e:null,"str"),Or=o(e=>typeof e=="number"&&Number.isFinite(e)?e:null,"num");function Hl(e,t){let r=typeof e=="object"&&e!==null?e:{};return Object.freeze({petRef:Ie(r.pet_ref)??t,name:Ie(r.name),species:Ie(r.species),breed:Ie(r.breed),ageYears:Or(r.age_years),weightKg:Or(r.weight_kg)})}o(Hl,"fromWire");function Yl(e){if(typeof e!="object"||e===null)return null;let t=e,r=Ie(t.pet_ref);return r===null||r.length===0?null:Object.freeze({petId:Ie(t.pet_id),petRef:r,name:Ie(t.name),species:Ie(t.species),breed:Ie(t.breed),ageYears:Or(t.age_years),weightKg:Or(t.weight_kg),updatedAt:Ie(t.updated_at)})}o(Yl,"widgetPetFromWire");function ku(e){let t=Yl(e);return t===null?null:Object.freeze({...t,...jl(e)})}o(ku,"widgetPetProfileFromWire");function xu(e){let t=Array.isArray(e)?e:typeof e=="object"&&e!==null&&Array.isArray(e.pets)?e.pets:[];return Object.freeze(t.flatMap(r=>{let n=Yl(r);return n===null?[]:[n]}))}o(xu,"petListFromWire");function Gl(e){return Ru(et({auth:e}),et({auth:e,unaryTimeoutMs:Su}))}o(Gl,"createPetsRepository");function Ru(e,t=e){let r=o((i,l)=>l?{...i,signal:l}:i,"withSignal"),n=o(i=>zl(i,void 0)??`/widget/v1/pets/${encodeURIComponent(i)}`,"petPath");return {async list(i){let l=await e.send("pets.list",r({method:"GET",path:"/widget/v1/pets"},i?.signal));return l.ok?F(xu(l.value)):R(l.error)},async registerPet(i,l,s){let a=zl(i,l);if(a!==null)return R(a);let d=Cu(l);if("error"in d)return R(d.error);let p={method:"POST",path:`/widget/v1/pets/${encodeURIComponent(i)}`,body:d.body},f=await e.send("pets.registerPet",s?.signal?{...p,signal:s.signal}:p);return f.ok?F(Hl(f.value,i)):R(f.error)},async updatePet(i,l,s){let a=n(i);if(typeof a!="string")return R(a);let d=Eu(l);if("error"in d)return R(d.error);let u=await e.send("pets.updatePet",r({method:"PATCH",path:a,body:d.body},s?.signal));return u.ok?F(Hl(u.value,i)):R(u.error)},async getPetProfile(i,l){let s=n(i);if(typeof s!="string")return R(s);let a=await e.send("pets.getPetProfile",r({method:"GET",path:`${s}/profile`},l?.signal));if(!a.ok)return R(a.error);let d=ku(a.value);return d===null?R(te("internalError",{retryable:false,httpStatus:502,wireMessage:"the pet profile response carried no pet_ref"})):F(d)},async deletePet(i,l){let s=n(i);if(typeof s!="string")return R(s);let a=await e.send("pets.deletePet",r({method:"DELETE",path:s},l?.signal));return a.ok?F(void 0):R(a.error)},async eraseUserData(i){let l=await t.send("pets.eraseUserData",r({method:"DELETE",path:"/widget/v1/me"},i?.signal),{maxAttempts:1});return l.ok?F(void 0):R(l.error)}}}o(Ru,"createPetsRepositoryOver");function Ar(){let{runtime:e,userRef:t,activePet:r,scopeEpoch:n}=Te(),i=react.useMemo(()=>Gl(e.registry.services.authFor(t)),[e,t,n]),[l,s]=react.useState({repository:i,pets:[],loading:true,error:null}),a=l.repository===i?l:{pets:[],loading:true,error:null},d=react.useRef(0),u=react.useCallback(async()=>{let f=++d.current;s(c=>({...c,repository:i,loading:true,error:null,pets:c.repository===i?c.pets:[]}));let m=await i.list();f===d.current&&s(m.ok?{repository:i,pets:m.value,loading:false,error:null}:c=>({repository:i,pets:c.repository===i?c.pets:[],loading:false,error:m.error}));},[i]);react.useEffect(()=>(u(),()=>{d.current+=1;}),[u]);let p=react.useMemo(()=>r===null?null:a.pets.find(f=>f.petRef===r)??null,[r,a.pets]);return react.useMemo(()=>({pets:a.pets,activePet:p,loading:a.loading,error:a.error,refresh:u}),[a.pets,a.loading,a.error,p,u])}o(Ar,"useEverfurPets");var $t=Object.freeze(["pet","issues","reason","clinician","time","review","booked"]),Jl=Object.freeze({petId:null,state:null,clinicianId:null,slot:null,holdExpiresAt:null,shareHealthRecords:false,idempotencyKey:null});function Gn(e,t={}){let r=Object.freeze({...Jl,...t}),n=Yn(0,e);return Object.freeze({index:n,draft:r,furthestIndex:n})}o(Gn,"initialTelevetBookingState");function Br(e,t){return e==="pet"?t.ownedPetCount<=1:e==="issues"?t.withIssues!==true:false}o(Br,"isSkipped");function Lr(e){return $t[e]}o(Lr,"stepAt");function Yn(e,t){for(let r=e;r<$t.length;r+=1){let n=Lr(r);if(n&&!Br(n,t))return r}return $t.length-1}o(Yn,"nextVisible");function Xl(e,t){for(let r=e;r>=0;r-=1){let n=Lr(r);if(n&&!Br(n,t))return r}return null}o(Xl,"previousVisible");function Jn(e,t){return Xl(e.index-1,t)!==null}o(Jn,"hasPreviousStep");function Xn(e,t,r){switch(t.type){case "patch":{let n={...e.draft,...t.patch};return ("petId"in t.patch&&t.patch.petId!==e.draft.petId||"state"in t.patch&&t.patch.state!==e.draft.state||"clinicianId"in t.patch&&t.patch.clinicianId!==e.draft.clinicianId)&&e.draft.slot?Object.freeze({...e,draft:Object.freeze({...n,slot:null,holdExpiresAt:null,idempotencyKey:null})}):Object.freeze({...e,draft:Object.freeze(n)})}case "next":{let n=Yn(e.index+1,r);return Object.freeze({...e,index:n,furthestIndex:Math.max(e.furthestIndex,n)})}case "back":{if(Lr(e.index)==="booked")return e;let n=Xl(e.index-1,r);return n===null?e:Object.freeze({...e,index:n})}case "goTo":{let n=$t.indexOf(t.step);if(n<0)return e;let i=Br(t.step,r)?Yn(n,r):n;return Object.freeze({...e,index:i,furthestIndex:Math.max(e.furthestIndex,i)})}default:return e}}o(Xn,"televetBookingReducer");function Qn(e){return Lr(e.index)??"pet"}o(Qn,"currentStep");function Kt(e,t){let r=t.trim();return !!e.petId&&!!e.clinicianId&&!!e.slot&&_e(e.state)&&r.length>0&&r.length<=$e}o(Kt,"canConfirm");function Nr(e,t){if(!e.holdExpiresAt)return false;let r=Date.parse(e.holdExpiresAt);return Number.isNaN(r)?false:r<=t}o(Nr,"isHoldExpired");function Ql(e,t,r){return e.slot?.slotId!==t||e.holdExpiresAt===null||e.idempotencyKey===null?false:!Nr(e,r)}o(Ql,"holdsSlot");var Zl=Object.freeze({slot:null,holdExpiresAt:null,idempotencyKey:null}),Ou=dn();function Zn(e){return `televet.book.${Ou()}.${e}`}o(Zn,"televetBookingKey");function eo(e,t,r){let n=r?.version?.trim()??"";return !e||!t||n.length===0?Object.freeze({}):Object.freeze({state_attested:true,cancellation_policy_version:n})}o(eo,"attestation");var Au=Object.freeze([{id:"itchy-skin",label:"Itchy skin and allergies"},{id:"upset-stomach",label:"Upset stomach"},{id:"ear-infections",label:"Ear infections"},{id:"anxiety",label:"Anxiety and behavior"},{id:"parasites",label:"Fleas, ticks, and heartworm"},{id:"joint-pain",label:"Joint pain and mobility"},{id:"eye-issues",label:"Eye issues"},{id:"urinary",label:"Urinary issues"},{id:"surgery-aftercare",label:"Surgery aftercare"},{id:"senior-dog-care",label:"Senior dog care",species:"dog"}]),Bu="other";function Lu(e){let t=e?.trim().toLowerCase()??"";return t.startsWith("dog")?"dog":t.startsWith("cat")?"cat":null}o(Lu,"televetIssueSpecies");function ea(e){let t=Lu(e),r=Au.filter(n=>!n.species||n.species===t).map(({id:n,label:i})=>Object.freeze({id:n,label:i}));return Object.freeze([...r,Object.freeze({id:Bu,label:y.otherIssue})])}o(ea,"televetIssueChips");function ta(e,t){let r=e.filter(i=>i.trim().length>0),n=t.trim();return r.length===0?n:n.length===0?r.join(", "):`${r.join(", ")}
2
- ${n}`}o(ta,"composeTelevetReason");function Fe(e){let t=new Date(e);return Number.isNaN(t.getTime())?null:t}o(Fe,"parse");function Et(e){let t=Fe(e);return t?t.toLocaleTimeString(void 0,{hour:"numeric",minute:"2-digit"}):""}o(Et,"formatClock");function Nu(e){let t=Fe(e);return t?t.toLocaleDateString(void 0,{month:"long",day:"numeric"}):""}o(Nu,"formatDate");var it=10;function Ct(e){let t=Fe(e);return t?new Intl.DateTimeFormat(void 0,{timeZoneName:"short"}).formatToParts(t).find(n=>n.type==="timeZoneName")?.value??"":""}o(Ct,"formatZone");function Du(e){let t=Fe(e);if(!t)return "";let r=new Date(t.getTime()+it*6e4).toISOString(),n=Ct(e),i=`${Et(e)} - ${Et(r)}`;return n&&n!==""?`${i} ${n}`:i}o(Du,"formatVisitRange");function ra(e){let t=Nu(e),r=[Et(e),Ct(e)].filter(Boolean).join(" ");return [t,r].filter(Boolean).join(", ")}o(ra,"formatWhen");function Ee(e){let t=Fe(e);return t?[t.toLocaleDateString(void 0,{weekday:"short"}),ra(e)].filter(Boolean).join(", "):""}o(Ee,"formatWhenWithDay");function na(e){let t=Fe(e);if(!t)return "";let r=t.toLocaleString(void 0,{weekday:"short",day:"numeric",month:"short",hour:"numeric",minute:"2-digit"}),n=Ct(e);return n?`${r} ${n}`:r}o(na,"formatShortDateTimeWithZone");function oa(e){return [Et(e),Ct(e)].filter(Boolean).join(" ")}o(oa,"formatClockWithZone");function qt(e){let t=Fe(e);return t?`${t.getFullYear()}-${t.getMonth()+1}-${t.getDate()}`:"unknown"}o(qt,"localDayKey");function ia(e){let t=Fe(e);return t===null?"":t.toLocaleDateString(void 0,{month:"long"})}o(ia,"formatMonthLabel");function la(e){let t=Fe(e);return t===null?"":t.toLocaleDateString(void 0,{weekday:"long",month:"long",day:"numeric"})}o(la,"formatFullDayLabel");function sa(e){let{draft:t,reasonText:r,book:n,stateAttested:i,termsAttested:l,cancellationPolicy:s,triage:a,goTo:d,releaseSlot:u,setFailure:p,setEmergency:f,setBookedConsult:m,onBooked:c}=e,v=react.useCallback(h=>{if(!Kt(t,r)||!t.idempotencyKey)return;if(Nr(t,Date.now())){p("expired"),d("time");return}let S=o(E=>{let k=Ue(E);if(k.kind==="emergency"){f(k.categories);return}if(k.kind==="rate_limited"){p("rate_limited");return}p(k.kind==="not_entitled"?"not_entitled":k.kind==="slot_taken"?"taken":k.kind==="clinician_unavailable"?"clinician_unavailable":k.kind==="unavailable"?"unavailable":"failed"),k.kind==="slot_taken"&&(u(),d("time"));},"refuse");p(null),f(null),n.mutate({pet_id:t.petId,clinician_id:t.clinicianId,slot_id:t.slot.slotId,state:t.state,reason_text:r.trim(),species:null,media_refs:[],emergency_acknowledged:h||a.isAcknowledged(r),share_health_records:t.shareHealthRecords,...eo(i,l,s)},t.idempotencyKey,{onSuccess:o(E=>{if(!br(E)){S(yr(E.status));return}m(E),d("booked"),c?.(E);},"onSuccess"),onError:o(E=>S(mr(E)),"onError")});},[t,r,n,i,l,s,a,d,u,p,f,m,c]),b=react.useCallback(()=>v(false),[v]);return {submitBooking:v,confirm:b}}o(sa,"useBookingSubmit");function Mu(e){if(e.httpStatus===409)return Object.freeze({failure:"taken"});switch(Ue(e).kind){case "slot_taken":return Object.freeze({failure:"taken"});case "rate_limited":return Object.freeze({failure:"rate_limited"});case "not_entitled":return Object.freeze({failure:"not_entitled"});case "unavailable":return Object.freeze({failure:"unavailable"});default:return Object.freeze({failure:"failed"})}}o(Mu,"televetHoldFailure");function da(e){let{draft:t,hold:r,dispatch:n,setFailure:i,refetchSlots:l}=e;return react.useCallback(s=>{if(i(null),Ql(t,s.slotId,Date.now())){n({type:"next"});return}r.mutate(s.slotId,{onSuccess:o(a=>{n({type:"patch",patch:{slot:s,holdExpiresAt:a.expiresAt,idempotencyKey:Zn(s.slotId)}}),n({type:"next"});},"onSuccess"),onError:o(a=>{let d=Mu(a);i(d.failure),d.failure==="taken"&&l();},"onError")});},[t,r,n,i,l])}o(da,"useSlotHold");function to(e){return Object.freeze(e==="dark"?{title:le.noCliniciansTitle,message:le.noCliniciansBody,retryLabel:le.noCliniciansRetryCta,interestReason:null}:{title:le.noCliniciansTitle,message:le.noCliniciansRegionBody,retryLabel:null,interestReason:"no_licensed_vet"})}o(to,"televetEmptyRosterView");function ro(e){return e?"roster":"dark"}o(ro,"televetEmptyRosterCause");var Yt=Object.freeze({failed:0,refused:Object.freeze({size:0,type:0,unreadable:0})});function no(e){let{failed:t,refused:r}=e;return t<=0&&r.size<=0&&r.type<=0&&r.unreadable<=0}o(no,"isMediaShortfallEmpty");function oo(e){let t=o(n=>Number.isFinite(n)&&n>0?Math.floor(n):0,"count"),r=le.media;return [{n:t(e.failed),one:r.droppedTemplate,many:r.droppedPluralTemplate},{n:t(e.refused.size),one:r.refusedSizeTemplate,many:r.refusedSizePluralTemplate},{n:t(e.refused.type),one:r.refusedTypeTemplate,many:r.refusedTypePluralTemplate},{n:t(e.refused.unreadable),one:r.refusedUnreadableTemplate,many:r.refusedUnreadablePluralTemplate}].filter(n=>n.n>0).map(n=>W(n.n===1?n.one:n.many,{n:String(n.n)}))}o(oo,"televetMediaShortfallLines");function Dr(e){let t=Number.isFinite(e)&&e>0?Math.floor(e):0;return t===0?Yt:Object.freeze({failed:t,refused:Yt.refused})}o(Dr,"mediaShortfallFromUnsentPicks");function ju(e,t){let r=Dr(t);return r.failed===0?e:Object.freeze({failed:e.failed+r.failed,refused:e.refused})}o(ju,"withUnsentPicks");var pe=Object.freeze({title:"Vet test mode (sandbox tenants)",create:"Create a simulated visit for this pet",createLabel:"Create",visitTemplate:"Visit {visitRef}: {status}, scheduled {scheduledAt}.",eventsNote:"Raise one of the visit events that is not a status change, to see what a tap on it opens:",advance:Object.freeze({completed:"Complete it",cancelled:"Cancel it",no_show:"Mark no-show"}),events:Object.freeze({rescheduled:"Rescheduled",reminder:"Reminder (24h)",followup_sent:"Follow-up sent",message_received:"Vet replied",ended:"Ended"}),resultTemplate:"{label}: {result}.",errorTemplate:"{label}: {message}"});var io="/widget/v1/televet/sandbox/visits",zu=128,ua=64,fa=new Set(["booked","cancelled","completed","no_show"]),Hu=new Set(["applied","already_applied","not_applicable"]),ca=new Set(["rescheduled","reminder","followup_sent","message_received","ended"]),pa=new Set(["24h","30m"]);function lt(e){return te("validationFailed",{retryable:false,wireMessage:e})}o(lt,"invalid");function lo(e,t,r){return typeof t!="string"||t.length===0?lt(`${e} is required and must be a non-empty string`):Tt(t)?lt(`${e} contains an unpaired surrogate and cannot be encoded`):St(t)>r?lt(`${e} is longer than ${r} characters`):null}o(lo,"textError");function Vu(e){if(typeof e!="object"||e===null)return null;let{result:t,visit:r}=e;if(typeof t!="string"||!Hu.has(t)||typeof r!="object"||r===null)return null;let{visit_ref:n,pet_ref:i,status:l,scheduled_at:s}=r;return typeof n!="string"||n.length===0||typeof i!="string"||i.length===0||typeof l!="string"||!fa.has(l)||typeof s!="string"||s.length===0?null:Object.freeze({result:t,visit:Object.freeze({visitRef:n,petRef:i,status:l,scheduledAt:s})})}o(Vu,"mapActionResult");function ya(e){let t=e.funnel??et({auth:e.auth,...e.errorPolicy?{errorPolicy:e.errorPolicy}:{}}),r=o(async(n,i,l)=>{let s=await t.send(n,{method:"POST",path:i,body:l},{idempotent:false,maxAttempts:1});if(!s.ok)return R(s.error);let a=Vu(s.value);return a===null?R(te("internalError",{retryable:false})):F(a)},"run");return {createVisit(n){let i=lo("pet_ref",n,zu);return i!==null?Promise.resolve(R(i)):r("televet.sandbox.createVisit",io,{pet_ref:n})},advanceVisit(n,i){let l=lo("visit_ref",n,ua);if(l!==null)return Promise.resolve(R(l));if(typeof i!="string"||!fa.has(i))return Promise.resolve(R(lt("to must be booked, cancelled, completed or no_show")));let s=`${io}/${encodeURIComponent(n)}/advance`;return r("televet.sandbox.advanceVisit",s,{to:i})},simulateVisitEvent(n,i,l){let s=lo("visit_ref",n,ua);if(s!==null)return Promise.resolve(R(s));if(typeof i!="string"||!ca.has(i))return Promise.resolve(R(lt(`event must be one of ${[...ca].join(", ")}`)));if(i==="reminder"){if(typeof l!="string"||!pa.has(l))return Promise.resolve(R(lt(`stage must be one of ${[...pa].join(", ")} for a reminder`)))}else if(l!==void 0)return Promise.resolve(R(lt("stage is only for a reminder")));let a=`${io}/${encodeURIComponent(n)}/simulate`;return r("televet.sandbox.simulateVisitEvent",a,l===void 0?{event:i}:{event:i,stage:l})}}}o(ya,"createVetVisitSandboxController");function ma(){let{runtime:e,userRef:t,scopeEpoch:r}=Te();return react.useMemo(()=>{let{services:n}=e.registry;return ya({auth:n.authFor(t),...n.errorPolicy?{errorPolicy:n.errorPolicy}:{}})},[e,t,r])}o(ma,"useEverfurVetVisitSandbox");function Ku(e,t){return !e||!t.enabled?false:t.data!==null&&t.data.active===false||Ht({error:t.error??null})}o(Ku,"televetOpensSimulator");var qu=o(e=>e.livemode===false,"isSandbox");function Yu(){let e=Te().runtime.entitlements,t=react.useCallback(()=>qu(e.getSnapshot()),[e]);return react.useSyncExternalStore(e.subscribe,t,t)}o(Yu,"useTelevetSandboxTenant");function va(e,t){let r=Ku(Yu(),e);return {simulate:r,fundingRefused:t&&!r}}o(va,"useTelevetSimulatorRoute");function ba(e){let t=ma(),[r,n]=react.useState(null),[i,l]=react.useState(null),[s,a]=react.useState(false),d=react.useRef(false),u=react.useRef(true);react.useEffect(()=>(u.current=true,()=>{u.current=false;}),[]);let p=react.useCallback((b,h,S)=>{d.current||(d.current=true,a(true),h().then(E=>{if(d.current=false,!!u.current){if(a(false),!E.ok){l({tone:"danger",text:W(pe.errorTemplate,{label:b,message:E.error.displayMessage})});return}S&&n(E.value.visit),l({tone:"ok",text:W(pe.resultTemplate,{label:b,result:E.value.result})});}}));},[]),f=react.useCallback(()=>{p(pe.createLabel,()=>t.createVisit(e),true);},[e,p,t]),m=react.useCallback(b=>{r!==null&&p(pe.advance[b],()=>t.advanceVisit(r.visitRef,b),true);},[p,t,r]),c=react.useCallback(b=>{if(r===null)return;let h=b==="reminder"?"24h":void 0;p(pe.events[b],()=>t.simulateVisitEvent(r.visitRef,b,h),false);},[p,t,r]),v=r===null?null:W(pe.visitTemplate,{visitRef:r.visitRef,status:r.status,scheduledAt:r.scheduledAt});return {visit:r,visitLine:v,line:i,busy:s,create:f,advance:m,raise:c}}o(ba,"useTelevetVisitSimulator");var ha=Object.freeze(["completed","cancelled","no_show"]),Ta=Object.freeze(["rescheduled","reminder","followup_sent","message_received","ended"]);function co(e){let[t,r]=react.useState(false),[n,i]=react.useState(false),[l,s]=react.useState(null),a=react.useRef(null),d=react.useRef(null),u=react.useRef(true);react.useEffect(()=>(u.current=true,()=>{u.current=false,d.current?.abort(),d.current=null;}),[]);let p=react.useCallback(()=>{d.current?.abort(),d.current=null,u.current&&i(false);},[]),f=react.useCallback(async h=>{if(d.current!==null)return false;let S=h.trim();if(l!==null&&l===S||!e)return true;let E=a.current!==null&&a.current.reason===S?a.current.emergency:null;if(E===null){let k=new AbortController;d.current=k,i(true);try{let L=await e(S,k.signal);if(k.signal.aborted||!u.current)return !1;L===null?E=!1:(E=L.isEmergency||L.fallback,a.current=Object.freeze({reason:S,emergency:E}));}catch{if(k.signal.aborted||!u.current)return false;E=false;}finally{d.current===k&&(d.current=null,u.current&&i(false));}}return E===true?(r(true),false):true},[l,e]),m=react.useCallback(h=>{s(h.trim()),r(false);},[]),c=react.useCallback(()=>r(false),[]),v=react.useCallback(()=>{p(),a.current=null,s(null),r(false);},[p]),b=react.useCallback(h=>l!==null&&l===h.trim(),[l]);return {open:t,checking:n,check:f,acknowledge:m,close:c,cancel:p,reset:v,isAcknowledged:b}}o(co,"useEarlyTriage");function Zu(e){let t=e?.trim().toUpperCase()??"";return /^[A-Z]{2}$/.test(t)?t:null}o(Zu,"normalizeStateCode");function po(e,t){let r=Zu(e),[n,i]=react.useState(()=>Object.freeze({})),l=react.useRef(0),s=react.useRef(null),a=react.useCallback(d=>{if(!t||r===null)return null;let u=`${r}:${d}`;s.current!==null&&s.current!==u&&(l.current+=1),s.current=u;let p=n[u]??"idle";return {joined:p==="joined",pending:p==="pending",failed:p==="failed",onPress:o(()=>{if(p==="pending"||p==="joined")return;let f=l.current+=1;i(m=>Object.freeze({...m,[u]:"pending"})),(async()=>{let m=false;try{m=await t(r,d);}catch{m=false;}l.current===f&&i(c=>Object.freeze({...c,[u]:m?"joined":"failed"}));})();},"onPress")}},[r,n,t]);return react.useMemo(()=>({actionFor:a}),[a])}o(po,"useStateInterest");var xt=2;function Ea(e){return typeof e!="number"||!Number.isInteger(e)?xt:e<1?1:e>6?6:e}o(Ea,"headingLevel");function Jt(e){return e>=6?6:e+1}o(Jt,"nextHeadingLevel");function ae(e){return `h${String(e)}`}o(ae,"headingTag");var rc=Jt(xt),fo=react.createContext(rc);function ge(){return react.useContext(fo)}o(ge,"useNestedHeadingLevel");function nc(e,t){if(e===void 0)return {};let r={};return e.backgroundColor!==void 0&&(r.backgroundColor=e.backgroundColor),e.borderColor!==void 0&&(r.borderColor=e.borderColor,r.borderWidth=t??1),e.borderRadius!==void 0&&(r.borderRadius=e.borderRadius),r}o(nc,"slotBox");function Ca(e){return e?.textColor===void 0?{}:{color:e.textColor}}o(Ca,"slotText");function ka(e,t){let r=nc(e,t),n={};return r.backgroundColor!==void 0&&(n.backgroundColor=r.backgroundColor),r.borderColor!==void 0&&(n.border=`${r.borderWidth??1}px solid ${r.borderColor}`),r.borderRadius!==void 0&&(n.borderRadius=r.borderRadius),n}o(ka,"slotBoxCss");var se=44;function N(){let e=w();return react.useMemo(()=>ic(e),[e])}o(N,"useBookingStyles");function _({label:e,onPress:t,kind:r="primary",disabled:n=false,loading:i=false,fullWidth:l=true,accessibilityLabel:s,describedBy:a,testID:d,style:u}){let p=N(),f=n||i;return jsxRuntime.jsx("button",{type:"button",onClick:t,disabled:f,"aria-busy":i||void 0,...s&&s!==e?{"aria-label":s}:{},...a?{"aria-describedby":a}:{},"data-testid":d,style:{...p.button,...r==="primary"?p.buttonPrimary:r==="danger"?p.buttonDanger:p.buttonSecondary,...l?p.buttonFull:p.buttonAuto,...f?p.buttonDisabled:null,...u},children:e})}o(_,"TelevetButton");function $({title:e,message:t,actionLabel:r,onAction:n,testID:i}){let l=N(),s=ae(ge()),a=typeof r=="string"&&r.length>0&&typeof n=="function";return jsxRuntime.jsxs("div",{style:l.stateCard,"data-testid":i,children:[jsxRuntime.jsx(s,{style:l.stateTitle,children:e}),t?jsxRuntime.jsx("p",{style:l.stateMessage,children:t}):null,a?jsxRuntime.jsx(_,{label:r,onPress:n,kind:"secondary",fullWidth:false}):null]})}o($,"TelevetStateCard");function ve({height:e,width:t="100%",testID:r}){let n=N();return jsxRuntime.jsx("span",{"aria-hidden":"true","data-testid":r,style:{...n.skeleton,height:e,width:t}})}o(ve,"TelevetSkeletonBlock");function K({message:e,assertive:t=false,testID:r,style:n}){let i=N();return jsxRuntime.jsx("p",{role:t?"alert":"status","data-testid":r,style:{...i.failure,...n},children:e})}o(K,"TelevetFailureLine");function ic(e){let{color:t,space:r,radius:n,type:i,slots:l}=e,{size:s,lineHeight:a}=i,d=o(u=>`${String(u)}px`,"rem");return {screen:{...ht,display:"flex",flexDirection:"column",minHeight:0,flex:"1 1 auto",gap:d(r.md),paddingLeft:d(r.xl),paddingRight:d(r.xl),boxSizing:"border-box"},stepFill:{display:"flex",flexDirection:"column",flex:"1 1 auto",minHeight:0,gap:d(r.md)},list:{display:"flex",flexDirection:"column",gap:d(r.sm)},button:{minHeight:se,display:"inline-flex",alignItems:"center",justifyContent:"center",gap:d(r.sm),paddingLeft:d(r.xl),paddingRight:d(r.xl),paddingTop:d(r.sm),paddingBottom:d(r.sm),borderRadius:d(n.pill),borderStyle:"solid",borderWidth:0,cursor:"pointer",textAlign:"center",...T(e,"medium"),fontSize:d(s.body),lineHeight:String(a.snug),boxSizing:"border-box"},buttonFull:{alignSelf:"stretch",width:"100%"},buttonAuto:{alignSelf:"flex-start",minWidth:se},buttonPrimary:{backgroundColor:t.primary,color:t.onPrimary,...ka(l.primaryButton),...Ca(l.primaryButton)},buttonSecondary:{borderWidth:1,borderColor:t.brandBorder,backgroundColor:"transparent",color:t.brand,...l.primaryButton?.borderRadius===void 0?null:{borderRadius:d(l.primaryButton.borderRadius)},...l.primaryButton?.borderColor===void 0?null:{borderColor:l.primaryButton.borderColor}},buttonDanger:{backgroundColor:t.danger,color:t.onPrimary},buttonDisabled:{opacity:.45,cursor:"not-allowed"},stateCard:{minHeight:140,display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",gap:d(r.sm),padding:d(r.lg),borderRadius:d(n.lg),borderStyle:"solid",borderWidth:1,borderColor:t.brandBorder,boxSizing:"border-box"},stateTitle:{margin:0,...T(e,"medium"),color:t.brand,fontSize:d(s.subtitle),lineHeight:String(a.snug)},stateMessage:{margin:0,...T(e,"regular"),color:t.text.metaCool,fontSize:d(s.body),lineHeight:String(a.normal)},skeleton:{display:"block",borderRadius:d(n.md),backgroundColor:t.skeleton,flexShrink:0},failure:{margin:0,...T(e,"regular"),color:t.danger,fontSize:d(s.caption),lineHeight:String(a.normal)},stepTitle:{margin:0,...T(e,"bold"),color:t.brand,fontSize:d(s.verdict),lineHeight:String(a.snug),textAlign:"center"},stepHelp:{margin:0,...T(e,"regular"),color:t.text.metaCool,fontSize:d(s.body),lineHeight:String(a.normal),textAlign:"center"},divider:{height:1,backgroundColor:t.brandBorder,flexShrink:0},scrollRoot:{display:"flex",flexDirection:"column",flex:"1 1 auto",minHeight:0},scrollBody:{flex:"1 1 auto",minHeight:0,overflowY:"auto",overscrollBehavior:"contain"},scrollFooter:{flexShrink:0,paddingTop:d(r.md),paddingBottom:d(r.lg)}}}o(ic,"makeBookingStyles");function Mr({petName:e,primaryVet:t,onFindEmergencyVet:r}){return r?true:t!=null&&(e?.trim()??"").length>0}o(Mr,"hasTelevetEmergencyExit");function Xt({petName:e,primaryVet:t,onFindEmergencyVet:r,testIDPrefix:n}){let i=w(),l=react.useMemo(()=>cc(i),[i]),s=e?.trim()??"",a=`${react.useId()}-primary-vet-hint`;return jsxRuntime.jsxs("div",{style:l.exits,"data-testid":`${n}-exits`,children:[r?jsxRuntime.jsx("button",{type:"button",onClick:()=>{ur(r);},style:{...l.card,...l.cardButton},"data-testid":`${n}-find-vet`,children:jsxRuntime.jsx("span",{style:l.title,children:mt.findEmergencyVet})}):null,null,t!=null&&s.length>0?jsxRuntime.jsx(dc,{petName:s,vet:t,hintId:a,local:l,testIDPrefix:n}):null]})}o(Xt,"TelevetEmergencyExits");function dc({petName:e,vet:t,hintId:r,local:n,testIDPrefix:i}){let l=W(y.emergency.exitPrimaryVetTitle,{petName:e}),s=t.detail?.trim()??"",a=jsxRuntime.jsxs("span",{style:n.text,children:[jsxRuntime.jsx("span",{style:n.title,children:l}),s.length>0?jsxRuntime.jsx("span",{style:n.detail,children:s}):null]});if(!t.dial)return jsxRuntime.jsx("div",{style:n.card,"data-testid":`${i}-primary-vet`,children:a});let d=t.dial;return jsxRuntime.jsxs("button",{type:"button",onClick:()=>{ur(d);},"aria-label":s.length>0?`${l}, ${s}`:l,"aria-describedby":r,style:{...n.card,...n.cardButton},"data-testid":`${i}-primary-vet-call`,children:[a,jsxRuntime.jsx("span",{id:r,style:uc,children:y.emergency.startCallHint})]})}o(dc,"PrimaryVetCard");var uc=Object.freeze({position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:0});function cc(e){let{color:t,space:r,radius:n,type:i}=e,{size:l,lineHeight:s}=i;return {exits:{display:"flex",flexDirection:"column",gap:r.sm},card:{display:"flex",alignItems:"center",gap:r.sm,minHeight:se,padding:r.lg,borderRadius:n.md,border:`1px solid ${t.brandBorder}`,background:t.surface,color:t.text.primary,textAlign:"start",textDecoration:"none",boxSizing:"border-box"},cardButton:{width:"100%",cursor:"pointer",font:"inherit",position:"relative"},text:{display:"flex",flexDirection:"column",gap:r.xs,flexShrink:1},title:{...T(e,"medium"),color:t.text.primary,fontSize:l.body,lineHeight:`${String(l.body*s.normal)}px`},detail:{...T(e,"regular"),color:t.text.metaCool,fontSize:l.caption,lineHeight:`${String(l.caption*s.normal)}px`}}}o(cc,"makeExitStyles");function Ra({petName:e,primaryVet:t,onFindEmergencyVet:r,onContinue:n}){let i=w(),l=N(),s=react.useMemo(()=>vo(i),[i]),a=ae(ge()),d=Mr({petName:e,primaryVet:t,onFindEmergencyVet:r})?y.emergency.lede:y.emergency.ledeWithoutExits;return jsxRuntime.jsxs("section",{role:"alert",style:{...l.stepFill,...s.emergencyPanel},"data-testid":"televet-early-emergency",children:[jsxRuntime.jsx(a,{style:s.emergencyTitle,children:y.emergency.bannerTitle}),jsxRuntime.jsx("p",{style:s.emergencyLede,children:d}),jsxRuntime.jsx(Xt,{petName:e,primaryVet:t,onFindEmergencyVet:r,testIDPrefix:"televet-early-emergency"}),jsxRuntime.jsx(_,{label:y.emergency.keepBookingCta,kind:"secondary",onPress:n,testID:"televet-early-emergency-continue"})]})}o(Ra,"TelevetEarlyEmergency");function mo({action:e,testIDPrefix:t}){let r=w(),n=react.useMemo(()=>vo(r),[r]),i=ae(ge());return e===null?null:e.joined?jsxRuntime.jsxs("div",{role:"status","data-testid":`${t}-joined`,style:n.interestFeedback,children:[jsxRuntime.jsx(i,{style:n.interestJoinedTitle,children:y.stateInterest.joinedTitle}),jsxRuntime.jsx("p",{style:n.interestBody,children:y.stateInterest.joinedBody})]}):jsxRuntime.jsxs("div",{"data-testid":t,style:n.interestAction,children:[jsxRuntime.jsx(_,{label:e.pending?y.stateInterest.submitting:y.stateInterest.cta,kind:"secondary",loading:e.pending,disabled:e.pending,onPress:e.onPress,testID:`${t}-submit`}),e.failed?jsxRuntime.jsx(K,{message:y.stateInterest.failed,assertive:true,testID:`${t}-error`}):null]})}o(mo,"TelevetStateInterestAction");function _a({cause:e,onRetry:t,stateInterest:r=null}){let n=to(e);return jsxRuntime.jsxs("div",{"data-testid":"televet-clinicians-empty",children:[jsxRuntime.jsx($,{title:n.title,message:n.message,...n.retryLabel!==null&&t?{actionLabel:n.retryLabel,onAction:t}:{}}),n.interestReason!==null?jsxRuntime.jsx(mo,{action:r??null,testIDPrefix:"televet-state-interest-no-licensed-vet"}):null]})}o(_a,"TelevetClinicianEmptyState");function pc({onCheckAvailability:e}){return jsxRuntime.jsx(go,{...e?{onCheckAvailability:e}:{}})}o(pc,"TelevetEntitlementInterestState");function go({onCheckAvailability:e,renderUnavailable:t}){let r=N();return jsxRuntime.jsxs("div",{"data-testid":"televet-booking-not-entitled",style:r.list,children:[t?t():jsxRuntime.jsx($,{title:y.bookingPausedTitle}),e?jsxRuntime.jsx(_,{label:y.checkAvailabilityCta,kind:"secondary",onPress:e,testID:"televet-check-state-availability"}):null]})}o(go,"EntitlementPausedState");function Qt({shortfall:e,testIDPrefix:t}){let r=w(),n=react.useMemo(()=>vo(r),[r]);if(no(e))return null;let i=oo(e);return i.length===0?null:jsxRuntime.jsx("ul",{role:"status",style:n.mediaNotice,"data-testid":`${t}-media-notice`,children:i.map((l,s)=>jsxRuntime.jsx("li",{style:n.mediaLine,"data-testid":`${t}-media-line-${String(s)}`,children:l},l))})}o(Qt,"TelevetMediaDropNotice");function vo(e){let{color:t,space:r,radius:n,type:i}=e,{size:l,lineHeight:s}=i;return {emergencyPanel:{display:"flex",flexDirection:"column",gap:r.sm,padding:r.lg,borderRadius:n.lg,border:`2px solid ${t.danger}`,background:t.surface},emergencyTitle:{...T(e,"medium"),margin:0,color:t.danger,fontSize:l.heading,lineHeight:`${String(l.heading*s.snug)}px`},emergencyLede:{...T(e,"regular"),margin:0,color:t.text.primary,fontSize:l.subtitle,lineHeight:`${String(l.subtitle*s.normal)}px`},interestAction:{display:"flex",flexDirection:"column",gap:r.sm,marginTop:r.sm},interestFeedback:{display:"flex",flexDirection:"column",gap:r.xs,marginTop:r.sm},interestJoinedTitle:{...T(e,"medium"),margin:0,color:t.brand,fontSize:l.body,lineHeight:`${String(l.body*s.snug)}px`},interestBody:{...T(e,"regular"),margin:0,color:t.text.metaCool,fontSize:l.body,lineHeight:`${String(l.body*s.normal)}px`},mediaNotice:{display:"flex",flexDirection:"column",gap:r.xs,margin:0,padding:0,listStyle:"none"},mediaLine:{...T(e,"regular"),color:t.text.metaCool,fontSize:l.caption,lineHeight:`${String(l.caption*s.normal)}px`}}}o(vo,"makeEdgeStyles");function Pa(e){let{surfaceUnavailable:t,notEntitled:r,policyBlocked:n,triageOpen:i,step:l}=e;return t||r&&l!=="clinician"||n?true:l==="reason"&&i}o(Pa,"televetBookingGateApplies");function wa({state:e,petName:t,primaryVet:r,onFindEmergencyVet:n,stateInterest:i=null,onCheckAvailability:l,onAcknowledgeEmergency:s,renderUnavailable:a}){let d=N(),{surfaceUnavailable:u,notEntitled:p,policyBlocked:f,triageOpen:m,step:c}=e;return u?jsxRuntime.jsx("div",{style:d.stepFill,"data-testid":"televet-booking-unavailable",children:a?a():jsxRuntime.jsx($,{title:y.bookingPausedTitle})}):p&&c!=="clinician"?jsxRuntime.jsx(go,{...l?{onCheckAvailability:l}:{},...a?{renderUnavailable:a}:{}}):f?jsxRuntime.jsxs("div",{"data-testid":"televet-booking-state-blocked",children:[jsxRuntime.jsx($,{title:y.stateBlockedTitle}),jsxRuntime.jsx(mo,{action:i,testIDPrefix:"televet-state-interest-state-blocked"})]}):c==="reason"&&m?jsxRuntime.jsx(Ra,{...t!==void 0?{petName:t}:{},...r?{primaryVet:r}:{},onFindEmergencyVet:n,onContinue:s}):null}o(wa,"TelevetBookingGate");function Ia(e){return e.noState?true:e.isPending||e.isError?false:e.isEmpty||e.notEntitled}o(Ia,"televetClinicianOutcomeApplies");function Oa({state:e,cause:t,locationStatus:r,onRequestLocation:n,onRetry:i,stateInterest:l=null,renderUnavailable:s}){return e.noState?jsxRuntime.jsx("div",{"data-testid":"televet-booking-location-unknown",children:jsxRuntime.jsx($,{title:r==="blocked"?y.locationBlockedTitle:r==="unavailable"?y.locationUnavailableTitle:y.locationUnknownTitle,message:r==="blocked"?y.locationBlockedBody:r==="unavailable"?y.locationUnavailableBody:y.locationUnknownBody,actionLabel:n&&r!=="blocked"?y.locationUnknownCta:void 0,onAction:r==="blocked"?void 0:n})}):e.isEmpty?jsxRuntime.jsx(_a,{cause:t,onRetry:i,stateInterest:l}):jsxRuntime.jsx(go,{...s?{renderUnavailable:s}:{}})}o(Oa,"TelevetClinicianOutcome");function Aa(e){return `televet-consult-${e}`}o(Aa,"televetConsultCalendarKey");function ho({consult:e,petName:t,onDone:r,onAddToCalendar:n,canJoinInApp:i=false,lengthMinutes:l}){let s=w(),a=N(),d=react.useMemo(()=>gc(s),[s]),u=`${react.useId()}-booked-title`,p=ae(ge()),[f,m]=react.useState("idle"),c=o(async()=>{if(!n)return;m("saving");let b=new Date(e.scheduledAt);if(Number.isNaN(b.getTime())){m("failed");return}let h=typeof l=="number"&&Number.isFinite(l)&&l>0?l:it,S=await cr(n,{key:Aa(e.consultId),title:y.visit.title,startDate:b,endDate:new Date(b.getTime()+h*6e4),alarmOffsetMinutes:-30});if(!S.ok){m("failed");return}m(S.value===true?"saved":S.value==="handed-off"?"idle":"failed");},"addToCalendar"),v=[y.booked.remindPromise,W(y.booked.summaryPromise,{pet:t??""}),...i?[y.booked.joinPromise]:[]];return Ne()?jsxRuntime.jsxs("section",{style:d.screen,"aria-labelledby":u,"data-testid":"televet-booked",children:[jsxRuntime.jsx("div",{style:d.header,children:jsxRuntime.jsx(_,{label:y.doneCta,kind:"secondary",fullWidth:false,onPress:r,testID:"televet-booked-done"})}),jsxRuntime.jsx("div",{"aria-hidden":"true",style:d.avatar}),jsxRuntime.jsx(p,{id:u,style:d.title,children:e.clinicianName?W(y.bookedHeadingTemplate,{vet:e.clinicianName}):y.bookedTitle}),jsxRuntime.jsx("p",{style:d.when,children:jsxRuntime.jsx("time",{dateTime:e.scheduledAt,children:Ee(e.scheduledAt)})}),jsxRuntime.jsx("ol",{style:d.steps,"data-testid":"televet-booked-steps",children:v.map((b,h)=>jsxRuntime.jsxs("li",{style:d.step,children:[jsxRuntime.jsx("span",{"aria-hidden":"true",style:d.stepNumber,children:String(h+1)}),jsxRuntime.jsx("span",{style:d.stepText,children:b.trim()})]},b))}),jsxRuntime.jsxs("div",{style:d.actions,children:[n?jsxRuntime.jsx(_,{label:f==="saved"?y.booked.calendarAdded:y.addToCalendarCta,kind:"primary",loading:f==="saving",disabled:f==="saving"||f==="saved",onPress:()=>{c();},testID:"televet-booked-calendar"}):null,f==="failed"?jsxRuntime.jsx("p",{role:"status",style:{...a.failure,...d.calendarNote},"data-testid":"televet-booked-calendar-failed",children:y.booked.calendarFailedBody}):null,jsxRuntime.jsx(_,{label:t?W(y.booked.backToPet,{pet:t}):y.doneCta,kind:"secondary",onPress:r,testID:"televet-booked-back"})]})]}):jsxRuntime.jsx("div",{style:d.screen,"data-testid":"televet-booked-copy-unapproved"})}o(ho,"TelevetBookedScreen");function gc(e){let{color:t,space:r,radius:n,type:i}=e,{size:l,lineHeight:s}=i,a=o(d=>`${String(d)}px`,"rem");return {screen:{display:"flex",flexDirection:"column",flex:"1 1 auto",minHeight:0,gap:a(r.md),paddingLeft:a(r.xl),paddingRight:a(r.xl),boxSizing:"border-box"},header:{display:"flex",justifyContent:"flex-end",paddingBottom:a(r.lg)},avatar:{alignSelf:"center",width:120,height:120,flexShrink:0,borderRadius:"50%",backgroundColor:t.surfaceSubtle,borderStyle:"solid",borderWidth:2,borderColor:t.success,boxSizing:"border-box"},title:{margin:0,textAlign:"center",...T(e,"bold"),color:t.brand,fontSize:a(l.verdict),lineHeight:String(s.tight),letterSpacing:"-0.7px",paddingTop:a(r.lg)},when:{margin:0,textAlign:"center",...T(e,"regular"),color:t.text.metaCool,fontSize:a(l.subtitle),lineHeight:String(s.normal)},steps:{listStyle:"none",margin:0,marginTop:a(r.xl),padding:a(r.lg),borderRadius:a(n.lg),borderStyle:"solid",borderWidth:1,borderColor:t.brandBorder,display:"flex",flexDirection:"column",gap:a(r.lg),boxSizing:"border-box"},step:{display:"flex",flexDirection:"row",alignItems:"flex-start",gap:a(r.md)},stepNumber:{width:26,height:26,flexShrink:0,borderRadius:"50%",backgroundColor:t.primary,display:"inline-flex",alignItems:"center",justifyContent:"center",...T(e,"medium"),color:t.onPrimary,fontSize:a(l.caption),lineHeight:"1"},stepText:{flex:"1 1 auto",minWidth:0,...T(e,"regular"),color:t.brand,fontSize:a(l.body),lineHeight:String(s.normal)},actions:{marginTop:"auto",paddingBottom:a(r.xl),display:"flex",flexDirection:"column",gap:a(r.md)},calendarNote:{textAlign:"center"}}}o(gc,"makeStyles");function Ba(){let e=[];return {register(t){return e=[...e,t],()=>{e=e.filter(r=>r!==t);}},dispatch(){for(let t of [...e].reverse())try{if(t())return !0}catch{}return false}}}o(Ba,"createTelevetBackChannel");var To=react.createContext(null);function Zt(e,t=true){let r=react.useContext(To),n=react.useRef(e);n.current=e,react.useEffect(()=>{if(!(r===null||!t))return r.register(()=>n.current())},[r,t]);}o(Zt,"useTelevetBackChannel");var Pt=Object.freeze({position:"absolute",width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:0});var La='button:not([disabled]), input:not([disabled]), textarea:not([disabled]), select:not([disabled]), a[href], [tabindex]:not([tabindex="-1"])';function Co(e){return e.tagName==="DIALOG"}o(Co,"isDialogElement");function Sc(e,t){if(t.isDefaultPrevented()||t.nativeEvent.isComposing)return false;let r=t.target;return !(r instanceof Element)||r.closest("dialog")===e}o(Sc,"ownsEscape");function zr(e,t,r,n){let i=n?.escapeAtKeyDown===true,l=react.useRef(null),s=react.useRef(false),a=react.useRef(null),d=react.useRef(r);d.current=r;let u=react.useCallback(()=>{if(!s.current)return;s.current=false;let m=d.current===void 0?a.current:d.current.current;m&&m.isConnected&&m.focus(),(!m||!m.isConnected||document.activeElement===m)&&(a.current=null);},[]);react.useEffect(()=>{if(!e){u();return}let m=l.current;if(!s.current){let v=typeof document>"u"?null:document.activeElement;v!==null&&m!==null&&m.contains(v)||(a.current=v instanceof HTMLElement?v:null);}if(s.current=true,m===null)return;if(!Co(m)){m.contains(document.activeElement)||(m.querySelector(La)??m).focus();return}let c=m;typeof c.showModal=="function"?c.open||c.showModal():c.setAttribute("open","");},[e,u]),react.useEffect(()=>u,[u]),react.useEffect(()=>{let m=l.current;if(!e||m===null||!Co(m))return;let c=m;if(typeof c.showModal!="function")return;let v=null,b=o(S=>{S.target instanceof HTMLElement&&(v=S.target);},"onFocusIn"),h=o(()=>{if(!c.isConnected||c.open)return;let S=v;c.showModal(),S!==null&&S.isConnected&&c.contains(S)&&document.activeElement!==S&&S.focus();},"onNativeClose");return c.addEventListener("focusin",b),c.addEventListener("close",h),()=>{c.removeEventListener("focusin",b),c.removeEventListener("close",h);}},[e]);let p=react.useCallback(m=>{let c=l.current;if(c===null)return;if(m.key==="Escape"&&!Co(c)){m.preventDefault(),m.stopPropagation(),t();return}if(m.key==="Escape"&&i&&Sc(c,m)){m.preventDefault(),t();return}if(m.key!=="Tab")return;let v=Array.from(c.querySelectorAll(La)),b=v[0],h=v[v.length-1];if(!b||!h){m.preventDefault();return}let S=document.activeElement;m.shiftKey&&(S===b||!c.contains(S))?(m.preventDefault(),h.focus()):!m.shiftKey&&(S===h||!c.contains(S))&&(m.preventDefault(),b.focus());},[t,i]),f=react.useCallback(m=>{m.target===m.currentTarget&&(m.preventDefault(),t());},[t]);return {dialogRef:l,onKeyDown:p,onCancel:f}}o(zr,"useModalDialog");var ko=["pet","issues","reason","triage","clinician","time","review","booked"];function xo({step:e,furthestIndex:t,title:r,canGoBack:n,isDirty:i,onBack:l,onClose:s,onConfirmDiscard:a,headingLevel:d=xt,triageOpen:u=false}){let p=w(),f=react.useMemo(()=>Fa(p),[p]),[m,c]=react.useState(false),v=react.useRef(null),h=`${react.useId()}-close-hint`,S=ae(d);react.useEffect(()=>{if(!i||typeof window>"u")return;let x=o(A=>{A.preventDefault(),A.returnValue="";},"onBeforeUnload");return window.addEventListener("beforeunload",x),()=>window.removeEventListener("beforeunload",x)},[i]);let E=react.useCallback(()=>{if(!i){s();return}let x={title:y.chrome.discardTitle,body:y.chrome.discardBody,confirmLabel:y.chrome.discardConfirmCta,keepLabel:y.chrome.discardKeepCta};if(a){Promise.resolve(a(x)).then(A=>{A&&s();},()=>{});return}c(true);},[i,s,a]);Zt(()=>(E(),true));let k=ko.length,L=ko.indexOf(e==="reason"&&u?"triage":e)+1;return jsxRuntime.jsxs("div",{style:f.wrap,children:[jsxRuntime.jsxs("header",{style:f.bar,children:[jsxRuntime.jsx("div",{style:f.side,children:n?jsxRuntime.jsx("button",{type:"button",onClick:l,"data-testid":"televet-booking-back",style:{...f.tap,...f.back},children:y.backLabel}):null}),jsxRuntime.jsx(S,{style:Pt,children:r??y.navTitle}),jsxRuntime.jsxs("div",{style:f.progress,children:[jsxRuntime.jsx("p",{style:Pt,"data-testid":"televet-booking-progress-label",children:W(y.loading.progressTemplate,{step:String(L),total:String(k)})}),jsxRuntime.jsx("div",{"aria-hidden":"true",style:f.segments,"data-testid":"televet-booking-rail",children:ko.map((x,A)=>jsxRuntime.jsx("span",{"data-lit":A<L?"true":"false",style:{...f.segment,...A<L?f.segmentLit:null}},x))})]}),jsxRuntime.jsxs("div",{style:{...f.side,...f.sideRight},children:[jsxRuntime.jsx("button",{type:"button",ref:v,onClick:E,"aria-label":y.close,"aria-describedby":h,"data-testid":"televet-booking-close",style:{...f.tap,...f.closeTap},children:jsxRuntime.jsx("svg",{"aria-hidden":"true",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",children:jsxRuntime.jsx("path",{d:"M18 6 6 18M6 6l12 12"})})}),jsxRuntime.jsx("span",{id:h,style:Pt,children:y.chrome.closeHint})]})]}),m?jsxRuntime.jsx(Rc,{onKeep:()=>c(false),onLeave:()=>{c(false),s();},returnFocusTo:v}):null]})}o(xo,"TelevetBookingChrome");function Rc({onKeep:e,onLeave:t,returnFocusTo:r}){let n=w(),i=react.useMemo(()=>Fa(n),[n]),{dialogRef:l,onKeyDown:s,onCancel:a}=zr(true,e,r),d=react.useId(),u=`${d}-discard-title`,p=`${d}-discard-body`;return jsxRuntime.jsxs("dialog",{ref:l,onKeyDown:s,onCancel:a,"aria-labelledby":u,"aria-describedby":p,"data-testid":"televet-booking-discard",style:i.dialog,children:[jsxRuntime.jsx("h2",{id:u,style:i.dialogTitle,children:y.chrome.discardTitle}),jsxRuntime.jsx("p",{id:p,style:i.dialogBody,children:y.chrome.discardBody}),jsxRuntime.jsxs("div",{style:i.dialogActions,children:[jsxRuntime.jsx(_,{label:y.chrome.discardKeepCta,onPress:e,kind:"primary",fullWidth:false,testID:"televet-booking-discard-keep"}),jsxRuntime.jsx(_,{label:y.chrome.discardConfirmCta,onPress:t,kind:"secondary",fullWidth:false,testID:"televet-booking-discard-leave"})]})]})}o(Rc,"DiscardDialog");var _c="Back";function Fa(e){let{color:t,space:r,radius:n,type:i}=e,{size:l,lineHeight:s}=i,a=o(u=>`${String(u)}px`,"rem"),d={background:"transparent",borderStyle:"none",padding:0,cursor:"pointer"};return {wrap:{backgroundColor:t.surface,flexShrink:0},bar:{display:"flex",flexDirection:"row",alignItems:"center",paddingLeft:a(r.lg),paddingRight:a(r.lg),minHeight:56,boxSizing:"border-box"},side:{width:64,flexShrink:0,display:"flex",alignItems:"center"},sideRight:{justifyContent:"flex-end"},tap:{...d,minHeight:se,minWidth:se,display:"inline-flex",alignItems:"center",justifyContent:"center"},closeTap:{justifyContent:"flex-end",color:t.text.primary},back:{...T(e,"bold"),color:t.brand,fontSize:a(l.body),paddingLeft:a(r.sm),paddingRight:a(r.sm)},progress:{flex:"1 1 auto",minWidth:0,display:"flex",justifyContent:"center"},segments:{display:"flex",alignItems:"center",gap:a(r.xs),width:"100%",maxWidth:480},segment:{display:"block",flex:"1 1 0",height:3,borderRadius:a(n.pill),backgroundColor:t.brandBorder},segmentLit:{backgroundColor:t.success},dialog:{margin:"auto",maxWidth:420,width:"calc(100% - 32px)",boxSizing:"border-box",padding:a(r.lg),borderRadius:a(n.lg),borderStyle:"solid",borderWidth:1,borderColor:t.brandBorder,backgroundColor:t.surface,color:t.text.primary},dialogTitle:{margin:0,...T(e,"medium"),color:t.brand,fontSize:a(l.subtitle),lineHeight:String(s.snug)},dialogBody:{margin:0,paddingTop:a(r.sm),...T(e,"regular"),color:t.text.metaCool,fontSize:a(l.body),lineHeight:String(s.normal)},dialogActions:{display:"flex",flexDirection:"row",flexWrap:"wrap",gap:a(r.sm),paddingTop:a(r.lg)}}}o(Fa,"makeStyles");function Ma(e){let t=[],r=Pc(e.ageYears);r!==null&&t.push(`${String(r)} yr${r===1?"":"s"} old`);let n=e.weightKg;typeof n=="number"&&Number.isFinite(n)&&n>0&&t.push(`${String(Math.round(n))} kg`);let i=e.breed?.trim();return i&&t.push(i),t.join(" \xB7 ")}o(Ma,"formatTelevetPetMetaLine");function Pc(e){if(typeof e!="number"||!Number.isFinite(e))return null;let t=Math.floor(e);return t>=0?t:null}o(Pc,"wholeYears");function Ro({media:e,onChange:t,onPickMedia:r,listLabel:n}){let i=w(),l=react.useMemo(()=>Bc(i),[i]),s=Tr-e.length,[a,d]=react.useState(false);if(!r)return null;let u=o(async()=>{if(!(a||s<=0)){d(true);try{let p=await cr(r,s);if(!p.ok||p.value===null||p.value.length===0)return;let f=new Set(e.map(c=>c.uri)),m=p.value.filter(c=>typeof c?.uri=="string"&&c.uri.length>0&&!f.has(c.uri));if(m.length===0)return;t([...e,...m].slice(0,Tr));}finally{d(false);}}},"pick");return jsxRuntime.jsxs("ul",{role:"list","aria-label":n,style:l.row,children:[e.map((p,f)=>jsxRuntime.jsxs("li",{style:l.thumb,children:[jsxRuntime.jsx("img",{src:p.uri,alt:p.filename,style:l.thumbImage}),p.mimeType.startsWith("video/")?jsxRuntime.jsx("span",{"aria-hidden":"true",style:l.videoBadge,"data-testid":`televet-intake-media-video-${String(f)}`,children:Ac}):null,jsxRuntime.jsx("button",{type:"button",onClick:()=>t(e.filter((m,c)=>c!==f)),"aria-label":`${y.removePhotoLabel}: ${p.filename}`,"data-testid":`televet-intake-media-remove-${String(f)}`,style:l.remove,children:jsxRuntime.jsx("span",{"aria-hidden":"true",style:l.removeGlyph,children:Oc})})]},`${p.uri}-${String(f)}`)),s>0?jsxRuntime.jsx("li",{style:l.addItem,children:jsxRuntime.jsx("button",{type:"button",onClick:()=>{u();},disabled:a,"aria-busy":a||void 0,"data-testid":"televet-intake-add-media",style:{...l.dropzone,...a?l.dropzoneBusy:null},children:jsxRuntime.jsx("span",{style:l.dropzoneText,children:y.addPhotoCta})})}):null]})}o(Ro,"TelevetIntakeMedia");var Oc="\xD7",Ac="\u25B6",Hr=92;function Bc(e){let{color:t,space:r,radius:n,type:i}=e,{size:l,lineHeight:s}=i,a=o(d=>`${String(d)}px`,"rem");return {row:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"row",flexWrap:"wrap",gap:a(r.md),paddingTop:a(r.sm)},thumb:{position:"relative",width:Hr,height:Hr,borderRadius:a(n.md),backgroundColor:t.surfaceSubtle},thumbImage:{width:"100%",height:"100%",objectFit:"cover",borderRadius:a(n.md),display:"block"},videoBadge:{position:"absolute",left:6,bottom:6,paddingLeft:6,paddingRight:6,paddingTop:2,paddingBottom:2,borderRadius:a(n.sm),backgroundColor:t.shadow,color:t.text.onBrand,fontSize:a(l.nano),lineHeight:"1"},addItem:{display:"flex"},remove:{position:"absolute",top:-8,right:-8,width:se-16,height:se-16,borderRadius:"50%",borderStyle:"none",backgroundColor:t.text.metaCool,display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:"pointer",padding:0},removeGlyph:{...T(e,"medium"),color:t.surface,fontSize:a(l.subtitle),lineHeight:"1"},dropzone:{width:Hr,height:Hr,borderRadius:a(n.md),borderWidth:1,borderStyle:"dashed",borderColor:t.brandBorder,backgroundColor:"transparent",display:"inline-flex",alignItems:"center",justifyContent:"center",paddingLeft:a(r.sm),paddingRight:a(r.sm),cursor:"pointer",boxSizing:"border-box"},dropzoneBusy:{opacity:.6,cursor:"progress"},dropzoneText:{...T(e,"mono"),color:t.text.metaCool,fontSize:a(l.nano),lineHeight:String(s.normal),letterSpacing:"0.3px",textAlign:"center"}}}o(Bc,"makeStyles");function Po({slots:e,selectedDayKey:t,onSelectDay:r,groupLabel:n}){let i=w(),l=react.useMemo(()=>Dc(i),[i]),s=react.useMemo(()=>Ur(e),[e]),a=react.useRef(new Map),d=s[0],u=t??d?.key??null,p=react.useRef(null),f=react.useRef(false);react.useEffect(()=>{if(f.current)return;let c=p.current,v=u===null?void 0:a.current.get(u);if(!c||!v||(f.current=true,u===d?.key))return;let b=v.getBoundingClientRect().left-c.getBoundingClientRect().left;c.scrollLeft+=b-(c.clientWidth-v.clientWidth)/2;},[u,d]);let m=react.useCallback(c=>{let v=c.key==="ArrowRight"||c.key==="ArrowDown"?1:c.key==="ArrowLeft"||c.key==="ArrowUp"?-1:0,b=c.key==="Home"?0:c.key==="End"?s.length-1:null;if(v===0&&b===null)return;let h=s.findIndex(k=>k.key===u);if(h<0)return;let S=b??Math.min(s.length-1,Math.max(0,h+v)),E=s[S];E===void 0||E.key===u||(c.preventDefault(),r(E),a.current.get(E.key)?.focus());},[s,u,r]);return d===void 0?null:jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("p",{"aria-hidden":"true",style:l.month,"data-testid":"televet-day-strip-month",children:ia(d.iso)}),jsxRuntime.jsx("div",{ref:p,role:"radiogroup","aria-label":n,onKeyDown:m,style:l.strip,"data-testid":"televet-day-strip",children:s.map(c=>{let v=c.key===u;return jsxRuntime.jsxs("button",{ref:b=>{b?a.current.set(c.key,b):a.current.delete(c.key);},type:"button",role:"radio","aria-checked":v,tabIndex:v?0:-1,onClick:()=>r(c),"aria-label":la(c.iso),"data-testid":`televet-day-${c.key}`,style:{...l.day,...v?l.daySelected:null},children:[jsxRuntime.jsx("span",{"aria-hidden":"true",style:{...l.dayWeekday,...v?l.dayTextSelected:null},children:c.weekday}),jsxRuntime.jsx("span",{"aria-hidden":"true",style:{...l.dayNumber,...v?l.dayTextSelected:null},children:c.dayNumber})]},c.key)})})]})}o(Po,"TelevetDayStrip");function Ur(e){let t=new Map;for(let r of e){let n=qt(r.startsAt);if(t.has(n))continue;let i=new Date(r.startsAt);Number.isNaN(i.getTime())||t.set(n,Object.freeze({key:n,iso:r.startsAt,weekday:i.toLocaleDateString(void 0,{weekday:"short"}),dayNumber:String(i.getDate())}));}return Object.freeze([...t.values()])}o(Ur,"televetDaysFromSlots");function Dc(e){let{color:t,space:r,radius:n,type:i}=e,{size:l,lineHeight:s}=i,a=o(d=>`${String(d)}px`,"rem");return {month:{margin:0,textAlign:"center",...T(e,"medium"),color:t.brand,fontSize:a(l.subtitle),lineHeight:String(s.snug),paddingBottom:a(r.md)},strip:{display:"flex",flexDirection:"row",gap:a(r.sm),paddingLeft:a(r.xs),paddingRight:a(r.xs),overflowX:"auto",overscrollBehaviorX:"contain",scrollSnapType:"x proximity"},day:{width:52,flexShrink:0,scrollSnapAlign:"center",minHeight:se,paddingTop:a(r.md),paddingBottom:a(r.md),borderRadius:a(n.md),borderStyle:"solid",borderWidth:1,borderColor:t.brandBorder,backgroundColor:"transparent",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:2,cursor:"pointer",boxSizing:"border-box"},daySelected:{backgroundColor:t.primary,borderColor:t.primary},dayWeekday:{...T(e,"mono"),color:t.text.secondary,fontSize:a(l.tiny),lineHeight:String(s.tight)},dayNumber:{...T(e,"medium"),color:t.brand,fontSize:a(l.heading),lineHeight:String(s.tight)},dayTextSelected:{color:t.onPrimary}}}o(Dc,"makeStyles");function er({slots:e,busySlotId:t,onPick:r,selectedSlot:n=null,header:i,dayGroupLabel:l,timeGroupLabel:s,rowTestIdPrefix:a="televet-slot",testID:d="televet-slot-list"}){let u=w(),p=react.useMemo(()=>zc(u),[u]),f=react.useMemo(()=>Ur(e),[e]),m=`${react.useId()}-zone`,[c,v]=react.useState(null),b=n?qt(n.startsAt):null,h=jc(f,[c,b])??f[0]?.key??null,S=react.useMemo(()=>h?e.filter(x=>qt(x.startsAt)===h):[],[e,h]),E=S[0],k=t!==null,L=E?Ct(E.startsAt):null;return jsxRuntime.jsxs("div",{style:p.root,"data-testid":d,children:[i,jsxRuntime.jsx(Po,{slots:e,selectedDayKey:h,onSelectDay:x=>v(x.key),groupLabel:l}),L?jsxRuntime.jsx("p",{id:m,style:p.zone,"data-testid":"televet-slot-zone",children:L}):null,jsxRuntime.jsx("div",{style:p.gridScroll,children:jsxRuntime.jsx("ul",{role:"list","aria-label":s,...L?{"aria-describedby":m}:{},"aria-busy":k||void 0,style:p.grid,children:S.map(x=>{let A=t===x.slotId;return jsxRuntime.jsx("li",{style:p.gridItem,children:jsxRuntime.jsx("button",{type:"button",onClick:()=>r(x),disabled:k,"aria-busy":A||void 0,"aria-label":Ee(x.startsAt),"data-testid":`${a}-${x.slotId}`,style:{...p.chip,...A?p.chipBusy:null,...k&&!A?p.chipDisabled:null},children:jsxRuntime.jsx("span",{"aria-hidden":"true",style:{...p.chipLabel,...A?p.chipLabelBusy:null},children:Et(x.startsAt)})})},x.slotId)})})})]})}o(er,"TelevetSlotPicker");function jc(e,t){for(let r of t)if(r!==null&&e.some(n=>n.key===r))return r;return null}o(jc,"firstOffered");function zc(e){let{color:t,space:r,radius:n,type:i}=e,{size:l,lineHeight:s}=i,a=o(d=>`${String(d)}px`,"rem");return {root:{display:"flex",flexDirection:"column",flex:"1 1 auto",minHeight:0},gridScroll:{flex:"1 1 auto",minHeight:0,overflowY:"auto",overscrollBehavior:"contain"},zone:{margin:0,textAlign:"center",...T(e,"mono"),color:t.text.secondary,fontSize:a(l.tiny),lineHeight:String(s.normal),letterSpacing:"0.4px",paddingTop:a(r.md),paddingBottom:a(r.md)},grid:{listStyle:"none",margin:0,padding:0,paddingBottom:a(r.xl),display:"flex",flexDirection:"row",flexWrap:"wrap",gap:a(r.md)},gridItem:{display:"flex",flexGrow:1,flexBasis:"28%",minWidth:96},chip:{width:"100%",minHeight:48,borderRadius:a(n.pill),borderStyle:"solid",borderWidth:1,borderColor:t.brandBorder,backgroundColor:"transparent",display:"inline-flex",alignItems:"center",justifyContent:"center",paddingLeft:a(r.md),paddingRight:a(r.md),cursor:"pointer",boxSizing:"border-box"},chipBusy:{backgroundColor:t.primary,borderColor:t.primary},chipDisabled:{opacity:.45,cursor:"not-allowed"},chipLabel:{...T(e,"regular"),color:t.brand,fontSize:a(l.subtitle),lineHeight:String(s.tight)},chipLabelBusy:{color:t.onPrimary}}}o(zc,"makeStyles");function Be(e){let{color:t,space:r,radius:n,type:i}=e,{size:l,lineHeight:s}=i,a=o(d=>`${String(d)}px`,"rem");return {marker:{minHeight:1},chipRow:{display:"flex",flexWrap:"wrap",justifyContent:"center",gap:a(r.sm)},chip:{minHeight:44,padding:`${a(r.sm)} ${a(r.lg)}`,borderRadius:a(n.pill),borderStyle:"solid",borderWidth:1,borderColor:t.brand,backgroundColor:t.surface,color:t.brand,cursor:"pointer",...T(e,"regular"),fontSize:a(l.body),lineHeight:String(s.snug)},chipOn:{borderColor:t.accent,backgroundColor:t.accent,color:t.onAccent,...T(e,"bold")},stepScroll:{paddingBottom:a(r.md)},visuallyHiddenHeading:{position:"absolute",width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:0},petRow:{width:"100%",display:"flex",flexDirection:"row",alignItems:"center",gap:a(r.sm),minHeight:64,paddingLeft:a(r.md),paddingRight:a(r.md),paddingTop:a(r.sm),paddingBottom:a(r.sm),borderRadius:a(n.pill),borderStyle:"solid",borderWidth:1,borderColor:t.brandBorder,backgroundColor:"transparent",textAlign:"left",cursor:"pointer",boxSizing:"border-box"},petRowSelected:{borderColor:t.primary},petDisc:{width:28,height:28,flexShrink:0,borderRadius:"50%",backgroundColor:t.surfaceSubtle,display:"inline-flex",alignItems:"center",justifyContent:"center",...T(e,"medium"),color:t.brand,fontSize:a(l.caption),lineHeight:"1"},petRowText:{display:"flex",flexDirection:"column",minWidth:0,gap:2},petRowName:{...T(e,"medium"),color:t.brand,fontSize:a(l.body),lineHeight:String(s.snug),overflowWrap:"anywhere"},petRowMeta:{...T(e,"regular"),color:t.text.metaCool,fontSize:a(l.caption),lineHeight:String(s.normal),overflowWrap:"anywhere"},vetRow:{display:"flex",flexDirection:"row",alignItems:"center",gap:a(r.md)},vetAvatar:{width:64,height:64,flexShrink:0,borderRadius:"50%",backgroundColor:t.surfaceSubtle,display:"inline-flex",alignItems:"center",justifyContent:"center",...T(e,"medium"),color:t.brand,fontSize:a(l.heading),lineHeight:"1"},vetIdentity:{display:"flex",flexDirection:"column",flex:"1 1 auto",minWidth:0,gap:2},vetName:{margin:0,...T(e,"medium"),color:t.brand,fontSize:a(l.subtitle),lineHeight:String(s.snug)},vetCredentials:{margin:0,...T(e,"regular"),color:t.text.metaCool,fontSize:a(l.caption),lineHeight:String(s.normal)},vetRating:{margin:0,...T(e,"regular"),color:t.text.secondary,fontSize:a(l.caption),lineHeight:String(s.normal)},vetBio:{margin:0,...T(e,"regular"),color:t.brand,fontSize:a(l.body),lineHeight:String(s.normal)},reasonInput:{width:"100%",minHeight:120,resize:"vertical",borderStyle:"solid",borderWidth:1,borderColor:t.brandBorder,borderRadius:a(n.md),padding:a(r.md),backgroundColor:t.surface,...T(e,"regular"),color:t.text.primary,fontSize:a(l.body),lineHeight:String(s.normal),boxSizing:"border-box"},emergencyBanner:{display:"flex",flexDirection:"column",alignItems:"flex-start",gap:a(r.md),padding:a(r.lg),borderRadius:a(n.lg),borderStyle:"solid",borderWidth:1,borderColor:t.errorRed,backgroundColor:t.badgeBgCritical,boxSizing:"border-box"},emergencyTitle:{margin:0,...T(e,"bold"),color:t.errorRed,fontSize:a(l.subtitle),lineHeight:String(s.snug)},emergencyLede:{margin:0,...T(e,"regular"),color:t.text.primary,fontSize:a(l.body),lineHeight:String(s.normal)}}}o(Be,"makeLocalStyles");function ut({label:e,value:t,last:r=false,testID:n}){let i=w(),l=react.useMemo(()=>Ao(i),[i]);return jsxRuntime.jsxs("div",{style:{...l.row,...r?l.rowLast:null},"data-testid":n,children:[jsxRuntime.jsx("dt",{style:l.rowLabel,children:e}),jsxRuntime.jsx("dd",{style:l.rowValue,children:t})]})}o(ut,"TelevetSummaryRow");function tr({label:e,checked:t,onToggle:r,testID:n}){let i=w(),l=react.useMemo(()=>Ao(i),[i]);return jsxRuntime.jsxs("label",{style:l.consent,children:[jsxRuntime.jsx("input",{type:"checkbox",checked:t,onChange:s=>r(s.currentTarget.checked),"data-testid":n,style:Pt}),jsxRuntime.jsx("span",{"aria-hidden":"true",style:{...l.box,...t?l.boxChecked:null},children:t?jsxRuntime.jsx("span",{style:l.tick,children:Vc}):null}),jsxRuntime.jsx("span",{style:l.consentLabel,children:e})]})}o(tr,"TelevetConsentCheckbox");var Vc="\u2713";function Oo({children:e,testID:t}){let r=w(),n=react.useMemo(()=>Ao(r),[r]);return jsxRuntime.jsx("dl",{style:n.card,"data-testid":t,children:e})}o(Oo,"TelevetSummaryCard");function Ao(e){let{color:t,space:r,radius:n,type:i}=e,{size:l,lineHeight:s}=i,a=o(d=>`${String(d)}px`,"rem");return {card:{margin:0,borderRadius:a(n.lg),borderStyle:"solid",borderWidth:1,borderColor:t.brandBorder,paddingLeft:a(r.lg),paddingRight:a(r.lg),boxSizing:"border-box"},row:{display:"flex",flexDirection:"row",alignItems:"flex-start",justifyContent:"space-between",gap:a(r.lg),paddingTop:a(r.lg),paddingBottom:a(r.lg),borderBottomStyle:"solid",borderBottomWidth:1,borderBottomColor:t.brandBorder},rowLast:{borderBottomWidth:0},rowLabel:{margin:0,flexShrink:0,...T(e,"regular"),color:t.brand,fontSize:a(l.subtitle),lineHeight:String(s.snug)},rowValue:{margin:0,marginInlineStart:0,minWidth:0,textAlign:"right",overflowWrap:"anywhere",...T(e,"medium"),color:t.brand,fontSize:a(l.subtitle),lineHeight:String(s.snug)},consent:{display:"flex",flexDirection:"row",alignItems:"flex-start",gap:a(r.md),minHeight:se,padding:a(r.lg),borderRadius:a(n.md),backgroundColor:t.surfaceSubtle,cursor:"pointer",boxSizing:"border-box"},box:{width:22,height:22,flexShrink:0,borderRadius:a(n.xs),borderStyle:"solid",borderWidth:1.5,borderColor:t.brand,backgroundColor:t.surface,display:"inline-flex",alignItems:"center",justifyContent:"center",boxSizing:"border-box"},boxChecked:{backgroundColor:t.primary,borderColor:t.primary},tick:{...T(e,"bold"),color:t.onPrimary,fontSize:a(l.caption),lineHeight:"1"},consentLabel:{flex:"1 1 auto",minWidth:0,overflowWrap:"anywhere",...T(e,"regular"),color:t.text.metaCool,fontSize:a(l.body),lineHeight:String(s.normal)}}}o(Ao,"makeStyles");function Bo({headingRef:e,when:t,lengthMinutes:r,clinician:n,petName:i,reason:l,shareRecords:s,onToggleShare:a,stateCode:d,stateAttested:u,onToggleStateAttest:p,cancellationTerms:f,termsAttested:m,onToggleTermsAttest:c,canConfirm:v,busy:b,failure:h,onConfirm:S,emergency:E,onAcknowledgeEmergency:k,onSeeOtherVets:L,mediaShortfall:x=Yt,primaryVet:A,onFindEmergencyVet:z}){let H=N(),X=w(),D=react.useMemo(()=>Be(X),[X]),G=Mr({petName:i,primaryVet:A,onFindEmergencyVet:z})?y.emergency.lede:y.emergency.ledeWithoutExits;return jsxRuntime.jsxs("div",{style:H.scrollRoot,"data-testid":"televet-booking-review",children:[jsxRuntime.jsx("div",{style:H.scrollBody,"data-testid":"televet-booking-review-scroll",children:jsxRuntime.jsxs("div",{style:H.list,children:[jsxRuntime.jsx(ct,{headingRef:e,style:H.stepTitle,children:y.reviewHeading}),jsxRuntime.jsxs(Oo,{testID:"televet-review-summary",children:[i?jsxRuntime.jsx(ut,{label:y.summaryPet,value:i,testID:"televet-review-row-pet"}):null,n?jsxRuntime.jsx(ut,{label:y.summaryVet,value:n,testID:"televet-review-row-vet"}):null,jsxRuntime.jsx(ut,{label:y.summaryWhen,value:t,testID:"televet-review-row-when"}),jsxRuntime.jsx(ut,{label:y.summaryLength,value:W(y.summaryLengthTemplate,{n:String(r)}),testID:"televet-review-row-length"}),l?jsxRuntime.jsx(ut,{label:y.summaryReason,value:l,last:true,testID:"televet-review-row-reason"}):null]}),jsxRuntime.jsx(tr,{label:y.shareRecordsOff,checked:s,onToggle:a,testID:"televet-review-share-records"}),f?jsxRuntime.jsx(tr,{label:f,checked:m,onToggle:c,testID:"televet-review-terms-attest"}):null,d?jsxRuntime.jsx(tr,{label:W(y.stateAttestTemplate,{state:d}),checked:u,onToggle:p,testID:"televet-review-state-attest"}):null,jsxRuntime.jsx(Qt,{shortfall:x,testIDPrefix:"televet-review"}),E?jsxRuntime.jsxs("div",{role:"alert",style:D.emergencyBanner,"data-testid":"televet-review-emergency",children:[jsxRuntime.jsx(Ua,{style:D.emergencyTitle,children:y.emergency.bannerTitle}),jsxRuntime.jsx("p",{style:D.emergencyLede,children:G}),E.length>0?jsxRuntime.jsx("p",{style:D.emergencyLede,"data-testid":"televet-review-emergency-categories",children:E.join(", ")}):null,jsxRuntime.jsx(Xt,{petName:i,primaryVet:A,onFindEmergencyVet:z,testIDPrefix:"televet-review-emergency"}),jsxRuntime.jsx(_,{label:y.emergency.keepBookingCta,kind:"secondary",loading:b,disabled:b,onPress:k,testID:"televet-review-emergency-ack"})]}):null,h==="failed"?jsxRuntime.jsx(K,{message:y.confirmFailed}):null,h==="clinician_unavailable"?jsxRuntime.jsxs("div",{style:H.list,"data-testid":"televet-review-clinician-unavailable",children:[jsxRuntime.jsx(K,{message:y.confirmFailed}),jsxRuntime.jsx(_,{label:y.seeOtherVetsCta,kind:"secondary",onPress:L,testID:"televet-review-see-other-vets"})]}):null,h==="rate_limited"?jsxRuntime.jsx(K,{message:y.confirmFailed,testID:"televet-review-rate-limited"}):null,h==="not_entitled"?jsxRuntime.jsx(K,{message:y.bookingPausedTitle,testID:"televet-review-not-entitled"}):null]})}),E?null:jsxRuntime.jsx("div",{style:H.scrollFooter,children:jsxRuntime.jsx(_,{label:y.confirmCta,kind:"primary",loading:b,disabled:!v||b||!!d&&!u||!!f&&!m,onPress:S,testID:"televet-review-confirm"})})]})}o(Bo,"ReviewStep");var $c="\u25CB",Kc="+";function Ye(e,t){return t?e.find(n=>n.petRef===t||n.petId===t)?.name??null:null}o(Ye,"nameOf");function ct({headingRef:e,style:t,id:r,children:n}){let i=ae(ge());return jsxRuntime.jsx(i,{ref:e,tabIndex:-1,style:t,...r===void 0?{}:{id:r},children:n})}o(ct,"StepHeading");function Ua({style:e,children:t}){let r=ae(Jt(ge()));return jsxRuntime.jsx(r,{style:e,children:t})}o(Ua,"SubHeading");function Wr({headingRef:e,pets:t,isPending:r,isError:n,onRetry:i,selectedId:l,onSelect:s,onAddPet:a}){let d=N(),u=w(),p=react.useMemo(()=>Be(u),[u]);return r?jsxRuntime.jsx("div",{role:"progressbar","aria-label":y.loading.pets,"aria-busy":"true",style:d.list,"data-testid":"televet-pets-loading",children:[0,1].map(f=>jsxRuntime.jsx(ve,{height:64},f))}):n?jsxRuntime.jsx("div",{"data-testid":"televet-pets-error",children:jsxRuntime.jsx($,{title:y.chrome.loadFailedTitle,actionLabel:y.chrome.retryCta,onAction:i})}):t.length===0?jsxRuntime.jsx("div",{"data-testid":"televet-pets-empty",children:jsxRuntime.jsx($,{title:y.chrome.noPetsTitle,actionLabel:y.addPetCta,onAction:a})}):jsxRuntime.jsxs("div",{style:d.stepFill,children:[jsxRuntime.jsx(ct,{headingRef:e,style:d.stepTitle,children:y.petSelectTitle}),jsxRuntime.jsx("div",{style:{...d.scrollBody,...p.stepScroll},children:jsxRuntime.jsxs("ul",{role:"list",style:d.list,"data-testid":"televet-pets",children:[t.map(f=>{let m=l===f.petRef;return jsxRuntime.jsx(Wa,{name:f.name??"",meta:Ma(f),selected:m,onPress:()=>s(f.petRef),testID:`televet-pet-${f.petRef}`},f.petRef)}),a?jsxRuntime.jsx(Wa,{name:y.addPetCta,meta:"",selected:false,onPress:a,testID:"televet-pet-add",glyph:Kc}):null]})})]})}o(Wr,"PetStep");function Wa({name:e,meta:t,selected:r,onPress:n,testID:i,glyph:l}){let s=w(),a=react.useMemo(()=>Be(s),[s]);return jsxRuntime.jsx("li",{children:jsxRuntime.jsxs("button",{type:"button",onClick:n,"aria-pressed":r,"data-testid":i,style:{...a.petRow,...r?a.petRowSelected:null},children:[jsxRuntime.jsx("span",{"aria-hidden":"true",style:a.petDisc,children:l??$a(e)}),jsxRuntime.jsxs("span",{style:a.petRowText,children:[jsxRuntime.jsx("span",{style:a.petRowName,children:e}),t?jsxRuntime.jsx("span",{style:a.petRowMeta,children:t}):null]})]})})}o(Wa,"PetRow");function $a(e){let t=e.trim();return t.length===0?$c:t.slice(0,1).toUpperCase()}o($a,"initialOf");function Ka({headingRef:e,clinicians:t,isPending:r,isError:n,selectedId:i,onSelect:l,onRetry:s}){let a=N(),d=w(),u=react.useMemo(()=>Be(d),[d]);if(r)return jsxRuntime.jsx("div",{role:"progressbar","aria-label":y.loading.clinicians,"aria-busy":"true",style:a.list,"data-testid":"televet-clinicians-loading",children:jsxRuntime.jsx(ve,{height:96})});if(n)return jsxRuntime.jsx("div",{"data-testid":"televet-clinicians-error",children:jsxRuntime.jsx($,{title:y.chrome.loadFailedTitle,actionLabel:y.chrome.retryCta,onAction:s})});if(t.length===0)return jsxRuntime.jsx("div",{"data-testid":"televet-clinicians-empty",children:jsxRuntime.jsx($,{title:y.noCliniciansTitle,message:y.noCliniciansBody,actionLabel:y.noCliniciansRetryCta,onAction:s})});let p=t.find(f=>f.clinicianId===i)??t[0];return p===void 0?null:jsxRuntime.jsxs("div",{style:a.list,"data-testid":"televet-clinicians",children:[jsxRuntime.jsx(ct,{headingRef:e,style:a.stepTitle,children:y.yourVetTitle}),jsxRuntime.jsxs("div",{style:u.vetRow,children:[jsxRuntime.jsx("span",{"aria-hidden":"true",style:u.vetAvatar,children:$a(p.displayName)}),jsxRuntime.jsxs("div",{style:u.vetIdentity,children:[jsxRuntime.jsx("p",{style:u.vetName,children:p.displayName}),p.credentials?jsxRuntime.jsx("p",{style:u.vetCredentials,children:p.credentials}):null,p.rating!==null&&p.ratingCount!==null?jsxRuntime.jsx("p",{style:u.vetRating,"data-testid":"televet-vet-rating",children:`\u2605 ${String(p.rating)} \xB7 ${String(p.ratingCount)} ${y.reviewsLabel}`}):null]})]}),p.bio?jsxRuntime.jsx("p",{style:u.vetBio,"data-testid":"televet-vet-bio",children:p.bio}):null,jsxRuntime.jsx("div",{style:a.divider}),jsxRuntime.jsx(_,{label:y.continueCta,kind:"primary",onPress:()=>l(p.clinicianId),testID:`televet-clinician-${p.clinicianId}`})]})}o(Ka,"ClinicianStep");function qa({headingRef:e,slots:t,enabled:r,isPending:n,isError:i,busySlotId:l,failure:s,selectedSlot:a,nextOpening:d,onPick:u,onRetry:p,onSeeOtherVets:f}){let m=N();return r?n?jsxRuntime.jsx("div",{role:"progressbar","aria-label":y.loading.slots,"aria-busy":"true",style:m.list,"data-testid":"televet-slots-loading",children:[0,1,2].map(c=>jsxRuntime.jsx(ve,{height:48},c))}):i?jsxRuntime.jsx($,{title:y.slotsErrorTitle,actionLabel:y.retryCta,onAction:p,testID:"televet-slots-error"}):t.length===0?jsxRuntime.jsx("div",{"data-testid":"televet-slots-empty",children:jsxRuntime.jsx($,{title:y.noSlotsTitle,message:d?W(y.nextOpeningTemplate,{when:Ee(d.startsAt)}):void 0,actionLabel:d?y.seeOtherVetsCta:void 0,onAction:d?f:void 0})}):jsxRuntime.jsxs("div",{style:m.stepFill,"data-testid":"televet-slots",children:[jsxRuntime.jsx(ct,{headingRef:e,style:m.stepTitle,children:y.timeHeading}),s==="expired"?jsxRuntime.jsx(K,{message:y.holdExpired}):null,s==="taken"?jsxRuntime.jsx(K,{message:y.slotTaken}):null,s==="failed"||s==="rate_limited"?jsxRuntime.jsx(K,{message:y.confirmFailed,testID:"televet-slots-hold-failed"}):null,jsxRuntime.jsx(er,{slots:t,busySlotId:l,onPick:u,selectedSlot:a,dayGroupLabel:y.summaryWhen,timeGroupLabel:y.navTitle})]}):jsxRuntime.jsx("div",{"data-testid":"televet-slots-unavailable",children:jsxRuntime.jsx($,{title:y.bookingPausedTitle})})}o(qa,"SlotStep");function Ya({headingRef:e,petName:t,chips:r,selected:n,onToggle:i,onNext:l}){let s=N(),a=w(),d=react.useMemo(()=>Be(a),[a]),u=W(y.issuesHeadingTemplate,{pet:t??""});return jsxRuntime.jsxs("div",{style:s.scrollRoot,"data-testid":"televet-booking-issues",children:[jsxRuntime.jsx("div",{style:s.scrollBody,children:jsxRuntime.jsxs("div",{style:s.list,children:[jsxRuntime.jsx(ct,{headingRef:e,style:s.stepTitle,children:u}),jsxRuntime.jsx("p",{style:s.stepHelp,children:y.issuesHint}),jsxRuntime.jsx("div",{role:"group","aria-label":u,style:d.chipRow,children:r.map(p=>{let f=n.includes(p.id);return jsxRuntime.jsx("button",{type:"button","aria-pressed":f,onClick:()=>i(p.id),style:{...d.chip,...f?d.chipOn:null},"data-testid":`televet-issue-${p.id}`,children:p.label},p.id)})})]})}),jsxRuntime.jsx("div",{style:s.scrollFooter,children:jsxRuntime.jsx(_,{label:y.continueCta,kind:"primary",onPress:l,testID:"televet-issues-next"})})]})}o(Ya,"IssuesStep");function Ga({headingRef:e,value:t,composed:r,onChange:n,onNext:i,media:l,onChangeMedia:s,onPickMedia:a,checking:d=false}){let u=N(),p=w(),f=react.useMemo(()=>Be(p),[p]),m=react.useId(),c=`${m}-reason-heading`,v=`${m}-reason-help`,b=(r??t).trim(),h=b.length>$e,S=b.length>0&&!h;return jsxRuntime.jsxs("div",{style:u.scrollRoot,"data-testid":"televet-booking-reason",children:[jsxRuntime.jsx("div",{style:u.scrollBody,"data-testid":"televet-booking-reason-scroll",children:jsxRuntime.jsxs("div",{style:u.list,children:[jsxRuntime.jsx(ct,{headingRef:e,id:c,style:u.stepTitle,children:y.describeHeading}),jsxRuntime.jsx("p",{id:v,style:u.stepHelp,children:y.describeHelpLong}),jsxRuntime.jsx("textarea",{value:t,onChange:E=>n(E.currentTarget.value),"aria-labelledby":c,"aria-describedby":v,"aria-invalid":h||void 0,placeholder:y.reasonPlaceholder,style:f.reasonInput,"data-testid":"televet-reason-input"}),h?jsxRuntime.jsx(K,{message:y.reasonTooLong}):null,jsxRuntime.jsx(Ro,{media:l,onChange:s,listLabel:y.addPhotoCta,...a?{onPickMedia:a}:{}})]})}),jsxRuntime.jsx("div",{style:u.scrollFooter,children:jsxRuntime.jsx(_,{label:y.continueCta,kind:"primary",disabled:!S,loading:d,onPress:i,testID:"televet-reason-next"})})]})}o(Ga,"ReasonStep");function Xa({headingRef:e,petId:t,roster:r,onAddPet:n,onPickPet:i}){return t===null?jsxRuntime.jsx(Wr,{headingRef:e,pets:r.pets,isPending:r.loading,isError:r.error!==null,onRetry:()=>{r.refresh();},onAddPet:n,selectedId:null,onSelect:i}):jsxRuntime.jsx(qc,{petRef:t})}o(Xa,"TelevetVisitSimulator");function qc({petRef:e}){let t=N(),r=ba(e);return jsxRuntime.jsx("div",{style:{...t.stepFill,...t.scrollBody},"data-testid":"televet-simulator",children:jsxRuntime.jsxs("div",{style:t.list,children:[jsxRuntime.jsx($,{title:pe.title}),jsxRuntime.jsx(_,{label:pe.create,onPress:r.create,kind:"secondary",disabled:r.busy,testID:"televet-simulator-create"}),r.visitLine!==null?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("p",{style:t.stateMessage,"data-testid":"televet-simulator-visit",children:r.visitLine}),ha.map(n=>jsxRuntime.jsx(_,{label:pe.advance[n],onPress:()=>r.advance(n),kind:"secondary",disabled:r.busy,testID:`televet-simulator-advance-${n}`},n)),jsxRuntime.jsx("p",{style:t.stateMessage,children:pe.eventsNote}),Ta.map(n=>jsxRuntime.jsx(_,{label:pe.events[n],onPress:()=>r.raise(n),kind:"secondary",disabled:r.busy,testID:`televet-simulator-event-${n}`},n))]}):null,r.line===null?null:r.line.tone==="danger"?jsxRuntime.jsx(K,{message:r.line.text,testID:"televet-simulator-error"}):jsxRuntime.jsx("p",{role:"status",style:t.stateMessage,"data-testid":"televet-simulator-log",children:r.line.text})]})})}o(qc,"SimulatorScreen");function Do(e){let{petRef:t,usState:r,controller:n,onBooked:i,onExit:l,onAddPet:s,onPickMedia:a,onAddToCalendar:d,onConfirmDiscard:u,onRequestLocation:p,locationStatus:f="unknown",onTriageReason:m,onStateInterest:c,primaryVet:v,onFindEmergencyVet:b,canJoinInApp:h=false,renderUnavailable:S,headingLevel:E,style:k,testID:L}=yt(e,["onBooked","onExit","onAddPet","onRequestLocation","onFindEmergencyVet"]),x=Ea(E??xt),A=Jt(x),z=N(),H=w(),X=react.useMemo(()=>Be(H),[H]),D=Se(n),G=Ar(),q=G.pets,ee=q.length,ye=react.useMemo(()=>({ownedPetCount:ee,withIssues:true}),[ee]),[he,Le]=react.useReducer((M,Ze)=>Xn(M,Ze,ye),void 0,()=>Gn({ownedPetCount:0,withIssues:true},{petId:t??null,state:r??null})),O=react.useCallback(M=>Le(M),[]),[Ge,Je]=react.useState(""),[Xe,Y]=react.useState([]),[xe,V]=react.useState(null),[ze,pt]=react.useState(null),[qr,Zo]=react.useState(false),[Yr,ei]=react.useState(false),[ti,hs]=react.useState([]),[Gr,Ts]=react.useState(null),[Ss,Es]=react.useState(null),{draft:P}=he,ne=Qn(he),ri=react.useMemo(()=>ea(q.find(M=>M.petRef===P.petId||M.petId===P.petId)?.species??null),[q,P.petId]),Qe=ta(Xe.map(M=>ri.find(Ze=>Ze.id===M)?.label??""),Ge),ni=react.useRef(P.state);ni.current!==P.state&&(ni.current=P.state,qr&&Zo(false),Yr&&ei(false));let sr=kn(P.state,D),oi=Mt(D),ft=xn(D),me=Rn(P.state,D),He=jt(P.clinicianId,D),Jr=He.refetch,Cs=_n(D).data??null,Xr=zt(D),ii=wn(D),Re=co(m??null),li=po(P.state,c??null).actionFor("no_licensed_vet"),Qr=r??null;react.useEffect(()=>{Qr&&!P.state&&O({type:"patch",patch:{state:Qr}});},[Qr,P.state,O]),react.useEffect(()=>{t&&!P.petId&&O({type:"patch",patch:{petId:t}});},[t,P.petId,O]);let Zr=q.length===1?q[0]?.petRef??null:null;react.useEffect(()=>{Zr&&!P.petId&&O({type:"patch",patch:{petId:Zr}});},[Zr,P.petId,O]);let ai=react.useRef(ne);ai.current=ne;let si=react.useRef(0);react.useEffect(()=>{ee!==si.current&&(si.current=ee,O({type:"goTo",step:ai.current}));},[ee,O]);let en=me.data?.[0]?.clinicianId??null;react.useEffect(()=>{en&&!P.clinicianId&&O({type:"patch",patch:{clinicianId:en}});},[en,P.clinicianId,O]);let Ve=react.useRef(null),di=react.useRef(false);react.useEffect(()=>{if(!di.current){di.current=true;return}Ve.current?.focus();},[ne]);let ks=da({draft:P,hold:Xr,dispatch:O,setFailure:V,refetchSlots:Jr}),{submitBooking:xs,confirm:Rs}=sa({draft:P,reasonText:Qe,book:ii,stateAttested:qr,termsAttested:Yr,cancellationPolicy:oi.data??null,triage:Re,goTo:react.useCallback(M=>O({type:"goTo",step:M}),[O]),releaseSlot:react.useCallback(()=>{Es(P.slot),O({type:"patch",patch:Zl}),Jr();},[P.slot,O,Jr]),setFailure:V,setEmergency:pt,setBookedConsult:Ts,...i?{onBooked:i}:{}}),_s=sr.enabled&&sr.data!==null&&!sr.data.wellnessAvailable,Ps=ft.enabled&&ft.data?.active===false||xe==="not_entitled",{simulate:ui,fundingRefused:ci}=va(ft,Ps),ws=ft.enabled&&ft.data!==null,Is=ro(ws),pi=Dr(ti.length),Os=Qe.trim().length>0||!!P.slot,fi={surfaceUnavailable:D===null||xe==="unavailable"||Ht(ft)||Ht(sr),notEntitled:ci,policyBlocked:_s,triageOpen:Re.open,step:ne},As=Pa(fi),yi={noState:!P.state,isPending:me.enabled&&me.isPending,isError:me.isError,isEmpty:(me.data?.length??0)===0,notEntitled:ci},Bs=Ia(yi);return Ne()?jsxRuntime.jsx(fo.Provider,{value:A,children:jsxRuntime.jsxs("div",{style:{...z.screen,...k},"data-testid":L??"televet-booking",children:[jsxRuntime.jsx(xo,{step:ne,furthestIndex:he.furthestIndex,triageOpen:Re.open,canGoBack:!ui&&(Re.open||Jn(he,ye))&&ne!=="booked",isDirty:Os,onBack:()=>{if(Re.open){Re.close();return}Re.cancel(),O({type:"back"});},onClose:()=>l?.(),headingLevel:x,...u?{onConfirmDiscard:u}:{}}),ui?jsxRuntime.jsx(Xa,{headingRef:Ve,petId:P.petId,roster:G,onAddPet:s,onPickPet:M=>O({type:"patch",patch:{petId:M}})}):As?jsxRuntime.jsx(wa,{state:fi,petName:Ye(q,P.petId),...v?{primaryVet:v}:{},onFindEmergencyVet:b,stateInterest:li,...c?{onCheckAvailability:o(()=>O({type:"goTo",step:"clinician"}),"onCheckAvailability")}:{},onAcknowledgeEmergency:()=>{Re.acknowledge(Qe),O({type:"next"});},...S?{renderUnavailable:S}:{}}):ne==="time"?jsxRuntime.jsx(qa,{headingRef:Ve,slots:He.data??[],enabled:He.enabled,isPending:He.enabled&&He.isPending&&He.data===null,isError:He.isError,busySlotId:Xr.isPending?Xr.variables:null,failure:xe,selectedSlot:P.slot??Ss,nextOpening:Cs,onPick:ks,onRetry:()=>He.refetch(),onSeeOtherVets:()=>O({type:"goTo",step:"clinician"})}):ne==="review"?jsxRuntime.jsx(Bo,{headingRef:Ve,when:P.slot?Ee(P.slot.startsAt):"",lengthMinutes:(P.slot?vn(P.slot):null)??it,petName:Ye(q,P.petId),reason:Qe.trim(),clinician:me.data?.find(M=>M.clinicianId===P.clinicianId)?.displayName??null,shareRecords:P.shareHealthRecords,stateCode:P.state,stateAttested:qr,onToggleStateAttest:Zo,cancellationTerms:oi.data?.summary??null,termsAttested:Yr,onToggleTermsAttest:ei,onToggleShare:M=>O({type:"patch",patch:{shareHealthRecords:M}}),canConfirm:Kt(P,Qe),busy:ii.isPending,failure:xe,onConfirm:Rs,emergency:ze,onAcknowledgeEmergency:()=>xs(true),mediaShortfall:pi,primaryVet:v,onFindEmergencyVet:b,onSeeOtherVets:()=>O({type:"goTo",step:"clinician"})}):ne==="booked"?jsxRuntime.jsx("div",{style:z.stepFill,"data-testid":"televet-booking-booked",children:Gr?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ho,{consult:Gr,petName:Ye(q,Gr.petId)??Ye(q,P.petId),onDone:()=>l?.(),canJoinInApp:h,lengthMinutes:(P.slot?vn(P.slot):null)??it,...d?{onAddToCalendar:d}:{}}),jsxRuntime.jsx(Qt,{shortfall:pi,testIDPrefix:"televet-booked"})]}):null}):ne==="clinician"&&Bs?jsxRuntime.jsx(Oa,{state:yi,cause:Is,locationStatus:f,...p?{onRequestLocation:p}:{},onRetry:()=>me.refetch(),stateInterest:li,...S?{renderUnavailable:S}:{}}):ne==="clinician"?jsxRuntime.jsx(Ka,{headingRef:Ve,clinicians:me.data??[],isPending:me.enabled&&me.isPending,isError:me.isError,selectedId:P.clinicianId,onRetry:()=>me.refetch(),onSelect:M=>{O({type:"patch",patch:{clinicianId:M}}),O({type:"next"});}}):ne==="issues"?jsxRuntime.jsx(Ya,{headingRef:Ve,petName:Ye(q,P.petId),chips:ri,selected:Xe,onToggle:M=>Y(Ze=>Ze.includes(M)?Ze.filter(Ls=>Ls!==M):[...Ze,M]),onNext:()=>O({type:"next"})}):ne==="reason"?jsxRuntime.jsx(Ga,{headingRef:Ve,value:Ge,composed:Qe,onChange:Je,media:ti,onChangeMedia:hs,...a?{onPickMedia:a}:{},checking:Re.checking,onNext:()=>{Re.check(Qe).then(M=>{M&&O({type:"next"});});}}):ne==="pet"?jsxRuntime.jsx(Wr,{headingRef:Ve,pets:q,isPending:G.loading,isError:G.error!==null,onRetry:()=>{G.refresh();},onAddPet:s,selectedId:P.petId,onSelect:M=>{O({type:"patch",patch:{petId:M}}),O({type:"next"});}}):jsxRuntime.jsx("div",{style:X.marker,"data-testid":`televet-booking-step-${ne}`})]})}):jsxRuntime.jsx("div",{style:{...z.screen,...k},"data-testid":L??"televet-booking",children:jsxRuntime.jsx("div",{style:z.stepFill,"data-testid":"televet-booking-copy-unapproved",children:S?S():null})})}o(Do,"EverfurTelevetBooking");var Za=Symbol.for("@everfur/sdk/televet");function es(){let e=globalThis,t=e[Za];if(t!==void 0)return t;let r={presenter:null,snapshot:Object.freeze({request:null,serial:0,activeHost:null}),hosts:[],nextHost:1,listeners:new Set,dailyRegistered:false};return e[Za]=r,r}o(es,"televetGlobal");function $r(){return es().dailyRegistered}o($r,"isEverfurDailyRegistered");function Fo(){let e=es(),t=e.noticeReceipts;if(t!==void 0)return t;let r=new Map;return e.noticeReceipts=r,r}o(Fo,"noticeReceipts");function ts(e){let t=Fo(),r=t.get(e);r!==void 0?r.holders+=1:t.set(e,{holders:1,joined:false});}o(ts,"markRecordingNoticeAccepted");function rs(e){let t=Fo(),r=t.get(e);r!==void 0&&(r.holders-=1,r.holders<=0&&t.delete(e));}o(rs,"clearRecordingNoticeAccepted");function ns(e){return Fo().get(e)?.joined===true}o(ns,"isTelevetCallJoined");var je=Object.freeze({muteCta:"Mute",unmuteCta:"Unmute",cameraOffCta:"Camera off",cameraOnCta:"Camera on",leaveCta:"Leave",switchCameraCta:"Switch camera",speakerOffCta:"Speaker off",speakerOnCta:"Speaker on",lobbyTitleNoName:"Your vet is joining",lobbySubtitle:"Usually under a minute",lobbyPrepLabel:"WHILE YOU WAIT",lobbyPrepNoPet:"Have your pet nearby and somewhere well lit.",lobbyTitle:o(e=>{let t=e?.trim()??"";return t.length>0?`${t} is joining`:je.lobbyTitleNoName},"lobbyTitle"),lobbyPrep:o(e=>{let t=e?.trim()??"";return t.length>0?`Have ${t} nearby and somewhere well lit.`:je.lobbyPrepNoPet},"lobbyPrep"),lobbyDuration:o(e=>`${e} MINUTE VISIT`,"lobbyDuration"),joinFailedReason:"That did not open. Try again.",recordingNoticeTitle:"This consultation is recorded.",recordingNoticeCta:"Continue to the call",recordingNoticeDecline:"Not now",selfCameraOffLabel:"Your camera is off"});function os(e){switch(e){case "too_early":return "This visit has not opened yet.";case "too_late":return "This visit has ended.";case "room_not_ready":return "We are still setting up the video room. Try again in a moment.";case "status_cancelled_owner":return "You cancelled this visit.";case "status_cancelled_ops":return "This visit was cancelled. Please book another time.";case "status_no_show_owner":return "This visit was missed.";case "status_no_show_vet":return "The vet could not make this visit. Please book another time.";case "status_awaiting_summary":return "This visit has ended. Your summary is on its way.";case "status_completed":return "This visit has ended.";default:return ir}}o(os,"televetJoinRefusalWebCopy");var ir="This visit cannot be joined right now.";function is(e){return e==="room_not_ready"||e==="unknown"}o(is,"televetJoinIsRetryable");function ls(e){let t=null;return ()=>{if(t!==null)return t;let r=e();return t=r,r.then(void 0,()=>{t===r&&(t=null);}),r}}o(ls,"memoizeTelevetLoader");var ss=Object.freeze({status:"joining"});function Mo(e,t){let[r,n]=react.useState(0),[i,l]=react.useState(ss),s=react.useRef(null);react.useEffect(()=>{let d=t?.joinConsult;if(t===null||d===void 0){l(Object.freeze({status:"refused",refusal:"unavailable",reason:null}));return}let u=`${e}#${String(r)}`,p=s.current;if(p===null||p.key!==u){let m;try{m=d.call(t,e);}catch(c){m=Promise.reject(c);}p={key:u,promise:m},s.current=p;}let f=true;return l(ss),p.promise.then(m=>{f&&(m.ok?l(Object.freeze({status:"ready",credential:m.value})):l(Object.freeze({status:"refused",refusal:mn(m.error),reason:yn(m.error)})));},()=>{f&&l(Object.freeze({status:"refused",refusal:"unknown",reason:null}));}),()=>{f=false;}},[e,t,r]);let a=react.useCallback(()=>n(d=>d+1),[]);return {state:i,retry:a}}o(Mo,"useTelevetJoin");var us=ls(()=>import('@everfur/sdk/web/televet/call')),np=sn;function jo({consultId:e,controller:t,onLeave:r,style:n}){let i=N(),[l,s]=react.useState(null),a=l===e,[d]=react.useState($r);react.useEffect(()=>{if(d)return;let p=true;return us().then(f=>{p&&ip(f.EVERFUR_DAILY_SETUP);},()=>{}),()=>{p=false;}},[d]),Zt(()=>(r(),true),!a);let u=react.useCallback(()=>{s(null),r();},[r]);return d?a?jsxRuntime.jsx(op,{consultId:e,controller:t,onLeave:u,style:n},e):jsxRuntime.jsx(cs,{onContinue:()=>s(e),onDecline:r,style:n}):jsxRuntime.jsxs("div",{style:{...i.stepFill,...n},"data-testid":"televet-join-call-unavailable",children:[jsxRuntime.jsx(K,{message:ir}),jsxRuntime.jsx(_,{label:je.leaveCta,kind:"secondary",onPress:r,testID:"televet-join-unavailable-leave"})]})}o(jo,"TelevetJoinScreen");function cs({onContinue:e,onDecline:t,busy:r=false,declineHeld:n=false,style:i}){let l=N(),s=`${react.useId()}-recording-notice`,a=react.useRef(null);return react.useEffect(()=>{let d=a.current;if(!d)return;let u=d.ownerDocument.activeElement;u!==null&&u!==d.ownerDocument.body||d.focus();},[]),jsxRuntime.jsx("div",{style:{...l.stepFill,...i},children:jsxRuntime.jsxs("div",{ref:a,role:"alertdialog","aria-labelledby":s,"aria-busy":r||void 0,tabIndex:-1,"data-testid":"everfur-vet-call-recording-notice",style:l.stateCard,children:[jsxRuntime.jsx("p",{id:s,style:l.stateTitle,children:je.recordingNoticeTitle}),jsxRuntime.jsx(_,{label:je.recordingNoticeCta,kind:"primary",loading:r,onPress:()=>e?.(),testID:"everfur-vet-call-recording-continue"}),jsxRuntime.jsx(_,{label:je.recordingNoticeDecline,kind:"secondary",disabled:n,onPress:()=>t?.(),testID:"everfur-vet-call-recording-decline"})]})})}o(cs,"TelevetRecordingNotice");function op({consultId:e,controller:t,onLeave:r,style:n}){let i=N(),l=Se(t),{state:s,retry:a}=Mo(e,l),d=s.status==="ready"?s.credential:null,[u,p]=react.useState(null),[f,m]=react.useState(false),c=d!==null;react.useEffect(()=>{if(!c||u!==null)return;let x=true;return us().then(A=>{x&&p(()=>A);},()=>{x&&m(true);}),()=>{x=false;}},[c,u]);let[v,b]=react.useState(null);react.useEffect(()=>{if(d===null)return;let x=d.roomUrl;return ts(x),b(d),()=>{rs(x);}},[d]);let h=s.status==="joining",[S,E]=react.useState(false);react.useEffect(()=>{if(!h){E(false);return}let x=setTimeout(()=>E(true),np);return ()=>{clearTimeout(x);}},[h]);let k=h&&!S;if(Zt(()=>(k||d!==null&&u!==null&&!f&&ns(d.roomUrl)||r(),true)),s.status==="refused"||f){let x=s.status==="refused"?s.refusal:"unavailable",A=s.status==="refused"?os(s.reason):ir;return jsxRuntime.jsxs("div",{style:{...i.stepFill,...n},"data-testid":"televet-join-refused",children:[jsxRuntime.jsx(K,{message:A,testID:"televet-join-refused-message"}),is(x)&&s.status==="refused"?jsxRuntime.jsx(_,{label:y.retryCta,kind:"primary",onPress:a,testID:"televet-join-retry"}):null,jsxRuntime.jsx(_,{label:je.leaveCta,kind:"secondary",onPress:r,testID:"televet-join-leave"})]})}if(d===null||u===null||v!==d)return jsxRuntime.jsx(cs,{busy:true,declineHeld:k,onDecline:r,style:n});let{EverfurVetCall:L}=u;return jsxRuntime.jsx(L,{roomUrl:d.roomUrl,token:d.token,onLeave:r,renderUnavailable:()=>jsxRuntime.jsxs("div",{style:i.stepFill,"data-testid":"televet-join-call-unavailable",children:[jsxRuntime.jsx(K,{message:ir}),jsxRuntime.jsx(_,{label:je.leaveCta,kind:"secondary",onPress:r,testID:"televet-join-unavailable-leave"})]}),...n?{style:n}:{}})}o(op,"TelevetJoinRoom");var ds=false;function ip(e){if(ds)return;ds=true;let t=globalThis.console;try{t?.warn?.(e);}catch{}}o(ip,"warnSetupOnce");var sp=2e4;function ps(e=true,t=sp){let[r,n]=react.useState(()=>Date.now());return react.useEffect(()=>{if(!e)return;n(Date.now());let i=setInterval(()=>n(Date.now()),t);return ()=>clearInterval(i)},[e,t]),r}o(ps,"useNowMs");function dp(e){let t=e.trim().length;return t<1?I.cancellationReasonMissing:t>Ke?I.cancellationReasonTooLong(Ke):null}o(dp,"reasonRefusal");function Ho({terms:e,submitting:t,failure:r,onConfirm:n,onDismiss:i,onRetryTerms:l,styles:s}){let[a,d]=react.useState(""),[u,p]=react.useState(null),f=react.useId(),m=react.useId(),c=e.status==="ready",v=o(()=>{if(t||!c)return;let b=dp(a);p(b),b||n(a.trim());},"confirm");return jsxRuntime.jsxs("form",{onSubmit:b=>{b.preventDefault(),v();},"aria-label":I.cancelConfirmCta,noValidate:true,style:s.form,"data-testid":"televet-visit-cancel-form",children:[jsxRuntime.jsx("p",{style:s.noticeTitle,children:I.cancelConfirmTitle}),e.status==="ready"?jsxRuntime.jsx("div",{style:s.notice,"data-testid":"televet-visit-cancel-terms",children:jsxRuntime.jsx("p",{style:s.note,children:e.summary})}):e.status==="loading"?jsxRuntime.jsx("div",{role:"status",style:s.notice,children:jsxRuntime.jsx("p",{style:s.note,children:I.loadingCancellationTerms})}):jsxRuntime.jsxs("div",{role:"alert",style:{...s.notice,...s.noticeDanger},"data-testid":"televet-visit-cancel-terms-error",children:[jsxRuntime.jsx("p",{style:s.note,children:I.cancellationTermsUnavailable}),jsxRuntime.jsx(_,{label:I.retry,kind:"secondary",fullWidth:false,onPress:l})]}),jsxRuntime.jsx("label",{htmlFor:f,style:s.label,children:I.cancellationReasonLabel}),jsxRuntime.jsx("textarea",{id:f,value:a,onChange:b=>{d(b.target.value),u&&p(null);},maxLength:Ke,rows:3,disabled:t||!c,"aria-invalid":u?true:void 0,"aria-describedby":u?m:void 0,style:s.textarea,"data-testid":"televet-visit-cancel-reason"}),u?jsxRuntime.jsx("p",{id:m,role:"alert",style:s.fieldError,children:u}):null,r?jsxRuntime.jsx("div",{role:"alert",style:{...s.notice,...s.noticeDanger},"data-testid":"televet-visit-cancel-failed",children:jsxRuntime.jsx("p",{style:s.note,children:r})}):null,jsxRuntime.jsxs("div",{style:s.actions,children:[jsxRuntime.jsx(_,{label:t?I.cancellingVisit:I.cancelConfirmCta,kind:"danger",fullWidth:false,disabled:t||!c,loading:t,onPress:v,testID:"televet-visit-cancel-yes"}),jsxRuntime.jsx(_,{label:I.cancelDismissCta,kind:"secondary",fullWidth:false,disabled:t,onPress:i,testID:"televet-visit-cancel-keep"})]})]})}o(Ho,"TelevetCancelVisitForm");function ms(e){let{color:t,space:r,radius:n,type:i}=e,{size:l,lineHeight:s}=i,a=o(d=>`${String(d)}px`,"px");return {screen:{...ht,display:"flex",flexDirection:"column",gap:a(r.md),paddingLeft:a(r.xl),paddingRight:a(r.xl),boxSizing:"border-box"},topBar:{display:"flex",alignItems:"center",justifyContent:"flex-end",minHeight:44},topBarStart:{justifyContent:"flex-start"},iconButton:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:44,height:44,padding:0,border:0,borderRadius:a(n.pill),background:"transparent",color:t.text.primary,cursor:"pointer"},textButton:{display:"inline-flex",alignItems:"center",minHeight:44,padding:`0 ${a(r.sm)}`,border:0,borderRadius:a(n.pill),background:"transparent",color:t.brand,cursor:"pointer",...T(e,"bold"),fontSize:a(l.body)},panel:{display:"flex",flexDirection:"column",borderStyle:"solid",borderWidth:1,borderColor:t.brandBorder,borderRadius:a(n.lg),backgroundColor:t.surface,overflow:"hidden"},panelBody:{display:"flex",flexDirection:"column",gap:a(r.md),padding:a(r.lg)},panelHeader:{display:"flex",alignItems:"baseline",justifyContent:"space-between",gap:a(r.sm),padding:`${a(r.md)} ${a(r.lg)}`,borderBottom:`1px solid ${t.brandBorder}`},panelTitle:{margin:0,...T(e,"medium"),color:t.brand,fontSize:a(l.subtitle),lineHeight:String(s.snug)},count:{...T(e,"mono"),color:t.text.metaCool,fontSize:a(l.caption)},bookTitle:{margin:0,...T(e,"medium"),color:t.brand,fontSize:a(l.subtitle),lineHeight:String(s.snug)},list:{listStyle:"none",margin:0,padding:0},row:{display:"flex",flexDirection:"column",gap:a(r.sm),padding:`${a(r.md)} ${a(r.lg)}`,borderBottom:`1px solid ${t.brandBorder}`},rowHead:{display:"flex",flexWrap:"wrap",alignItems:"flex-start",justifyContent:"space-between",gap:a(r.sm)},when:{margin:0,...T(e,"medium"),color:t.text.primary,fontSize:a(l.subtitle),lineHeight:String(s.snug)},pet:{margin:0,...T(e,"regular"),color:t.text.metaCool,fontSize:a(l.caption)},chip:{display:"inline-flex",alignItems:"center",padding:`2px ${a(r.sm)}`,borderRadius:a(n.pill),backgroundColor:t.surfaceSubtle,...T(e,"mono"),color:t.text.metaCool,fontSize:a(l.micro),letterSpacing:"0.04em",textTransform:"uppercase"},chipPositive:{backgroundColor:t.badgeBgPositive,color:t.brand},actions:{display:"flex",flexWrap:"wrap",gap:a(r.sm)},note:{margin:0,...T(e,"regular"),color:t.text.metaCool,fontSize:a(l.body),lineHeight:String(s.normal)},notice:{display:"flex",flexDirection:"column",gap:a(r.xs),padding:a(r.md),borderRadius:a(n.md),backgroundColor:t.surfaceSubtle},noticeTitle:{margin:0,...T(e,"medium"),color:t.text.primary,fontSize:a(l.body),lineHeight:String(s.snug)},noticeDanger:{backgroundColor:t.badgeBgCritical},form:{display:"flex",flexDirection:"column",gap:a(r.sm),marginTop:a(r.sm),paddingTop:a(r.md),borderTop:`1px solid ${t.brandBorder}`},label:{...T(e,"medium"),color:t.text.primary,fontSize:a(l.body)},textarea:{minHeight:96,padding:a(r.sm),borderRadius:a(n.md),border:`1px solid ${t.brandBorder}`,...T(e,"regular"),fontSize:a(l.body),color:t.text.primary,backgroundColor:t.surface,resize:"vertical",boxSizing:"border-box"},fieldError:{margin:0,...T(e,"regular"),color:t.danger,fontSize:a(l.caption)},empty:{display:"flex",flexDirection:"column",gap:a(r.xs),padding:a(r.lg)},skeletons:{display:"flex",flexDirection:"column",gap:a(r.sm),padding:a(r.lg)}}}o(ms,"makeVisitStyles");function Wo({controller:e,onJoin:t,onReschedule:r,onBook:n,onBack:i,isRoot:l=true,revision:s=0,returnedTo:a=false,nowMs:d,style:u}){let p=w(),f=react.useMemo(()=>ms(p),[p]),m=ae(ge()),c=Se(e),[v,b]=react.useState(0),h=xr(c,s+v),S=Mt(c),{pets:E}=Ar(),[k,L]=react.useState({status:"idle"}),[x,A]=react.useState(null),z=h.data??[],H=ps(z.some(Y=>!vr.has(Y.status))),X=d??H,{upcoming:D,past:G}=react.useMemo(()=>Vt(z,X),[z,X]),q=react.useRef(null),ee=react.useRef(null),ye=react.useRef(null),he=react.useRef(null),Le=react.useRef(a),O=!(h.enabled&&h.isPending);react.useEffect(()=>{Le.current&&ee.current?.focus();},[]),react.useEffect(()=>{!Le.current||!O||(Le.current=false,!q.current?.contains(document.activeElement)&&(ye.current??he.current)?.focus());},[O]);let Ge=S.data!==null&&S.data!==void 0?{status:"ready",summary:S.data.summary}:S.enabled&&S.isPending?{status:"loading"}:{status:"error"},Je=o((Y,xe)=>{let V=c?.cancelConsult;if(Ge.status!=="ready"||!c||!V){L({status:"failed",consultId:Y.consultId,message:I.cancelTermsFirst});return}L({status:"submitting",consultId:Y.consultId}),V.call(c,Y.consultId,xe).then(ze=>{ze.ok?(A(ze.value),L({status:"idle"})):L({status:"failed",consultId:Y.consultId,message:I.cancelFailed}),b(pt=>pt+1);},()=>L({status:"failed",consultId:Y.consultId,message:I.cancelFailed}));},"cancelVisit"),Xe=o(Y=>jsxRuntime.jsx(cp,{consult:Y,petName:Ye(E,Y.petId),nowMs:X,styles:f,cancelling:k.status!=="idle"&&k.consultId===Y.consultId?k:null,anyCancelInFlight:k.status==="submitting",terms:Ge,onJoin:t,onReschedule:r,onAskCancel:()=>{A(null),L({status:"asking",consultId:Y.consultId});},onDismissCancel:()=>L({status:"idle"}),onCancel:xe=>Je(Y,xe),onRetryTerms:()=>S.refetch()},Y.consultId),"renderRow");return jsxRuntime.jsxs("div",{ref:q,style:{...f.screen,...u},"data-testid":"televet-visits",children:[jsxRuntime.jsx("div",{style:l?f.topBar:{...f.topBar,...f.topBarStart},children:l?jsxRuntime.jsx("button",{type:"button",onClick:i,"aria-label":pp,style:f.iconButton,"data-testid":"televet-visits-close",children:jsxRuntime.jsx(yp,{})}):jsxRuntime.jsx("button",{type:"button",onClick:i,style:f.textButton,"data-testid":"televet-visits-back",children:fp})}),x?jsxRuntime.jsxs("div",{role:"status",style:f.notice,"data-testid":"televet-visits-cancel-receipt",children:[jsxRuntime.jsx("p",{style:f.noticeTitle,children:I.cancelledTitle}),x.summary?jsxRuntime.jsx("p",{style:f.note,children:x.summary}):null,jsxRuntime.jsx("p",{style:f.note,children:x.feeRecorded?I.cancellationFeeRecorded:I.cancellationFeeNotRecorded})]}):null,n?jsxRuntime.jsx("section",{style:f.panel,"data-testid":"televet-visits-book-card",children:jsxRuntime.jsxs("div",{style:f.panelBody,children:[jsxRuntime.jsx("p",{style:f.bookTitle,children:I.bookCardTitle}),jsxRuntime.jsx(_,{label:I.bookCardCta,onPress:n,testID:"televet-visits-book"})]})}):null,h.enabled&&h.isPending?jsxRuntime.jsxs("section",{style:f.panel,children:[jsxRuntime.jsx(Uo,{Title:m,title:I.pastTitle,count:null,styles:f,headingRef:ee}),jsxRuntime.jsx("div",{role:"progressbar","aria-label":I.loading,"aria-busy":"true",style:f.skeletons,"data-testid":"televet-visits-loading",children:[0,1,2].map(Y=>jsxRuntime.jsx(ve,{height:56},Y))})]}):h.isError&&h.data===null?jsxRuntime.jsxs("div",{ref:he,role:"alert",tabIndex:-1,style:{...f.notice,...f.noticeDanger},"data-testid":"televet-visits-error",children:[jsxRuntime.jsx("p",{style:f.noticeTitle,children:I.loadErrorTitle}),jsxRuntime.jsx("p",{style:f.note,"data-testid":"televet-visits-error-body",children:I.loadErrorBody}),jsxRuntime.jsx(_,{label:I.retry,kind:"secondary",fullWidth:false,onPress:()=>h.refetch()})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[D.length>0?jsxRuntime.jsxs("section",{style:f.panel,"data-testid":"televet-visits-upcoming",children:[jsxRuntime.jsx(Uo,{Title:m,title:I.upcomingTitle,count:D.length,styles:f,headingRef:ye}),jsxRuntime.jsx("ul",{"aria-label":I.upcomingTitle,style:f.list,children:D.map(Xe)})]}):null,jsxRuntime.jsxs("section",{style:f.panel,"data-testid":"televet-visits-past",children:[jsxRuntime.jsx(Uo,{Title:m,title:I.pastTitle,count:G.length,styles:f,...D.length===0?{headingRef:ye}:{}}),z.length===0?jsxRuntime.jsxs("div",{style:f.empty,"data-testid":"televet-visits-empty",children:[jsxRuntime.jsx("p",{style:f.noticeTitle,children:I.emptyTitle}),jsxRuntime.jsx("p",{style:f.note,children:I.emptyBody})]}):G.length===0?null:jsxRuntime.jsx("ul",{"aria-label":I.pastTitle,style:f.list,children:G.map(Xe)})]})]})]})}o(Wo,"TelevetVisitsScreen");function Uo({Title:e,title:t,count:r,styles:n,headingRef:i}){return jsxRuntime.jsxs("div",{style:n.panelHeader,children:[jsxRuntime.jsx(e,{style:n.panelTitle,...i?{ref:i,tabIndex:-1}:{},children:t}),r===null?null:jsxRuntime.jsx("span",{style:n.count,children:r})]})}o(Uo,"PanelHeader");function cp({consult:e,petName:t,nowMs:r,styles:n,cancelling:i,anyCancelInFlight:l,terms:s,onJoin:a,onReschedule:d,onAskCancel:u,onDismissCancel:p,onCancel:f,onRetryTerms:m}){let c=Ln(e,r),v=vr.has(e.status),b=il(e.status),h=Bn(e),S=Nn(e.status),E=e.consultId,k=react.useId(),L=!c.joinable&&!v;return jsxRuntime.jsxs("li",{style:n.row,"data-testid":`televet-visits-row-${E}`,children:[jsxRuntime.jsxs("div",{style:n.rowHead,children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("p",{style:n.when,children:na(e.scheduledAt)}),t?jsxRuntime.jsx("p",{style:n.pet,children:t}):null]}),b?jsxRuntime.jsx("span",{style:c.joinable?{...n.chip,...n.chipPositive}:n.chip,"data-testid":`televet-visits-status-${E}`,children:b}):null]}),jsxRuntime.jsxs("div",{style:n.actions,children:[v?null:jsxRuntime.jsx(_,{label:I.joinCta,fullWidth:false,disabled:!c.joinable,onPress:()=>a(e,t),describedBy:L?k:void 0,testID:`televet-visits-join-${E}`}),S&&d?jsxRuntime.jsx(_,{label:I.rescheduleCta,kind:"secondary",fullWidth:false,onPress:()=>d(e),testID:`televet-visits-reschedule-${E}`}):null,S?jsxRuntime.jsx(_,{label:I.cancelCta,kind:"danger",fullWidth:false,disabled:l,onPress:u,testID:`televet-visits-cancel-${E}`}):null]}),L?jsxRuntime.jsx("p",{id:k,style:n.note,"data-testid":`televet-visits-join-note-${E}`,children:ll(c.reason,h===null?void 0:oa(new Date(h).toISOString()))}):null,i?jsxRuntime.jsx(Ho,{terms:s,submitting:i.status==="submitting",failure:i.status==="failed"?i.message:null,onConfirm:f,onDismiss:p,onRetryTerms:m,styles:n}):null]})}o(cp,"VisitRow");var pp="Close",fp="Back";function yp(){return jsxRuntime.jsx("svg",{"aria-hidden":"true",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",children:jsxRuntime.jsx("path",{d:"M18 6 6 18M6 6l12 12"})})}o(yp,"CloseGlyph");function $o(e){let{consult:t,onRescheduled:r,onCancel:n,controller:i,style:l,testID:s}=yt(e,["onRescheduled","onCancel"]),a=N(),d=Se(i),u=jt(t?.clinicianId??null,d),p=zt(d),f=In(t?.consultId??null,d),[m,c]=react.useState(null),v=react.useCallback(h=>{c(null),p.mutate(h.slotId,{onSuccess:o(()=>{f.mutate(h.slotId,{onSuccess:o(S=>r?.(S),"onSuccess"),onError:o(S=>c(Ue(S).kind==="unavailable"?"unavailable":"failed"),"onError")});},"onSuccess"),onError:o(S=>c(Ue(S).kind==="unavailable"?"unavailable":"taken"),"onError")});},[p,f,r]),b=p.isPending||f.isPending;return Ne()?t?jsxRuntime.jsxs("section",{style:{...a.stepFill,...l},"aria-label":y.rescheduleNavTitle,"data-testid":s??"televet-reschedule",children:[jsxRuntime.jsx("p",{style:a.stepHelp,children:W(y.rescheduleFromTemplate,{when:Ee(t.scheduledAt)})}),m==="taken"?jsxRuntime.jsx(K,{message:y.slotTaken}):null,m==="failed"?jsxRuntime.jsx(K,{message:y.rescheduleFailed}):null,m==="unavailable"?jsxRuntime.jsx(K,{message:y.bookingPausedTitle,testID:"televet-reschedule-unavailable"}):null,u.enabled?u.isPending?jsxRuntime.jsx("div",{role:"progressbar","aria-label":y.loading.slots,"aria-busy":"true",style:a.list,"data-testid":"televet-reschedule-slots-loading",children:[0,1,2].map(h=>jsxRuntime.jsx(ve,{height:48},h))}):u.isError?jsxRuntime.jsx($,{title:y.slotsErrorTitle,actionLabel:y.retryCta,onAction:()=>u.refetch(),testID:"televet-reschedule-slots-error"}):(u.data??[]).length===0?jsxRuntime.jsx("div",{"data-testid":"televet-reschedule-empty",children:jsxRuntime.jsx($,{title:y.noSlotsTitle})}):jsxRuntime.jsx(er,{slots:u.data??[],busySlotId:b?p.variables:null,onPick:v,dayGroupLabel:y.summaryWhen,timeGroupLabel:y.rescheduleNavTitle,rowTestIdPrefix:"televet-reschedule-slot",testID:"televet-reschedule-slots"}):jsxRuntime.jsx("div",{"data-testid":"televet-reschedule-paused",children:jsxRuntime.jsx($,{title:y.bookingPausedTitle})}),jsxRuntime.jsx(_,{label:y.keepExistingCta,kind:"secondary",disabled:b,onPress:()=>n?.(),testID:"televet-reschedule-keep"})]}):jsxRuntime.jsx("div",{role:"progressbar","aria-label":y.loading.consult,"aria-busy":"true",style:{...a.list,...l},"data-testid":"televet-reschedule-loading",children:[0,1].map(h=>jsxRuntime.jsx(ve,{height:48},h))}):jsxRuntime.jsx("div",{style:{...a.stepFill,...l},"data-testid":"televet-reschedule-copy-unapproved"})}o($o,"EverfurTelevetReschedule");function Go(e){let t=e.visitRef?.trim()??"";return t.length>0?Object.freeze({name:"visit",visitRef:t,intent:e.intent??null}):Yo}o(Go,"televetScreenForRequest");var Yo=Object.freeze({name:"home"}),Sp=Object.freeze({name:"visits"}),Ep=Object.freeze({name:"booking"});function Cp(e,t){switch(t.type){case "push":return Object.freeze({stack:Object.freeze([...e.stack,t.screen])});case "pop":return e.stack.length<=1?e:Object.freeze({stack:Object.freeze(e.stack.slice(0,-1))});case "land":return e.stack[0]?.name!=="home"?e:Object.freeze({stack:Object.freeze([t.screen,...e.stack.slice(1)])});default:return e}}o(Cp,"navReducer");function bs(e){let{style:t,renderPending:r,className:n,...i}=yt(e,["onExit","onBooked","onAddPet","onRequestLocation","onFindEmergencyVet"]);return jsxRuntime.jsx(El,{capability:"televet",style:t,...n!==void 0?{className:n}:{},...r?{renderPending:r}:{},children:jsxRuntime.jsx(kp,{...i,...t!==void 0?{style:t}:{}})})}o(bs,"EverfurTelevetFlow");function kp({petRef:e,usState:t,controller:r,onBooked:n,onExit:i,onAddPet:l,onPickMedia:s,onAddToCalendar:a,onConfirmDiscard:d,onRequestLocation:u,locationStatus:p,primaryVet:f,onFindEmergencyVet:m,onTriageReason:c,historyMode:v="memory",canJoinInApp:b=false,renderUnavailable:h,initialScreen:S,headingLevel:E,style:k}){let L=N(),[x,A]=react.useReducer(Cp,S??Yo,V=>Object.freeze({stack:Object.freeze([V])})),z=x.stack[x.stack.length-1]??Yo,H=x.stack.length,X=react.useRef(H),D=H<X.current;react.useEffect(()=>{X.current=H;},[H]);let[G,q]=react.useState(0),ee=react.useCallback(()=>q(V=>V+1),[]),ye=react.useRef(0),he=react.useRef(H);he.current=H,react.useEffect(()=>{if(v!=="browser"||typeof window>"u")return;let V=o(ze=>{let pt=ze.state?.efTelevet;typeof pt=="number"&&pt<he.current&&(ye.current=Math.max(0,ye.current-1),A({type:"pop"}));},"onPopState");return window.addEventListener("popstate",V),()=>window.removeEventListener("popstate",V)},[v]);let Le=react.useCallback(V=>{v==="browser"&&typeof window<"u"&&(ye.current+=1,window.history.pushState({efTelevet:he.current+1},"")),A({type:"push",screen:V});},[v]),O=react.useCallback(()=>{if(v==="browser"&&typeof window<"u"&&ye.current>0){ye.current-=1,window.history.go(-1);return}A({type:"pop"});},[v]),Ge=react.useCallback(()=>h?h():jsxRuntime.jsx("div",{style:L.list,"data-testid":"televet-unavailable",children:Ne()?jsxRuntime.jsx($,{title:y.bookingPausedTitle}):null}),[h,L.list]),Je=react.useCallback(()=>{H>1?O():i?.();},[H,O,i]),Xe=react.useCallback(V=>A({type:"land",screen:V==="visits"?Sp:Ep}),[]),Y=jsxRuntime.jsx(Do,{...e!==void 0?{petRef:e}:{},...t!==void 0?{usState:t}:{},...r?{controller:r}:{},onBooked:V=>{ee(),n?.(V);},onExit:Je,...l?{onAddPet:l}:{},...s?{onPickMedia:s}:{},...a?{onAddToCalendar:a}:{},...d?{onConfirmDiscard:d}:{},...u?{onRequestLocation:u}:{},...p?{locationStatus:p}:{},...f?{primaryVet:f}:{},...m?{onFindEmergencyVet:m}:{},...c?{onTriageReason:c}:{},canJoinInApp:b,renderUnavailable:Ge,...E!==void 0?{headingLevel:E}:{},...k?{style:k}:{}}),xe=jsxRuntime.jsx(Wo,{...r?{controller:r}:{},revision:G,isRoot:H<=1,returnedTo:D,onJoin:(V,ze)=>Le({name:"call",consultId:V.consultId,clinicianName:V.clinicianName,petName:ze}),onReschedule:V=>Le({name:"reschedule",consult:V}),onBook:()=>Le({name:"booking"}),onBack:Je,...k?{style:k}:{}});switch(z.name){case "home":return jsxRuntime.jsx(xp,{controller:r,onLand:Xe,style:k});case "booking":return Y;case "visits":case "visit":return xe;case "reschedule":return jsxRuntime.jsx($o,{consult:z.consult,...r?{controller:r}:{},onRescheduled:()=>{ee(),O();},onCancel:()=>O(),...k?{style:k}:{}});case "call":return jsxRuntime.jsx(jo,{consultId:z.consultId,...r?{controller:r}:{},...z.clinicianName!==void 0?{clinicianName:z.clinicianName}:{},...z.petName!==void 0?{petName:z.petName}:{},onLeave:()=>{ee(),Je();},...k?{style:k}:{}});default:return dr(z)}}o(kp,"TelevetFlowBody");function xp({controller:e,onLand:t,style:r}){let n=N(),i=Se(e),l=ol(i);return react.useEffect(()=>{l!=="pending"&&t(l);},[l,t]),jsxRuntime.jsxs("div",{role:"progressbar","aria-label":I.loading,"aria-busy":"true",style:{...n.screen,...n.list,...r},"data-testid":"televet-landing-loading",children:[jsxRuntime.jsx(ve,{height:72}),jsxRuntime.jsx(ve,{height:72})]})}o(xp,"TelevetLandingScreen");var Jo=bs;var Pp=Object.freeze({escapeAtKeyDown:true});function wp({request:e,onClose:t,onAddToCalendar:r}){let n=w(),i=react.useMemo(()=>Ip(n),[n]),l=react.useMemo(()=>Ba(),[]),s=react.useCallback(()=>{l.dispatch()||t();},[l,t]),{dialogRef:a,onKeyDown:d,onCancel:u}=zr(true,s,void 0,Pp),p=react.useMemo(()=>Go(e),[e]);return jsxRuntime.jsx("dialog",{ref:a,onKeyDown:d,onCancel:u,"aria-label":y.visit.title,"data-testid":"everfur-televet-dialog",style:i,children:jsxRuntime.jsx(To.Provider,{value:l,children:jsxRuntime.jsx(Jo,{...e.petRef!==void 0?{petRef:e.petRef}:{},...e.usState!==void 0?{usState:e.usState}:{},initialScreen:p,onExit:t,...r?{onAddToCalendar:r}:{},canJoinInApp:$r(),historyMode:"memory"})})})}o(wp,"EverfurTelevetDialog");function Ip(e){let{color:t,radius:r,space:n}=e;return {position:"fixed",inset:0,boxSizing:"border-box",width:"100%",maxWidth:640,height:"100%",maxHeight:"100%",margin:"0 auto",padding:`${String(n.lg)}px 0`,border:0,borderRadius:r.lg,display:"flex",flexDirection:"column",overflowY:"auto",backgroundColor:t.surface,color:t.text.primary}}o(Ip,"dialogStyle");exports.BACK_LABEL=_c;exports.CANCELLATION_POLICY_VERSION_MAX=hr;exports.CANCEL_REASON_MAX=Ke;exports.CONSULT_KINDS=Fi;exports.CONSULT_MINUTES=it;exports.CONSULT_STATUSES=Di;exports.EverfurTelevet=Jo;exports.EverfurTelevetBooking=Do;exports.EverfurTelevetDialog=wp;exports.EverfurTelevetFlow=bs;exports.EverfurTelevetReschedule=$o;exports.MEDIA_REFS_MAX=Tr;exports.NO_MEDIA_SHORTFALL=Yt;exports.REASON_TEXT_MAX=$e;exports.TELEVET_BOOKING_BASE=qe;exports.TELEVET_BOOKING_COPY=le;exports.TELEVET_BOOKING_COPY_WEB=y;exports.TELEVET_BOOKING_STEPS=$t;exports.TELEVET_CONSULT_PAGE_LIMIT=Gi;exports.TELEVET_EMERGENCY_EXITS_WEB=mt;exports.TELEVET_JOIN_CLOSES_MINUTES_AFTER=An;exports.TELEVET_JOIN_OPENS_MINUTES_BEFORE=On;exports.TERMINAL_CONSULT_STATUSES=vr;exports.TelevetBookedScreen=ho;exports.TelevetBookingChrome=xo;exports.TelevetCancelVisitForm=Ho;exports.TelevetClinicianEmptyState=_a;exports.TelevetConsentCheckbox=tr;exports.TelevetDayStrip=Po;exports.TelevetEarlyEmergency=Ra;exports.TelevetEmergencyExits=Xt;exports.TelevetEntitlementInterestState=pc;exports.TelevetIntakeMedia=Ro;exports.TelevetJoinScreen=jo;exports.TelevetMediaDropNotice=Qt;exports.TelevetSlotPicker=er;exports.TelevetStateInterestAction=mo;exports.TelevetSummaryCard=Oo;exports.TelevetSummaryRow=ut;exports.TelevetVisitsScreen=Wo;exports.attestation=eo;exports.canConfirm=Kt;exports.canManageTelevetVisit=Nn;exports.createTelevetBookingController=Sn;exports.currentStep=Qn;exports.emptyTelevetDraft=Jl;exports.formatVisitRange=Du;exports.formatWhen=ra;exports.formatWhenWithDay=Ee;exports.hasPreviousStep=Jn;exports.initialTelevetBookingState=Gn;exports.isHoldExpired=Nr;exports.isMediaShortfallEmpty=no;exports.isSkipped=Br;exports.isTelevetBookingCopyReady=Ne;exports.isWellFormedStateCode=_e;exports.mediaShortfallFromUnsentPicks=Dr;exports.parseVetCallCredential=fn;exports.splitTelevetVisits=Vt;exports.televetBookingKey=Zn;exports.televetBookingReducer=Xn;exports.televetBookingRefusal=Ue;exports.televetCancelCall=Yi;exports.televetConsultCalendarKey=Aa;exports.televetConsultCall=Er;exports.televetDaysFromSlots=Ur;exports.televetEmptyRosterCause=ro;exports.televetEmptyRosterView=to;exports.televetHoldCall=$i;exports.televetJoinCall=qi;exports.televetJoinDecision=Ln;exports.televetJoinOpensAtMs=Bn;exports.televetMediaShortfallLines=oo;exports.televetRescheduleCall=Ki;exports.televetScreenForRequest=Go;exports.useEarlyTriage=co;exports.useStateInterest=po;exports.useTelevetBookConsult=wn;exports.useTelevetBookingAvailable=Wd;exports.useTelevetBookingController=Se;exports.useTelevetBookingEntitlement=xn;exports.useTelevetCancellationPolicy=Mt;exports.useTelevetClinicians=Rn;exports.useTelevetHoldSlot=zt;exports.useTelevetJoin=Mo;exports.useTelevetNextSlot=_n;exports.useTelevetRescheduleConsult=In;exports.useTelevetSlots=jt;exports.useTelevetStatePolicy=kn;exports.validateBookingBody=Ji;exports.vetCallJoinReason=yn;exports.vetCallJoinRefusal=mn;exports.withUnsentPicks=ju;
1
+ 'use strict';var react=require('react'),zod=require('zod'),jsxRuntime=require('react/jsx-runtime');var ju=Object.defineProperty;var o=(e,t)=>ju(e,"name",{value:t,configurable:true});function ir(e){throw new Error(`assertNever: unhandled discriminated-union member ${JSON.stringify(e)}`)}o(ir,"assertNever");function $l(e){return Object.freeze({kind:"error",terminal:true,code:e.code,retryable:e.retryable,wireMessage:e.wireMessage,synthesized:e.synthesized,lastEventId:e.lastEventId,serverRequestId:e.serverRequestId??null})}o($l,"errorFrame");function to(e){let t=globalThis.console;try{t?.error?.("[everfur] A host callback threw; the SDK ignored it.",e);}catch{}}o(to,"reportHostFailure");function Uu(e){return (typeof e=="object"||typeof e=="function")&&e!==null&&typeof e.then=="function"}o(Uu,"isThenable");function lr(e,...t){if(typeof e=="function")try{let n=e(...t);return Uu(n)&&Promise.resolve(n).then(void 0,to),n}catch(n){to(n);return}}o(lr,"callHost");var Kl=new WeakMap;function $u(e){if(typeof e!="function")return;let t=Kl.get(e);if(t!==void 0)return t;let n=o((...r)=>{lr(e,...r);},"guarded");return Kl.set(e,n),n}o($u,"guardHost");function Kt(e,t){let n=null;for(let r of t){let i=e[r];typeof i=="function"&&(n??={...e},n[r]=$u(i));}return n??e}o(Kt,"guardHostProps");function ar(e,...t){let n;try{n=e(...t);}catch(r){return to(r),Promise.resolve({ok:false,error:r})}return Promise.resolve(n).then(r=>({ok:true,value:r}),r=>({ok:false,error:r}))}o(ar,"callHostAsync");var g=o(e=>e,"DRAFT"),Ku=["[PLACEHOLDER","[PLAN NAME]","[LINK]","[Last]","TODO","TBD"];function qu(e){return Ku.some(t=>e.toUpperCase().includes(t.toUpperCase()))}o(qu,"isPlaceholderCopy");function H(e,t){let n=e;for(let[r,i]of Object.entries(t))n=n.split(`{${r}}`).join(i);return n}o(H,"fill");var Q=Object.freeze({stateBlockedTitle:g("Not available in this state yet"),noCliniciansTitle:g("No vets available right now"),noCliniciansBody:g("Nobody is free in your area at the moment. This changes through the day."),noCliniciansRetryCta:g("Check again"),noCliniciansRegionBody:g("Video visits have to be with a vet licensed in your state, and we don\u2019t have one there yet."),yourVetTitle:g("Your vet"),licensedPillTemplate:g("Licensed in {state}"),reviewsLabel:g("reviews"),rescheduleFromTemplate:g("Moving your visit on {when}"),rescheduleFailed:g("That did not move. Your original time is unchanged."),rescheduleStepLabel:g("Reschedule"),rescheduleTitleTemplate:g("Pick a new time for {pet}"),rescheduleNowLabel:g("Now"),rescheduleMoveTemplate:g("Move to {when}"),rescheduleMoving:g("Moving\u2026"),rescheduleKeepLabel:g("Keep the visit as it is"),keepExistingCta:g("Keep my current time"),bookingPausedTitle:g("Booking is not available right now."),slotsErrorTitle:g("Could not load times"),noSlotsTitle:g("No times available"),nextOpeningTemplate:g("Next opening across our vets: {when}"),seeOtherVetsCta:g("See other vets"),retryCta:g("Try again"),holdExpired:g("That time is no longer held. Pick another."),slotTaken:g("That time was just taken. Pick another."),reasonPlaceholder:g("What is going on with your pet?"),reasonTooLong:g("That is too long. Please shorten it."),shareRecordsOff:g("Share health records with this vet"),confirmNotEntitled:g("A Pro membership is needed to book a video visit."),confirmFailed:g("That did not book. Try again."),checkAvailabilityCta:g("Check availability"),stateInterest:Object.freeze({cta:g("Add me to the list"),submitting:g("Adding you to the list\u2026"),joinedTitle:g("You are on the list"),joinedBody:g("We will let you know when this changes."),failed:g("That did not save. Try again.")}),media:Object.freeze({droppedTemplate:g("{n} attachment did not upload."),droppedPluralTemplate:g("{n} attachments did not upload."),refusedSizeTemplate:g("{n} attachment was too large to send."),refusedSizePluralTemplate:g("{n} attachments were too large to send."),refusedTypeTemplate:g("{n} attachment is a file type that cannot be sent."),refusedTypePluralTemplate:g("{n} attachments are file types that cannot be sent."),refusedUnreadableTemplate:g("{n} attachment could not be read."),refusedUnreadablePluralTemplate:g("{n} attachments could not be read.")}),navTitle:g("Book a visit"),petFallback:"your pet",whereTitleTemplate:g("Where will {pet} be during the visit?"),whereLeadTemplate:g("Pick where {pronoun} be for the call, not where you live. It decides what the vet can do."),wherePronounFallback:"they\u2019ll",whereFormLabelTemplate:g("Where {pet} will be"),whereLegend:g("State"),wherePrescribeMetaTemplate:g("Video visit, and prescriptions if {pet} needs them"),whereWellnessMeta:g("Wellness visit: advice and a care plan, no prescriptions yet"),whereAnotherState:g("Another state"),whereWhichState:g("Which state?"),whereLicensedTemplate:g("{vet} is licensed in {state}, so a prescription can be part of {pet}\u2019s plan."),whereAskEveryTime:g("We ask every time: state rules require it."),issuesTitleTemplate:g("What\u2019s going on with {pet}?"),issuesHint:g("Pick as many as you like."),issuesFormLabel:g("What\u2019s going on"),issuesLegend:g("Main issues"),issuesPickOne:g("Pick at least one. Not sure? Choose Something else."),otherIssue:g("Something else"),describeHeadingTemplate:g("Tell {vet} what you\u2019re seeing"),describeFieldLabel:g("What you\u2019re seeing"),emergencyCheck:Object.freeze({titleTemplate:g("Is {pet} doing any of these right now?"),lead:g("A scheduled video visit isn\u2019t the right place for an emergency."),signs:Object.freeze([g("Trouble breathing, or blue, grey or very pale gums"),g("Collapsed, or can\u2019t stand up"),g("A seizure"),g("Ate something toxic, like grapes, chocolate, xylitol or medicine"),g("A swollen, hard belly, or retching with nothing coming up"),g("Bleeding that won\u2019t stop"),g("Straining to pee with nothing coming out")]),formLabel:g("Emergency check"),legend:g("Any of these now?"),noneCta:g("No, none of these"),someCta:g("Yes, at least one")}),timeHeading:g("Pick a time"),timeMorning:g("Morning"),timeAfternoon:g("Afternoon"),timeEvening:g("Evening"),timeLegendTemplate:g("Time on {day}"),dayLegend:g("Day"),reviewHeading:g("Does this look right?"),summaryWhere:g("Where"),changeCta:g("Change"),whereAttestTemplate:g("{pet} and I will be in {state} during the visit."),attestBoth:g("Check both boxes to book the visit."),bookedStepLabel:g("Booked"),bookedTitleTemplate:g("You\u2019re booked with {vet}"),bookedLeadTemplate:g("{when}, for {pet}."),footnote:g("Video visits are with a licensed veterinarian. Prescriptions where allowed, starting with California. In an emergency, go to the nearest emergency animal hospital."),rescheduleNavTitle:g("Change your visit"),close:g("Close"),continueCta:g("Continue"),petSelectTitle:g("Who is this visit for?"),addPetCta:g("Add a pet"),addAnotherPetCta:g("Add another pet"),locationUnknownTitle:g("We need your location to find a vet"),locationUnknownBody:g("Turn on location for Everfur, then try again."),locationUnknownCta:g("Allow location"),locationBlockedTitle:g("Location is turned off"),locationBlockedBody:g("Everfur needs your location to match you with a vet in your area."),locationBlockedCta:g("Open Settings"),locationUnavailableTitle:g("We could not read your location"),locationUnavailableBody:g("Try again in a moment."),stateAttestTemplate:g("I confirm my pet and I are in {state} right now."),describeHeading:g("Tell the vet what you are seeing"),describeHelpLong:g("When it started, what\u2019s changed, what you\u2019ve tried. Anything helps."),addPhotoCta:g("Add photos or videos"),addPhotoMeta:g("Optional. A close-up in good light helps."),removePhotoLabel:g("Remove photo"),summaryPet:g("Pet"),summaryVet:g("Vet"),summaryWhen:g("When"),summaryLength:g("Length"),summaryReason:g("About"),summaryLengthTemplate:g("{n} minutes"),confirmCta:g("Book the visit"),confirmBusy:g("Booking\u2026"),bookedTitle:g("You are booked."),addToCalendarCta:g("Add to calendar"),doneCta:g("Done"),booked:Object.freeze({remindPromise:g("We will notify you 30 minutes before."),summaryPromise:g("{pet}'s summary goes to the vet ahead of the call."),recordsPromiseTemplate:g("{pet}\u2019s records and your notes go to {vet} ahead of the call."),recordsPhotoPromiseTemplate:g("{pet}\u2019s records, your notes and the photo go to {vet} ahead of the call."),stepsLabel:g("What happens next"),joinPromise:g("Join right here in the app. No links to hunt for."),backToPet:g("Back to {pet}"),calendarAdded:g("Added to your calendar"),calendarFailedBody:g("That did not save to your calendar.")}),chrome:Object.freeze({closeHint:g("Closes without saving"),discardTitle:g("Leave without booking?"),discardBody:g("Your answers will not be saved."),discardConfirmCta:g("Leave"),discardKeepCta:g("Keep going"),noPetsTitle:g("No pets on this account"),loadFailedTitle:g("Could not load"),retryCta:g("Try again")}),emergency:Object.freeze({bannerTitle:g("This can\u2019t wait for a scheduled visit."),keepBookingCta:g("I\u2019ve handled this, continue booking"),lede:g("What you\u2019re describing is the kind of thing vets want to see in person, now. Call one of these first."),ledeWithoutExits:g("What you\u2019re describing is the kind of thing vets want to see in person, now."),exitPrimaryVetTitle:g("Call {petName}\u2019s regular vet"),exitFindErTitle:g("Find an emergency vet near you"),startCallHint:g("Starts a phone call"),poisonControl:g("ASPCA Animal Poison Control"),poisonControlDetail:g("(888) 426-4435 \xB7 a fee may apply"),poisonControlTel:"tel:+18884264435"}),visit:Object.freeze({title:g("Your visit")}),loading:Object.freeze({pets:"Loading pets. Nothing to read yet.",clinicians:"Loading vets. Nothing to read yet.",slots:"Loading times. Nothing to read yet.",consult:"Loading your visit. Nothing to read yet.",progressTemplate:"Step {step} of {total}"})});function ql(e=Q){return typeof e=="string"?[e]:typeof e!="object"||e===null?[]:Object.values(e).flatMap(t=>ql(t))}o(ql,"televetBookingCopyValues");function at(){return ql().every(e=>e.trim().length>0&&!qu(e))}o(at,"isTelevetBookingCopyReady");var qt=Object.freeze({findEmergencyVet:Q.emergency.exitFindErTitle,poisonControl:Q.emergency.poisonControl,poisonControlDetail:Q.emergency.poisonControlDetail,poisonControlTel:Q.emergency.poisonControlTel}),m=Object.freeze({...Q,close:"Close booking",reasonPlaceholder:"She's been scratching her left ear a lot this week...",backLabel:"Back"});var no=Object.freeze([Object.freeze({wireCode:"AccessDeniedException",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"AuthorizationException",envelope:"http_envelope",httpStatus:401,retryable:false}),Object.freeze({wireCode:"ConflictException",envelope:"http_envelope",httpStatus:409,retryable:true}),Object.freeze({wireCode:"DAILY_QUOTA_EXCEEDED",envelope:"http_envelope",httpStatus:429,retryable:true}),Object.freeze({wireCode:"FILE_TOO_LARGE",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"IDEMPOTENCY_KEY_IN_FLIGHT",envelope:"http_envelope",httpStatus:409,retryable:true}),Object.freeze({wireCode:"IDEMPOTENCY_KEY_REUSED_DIFFERENT_REQUEST",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"INVALID_CONTENT_TYPE",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"InternalFailureException",envelope:"http_envelope",httpStatus:500,retryable:true}),Object.freeze({wireCode:"MethodNotAllowedException",envelope:"http_envelope",httpStatus:405,retryable:false}),Object.freeze({wireCode:"NotImplementedException",envelope:"http_envelope",httpStatus:501,retryable:false}),Object.freeze({wireCode:"PaymentRequiredException",envelope:"http_envelope",httpStatus:402,retryable:false}),Object.freeze({wireCode:"ResourceNotFoundException",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"ServiceUnavailableException",envelope:"http_envelope",httpStatus:503,retryable:true}),Object.freeze({wireCode:"TIER_UPGRADE_REQUIRED",envelope:"http_envelope",httpStatus:402,retryable:false}),Object.freeze({wireCode:"ThrottlingException",envelope:"http_envelope",httpStatus:429,retryable:true}),Object.freeze({wireCode:"ValidationException",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"accessDenied",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"access_denied",envelope:"oauth_error",httpStatus:302,retryable:false}),Object.freeze({wireCode:"attachment_unreadable",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"authExpired",envelope:"http_envelope",httpStatus:401,retryable:true}),Object.freeze({wireCode:"authRejected",envelope:"http_envelope",httpStatus:401,retryable:false}),Object.freeze({wireCode:"consent_invalid",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"consent_required",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"consent_scope_wrong_route",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"device_cipher_unavailable",envelope:"http_envelope",httpStatus:503,retryable:true}),Object.freeze({wireCode:"email_invalid",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"event_cursor_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"event_filter_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"event_payload_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"event_type_not_available",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"event_type_unknown",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"idempotency_key_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"idempotency_key_required",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"idempotency_key_reused",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"insufficientCapability",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"insufficient_scope",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"internal_error",envelope:"sse_frame",httpStatus:200,retryable:false}),Object.freeze({wireCode:"invalidRequest",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_client",envelope:"oauth_error",httpStatus:401,retryable:false}),Object.freeze({wireCode:"invalid_client_metadata",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_grant",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_redirect_uri",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_request",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_scope",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_target",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"mcp_connection_not_found",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"mcp_request_conflict",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"mcp_request_gone",envelope:"http_envelope",httpStatus:410,retryable:false}),Object.freeze({wireCode:"mcp_request_not_found",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"not_found",envelope:"sse_frame",httpStatus:200,retryable:false}),Object.freeze({wireCode:"partner_visit_link_conflict",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"partner_visit_owner_only",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"partner_visit_pet_already_mapped",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"payload_too_large",envelope:"http_envelope",httpStatus:413,retryable:false}),Object.freeze({wireCode:"petRefInUse",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"pet_health_list_removals_unconfirmed",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"pet_health_species_unsupported",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"pet_not_registered",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"provider_unsupported",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"rateLimited",envelope:"http_envelope",httpStatus:429,retryable:true}),Object.freeze({wireCode:"record_species_unsupported",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"record_subject_not_found",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"record_upload_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"records_consent_required",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"sandbox_only",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"session_required",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"share_limit_reached",envelope:"http_envelope",httpStatus:429,retryable:false}),Object.freeze({wireCode:"slow_down",envelope:"oauth_error",httpStatus:429,retryable:true}),Object.freeze({wireCode:"species_unsupported",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"tenant_filter_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"tenant_has_no_capabilities",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"tenant_resource_not_found",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"tenant_surface_not_enabled",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"timeout",envelope:"sse_frame",httpStatus:200,retryable:true}),Object.freeze({wireCode:"token_invalid",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"unavailable",envelope:"sse_frame",httpStatus:200,retryable:true}),Object.freeze({wireCode:"unavailable",envelope:"http_envelope",httpStatus:503,retryable:true}),Object.freeze({wireCode:"unsupported_grant_type",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"unsupported_response_type",envelope:"oauth_error",httpStatus:302,retryable:false}),Object.freeze({wireCode:"verify_mint_rate_limited",envelope:"http_envelope",httpStatus:429,retryable:true}),Object.freeze({wireCode:"verify_mint_refused",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"verify_mint_unavailable",envelope:"http_envelope",httpStatus:503,retryable:true}),Object.freeze({wireCode:"verify_user_ref_invalid",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"webhook_endpoint_update_empty",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"webhook_endpoint_update_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"webhook_url_rejected",envelope:"http_envelope",httpStatus:400,retryable:false})]);Object.freeze(no.map(e=>e.wireCode));var Gu=Object.freeze({ValidationException:"validationFailed",AuthorizationException:"authRejected",PaymentRequiredException:"paymentRequired",AccessDeniedException:"accessDenied",ResourceNotFoundException:"resourceNotFound",ConflictException:"conflict",ThrottlingException:"rateLimited",InternalFailureException:"internalError",NotImplementedException:"notImplemented",ServiceUnavailableException:"serviceUnavailable",MethodNotAllowedException:"validationFailed",authExpired:"authExpired",unavailable:"serviceUnavailable",session_required:"sessionRequired",accessDenied:"accessDenied",invalidRequest:"sdkUpdateRequired",authRejected:"authRejected",rateLimited:"rateLimited",insufficientCapability:"accessDenied",event_cursor_invalid:"validationFailed",event_filter_invalid:"validationFailed",event_payload_invalid:"validationFailed",event_type_unknown:"validationFailed",idempotency_key_invalid:"validationFailed",idempotency_key_required:"validationFailed",idempotency_key_reused:"idempotencyConflict",payload_too_large:"validationFailed",webhook_url_rejected:"validationFailed",webhook_endpoint_update_empty:"validationFailed",webhook_endpoint_update_invalid:"validationFailed",event_type_not_available:"conflict",record_subject_not_found:"resourceNotFound",records_consent_required:"conflict",record_species_unsupported:"validationFailed",record_upload_invalid:"validationFailed",FILE_TOO_LARGE:"validationFailed",INVALID_CONTENT_TYPE:"validationFailed",attachment_unreadable:"validationFailed",provider_unsupported:"validationFailed",token_invalid:"validationFailed",device_cipher_unavailable:"serviceUnavailable",email_invalid:"validationFailed",consent_required:"validationFailed",consent_invalid:"validationFailed",consent_scope_wrong_route:"validationFailed",IDEMPOTENCY_KEY_IN_FLIGHT:"idempotencyInFlight",IDEMPOTENCY_KEY_REUSED_DIFFERENT_REQUEST:"idempotencyConflict",DAILY_QUOTA_EXCEEDED:"quotaExceeded",TIER_UPGRADE_REQUIRED:"paymentRequired",not_found:"conversationNotFound",timeout:"streamTimeout",internal_error:"internalError",invalid_request:"validationFailed",invalid_client:"authRejected",invalid_grant:"authRejected",unsupported_grant_type:"validationFailed",invalid_scope:"validationFailed",invalid_target:"validationFailed",invalid_redirect_uri:"validationFailed",invalid_client_metadata:"validationFailed",unsupported_response_type:"validationFailed",access_denied:"accessDenied",slow_down:"rateLimited",mcp_request_not_found:"resourceNotFound",mcp_request_gone:"resourceNotFound",mcp_connection_not_found:"resourceNotFound",mcp_request_conflict:"conflict",sandbox_only:"accessDenied",tenant_has_no_capabilities:"conflict",verify_mint_refused:"accessDenied",verify_mint_rate_limited:"rateLimited",verify_mint_unavailable:"serviceUnavailable",verify_user_ref_invalid:"validationFailed",insufficient_scope:"accessDenied",tenant_filter_invalid:"validationFailed",tenant_resource_not_found:"resourceNotFound",tenant_surface_not_enabled:"conflict",pet_health_species_unsupported:"validationFailed",pet_health_list_removals_unconfirmed:"validationFailed",petRefInUse:"conflict",share_limit_reached:"conflict",pet_not_registered:"resourceNotFound",species_unsupported:"validationFailed",partner_visit_owner_only:"accessDenied",partner_visit_link_conflict:"conflict",partner_visit_pet_already_mapped:"conflict"}),Gl=Object.freeze(no.map(e=>Object.freeze({wireCode:e.wireCode,envelope:e.envelope,retryable:e.retryable,normalized:Gu[e.wireCode]}))),Ju=new Map(Gl.map(e=>[e.envelope+e.wireCode.toUpperCase(),e])),Xu=Object.freeze(["http_envelope",...[...new Set(Gl.map(e=>e.envelope))].filter(e=>e!=="http_envelope").sort()]);function sr(e,t){if(typeof e!="string")return;let n=e.trim().toUpperCase();if(n.length!==0)for(let r of [t??"http_envelope",...Xu]){let i=Ju.get(r+n);if(i)return i}}o(sr,"contractErrorFor");function Qu(e){return e.envelope==="sse_frame"?`/errors#sse-${e.wireCode}`:e.envelope==="oauth_error"?`/errors#oauth-${e.wireCode}`:`/errors#${e.wireCode}`}o(Qu,"contractDocUrl");function Jl(e){return null}o(Jl,"publishedDocUrl");var Zu=Object.freeze({authExpired:"authentication",authRejected:"authentication",sessionRequired:"authentication",accessDenied:"authorization",paymentRequired:"entitlement",quotaExceeded:"rateLimit",rateLimited:"rateLimit",validationFailed:"invalidRequest",sdkUpdateRequired:"invalidRequest",conversationNotFound:"notFound",petNotFound:"notFound",resourceNotFound:"notFound",conflict:"conflict",idempotencyConflict:"conflict",idempotencyInFlight:"conflict",streamTimeout:"connection",streamIncomplete:"connection",upstreamLlmTimeout:"connection",serviceUnavailable:"connection",internalError:"server",notImplemented:"server",mediaUploadFailed:"media",moderationBlocked:"policy",unknown:"unknown"});function Xl(e){return Zu[e]}o(Xl,"categoryFor");function Ql(e){let t=sr(e);if(t)return t.normalized;let n=(e??"").trim().toUpperCase(),r=n.replace(/[^A-Z0-9]/g,"");if(r==="AUTHREJECTED")return "authRejected";if(n.startsWith("AUTH"))return "authExpired";switch(r){case "DAILYQUOTAEXCEEDED":case "QUOTAEXCEEDED":return "quotaExceeded";case "RATELIMITED":case "TOOMANYREQUESTS":case "TELEVETRATELIMITED":return "rateLimited";case "IDEMPOTENCYKEYCONFLICT":case "IDEMPOTENCYCONFLICT":return "idempotencyConflict";case "ACCESSDENIED":case "FORBIDDEN":return "accessDenied";case "NOTFOUND":case "CONVERSATIONNOTFOUND":return "conversationNotFound";case "PETNOTFOUND":return "petNotFound";case "TIMEOUT":case "STREAMTIMEOUT":return "streamTimeout";case "MEDIAUPLOADFAILED":case "UNRECOGNIZEDVIDEOFORMAT":case "FILETOOSMALL":return "mediaUploadFailed";case "MODERATIONBLOCKED":return "moderationBlocked";case "UPSTREAMLLMTIMEOUT":return "upstreamLlmTimeout";case "INTERNALERROR":case "INTERNALSERVERERROR":return "internalError";case "STREAMINCOMPLETE":case "CHATSTREAMINCOMPLETE":return "streamIncomplete";case "INVALIDANALYSISTYPE":case "INVALIDUPLOADPURPOSE":return "unknown";default:return "unknown"}}o(Ql,"fromWire");var ec=new Set(["streamTimeout","rateLimited","internalError","upstreamLlmTimeout","streamIncomplete"]);function ro(e){return ec.has(e)}o(ro,"isAutoRetryable");var tc=new Set(["serviceUnavailable","conflict","idempotencyInFlight"]);function Zl(e){return ro(e)||tc.has(e)}o(Zl,"isRetryableCode");var nc=500,oo=8e3,ea=4;function ta(e,t=Math.random){let n=Math.max(0,e),r=Math.min(nc*2**n,oo);return Math.floor(t()*r)}o(ta,"backoffDelayMs");var rc=Object.freeze({authExpired:"Please sign in again to continue.",authRejected:"Please sign in again to continue.",sessionRequired:"This app needs to be updated to keep using Everfur.",accessDenied:"This feature isn't available on your account right now.",paymentRequired:"This is part of a paid plan.",quotaExceeded:"You have used today's messages. This resets tomorrow.",rateLimited:"You are sending messages quickly. Try again in a few seconds.",validationFailed:"Something in that request was not right. Check the details and try again.",sdkUpdateRequired:"This app needs to be updated to keep using Everfur.",conflict:"That is already running. Wait for it to finish, then try again.",idempotencyConflict:"That message was already delivered.",idempotencyInFlight:"That is still processing. Give it a moment.",conversationNotFound:"This conversation is no longer available.",petNotFound:"We could not find that pet. Please pick a pet and try again.",resourceNotFound:"We could not find that.",streamTimeout:"The response timed out. Tap retry to try again.",mediaUploadFailed:"We could not upload that photo. Please attach it again.",moderationBlocked:"This request cannot be answered here.",upstreamLlmTimeout:"The response timed out. Tap retry to try again.",internalError:"We hit a snag on our end. Please try again.",notImplemented:"That is not available yet.",serviceUnavailable:"That service is briefly unavailable. Try again shortly.",streamIncomplete:"The connection dropped mid-answer. Tap retry to continue.",unknown:"Something went wrong. Please try again."});function io(e){return rc[e]}o(io,"userFacingError");function na(e,t,n){Object.defineProperty(e,t,{value:n,enumerable:false,writable:false,configurable:false});}o(na,"defineHidden");var oc=/^[a-z][a-z0-9_]{0,63}$/;function pe(e,t){let n=sr(t?.wireCode,t?.wireEnvelope),r={code:e,category:Xl(e),retryable:t?.retryable??Zl(e),displayMessage:io(e)};if(t?.httpStatus!==void 0&&(r.httpStatus=t.httpStatus),t?.requestId&&(r.requestId=t.requestId),typeof t?.reasonCode=="string"&&oc.test(t.reasonCode)&&(r.reasonCode=t.reasonCode),n);return t?.wireMessage&&na(r,"wireMessage",t.wireMessage),t?.raw!==void 0&&t.raw!==null&&na(r,"raw",t.raw),Object.freeze(r)}o(pe,"makeEverfurError");function W(e,t){return Object.freeze(t===void 0?{ok:true,value:e}:{ok:true,value:e,warning:t})}o(W,"ok");function N(e){return Object.freeze({ok:false,error:e})}o(N,"err");var dr=class dr extends Error{constructor(t,n){super(n),this.name="EverfurConfigError",this.kind=t,Object.setPrototypeOf(this,dr.prototype);}};o(dr,"EverfurConfigError");var bn=dr;function ic(e){let t={};return e.mode==="personalized"?t.authorization=`Bearer ${e.token}`:t["x-everfur-partner-key"]=e.publishableKey,e.userRef&&(t["x-everfur-user-ref"]=e.userRef),e.sessionId&&(t["x-everfur-session-id"]=e.sessionId),t}o(ic,"authHeaders");function hn(e,t){return {...e,headers:{...lc(e.headers),...ic(t)}}}o(hn,"withAuthHeaders");function lc(e){if(!e)return {};let t={};for(let[n,r]of Object.entries(e)){let i=n.toLowerCase();i==="authorization"||i==="x-everfur-partner-key"||(t[n]=r);}return t}o(lc,"stripAuthHeaders");async function ra(e,t){if(t.mode==="anonymous")return t.transport.request(hn(e,{mode:"anonymous",publishableKey:t.publishableKey,userRef:t.userRef,...t.sessionId?{sessionId:t.sessionId}:{}}));let n;try{n=await t.identity.currentToken();}catch{return N(lo())}let r=await t.transport.request(hn(e,{mode:"personalized",token:n,userRef:t.userRef,...t.sessionId?{sessionId:t.sessionId}:{}}));if(r.ok||r.error.httpStatus!==401)return r;let i;try{i=await t.identity.currentToken({forceRefresh:!0});}catch{return N(lo())}let l=await t.transport.request(hn(e,{mode:"personalized",token:i,userRef:t.userRef,...t.sessionId?{sessionId:t.sessionId}:{}}));return !l.ok&&l.error.httpStatus===401?N(lo(l.error.httpStatus)):l}o(ra,"authedSend");function lo(e){return pe("authRejected",{retryable:false,...e!==void 0?{httpStatus:e}:{}})}o(lo,"authRejectedError");function oa(e){return pe("internalError",{retryable:true,wireMessage:ac(e)})}o(oa,"networkError");function ac(e){return e instanceof Error?e.message:typeof e=="string"?e:"network request failed"}o(ac,"describeCause");var ao=3e4,sc=oo*2,dc="idempotency-key",uc=new Set(["POST","PUT","PATCH","DELETE"]),cc=Object.freeze({onEvent(){}}),pc=Object.freeze({setTimeout:o((e,t)=>setTimeout(e,t),"setTimeout"),clearTimeout:o(e=>clearTimeout(e),"clearTimeout"),now:o(()=>Date.now(),"now")});function fc(e){let t=e.trim().replace(/[^A-Za-z0-9_.:-]/g,"-");return t.length===0?null:`efs_${t}`.slice(0,128)}o(fc,"seededIdempotencyKey");function Ot(e){let t=e.observer??cc,n=e.timers??pc,r=e.rng??Math.random,i=e.sleep??((p,c)=>Pc(p,n,c)),l=e.maxAttempts??ea,s=e.unaryTimeoutMs??ao,a=e.newIdempotencyKey??so(),d=o(p=>{try{t.onEvent(p);}catch{}},"emit");async function u(p,c,v){let b=v?.maxAttempts,C=Math.max(1,b??l),E=v?.idempotent??uc.has(c.method),h=v?.idempotencyKey===void 0?null:fc(v.idempotencyKey),S=E?h??a():null,w=mc(c,S),R=0;for(;;){let x=o(j=>Object.freeze({call:p,method:c.method,path:c.path,attempt:R,...S?{idempotencyKey:S}:{},...j}),"stamp");d(x({phase:"attempt"}));let T=kc(s,n),I=xc(T.signal,c.signal),_;try{_=await ra({...w,signal:I.signal},e.auth);}catch(j){_=N(oa(j));}finally{I.dispose(),T.cancel();}if(_.ok)return d(x({phase:"settled",ok:true,reason:"ok"})),_;let P=_.error,A=gc(P,R,{maxAttempts:C,rng:r,now:n.now(),aborted:c.signal?.aborted===true,...b!==void 0?{perCallMaxAttempts:b}:{},...e.errorPolicy!==void 0?{policy:e.errorPolicy}:{}}),V={ok:false,code:P.code,reason:A.reason,...P.httpStatus!==void 0?{httpStatus:P.httpStatus}:{},...P.requestId!==void 0?{requestId:P.requestId}:{}};if(!A.retry)return d(x({phase:"settled",...V})),N(P);if(d(x({phase:"retry",...V,delayMs:A.delayMs})),await i(A.delayMs,c.signal),c.signal?.aborted===true)return d(x({phase:"settled",...V,reason:"aborted"})),N(P);R+=1;}}o(u,"send");async function f(p){return hn(p,await Ec(e.auth))}o(f,"authorize");async function*y(p,c,v){d(Object.freeze({call:p,phase:"stream.open",method:c.method,path:c.path,attempt:0}));try{yield*e.auth.transport.stream(c,v);}catch{yield $l({code:"internal_error",retryable:true,wireMessage:null,synthesized:true,lastEventId:null,serverRequestId:null});}}return o(y,"stream"),Object.freeze({send:u,authorize:f,stream:y})}o(Ot,"createRequestFunnel");function mc(e,t){let n={};for(let[r,i]of Object.entries(e.headers??{}))r.toLowerCase()!==dc&&(n[r]=i);return t!==null&&(n["Idempotency-Key"]=t),{...e,headers:n}}o(mc,"assembleHeaders");function so(){let e=0;return ()=>`efk_${Date.now().toString(36)}_${(e++).toString(36)}_${Math.random().toString(36).slice(2,12)}`}o(so,"defaultIdempotencyKeyFactory");var yc=10;function gc(e,t,n){if(n.aborted)return {retry:false,reason:"aborted"};let r=vc(e);if(r==="quota")return {retry:false,reason:"daily-quota-exhausted"};if(r!=="burst"&&!ro(e.code))return {retry:false,reason:"terminal-code"};let i=r==="burst"?"burst-throttle":"retryable-code";if(o(()=>{if(n.policy===void 0)return false;try{return !n.policy.shouldRetry(e.code,t)}catch{return false}},"policyVetoedRetry")())return {retry:false,reason:"terminal-code"};let s=o(()=>{if(n.policy===void 0)return null;let u;try{u=n.policy.maxAttempts(e.code);}catch{return null}return typeof u!="number"||!Number.isFinite(u)?null:Math.max(1,Math.min(yc,Math.floor(u)))},"policyCeiling"),a=n.perCallMaxAttempts??s()??n.maxAttempts;if(t+1>=a)return {retry:false,reason:"attempts-exhausted"};let d=bc(e,n.now);return d!==null?d>sc?{retry:false,reason:"server-reset-beyond-budget"}:{retry:true,reason:i,delayMs:d}:{retry:true,reason:i,delayMs:ta(t,n.rng)}}o(gc,"decideRetry");function vc(e){let t=e.code==="unknown"?Ql(Cc(e.raw)):e.code;return t==="quotaExceeded"?"quota":t==="rateLimited"||e.httpStatus===429?"burst":null}o(vc,"throttleKind");function bc(e,t){let n=Tc(e.raw);if(n!==null){let i=n-t;return i>0?i:0}let r=hc(e.raw);return r===null?null:Math.round(r*1e3)}o(bc,"retryOverrideMs");function hc(e){for(let t of uo(e)){let n=t.retry_after_seconds;if(typeof n=="number"&&Number.isFinite(n)&&n>=0)return n}return null}o(hc,"findRetryAfterSeconds");function Tc(e){for(let t of uo(e)){let n=t.resets_at,r=Sc(n);if(r!==null)return r}return null}o(Tc,"findResetsAt");function uo(e){if(!ia(e))return [];let t=[e];for(let n of ["error","detail"]){let r=e[n];ia(r)&&t.push(r);}return t}o(uo,"candidateScopes");function Sc(e){if(typeof e=="number"&&Number.isFinite(e))return e<1e11?Math.round(e*1e3):Math.round(e);if(typeof e=="string"&&e.trim().length>0){let t=Date.parse(e);return Number.isFinite(t)?t:null}return null}o(Sc,"parseInstantMs");function Cc(e){for(let t of uo(e)){let n=t.code;if(typeof n=="string"&&n.length>0)return n}return null}o(Cc,"rawWireCode");function ia(e){return typeof e=="object"&&e!==null}o(ia,"isRecord");async function Ec(e){return e.mode==="anonymous"?{mode:"anonymous",publishableKey:e.publishableKey,userRef:e.userRef,...e.sessionId?{sessionId:e.sessionId}:{}}:{mode:"personalized",token:await e.identity.currentToken(),userRef:e.userRef,...e.sessionId?{sessionId:e.sessionId}:{}}}o(Ec,"resolveDeviceAuth");function kc(e,t){let n=new AbortController,r=t.setTimeout(()=>n.abort(),e);return {signal:n.signal,cancel:o(()=>t.clearTimeout(r),"cancel")}}o(kc,"boundedSignal");function xc(e,t){let n=o(()=>{},"noop");if(!t)return {signal:e,dispose:n};let r=new AbortController;if(e.aborted||t.aborted)return r.abort(),{signal:r.signal,dispose:n};let i=o(()=>r.abort(),"onAbort");return e.addEventListener("abort",i,{once:true}),t.addEventListener("abort",i,{once:true}),{signal:r.signal,dispose:o(()=>{e.removeEventListener("abort",i),t.removeEventListener("abort",i);},"dispose")}}o(xc,"mergeSignals");function Pc(e,t,n){return e<=0||n?.aborted===true?Promise.resolve():new Promise(r=>{let i=t.setTimeout(()=>{n?.removeEventListener("abort",l),r();},e),l=o(()=>{t.clearTimeout(i),r();},"onAbort");n?.addEventListener("abort",l,{once:true});})}o(Pc,"delayAbortable");var Rc=Object.freeze(["image/jpeg","image/png","image/webp","image/heic","image/heif","application/pdf","text/csv","video/mp4","video/quicktime"]),la=25*1024*1024,_c=200*1024*1024,wc=[[".jpg","image/jpeg"],[".jpeg","image/jpeg"],[".png","image/png"],[".webp","image/webp"],[".heic","image/heic"],[".heif","image/heif"],[".pdf","application/pdf"],[".csv","text/csv"],[".mp4","video/mp4"],[".mov","video/quicktime"]];function ur(e,t){let n=(t??"").trim().toLowerCase();if(n==="image/jpg")return "image/jpeg";if(Rc.includes(n))return n;if(n.length>0)return null;let r=e.toLowerCase();return wc.find(([i])=>r.endsWith(i))?.[1]??null}o(ur,"televetAttachmentContentType");function aa(e){let t=ur(e.filename,e.mimeType);if(t===null)return "type";if(!Number.isFinite(e.fileSize)||e.fileSize<=0)return "unreadable";let n=t.startsWith("video/")?_c:la;return e.fileSize<=n?null:"size"}o(aa,"televetAttachmentRefusal");function sa(e){if(typeof e!="object"||e===null)return null;let t=e,n=o(d=>typeof d=="string"&&d.length>0?d:null,"str"),r=o(d=>typeof d=="number"&&Number.isFinite(d)?d:null,"num"),i=n(t.upload_url),l=n(t.s3_key);if(i===null||l===null)return null;let s={},a=t.upload_fields;if(typeof a=="object"&&a!==null)for(let[d,u]of Object.entries(a))typeof u=="string"&&(s[d]=u);return Object.freeze({upload_id:n(t.upload_id)??"",upload_url:i,upload_fields:Object.freeze(s),expires_in_seconds:r(t.expires_in_seconds)??0,max_content_length:r(t.max_content_length)??la,s3_key:l,purpose:n(t.purpose)})}o(sa,"parseTelevetAttachmentPolicy");function Ic(e){if(typeof e!="object"||e===null)return null;let t=[e,e.detail,e.error];for(let n of t)if(!(typeof n!="object"||n===null))for(let r of ["error","code"]){let i=n[r];if(typeof i=="string"&&i.length>0)return i}return null}o(Ic,"wireCodeOf");function da(e){if(e.httpStatus===404)return "dark";if(e.httpStatus===400){let t=Ic(e.raw);if(t==="FILE_TOO_LARGE")return "size";if(t==="INVALID_CONTENT_TYPE")return "type"}return "failed"}o(da,"televetAttachmentInitiateFailure");var fa="televet_booking_not_live";function cr(e){return pe("conflict",{retryable:false,reasonCode:fa,wireMessage:`the booking was answered with a consult whose status is ${e}, which is not a live visit`})}o(cr,"televetBookingNotLiveError");var co="televet_booking_key_reused",ua="IDEMPOTENCY_KEY_REUSED_DIFFERENT_REQUEST";function pr(e){return e.httpStatus!==409||e.reasonCode===co||Tn(e)?.code!==ua?e:pe(e.code,{retryable:false,httpStatus:409,...e.requestId!==void 0?{requestId:e.requestId}:{},wireCode:ua,reasonCode:co,...e.wireMessage!==void 0?{wireMessage:e.wireMessage}:{},raw:e.raw})}o(pr,"foldTelevetBookingKeyReused");function Tn(e){let t=e.raw;if(typeof t!="object"||t===null)return null;let n=t,r=n.detail??n.error;return typeof r=="object"&&r!==null?r:n}o(Tn,"details");function Ac(e){let t=Tn(e)?.categories;return Array.isArray(t)?Object.freeze(t.filter(n=>typeof n=="string")):Object.freeze([])}o(Ac,"categoriesOf");function ca(e){let t=Tn(e)?.retry_after_seconds;return typeof t=="number"&&Number.isFinite(t)&&t>0?t:null}o(ca,"retryAfterOf");function pa(e){let t=e.wireMessage;if(typeof t=="string"&&t.trim().length>0)return t.trim();let n=Tn(e)?.message;return typeof n=="string"&&n.trim().length>0?n.trim():null}o(pa,"messageOf");function Oc(e){let t=e.reasonCode;if(typeof t=="string"&&t.length>0)return t;let n=Tn(e),r=n?.code??n?.error_code;return typeof r=="string"&&r.length>0?r:null}o(Oc,"codeOf");function yt(e){let t=e.httpStatus;if(t===402)return Object.freeze({kind:"not_entitled"});if(t===429||e.code==="rateLimited"||e.code==="quotaExceeded")return Object.freeze({kind:"rate_limited",retryAfterSeconds:ca(e),message:pa(e)});if(t===404)return Object.freeze({kind:"unavailable"});switch(Oc(e)){case "televet_rate_limited":return Object.freeze({kind:"rate_limited",retryAfterSeconds:ca(e),message:pa(e)});case "televet_emergency_ack_required":return Object.freeze({kind:"emergency",categories:Ac(e)});case "televet_not_entitled":return Object.freeze({kind:"not_entitled"});case "televet_slot_conflict":return Object.freeze({kind:"slot_taken"});case "televet_hold_invalid":return Object.freeze({kind:"slot_taken"});case fa:return Object.freeze({kind:"slot_taken"});case co:return Object.freeze({kind:"slot_taken"});case "televet_clinician_cannot_prescribe":case "televet_clinician_unavailable":case "televet_clinician_not_bookable":return Object.freeze({kind:"clinician_unavailable"});case "televet_membership_conflict":return Object.freeze({kind:"not_entitled"});case "televet_registry_unavailable":return Object.freeze({kind:"failed"});}return Object.freeze({kind:"failed"})}o(yt,"televetBookingRefusal");function Bc(e){try{return new URL(e.trim()).protocol==="https:"}catch{return false}}o(Bc,"isSafeRoomUrl");function Lc(e,t){return Bc(e)&&t.trim().length>0}o(Lc,"isUsableRoomCredential");function fr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}o(fr,"isRecord");function po(e,t){return typeof e=="number"&&Number.isInteger(e)&&e>=t?e:null}o(po,"wholeNumber");function Nc(e){if(!fr(e))return null;let t=po(e.consult_minutes,1),n=po(e.auto_end_minutes,0),r=po(e.warn_before_seconds,0);return t===null||n===null||r===null?null:Object.freeze({consultMinutes:t,autoEndMinutes:n,warnBeforeSeconds:r})}o(Nc,"parseCallLimits");function fo(e){if(!fr(e))return null;let t=e.room_url??e.url,n=e.token;if(typeof t!="string"||typeof n!="string"||!Lc(t,n))return null;let r=e.recording_notice;return Object.freeze({roomUrl:t.trim(),token:n,recordingNotice:typeof r=="boolean"?r:true,callLimits:Nc(e.call_limits)})}o(fo,"parseVetCallCredential");function mo(e){let t=ma(e.raw);return t!==null&&t.length>0?t:null}o(mo,"vetCallJoinReason");function ma(e){if(!fr(e))return null;let t=e.detail??e.error,r=(fr(t)?t:e).reason;return typeof r=="string"?r:null}o(ma,"reasonOf");function yo(e){if(e.httpStatus===404)return "unavailable";let t=ma(e.raw);return t==="too_early"||t==="too_late"||t==="room_not_ready"?t:t!==null&&t.startsWith("status_")?"not_joinable":"unknown"}o(yo,"vetCallJoinRefusal");var ga=["scheduled","in_progress","awaiting_summary","completed","cancelled_owner","cancelled_ops","no_show_owner","no_show_vet"],Sn=new Set(["completed","cancelled_owner","cancelled_ops","no_show_owner","no_show_vet"]),Fc=new Set(["scheduled","in_progress","awaiting_summary"]);function mr(e){return Fc.has(e.status)}o(mr,"isLiveConsult");var va=["wellness","prescription"],Mc=60;function vo(e){let t=Date.parse(e.startsAt),n=Date.parse(e.endsAt);if(Number.isNaN(t)||Number.isNaN(n))return null;let r=Math.round((n-t)/6e4);return r>0?Math.min(r,Mc):null}o(vo,"televetSlotMinutes");var yr=64,vt=2e3,gr=10;function Ne(e){return typeof e=="string"&&/^[A-Za-z]{2}$/.test(e.trim())}o(Ne,"isWellFormedStateCode");function Ze(e){return typeof e=="object"&&e!==null?e:null}o(Ze,"row");function he(e){return typeof e=="string"&&e.length>0?e:null}o(he,"str");function gt(e){return typeof e=="string"&&e.trim().length>0?e.trim():null}o(gt,"trimmedOrNull");function Yt(e,t){return typeof e=="boolean"?e:t}o(Yt,"bool");function go(e){return typeof e=="number"&&Number.isFinite(e)?e:null}o(go,"num");function ya(e,t){return typeof t=="string"&&e.includes(t)?t:"unknown"}o(ya,"closed");function Gt(e,t){if(!Array.isArray(e))return Object.freeze([]);let n=[];for(let r of e){let i=t(r);i!==null&&n.push(i);}return Object.freeze(n)}o(Gt,"parseList");function ba(e,t){let n=Ze(e);return n===null?null:Object.freeze({state:he(n.state)??t,wellnessAvailable:Yt(n.wellness_available,false),prescriptionsAvailable:Yt(n.prescriptions_available,false),cancellationPolicyText:gt(n.cancellation_policy_text)})}o(ba,"parseStatePolicy");function ha(e){let t=Ze(e);if(t===null)return null;let n=gt(t.summary),r=gt(t.version);return n===null||r===null?null:Object.freeze({summary:n,version:r})}o(ha,"parseCancellationPolicy");function Ta(e){let t=Ze(e);if(t===null)return null;let n=he(t.clinician_id),r=he(t.display_name);return n===null||r===null?null:Object.freeze({clinicianId:n,displayName:r,credentials:gt(t.credentials_text),rating:go(t.rating),ratingCount:go(t.rating_count),bio:gt(t.bio),photoRef:he(t.photo_ref),licensedStates:Gt(t.licensed_states,i=>{let l=Ze(i),s=l===null?null:he(l.state);return s===null?null:Object.freeze({state:s,canPrescribe:Yt(l?.can_prescribe,false)})})})}o(Ta,"parseClinician");function bo(e){let t=Ze(e);if(t===null)return null;let n=he(t.slot_id),r=he(t.starts_at);return n===null||r===null?null:Object.freeze({slotId:n,startsAt:r,endsAt:he(t.ends_at)??r})}o(bo,"parseSlot");function Sa(e){let t=Ze(e);if(t===null)return null;let n=t.is_emergency===true,r=t.fallback===true;return n||r?Object.freeze({isEmergency:n,fallback:r}):t.is_emergency===false&&t.fallback===false?Object.freeze({isEmergency:false,fallback:false}):null}o(Sa,"parseTriageVerdict");function Ca(e){let t=Ze(e);if(t===null)return null;let n=he(t.slot_id),r=he(t.hold_expires_at);return n===null||r===null?null:Object.freeze({slotId:n,expiresAt:r})}o(Ca,"parseSlotHold");function Cn(e){let t=Ze(e);if(t===null)return null;let n=he(t.consult_id),r=he(t.scheduled_at);return n===null||r===null?null:Object.freeze({consultId:n,petId:he(t.pet_id)??"",clinicianId:he(t.clinician_id)??"",clinicianName:gt(t.display_name),reasonText:gt(t.reason_text),mediaRefs:Gt(t.media_refs,i=>he(i)),status:ya(ga,t.status),kind:ya(va,t.kind),scheduledAt:r,emergencyFlagged:Yt(t.emergency_flagged,false),hasRoom:he(t.meeting_url)!==null})}o(Cn,"parseConsult");function Ea(e){let t=Ze(e);return Object.freeze({active:Yt(t?.active,false)})}o(Ea,"parseBookingEntitlement");var vr=240;function ka(e){let t=Ze(e);if(t===null)return null;let n=go(t.fee_cents);return n===null||n<0?null:Object.freeze({feeCents:n,currency:he(t.currency)??"usd",feeRecorded:Yt(t.fee_recorded,n>0),summary:gt(t.summary)})}o(ka,"parseCancelReceipt");var Pa="/widget/v1/televet",hr=`${Pa}/messages/threads`;function ho(e){return `${hr}/${encodeURIComponent(e)}/messages`}o(ho,"televetThreadMessagesCall");function Ra(e){return `${hr}/${encodeURIComponent(e)}/read`}o(Ra,"televetThreadReadCall");function _a(e){return `${Pa}/consults/${encodeURIComponent(e)}/summary`}o(_a,"televetVisitSummaryCall");var To=4e3,En=50,wa=100,So=zod.z.string().min(1).refine(e=>!Number.isNaN(Date.parse(e))),ht=zod.z.string().nullish(),Co=zod.z.object({message_id:zod.z.string().min(1),pet_ref:zod.z.string().min(1),role:zod.z.enum(["owner","vet","system"]),content:zod.z.string(),created_at:So,sender:zod.z.object({display_name:ht,specialty:ht}).nullish(),sender_display_name:ht,attachment_count:zod.z.number().int().nonnegative().nullish()}),Dc=zod.z.object({pet_ref:zod.z.string().min(1),last_message_at:So,unread_count:zod.z.number().int().nonnegative().nullish(),owner_can_start:zod.z.boolean().nullish(),last_message:Co.nullish()}),Vc=zod.z.object({drug:zod.z.string().nullish(),strength:ht,form:ht,sig:ht,quantity:zod.z.union([zod.z.string(),zod.z.number()]).nullish(),refills:zod.z.number().int().nonnegative().nullish()}).passthrough(),zc=zod.z.object({consult_id:zod.z.string().min(1),findings_text:zod.z.string().nullish(),next_steps_text:zod.z.string().nullish(),medications:zod.z.array(zod.z.unknown()).nullish(),product_refs:zod.z.array(zod.z.string()).nullish(),action_items:zod.z.array(zod.z.string()).nullish(),approved_at:So,approved_by_display_name:ht,credentials_text:ht});function et(e){let t=e?.trim()??"";return t.length>0?t:null}o(et,"nonBlank");function Eo(e){let t=e.role==="vet";return Object.freeze({messageId:e.message_id,petRef:e.pet_ref,role:e.role,content:e.content,createdAt:e.created_at,senderName:t?et(e.sender?.display_name)??et(e.sender_display_name):null,senderSpecialty:t?et(e.sender?.specialty):null,attachmentCount:e.attachment_count??0})}o(Eo,"toMessage");function jc(e){let t=Co.safeParse(e);return t.success?Eo(t.data):null}o(jc,"mapVetMessage");function Hc(e){let t=zod.z.array(Co).safeParse(e);return t.success?Object.freeze(t.data.map(Eo)):null}o(Hc,"mapVetMessages");function Wc(e){let t=zod.z.array(Dc).safeParse(e);return t.success?Object.freeze(t.data.map(n=>Object.freeze({petRef:n.pet_ref,lastMessageAt:n.last_message_at,unreadCount:n.unread_count??0,ownerCanStart:n.owner_can_start??true,lastMessage:n.last_message?Eo(n.last_message):null}))):null}o(Wc,"mapVetThreads");function Uc(e){let t=Vc.safeParse(e);if(!t.success)return null;let n=et(t.data.drug);if(n===null)return null;let r=t.data.quantity;return Object.freeze({drug:n,strength:et(t.data.strength),form:et(t.data.form),sig:et(t.data.sig),quantity:r==null?null:et(String(r)),refills:t.data.refills??null})}o(Uc,"toMedication");function $c(e){let t=zc.safeParse(e);if(!t.success)return null;let n=t.data;return Object.freeze({consultId:n.consult_id,findingsText:n.findings_text??"",nextStepsText:n.next_steps_text??"",medications:Object.freeze((n.medications??[]).map(Uc).filter(r=>r!==null)),productRefs:Object.freeze([...n.product_refs??[]]),actionItems:Object.freeze((n.action_items??[]).filter(r=>r.trim().length>0)),approvedAt:n.approved_at,approvedByName:et(n.approved_by_display_name),credentialsText:et(n.credentials_text)})}o($c,"mapVisitSummary");function kn(e){return e.httpStatus===404}o(kn,"isVetMessagesDark");function ko(e){return e.httpStatus===409}o(ko,"isVetThreadVetFirst");function bt(e){return N(pe("validationFailed",{retryable:false,wireMessage:e}))}o(bt,"invalid");function br(e){return N(pe("internalError",{retryable:false,httpStatus:502,wireMessage:e}))}o(br,"unusable");function Kc(e){return e===void 0||!Number.isFinite(e)?En:Math.min(wa,Math.max(1,Math.trunc(e)))}o(Kc,"clampLimit");function xa(e){return e.trim().length>0&&!Number.isNaN(Date.parse(e))}o(xa,"isStamp");function qc(e,t,n){try{e?.track(t,n);}catch{}}o(qc,"safeTrack");function Ia(e,t){return {async listVetThreads(n){let r=await e.send("televet.messages.threads",{method:"GET",path:hr,...n?{signal:n}:{}});if(!r.ok)return N(r.error);let i=Wc(r.value);return i===null?br("the vet thread list was unreadable"):W(i)},async listVetMessages(n,r={},i){let l=n.trim();if(l.length===0)return bt("petRef is required");let s=r.before?.trim();if(s!==void 0&&s.length>0&&!xa(s))return bt("before must be an ISO date-time");let a=await e.send("televet.messages.thread",{method:"GET",path:ho(l),query:{...s?{before:s}:{},limit:Kc(r.limit)},...i?{signal:i}:{}});if(!a.ok)return N(a.error);let d=Hc(a.value);return d===null?br("the vet thread page was unreadable"):W(d)},async sendVetMessage(n,r){let i=n.trim();if(i.length===0)return bt("petRef is required");if(r.trim().length===0)return bt("content must not be blank");if(r.length>To)return bt(`content must be at most ${To} characters`);let l=await e.send("televet.messages.send",{method:"POST",path:ho(i),body:{content:r}},{idempotent:false,maxAttempts:1});if(!l.ok)return qc(t,"televet.messages.send_failed",{status:l.error.httpStatus??null}),N(l.error);let s=jc(l.value);return s===null?br("the sent message was unreadable"):W(s)},async markVetThreadRead(n,r){let i=n.trim();if(i.length===0)return bt("petRef is required");if(!xa(r))return bt("readAt must be an ISO date-time");let l=await e.send("televet.messages.read",{method:"PUT",path:Ra(i),body:{read_at:r}});return l.ok?W(void 0):N(l.error)},async visitSummary(n,r){let i=n.trim();if(i.length===0)return bt("consultId is required");let l=await e.send("televet.messages.summary",{method:"GET",path:_a(i),...r?{signal:r}:{}});if(!l.ok)return N(l.error);let s=$c(l.value);return s===null?br("the visit summary was unreadable"):W(s)}}}o(Ia,"createTelevetMessagesMethods");var st="/widget/v1/televet",Yc=`${st}/state-policy`,Gc=`${st}/vets`,Aa=`${st}/slots`,Jc=`${st}/slots/next`,xn=`${st}/consults`,Xc=`${st}/entitlement`,Qc=`${st}/cancellation-policy`,Zc=`${st}/attachments/initiate`,ep=`${xn}/triage`;function Oa(e){return `${Aa}/${encodeURIComponent(e)}/hold`}o(Oa,"televetHoldCall");function Ba(e){return `${xn}/${encodeURIComponent(e)}/reschedule`}o(Ba,"televetRescheduleCall");function Tr(e){return `${xn}/${encodeURIComponent(e)}`}o(Tr,"televetConsultCall");function La(e){return `${Tr(e)}/join`}o(La,"televetJoinCall");function Na(e){return `${Tr(e)}/cancel`}o(Na,"televetCancelCall");var Fa=100;function Fe(e){return N(pe("validationFailed",{retryable:false,wireMessage:e}))}o(Fe,"invalid");function Tt(e){return N(pe("internalError",{retryable:false,httpStatus:502,wireMessage:e}))}o(Tt,"unusable");function xo(e){return e.httpStatus===404}o(xo,"isDark");function Bt(e,t,n){try{e?.track(t,n);}catch{}}o(Bt,"safeTrack");function Ma(e){if(e.pet_id.trim().length===0)return "pet_id is required";if(e.clinician_id.trim().length===0)return "clinician_id is required";if(e.slot_id.trim().length===0)return "slot_id is required";if(!Ne(e.state))return "state must be a two-letter US state code";let t=e.reason_text.trim();return t.length===0?"reason_text is required":t.length>vt?`reason_text must be at most ${vt} characters`:tp(e)}o(Ma,"validateBookingBody");function tp(e){let t=e.state_attested===true,n=e.cancellation_policy_version?.trim()??"";return t!==n.length>0?"state_attested and cancellation_policy_version must be sent together or omitted together":n.length>yr?`cancellation_policy_version must be at most ${yr} characters`:null}o(tp,"attestationRefusal");function Ro(e){let t=e.funnel??Ot({auth:e.auth,...e.errorPolicy?{errorPolicy:e.errorPolicy}:{}}),n=e.telemetry;return {...Ia(t,n),async statePolicy(r,i){let l=r.trim();if(!Ne(l))return Fe("state must be a two-letter US state code");let s=await t.send("televet.booking.state_policy",{method:"GET",path:`${Yc}/${encodeURIComponent(l)}`,...i?{signal:i}:{}});if(!s.ok)return N(s.error);let a=ba(s.value,l);return a===null?Tt("the state policy response was unreadable"):W(a)},async entitlement(r){let i=await t.send("televet.booking.entitlement",{method:"GET",path:Xc,...r?{signal:r}:{}});return i.ok?W(Ea(i.value)):N(i.error)},async cancellationPolicy(r){let i=await t.send("televet.booking.cancellation_policy",{method:"GET",path:Qc,...r?{signal:r}:{}});return i.ok?W(ha(i.value)):W(null)},async clinicians(r,i){let l=r.trim();if(!Ne(l))return Fe("state must be a two-letter US state code");let s=await t.send("televet.booking.clinicians",{method:"GET",path:Gc,query:{state:l},...i?{signal:i}:{}});return s.ok?W(Gt(Po(s.value,"vets"),Ta)):xo(s.error)?W(Object.freeze([])):N(s.error)},async slots(r,i){let l=r.trim();if(l.length===0)return Fe("clinicianId is required");let s=await t.send("televet.booking.slots",{method:"GET",path:Aa,query:{clinician_id:l},...i?{signal:i}:{}});return s.ok?W(Gt(Po(s.value,"slots"),bo)):xo(s.error)?W(Object.freeze([])):N(s.error)},async nextSlot(r){let i=await t.send("televet.booking.next_slot",{method:"GET",path:Jc,...r?{signal:r}:{}});return i.ok?W(bo(rp(i.value,"slot"))):W(null)},async holdSlot(r){let i=r.trim();if(i.length===0)return Fe("slotId is required");let l=await t.send("televet.booking.hold",{method:"POST",path:Oa(i)},{idempotent:false,maxAttempts:1});if(!l.ok)return Bt(n,"televet.booking.hold_failed",{status:l.error.httpStatus??null}),N(l.error);let s=Ca(l.value);return s===null?Tt("the hold response carried no usable expiry"):W(s)},async book(r,i){let l=Ma(r);if(l!==null)return Fe(l);let s=i.trim();if(s.length===0)return Fe("idempotencyKey is required");let a=await t.send("televet.booking.book",{method:"POST",path:xn,body:np(r)},{idempotent:true,idempotencyKey:s,maxAttempts:1});if(!a.ok)return Bt(n,"televet.booking.book_failed",{status:a.error.httpStatus??null}),N(pr(a.error));let d=Cn(a.value);return d===null?Tt("the booking response was unreadable"):mr(d)?W(d):(Bt(n,"televet.booking.book_failed",{status:null,consult_status:d.status}),N(cr(d.status)))},async reschedule(r,i){let l=r.trim(),s=i.trim();if(l.length===0)return Fe("consultId is required");if(s.length===0)return Fe("slotId is required");let a=await t.send("televet.booking.reschedule",{method:"POST",path:Ba(l),body:{new_slot_id:s}},{idempotent:false,maxAttempts:1});if(!a.ok)return Bt(n,"televet.booking.reschedule_failed",{status:a.error.httpStatus??null}),N(a.error);let d=Cn(a.value);return d===null?Tt("the reschedule response was unreadable"):W(d)},async triage(r,i){let l=r.trim();if(l.length===0)return W(null);let s=await t.send("televet.booking.triage",{method:"POST",path:ep,body:{reason_text:l},...i?{signal:i}:{}},{idempotent:false,maxAttempts:1});return s.ok?W(Sa(s.value)):(Bt(n,"televet.booking.triage_unavailable",{status:s.error.httpStatus??null}),W(null))},async listConsults(r){let i=await t.send("televet.booking.consults",{method:"GET",path:xn,query:{limit:String(Fa)},...r?{signal:r}:{}});return i.ok?W(Gt(Po(i.value,"consults"),Cn)):xo(i.error)?W(Object.freeze([])):N(i.error)},async getConsult(r,i){let l=r.trim();if(l.length===0)return Fe("consultId is required");let s=await t.send("televet.booking.consult",{method:"GET",path:Tr(l),...i?{signal:i}:{}});if(!s.ok)return N(s.error);let a=Cn(s.value);return a===null?Tt("the consult response was unreadable"):W(a)},async joinConsult(r){let i=r.trim();if(i.length===0)return Fe("consultId is required");let l=await t.send("televet.booking.join",{method:"POST",path:La(i)},{idempotent:false,maxAttempts:1});if(!l.ok)return Bt(n,"televet.booking.join_failed",{status:l.error.httpStatus??null}),N(l.error);let s=fo(l.value);return s===null?Tt("the join response carried no usable room credential"):W(s)},async cancelConsult(r,i){let l=r.trim(),s=i.trim();if(l.length===0)return Fe("consultId is required");if(s.length===0)return Fe("reason is required");if(s.length>vr)return Fe(`reason must be at most ${vr} characters`);let a=await t.send("televet.booking.cancel",{method:"POST",path:Na(l),body:{reason:s}},{idempotent:false,maxAttempts:1});if(!a.ok)return Bt(n,"televet.booking.cancel_failed",{status:a.error.httpStatus??null}),N(a.error);let d=ka(a.value);return d===null?Tt("the cancel response was unreadable"):W(d)},async initiateAttachment(r,i){let l=await t.send("televet.booking.attachment_initiate",{method:"POST",path:Zc,body:{filename:r.filename,content_type:r.contentType,file_size:r.fileSize},...i?{signal:i}:{}});if(!l.ok)return N(l.error);let s=sa(l.value);return s===null?Tt("the attachment presign was unreadable"):W(s)}}}o(Ro,"createTelevetBookingController");function np(e){let t=e.cancellation_policy_version?.trim()??"",n=e.state_attested===true&&t.length>0;return {pet_id:e.pet_id,clinician_id:e.clinician_id,slot_id:e.slot_id,state:e.state,reason_text:e.reason_text.trim(),species:e.species,media_refs:[...e.media_refs],emergency_acknowledged:e.emergency_acknowledged,share_health_records:e.share_health_records,...n?{state_attested:true,cancellation_policy_version:t}:{}}}o(np,"bookingWireBody");function Po(e,t){if(Array.isArray(e))return e;if(typeof e=="object"&&e!==null){let n=e,r=n[t]??n.items??n.data;if(Array.isArray(r))return r}return e}o(Po,"rows");function rp(e,t){if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let n=e,r=n[t]??n.data;if(typeof r=="object"&&r!==null)return r}return e}o(rp,"unwrap");var Da=Symbol.for("@everfur/sdk#EverfurContext@v1"),Va=globalThis,za=Va[Da]??(Va[Da]=react.createContext(null));za.displayName??="EverfurContext";function Ye(){let e=react.useContext(za);if(e===null)throw new bn("not-initialized","Everfur hooks must be called inside <EverfurProvider>. Wrap your tree once, high.");return e}o(Ye,"useEverfurContext");var lp=Object.freeze({chat:Object.freeze(["chat.message.create"]),records:Object.freeze(["records.upload.create","records.record.read"]),recordsClinic:Object.freeze(["records.clinic.create"]),video:Object.freeze(["video.gait.execute"]),photo:Object.freeze(["photo.checkup.execute"]),animations:Object.freeze(["animations.state.read"]),televet:Object.freeze(["televet.visit.create"])});function ap(e){return lp[e]}o(ap,"requires");function ja(e,t,n){let r=ap(e),i=new Map;for(let a of t)i.set(a.resource,a);if(n?.isPending===true&&r.some(a=>!i.has(a)))return _o({name:e,enabled:false,isPending:true,limits:{}});let l=sp(r,i);return r.filter(a=>i.get(a)?.granted!==true).length===0?_o({name:e,enabled:true,isPending:false,limits:l}):_o({name:e,enabled:false,isPending:false,limits:l,disabled:dp(r,i)})}o(ja,"decideCapability");function sp(e,t){let n={};for(let r of e){let i=t.get(r)?.limits;if(i)for(let[l,s]of Object.entries(i)){let a=n[l];n[l]=a===void 0?s:Math.min(a,s);}}return n}o(sp,"mergeLimits");function dp(e,t){for(let n of e){let r=t.get(n)?.disabled;if(r)return Object.freeze({reason:r.reason,level:r.level,recoverable:r.recoverable})}return Object.freeze({reason:io("accessDenied"),level:"user_entitlement",recoverable:false})}o(dp,"disabledFor");function _o(e){let t={name:e.name,enabled:e.enabled,isPending:e.isPending,limits:Object.freeze({...e.limits})};return e.disabled!==void 0&&(t.disabled=e.disabled),Object.freeze(t)}o(_o,"freezeDecision");function Pn(e){let{runtime:t}=Ye(),n=t.entitlements,r=react.useSyncExternalStore(n.subscribe,n.getSnapshot,n.getSnapshot);return react.useMemo(()=>ja(e,r.decisions,{isPending:r.isPending}),[e,r])}o(Pn,"useCapability");function ke(e){let{runtime:t,userRef:n,scopeEpoch:r}=Ye();return react.useMemo(()=>{if(e)return e;if(n===null)return null;let{services:i}=t.registry;return Ro({auth:i.authFor(n),telemetry:i.telemetry,...i.errorPolicy?{errorPolicy:i.errorPolicy}:{}})},[t,n,r,e])}o(ke,"useTelevetBookingController");function pp(){let{userRef:e}=Ye(),t=Pn("televet");return react.useMemo(()=>({available:t.enabled&&e!==null,isPending:t.isPending}),[t.enabled,t.isPending,e])}o(pp,"useTelevetBookingAvailable");function Lt(e,t,n){let[r,i]=react.useState(()=>({key:e,data:null,isPending:t&&n!==null,error:null})),[l,s]=react.useState(0),a=react.useRef(n);a.current=n,react.useEffect(()=>{let f=a.current;if(!t||f===null){i({key:e,data:null,isPending:false,error:null});return}let y=new AbortController,p=true;return i(c=>c.key===e?{...c,isPending:true,error:null}:{key:e,data:null,isPending:true,error:null}),(async()=>{let c;try{c=await f(y.signal);}catch{p&&i({key:e,data:null,isPending:false,error:null});return}p&&(c.ok?i({key:e,data:c.value,isPending:false,error:null}):i({key:e,data:null,isPending:false,error:c.error}));})(),()=>{p=false,y.abort();}},[e,t,l]);let d=react.useCallback(()=>s(f=>f+1),[]),u=r.key===e;return react.useMemo(()=>({enabled:t,data:u?r.data:null,isPending:t&&(!u||r.isPending),isError:u&&r.error!==null,error:u?r.error:null,refetch:d}),[t,u,r.data,r.isPending,r.error,d])}o(Lt,"useTelevetRead");function Rn(e,t){let n=e?.trim()??"",r=t?.statePolicy!==void 0&&Ne(n),i=t?.statePolicy;return Lt(`state-policy:${n}`,r,r&&i?l=>i.call(t,n,l):null)}o(Rn,"useTelevetStatePolicy");function Io(e){let t=e?.entitlement!==void 0,n=e?.entitlement;return Lt("entitlement",t,t&&n?r=>n.call(e,r):null)}o(Io,"useTelevetBookingEntitlement");function _n(e){let t=e?.cancellationPolicy!==void 0,n=e?.cancellationPolicy;return Lt("cancellation-policy",t,t&&n?r=>n.call(e,r):null)}o(_n,"useTelevetCancellationPolicy");function Ao(e,t){let n=e?.trim()??"",r=t?.clinicians!==void 0&&Ne(n),i=t?.clinicians;return Lt(`clinicians:${n}`,r,r&&i?l=>i.call(t,n,l):null)}o(Ao,"useTelevetClinicians");function wn(e,t){let n=e?.trim()??"",r=t!==null&&n.length>0;return Lt(`slots:${n}`,r,r&&t?i=>t.slots(n,i):null)}o(wn,"useTelevetSlots");function Oo(e){let t=e?.nextSlot!==void 0,n=e?.nextSlot;return Lt("next-slot",t,t&&n?r=>n.call(e,r):null)}o(Oo,"useTelevetNextSlot");function Bo(e){let[t,n]=react.useState(null),r=react.useRef(true),i=react.useRef(false),l=react.useRef(e);l.current=e,react.useEffect(()=>(r.current=true,()=>{r.current=false;}),[]);let s=react.useCallback((...a)=>{let d=l.current;if(d===null||i.current)return;let u=a[a.length-1],f=typeof u=="object"&&u!==null&&("onSuccess"in u||"onError"in u),y=f?u:void 0,p=f?a.slice(0,-1):a;i.current=true,n({variables:p[0]??null}),(async()=>{let c=null;try{c=await d(...p);}catch{c=null;}i.current=false,r.current&&n(null),c!==null&&(c.ok?y?.onSuccess?.(c.value):y?.onError?.(c.error));})();},[]);return react.useMemo(()=>({isPending:t!==null,variables:t?.variables??null,mutate:s}),[t,s])}o(Bo,"useTelevetWrite");function In(e){return Bo(e?t=>e.holdSlot(t):null)}o(In,"useTelevetHoldSlot");function Lo(e){return Bo(e?(t,n)=>e.book(t,n):null)}o(Lo,"useTelevetBookConsult");function No(e,t){return Bo(t&&e?n=>t.reschedule(e,n):null)}o(No,"useTelevetRescheduleConsult");function Er(e,t=0){let n=e?.listConsults!==void 0,r=e?.listConsults;return Lt(`consults:${t}`,n,n&&r?i=>r.call(e,i):null)}o(Er,"useTelevetConsults");function An(e){return e.error!==null&&e.error.httpStatus===404}o(An,"televetReadIsDark");var Fo=15,Mo=250,Ua=new Set(["scheduled","in_progress"]);function Nt(e){let t=Date.parse(e.scheduledAt);return Number.isNaN(t)?null:t}o(Nt,"startsAtMs");function Do(e){let t=Nt(e);return t===null?null:t-Fo*6e4}o(Do,"televetJoinOpensAtMs");function Vo(e,t){if(!Ua.has(e.status))return {joinable:false,reason:`status_${e.status}`};if(!e.hasRoom)return {joinable:false,reason:"room_not_ready"};let n=Nt(e);return n===null||t<n-Fo*6e4?{joinable:false,reason:"too_early"}:t>n+Mo*6e4?{joinable:false,reason:"too_late"}:{joinable:true}}o(Vo,"televetJoinDecision");function On(e,t){let n=[],r=[];for(let i of e){let l=Nt(i);(Ua.has(i.status)&&l!==null&&l+Mo*6e4>t?n:r).push(i);}return n.sort((i,l)=>(Nt(i)??0)-(Nt(l)??0)),r.sort((i,l)=>(Nt(l)??0)-(Nt(i)??0)),Object.freeze({upcoming:Object.freeze(n),past:Object.freeze(r)})}o(On,"splitTelevetVisits");function zo(e){return e==="scheduled"}o(zo,"canManageTelevetVisit");function $a(e){let t=Er(e);return t.enabled?t.isPending?"pending":t.isError||On(t.data??[],Date.now()).upcoming.length>0?"visits":"booking":"booking"}o($a,"useTelevetLanding");var F=Object.freeze({pageTitle:"Video visits",bookCardTitle:"Book a video visit",bookCardCta:"Find a time",bookAnotherTitle:"Book another visit",upcomingTitle:"Next video visit",bookedPill:"Booked",pastTitle:"Past video visits",visitTitleTemplate:"{pet} with {vet}",minutesTemplate:"{n} minutes",emptyTitle:"No visits yet",emptyBody:"When you book a video visit, it will appear here.",loading:"Loading your visits\u2026",loadErrorTitle:"Could not load your visits",loadErrorBody:"Check your connection and try again.",retry:"Try again",joinCta:"Join the visit",joining:"Joining\u2026",addToCalendarCta:"Add to calendar",calendarAdded:"Added to your calendar",rescheduleCta:"Reschedule",cancelCta:"Cancel",cancelConfirmTitleTemplate:"Cancel {pet}\u2019s visit?",cancelConfirmTitle:"Cancel this visit?",cancellationReasonLabel:"What changed?",cancellationReasonOptional:"Optional",cancelWhyBetterTemplate:"{pet} is better",cancelWhyTime:"The time doesn\u2019t work",cancelWhyRegularVet:"We\u2019ll see our regular vet",cancelWhyOther:"Something else",cancelWhyTimeHint:"Another time might be easier.",cancelMoveInstead:"Move the visit instead",summaryWhen:"When",summaryVet:"Vet",summaryAbout:"About",cancelConfirmCta:"Cancel the visit",cancellingVisit:"Canceling\u2026",cancelDismissCta:"Keep the visit",cancelledTemplate:"{pet}\u2019s visit is canceled. {vet} knows.",cancelledTitle:"Visit cancelled",cancellationFeeRecorded:"A late cancellation fee was recorded for this visit.",cancellationFeeNotRecorded:"No late cancellation fee was recorded for this visit.",loadingCancellationTerms:"Loading cancellation terms\u2026",cancellationTermsUnavailable:"We could not confirm the current cancellation terms. Try again before continuing.",cancelReason:"Cancelled by the pet parent in the app.",cancelTermsFirst:"We could not confirm the cancellation terms. Please try again before cancelling.",cancelFailed:"We could not cancel this visit. Refresh your visits to confirm its status before trying again."});function jo(e){switch(e){case "scheduled":return "Scheduled";case "in_progress":return "In progress";case "awaiting_summary":return "Summary on its way";case "completed":return "Completed";case "cancelled_owner":return "Cancelled by you";case "cancelled_ops":return "Cancelled by Everfur";case "no_show_owner":return "Missed";case "no_show_vet":return "Vet couldn't attend";default:return null}}o(jo,"televetVisitStatusWeb");function Ka(e,t){if(e==="too_early")return t?`This visit opens at ${t}. You can join from then.`:"This visit has not opened yet.";if(e==="too_late")return "This visit has ended.";if(e==="room_not_ready")return "We are still setting up the video room. Try again in a moment.";switch(e){case "status_cancelled_owner":return "You cancelled this visit.";case "status_cancelled_ops":return "This visit was cancelled. Please book another time.";case "status_no_show_owner":return "This visit was missed.";case "status_no_show_vet":return "The vet could not make this visit. Please book another time.";case "status_awaiting_summary":return "This visit has ended. Your summary is on its way.";case "status_completed":return "This visit has ended.";default:return "This visit cannot be joined right now."}}o(Ka,"televetJoinBlockWeb");var Uo=class Uo extends react.Component{constructor(){super(...arguments);this.state={failed:false,key:this.props.resetKey};}static getDerivedStateFromError(){return {failed:true}}static getDerivedStateFromProps(n,r){return Object.is(n.resetKey,r.key)?null:{failed:false,key:n.resetKey}}render(){return this.state.failed?this.props.fallback:this.props.children}};o(Uo,"HostRenderBoundary");var Ho=Uo;function mp({render:e}){return e()}o(mp,"RenderHost");function Wo({render:e,fallback:t,resetKey:n}){return react.createElement(Ho,{fallback:t,resetKey:n,children:react.createElement(mp,{render:e})})}o(Wo,"HostRender");function qo(e){if(e!==null&&typeof e=="object"&&!Object.isFrozen(e)){Object.freeze(e);for(let t of Object.keys(e))qo(e[t]);}return e}o(qo,"deepFreeze");var yp=Object.freeze({content:0,heading:2,control:1.8,compact:1.5,badge:1.3}),Ga={xs:4,sm:8,md:12,lg:16,xl:24,xxl:32},Ja={tile:5,xs:6,sm:10,md:14,lg:20,xl:28,pill:500},Ya={nano:8,small:9,micro:10,tiny:11,caption:13,bodyTight:15,body:17,subtitle:20,heading:22,verdict:24},gp={tight:1.15,snug:1.3,normal:1.4,relaxed:1.55},vp={regular:"400",medium:"500",bold:"700"},bp={eyebrow:1,monoWide:.9,headerBrand:-0.42,tight:-0.35},hp=0,kr="System",xr="monospace",Tp=["content","heading","control","compact","badge"];function Sp(e){let t={};for(let n of Tp)t[n]=e;return t}o(Sp,"authoredTierSizes");function Xa(){return {family:kr,mono:xr,fontUrl:null,families:{regular:kr,medium:kr,bold:kr,mono:xr,monoMedium:xr,monoBold:xr},namedFaces:{regular:false,medium:false,bold:false,mono:false,monoMedium:false,monoBold:false},fontUrls:{},size:Ya,tierSizes:Sp(Ya),lineHeight:gp,weight:vp,letterSpacing:bp,scale:1,maxScale:hp,scaleCaps:yp}}o(Xa,"baseType");var Qa={},$o=Object.freeze({standard:Object.freeze([.2,0,0,1]),emphasized:Object.freeze([.2,.8,.2,1]),exit:Object.freeze([.4,0,1,1])});function Ko(e){return `cubic-bezier(${e.join(", ")})`}o(Ko,"cssCubicBezier");var Za={duration:{instant:80,fast:140,normal:220,slow:320},spring:{gentle:{damping:18,stiffness:200}},easing:{standard:Ko($o.standard),emphasized:Ko($o.emphasized),exit:Ko($o.exit)},reducedMotion:false},Cp={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",checkupCardLowRiskBg:"rgba(7,193,104,0.10)",checkupCardConcernBg:"rgba(239,167,0,0.10)"},es=qo({brightness:"light",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:Cp,space:Ga,radius:Ja,type:Xa(),motion:Za,slots:Qa}),Ep={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",checkupCardLowRiskBg:"rgba(7,193,104,0.16)",checkupCardConcernBg:"rgba(239,167,0,0.16)"};qo({brightness:"dark",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:Ep,space:Ga,radius:Ja,type:Xa(),motion:Za,slots:Qa});var ts=Symbol.for("@everfur/sdk#EverfurThemeContext@v1"),ns=globalThis,Yo=ns[ts]??(ns[ts]=react.createContext(es));Yo.displayName??="EverfurThemeContext";function M(){return react.useContext(Yo)}o(M,"useEverfurTheme");var rs=Object.freeze({regular:"regular",medium:"medium",bold:"bold",mono:"regular",monoMedium:"medium",monoBold:"bold"});function os(e,t){let{scale:n,scaleCaps:r}=e.type,i=r[t];return i>0?Math.min(n,i):n}o(os,"tierScale");function Ge(e,t,n){return Math.round(n*os(e,t)*10)/10}o(Ge,"tierPx");var is='system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',Pp="System";function Rp(e){let t=e.trim();return t.length===0||t===Pp?is:`${ls(t)}, ${is}`}o(Rp,"cssFontFamily");function _p(e){let t=e.trim();return t.length===0||t==="monospace"?"ui-monospace, Menlo, Consolas, monospace":`${ls(t)}, ui-monospace, Menlo, Consolas, monospace`}o(_p,"cssMonoFamily");function ls(e){return `"${e.replace(/[\\"]/g,"\\$&")}"`}o(ls,"quote");function k(e,t){let n=e.type,r=n.families[t];return {fontFamily:t==="mono"||t==="monoMedium"||t==="monoBold"?_p(r):Rp(r),fontWeight:n.namedFaces[t]?n.weight.regular:n.weight[rs[t]]}}o(k,"faceCss");var Jt=Object.freeze({textAlign:"start"});var wp=48;function Ip(e){return e.isPending?"pending":e.enabled?"enabled":"disabled"}o(Ip,"selectView");function ds(e){let{capability:t,children:n,renderDisabled:r,renderPending:i,style:l,className:s}=e,a=Pn(t),d=react.useMemo(()=>Ip(a),[a]);switch(d){case "enabled":return n;case "pending":return i?jsxRuntime.jsx(Wo,{render:i,fallback:jsxRuntime.jsx(as,{capability:t,style:l,className:s})}):jsxRuntime.jsx(as,{capability:t,style:l,className:s});case "disabled":return r?jsxRuntime.jsx(Wo,{render:()=>r(a),fallback:jsxRuntime.jsx(ss,{decision:a,style:l,className:s}),resetKey:a}):jsxRuntime.jsx(ss,{decision:a,style:l,className:s});default:return ir(d)}}o(ds,"CapabilityGate");function as({capability:e,style:t,className:n}){let r=M(),i=react.useMemo(()=>us(r),[r]);return jsxRuntime.jsx("div",{role:"status","aria-busy":"true","aria-label":`Loading ${e}`,className:n,style:{...i.offstate,...t},children:jsxRuntime.jsx("div",{style:i.skeletonBar})})}o(as,"PendingSkeleton");function ss({decision:e,style:t,className:n}){let r=M(),i=react.useMemo(()=>us(r),[r]),l=e.disabled?.reason??"";return jsxRuntime.jsx("div",{className:n,style:{...i.offstate,...t},children:l.length>0?jsxRuntime.jsx("p",{style:i.offstateText,children:l}):null})}o(ss,"OffState");function us(e){let{color:t,space:n,radius:r,type:i}=e;return {offstate:{...Jt,boxSizing:"border-box",minHeight:wp,display:"flex",flexDirection:"column",justifyContent:"center",padding:`${n.md}px ${n.lg}px`,backgroundColor:t.surfaceCream,borderRadius:r.md,border:`1px solid ${t.brandBorder}`},offstateText:{margin:0,...k(e,"regular"),fontSize:i.size.body,lineHeight:`${Math.round(i.size.body*i.lineHeight.normal)}px`,color:t.text.muted},skeletonBar:{height:n.md,borderRadius:r.xs,backgroundColor:t.brandSofter}}}o(us,"makeStyles");function Xt(e){for(let t=0;t<e.length;t+=1){let n=e.charCodeAt(t);if(n>=55296&&n<=56319){let r=e.charCodeAt(t+1);if(!(r>=56320&&r<=57343))return true;t+=1;}else if(n>=56320&&n<=57343)return true}return false}o(Xt,"hasLoneSurrogate");function Qt(e){return [...e].length}o(Qt,"serverLength");var cs=Object.freeze({dog:"dog",canine:"dog",k9:"dog",puppy:"dog",cat:"cat",feline:"cat",kitten:"cat"});function ps(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return Object.prototype.hasOwnProperty.call(cs,t)?cs[t]:null}o(ps,"canonicalPetSpecies");var fs=50,Ap=128,Jo=120,ms=120,Op=2e3,ys=120,Bp=80,bs=new Set(["male","female","unknown"]),hs=new Set(["day","month","year"]),Ts=new Set(["low","medium","high","athletic"]),Ss=new Set(["indoor","outdoor","both"]),Cs=new Set(["mild","moderate","severe"]),Lp=/^(\d{4})-(\d{2})-(\d{2})$/,Es=[["sex","sex"],["spayedNeutered","spayed_neutered"],["birthDate","birth_date"],["birthDatePrecision","birth_date_precision"],["activityLevel","activity_level"],["indoorOutdoor","indoor_outdoor"],["foodBrand","food_brand"],["foodType","food_type"],["microchipId","microchip_id"]],ks=[["allergies","allergies"],["medications","medications"],["supplements","supplements"],["conditions","conditions"]];Object.freeze([...Es,...ks].map(([e])=>e));function Np(e){let t=Lp.exec(e);if(t===null)return false;let[n,r,i]=[Number(t[1]),Number(t[2]),Number(t[3])],l=new Date(Date.UTC(n,r-1,i));return l.getUTCFullYear()===n&&l.getUTCMonth()===r-1&&l.getUTCDate()===i}o(Np,"isRealDate");var Ln=o(e=>(t,n)=>typeof n=="string"&&e.has(n)?null:`${t} must be one of ${[...e].join(", ")}`,"oneOf"),Fp=o((e,t)=>typeof t=="boolean"?null:`${e} must be true or false`,"boolean"),Rr=o((e,t)=>typeof t=="string"&&Np(t)?null:`${e} must be a real date written YYYY-MM-DD`,"date"),nt=o((e,t={})=>(n,r)=>{if(typeof r!="string")return `${n} must be a string`;if(Xt(r))return `${n} contains an unpaired surrogate and cannot be encoded`;let i=t.trimmed?r.trim():r;if(t.required&&i.length===0)return `${n} is required and must not be blank`;let l=Qt(i);return l<=e?null:`${n} is ${l} characters; the server accepts at most ${e}`},"text"),Mp={sex:Ln(bs),spayedNeutered:Fp,birthDate:Rr,birthDatePrecision:Ln(hs),activityLevel:Ln(Ts),indoorOutdoor:Ln(Ss),foodBrand:nt(ys),foodType:nt(ys),microchipId:nt(Bp)},Xo=["ref","ref",false,nt(Ap,{required:true,trimmed:true})],Qo=["notes","notes",false,nt(Op,{trimmed:true})],gs=[Xo,["name","name",true,nt(Jo,{required:true,trimmed:true})],["dose","dose",false,nt(ms,{trimmed:true})],["frequency","frequency",false,nt(ms,{trimmed:true})],["startDate","start_date",false,Rr],["endDate","end_date",false,Rr],Qo],Dp={allergies:[Xo,["allergen","allergen",true,nt(Jo,{required:true,trimmed:true})],["severity","severity",false,Ln(Cs)],Qo],medications:gs,supplements:gs,conditions:[Xo,["conditionName","condition_name",true,nt(Jo,{required:true,trimmed:true})],["diagnosedDate","diagnosed_date",false,Rr],Qo]};function Vp(e,t,n){let r=`${e}[${t}]`;if(typeof n!="object"||n===null||Array.isArray(n))return {error:`${r} must be an object`};let i=n,l={};for(let[d,u,f,y]of Dp[e]){let p=i[d];if(p==null){if(f)return {error:`${r}.${d} is required`};p===null&&(l[u]=null);continue}let c=y(`${r}.${d}`,p);if(c!==null)return {error:c};l[u]=p;}let s=l.start_date,a=l.end_date;return typeof s=="string"&&typeof a=="string"&&a<s?{error:`${r}.endDate must not be before startDate`}:{item:l}}o(Vp,"itemToWire");function zp(e,t){if(!Array.isArray(t))return {error:`${e} must be an array (send [] to clear it)`};if(t.length>fs)return {error:`${e} has ${t.length} items; the server accepts at most ${fs}`};let n=[],r=new Set;for(let i=0;i<t.length;i+=1){let l=Vp(e,i,t[i]);if("error"in l)return l;let s=l.item.ref;if(typeof s=="string"){let a=s.trim();if(r.has(a))return {error:`${e}: ref ${JSON.stringify(a)} is used twice; a ref names one item`};r.add(a);}n.push(l.item);}return {items:n}}o(zp,"listToWire");function xs(e,t){let n=e,r={};for(let[s,a]of Es){let d=n[s];if(d!==void 0){if(d!==null){let u=Mp[s](s,d);if(u!==null)return {error:u}}r[a]=d;}}let i=n.birthDate!==void 0,l=n.birthDatePrecision!==void 0;if(i!==l||i&&n.birthDate===null!=(n.birthDatePrecision===null))return {error:"birthDate and birthDatePrecision must be sent together, both set or both null"};for(let[s,a]of ks){let d=n[s];if(d===void 0)continue;let u=zp(s,d);if("error"in u)return u;r[a]=u.items;}return Object.keys(r).length>0&&t!==void 0&&ps(t)===null?{error:"health fields need a pet Everfur reads as a dog or a cat (dog, canine, k9, puppy, cat, feline, kitten)"}:{body:r}}o(xs,"petHealthToWire");var ye=o(e=>typeof e=="string"?e:null,"str"),Bn=o((e,t)=>typeof t=="string"&&e.has(t)?t:null,"pick"),jp=o(e=>typeof e=="boolean"?e:null,"bool");function Pr(e,t){return Array.isArray(e)?Object.freeze(e.flatMap(n=>{if(typeof n!="object"||n===null||Array.isArray(n))return [];let r=t(n);return r===null?[]:[r]})):Object.freeze([])}o(Pr,"itemsFromWire");function vs(e){let t=ye(e.name);return t===null||t.length===0?null:Object.freeze({ref:ye(e.ref),name:t,dose:ye(e.dose),frequency:ye(e.frequency),startDate:ye(e.start_date),endDate:ye(e.end_date),notes:ye(e.notes)})}o(vs,"medicationFromWire");function Ps(e){let t=e.profile_version;return Object.freeze({profileVersion:typeof t=="number"&&Number.isInteger(t)&&t>=0?t:0,sex:Bn(bs,e.sex),spayedNeutered:jp(e.spayed_neutered),birthDate:ye(e.birth_date),birthDatePrecision:Bn(hs,e.birth_date_precision),activityLevel:Bn(Ts,e.activity_level),indoorOutdoor:Bn(Ss,e.indoor_outdoor),foodBrand:ye(e.food_brand),foodType:ye(e.food_type),microchipId:ye(e.microchip_id),allergies:Pr(e.allergies,n=>{let r=ye(n.allergen);return r===null||r.length===0?null:Object.freeze({ref:ye(n.ref),allergen:r,severity:Bn(Cs,n.severity),notes:ye(n.notes)})}),medications:Pr(e.medications,vs),supplements:Pr(e.supplements,vs),conditions:Pr(e.conditions,n=>{let r=ye(n.condition_name);return r===null||r.length===0?null:Object.freeze({ref:ye(n.ref),conditionName:r,diagnosedDate:ye(n.diagnosed_date),notes:ye(n.notes)})})})}o(Ps,"petHealthFromWire");var ws=100,Is=50,As=100,Os=50,Bs=500,Hp=128,Wp=6e4;function ot(e){return pe("validationFailed",{retryable:false,wireMessage:e})}o(ot,"invalid");function Ft(e,t,n){if(typeof t!="string")return ot(`${e} must be a string`);let r=Qt(t);return r<=n?null:ot(`${e} is ${r} characters; the server accepts at most ${n}`)}o(Ft,"checkString");function _r(e,t,n){return typeof t=="number"&&Number.isFinite(t)&&t>=0&&t<=n?null:ot(`${e} must be a finite number between 0 and ${n}`)}o(_r,"outOfRange");function Rs(e,t){if(typeof e!="string")return ot("pet_ref must be a string");if(e.trim().length===0)return ot("pet_ref must not be blank");if(Xt(e))return ot("pet_ref contains an unpaired surrogate and cannot be encoded");if(t!=null&&typeof t!="object")return ot("profile must be an object");let n=[Ft("pet_ref",e,Hp)];return t?.name!==void 0&&n.push(Ft("name",t.name,ws)),t?.species!==void 0&&n.push(Ft("species",t.species,Is)),t?.breed!==void 0&&n.push(Ft("breed",t.breed,As)),t?.ageYears!==void 0&&n.push(_r("age_years",t.ageYears,Os)),t?.weightKg!==void 0&&n.push(_r("weight_kg",t.weightKg,Bs)),n.find(r=>r!==null)??null}o(Rs,"validate");function Ls(e,t){let n=xs(e,t);return "error"in n?{error:ot(n.error)}:n}o(Ls,"healthToWire");function Up(e){if(typeof e!="object"||e===null)return {error:ot("patch must be an object")};let t=e,n=[["name","name",l=>Ft("name",l,ws)],["species","species",l=>Ft("species",l,Is)],["breed","breed",l=>Ft("breed",l,As)],["ageYears","age_years",l=>_r("age_years",l,Os)],["weightKg","weight_kg",l=>_r("weight_kg",l,Bs)]],r={};for(let[l,s,a]of n){let d=t[l];if(d!==void 0){if(d!==null){let u=a(d);if(u!==null)return {error:u}}r[s]=d;}}let i=Ls(t,t.species);return "error"in i?i:(Object.assign(r,i.body),Object.keys(r).length===0?{error:ot("patch must change at least one field")}:{body:r})}o(Up,"patchToWire");function $p(e){if(e==null)return {body:{}};let t=Ls(e,e.species);return "error"in t?t:{body:{...e.name!==void 0?{name:e.name}:{},...e.species!==void 0?{species:e.species}:{},...e.breed!==void 0?{breed:e.breed}:{},...e.ageYears!==void 0?{age_years:e.ageYears}:{},...e.weightKg!==void 0?{weight_kg:e.weightKg}:{},...t.body}}}o($p,"toWire");var rt=o(e=>typeof e=="string"?e:null,"str"),wr=o(e=>typeof e=="number"&&Number.isFinite(e)?e:null,"num");function _s(e,t){let n=typeof e=="object"&&e!==null?e:{};return Object.freeze({petRef:rt(n.pet_ref)??t,name:rt(n.name),species:rt(n.species),breed:rt(n.breed),ageYears:wr(n.age_years),weightKg:wr(n.weight_kg)})}o(_s,"fromWire");function Ns(e){if(typeof e!="object"||e===null)return null;let t=e,n=rt(t.pet_ref);return n===null||n.length===0?null:Object.freeze({petId:rt(t.pet_id),petRef:n,name:rt(t.name),species:rt(t.species),breed:rt(t.breed),ageYears:wr(t.age_years),weightKg:wr(t.weight_kg),updatedAt:rt(t.updated_at)})}o(Ns,"widgetPetFromWire");function Kp(e){let t=Ns(e);return t===null?null:Object.freeze({...t,...Ps(e)})}o(Kp,"widgetPetProfileFromWire");function qp(e){let t=Array.isArray(e)?e:typeof e=="object"&&e!==null&&Array.isArray(e.pets)?e.pets:[];return Object.freeze(t.flatMap(n=>{let r=Ns(n);return r===null?[]:[r]}))}o(qp,"petListFromWire");function Fs(e){return Yp(Ot({auth:e}),Ot({auth:e,unaryTimeoutMs:Wp}))}o(Fs,"createPetsRepository");function Yp(e,t=e){let n=o((i,l)=>l?{...i,signal:l}:i,"withSignal"),r=o(i=>Rs(i,void 0)??`/widget/v1/pets/${encodeURIComponent(i)}`,"petPath");return {async list(i){let l=await e.send("pets.list",n({method:"GET",path:"/widget/v1/pets"},i?.signal));return l.ok?W(qp(l.value)):N(l.error)},async registerPet(i,l,s){let a=Rs(i,l);if(a!==null)return N(a);let d=$p(l);if("error"in d)return N(d.error);let f={method:"POST",path:`/widget/v1/pets/${encodeURIComponent(i)}`,body:d.body},y=await e.send("pets.registerPet",s?.signal?{...f,signal:s.signal}:f);return y.ok?W(_s(y.value,i)):N(y.error)},async updatePet(i,l,s){let a=r(i);if(typeof a!="string")return N(a);let d=Up(l);if("error"in d)return N(d.error);let u=await e.send("pets.updatePet",n({method:"PATCH",path:a,body:d.body},s?.signal));return u.ok?W(_s(u.value,i)):N(u.error)},async getPetProfile(i,l){let s=r(i);if(typeof s!="string")return N(s);let a=await e.send("pets.getPetProfile",n({method:"GET",path:`${s}/profile`},l?.signal));if(!a.ok)return N(a.error);let d=Kp(a.value);return d===null?N(pe("internalError",{retryable:false,httpStatus:502,wireMessage:"the pet profile response carried no pet_ref"})):W(d)},async deletePet(i,l){let s=r(i);if(typeof s!="string")return N(s);let a=await e.send("pets.deletePet",n({method:"DELETE",path:s},l?.signal));return a.ok?W(void 0):N(a.error)},async eraseUserData(i){let l=await t.send("pets.eraseUserData",n({method:"DELETE",path:"/widget/v1/me"},i?.signal),{maxAttempts:1});return l.ok?W(void 0):N(l.error)}}}o(Yp,"createPetsRepositoryOver");function St(){let{runtime:e,userRef:t,activePet:n,scopeEpoch:r}=Ye(),i=react.useMemo(()=>Fs(e.registry.services.authFor(t)),[e,t,r]),[l,s]=react.useState({repository:i,pets:[],loading:true,error:null}),a=l.repository===i?l:{pets:[],loading:true,error:null},d=react.useRef(0),u=react.useCallback(async()=>{let y=++d.current;s(c=>({...c,repository:i,loading:true,error:null,pets:c.repository===i?c.pets:[]}));let p=await i.list();y===d.current&&s(p.ok?{repository:i,pets:p.value,loading:false,error:null}:c=>({repository:i,pets:c.repository===i?c.pets:[],loading:false,error:p.error}));},[i]);react.useEffect(()=>(u(),()=>{d.current+=1;}),[u]);let f=react.useMemo(()=>n===null?null:a.pets.find(y=>y.petRef===n)??null,[n,a.pets]);return react.useMemo(()=>({pets:a.pets,activePet:f,loading:a.loading,error:a.error,refresh:u}),[a.pets,a.loading,a.error,f,u])}o(St,"useEverfurPets");var Zt=Object.freeze(["pet","where","issues","reason","emergency","clinician","time","review","booked"]),Ms=Object.freeze({petId:null,state:null,clinicianId:null,slot:null,holdExpiresAt:null,shareHealthRecords:false,idempotencyKey:null});function ti(e,t={}){let n=Object.freeze({...Ms,...t}),r=ei(0,e);return Object.freeze({index:r,draft:n,furthestIndex:r})}o(ti,"initialTelevetBookingState");function Nn(e,t){return e==="pet"?t.ownedPetCount<=1:e==="issues"?t.withIssues!==true:false}o(Nn,"isSkipped");function Ir(e){return Zt[e]}o(Ir,"stepAt");function ei(e,t){for(let n=e;n<Zt.length;n+=1){let r=Ir(n);if(r&&!Nn(r,t))return n}return Zt.length-1}o(ei,"nextVisible");function Ds(e,t){for(let n=e;n>=0;n-=1){let r=Ir(n);if(r&&!Nn(r,t))return n}return null}o(Ds,"previousVisible");function ni(e,t){return Ds(e.index-1,t)!==null}o(ni,"hasPreviousStep");function ri(e,t,n){switch(t.type){case "patch":{let r={...e.draft,...t.patch};return ("petId"in t.patch&&t.patch.petId!==e.draft.petId||"state"in t.patch&&t.patch.state!==e.draft.state||"clinicianId"in t.patch&&t.patch.clinicianId!==e.draft.clinicianId)&&e.draft.slot?Object.freeze({...e,draft:Object.freeze({...r,slot:null,holdExpiresAt:null,idempotencyKey:null})}):Object.freeze({...e,draft:Object.freeze(r)})}case "next":{let r=ei(e.index+1,n);return Object.freeze({...e,index:r,furthestIndex:Math.max(e.furthestIndex,r)})}case "back":{if(Ir(e.index)==="booked")return e;let r=Ds(e.index-1,n);return r===null?e:Object.freeze({...e,index:r})}case "goTo":{let r=Zt.indexOf(t.step);if(r<0)return e;let i=Nn(t.step,n)?ei(r,n):r;return Object.freeze({...e,index:i,furthestIndex:Math.max(e.furthestIndex,i)})}default:return e}}o(ri,"televetBookingReducer");function oi(e){return Zt.filter(t=>t!=="booked"&&(e===void 0||!Nn(t,e)))}o(oi,"televetBarSteps");function Vs(e,t,n=false){let r=e==="reason"&&n?"emergency":e,i=r==="booked"||t.includes(r)?t:oi();return {current:r==="booked"?i.length:i.indexOf(r)+1,total:i.length,steps:i}}o(Vs,"televetBarPosition");function ii(e){return Ir(e.index)??"pet"}o(ii,"currentStep");function Fn(e,t){let n=t.trim();return !!e.petId&&!!e.clinicianId&&!!e.slot&&Ne(e.state)&&n.length>0&&n.length<=vt}o(Fn,"canConfirm");function Ar(e,t){if(!e.holdExpiresAt)return false;let n=Date.parse(e.holdExpiresAt);return Number.isNaN(n)?false:n<=t}o(Ar,"isHoldExpired");function zs(e,t,n){return e.slot?.slotId!==t||e.holdExpiresAt===null||e.idempotencyKey===null?false:!Ar(e,n)}o(zs,"holdsSlot");var js=Object.freeze({slot:null,holdExpiresAt:null,idempotencyKey:null}),Zp=so();function li(e){return `televet.book.${Zp()}.${e}`}o(li,"televetBookingKey");function ai(e,t,n){let r=n?.version?.trim()??"";return !e||!t||r.length===0?Object.freeze({}):Object.freeze({state_attested:true,cancellation_policy_version:r})}o(ai,"attestation");function Me(e){let t=new Date(e);return Number.isNaN(t.getTime())?null:t}o(Me,"parse");function dt(e){let t=Me(e);return t?t.toLocaleTimeString(void 0,{hour:"numeric",minute:"2-digit"}):""}o(dt,"formatClock");function si(e){let t=Me(e);return t?t.toLocaleDateString(void 0,{month:"long",day:"numeric"}):""}o(si,"formatDate");function di(e){let t=Me(e);return t?t.toLocaleDateString(void 0,{weekday:"short",month:"short",day:"numeric"}):""}o(di,"formatDayLong");var Mt=10;function Mn(e){let t=Me(e);return t?new Intl.DateTimeFormat(void 0,{timeZoneName:"short"}).formatToParts(t).find(r=>r.type==="timeZoneName")?.value??"":""}o(Mn,"formatZone");function ef(e){let t=Me(e);if(!t)return "";let n=new Date(t.getTime()+Mt*6e4).toISOString(),r=Mn(e),i=`${dt(e)} - ${dt(n)}`;return r&&r!==""?`${i} ${r}`:i}o(ef,"formatVisitRange");function Hs(e){let t=si(e),n=[dt(e),Mn(e)].filter(Boolean).join(" ");return [t,n].filter(Boolean).join(", ")}o(Hs,"formatWhen");function Dn(e){let t=Me(e);return t?[t.toLocaleDateString(void 0,{weekday:"short"}),Hs(e)].filter(Boolean).join(", "):""}o(Dn,"formatWhenWithDay");function Vn(e){return [dt(e),Mn(e)].filter(Boolean).join(" ")}o(Vn,"formatClockWithZone");function zn(e){let t=Me(e);return t?`${t.getFullYear()}-${t.getMonth()+1}-${t.getDate()}`:"unknown"}o(zn,"localDayKey");function Ws(e){let t=Me(e);return t===null?"":t.toLocaleDateString(void 0,{month:"long"})}o(Ws,"formatMonthLabel");function jn(e){let t=Me(e);return t===null?"":t.toLocaleDateString(void 0,{weekday:"long",month:"long",day:"numeric"})}o(jn,"formatFullDayLabel");function Us(e){return e.toLocaleDateString(void 0,{weekday:"short",month:"short",day:"numeric"})}o(Us,"shortDay");function en(e){let t=Me(e);return t?[Us(t),Vn(e)].filter(Boolean).join(" \xB7 "):""}o(en,"formatVisitDayTime");function ui(e){return Me(e)?`${jn(e)} at ${Vn(e)}`:""}o(ui,"formatBookedWhen");function $s(e,t=false){let n=Me(e);return n?`${Us(n)} at ${t?Vn(e):dt(e)}`:""}o($s,"formatMoveTo");function Ks(e){let t=Me(e),n=t===null?0:t.getHours();return n<12?"morning":n<17?"afternoon":"evening"}o(Ks,"televetDayPeriod");function Ys(e){let{draft:t,reasonText:n,book:r,stateAttested:i,termsAttested:l,cancellationPolicy:s,triage:a,goTo:d,releaseSlot:u,setFailure:f,setEmergency:y,setBookedConsult:p,onBooked:c,media:v}=e,b=react.useCallback(E=>{let h=t.idempotencyKey;if(!Fn(t,n)||!h||v?.sending)return;if(Ar(t,Date.now())){f("expired"),d("time");return}let S=o(R=>{let x=yt(R);if(x.kind==="emergency"){y(x.categories);return}if(x.kind==="rate_limited"){f("rate_limited");return}f(x.kind==="not_entitled"?"not_entitled":x.kind==="slot_taken"?"taken":x.kind==="clinician_unavailable"?"clinician_unavailable":x.kind==="unavailable"?"unavailable":"failed"),x.kind==="slot_taken"&&(u(),d("time"));},"refuse");f(null),y(null);let w=o(R=>r.mutate({pet_id:t.petId,clinician_id:t.clinicianId,slot_id:t.slot.slotId,state:t.state,reason_text:n.trim(),species:null,media_refs:R,emergency_acknowledged:E||a.isAcknowledged(n),share_health_records:t.shareHealthRecords,...ai(i,l,s)},h,{onSuccess:o(x=>{if(!mr(x)){S(cr(x.status));return}p(x),d("booked"),c?.(x);},"onSuccess"),onError:o(x=>S(pr(x)),"onError")}),"bookWith");if(!v){w([]);return}v.send().then(w,()=>w([]));},[t,n,r,i,l,s,a,d,u,f,y,p,c,v]),C=react.useCallback(()=>b(false),[b]);return {submitBooking:b,confirm:C}}o(Ys,"useBookingSubmit");function nf(e){if(e.httpStatus===409)return Object.freeze({failure:"taken"});switch(yt(e).kind){case "slot_taken":return Object.freeze({failure:"taken"});case "rate_limited":return Object.freeze({failure:"rate_limited"});case "not_entitled":return Object.freeze({failure:"not_entitled"});case "unavailable":return Object.freeze({failure:"unavailable"});default:return Object.freeze({failure:"failed"})}}o(nf,"televetHoldFailure");function Gs(e){let{draft:t,hold:n,dispatch:r,setFailure:i,refetchSlots:l}=e;return react.useCallback(s=>{if(i(null),zs(t,s.slotId,Date.now())){r({type:"next"});return}n.mutate(s.slotId,{onSuccess:o(a=>{r({type:"patch",patch:{slot:s,holdExpiresAt:a.expiresAt,idempotencyKey:li(s.slotId)}}),r({type:"next"});},"onSuccess"),onError:o(a=>{let d=nf(a);i(d.failure),d.failure==="taken"&&l();},"onError")});},[t,n,r,i,l])}o(Gs,"useSlotHold");function ci(e){return Object.freeze(e==="dark"?{title:Q.noCliniciansTitle,message:Q.noCliniciansBody,retryLabel:Q.noCliniciansRetryCta,interestReason:null}:{title:Q.noCliniciansTitle,message:Q.noCliniciansRegionBody,retryLabel:null,interestReason:"no_licensed_vet"})}o(ci,"televetEmptyRosterView");function pi(e){return e?"roster":"dark"}o(pi,"televetEmptyRosterCause");var rf=o(e=>Object.freeze({ok:true,value:e}),"ok"),fi=o(e=>Object.freeze({ok:false,error:e}),"err");function mi(e,t,n,r){return Object.freeze({code:e,retryable:t,filename:n,...r??{}})}o(mi,"failure");async function Js(e,t,n,r){let i=o(()=>r?.signal?.aborted===true,"cancelled");if(i())return fi(mi("cancelled",true,n.filename));try{return await e.postMultipart(t,n.file,{...r?.signal?{signal:r.signal}:{},...r?.onProgress?{onProgress:r.onProgress}:{}}),rf(void 0)}catch{return i()?fi(mi("cancelled",true,n.filename)):fi(mi("server",true,n.filename))}}o(Js,"uploadAttachmentBytes");var Ct=Object.freeze({failed:0,refused:Object.freeze({size:0,type:0,unreadable:0})});function yi(e){let{failed:t,refused:n}=e;return t<=0&&n.size<=0&&n.type<=0&&n.unreadable<=0}o(yi,"isMediaShortfallEmpty");function gi(e){let t=o(r=>Number.isFinite(r)&&r>0?Math.floor(r):0,"count"),n=Q.media;return [{n:t(e.failed),one:n.droppedTemplate,many:n.droppedPluralTemplate},{n:t(e.refused.size),one:n.refusedSizeTemplate,many:n.refusedSizePluralTemplate},{n:t(e.refused.type),one:n.refusedTypeTemplate,many:n.refusedTypePluralTemplate},{n:t(e.refused.unreadable),one:n.refusedUnreadableTemplate,many:n.refusedUnreadablePluralTemplate}].filter(r=>r.n>0).map(r=>H(r.n===1?r.one:r.many,{n:String(r.n)}))}o(gi,"televetMediaShortfallLines");function Or(e){let t=Number.isFinite(e)&&e>0?Math.floor(e):0;return t===0?Ct:Object.freeze({failed:t,refused:Ct.refused})}o(Or,"mediaShortfallFromUnsentPicks");function of(e,t){let n=Or(t);return n.failed===0?e:Object.freeze({failed:e.failed+n.failed,refused:e.refused})}o(of,"withUnsentPicks");var lf=6e4;function Qs(e){let t=ur(e.filename,e.mimeType);return t===null?null:{file:{uri:e.uri,name:e.filename,mimeType:t,sizeBytes:e.fileSize},filename:e.filename,contentType:t,sizeBytes:e.fileSize}}o(Qs,"validated");function af(e,t){if(e?.kind!=="ready")return null;let n=e.policy.expires_in_seconds*1e3;return t-e.at<n-lf?e.policy:null}o(af,"fresh");function Zs({media:e,controller:t,transport:n}){let[r,i]=react.useState(()=>new Map),[l,s]=react.useState(false),[a,d]=react.useState(false),u=react.useRef(r),f=react.useRef(e);f.current=e;let y=react.useRef(false),p=react.useRef(false),c=react.useRef(new AbortController);react.useEffect(()=>{let _=new AbortController;return c.current=_,()=>_.abort()},[]);let v=t?.initiateAttachment?.bind(t),b=l||v===void 0,C=react.useCallback((_,P)=>{let A=new Map(u.current);A.set(_,P),u.current=A,i(A);},[]),E=react.useCallback(()=>{y.current=true,s(true);},[]),h=react.useCallback(async(_,P)=>{if(v===void 0)return "dark";let A=await v({filename:P.filename,contentType:P.contentType,fileSize:P.sizeBytes},c.current.signal);if(c.current.signal.aborted)return null;if(A.ok)return C(_.uri,{kind:"ready",policy:A.value,at:Date.now()}),A.value;let V=da(A.error);return V==="dark"?"dark":(C(_.uri,V==="failed"?{kind:"retry"}:{kind:"refused",cause:V}),null)},[v,C]);react.useEffect(()=>{if(!b)for(let _ of e){if(u.current.has(_.uri))continue;let P=aa(_),A=Qs(_);if(P!==null||A===null){C(_.uri,{kind:"refused",cause:P??"type"});continue}C(_.uri,{kind:"checking"}),h(_,A).then(V=>{V==="dark"&&E();});}},[e,b,h,C,E]);let S=react.useCallback(async()=>{if(y.current||v===void 0||p.current)return [];p.current=true,d(true);let _=[];try{for(let P of f.current){let A=u.current.get(P.uri);if(A?.kind==="sent"){_.push(A.s3Key);continue}if(A?.kind==="refused")continue;let V=Qs(P);if(V===null)continue;let j=af(A,Date.now());if(j===null){let G=await h(P,V);if(G==="dark")return E(),[];if(G===null){u.current.get(P.uri)?.kind==="retry"&&C(P.uri,{kind:"failed"});continue}j=G;}if(c.current.signal.aborted)return [];let ee=await Js(n,j,V,{signal:c.current.signal});if(c.current.signal.aborted)return [];ee.ok?(C(P.uri,{kind:"sent",s3Key:j.s3_key}),_.push(j.s3_key)):C(P.uri,{kind:"failed"});}return _}catch{return _}finally{p.current=false,c.current.signal.aborted||d(false);}},[v,h,C,E,n]),w=react.useMemo(()=>{if(e.length===0)return Ct;if(b)return Or(e.length);let _={size:0,type:0,unreadable:0},P=0;for(let A of e){let V=r.get(A.uri);V?.kind==="refused"?_[V.cause]+=1:V?.kind==="failed"&&(P+=1);}return P===0&&_.size+_.type+_.unreadable===0?Ct:Object.freeze({failed:P,refused:Object.freeze(_)})},[e,b,r]),R=react.useMemo(()=>e.flatMap(_=>{let P=r.get(_.uri);return P?.kind==="sent"?[{key:P.s3Key,pick:_}]:[]}),[e,r]),x=react.useCallback(_=>{if(b)return w;let P=new Set(_.mediaRefs),A=R.filter(V=>!P.has(V.key)).length;return A===0?w:Object.freeze({failed:w.failed+A,refused:w.refused})},[b,w,R]),T=react.useCallback(_=>{if(b||R.length!==1)return false;let[P]=R;return P===void 0||!_.mediaRefs.includes(P.key)?false:(ur(P.pick.filename,P.pick.mimeType)??"").startsWith("image/")},[b,R]),I=!b&&[...r.values()].some(_=>_.kind==="ready"||_.kind==="sent");return react.useMemo(()=>({shortfall:w,sending:a,live:I,send:S,bookedShortfall:x,sentOnePhoto:T}),[w,a,I,S,x,T])}o(Zs,"useTelevetBookingMedia");var sf="file",df="chat attachment upload: the file handle carries no bytes",hi="chat attachment upload failed";function ed(e={}){let t=e.fetch??((n,r)=>fetch(n,r));return Object.freeze({postMultipart(n,r,i){let l=r.blob;if(l===void 0)return Promise.reject(new Error(df));if(i.signal?.aborted===true)return Promise.reject(new Error(hi));let s=new FormData;for(let[a,d]of Object.entries(n.upload_fields))s.append(a,d);return s.append(sf,l,"image"),t(n.upload_url,{method:"POST",body:s,mode:"cors",credentials:"omit",...i.signal?{signal:i.signal}:{}}).then(a=>{if(!(a.status>=200&&a.status<300))return Promise.reject(new Error(hi));i.onProgress?.(1);},()=>Promise.reject(new Error(hi)))}})}o(ed,"createWebAttachmentTransport");var uf="booking attachment upload: the picked file could not be read";function td(e={}){let t=e.fetch??((r,i)=>fetch(r,i)),n=ed({fetch:t});return Object.freeze({postMultipart(r,i,l){return i.blob!==void 0?n.postMultipart(r,i,l):t(i.uri,l.signal?{signal:l.signal}:void 0).then(s=>s.blob()).then(s=>n.postMultipart(r,{...i,blob:new Blob([s],{type:i.mimeType})},l),()=>Promise.reject(new Error(uf)))}})}o(td,"createWebTelevetMediaTransport");var De=Object.freeze({title:"Vet test mode (sandbox tenants)",create:"Create a simulated visit for this pet",createLabel:"Create",visitTemplate:"Visit {visitRef}: {status}, scheduled {scheduledAt}.",eventsNote:"Raise one of the visit events that is not a status change, to see what a tap on it opens:",advance:Object.freeze({completed:"Complete it",cancelled:"Cancel it",no_show:"Mark no-show"}),events:Object.freeze({rescheduled:"Rescheduled",reminder:"Reminder (24h)",followup_sent:"Follow-up sent",message_received:"Vet replied",ended:"Ended"}),resultTemplate:"{label}: {result}.",errorTemplate:"{label}: {message}"});var Ti="/widget/v1/televet/sandbox/visits",cf=128,nd=64,id=new Set(["booked","cancelled","completed","no_show"]),pf=new Set(["applied","already_applied","not_applicable"]),rd=new Set(["rescheduled","reminder","followup_sent","message_received","ended"]),od=new Set(["24h","30m"]);function Dt(e){return pe("validationFailed",{retryable:false,wireMessage:e})}o(Dt,"invalid");function Si(e,t,n){return typeof t!="string"||t.length===0?Dt(`${e} is required and must be a non-empty string`):Xt(t)?Dt(`${e} contains an unpaired surrogate and cannot be encoded`):Qt(t)>n?Dt(`${e} is longer than ${n} characters`):null}o(Si,"textError");function ff(e){if(typeof e!="object"||e===null)return null;let{result:t,visit:n}=e;if(typeof t!="string"||!pf.has(t)||typeof n!="object"||n===null)return null;let{visit_ref:r,pet_ref:i,status:l,scheduled_at:s}=n;return typeof r!="string"||r.length===0||typeof i!="string"||i.length===0||typeof l!="string"||!id.has(l)||typeof s!="string"||s.length===0?null:Object.freeze({result:t,visit:Object.freeze({visitRef:r,petRef:i,status:l,scheduledAt:s})})}o(ff,"mapActionResult");function ld(e){let t=e.funnel??Ot({auth:e.auth,...e.errorPolicy?{errorPolicy:e.errorPolicy}:{}}),n=o(async(r,i,l)=>{let s=await t.send(r,{method:"POST",path:i,body:l},{idempotent:false,maxAttempts:1});if(!s.ok)return N(s.error);let a=ff(s.value);return a===null?N(pe("internalError",{retryable:false})):W(a)},"run");return {createVisit(r){let i=Si("pet_ref",r,cf);return i!==null?Promise.resolve(N(i)):n("televet.sandbox.createVisit",Ti,{pet_ref:r})},advanceVisit(r,i){let l=Si("visit_ref",r,nd);if(l!==null)return Promise.resolve(N(l));if(typeof i!="string"||!id.has(i))return Promise.resolve(N(Dt("to must be booked, cancelled, completed or no_show")));let s=`${Ti}/${encodeURIComponent(r)}/advance`;return n("televet.sandbox.advanceVisit",s,{to:i})},simulateVisitEvent(r,i,l){let s=Si("visit_ref",r,nd);if(s!==null)return Promise.resolve(N(s));if(typeof i!="string"||!rd.has(i))return Promise.resolve(N(Dt(`event must be one of ${[...rd].join(", ")}`)));if(i==="reminder"){if(typeof l!="string"||!od.has(l))return Promise.resolve(N(Dt(`stage must be one of ${[...od].join(", ")} for a reminder`)))}else if(l!==void 0)return Promise.resolve(N(Dt("stage is only for a reminder")));let a=`${Ti}/${encodeURIComponent(r)}/simulate`;return n("televet.sandbox.simulateVisitEvent",a,l===void 0?{event:i}:{event:i,stage:l})}}}o(ld,"createVetVisitSandboxController");function ad(){let{runtime:e,userRef:t,scopeEpoch:n}=Ye();return react.useMemo(()=>{let{services:r}=e.registry;return ld({auth:r.authFor(t),...r.errorPolicy?{errorPolicy:r.errorPolicy}:{}})},[e,t,n])}o(ad,"useEverfurVetVisitSandbox");function vf(e,t){return !e||!t.enabled?false:t.data!==null&&t.data.active===false||An({error:t.error??null})}o(vf,"televetOpensSimulator");var bf=o(e=>e.livemode===false,"isSandbox");function hf(){let e=Ye().runtime.entitlements,t=react.useCallback(()=>bf(e.getSnapshot()),[e]);return react.useSyncExternalStore(e.subscribe,t,t)}o(hf,"useTelevetSandboxTenant");function dd(e,t){let n=vf(hf(),e);return {simulate:n,fundingRefused:t&&!n}}o(dd,"useTelevetSimulatorRoute");function ud(e){let t=ad(),[n,r]=react.useState(null),[i,l]=react.useState(null),[s,a]=react.useState(false),d=react.useRef(false),u=react.useRef(true);react.useEffect(()=>(u.current=true,()=>{u.current=false;}),[]);let f=react.useCallback((b,C,E)=>{d.current||(d.current=true,a(true),C().then(h=>{if(d.current=false,!!u.current){if(a(false),!h.ok){l({tone:"danger",text:H(De.errorTemplate,{label:b,message:h.error.displayMessage})});return}E&&r(h.value.visit),l({tone:"ok",text:H(De.resultTemplate,{label:b,result:h.value.result})});}}));},[]),y=react.useCallback(()=>{f(De.createLabel,()=>t.createVisit(e),true);},[e,f,t]),p=react.useCallback(b=>{n!==null&&f(De.advance[b],()=>t.advanceVisit(n.visitRef,b),true);},[f,t,n]),c=react.useCallback(b=>{if(n===null)return;let C=b==="reminder"?"24h":void 0;f(De.events[b],()=>t.simulateVisitEvent(n.visitRef,b,C),false);},[f,t,n]),v=n===null?null:H(De.visitTemplate,{visitRef:n.visitRef,status:n.status,scheduledAt:n.scheduledAt});return {visit:n,visitLine:v,line:i,busy:s,create:y,advance:p,raise:c}}o(ud,"useTelevetVisitSimulator");var cd=Object.freeze(["completed","cancelled","no_show"]),pd=Object.freeze(["rescheduled","reminder","followup_sent","message_received","ended"]);function fd(e){let t=e?.triage;return !e||!t?null:async(n,r)=>{let i=await t.call(e,n,r);return i.ok?i.value:null}}o(fd,"televetTriageReadFrom");function xi(e){let[t,n]=react.useState(false),[r,i]=react.useState(false),[l,s]=react.useState(null),a=react.useRef(null),d=react.useRef(null),u=react.useRef(true);react.useEffect(()=>(u.current=true,()=>{u.current=false,d.current?.abort(),d.current=null;}),[]);let f=react.useCallback(()=>{d.current?.abort(),d.current=null,u.current&&i(false);},[]),y=react.useCallback(async C=>{if(d.current!==null)return false;let E=C.trim();if(l!==null&&l===E||!e)return true;let h=a.current!==null&&a.current.reason===E?a.current.emergency:null;if(h===null){let S=new AbortController;d.current=S,i(true);try{let w=await e(E,S.signal);if(S.signal.aborted||!u.current)return !1;w===null?h=!1:(h=w.isEmergency||w.fallback,a.current=Object.freeze({reason:E,emergency:h}));}catch{if(S.signal.aborted||!u.current)return false;h=false;}finally{d.current===S&&(d.current=null,u.current&&i(false));}}return h===true?(n(true),false):true},[l,e]),p=react.useCallback(C=>{s(C.trim()),n(false);},[]),c=react.useCallback(()=>n(false),[]),v=react.useCallback(()=>{f(),a.current=null,s(null),n(false);},[f]),b=react.useCallback(C=>l!==null&&l===C.trim(),[l]);return {open:t,checking:r,check:y,acknowledge:p,close:c,cancel:f,reset:v,isAcknowledged:b}}o(xi,"useEarlyTriage");function kf(e){let t=e?.trim().toUpperCase()??"";return /^[A-Z]{2}$/.test(t)?t:null}o(kf,"normalizeStateCode");function Pi(e,t){let n=kf(e),[r,i]=react.useState(()=>Object.freeze({})),l=react.useRef(0),s=react.useRef(null),a=react.useCallback(d=>{if(!t||n===null)return null;let u=`${n}:${d}`;s.current!==null&&s.current!==u&&(l.current+=1),s.current=u;let f=r[u]??"idle";return {joined:f==="joined",pending:f==="pending",failed:f==="failed",onPress:o(()=>{if(f==="pending"||f==="joined")return;let y=l.current+=1;i(p=>Object.freeze({...p,[u]:"pending"})),(async()=>{let p=false;try{p=await t(n,d);}catch{p=false;}l.current===y&&i(c=>Object.freeze({...c,[u]:p?"joined":"failed"}));})();},"onPress")}},[n,r,t]);return react.useMemo(()=>({actionFor:a}),[a])}o(Pi,"useStateInterest");var xf=Object.freeze([{id:"itchy-skin",label:"Itchy skin and allergies"},{id:"ear-infections",label:"Ear problems"},{id:"upset-stomach",label:"Upset stomach"},{id:"anxiety",label:"Anxiety and behavior"},{id:"parasites",label:"Fleas, ticks and heartworm"},{id:"joint-pain",label:"Joints and mobility"},{id:"eye-issues",label:"Eyes"},{id:"urinary",label:"Peeing and urinary"},{id:"surgery-aftercare",label:"Surgery aftercare"},{id:"senior-care",label:"Senior care"},{id:"wellness",label:"A wellness check-in"}].map(e=>Object.freeze(e))),Pf="other";function yd(e){return Object.freeze([...xf,Object.freeze({id:Pf,label:Q.otherIssue})])}o(yd,"televetIssueChips");function gd(e,t){let n=e.filter(i=>i.trim().length>0),r=t.trim();return n.length===0?r:r.length===0?n.join(", "):`${n.join(", ")}
2
+ ${r}`}o(gd,"composeTelevetReason");var Ri=Object.freeze([["AL","Alabama"],["AK","Alaska"],["AZ","Arizona"],["AR","Arkansas"],["CA","California"],["CO","Colorado"],["CT","Connecticut"],["DE","Delaware"],["DC","District of Columbia"],["FL","Florida"],["GA","Georgia"],["HI","Hawaii"],["ID","Idaho"],["IL","Illinois"],["IN","Indiana"],["IA","Iowa"],["KS","Kansas"],["KY","Kentucky"],["LA","Louisiana"],["ME","Maine"],["MD","Maryland"],["MA","Massachusetts"],["MI","Michigan"],["MN","Minnesota"],["MS","Mississippi"],["MO","Missouri"],["MT","Montana"],["NE","Nebraska"],["NV","Nevada"],["NH","New Hampshire"],["NJ","New Jersey"],["NM","New Mexico"],["NY","New York"],["NC","North Carolina"],["ND","North Dakota"],["OH","Ohio"],["OK","Oklahoma"],["OR","Oregon"],["PA","Pennsylvania"],["RI","Rhode Island"],["SC","South Carolina"],["SD","South Dakota"],["TN","Tennessee"],["TX","Texas"],["UT","Utah"],["VT","Vermont"],["VA","Virginia"],["WA","Washington"],["WV","West Virginia"],["WI","Wisconsin"],["WY","Wyoming"]].map(([e,t])=>Object.freeze({code:e,name:t})));function Un(e){let t=e?.trim().toUpperCase()??"";return Ri.find(n=>n.code===t)?.name??t}o(Un,"televetStateName");function vd(e,t){return e?e.wellnessAvailable?e.prescriptionsAvailable?H(Q.wherePrescribeMetaTemplate,{pet:t}):Q.whereWellnessMeta:Q.stateBlockedTitle:null}o(vd,"televetWhereMeta");function _f(e,t,n,r){if(!e||!t||!n||!t.prescriptionsAvailable)return null;let i=n.trim().toUpperCase();return e.licensedStates.some(s=>s.state.trim().toUpperCase()===i&&s.canPrescribe)?H(Q.whereLicensedTemplate,{vet:e.displayName,state:Un(i),pet:r}):null}o(_f,"televetWhereLicensedLine");function bd(e){let{hostState:t,state:n,policy:r,clinician:i,petName:l,controller:s,onState:a}=e,d=t&&Ne(t)?t.trim().toUpperCase():null,u=n&&Ne(n)?n.trim().toUpperCase():null,f=Rn(d,s),[y,p]=react.useState(d===null||u!==null&&u!==d),c=d===null||y,v=react.useCallback(()=>{d!==null&&(p(false),a(d));},[d,a]),b=react.useCallback(()=>{p(true),u===d&&a(null);},[u,d,a]),C=react.useCallback(w=>{p(true),a(w.trim().toUpperCase());},[a]),E=d===null?null:{code:d,name:Un(d),meta:vd(f.data,l)},h=c&&u!==null&&(d===null||u!==d||y)?u:null,S=h===null?null:{code:h,name:Un(h),meta:vd(r.data,l)};return {hostPlace:E,otherSelected:c,otherPlace:S,licensedLine:_f(i,r.data,u,l),stateName:u===null?null:Un(u),canContinue:u!==null,pickHost:v,pickOther:b,pickState:C}}o(bd,"useTelevetWhere");function Sd(e){let{reasonText:t,state:n,hostState:r,clinicianId:i,clinicians:l,policy:s,petName:a,controller:d,dispatch:u}=e,[f,y]=react.useState([]),[p,c]=react.useState(null),v=react.useRef(false),b=react.useMemo(()=>yd(),[]),C=f.map(x=>b.find(T=>T.id===x)?.label??"").filter(Boolean),E=gd(C,t),h=C.length>0?C.join(", "):t.trim(),S=react.useCallback(x=>y(T=>T.includes(x)?T.filter(I=>I!==x):[...T,x]),[]),w=l?.find(x=>x.clinicianId===i)??l?.[0]??null,R=bd({hostState:r,state:n,policy:s,clinician:w,petName:a??Q.petFallback,controller:d,onState:react.useCallback(x=>{v.current=true,u({type:"patch",patch:{state:x,clinicianId:null}});},[u])});return {issueChips:b,concernIds:f,toggleConcern:S,composedReason:E,aboutLine:h,emergencyAnswer:p,setEmergencyAnswer:c,where:R,matchedClinician:w,whereTouched:v}}o(Sd,"useTelevetBookingIntake");var rn=2;function Cd(e){return typeof e!="number"||!Number.isInteger(e)?rn:e<1?1:e>6?6:e}o(Cd,"headingLevel");function ut(e){return e>=6?6:e+1}o(ut,"nextHeadingLevel");function ie(e){return `h${String(e)}`}o(ie,"headingTag");var Bf=ut(rn),wi=react.createContext(Bf);function ge(){return react.useContext(wi)}o(ge,"useNestedHeadingLevel");function Lf(e,t){if(e===void 0)return {};let n={};return e.backgroundColor!==void 0&&(n.backgroundColor=e.backgroundColor),e.borderColor!==void 0&&(n.borderColor=e.borderColor,n.borderWidth=t??1),e.borderRadius!==void 0&&(n.borderRadius=e.borderRadius),n}o(Lf,"slotBox");function Ed(e){return e?.textColor===void 0?{}:{color:e.textColor}}o(Ed,"slotText");function kd(e,t){let n=Lf(e,t),r={};return n.backgroundColor!==void 0&&(r.backgroundColor=n.backgroundColor),n.borderColor!==void 0&&(r.border=`${n.borderWidth??1}px solid ${n.borderColor}`),n.borderRadius!==void 0&&(r.borderRadius=n.borderRadius),r}o(kd,"slotBoxCss");var xe=44;function Y(){let e=M();return react.useMemo(()=>Df(e),[e])}o(Y,"useBookingStyles");function B({label:e,onPress:t,kind:n="primary",size:r="md",disabled:i=false,loading:l=false,fullWidth:s=true,accessibilityLabel:a,describedBy:d,testID:u,style:f}){let y=Y(),p=i||l,c=Br(p);return jsxRuntime.jsx("button",{type:"button",onClick:t,...c.handlers,disabled:p,"aria-busy":l||void 0,...a&&a!==e?{"aria-label":a}:{},...d?{"aria-describedby":d}:{},"data-testid":u,style:{...y.button,...n==="primary"?y.buttonPrimary:n==="danger"?y.buttonDanger:n==="quiet"?y.buttonQuiet:y.buttonSecondary,...r==="lg"?y.buttonLarge:null,...s?y.buttonFull:y.buttonAuto,...p?y.buttonDisabled:null,...c.style,...f},children:e})}o(B,"TelevetButton");function le({title:e,message:t,actionLabel:n,onAction:r,testID:i}){let l=Y(),s=ie(ge()),a=typeof n=="string"&&n.length>0&&typeof r=="function";return jsxRuntime.jsxs("div",{style:l.stateCard,"data-testid":i,children:[jsxRuntime.jsx(s,{style:l.stateTitle,children:e}),t?jsxRuntime.jsx("p",{style:l.stateMessage,children:t}):null,a?jsxRuntime.jsx(B,{label:n,onPress:r,kind:"secondary",fullWidth:false}):null]})}o(le,"TelevetStateCard");function Br(e=false,t=.97){let n=M(),[r,i]=react.useState(false);if(n.motion.reducedMotion||e)return {handlers:{},style:{}};let s=o(()=>i(false),"up");return {handlers:{onPointerDown:o(()=>i(true),"onPointerDown"),onPointerUp:s,onPointerLeave:s,onPointerCancel:s},style:{transform:r?`scale(${String(t)})`:void 0,transition:`transform ${String(Mf)}ms ${n.motion.easing.emphasized}, background-color ${String(n.motion.duration.normal)}ms ease, border-color ${String(n.motion.duration.normal)}ms ease`}}}o(Br,"useTelevetPress");var Mf=160;function ve({height:e,width:t="100%",testID:n}){let r=Y();return jsxRuntime.jsx("span",{"aria-hidden":"true","data-testid":n,style:{...r.skeleton,height:e,width:t}})}o(ve,"TelevetSkeletonBlock");function ae({message:e,assertive:t=false,testID:n,style:r}){let i=Y();return jsxRuntime.jsx("p",{role:t?"alert":"status","data-testid":n,style:{...i.failure,...r},children:e})}o(ae,"TelevetFailureLine");function Df(e){let{color:t,space:n,radius:r,type:i,slots:l}=e,{size:s,lineHeight:a}=i,d=o(u=>`${String(u)}px`,"rem");return {screen:{...Jt,display:"flex",flexDirection:"column",minHeight:0,flex:"1 1 auto",gap:d(n.md),paddingLeft:d(n.xl),paddingRight:d(n.xl),boxSizing:"border-box"},stepFill:{display:"flex",flexDirection:"column",flex:"1 1 auto",minHeight:0,gap:d(n.md)},list:{display:"flex",flexDirection:"column",gap:d(n.sm)},button:{minHeight:xe,display:"inline-flex",alignItems:"center",justifyContent:"center",gap:d(n.sm),paddingLeft:d(20),paddingRight:d(20),paddingTop:d(n.xs),paddingBottom:d(n.xs),borderRadius:d(r.pill),borderStyle:"solid",borderWidth:1.5,borderColor:"transparent",cursor:"pointer",textAlign:"center",...k(e,"bold"),fontSize:d(s.bodyTight),lineHeight:String(a.snug),boxSizing:"border-box"},buttonLarge:{minHeight:52,paddingLeft:d(26),paddingRight:d(26),fontSize:d(16)},buttonFull:{alignSelf:"stretch",width:"100%"},buttonAuto:{alignSelf:"flex-start",minWidth:xe},buttonPrimary:{backgroundColor:t.primary,borderColor:t.primary,color:t.onPrimary,...kd(l.primaryButton),...Ed(l.primaryButton)},buttonSecondary:{borderColor:t.brandInk,backgroundColor:t.surface,color:t.brandInk,...l.primaryButton?.borderRadius===void 0?null:{borderRadius:d(l.primaryButton.borderRadius)},...l.primaryButton?.borderColor===void 0?null:{borderColor:l.primaryButton.borderColor}},buttonDanger:{backgroundColor:t.danger,borderColor:t.danger,color:t.onDanger},buttonQuiet:{backgroundColor:"transparent",borderColor:"transparent",color:t.brandInk,paddingLeft:d(n.sm),paddingRight:d(n.sm)},buttonDisabled:{opacity:.45,cursor:"not-allowed"},stateCard:{minHeight:140,display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",gap:d(n.sm),padding:d(n.lg),borderRadius:d(r.lg),borderStyle:"solid",borderWidth:1,borderColor:t.brandBorder,boxSizing:"border-box"},stateTitle:{margin:0,...k(e,"medium"),color:t.brandInk,fontSize:d(s.subtitle),lineHeight:String(a.snug)},stateMessage:{margin:0,...k(e,"regular"),color:t.text.metaCool,fontSize:d(s.body),lineHeight:String(a.normal)},skeleton:{display:"block",borderRadius:d(r.md),backgroundColor:t.skeleton,flexShrink:0},failure:{margin:0,...k(e,"regular"),color:t.danger,fontSize:d(s.caption),lineHeight:String(a.normal)},stepTitle:{margin:0,...k(e,"medium"),color:t.brandInk,fontSize:d(Ge(e,"heading",30)),lineHeight:"1.1",letterSpacing:"-0.03em",textAlign:"left",textWrap:"balance"},stepHelp:{margin:0,...k(e,"regular"),color:t.text.primary,fontSize:d(s.body),lineHeight:String(a.relaxed),textAlign:"left",maxWidth:"62ch"},divider:{height:1,backgroundColor:t.brandBorder,flexShrink:0},scrollRoot:{display:"flex",flexDirection:"column",flex:"1 1 auto",minHeight:0},scrollBody:{flex:"1 1 auto",minHeight:0,overflowY:"auto",overscrollBehavior:"contain"},scrollFooter:{flexShrink:0,paddingTop:d(n.md),paddingBottom:d(n.lg)}}}o(Df,"makeBookingStyles");function an({petName:e,primaryVet:t,onFindEmergencyVet:n}){return true}o(an,"hasTelevetEmergencyExit");function Vt({petName:e,primaryVet:t,onFindEmergencyVet:n,testIDPrefix:r}){let i=M(),l=react.useMemo(()=>Uf(i),[i]),s=e?.trim()??"",a=`${react.useId()}-primary-vet-hint`;return jsxRuntime.jsxs("div",{style:l.exits,"data-testid":`${r}-exits`,children:[n?jsxRuntime.jsxs("button",{type:"button",onClick:()=>{lr(n);},style:{...l.card,...l.cardButton},"data-testid":`${r}-find-vet`,children:[jsxRuntime.jsx("span",{style:l.text,children:jsxRuntime.jsx("span",{style:l.title,children:qt.findEmergencyVet})}),jsxRuntime.jsx(Ii,{})]}):null,jsxRuntime.jsxs("a",{href:qt.poisonControlTel,style:l.card,"data-testid":`${r}-poison-control`,children:[jsxRuntime.jsxs("span",{style:l.text,children:[jsxRuntime.jsx("span",{style:l.title,children:qt.poisonControl}),jsxRuntime.jsx("span",{style:l.detail,children:qt.poisonControlDetail})]}),jsxRuntime.jsx(Ii,{})]}),t!=null&&s.length>0?jsxRuntime.jsx(Hf,{petName:s,vet:t,hintId:a,local:l,testIDPrefix:r}):null]})}o(Vt,"TelevetEmergencyExits");function Hf({petName:e,vet:t,hintId:n,local:r,testIDPrefix:i}){let l=H(m.emergency.exitPrimaryVetTitle,{petName:e}),s=t.detail?.trim()??"",a=jsxRuntime.jsxs("span",{style:r.text,children:[jsxRuntime.jsx("span",{style:r.title,children:l}),s.length>0?jsxRuntime.jsx("span",{style:r.detail,children:s}):null]});if(!t.dial)return jsxRuntime.jsx("div",{style:r.card,"data-testid":`${i}-primary-vet`,children:a});let d=t.dial;return jsxRuntime.jsxs("button",{type:"button",onClick:()=>{lr(d);},"aria-label":s.length>0?`${l}, ${s}`:l,"aria-describedby":n,style:{...r.card,...r.cardButton},"data-testid":`${i}-primary-vet-call`,children:[a,jsxRuntime.jsx(Ii,{}),jsxRuntime.jsx("span",{id:n,style:Wf,children:m.emergency.startCallHint})]})}o(Hf,"PrimaryVetCard");function Ii(){return jsxRuntime.jsx("svg",{"aria-hidden":"true",width:"18",height:"18",viewBox:"0 0 19.358 19.358",fill:"none",style:{marginLeft:"auto",flexShrink:0},children:jsxRuntime.jsx("path",{d:"M7.25918 14.5191L12.0987 9.67957L7.25918 4.84007",stroke:"currentColor",strokeWidth:"1.61317",strokeLinecap:"round",strokeLinejoin:"round"})})}o(Ii,"Chevron");var Wf=Object.freeze({position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:0});function Uf(e){let{color:t,space:n,radius:r,type:i}=e,{size:l,lineHeight:s}=i;return {exits:{display:"flex",flexDirection:"column",borderRadius:r.md,backgroundColor:t.surface,paddingLeft:14,paddingRight:14,overflow:"hidden"},card:{display:"flex",alignItems:"center",gap:14,minHeight:xe,paddingTop:n.md,paddingBottom:n.md,paddingLeft:0,paddingRight:0,borderWidth:0,borderBottomWidth:1,marginBottom:-1,borderStyle:"solid",borderColor:t.borderRingCream,background:"transparent",color:t.brandInk,textAlign:"start",textDecoration:"none",boxSizing:"border-box"},cardButton:{width:"100%",cursor:"pointer",font:"inherit",position:"relative"},text:{display:"flex",flexDirection:"column",gap:2,flexShrink:1,minWidth:0},title:{...k(e,"bold"),color:t.brandInk,fontSize:l.body,lineHeight:String(s.snug)},detail:{...k(e,"regular"),color:t.text.muted,fontSize:14,lineHeight:String(s.normal)}}}o(Uf,"makeExitStyles");function Pd({petName:e,primaryVet:t,onFindEmergencyVet:n,onContinue:r}){let i=M(),l=Y(),s=react.useMemo(()=>Li(i),[i]),a=ie(ge()),d=m.emergency.lede;return jsxRuntime.jsxs("section",{role:"alert",style:{...l.stepFill,...s.emergencyPanel},"data-testid":"televet-early-emergency",children:[jsxRuntime.jsx(a,{style:s.emergencyTitle,children:m.emergency.bannerTitle}),jsxRuntime.jsx("p",{style:s.emergencyLede,children:d}),jsxRuntime.jsx(Vt,{petName:e,primaryVet:t,onFindEmergencyVet:n,testIDPrefix:"televet-early-emergency"}),jsxRuntime.jsx(B,{label:m.emergency.keepBookingCta,kind:"secondary",onPress:r,testID:"televet-early-emergency-continue"})]})}o(Pd,"TelevetEarlyEmergency");function Oi({action:e,testIDPrefix:t}){let n=M(),r=react.useMemo(()=>Li(n),[n]),i=ie(ge());return e===null?null:e.joined?jsxRuntime.jsxs("div",{role:"status","data-testid":`${t}-joined`,style:r.interestFeedback,children:[jsxRuntime.jsx(i,{style:r.interestJoinedTitle,children:m.stateInterest.joinedTitle}),jsxRuntime.jsx("p",{style:r.interestBody,children:m.stateInterest.joinedBody})]}):jsxRuntime.jsxs("div",{"data-testid":t,style:r.interestAction,children:[jsxRuntime.jsx(B,{label:e.pending?m.stateInterest.submitting:m.stateInterest.cta,kind:"secondary",loading:e.pending,disabled:e.pending,onPress:e.onPress,testID:`${t}-submit`}),e.failed?jsxRuntime.jsx(ae,{message:m.stateInterest.failed,assertive:true,testID:`${t}-error`}):null]})}o(Oi,"TelevetStateInterestAction");function Rd({cause:e,onRetry:t,stateInterest:n=null}){let r=ci(e);return jsxRuntime.jsxs("div",{"data-testid":"televet-clinicians-empty",children:[jsxRuntime.jsx(le,{title:r.title,message:r.message,...r.retryLabel!==null&&t?{actionLabel:r.retryLabel,onAction:t}:{}}),r.interestReason!==null?jsxRuntime.jsx(Oi,{action:n??null,testIDPrefix:"televet-state-interest-no-licensed-vet"}):null]})}o(Rd,"TelevetClinicianEmptyState");function $f({onCheckAvailability:e}){return jsxRuntime.jsx(Bi,{...e?{onCheckAvailability:e}:{}})}o($f,"TelevetEntitlementInterestState");function Bi({onCheckAvailability:e,renderUnavailable:t}){let n=Y();return jsxRuntime.jsxs("div",{"data-testid":"televet-booking-not-entitled",style:n.list,children:[t?t():jsxRuntime.jsx(le,{title:m.bookingPausedTitle}),e?jsxRuntime.jsx(B,{label:m.checkAvailabilityCta,kind:"secondary",onPress:e,testID:"televet-check-state-availability"}):null]})}o(Bi,"EntitlementPausedState");function $n({shortfall:e,testIDPrefix:t}){let n=M(),r=react.useMemo(()=>Li(n),[n]);if(yi(e))return null;let i=gi(e);return i.length===0?null:jsxRuntime.jsx("ul",{role:"status",style:r.mediaNotice,"data-testid":`${t}-media-notice`,children:i.map((l,s)=>jsxRuntime.jsx("li",{style:r.mediaLine,"data-testid":`${t}-media-line-${String(s)}`,children:l},l))})}o($n,"TelevetMediaDropNotice");function Li(e){let{color:t,space:n,radius:r,type:i}=e,{size:l,lineHeight:s}=i;return {emergencyPanel:{display:"flex",flexDirection:"column",gap:n.sm,padding:n.lg,borderRadius:r.lg,border:`2px solid ${t.danger}`,background:t.surface},emergencyTitle:{...k(e,"medium"),margin:0,color:t.danger,fontSize:l.heading,lineHeight:`${String(l.heading*s.snug)}px`},emergencyLede:{...k(e,"regular"),margin:0,color:t.text.primary,fontSize:l.subtitle,lineHeight:`${String(l.subtitle*s.normal)}px`},interestAction:{display:"flex",flexDirection:"column",gap:n.sm,marginTop:n.sm},interestFeedback:{display:"flex",flexDirection:"column",gap:n.xs,marginTop:n.sm},interestJoinedTitle:{...k(e,"medium"),margin:0,color:t.brandInk,fontSize:l.body,lineHeight:`${String(l.body*s.snug)}px`},interestBody:{...k(e,"regular"),margin:0,color:t.text.metaCool,fontSize:l.body,lineHeight:`${String(l.body*s.normal)}px`},mediaNotice:{display:"flex",flexDirection:"column",gap:n.xs,margin:0,padding:0,listStyle:"none"},mediaLine:{...k(e,"regular"),color:t.text.metaCool,fontSize:l.caption,lineHeight:`${String(l.caption*s.normal)}px`}}}o(Li,"makeEdgeStyles");function _d(e){let{surfaceUnavailable:t,notEntitled:n,policyBlocked:r,triageOpen:i,step:l}=e;return t||n&&l!=="clinician"||r?true:l==="reason"&&i}o(_d,"televetBookingGateApplies");function wd({state:e,petName:t,primaryVet:n,onFindEmergencyVet:r,stateInterest:i=null,onCheckAvailability:l,onAcknowledgeEmergency:s,renderUnavailable:a}){let d=Y(),{surfaceUnavailable:u,notEntitled:f,policyBlocked:y,triageOpen:p,step:c}=e;return u?jsxRuntime.jsx("div",{style:d.stepFill,"data-testid":"televet-booking-unavailable",children:a?a():jsxRuntime.jsx(le,{title:m.bookingPausedTitle})}):f&&c!=="clinician"?jsxRuntime.jsx(Bi,{...l?{onCheckAvailability:l}:{},...a?{renderUnavailable:a}:{}}):y?jsxRuntime.jsxs("div",{"data-testid":"televet-booking-state-blocked",children:[jsxRuntime.jsx(le,{title:m.stateBlockedTitle}),jsxRuntime.jsx(Oi,{action:i,testIDPrefix:"televet-state-interest-state-blocked"})]}):c==="reason"&&p?jsxRuntime.jsx(Pd,{...t!==void 0?{petName:t}:{},...n?{primaryVet:n}:{},onFindEmergencyVet:r,onContinue:s}):null}o(wd,"TelevetBookingGate");function Id(e){return e.noState?true:e.isPending||e.isError?false:e.isEmpty||e.notEntitled}o(Id,"televetClinicianOutcomeApplies");function Ad({state:e,cause:t,locationStatus:n,onRequestLocation:r,onRetry:i,stateInterest:l=null,renderUnavailable:s}){return e.noState?jsxRuntime.jsx("div",{"data-testid":"televet-booking-location-unknown",children:jsxRuntime.jsx(le,{title:n==="blocked"?m.locationBlockedTitle:n==="unavailable"?m.locationUnavailableTitle:m.locationUnknownTitle,message:n==="blocked"?m.locationBlockedBody:n==="unavailable"?m.locationUnavailableBody:m.locationUnknownBody,actionLabel:r&&n!=="blocked"?m.locationUnknownCta:void 0,onAction:n==="blocked"?void 0:r})}):e.isEmpty?jsxRuntime.jsx(Rd,{cause:t,onRetry:i,stateInterest:l}):jsxRuntime.jsx(Bi,{...s?{renderUnavailable:s}:{}})}o(Ad,"TelevetClinicianOutcome");function Vi(e){if(typeof e=="number")return Od(e);if(typeof e!="string")return null;let t=e.trim();if(t.length===0)return null;if(t.startsWith("#"))return Ni(t.slice(1));if(t.toLowerCase().startsWith("0x"))return Ni(t.slice(2));if(t.toLowerCase().startsWith("rgb"))return Kf(t);if(/^[0-9a-fA-F]+$/.test(t)){let n=Ni(t);if(n!==null)return n}return /^\d+$/.test(t)?Od(Number.parseInt(t,10)):null}o(Vi,"toRgba");function Ni(e){let t=e.trim();if(!/^[0-9a-fA-F]+$/.test(t))return null;if(t.length===3)return {r:Fi(t[0]),g:Fi(t[1]),b:Fi(t[2]),a:1};if(t.length===6)return {r:zt(t,0),g:zt(t,2),b:zt(t,4),a:1};if(t.length===8){let n=zt(t,0);return {r:zt(t,2),g:zt(t,4),b:zt(t,6),a:n/255}}return null}o(Ni,"fromHex");function Kf(e){let t=e.indexOf("("),n=e.indexOf(")");if(t<0||n<0||n<t)return null;let r=e.slice(t+1,n).split(",").map(d=>d.trim());if(r.length<3)return null;let i=Mi(Number(r[0])),l=Mi(Number(r[1])),s=Mi(Number(r[2]));if(i===null||l===null||s===null)return null;let a=1;if(r.length>=4){let d=Number(r[3]);if(!Number.isFinite(d))return null;a=Math.min(1,Math.max(0,d));}return {r:i,g:l,b:s,a}}o(Kf,"fromRgbFunc");function Od(e){if(!Number.isFinite(e))return null;let t=Math.trunc(e)>>>0,n=t>>>24&255;return {r:t>>>16&255,g:t>>>8&255,b:t&255,a:n===0?1:n/255}}o(Od,"argbIntToRgba");function zt(e,t){return Number.parseInt(e.slice(t,t+2),16)}o(zt,"byte");function Fi(e){return Number.parseInt(`${e??"0"}${e??"0"}`,16)}o(Fi,"dup");function Mi(e){return Number.isFinite(e)?Math.min(255,Math.max(0,Math.round(e))):null}o(Mi,"clampByte");function qf(e,t,n){return `#${Di(e)}${Di(t)}${Di(n)}`.toUpperCase()}o(qf,"rgbToHex");function Di(e){return e.toString(16).padStart(2,"0")}o(Di,"hex2");function Yf(e,t){let n=e.a,r=o((i,l)=>Math.round(i*n+l*(1-n)),"mix");return {r:r(e.r,t.r),g:r(e.g,t.g),b:r(e.b,t.b),a:1}}o(Yf,"composite");function Bd(e,t){let n=Vi(e),r=Vi(t);if(n===null||r===null)return null;let i=n.a>=1?n:Yf(n,{...r});return qf(i.r,i.g,i.b)}o(Bd,"flattenOnto");function Ld(e,t){let n=Vi(e);if(n===null)return null;let r=Math.min(1,Math.max(0,t));return `rgba(${n.r}, ${n.g}, ${n.b}, ${r})`}o(Ld,"withAlpha");var Gf=.22;function Jf(e){let t=e.color;return {ink:t.brandInk,text:t.text.primary,muted:t.text.muted,line:t.borderRingCream,mist:t.surfaceSubtle,surface:t.surface,pink:t.scanButtonPink,onPink:t.onBubbleVet,go:t.success,alert:t.danger,alertWash:t.badgeBgCritical}}o(Jf,"televetPlainLook");function Ie(e){let t=e.color,n=Ld(t.scanButtonPink,Gf);return {...Jf(e),pinkSoft:(n===null?null:Bd(n,t.surface))??t.surface}}o(Ie,"televetLook");function Nd(e){return `televet-consult-${e}`}o(Nd,"televetConsultCalendarKey");function zi({consult:e,petName:t,onDone:n,onAddToCalendar:r,canJoinInApp:i=false,lengthMinutes:l,sharedRecords:s=false,sentPhoto:a=false}){let d=M(),u=Y(),f=react.useMemo(()=>em(d),[d]),y=`${react.useId()}-booked-title`,p=ie(ge()),[c,v]=react.useState("idle"),b=o(async()=>{if(!r)return;v("saving");let h=new Date(e.scheduledAt);if(Number.isNaN(h.getTime())){v("failed");return}let S=typeof l=="number"&&Number.isFinite(l)&&l>0?l:Mt,w=await ar(r,{key:Nd(e.consultId),title:m.visit.title,startDate:h,endDate:new Date(h.getTime()+S*6e4),alarmOffsetMinutes:-30});if(!w.ok){v("failed");return}v(w.value===true?"saved":w.value==="handed-off"?"idle":"failed");},"addToCalendar"),C=[m.booked.remindPromise,s&&e.clinicianName?H(a?m.booked.recordsPhotoPromiseTemplate:m.booked.recordsPromiseTemplate,{pet:t??m.petFallback,vet:e.clinicianName}):H(m.booked.summaryPromise,{pet:t??""}),...i?[m.booked.joinPromise]:[]];if(!at())return jsxRuntime.jsx("div",{style:f.screen,"data-testid":"televet-booked-copy-unapproved"});let E=e.clinicianName?.trim()??"";return jsxRuntime.jsxs("section",{style:f.screen,"aria-labelledby":y,"data-testid":"televet-booked",children:[jsxRuntime.jsx("div",{"aria-hidden":"true",style:f.avatar,children:E.length>0?E.replace(/^dr\.?\s+/i,"").slice(0,1).toUpperCase():null}),jsxRuntime.jsx(p,{id:y,style:f.title,children:E.length>0?H(m.bookedTitleTemplate,{vet:E}):m.bookedTitle}),jsxRuntime.jsx("p",{style:f.when,children:t?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("time",{dateTime:e.scheduledAt,children:ui(e.scheduledAt)}),H(m.bookedLeadTemplate,{when:"",pet:t})]}):jsxRuntime.jsx("time",{dateTime:e.scheduledAt,children:ui(e.scheduledAt)})}),jsxRuntime.jsx("section",{"aria-label":m.booked.stepsLabel,style:f.card,children:jsxRuntime.jsx("ol",{style:f.steps,"data-testid":"televet-booked-steps",children:C.map((h,S)=>jsxRuntime.jsxs("li",{style:{...f.step,...S===C.length-1?f.stepLast:null},children:[jsxRuntime.jsx("span",{"aria-hidden":"true",style:f.stepNumber,children:String(S+1).padStart(2,"0")}),jsxRuntime.jsx("span",{style:f.stepText,children:h.trim()})]},h))})}),jsxRuntime.jsxs("div",{style:f.actions,children:[r?jsxRuntime.jsx(B,{label:c==="saved"?m.booked.calendarAdded:m.addToCalendarCta,kind:"secondary",size:"lg",fullWidth:false,loading:c==="saving",disabled:c==="saving"||c==="saved",onPress:()=>{b();},testID:"televet-booked-calendar"}):null,jsxRuntime.jsx(B,{label:m.doneCta,kind:"primary",size:"lg",fullWidth:false,onPress:n,testID:"televet-booked-done"})]}),c==="failed"?jsxRuntime.jsx("p",{role:"status",style:{...u.failure,...f.calendarNote},"data-testid":"televet-booked-calendar-failed",children:m.booked.calendarFailedBody}):null]})}o(zi,"TelevetBookedScreen");function em(e){let{space:t,radius:n,type:r}=e,{size:i,lineHeight:l}=r,s=Ie(e),a=o(d=>`${String(d)}px`,"rem");return {screen:{display:"flex",flexDirection:"column",alignItems:"center",flex:"1 1 auto",minHeight:0,gap:a(t.md),paddingTop:a(t.xl),paddingBottom:a(t.xl),boxSizing:"border-box",textAlign:"center"},avatar:{width:112,height:112,flexShrink:0,borderRadius:"50%",backgroundColor:s.mist,boxShadow:`0 0 0 6px ${s.surface}, 0 0 0 10px ${s.go}`,margin:a(10),display:"inline-flex",alignItems:"center",justifyContent:"center",...k(e,"medium"),color:s.ink,fontSize:a(40),lineHeight:"1"},title:{margin:0,...k(e,"medium"),color:s.ink,fontSize:a(Ge(e,"heading",30)),lineHeight:"1.1",letterSpacing:"-0.03em",textWrap:"balance",paddingTop:a(t.md)},when:{margin:0,...k(e,"regular"),color:s.text,fontSize:a(i.body),lineHeight:String(l.relaxed)},card:{width:"min(560px, 100%)",marginTop:a(t.md),padding:`${a(t.sm)} ${a(t.xl)}`,borderRadius:a(n.lg),borderStyle:"solid",borderWidth:1,borderColor:s.line,backgroundColor:s.surface,boxSizing:"border-box",textAlign:"left"},steps:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"column"},step:{display:"grid",gridTemplateColumns:"44px 1fr",gap:a(10),paddingTop:a(14),paddingBottom:a(14),borderBottomStyle:"solid",borderBottomWidth:1,borderBottomColor:s.line},stepLast:{borderBottomWidth:0},stepNumber:{...k(e,"monoBold"),color:s.ink,fontSize:a(13),lineHeight:String(l.relaxed),paddingTop:2},stepText:{minWidth:0,...k(e,"regular"),color:s.text,fontSize:a(i.body),lineHeight:String(l.relaxed)},actions:{display:"flex",flexDirection:"row",flexWrap:"wrap",justifyContent:"center",gap:a(t.md),marginTop:a(t.lg)},calendarNote:{textAlign:"center"}}}o(em,"makeStyles");function Fd(){let e=[];return {register(t){return e=[...e,t],()=>{e=e.filter(n=>n!==t);}},dispatch(){for(let t of [...e].reverse())try{if(t())return !0}catch{}return false}}}o(Fd,"createTelevetBackChannel");var ji=react.createContext(null);function Kn(e,t=true){let n=react.useContext(ji),r=react.useRef(e);r.current=e,react.useEffect(()=>{if(!(n===null||!t))return n.register(()=>r.current())},[n,t]);}o(Kn,"useTelevetBackChannel");var qn=Object.freeze({position:"absolute",width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:0});var Md='button:not([disabled]), input:not([disabled]), textarea:not([disabled]), select:not([disabled]), a[href], [tabindex]:not([tabindex="-1"])';function Ui(e){return e.tagName==="DIALOG"}o(Ui,"isDialogElement");function lm(e,t){if(t.isDefaultPrevented()||t.nativeEvent.isComposing)return false;let n=t.target;return !(n instanceof Element)||n.closest("dialog")===e}o(lm,"ownsEscape");function Fr(e,t,n,r){let i=r?.escapeAtKeyDown===true,l=react.useRef(null),s=react.useRef(false),a=react.useRef(null),d=react.useRef(n);d.current=n;let u=react.useCallback(()=>{if(!s.current)return;s.current=false;let p=d.current===void 0?a.current:d.current.current;p&&p.isConnected&&p.focus(),(!p||!p.isConnected||document.activeElement===p)&&(a.current=null);},[]);react.useEffect(()=>{if(!e){u();return}let p=l.current;if(!s.current){let v=typeof document>"u"?null:document.activeElement;v!==null&&p!==null&&p.contains(v)||(a.current=v instanceof HTMLElement?v:null);}if(s.current=true,p===null)return;if(!Ui(p)){p.contains(document.activeElement)||(p.querySelector(Md)??p).focus();return}let c=p;typeof c.showModal=="function"?c.open||c.showModal():c.setAttribute("open","");},[e,u]),react.useEffect(()=>u,[u]),react.useEffect(()=>{let p=l.current;if(!e||p===null||!Ui(p))return;let c=p;if(typeof c.showModal!="function")return;let v=null,b=o(E=>{E.target instanceof HTMLElement&&(v=E.target);},"onFocusIn"),C=o(()=>{if(!c.isConnected||c.open)return;let E=v;c.showModal(),E!==null&&E.isConnected&&c.contains(E)&&document.activeElement!==E&&E.focus();},"onNativeClose");return c.addEventListener("focusin",b),c.addEventListener("close",C),()=>{c.removeEventListener("focusin",b),c.removeEventListener("close",C);}},[e]);let f=react.useCallback(p=>{let c=l.current;if(c===null)return;if(p.key==="Escape"&&!Ui(c)){p.preventDefault(),p.stopPropagation(),t();return}if(p.key==="Escape"&&i&&lm(c,p)){p.preventDefault(),t();return}if(p.key!=="Tab")return;let v=Array.from(c.querySelectorAll(Md)),b=v[0],C=v[v.length-1];if(!b||!C){p.preventDefault();return}let E=document.activeElement;p.shiftKey&&(E===b||!c.contains(E))?(p.preventDefault(),C.focus()):!p.shiftKey&&(E===C||!c.contains(E))&&(p.preventDefault(),b.focus());},[t,i]),y=react.useCallback(p=>{p.target===p.currentTarget&&(p.preventDefault(),t());},[t]);return {dialogRef:l,onKeyDown:f,onCancel:y}}o(Fr,"useModalDialog");var am="cubic-bezier(0.23, 1, 0.32, 1)",Dd="cubic-bezier(0.77, 0, 0.175, 1)";function Pe(e){let{color:t,space:n,radius:r,type:i}=e,{size:l,lineHeight:s}=i,a=Ie(e),d=e.motion.reducedMotion,u=o(y=>`${String(y)}px`,"rem"),f=d?"none":"border-color 200ms ease, background-color 200ms ease";return {marker:{minHeight:1},visuallyHiddenHeading:{position:"absolute",width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:0},stepBody:{display:"flex",flexDirection:"column",gap:u(n.xl),paddingTop:u(n.xs),paddingBottom:u(n.xl)},head:{display:"flex",flexDirection:"column",gap:u(n.sm)},footer:{display:"flex",flexDirection:"row",alignItems:"center",flexWrap:"wrap",gap:u(n.lg),paddingTop:u(n.lg),paddingBottom:u(n.lg),flexShrink:0},footerMain:{marginLeft:"auto",flex:"1 1 200px",maxWidth:360,display:"flex"},fieldLabel:{margin:0,...k(e,"monoBold"),color:a.ink,fontSize:u(12),letterSpacing:"0.08em",textTransform:"uppercase",lineHeight:String(s.snug)},note:{margin:0,...k(e,"regular"),color:a.muted,fontSize:u(l.bodyTight),lineHeight:String(s.relaxed)},alertLine:{margin:0,...k(e,"bold"),color:a.alert,fontSize:u(l.bodyTight),lineHeight:String(s.relaxed)},options:{listStyle:"none",margin:0,padding:0,display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(260px, 1fr))",gap:u(n.md)},optionsStack:{gridTemplateColumns:"minmax(0, 1fr)"},option:{width:"100%",display:"flex",flexDirection:"row",alignItems:"center",gap:u(n.lg),padding:`${u(18)} ${u(20)}`,minHeight:64,borderRadius:u(r.lg),borderStyle:"solid",borderWidth:1.5,borderColor:a.line,backgroundColor:a.surface,color:a.text,textAlign:"left",cursor:"pointer",boxSizing:"border-box",transition:f},optionSelected:{borderColor:a.ink,backgroundColor:a.pinkSoft},optionDot:{width:22,height:22,flexShrink:0,borderRadius:"50%",borderStyle:"solid",borderWidth:1.5,borderColor:a.ink,display:"inline-flex",alignItems:"center",justifyContent:"center",boxSizing:"border-box"},optionDotFill:{width:12,height:12,borderRadius:"50%",backgroundColor:a.ink,transform:"scale(0)",transition:d?"none":`transform 320ms ${am}`},optionDotFillOn:{transform:"scale(1)"},optionText:{display:"flex",flexDirection:"column",minWidth:0,gap:2,flex:"1 1 auto"},optionTitle:{...k(e,"bold"),color:a.ink,fontSize:u(18),lineHeight:String(s.snug),overflowWrap:"anywhere"},optionMeta:{...k(e,"regular"),color:a.muted,fontSize:u(l.bodyTight),lineHeight:String(s.normal),overflowWrap:"anywhere"},optionAvatar:{width:56,height:56,flexShrink:0,borderRadius:"50%",backgroundColor:a.mist,display:"inline-flex",alignItems:"center",justifyContent:"center",...k(e,"medium"),color:a.ink,fontSize:u(l.subtitle),lineHeight:"1"},select:{width:"100%",minHeight:52,padding:`0 ${u(n.lg)}`,borderRadius:u(r.md),borderStyle:"solid",borderWidth:1.5,borderColor:a.line,backgroundColor:a.surface,color:a.text,...k(e,"regular"),fontSize:u(l.body),boxSizing:"border-box"},callout:{margin:0,padding:`${u(n.md)} ${u(n.lg)}`,borderRadius:u(r.md),backgroundColor:a.mist,...k(e,"regular"),color:a.text,fontSize:u(l.bodyTight),lineHeight:String(s.relaxed)},chipRow:{display:"flex",flexWrap:"wrap",gap:u(10)},chip:{minHeight:44,display:"inline-flex",alignItems:"center",gap:u(n.sm),padding:`0 ${u(n.lg)}`,borderRadius:u(r.pill),borderStyle:"solid",borderWidth:1.5,borderColor:a.ink,backgroundColor:a.surface,color:a.ink,cursor:"pointer",...k(e,"bold"),fontSize:u(l.bodyTight),lineHeight:String(s.snug),transition:f},chipOn:{backgroundColor:a.pink,color:a.onPink},field:{display:"flex",flexDirection:"column",gap:u(10)},reasonInput:{width:"100%",minHeight:150,resize:"vertical",borderStyle:"solid",borderWidth:1.5,borderColor:a.line,borderRadius:u(r.lg),padding:`${u(n.lg)} ${u(18)}`,backgroundColor:a.surface,...k(e,"regular"),color:a.text,fontSize:u(l.body),lineHeight:String(s.relaxed),boxSizing:"border-box",transition:d?"none":"border-color 200ms ease"},reasonInputFocus:{borderColor:a.ink,outline:"none"},signs:{margin:0,paddingLeft:u(22),display:"flex",flexDirection:"column",gap:u(n.sm),...k(e,"regular"),color:a.text,fontSize:u(l.body),lineHeight:String(s.relaxed)},emergencyBanner:{display:"flex",flexDirection:"column",alignItems:"stretch",gap:u(n.md),padding:u(20),borderRadius:u(r.lg),borderStyle:"solid",borderWidth:1.5,borderColor:a.alert,backgroundColor:a.alertWash,boxSizing:"border-box"},emergencyTitle:{margin:0,...k(e,"bold"),color:t.errorRed,fontSize:u(l.subtitle),lineHeight:String(s.snug)},emergencyLede:{margin:0,...k(e,"regular"),color:a.text,fontSize:u(l.body),lineHeight:String(s.relaxed)},linkButton:{alignSelf:"flex-start",minHeight:44,padding:0,borderStyle:"none",background:"transparent",cursor:"pointer",textAlign:"left",...k(e,"bold"),color:a.ink,fontSize:u(l.body),lineHeight:String(s.snug),textDecorationLine:"underline",textUnderlineOffset:3},meet:{display:"flex",flexDirection:"column",alignItems:"center",textAlign:"center",gap:u(6),padding:`${u(n.xxl)} ${u(n.xl)}`,borderRadius:u(r.lg),borderStyle:"solid",borderWidth:1,borderColor:a.line,backgroundColor:a.surface},vetAvatar:{width:112,height:112,flexShrink:0,borderRadius:"50%",backgroundColor:a.mist,boxShadow:`0 0 0 4px ${a.surface}, 0 0 0 6px ${a.go}`,display:"inline-flex",alignItems:"center",justifyContent:"center",...k(e,"medium"),color:a.ink,fontSize:u(Ge(e,"heading",40)),lineHeight:"1",marginBottom:u(n.sm)},vetName:{margin:0,...k(e,"medium"),color:a.ink,fontSize:u(l.heading),lineHeight:String(s.snug)},vetCredentials:{margin:0,...k(e,"regular"),color:a.muted,fontSize:u(l.bodyTight),lineHeight:String(s.normal)},pills:{display:"flex",flexWrap:"wrap",justifyContent:"center",gap:u(n.sm),margin:`${u(n.sm)} 0`},pill:{display:"inline-flex",alignItems:"center",height:24,padding:`0 ${u(10)}`,borderRadius:u(r.pill),borderStyle:"solid",borderWidth:1.5,borderColor:a.line,backgroundColor:a.surface,...k(e,"monoBold"),color:a.muted,fontSize:u(11.5),letterSpacing:"0.08em",textTransform:"uppercase",whiteSpace:"nowrap"},vetRating:{margin:0,...k(e,"regular"),color:a.muted,fontSize:u(l.caption),lineHeight:String(s.normal)},vetBio:{margin:0,maxWidth:"52ch",...k(e,"regular"),color:a.text,fontSize:u(l.body),lineHeight:String(s.relaxed)}}}o(Pe,"makeLocalStyles");function Ki({step:e,furthestIndex:t,title:n,canGoBack:r,showBack:i=true,isDirty:l,onBack:s,onClose:a,onConfirmDiscard:d,headingLevel:u=rn,triageOpen:f=false,stepContext:y}){let p=M(),c=react.useMemo(()=>zd(p),[p]),[v,b]=react.useState(false),C=react.useRef(null),h=`${react.useId()}-close-hint`,S=ie(u);react.useEffect(()=>{if(!l||typeof window>"u")return;let P=o(A=>{A.preventDefault(),A.returnValue="";},"onBeforeUnload");return window.addEventListener("beforeunload",P),()=>window.removeEventListener("beforeunload",P)},[l]);let w=react.useCallback(()=>{if(!l){a();return}let P={title:m.chrome.discardTitle,body:m.chrome.discardBody,confirmLabel:m.chrome.discardConfirmCta,keepLabel:m.chrome.discardKeepCta};if(d){Promise.resolve(d(P)).then(A=>{A&&a();},()=>{});return}b(true);},[l,a,d]);Kn(()=>(w(),true));let R=react.useMemo(()=>oi(y),[y]),{current:x,total:T}=Vs(e,R,f),_=e==="booked"?m.bookedStepLabel:H(m.loading.progressTemplate,{step:String(x),total:String(T)});return jsxRuntime.jsxs("div",{style:c.wrap,children:[jsxRuntime.jsxs("header",{style:c.bar,children:[jsxRuntime.jsx("button",{type:"button",ref:C,onClick:w,"aria-label":m.close,"aria-describedby":h,"data-testid":"televet-booking-close",style:c.ring,children:jsxRuntime.jsx("svg",{"aria-hidden":"true",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsxRuntime.jsx("path",{d:"M18 6 6 18M6 6l12 12"})})}),jsxRuntime.jsx("span",{id:h,style:qn,children:m.chrome.closeHint}),jsxRuntime.jsx(S,{style:qn,children:n??m.navTitle}),i&&r?jsxRuntime.jsx("button",{type:"button",onClick:s,"data-testid":"televet-booking-back",style:c.back,children:m.backLabel}):null,jsxRuntime.jsx("div",{"aria-hidden":"true",style:c.track,"data-testid":"televet-booking-rail",children:jsxRuntime.jsx("span",{"data-step":String(x),style:{...c.fill,transform:`scaleX(${String(x/T)})`}})}),jsxRuntime.jsx("p",{style:c.stepLabel,"data-testid":"televet-booking-progress-label",children:_})]}),v?jsxRuntime.jsx(pm,{onKeep:()=>b(false),onLeave:()=>{b(false),a();},returnFocusTo:C}):null]})}o(Ki,"TelevetBookingChrome");function pm({onKeep:e,onLeave:t,returnFocusTo:n}){let r=M(),i=react.useMemo(()=>zd(r),[r]),{dialogRef:l,onKeyDown:s,onCancel:a}=Fr(true,e,n),d=react.useId(),u=`${d}-discard-title`,f=`${d}-discard-body`;return jsxRuntime.jsxs("dialog",{ref:l,onKeyDown:s,onCancel:a,"aria-labelledby":u,"aria-describedby":f,"data-testid":"televet-booking-discard",style:i.dialog,children:[jsxRuntime.jsx("h2",{id:u,style:i.dialogTitle,children:m.chrome.discardTitle}),jsxRuntime.jsx("p",{id:f,style:i.dialogBody,children:m.chrome.discardBody}),jsxRuntime.jsxs("div",{style:i.dialogActions,children:[jsxRuntime.jsx(B,{label:m.chrome.discardKeepCta,onPress:e,kind:"primary",fullWidth:false,testID:"televet-booking-discard-keep"}),jsxRuntime.jsx(B,{label:m.chrome.discardConfirmCta,onPress:t,kind:"secondary",fullWidth:false,testID:"televet-booking-discard-leave"})]})]})}o(pm,"DiscardDialog");var fm="Back";function zd(e){let{color:t,space:n,radius:r,type:i}=e,{size:l,lineHeight:s}=i,a=o(u=>`${String(u)}px`,"rem"),d=e.motion.reducedMotion;return {wrap:{flexShrink:0},bar:{display:"flex",flexDirection:"row",alignItems:"center",gap:a(14),paddingTop:a(n.xs),paddingBottom:a(n.xl),minHeight:56,boxSizing:"border-box"},ring:{width:xe,height:xe,flexShrink:0,display:"inline-flex",alignItems:"center",justifyContent:"center",padding:0,borderRadius:"50%",borderStyle:"solid",borderWidth:1.5,borderColor:t.borderRingCream,backgroundColor:t.surface,color:t.brandInk,cursor:"pointer",boxSizing:"border-box"},back:{flexShrink:0,minHeight:xe,padding:`0 ${a(n.sm)}`,background:"transparent",borderStyle:"none",cursor:"pointer",...k(e,"bold"),color:t.brandInk,fontSize:a(l.bodyTight)},track:{flex:"1 1 auto",minWidth:0,height:6,borderRadius:a(6),backgroundColor:t.surfaceSubtle,overflow:"hidden"},fill:{display:"block",height:"100%",borderRadius:a(6),backgroundColor:t.brandInk,transformOrigin:"0 50%",transition:d?"none":`transform 600ms ${Dd}`},stepLabel:{margin:0,flexShrink:0,...k(e,"monoBold"),color:t.brandInk,fontSize:a(12),letterSpacing:"0.1em",textTransform:"uppercase",whiteSpace:"nowrap",lineHeight:String(s.snug)},dialog:{margin:"auto",maxWidth:420,width:"calc(100% - 32px)",boxSizing:"border-box",padding:a(n.lg),borderRadius:a(r.lg),borderStyle:"solid",borderWidth:1,borderColor:t.brandBorder,backgroundColor:t.surface,color:t.text.primary},dialogTitle:{margin:0,...k(e,"medium"),color:t.brandInk,fontSize:a(l.subtitle),lineHeight:String(s.snug)},dialogBody:{margin:0,paddingTop:a(n.sm),...k(e,"regular"),color:t.text.metaCool,fontSize:a(l.body),lineHeight:String(s.normal)},dialogActions:{display:"flex",flexDirection:"row",flexWrap:"wrap",gap:a(n.sm),paddingTop:a(n.lg)}}}o(zd,"makeStyles");function jd(e){let t=[],n=e.breed?.trim();n&&t.push(n);let r=mm(e.ageYears);r!==null&&t.push(`${String(r)} year${r===1?"":"s"}`);let i=e.weightKg;return typeof i=="number"&&Number.isFinite(i)&&i>0&&t.push(`${String(Math.round(i))} kg`),t.join(" \xB7 ")}o(jd,"formatTelevetPetMetaLine");function mm(e){if(typeof e!="number"||!Number.isFinite(e))return null;let t=Math.floor(e);return t>=0?t:null}o(mm,"wholeYears");function Yi({media:e,onChange:t,onPickMedia:n,listLabel:r,meta:i}){let l=M(),s=react.useMemo(()=>hm(l),[l]),a=gr-e.length,[d,u]=react.useState(false);if(!n)return null;let f=o(async()=>{if(!(d||a<=0)){u(true);try{let y=await ar(n,a);if(!y.ok||y.value===null||y.value.length===0)return;let p=new Set(e.map(v=>v.uri)),c=y.value.filter(v=>typeof v?.uri=="string"&&v.uri.length>0&&!p.has(v.uri));if(c.length===0)return;t([...e,...c].slice(0,gr));}finally{u(false);}}},"pick");return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("ul",{role:"list","aria-label":r,style:s.row,children:[e.map((y,p)=>jsxRuntime.jsxs("li",{style:s.thumb,children:[jsxRuntime.jsx("img",{src:y.uri,alt:y.filename,style:s.thumbImage}),y.mimeType.startsWith("video/")?jsxRuntime.jsx("span",{"aria-hidden":"true",style:s.videoBadge,"data-testid":`televet-intake-media-video-${String(p)}`,children:bm}):null,jsxRuntime.jsx("button",{type:"button",onClick:()=>t(e.filter((c,v)=>v!==p)),"aria-label":`${m.removePhotoLabel}: ${y.filename}`,"data-testid":`televet-intake-media-remove-${String(p)}`,style:s.remove,children:jsxRuntime.jsx("span",{"aria-hidden":"true",style:s.removeGlyph,children:vm})})]},`${y.uri}-${String(p)}`)),a>0?jsxRuntime.jsx("li",{style:s.addItem,children:jsxRuntime.jsx("button",{type:"button",onClick:()=>{f();},disabled:d,"aria-busy":d||void 0,"data-testid":"televet-intake-add-media",style:{...s.dropzone,...d?s.dropzoneBusy:null},children:jsxRuntime.jsx("span",{style:s.dropzoneText,children:m.addPhotoCta})})}):null]}),i?jsxRuntime.jsx("p",{style:s.meta,"data-testid":"televet-intake-media-meta",children:i}):null]})}o(Yi,"TelevetIntakeMedia");var vm="\xD7",bm="\u25B6",Dr=92;function hm(e){let{color:t,space:n,radius:r,type:i}=e,{size:l,lineHeight:s}=i,a=o(d=>`${String(d)}px`,"rem");return {row:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"row",flexWrap:"wrap",gap:a(n.md),paddingTop:a(n.sm)},thumb:{position:"relative",width:Dr,height:Dr,borderRadius:a(r.md),backgroundColor:t.surfaceSubtle},thumbImage:{width:"100%",height:"100%",objectFit:"cover",borderRadius:a(r.md),display:"block"},videoBadge:{position:"absolute",left:6,bottom:6,paddingLeft:6,paddingRight:6,paddingTop:2,paddingBottom:2,borderRadius:a(r.sm),backgroundColor:t.shadow,color:t.text.onBrand,fontSize:a(l.nano),lineHeight:"1"},addItem:{display:"flex"},remove:{position:"absolute",top:-8,right:-8,width:xe-16,height:xe-16,borderRadius:"50%",borderStyle:"none",backgroundColor:t.text.metaCool,display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:"pointer",padding:0},removeGlyph:{...k(e,"medium"),color:t.surface,fontSize:a(l.subtitle),lineHeight:"1"},dropzone:{width:Dr,height:Dr,borderRadius:a(r.md),borderWidth:1,borderStyle:"dashed",borderColor:t.brandBorder,backgroundColor:"transparent",display:"inline-flex",alignItems:"center",justifyContent:"center",paddingLeft:a(n.sm),paddingRight:a(n.sm),cursor:"pointer",boxSizing:"border-box"},dropzoneBusy:{opacity:.6,cursor:"progress"},meta:{...k(e,"regular"),margin:0,paddingTop:a(n.sm),color:t.text.metaCool,fontSize:a(l.caption),lineHeight:String(s.normal)},dropzoneText:{...k(e,"mono"),color:t.text.metaCool,fontSize:a(l.nano),lineHeight:String(s.normal),letterSpacing:"0.3px",textAlign:"center"}}}o(hm,"makeStyles");function Ji({slots:e,selectedDayKey:t,onSelectDay:n,groupLabel:r}){let i=M(),l=react.useMemo(()=>Em(i),[i]),s=react.useMemo(()=>zr(e),[e]),a=react.useRef(new Map),d=s[0],u=t??d?.key??null,f=react.useRef(null),y=react.useRef(false);react.useEffect(()=>{if(y.current)return;let c=f.current,v=u===null?void 0:a.current.get(u);if(!c||!v||(y.current=true,u===d?.key))return;let b=v.getBoundingClientRect().left-c.getBoundingClientRect().left;c.scrollLeft+=b-(c.clientWidth-v.clientWidth)/2;},[u,d]);let p=react.useCallback(c=>{let v=c.key==="ArrowRight"||c.key==="ArrowDown"?1:c.key==="ArrowLeft"||c.key==="ArrowUp"?-1:0,b=c.key==="Home"?0:c.key==="End"?s.length-1:null;if(v===0&&b===null)return;let C=s.findIndex(S=>S.key===u);if(C<0)return;let E=b??Math.min(s.length-1,Math.max(0,C+v)),h=s[E];h===void 0||h.key===u||(c.preventDefault(),n(h),a.current.get(h.key)?.focus());},[s,u,n]);return d===void 0?null:jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("p",{"aria-hidden":"true",style:l.month,"data-testid":"televet-day-strip-month",children:Ws(d.iso)}),jsxRuntime.jsx("div",{ref:f,role:"radiogroup","aria-label":r,onKeyDown:p,style:l.strip,"data-testid":"televet-day-strip",children:s.map(c=>{let v=c.key===u;return jsxRuntime.jsxs("button",{ref:b=>{b?a.current.set(c.key,b):a.current.delete(c.key);},type:"button",role:"radio","aria-checked":v,tabIndex:v?0:-1,onClick:()=>n(c),"aria-label":jn(c.iso),"data-testid":`televet-day-${c.key}`,style:{...l.day,...v?l.daySelected:null},children:[jsxRuntime.jsx("span",{"aria-hidden":"true",style:{...l.dayWeekday,...v?l.dayTextSelected:null},children:c.weekday}),jsxRuntime.jsx("span",{"aria-hidden":"true",style:{...l.dayNumber,...v?l.dayTextSelected:null},children:c.dayNumber})]},c.key)})})]})}o(Ji,"TelevetDayStrip");function zr(e){let t=new Map;for(let n of e){let r=zn(n.startsAt);if(t.has(r))continue;let i=new Date(n.startsAt);Number.isNaN(i.getTime())||t.set(r,Object.freeze({key:r,iso:n.startsAt,weekday:i.toLocaleDateString(void 0,{weekday:"short"}),dayNumber:String(i.getDate())}));}return Object.freeze([...t.values()])}o(zr,"televetDaysFromSlots");function Em(e){let{space:t,type:n}=e,{size:r,lineHeight:i}=n,l=Ie(e),s=o(a=>`${String(a)}px`,"rem");return {month:{margin:0,...k(e,"bold"),color:l.ink,fontSize:s(19),lineHeight:String(i.snug),paddingBottom:s(14)},strip:{display:"flex",flexDirection:"row",gap:s(t.sm),padding:2,margin:"0 -2px",overflowX:"auto",overscrollBehaviorX:"contain",scrollSnapType:"x proximity",scrollbarWidth:"none"},day:{width:64,height:72,flexShrink:0,scrollSnapAlign:"center",minHeight:xe,padding:0,borderRadius:s(14),borderStyle:"solid",borderWidth:1.5,borderColor:l.line,backgroundColor:l.surface,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:2,cursor:"pointer",boxSizing:"border-box",transition:e.motion.reducedMotion?"none":"border-color 180ms ease, background-color 180ms ease"},daySelected:{backgroundColor:l.pink,borderColor:l.ink},dayWeekday:{...k(e,"monoBold"),color:l.ink,fontSize:s(11),letterSpacing:"0.08em",textTransform:"uppercase",lineHeight:String(i.tight)},dayNumber:{...k(e,"medium"),color:l.ink,fontSize:s(r.heading),letterSpacing:"-0.02em",lineHeight:String(i.tight)},dayTextSelected:{color:l.onPink}}}o(Em,"makeStyles");function Yn({slots:e,busySlotId:t,onPick:n,selectedSlot:r=null,header:i,dayGroupLabel:l,timeGroupLabel:s,rowTestIdPrefix:a="televet-slot",testID:d="televet-slot-list",periodLabels:u,timeLegendTemplate:f}){let y=M(),p=react.useMemo(()=>_m(y),[y]),c=react.useMemo(()=>zr(e),[e]),v=`${react.useId()}-zone`,[b,C]=react.useState(null),E=r?zn(r.startsAt):null,h=Rm(c,[b,E])??c[0]?.key??null,S=react.useMemo(()=>h?e.filter(I=>zn(I.startsAt)===h):[],[e,h]),w=S[0],R=t!==null,x=w?Mn(w.startsAt):null,T=f&&w?H(f,{day:jn(w.startsAt)}):s;return jsxRuntime.jsxs("div",{style:p.root,"data-testid":d,children:[i,jsxRuntime.jsx(Ji,{slots:e,selectedDayKey:h,onSelectDay:I=>C(I.key),groupLabel:l}),x?jsxRuntime.jsx("p",{id:v,style:p.zone,"data-testid":"televet-slot-zone",children:x}):null,jsxRuntime.jsx("div",{style:p.gridScroll,children:Pm(S,u).map(I=>jsxRuntime.jsxs("div",{style:p.group,children:[I.label?jsxRuntime.jsx("p",{"aria-hidden":"true",style:p.period,"data-testid":`televet-slot-period-${I.key}`,children:I.label}):null,jsxRuntime.jsx("ul",{role:"list","aria-label":I.label?`${T}, ${I.label}`:T,...x?{"aria-describedby":v}:{},"aria-busy":R||void 0,style:p.grid,children:I.slots.map(_=>{let P=t===_.slotId,A=r?.slotId===_.slotId;return jsxRuntime.jsx("li",{style:p.gridItem,children:jsxRuntime.jsx("button",{type:"button",onClick:()=>n(_),disabled:R,"aria-busy":P||void 0,"aria-pressed":A||void 0,"aria-label":Dn(_.startsAt),"data-testid":`${a}-${_.slotId}`,style:{...p.chip,...A?p.chipPicked:null,...P?p.chipBusy:null,...R&&!P?p.chipDisabled:null},children:jsxRuntime.jsx("span",{"aria-hidden":"true",style:{...p.chipLabel,...A?p.chipLabelPicked:null,...P?p.chipLabelBusy:null},children:dt(_.startsAt)})})},_.slotId)})})]},I.key))})]})}o(Yn,"TelevetSlotPicker");function Pm(e,t){return t?["morning","afternoon","evening"].map(r=>({key:r,label:t[r],slots:e.filter(i=>Ks(i.startsAt)===r)})).filter(r=>r.slots.length>0):[{key:"all",label:null,slots:e}]}o(Pm,"groups");function Rm(e,t){for(let n of t)if(n!==null&&e.some(r=>r.key===n))return n;return null}o(Rm,"firstOffered");function _m(e){let{color:t,space:n,radius:r,type:i}=e,{size:l,lineHeight:s}=i,a=Ie(e),d=o(f=>`${String(f)}px`,"rem"),u=e.motion.reducedMotion?"none":"border-color 180ms ease, background-color 180ms ease";return {root:{display:"flex",flexDirection:"column",flex:"1 1 auto",minHeight:0,gap:d(n.md)},gridScroll:{flex:"1 1 auto",minHeight:0,overflowY:"auto",overscrollBehavior:"contain",display:"flex",flexDirection:"column",gap:d(n.lg),paddingBottom:d(n.md)},group:{display:"flex",flexDirection:"column",gap:d(n.sm)},period:{margin:0,...k(e,"bold"),color:a.ink,fontSize:d(l.bodyTight),lineHeight:String(s.snug)},zone:{margin:0,...k(e,"mono"),color:a.muted,fontSize:d(l.caption),lineHeight:String(s.normal),letterSpacing:"0.04em"},grid:{listStyle:"none",margin:0,padding:0,display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(104px, 1fr))",gap:d(n.sm)},gridItem:{display:"flex",minWidth:0},chip:{width:"100%",minHeight:44,borderRadius:d(r.pill),borderStyle:"solid",borderWidth:1.5,borderColor:a.line,backgroundColor:a.surface,display:"inline-flex",alignItems:"center",justifyContent:"center",paddingLeft:d(n.lg),paddingRight:d(n.lg),cursor:"pointer",boxSizing:"border-box",transition:u},chipPicked:{borderColor:a.ink,backgroundColor:a.pink},chipLabelPicked:{color:a.onPink},chipBusy:{backgroundColor:t.primary,borderColor:t.primary},chipDisabled:{opacity:.45,cursor:"not-allowed"},chipLabel:{...k(e,"monoBold"),color:a.ink,fontSize:d(l.bodyTight),fontVariantNumeric:"tabular-nums",lineHeight:String(s.tight)},chipLabelBusy:{color:t.onPrimary}}}o(_m,"makeStyles");function Pt({label:e,value:t,last:n=false,action:r,testID:i}){let l=M(),s=react.useMemo(()=>tl(l),[l]);return jsxRuntime.jsxs("div",{style:{...s.row,...n?s.rowLast:null},"data-testid":i,children:[jsxRuntime.jsxs("div",{style:s.rowText,children:[jsxRuntime.jsx("dt",{style:s.rowLabel,children:e}),jsxRuntime.jsx("dd",{style:s.rowValue,children:t})]}),r?jsxRuntime.jsx("div",{style:s.rowAction,children:r}):null]})}o(Pt,"TelevetSummaryRow");function Gn({label:e,checked:t,onToggle:n,testID:r}){let i=M(),l=react.useMemo(()=>tl(i),[i]);return jsxRuntime.jsxs("label",{style:l.consent,children:[jsxRuntime.jsx("input",{type:"checkbox",checked:t,onChange:s=>n(s.currentTarget.checked),"data-testid":r,style:qn}),jsxRuntime.jsx("span",{"aria-hidden":"true",style:{...l.box,...t?l.boxChecked:null},children:t?jsxRuntime.jsx("span",{style:l.tick,children:wm}):null}),jsxRuntime.jsx("span",{style:l.consentLabel,children:e})]})}o(Gn,"TelevetConsentCheckbox");var wm="\u2713";function el({children:e,testID:t}){let n=M(),r=react.useMemo(()=>tl(n),[n]);return jsxRuntime.jsx("dl",{style:r.card,"data-testid":t,children:e})}o(el,"TelevetSummaryCard");function tl(e){let{color:t,space:n,radius:r,type:i}=e,{size:l,lineHeight:s}=i,a=o(d=>`${String(d)}px`,"rem");return {card:{margin:0,borderRadius:a(r.lg),borderStyle:"solid",borderWidth:1,borderColor:t.borderRingCream,backgroundColor:t.surface,paddingLeft:a(n.xl),paddingRight:a(n.xl),paddingTop:a(n.xs),paddingBottom:a(n.xs),boxSizing:"border-box"},row:{display:"flex",flexDirection:"row",alignItems:"center",gap:a(14),paddingTop:a(n.md),paddingBottom:a(n.md),borderBottomStyle:"solid",borderBottomWidth:1,borderBottomColor:t.borderRingCream},rowLast:{borderBottomWidth:0},rowText:{flex:"1 1 auto",minWidth:0,display:"flex",flexDirection:"column",gap:2},rowAction:{flexShrink:0,marginLeft:"auto"},rowLabel:{margin:0,...k(e,"regular"),color:t.text.muted,fontSize:a(14),lineHeight:String(s.normal)},rowValue:{margin:0,marginInlineStart:0,minWidth:0,overflowWrap:"anywhere",whiteSpace:"pre-line",...k(e,"bold"),color:t.brandInk,fontSize:a(l.body),lineHeight:String(s.snug)},consent:{display:"flex",flexDirection:"row",alignItems:"flex-start",gap:a(n.md),minHeight:xe,padding:`${a(14)} ${a(n.lg)}`,borderRadius:a(r.sm),backgroundColor:t.surfaceSubtle,cursor:"pointer",boxSizing:"border-box"},box:{width:24,height:24,marginTop:1,flexShrink:0,borderRadius:a(r.xs),borderStyle:"solid",borderWidth:1.5,borderColor:t.brandInk,backgroundColor:t.surface,display:"inline-flex",alignItems:"center",justifyContent:"center",boxSizing:"border-box",transition:e.motion.reducedMotion?"none":"background-color 180ms ease"},boxChecked:{backgroundColor:t.primary,borderColor:t.primary},tick:{...k(e,"bold"),color:t.onPrimary,fontSize:a(l.caption),lineHeight:"1"},consentLabel:{flex:"1 1 auto",minWidth:0,overflowWrap:"anywhere",...k(e,"regular"),color:t.text.primary,fontSize:a(l.bodyTight),lineHeight:String(s.relaxed)}}}o(tl,"makeStyles");function nl({headingRef:e,when:t,onChangeWhen:n,stateName:r,about:i,lengthMinutes:l,clinician:s,petName:a,reason:d,shareRecords:u,onToggleShare:f,stateCode:y,stateAttested:p,onToggleStateAttest:c,cancellationTerms:v,termsAttested:b,onToggleTermsAttest:C,canConfirm:E,busy:h,failure:S,onConfirm:w,emergency:R,onAcknowledgeEmergency:x,onSeeOtherVets:T,mediaShortfall:I=Ct,primaryVet:_,onFindEmergencyVet:P}){let A=Y(),V=M(),j=react.useMemo(()=>Pe(V),[V]),[ee,G]=react.useState(false),K=m.emergency.lede,L=r??y??"",oe=a?H(m.whereAttestTemplate,{pet:a,state:L}):H(m.stateAttestTemplate,{state:L}),se=i??d,me=!!y&&!!v,be=(!y||p)&&(!v||b);return jsxRuntime.jsxs(it,{headingRef:e,heading:m.reviewHeading,testID:"televet-booking-review",scrollTestID:"televet-booking-review-scroll",footer:R?null:jsxRuntime.jsx(B,{label:h?m.confirmBusy:m.confirmCta,kind:"primary",size:"lg",loading:h,disabled:!E||h||!me&&!be,onPress:()=>{if(!be){G(true);return}w();},testID:"televet-review-confirm"}),children:[jsxRuntime.jsxs(el,{testID:"televet-review-summary",children:[a?jsxRuntime.jsx(Pt,{label:m.summaryPet,value:a,testID:"televet-review-row-pet"}):null,s?jsxRuntime.jsx(Pt,{label:m.summaryVet,value:s,testID:"televet-review-row-vet"}):null,jsxRuntime.jsx(Pt,{label:m.summaryWhen,value:t,testID:"televet-review-row-when",action:n?jsxRuntime.jsx(B,{label:m.changeCta,kind:"quiet",fullWidth:false,onPress:n,testID:"televet-review-change-when"}):null}),jsxRuntime.jsx(Pt,{label:m.summaryLength,value:H(m.summaryLengthTemplate,{n:String(l)}),testID:"televet-review-row-length"}),L?jsxRuntime.jsx(Pt,{label:m.summaryWhere,value:L,testID:"televet-review-row-where"}):null,se?jsxRuntime.jsx(Pt,{label:m.summaryReason,value:se,last:true,testID:"televet-review-row-reason"}):null]}),jsxRuntime.jsxs("div",{style:A.list,children:[y?jsxRuntime.jsx(Gn,{label:oe,checked:p,onToggle:$e=>{G(false),c($e);},testID:"televet-review-state-attest"}):null,v?jsxRuntime.jsx(Gn,{label:v,checked:b,onToggle:$e=>{G(false),C($e);},testID:"televet-review-terms-attest"}):null,jsxRuntime.jsx(Gn,{label:m.shareRecordsOff,checked:u,onToggle:f,testID:"televet-review-share-records"})]}),ee&&!be&&me?jsxRuntime.jsx("p",{role:"alert",style:j.alertLine,"data-testid":"televet-review-attest-both",children:m.attestBoth}):null,jsxRuntime.jsx($n,{shortfall:I,testIDPrefix:"televet-review"}),R?jsxRuntime.jsxs("div",{role:"alert",style:j.emergencyBanner,"data-testid":"televet-review-emergency",children:[jsxRuntime.jsx(jr,{style:j.emergencyTitle,children:m.emergency.bannerTitle}),jsxRuntime.jsx("p",{style:j.emergencyLede,children:K}),R.length>0?jsxRuntime.jsx("p",{style:j.emergencyLede,"data-testid":"televet-review-emergency-categories",children:R.join(", ")}):null,jsxRuntime.jsx(Vt,{petName:a,primaryVet:_,onFindEmergencyVet:P,testIDPrefix:"televet-review-emergency"}),jsxRuntime.jsx(B,{label:m.emergency.keepBookingCta,kind:"secondary",loading:h,disabled:h,onPress:x,testID:"televet-review-emergency-ack"})]}):null,S==="failed"?jsxRuntime.jsx(ae,{message:m.confirmFailed}):null,S==="clinician_unavailable"?jsxRuntime.jsxs("div",{style:A.list,"data-testid":"televet-review-clinician-unavailable",children:[jsxRuntime.jsx(ae,{message:m.confirmFailed}),jsxRuntime.jsx(B,{label:m.seeOtherVetsCta,kind:"secondary",onPress:T,testID:"televet-review-see-other-vets"})]}):null,S==="rate_limited"?jsxRuntime.jsx(ae,{message:m.confirmFailed,testID:"televet-review-rate-limited"}):null,S==="not_entitled"?jsxRuntime.jsx(ae,{message:m.bookingPausedTitle,testID:"televet-review-not-entitled"}):null]})}o(nl,"ReviewStep");function Oe(e,t){return t?e.find(r=>r.petRef===t||r.petId===t)?.name??null:null}o(Oe,"nameOf");function Nm({headingRef:e,style:t,id:n,children:r}){let i=ie(ge());return jsxRuntime.jsx(i,{ref:e,tabIndex:-1,style:t,...n===void 0?{}:{id:n},children:r})}o(Nm,"StepHeading");function jr({style:e,children:t}){let n=ie(ut(ge()));return jsxRuntime.jsx(n,{style:e,children:t})}o(jr,"SubHeading");var rl=react.createContext(null);function it({headingRef:e,heading:t,headingId:n,lead:r,leadId:i,testID:l,scrollTestID:s,footerStart:a,footer:d,children:u}){let f=Y(),y=M(),p=react.useMemo(()=>Pe(y),[y]),c=react.useContext(rl);return jsxRuntime.jsxs("div",{style:f.scrollRoot,"data-testid":l,children:[jsxRuntime.jsx("div",{style:f.scrollBody,...s?{"data-testid":s}:{},children:jsxRuntime.jsxs("div",{style:p.stepBody,children:[jsxRuntime.jsxs("div",{style:p.head,children:[jsxRuntime.jsx(Nm,{headingRef:e,style:f.stepTitle,...n?{id:n}:{},children:t}),r?jsxRuntime.jsx("p",{style:f.stepHelp,...i?{id:i}:{},children:r}):null]}),u]})}),jsxRuntime.jsxs("div",{style:p.footer,children:[c?.canGoBack?jsxRuntime.jsx(B,{label:m.backLabel,kind:"quiet",fullWidth:false,onPress:c.onBack,testID:"televet-booking-back"}):null,a,d?jsxRuntime.jsx("div",{style:p.footerMain,children:d}):null]})]})}o(it,"TelevetStepFrame");function Rt({title:e,meta:t,selected:n,onPress:r,testID:i,leading:l}){let s=M(),a=react.useMemo(()=>Pe(s),[s]),d=Br(false,.98);return jsxRuntime.jsxs("button",{type:"button",role:"radio","aria-checked":n,onClick:r,...d.handlers,"data-testid":i,style:{...a.option,...n?a.optionSelected:null,...d.style},children:[l??jsxRuntime.jsx("span",{"aria-hidden":"true",style:a.optionDot,children:jsxRuntime.jsx("span",{style:{...a.optionDotFill,...n?a.optionDotFillOn:null}})}),jsxRuntime.jsxs("span",{style:a.optionText,children:[jsxRuntime.jsx("span",{style:a.optionTitle,children:e}),t?jsxRuntime.jsx("span",{style:a.optionMeta,children:t}):null]})]})}o(Rt,"TelevetOptionCard");function Hr({headingRef:e,pets:t,isPending:n,isError:r,onRetry:i,selectedId:l,onSelect:s,onNext:a,onAddPet:d}){let u=Y(),f=M(),y=react.useMemo(()=>Pe(f),[f]);return n?jsxRuntime.jsx("div",{role:"progressbar","aria-label":m.loading.pets,"aria-busy":"true",style:u.list,"data-testid":"televet-pets-loading",children:[0,1].map(p=>jsxRuntime.jsx(ve,{height:96},p))}):r?jsxRuntime.jsx("div",{"data-testid":"televet-pets-error",children:jsxRuntime.jsx(le,{title:m.chrome.loadFailedTitle,actionLabel:m.chrome.retryCta,onAction:i})}):t.length===0?jsxRuntime.jsx("div",{"data-testid":"televet-pets-empty",children:jsxRuntime.jsx(le,{title:m.chrome.noPetsTitle,actionLabel:m.addPetCta,onAction:d})}):jsxRuntime.jsx(it,{headingRef:e,heading:m.petSelectTitle,testID:"televet-booking-pets",footerStart:d?jsxRuntime.jsx(B,{label:m.addAnotherPetCta,kind:"quiet",fullWidth:false,onPress:d,testID:"televet-pet-add"}):null,footer:a?jsxRuntime.jsx(B,{label:m.continueCta,kind:"primary",size:"lg",disabled:!l,onPress:a,testID:"televet-pets-next"}):null,children:jsxRuntime.jsx("div",{role:"radiogroup","aria-label":m.petSelectTitle,style:y.options,"data-testid":"televet-pets",children:t.map(p=>jsxRuntime.jsx(Rt,{title:p.name??"",meta:jd(p),selected:l===p.petRef,onPress:()=>s(p.petRef),testID:`televet-pet-${p.petRef}`,leading:jsxRuntime.jsx("span",{"aria-hidden":"true",style:y.optionAvatar,children:Kd(p.name??"")})},p.petRef))})})}o(Hr,"PetStep");var Fm="\u25CB";function Kd(e){let t=e.trim();return t.length===0?Fm:t.slice(0,1).toUpperCase()}o(Kd,"initialOf");function qd({headingRef:e,clinicians:t,isPending:n,isError:r,selectedId:i,stateCode:l,stateName:s,onSelect:a,onRetry:d}){let u=Y(),f=M(),y=react.useMemo(()=>Pe(f),[f]);if(n)return jsxRuntime.jsx("div",{role:"progressbar","aria-label":m.loading.clinicians,"aria-busy":"true",style:u.list,"data-testid":"televet-clinicians-loading",children:jsxRuntime.jsx(ve,{height:240})});if(r)return jsxRuntime.jsx("div",{"data-testid":"televet-clinicians-error",children:jsxRuntime.jsx(le,{title:m.chrome.loadFailedTitle,actionLabel:m.chrome.retryCta,onAction:d})});if(t.length===0)return jsxRuntime.jsx("div",{"data-testid":"televet-clinicians-empty",children:jsxRuntime.jsx(le,{title:m.noCliniciansTitle,message:m.noCliniciansBody,actionLabel:m.noCliniciansRetryCta,onAction:d})});let p=t.find(b=>b.clinicianId===i)??t[0];if(p===void 0)return null;let c=l?.trim().toUpperCase()??"",v=c.length>0&&p.licensedStates.some(b=>b.state.trim().toUpperCase()===c);return jsxRuntime.jsx(it,{headingRef:e,heading:m.yourVetTitle,testID:"televet-clinicians",footer:jsxRuntime.jsx(B,{label:m.continueCta,kind:"primary",size:"lg",onPress:()=>a(p.clinicianId),testID:`televet-clinician-${p.clinicianId}`}),children:jsxRuntime.jsxs("div",{style:y.meet,children:[jsxRuntime.jsx("span",{"aria-hidden":"true",style:y.vetAvatar,children:Kd(p.displayName)}),jsxRuntime.jsx("p",{style:y.vetName,children:p.credentials?`${p.displayName}, ${p.credentials}`:p.displayName}),v&&s?jsxRuntime.jsx("div",{style:y.pills,children:jsxRuntime.jsx("span",{style:y.pill,"data-testid":"televet-vet-licensed",children:H(m.licensedPillTemplate,{state:s})})}):null,p.rating!==null&&p.ratingCount!==null?jsxRuntime.jsx("p",{style:y.vetRating,"data-testid":"televet-vet-rating",children:`\u2605 ${String(p.rating)} \xB7 ${String(p.ratingCount)} ${m.reviewsLabel}`}):null,p.bio?jsxRuntime.jsx("p",{style:y.vetBio,"data-testid":"televet-vet-bio",children:p.bio}):null]})})}o(qd,"ClinicianStep");function Yd({headingRef:e,slots:t,enabled:n,isPending:r,isError:i,busySlotId:l,failure:s,selectedSlot:a,nextOpening:d,onPick:u,onRetry:f,onSeeOtherVets:y}){let p=Y();return n?r?jsxRuntime.jsx("div",{role:"progressbar","aria-label":m.loading.slots,"aria-busy":"true",style:p.list,"data-testid":"televet-slots-loading",children:[0,1,2].map(c=>jsxRuntime.jsx(ve,{height:48},c))}):i?jsxRuntime.jsx(le,{title:m.slotsErrorTitle,actionLabel:m.retryCta,onAction:f,testID:"televet-slots-error"}):t.length===0?jsxRuntime.jsx("div",{"data-testid":"televet-slots-empty",children:jsxRuntime.jsx(le,{title:m.noSlotsTitle,message:d?H(m.nextOpeningTemplate,{when:Dn(d.startsAt)}):void 0,actionLabel:d?m.seeOtherVetsCta:void 0,onAction:d?y:void 0})}):jsxRuntime.jsxs(it,{headingRef:e,heading:m.timeHeading,testID:"televet-slots",children:[s==="expired"?jsxRuntime.jsx(ae,{message:m.holdExpired}):null,s==="taken"?jsxRuntime.jsx(ae,{message:m.slotTaken}):null,s==="failed"||s==="rate_limited"?jsxRuntime.jsx(ae,{message:m.confirmFailed,testID:"televet-slots-hold-failed"}):null,jsxRuntime.jsx(Yn,{slots:t,busySlotId:l,onPick:u,selectedSlot:a,dayGroupLabel:m.dayLegend,timeGroupLabel:m.timeHeading,periodLabels:{morning:m.timeMorning,afternoon:m.timeAfternoon,evening:m.timeEvening},timeLegendTemplate:m.timeLegendTemplate})]}):jsxRuntime.jsx("div",{"data-testid":"televet-slots-unavailable",children:jsxRuntime.jsx(le,{title:m.bookingPausedTitle})})}o(Yd,"SlotStep");function Gd({headingRef:e,petName:t,chips:n,selected:r,onToggle:i,onNext:l}){let s=M(),a=react.useMemo(()=>Pe(s),[s]),[d,u]=react.useState(false),f=H(m.issuesTitleTemplate,{pet:t??m.petFallback});return jsxRuntime.jsxs(it,{headingRef:e,heading:f,lead:m.issuesHint,testID:"televet-booking-issues",footer:jsxRuntime.jsx(B,{label:m.continueCta,kind:"primary",size:"lg",onPress:()=>{if(r.length===0){u(true);return}l();},testID:"televet-issues-next"}),children:[jsxRuntime.jsx("div",{role:"group","aria-label":m.issuesFormLabel,style:a.chipRow,children:n.map(y=>{let p=r.includes(y.id);return jsxRuntime.jsx(Mm,{label:y.label,on:p,onPress:()=>{u(false),i(y.id);},testID:`televet-issue-${y.id}`},y.id)})}),d&&r.length===0?jsxRuntime.jsx("p",{role:"alert",style:a.alertLine,"data-testid":"televet-issues-refused",children:m.issuesPickOne}):null]})}o(Gd,"IssuesStep");function Mm({label:e,on:t,onPress:n,testID:r}){let i=M(),l=react.useMemo(()=>Pe(i),[i]),s=Br();return jsxRuntime.jsxs("button",{type:"button","aria-pressed":t,onClick:n,...s.handlers,style:{...l.chip,...t?l.chipOn:null,...s.style},"data-testid":r,children:[t?jsxRuntime.jsx("svg",{"aria-hidden":"true",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.4",strokeLinecap:"round",strokeLinejoin:"round",children:jsxRuntime.jsx("path",{d:"M20 6 9 17l-5-5"})}):null,e]})}o(Mm,"IssueChip");function Jd({headingRef:e,value:t,composed:n,vetName:r,onChange:i,onNext:l,media:s,onChangeMedia:a,onPickMedia:d,mediaLive:u=false,checking:f=false}){let y=M(),p=react.useMemo(()=>Pe(y),[y]),c=react.useId(),v=`${c}-reason-field`,b=`${c}-reason-help`,[C,E]=react.useState(false),h=(n??t).trim(),S=h.length>vt,w=h.length>0&&!S,R=r?H(m.describeHeadingTemplate,{vet:r}):m.describeHeading;return jsxRuntime.jsxs(it,{headingRef:e,heading:R,lead:m.describeHelpLong,leadId:b,testID:"televet-booking-reason",scrollTestID:"televet-booking-reason-scroll",footer:jsxRuntime.jsx(B,{label:m.continueCta,kind:"primary",size:"lg",disabled:!w,loading:f,onPress:l,testID:"televet-reason-next"}),children:[jsxRuntime.jsxs("div",{style:p.field,children:[jsxRuntime.jsx("label",{htmlFor:v,style:p.fieldLabel,children:m.describeFieldLabel}),jsxRuntime.jsx("textarea",{id:v,value:t,onChange:x=>i(x.currentTarget.value),onFocus:()=>E(true),onBlur:()=>E(false),"aria-describedby":b,"aria-invalid":S||void 0,placeholder:m.reasonPlaceholder,style:{...p.reasonInput,...C?p.reasonInputFocus:null},"data-testid":"televet-reason-input"})]}),S?jsxRuntime.jsx(ae,{message:m.reasonTooLong}):null,jsxRuntime.jsx(Yi,{media:s,onChange:a,listLabel:m.addPhotoCta,meta:u?m.addPhotoMeta:null,...d?{onPickMedia:d}:{}})]})}o(Jd,"ReasonStep");function Qd({headingRef:e,petId:t,roster:n,onAddPet:r,onPickPet:i}){return t===null?jsxRuntime.jsx(Hr,{headingRef:e,pets:n.pets,isPending:n.loading,isError:n.error!==null,onRetry:()=>{n.refresh();},onAddPet:r,selectedId:null,onSelect:i}):jsxRuntime.jsx(Dm,{petRef:t})}o(Qd,"TelevetVisitSimulator");function Dm({petRef:e}){let t=Y(),n=ud(e);return jsxRuntime.jsx("div",{style:{...t.stepFill,...t.scrollBody},"data-testid":"televet-simulator",children:jsxRuntime.jsxs("div",{style:t.list,children:[jsxRuntime.jsx(le,{title:De.title}),jsxRuntime.jsx(B,{label:De.create,onPress:n.create,kind:"secondary",disabled:n.busy,testID:"televet-simulator-create"}),n.visitLine!==null?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("p",{style:t.stateMessage,"data-testid":"televet-simulator-visit",children:n.visitLine}),cd.map(r=>jsxRuntime.jsx(B,{label:De.advance[r],onPress:()=>n.advance(r),kind:"secondary",disabled:n.busy,testID:`televet-simulator-advance-${r}`},r)),jsxRuntime.jsx("p",{style:t.stateMessage,children:De.eventsNote}),pd.map(r=>jsxRuntime.jsx(B,{label:De.events[r],onPress:()=>n.raise(r),kind:"secondary",disabled:n.busy,testID:`televet-simulator-event-${r}`},r))]}):null,n.line===null?null:n.line.tone==="danger"?jsxRuntime.jsx(ae,{message:n.line.text,testID:"televet-simulator-error"}):jsxRuntime.jsx("p",{role:"status",style:t.stateMessage,"data-testid":"televet-simulator-log",children:n.line.text})]})})}o(Dm,"SimulatorScreen");function eu({headingRef:e,petName:t,where:n,onNext:r}){let i=M(),l=react.useMemo(()=>Pe(i),[i]),s=t??m.petFallback,a=`${react.useId()}-where-state`,d=n.otherSelected,u=jsxRuntime.jsxs("div",{style:l.field,children:[jsxRuntime.jsx("label",{htmlFor:a,style:l.fieldLabel,children:m.whereWhichState}),jsxRuntime.jsxs("select",{id:a,value:n.otherPlace?.code??"",onChange:f=>{f.currentTarget.value&&n.pickState(f.currentTarget.value);},style:l.select,"data-testid":"televet-where-select",children:[jsxRuntime.jsx("option",{value:"",disabled:true,children:m.whereWhichState}),Ri.filter(f=>f.code!==n.hostPlace?.code).map(f=>jsxRuntime.jsx("option",{value:f.code,children:f.name},f.code))]}),n.hostPlace===null&&n.otherPlace?.meta?jsxRuntime.jsx("p",{style:l.note,"data-testid":"televet-where-other-meta",children:n.otherPlace.meta}):null]});return jsxRuntime.jsxs(it,{headingRef:e,heading:H(m.whereTitleTemplate,{pet:s}),lead:H(m.whereLeadTemplate,{pronoun:m.wherePronounFallback}),testID:"televet-booking-where",footer:jsxRuntime.jsx(B,{label:m.continueCta,kind:"primary",size:"lg",disabled:!n.canContinue,onPress:r,testID:"televet-where-next"}),children:[n.hostPlace?jsxRuntime.jsxs("div",{role:"radiogroup","aria-label":H(m.whereFormLabelTemplate,{pet:s}),style:{...l.options,...l.optionsStack},children:[jsxRuntime.jsx(Rt,{title:n.hostPlace.name,meta:n.hostPlace.meta,selected:!d,onPress:n.pickHost,testID:"televet-where-host"}),jsxRuntime.jsx(Rt,{title:m.whereAnotherState,meta:n.otherPlace?.meta??null,selected:d,onPress:n.pickOther,testID:"televet-where-other"})]}):null,d?u:null,n.licensedLine?jsxRuntime.jsx("p",{style:l.callout,"data-testid":"televet-where-licensed",children:n.licensedLine}):null]})}o(eu,"WhereStep");function tu({headingRef:e,petName:t,answer:n,onAnswer:r,onNext:i,onHandled:l,primaryVet:s,onFindEmergencyVet:a}){let d=M(),u=react.useMemo(()=>Pe(d),[d]),f=m.emergencyCheck,y=m.emergency.lede;return jsxRuntime.jsxs(it,{headingRef:e,heading:H(f.titleTemplate,{pet:t??m.petFallback}),lead:f.lead,testID:"televet-booking-emergency",footer:jsxRuntime.jsx(B,{label:m.continueCta,kind:"primary",size:"lg",disabled:n!=="none",onPress:i,testID:"televet-emergency-next"}),children:[jsxRuntime.jsx("ul",{style:u.signs,"data-testid":"televet-emergency-signs",children:f.signs.map(p=>jsxRuntime.jsx("li",{children:p},p))}),jsxRuntime.jsxs("div",{role:"radiogroup","aria-label":f.legend,style:u.options,children:[jsxRuntime.jsx(Rt,{title:f.noneCta,selected:n==="none",onPress:()=>r("none"),testID:"televet-emergency-none"}),jsxRuntime.jsx(Rt,{title:f.someCta,selected:n==="some",onPress:()=>r("some"),testID:"televet-emergency-some"})]}),n==="some"?jsxRuntime.jsxs("div",{role:"alert",style:u.emergencyBanner,"data-testid":"televet-emergency-panel",children:[jsxRuntime.jsx(jr,{style:u.emergencyTitle,children:m.emergency.bannerTitle}),jsxRuntime.jsx("p",{style:u.emergencyLede,children:y}),jsxRuntime.jsx(Vt,{petName:t,primaryVet:s,onFindEmergencyVet:a,testIDPrefix:"televet-emergency"}),jsxRuntime.jsx("button",{type:"button",onClick:l,style:u.linkButton,"data-testid":"televet-emergency-handled",children:m.emergency.keepBookingCta})]}):null]})}o(tu,"EmergencyStep");function il(e){let{petRef:t,usState:n,controller:r,onBooked:i,onExit:l,onAddPet:s,onPickMedia:a,onAddToCalendar:d,onConfirmDiscard:u,onRequestLocation:f,locationStatus:y="unknown",onTriageReason:p,onStateInterest:c,primaryVet:v,onFindEmergencyVet:b,canJoinInApp:C=false,renderUnavailable:E,headingLevel:h,style:S,testID:w}=Kt(e,["onBooked","onExit","onAddPet","onRequestLocation","onFindEmergencyVet"]),R=Cd(h??rn),x=ut(R),T=Y(),I=M(),_=react.useMemo(()=>Pe(I),[I]),P=ke(r),A=St(),V=A.pets,j=V.length,ee=react.useMemo(()=>({ownedPetCount:j,withIssues:true}),[j]),[G,K]=react.useReducer((ce,zu)=>ri(ce,zu,ee),void 0,()=>ti({ownedPetCount:0,withIssues:true},{petId:t??null,state:n??null})),L=react.useCallback(ce=>K(ce),[]),[oe,se]=react.useState(""),[me,be]=react.useState(null),[$e,X]=react.useState(null),[Be,ct]=react.useState(false),[Ut,rr]=react.useState(false),[gn,$]=react.useState([]),Ke=react.useMemo(()=>td(),[]),Ee=Zs({media:gn,controller:P,transport:Ke}),[_e,At]=react.useState(null),[Pu,Ru]=react.useState(null),{draft:z}=G,de=ii(G),wl=react.useRef(z.state);wl.current!==z.state&&(wl.current=z.state,Be&&ct(false),Ut&&rr(false));let vn=Rn(z.state,P),Il=_n(P),$t=Io(P),Le=Ao(z.state,P),pt=wn(z.clinicianId,P),Gr=pt.refetch,_u=Oo(P).data??null,Jr=In(P),Al=Lo(P),wu=react.useMemo(()=>fd(P),[P]),qe=xi(p??wu),Iu=Pi(z.state,c??null),or=n??null,Ol=Iu.actionFor("no_licensed_vet"),Xr=Oe(V,z.petId),ft=Sd({reasonText:oe,state:z.state,hostState:or,clinicianId:z.clinicianId,clinicians:Le.data,policy:vn,petName:Xr,controller:P,dispatch:L}),{composedReason:mt,where:Qr,matchedClinician:Au}=ft;react.useEffect(()=>{or&&!z.state&&!ft.whereTouched.current&&L({type:"patch",patch:{state:or}});},[or,z.state,L]),react.useEffect(()=>{t&&!z.petId&&L({type:"patch",patch:{petId:t}});},[t,z.petId,L]);let Zr=V.length===1?V[0]?.petRef??null:null;react.useEffect(()=>{Zr&&!z.petId&&L({type:"patch",patch:{petId:Zr}});},[Zr,z.petId,L]);let Bl=react.useRef(de);Bl.current=de;let Ll=react.useRef(z.petId);Ll.current=z.petId;let Nl=react.useRef(0);react.useEffect(()=>{if(j===Nl.current)return;Nl.current=j;let ce=j>1&&!Ll.current;L({type:"goTo",step:ce?"pet":Bl.current});},[j,L]);let eo=Le.data?.[0]?.clinicianId??null;react.useEffect(()=>{eo&&!z.clinicianId&&L({type:"patch",patch:{clinicianId:eo}});},[eo,z.clinicianId,L]);let Qe=react.useRef(null),Fl=react.useRef(false);react.useEffect(()=>{if(!Fl.current){Fl.current=true;return}Qe.current?.focus();},[de]);let Ou=Gs({draft:z,hold:Jr,dispatch:L,setFailure:be,refetchSlots:Gr}),{submitBooking:Bu,confirm:Lu}=Ys({draft:z,reasonText:mt,book:Al,stateAttested:Be,termsAttested:Ut,cancellationPolicy:Il.data??null,triage:qe,goTo:react.useCallback(ce=>L({type:"goTo",step:ce}),[L]),releaseSlot:react.useCallback(()=>{Ru(z.slot),L({type:"patch",patch:js}),Gr();},[z.slot,L,Gr]),setFailure:be,setEmergency:X,setBookedConsult:At,...i?{onBooked:i}:{},media:Ee}),Nu=vn.enabled&&vn.data!==null&&!vn.data.wellnessAvailable&&de!=="pet"&&de!=="where",Fu=$t.enabled&&$t.data?.active===false||me==="not_entitled",{simulate:Ml,fundingRefused:Dl}=dd($t,Fu),Mu=$t.enabled&&$t.data!==null,Du=pi(Mu),Vu=mt.trim().length>0||!!z.slot,Vl={surfaceUnavailable:P===null||me==="unavailable"||An($t)||An(vn),notEntitled:Dl,policyBlocked:Nu,triageOpen:qe.open,step:de},zl=_d(Vl),jl={noState:!z.state,isPending:Le.enabled&&Le.isPending,isError:Le.isError,isEmpty:(Le.data?.length??0)===0,notEntitled:Dl},Hl=Id(jl);if(!at())return jsxRuntime.jsx("div",{style:{...T.screen,...S},"data-testid":w??"televet-booking",children:jsxRuntime.jsx("div",{style:T.stepFill,"data-testid":"televet-booking-copy-unapproved",children:E?E():null})});let Wl=!Ml&&(qe.open||ni(G,ee))&&de!=="booked",Ul=o(()=>{if(qe.open){qe.close();return}qe.cancel(),L({type:"back"});},"goBack");return jsxRuntime.jsx(wi.Provider,{value:x,children:jsxRuntime.jsx(rl.Provider,{value:{canGoBack:Wl,onBack:Ul},children:jsxRuntime.jsxs("div",{style:{...T.screen,...S},"data-testid":w??"televet-booking",children:[jsxRuntime.jsx(Ki,{step:de,furthestIndex:G.furthestIndex,triageOpen:qe.open,stepContext:ee,canGoBack:Wl,showBack:zl||de==="clinician"&&Hl,isDirty:Vu,onBack:Ul,onClose:()=>l?.(),headingLevel:R,...u?{onConfirmDiscard:u}:{}}),Ml?jsxRuntime.jsx(Qd,{headingRef:Qe,petId:z.petId,roster:A,onAddPet:s,onPickPet:ce=>L({type:"patch",patch:{petId:ce}})}):zl?jsxRuntime.jsx(wd,{state:Vl,petName:Oe(V,z.petId),...v?{primaryVet:v}:{},onFindEmergencyVet:b,stateInterest:Ol,...c?{onCheckAvailability:o(()=>L({type:"goTo",step:"clinician"}),"onCheckAvailability")}:{},onAcknowledgeEmergency:()=>{qe.acknowledge(mt),L({type:"next"});},...E?{renderUnavailable:E}:{}}):de==="time"?jsxRuntime.jsx(Yd,{headingRef:Qe,slots:pt.data??[],enabled:pt.enabled,isPending:pt.enabled&&pt.isPending&&pt.data===null,isError:pt.isError,busySlotId:Jr.isPending?Jr.variables:null,failure:me,selectedSlot:z.slot??Pu,nextOpening:_u,onPick:Ou,onRetry:()=>pt.refetch(),onSeeOtherVets:()=>L({type:"goTo",step:"clinician"})}):de==="review"?jsxRuntime.jsx(nl,{headingRef:Qe,when:z.slot?en(z.slot.startsAt):"",onChangeWhen:()=>L({type:"goTo",step:"time"}),stateName:Qr.stateName,about:ft.aboutLine,lengthMinutes:(z.slot?vo(z.slot):null)??Mt,petName:Oe(V,z.petId),reason:mt.trim(),clinician:Le.data?.find(ce=>ce.clinicianId===z.clinicianId)?.displayName??null,shareRecords:z.shareHealthRecords,stateCode:z.state,stateAttested:Be,onToggleStateAttest:ct,cancellationTerms:Il.data?.summary??null,termsAttested:Ut,onToggleTermsAttest:rr,onToggleShare:ce=>L({type:"patch",patch:{shareHealthRecords:ce}}),canConfirm:Fn(z,mt),busy:Al.isPending||Ee.sending,failure:me,onConfirm:Lu,emergency:$e,onAcknowledgeEmergency:()=>Bu(true),mediaShortfall:Ee.shortfall,primaryVet:v,onFindEmergencyVet:b,onSeeOtherVets:()=>L({type:"goTo",step:"clinician"})}):de==="booked"?jsxRuntime.jsx("div",{style:T.stepFill,"data-testid":"televet-booking-booked",children:_e?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(zi,{consult:_e,petName:Oe(V,_e.petId)??Oe(V,z.petId),onDone:()=>l?.(),canJoinInApp:C,lengthMinutes:(z.slot?vo(z.slot):null)??Mt,sharedRecords:z.shareHealthRecords,sentPhoto:Ee.sentOnePhoto(_e),...d?{onAddToCalendar:d}:{}}),jsxRuntime.jsx($n,{shortfall:Ee.bookedShortfall(_e),testIDPrefix:"televet-booked"})]}):null}):de==="clinician"&&Hl?jsxRuntime.jsx(Ad,{state:jl,cause:Du,locationStatus:y,...f?{onRequestLocation:f}:{},onRetry:()=>Le.refetch(),stateInterest:Ol,...E?{renderUnavailable:E}:{}}):de==="clinician"?jsxRuntime.jsx(qd,{headingRef:Qe,clinicians:Le.data??[],isPending:Le.enabled&&Le.isPending,isError:Le.isError,selectedId:z.clinicianId,stateCode:z.state,stateName:Qr.stateName,onRetry:()=>Le.refetch(),onSelect:ce=>{L({type:"patch",patch:{clinicianId:ce}}),L({type:"next"});}}):de==="issues"?jsxRuntime.jsx(Gd,{headingRef:Qe,petName:Oe(V,z.petId),chips:ft.issueChips,selected:ft.concernIds,onToggle:ft.toggleConcern,onNext:()=>L({type:"next"})}):de==="reason"?jsxRuntime.jsx(Jd,{headingRef:Qe,value:oe,composed:mt,vetName:Au?.displayName??null,onChange:se,media:gn,onChangeMedia:$,mediaLive:Ee.live,...a?{onPickMedia:a}:{},checking:qe.checking,onNext:()=>{qe.check(mt).then(ce=>{ce&&L({type:"next"});});}}):de==="pet"?jsxRuntime.jsx(Hr,{headingRef:Qe,pets:V,isPending:A.loading,isError:A.error!==null,onRetry:()=>{A.refresh();},onAddPet:s,selectedId:z.petId,onSelect:ce=>L({type:"patch",patch:{petId:ce}}),onNext:()=>L({type:"next"})}):de==="where"?jsxRuntime.jsx(eu,{headingRef:Qe,petName:Xr,where:Qr,onNext:()=>L({type:"next"})}):de==="emergency"?jsxRuntime.jsx(tu,{headingRef:Qe,petName:Xr,answer:ft.emergencyAnswer,onAnswer:ft.setEmergencyAnswer,onNext:()=>L({type:"next"}),onHandled:()=>{qe.acknowledge(mt),L({type:"next"});},...v?{primaryVet:v}:{},onFindEmergencyVet:b}):jsxRuntime.jsx("div",{style:_.marker,"data-testid":`televet-booking-step-${de}`})]})})})}o(il,"EverfurTelevetBooking");var ru=Symbol.for("@everfur/sdk/televet");function ou(){let e=globalThis,t=e[ru];if(t!==void 0)return t;let n={presenter:null,snapshot:Object.freeze({request:null,serial:0,activeHost:null}),hosts:[],nextHost:1,listeners:new Set,dailyRegistered:false};return e[ru]=n,n}o(ou,"televetGlobal");function Ur(){return ou().dailyRegistered}o(Ur,"isEverfurDailyRegistered");function ll(){let e=ou(),t=e.noticeReceipts;if(t!==void 0)return t;let n=new Map;return e.noticeReceipts=n,n}o(ll,"noticeReceipts");function iu(e){let t=ll(),n=t.get(e);n!==void 0?n.holders+=1:t.set(e,{holders:1,joined:false});}o(iu,"markRecordingNoticeAccepted");function lu(e){let t=ll(),n=t.get(e);n!==void 0&&(n.holders-=1,n.holders<=0&&t.delete(e));}o(lu,"clearRecordingNoticeAccepted");function au(e){return ll().get(e)?.joined===true}o(au,"isTelevetCallJoined");var lt=Object.freeze({muteCta:"Mute",unmuteCta:"Unmute",cameraOffCta:"Camera off",cameraOnCta:"Camera on",leaveCta:"Leave",switchCameraCta:"Switch camera",speakerOffCta:"Speaker off",speakerOnCta:"Speaker on",lobbyTitleNoName:"Your vet is joining",lobbySubtitle:"Usually under a minute",lobbyPrepLabel:"WHILE YOU WAIT",lobbyPrepNoPet:"Have your pet nearby and somewhere well lit.",lobbyTitle:o(e=>{let t=e?.trim()??"";return t.length>0?`${t} is joining`:lt.lobbyTitleNoName},"lobbyTitle"),lobbyPrep:o(e=>{let t=e?.trim()??"";return t.length>0?`Have ${t} nearby and somewhere well lit.`:lt.lobbyPrepNoPet},"lobbyPrep"),lobbyDuration:o(e=>`${e} minutes`,"lobbyDuration"),waitingRoomLabel:"Waiting room",leaveWaitingRoomLabel:"Leave the waiting room",lobbyTipsTitle:o(e=>{let t=e?.trim()??"";return t.length>0?`Before ${t} joins`:lt.lobbyPrepLabel},"lobbyTipsTitle"),lobbyTipSpot:"Find a bright, quiet spot.",joinFailedReason:"That did not open. Try again.",recordingNoticeTitle:"This consultation is recorded.",recordingNoticeCta:"Continue to the call",recordingNoticeDecline:"Not now",selfCameraOffLabel:"Your camera is off"});function su(e){switch(e){case "too_early":return "This visit has not opened yet.";case "too_late":return "This visit has ended.";case "room_not_ready":return "We are still setting up the video room. Try again in a moment.";case "status_cancelled_owner":return "You cancelled this visit.";case "status_cancelled_ops":return "This visit was cancelled. Please book another time.";case "status_no_show_owner":return "This visit was missed.";case "status_no_show_vet":return "The vet could not make this visit. Please book another time.";case "status_awaiting_summary":return "This visit has ended. Your summary is on its way.";case "status_completed":return "This visit has ended.";default:return Xn}}o(su,"televetJoinRefusalWebCopy");var Xn="This visit cannot be joined right now.";function du(e){return e==="room_not_ready"||e==="unknown"}o(du,"televetJoinIsRetryable");function uu(e){let t=null;return ()=>{if(t!==null)return t;let n=e();return t=n,n.then(void 0,()=>{t===n&&(t=null);}),n}}o(uu,"memoizeTelevetLoader");var pu=Object.freeze({status:"joining"});function al(e,t){let[n,r]=react.useState(0),[i,l]=react.useState(pu),s=react.useRef(null);react.useEffect(()=>{let d=t?.joinConsult;if(t===null||d===void 0){l(Object.freeze({status:"refused",refusal:"unavailable",reason:null}));return}let u=`${e}#${String(n)}`,f=s.current;if(f===null||f.key!==u){let p;try{p=d.call(t,e);}catch(c){p=Promise.reject(c);}f={key:u,promise:p},s.current=f;}let y=true;return l(pu),f.promise.then(p=>{y&&(p.ok?l(Object.freeze({status:"ready",credential:p.value})):l(Object.freeze({status:"refused",refusal:yo(p.error),reason:mo(p.error)})));},()=>{y&&l(Object.freeze({status:"refused",refusal:"unknown",reason:null}));}),()=>{y=false;}},[e,t,n]);let a=react.useCallback(()=>r(d=>d+1),[]);return {state:i,retry:a}}o(al,"useTelevetJoin");var mu=uu(()=>import('@everfur/sdk/web/televet/call')),Gm=ao;function sl({consultId:e,controller:t,onLeave:n,style:r}){let i=Y(),[l,s]=react.useState(null),a=l===e,[d]=react.useState(Ur);react.useEffect(()=>{if(d)return;let f=true;return mu().then(y=>{f&&Xm(y.EVERFUR_DAILY_SETUP);},()=>{}),()=>{f=false;}},[d]),Kn(()=>(n(),true),!a);let u=react.useCallback(()=>{s(null),n();},[n]);return d?a?jsxRuntime.jsx(Jm,{consultId:e,controller:t,onLeave:u,style:r},e):jsxRuntime.jsx(yu,{onContinue:()=>s(e),onDecline:n,style:r}):jsxRuntime.jsxs("div",{style:{...i.stepFill,...r},"data-testid":"televet-join-call-unavailable",children:[jsxRuntime.jsx(ae,{message:Xn}),jsxRuntime.jsx(B,{label:lt.leaveCta,kind:"secondary",onPress:n,testID:"televet-join-unavailable-leave"})]})}o(sl,"TelevetJoinScreen");function yu({onContinue:e,onDecline:t,busy:n=false,declineHeld:r=false,style:i}){let l=Y(),s=`${react.useId()}-recording-notice`,a=react.useRef(null);return react.useEffect(()=>{let d=a.current;if(!d)return;let u=d.ownerDocument.activeElement;u!==null&&u!==d.ownerDocument.body||d.focus();},[]),jsxRuntime.jsx("div",{style:{...l.stepFill,...i},children:jsxRuntime.jsxs("div",{ref:a,role:"alertdialog","aria-labelledby":s,"aria-busy":n||void 0,tabIndex:-1,"data-testid":"everfur-vet-call-recording-notice",style:l.stateCard,children:[jsxRuntime.jsx("p",{id:s,style:l.stateTitle,children:lt.recordingNoticeTitle}),jsxRuntime.jsx(B,{label:lt.recordingNoticeCta,kind:"primary",loading:n,onPress:()=>e?.(),testID:"everfur-vet-call-recording-continue"}),jsxRuntime.jsx(B,{label:lt.recordingNoticeDecline,kind:"secondary",disabled:r,onPress:()=>t?.(),testID:"everfur-vet-call-recording-decline"})]})})}o(yu,"TelevetRecordingNotice");function Jm({consultId:e,controller:t,onLeave:n,style:r}){let i=Y(),l=ke(t),{state:s,retry:a}=al(e,l),d=s.status==="ready"?s.credential:null,[u,f]=react.useState(null),[y,p]=react.useState(false),c=d!==null;react.useEffect(()=>{if(!c||u!==null)return;let R=true;return mu().then(x=>{R&&f(()=>x);},()=>{R&&p(true);}),()=>{R=false;}},[c,u]);let[v,b]=react.useState(null);react.useEffect(()=>{if(d===null)return;let R=d.roomUrl;return iu(R),b(d),()=>{lu(R);}},[d]);let C=s.status==="joining",[E,h]=react.useState(false);react.useEffect(()=>{if(!C){h(false);return}let R=setTimeout(()=>h(true),Gm);return ()=>{clearTimeout(R);}},[C]);let S=C&&!E;if(Kn(()=>(S||d!==null&&u!==null&&!y&&au(d.roomUrl)||n(),true)),s.status==="refused"||y){let R=s.status==="refused"?s.refusal:"unavailable",x=s.status==="refused"?su(s.reason):Xn;return jsxRuntime.jsxs("div",{style:{...i.stepFill,...r},"data-testid":"televet-join-refused",children:[jsxRuntime.jsx(ae,{message:x,testID:"televet-join-refused-message"}),du(R)&&s.status==="refused"?jsxRuntime.jsx(B,{label:m.retryCta,kind:"primary",onPress:a,testID:"televet-join-retry"}):null,jsxRuntime.jsx(B,{label:lt.leaveCta,kind:"secondary",onPress:n,testID:"televet-join-leave"})]})}if(d===null||u===null||v!==d)return jsxRuntime.jsx(yu,{busy:true,declineHeld:S,onDecline:n,style:r});let{EverfurVetCall:w}=u;return jsxRuntime.jsx(w,{roomUrl:d.roomUrl,token:d.token,onLeave:n,renderUnavailable:()=>jsxRuntime.jsxs("div",{style:i.stepFill,"data-testid":"televet-join-call-unavailable",children:[jsxRuntime.jsx(ae,{message:Xn}),jsxRuntime.jsx(B,{label:lt.leaveCta,kind:"secondary",onPress:n,testID:"televet-join-unavailable-leave"})]}),...r?{style:r}:{}})}o(Jm,"TelevetJoinRoom");var fu=false;function Xm(e){if(fu)return;fu=true;let t=globalThis.console;try{t?.warn?.(e);}catch{}}o(Xm,"warnSetupOnce");var ey=2e4;function gu(e=true,t=ey){let[n,r]=react.useState(()=>Date.now());return react.useEffect(()=>{if(!e)return;r(Date.now());let i=setInterval(()=>r(Date.now()),t);return ()=>clearInterval(i)},[e,t]),n}o(gu,"useNowMs");function ty(e){return e.httpStatus!==void 0&&!kn(e)}o(ty,"answeredBehindSwitch");function ul(e,t=0){let n=e?.listVetThreads,r=n!==void 0,[i,l]=react.useState(()=>({availability:r?"pending":"dark",threads:[],isPending:r,error:null})),[s,a]=react.useState(0);react.useEffect(()=>{if(!e||!n){l({availability:"dark",threads:[],isPending:false,error:null});return}let u=new AbortController,f=true;return l(y=>({...y,isPending:true})),n.call(e,u.signal).then(y=>{f&&(y.ok?l({availability:"lit",threads:y.value,isPending:false,error:null}):kn(y.error)?l({availability:"dark",threads:[],isPending:false,error:null}):l(p=>({availability:ty(y.error)?"lit":p.availability,threads:p.threads,isPending:false,error:y.error})));},()=>{f&&l(y=>({...y,isPending:false}));}),()=>{f=false,u.abort();}},[e,n,t,s]);let d=react.useCallback(()=>a(u=>u+1),[]);return react.useMemo(()=>({...i,refetch:d}),[i,d])}o(ul,"useVetThreads");function cl(e,t,n={}){let r=n.now??Date.now,i=e?.listVetMessages,[l,s]=react.useState([]),[a,d]=react.useState("loading"),[u,f]=react.useState(false),[y,p]=react.useState(false),[c,v]=react.useState(n.ownerCanStart===false),[b,C]=react.useState(false),[E,h]=react.useState(null),[S,w]=react.useState(0),[R,x]=react.useState(0),T=react.useRef(true),I=react.useRef(false),_=react.useRef(false),P=react.useRef(r);P.current=r,react.useEffect(()=>(T.current=true,()=>{T.current=false;}),[]),react.useEffect(()=>{n.ownerCanStart===false&&v(true);},[n.ownerCanStart]),react.useEffect(()=>{if(s([]),f(false),!e||!i){d("ready");return}d("loading");let K=new AbortController,L=true;return i.call(e,t,{},K.signal).then(oe=>{if(L){if(!oe.ok){d("error");return}s([...oe.value].reverse()),f(oe.value.length>=En),d("ready");}},()=>{L&&d("error");}),()=>{L=false,K.abort();}},[e,i,t,R]);let A=react.useRef(null);react.useEffect(()=>{let K=e?.markVetThreadRead;a!=="ready"||!e||!K||A.current===t||(A.current=t,K.call(e,t,new Date(P.current()).toISOString()).catch(()=>{}));},[a,e,t]);let V=react.useCallback(()=>{let K=l[0];if(!e||!i||!u||K===void 0||_.current)return;_.current=true,p(true);let L=new AbortController;i.call(e,t,{before:K.createdAt},L.signal).then(oe=>{if(_.current=false,!T.current||(p(false),!oe.ok))return;let se=new Set(l.map(be=>be.messageId)),me=[...oe.value].reverse().filter(be=>!se.has(be.messageId));s(be=>[...me,...be]),f(oe.value.length>=En);},()=>{_.current=false,T.current&&p(false);});},[e,i,t,u,l]),j=react.useCallback(async K=>{let L=e?.sendVetMessage;if(!e||!L||I.current||K.trim().length===0)return false;I.current=true,C(true),h(null);let oe=false;try{let se=await L.call(e,t,K);if(!T.current)return se.ok;se.ok?(oe=!0,s(me=>[...me,se.value]),w(me=>me+1)):ko(se.error)?(v(!0),h("vetWritesFirst")):h("notSent");}catch{T.current&&h("notSent");}finally{I.current=false,T.current&&C(false);}return oe},[e,t]),ee=react.useCallback(()=>x(K=>K+1),[]),G=e?.sendVetMessage!==void 0&&!c;return react.useMemo(()=>({status:a,messages:l,hasOlder:u,loadingOlder:y,loadOlder:V,canWrite:G,sending:b,sendFailure:E,sentCount:S,send:j,retry:ee}),[a,l,u,y,V,G,b,E,S,j,ee])}o(cl,"useVetThread");function pl(e,t){let n=e?.visitSummary,[r,i]=react.useState(()=>({status:n?"loading":"absent",summary:null})),[l,s]=react.useState(0);react.useEffect(()=>{if(!e||!n){i({status:"absent",summary:null});return}i({status:"loading",summary:null});let d=new AbortController,u=true;return n.call(e,t,d.signal).then(f=>{u&&(f.ok?i({status:"ready",summary:f.value}):i({status:kn(f.error)?"pending":"error",summary:null}));},()=>{u&&i({status:"error",summary:null});}),()=>{u=false,d.abort();}},[e,n,t,l]);let a=react.useCallback(()=>s(d=>d+1),[]);return react.useMemo(()=>({...r,retry:a}),[r,a])}o(pl,"useVisitSummary");function tr(e,t){return t?e.find(n=>n.petRef===t||n.petId===t)?.petRef??null:null}o(tr,"vetThreadPetRef");var fl="your vet",ny="your pet",U=Object.freeze({messagesTitle:"Messages",newPillNative:"New",newPillWeb:"New reply",previewOwnerTemplate:"You: {text}",previewVetTemplateWeb:"{vet}: {text}",threadMetaTemplateNative:"With {vet}",threadLogTemplate:"Messages with {vet}",composerLabelTemplateNative:"Message {vet}",composerLabelWeb:"Message",composerPlaceholderTemplate:"Message {vet}\u2026",send:"Send",composerNoteTemplate:"{vet} usually replies within a day. Emergency? Call a vet.",sent:"Sent",bookVisitWeb:"Book a visit",empty:"No messages yet",loading:"Loading",loadFailed:"Could not load",retry:"Try again",notSent:"Not sent",vetWritesFirst:"Your vet will write first. You can reply once they do.",attachmentsTemplate:"{n} attached",runningLateTemplate:"Running late? Message {vet}",sawTitleTemplate:"What {vet} saw",summaryLabel:"Summary",fromVetTemplate:"From {vet}",planTitleTemplate:"{pet}\u2019s plan",wordForWord:"Word for word",fromThisVisitTitle:"From this visit",messageVetTemplate:"Message {vet}",bookFollowUp:"Book a follow-up",summaryFootnoteTemplate:"A summary of your video visit, written by {vet}. In an emergency, go to the nearest emergency animal hospital.",summaryPending:"Summary on its way"});function Se(e,t){let n=e;for(let[r,i]of Object.entries(t))n=n.split(`{${r}}`).join(i);return n}o(Se,"fillVetCopy");function Ue(e){return e.length===0?e:e.charAt(0).toUpperCase()+e.slice(1)}o(Ue,"sentenceCase");function Kr(e){let t=e?.trim()??"";return t.length>0?t:fl}o(Kr,"vetNameOr");function Wt(e){let t=e?.trim()??"";return t.length>0?t:ny}o(Wt,"petNameOr");function vu(e){let t=new Date(e);return Number.isNaN(t.getTime())?"":t.toLocaleDateString(void 0,{month:"short",day:"numeric"})}o(vu,"formatThreadDay");function ml({terms:e,submitting:t,failure:n,onConfirm:r,onDismiss:i,onRetryTerms:l,styles:s,petName:a,when:d,vet:u,about:f,onMoveInstead:y}){let[p,c]=react.useState(""),v=e.status==="ready",b=a?.trim()??"",C=[...b.length>0?[{id:"better",label:H(F.cancelWhyBetterTemplate,{pet:b})}]:[],{id:"time",label:F.cancelWhyTime},{id:"regular-vet",label:F.cancelWhyRegularVet},{id:"other",label:F.cancelWhyOther}],E=o(()=>{t||!v||r(p.trim()||F.cancelReason);},"confirm"),h=[{label:F.summaryWhen,value:d},{label:F.summaryVet,value:u},{label:F.summaryAbout,value:f}].filter(S=>typeof S.value=="string"&&S.value.trim().length>0);return jsxRuntime.jsxs("form",{onSubmit:S=>{S.preventDefault(),E();},"aria-label":F.cancelConfirmCta,noValidate:true,style:s.form,"data-testid":"televet-visit-cancel-form",children:[jsxRuntime.jsx("p",{style:s.formTitle,children:b.length>0?H(F.cancelConfirmTitleTemplate,{pet:b}):F.cancelConfirmTitle}),h.length>0?jsxRuntime.jsx("dl",{style:s.kv,"data-testid":"televet-visit-cancel-summary",children:h.map(S=>jsxRuntime.jsxs("div",{style:s.kvRow,children:[jsxRuntime.jsx("dt",{style:s.kvLabel,children:S.label}),jsxRuntime.jsx("dd",{style:s.kvValue,children:S.value})]},S.label))}):null,e.status==="ready"?jsxRuntime.jsx("div",{style:s.notice,"data-testid":"televet-visit-cancel-terms",children:jsxRuntime.jsx("p",{style:s.note,children:e.summary})}):e.status==="loading"?jsxRuntime.jsx("div",{role:"status",style:s.notice,children:jsxRuntime.jsx("p",{style:s.note,children:F.loadingCancellationTerms})}):jsxRuntime.jsxs("div",{role:"alert",style:{...s.notice,...s.noticeDanger},"data-testid":"televet-visit-cancel-terms-error",children:[jsxRuntime.jsx("p",{style:s.note,children:F.cancellationTermsUnavailable}),jsxRuntime.jsx(B,{label:F.retry,kind:"secondary",fullWidth:false,onPress:l})]}),jsxRuntime.jsxs("div",{role:"radiogroup","aria-label":`${F.cancellationReasonLabel} ${F.cancellationReasonOptional}`,style:s.reasons,"data-testid":"televet-visit-cancel-reason",children:[jsxRuntime.jsxs("p",{style:s.labelRow,children:[jsxRuntime.jsx("span",{style:s.label,children:F.cancellationReasonLabel}),jsxRuntime.jsx("span",{style:s.labelNote,"data-testid":"televet-visit-cancel-optional",children:F.cancellationReasonOptional})]}),C.map(S=>jsxRuntime.jsxs("div",{style:s.reasons,children:[jsxRuntime.jsx(Rt,{title:S.label,selected:p===S.label,onPress:()=>{t||!v||c(p===S.label?"":S.label);},testID:`televet-visit-cancel-why-${S.id}`}),S.id==="time"&&p===S.label?jsxRuntime.jsxs("div",{style:s.hint,"data-testid":"televet-visit-cancel-time-hint",children:[jsxRuntime.jsx("span",{children:F.cancelWhyTimeHint}),y?jsxRuntime.jsx(B,{label:F.cancelMoveInstead,kind:"quiet",fullWidth:false,onPress:y,testID:"televet-visit-cancel-move"}):null]}):null]},S.id))]}),n?jsxRuntime.jsx("div",{role:"alert",style:{...s.notice,...s.noticeDanger},"data-testid":"televet-visit-cancel-failed",children:jsxRuntime.jsx("p",{style:s.note,children:n})}):null,jsxRuntime.jsxs("div",{style:s.actions,children:[jsxRuntime.jsx(B,{label:F.cancelDismissCta,kind:"secondary",fullWidth:false,disabled:t,onPress:i,testID:"televet-visit-cancel-keep"}),jsxRuntime.jsx(B,{label:t?F.cancellingVisit:F.cancelConfirmCta,kind:"danger",fullWidth:false,disabled:t||!v,loading:t,onPress:E,testID:"televet-visit-cancel-yes"})]})]})}o(ml,"TelevetCancelVisitForm");function fn(e){let{color:t,space:n,radius:r,type:i}=e,{size:l,lineHeight:s}=i,a=Ie(e),d=o(f=>`${String(f)}px`,"px"),u=o((f,y,p,c=s.normal)=>({margin:0,...k(e,f),color:p,fontSize:d(y),lineHeight:String(c)}),"text");return {screen:{...Jt,display:"flex",flexDirection:"column",gap:d(n.lg),paddingLeft:d(n.xl),paddingRight:d(n.xl),paddingBottom:d(n.xl),boxSizing:"border-box"},topBar:{display:"flex",alignItems:"center",justifyContent:"flex-end",minHeight:44},topBarStart:{justifyContent:"flex-start"},iconButton:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:44,height:44,padding:0,borderStyle:"solid",borderWidth:1.5,borderColor:a.line,borderRadius:"50%",background:a.surface,color:a.ink,cursor:"pointer",boxSizing:"border-box"},textButton:{display:"inline-flex",alignItems:"center",minHeight:44,padding:`0 ${d(n.sm)}`,border:0,borderRadius:d(r.pill),background:"transparent",color:a.ink,cursor:"pointer",...k(e,"bold"),fontSize:d(l.bodyTight)},pageTitle:{...u("medium",Ge(e,"heading",32),a.ink,1.1),letterSpacing:"-0.03em"},panel:{display:"flex",flexDirection:"column",gap:d(14),padding:d(n.xl),borderRadius:d(r.lg),borderStyle:"solid",borderWidth:1,borderColor:a.line,backgroundColor:a.surface,boxSizing:"border-box"},panelHeader:{display:"flex",alignItems:"center",gap:d(10)},panelTitle:{...u("bold",19,a.ink,1.25),letterSpacing:"-0.01em"},pill:{marginLeft:"auto",display:"inline-flex",alignItems:"center",height:24,padding:`0 ${d(10)}`,borderRadius:d(r.pill),backgroundColor:a.pink,...k(e,"monoBold"),color:a.onPink,fontSize:d(11.5),letterSpacing:"0.08em",textTransform:"uppercase",whiteSpace:"nowrap"},pillLine:{backgroundColor:a.surface,borderStyle:"solid",borderWidth:1.5,borderColor:a.line,color:a.muted},pillLive:{backgroundColor:t.badgeBgPositive,color:a.ink},visit:{display:"flex",gap:d(n.lg),alignItems:"flex-start"},dateTile:{flexShrink:0,width:64,paddingTop:d(n.sm),paddingBottom:d(n.sm),borderRadius:d(14),backgroundColor:a.pinkSoft,display:"flex",flexDirection:"column",alignItems:"center",gap:2},dateTileSmall:{...k(e,"monoBold"),color:a.ink,fontSize:d(11),letterSpacing:"0.08em",textTransform:"uppercase"},dateTileDay:{...u("medium",26,a.ink,1.1),letterSpacing:"-0.02em"},visitMain:{flex:"1 1 auto",minWidth:0,display:"flex",flexDirection:"column",gap:2},visitTitle:{...u("bold",20,a.ink,1.25),letterSpacing:"-0.01em",overflowWrap:"anywhere"},visitMeta:{...u("regular",16,a.text),overflowWrap:"anywhere"},actions:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:`${d(6)} ${d(4)}`},list:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"column"},row:{display:"flex",flexDirection:"column",gap:d(n.sm),paddingTop:d(n.md),paddingBottom:d(n.md),borderTopStyle:"solid",borderTopWidth:1,borderTopColor:a.line},rowFirst:{borderTopWidth:0,paddingTop:0},rowHead:{display:"flex",alignItems:"center",gap:d(n.md)},rowTitle:u("bold",l.body,a.ink,s.snug),rowMeta:u("regular",14,a.muted),note:u("regular",14,a.muted),footnote:{...u("regular",l.caption,a.muted),textAlign:"center",paddingTop:d(n.md)},skeletons:{display:"flex",flexDirection:"column",gap:d(n.sm)},empty:{display:"flex",flexDirection:"column",gap:d(n.xs)},notice:{display:"flex",flexDirection:"column",gap:d(n.xs),padding:`${d(n.md)} ${d(n.lg)}`,borderRadius:d(r.sm),backgroundColor:a.mist},noticeDanger:{backgroundColor:a.alertWash},noticeTitle:u("bold",l.body,a.ink,s.snug),form:{display:"flex",flexDirection:"column",gap:d(n.lg),paddingTop:d(n.lg),borderTopStyle:"solid",borderTopWidth:1,borderTopColor:a.line},formTitle:{...u("medium",Ge(e,"heading",24),a.ink,1.15),letterSpacing:"-0.02em"},kv:{margin:0,display:"flex",flexDirection:"column"},kvRow:{display:"flex",gap:d(n.lg),paddingTop:d(10),paddingBottom:d(10),borderBottomStyle:"solid",borderBottomWidth:1,borderBottomColor:a.line},kvLabel:{...u("regular",14,a.muted),width:72,flexShrink:0},kvValue:{...u("bold",l.bodyTight,a.ink),marginInlineStart:0,minWidth:0,overflowWrap:"anywhere"},label:u("bold",l.bodyTight,a.ink),labelRow:{display:"flex",alignItems:"baseline",gap:d(n.sm),margin:0},labelNote:u("regular",l.caption,a.muted),reasons:{display:"flex",flexDirection:"column",gap:d(10)},hint:{display:"flex",flexWrap:"wrap",alignItems:"center",justifyContent:"space-between",gap:`${d(6)} ${d(14)}`,padding:`${d(n.sm)} ${d(n.lg)}`,borderRadius:d(r.sm),backgroundColor:a.mist,...k(e,"regular"),color:a.text,fontSize:d(l.bodyTight)}}}o(fn,"makeVisitStyles");function mn(e){let{color:t,space:n,radius:r,type:i}=e,{size:l,lineHeight:s}=i,a=Ie(e),d=o(y=>`${String(y)}px`,"px"),u=o((y,p,c,v=s.normal)=>({margin:0,...k(e,y),color:c,fontSize:d(p),lineHeight:String(v)}),"text"),f={...u("regular",l.body,a.text),maxWidth:"85%",padding:`${d(10)} ${d(14)}`,borderRadius:d(18),whiteSpace:"pre-wrap",overflowWrap:"anywhere"};return {head:{display:"flex",alignItems:"flex-start",gap:d(n.md),flexWrap:"wrap"},headMain:{flex:"1 1 auto",minWidth:0,display:"flex",flexDirection:"column",gap:2},meta:u("regular",15,a.muted),log:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"column",gap:d(n.sm),maxHeight:"60vh",overflowY:"auto"},day:{alignSelf:"center",...k(e,"monoBold"),color:a.muted,fontSize:d(11.5),letterSpacing:"0.08em",textTransform:"uppercase",paddingTop:d(n.sm)},item:{display:"flex",flexDirection:"column",gap:d(4)},itemMine:{alignItems:"flex-end"},who:{display:"flex",alignItems:"baseline",gap:d(n.sm),...k(e,"bold"),color:a.ink,fontSize:d(l.bodyTight)},time:u("regular",l.caption,a.muted),bubbleMine:{...f,backgroundColor:t.bubbleUser,color:t.onPrimary,borderBottomRightRadius:d(6)},bubbleVet:{...f,backgroundColor:t.bubbleVet,color:t.onBubbleVet,borderBottomLeftRadius:d(6)},system:{...u("regular",l.caption,a.muted),alignSelf:"center",textAlign:"center"},attachments:u("regular",l.caption,a.muted),composer:{display:"flex",alignItems:"flex-end",gap:d(n.sm),padding:d(n.sm),borderRadius:d(r.lg),borderStyle:"solid",borderWidth:1.5,borderColor:a.line,backgroundColor:a.surface},field:{flex:"1 1 auto",minWidth:0,minHeight:44,resize:"none",border:0,outlineOffset:2,background:"transparent",padding:`${d(10)} ${d(n.sm)}`,...k(e,"regular"),color:a.text,fontSize:d(l.body),lineHeight:String(s.normal),boxSizing:"border-box"},note:u("regular",l.caption,a.muted),failure:u("bold",l.caption,a.alert),srOnly:{position:"absolute",width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:0},label:{...k(e,"monoBold"),color:a.muted,fontSize:d(11.5),letterSpacing:"0.08em",textTransform:"uppercase"},body:{...u("regular",l.body,a.text),whiteSpace:"pre-wrap",overflowWrap:"anywhere"},plan:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"column",gap:d(n.md)},planItem:{display:"flex",gap:d(n.md),alignItems:"baseline"},planNumber:{...k(e,"monoBold"),color:a.ink,fontSize:d(12),letterSpacing:"0.08em",flexShrink:0},rowButton:{display:"flex",alignItems:"center",gap:d(n.md),width:"100%",minHeight:44,padding:0,border:0,background:"transparent",textAlign:"start",cursor:"pointer",color:"inherit",font:"inherit"},rowMain:{flex:"1 1 auto",minWidth:0,display:"flex",flexDirection:"column",gap:2},rowEnd:{display:"flex",flexDirection:"column",alignItems:"flex-end",gap:4,flexShrink:0},preview:{...u("regular",14,a.muted),overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},link:{alignSelf:"flex-start",minHeight:44,padding:0,border:0,background:"transparent",cursor:"pointer",...k(e,"bold"),color:t.linkInk,fontSize:d(l.bodyTight),textDecoration:"underline",textUnderlineOffset:3}}}o(mn,"makeVetThreadStyles");function bu({threads:e,pets:t,Title:n,styles:r,threadStyles:i,onOpen:l}){return jsxRuntime.jsxs("section",{style:r.panel,"data-testid":"televet-messages-card",children:[jsxRuntime.jsx("div",{style:r.panelHeader,children:jsxRuntime.jsx(n,{style:r.panelTitle,children:U.messagesTitle})}),jsxRuntime.jsx("ul",{"aria-label":U.messagesTitle,style:r.list,children:e.map((s,a)=>{let d=t.find(f=>f.petRef===s.petRef)?.name??null,u=s.lastMessage?.role==="vet"?s.lastMessage.senderName:null;return jsxRuntime.jsx("li",{style:{...r.row,...a===0?r.rowFirst:null},children:jsxRuntime.jsxs("button",{type:"button",onClick:()=>l({petRef:s.petRef,petName:d,vetName:u,ownerCanStart:s.ownerCanStart}),style:i.rowButton,"data-testid":`televet-messages-row-${s.petRef}`,children:[jsxRuntime.jsxs("span",{style:i.rowMain,children:[jsxRuntime.jsx("span",{style:r.rowTitle,children:Ue(Wt(d))}),s.lastMessage?jsxRuntime.jsx("span",{style:i.preview,children:oy(s.lastMessage)}):null]}),jsxRuntime.jsxs("span",{style:i.rowEnd,children:[jsxRuntime.jsx("span",{style:r.rowMeta,children:vu(s.lastMessageAt)}),s.unreadCount>0?jsxRuntime.jsx("span",{style:{...r.pill,marginLeft:0},children:U.newPillWeb}):null]})]})},s.petRef)})})]})}o(bu,"TelevetVetMessagesCard");function oy(e){let t=e.content.split(`
3
+ `)[0]?.trim()??"";return e.role==="owner"?Se(U.previewOwnerTemplate,{text:t}):e.role==="vet"&&e.senderName?Se(U.previewVetTemplateWeb,{vet:e.senderName,text:t}):t}o(oy,"previewLine");function bl({controller:e,onJoin:t,onReschedule:n,onBook:r,onBack:i,onOpenThread:l,onOpenSummary:s,isRoot:a=true,revision:d=0,returnedTo:u=false,nowMs:f,style:y}){let p=M(),c=react.useMemo(()=>fn(p),[p]),v=react.useMemo(()=>mn(p),[p]),b=ge(),C=ie(b),E=ie(ut(b)),h=ke(e),[S,w]=react.useState(0),R=Er(h,d+S),x=_n(h),{pets:T}=St(),I=ul(h,d+S),_=I.availability==="lit",P=o(($,Ke)=>{let Ee=tr(T,$.petId);if(!_||!l||Ee===null)return null;let _e=I.threads.find(At=>At.petRef===Ee);return {petRef:Ee,petName:Ke,vetName:$.clinicianName,..._e?{ownerCanStart:_e.ownerCanStart}:{}}},"threadTargetFor"),[A,V]=react.useState({status:"idle"}),[j,ee]=react.useState(null),G=R.data??[],K=gu(G.some($=>!Sn.has($.status))),L=f??K,{upcoming:oe,past:se}=react.useMemo(()=>On(G,L),[G,L]),me=react.useRef(null),be=react.useRef(null),$e=react.useRef(null),X=react.useRef(null),Be=react.useRef(u),ct=!(R.enabled&&R.isPending);react.useEffect(()=>{Be.current&&be.current?.focus();},[]),react.useEffect(()=>{!Be.current||!ct||(Be.current=false,!me.current?.contains(document.activeElement)&&($e.current??X.current)?.focus());},[ct]);let Ut=x.data!==null&&x.data!==void 0?{status:"ready",summary:x.data.summary}:x.enabled&&x.isPending?{status:"loading"}:{status:"error"},rr=o(($,Ke)=>{let Ee=h?.cancelConsult;if(Ut.status!=="ready"||!h||!Ee){V({status:"failed",consultId:$.consultId,message:F.cancelTermsFirst});return}V({status:"submitting",consultId:$.consultId}),Ee.call(h,$.consultId,Ke).then(_e=>{_e.ok?(ee({value:_e.value,pet:Oe(T,$.petId),vet:$.clinicianName}),V({status:"idle"})):V({status:"failed",consultId:$.consultId,message:F.cancelFailed}),w(At=>At+1);},()=>V({status:"failed",consultId:$.consultId,message:F.cancelFailed}));},"cancelVisit"),gn=o(($,Ke)=>{let Ee=Oe(T,$.petId),_e=Sn.has($.status)?null:P($,Ee);return jsxRuntime.jsx(ay,{first:Ke===0,consult:$,petName:Ee,nowMs:L,styles:c,threadStyles:v,..._e&&l?{onMessageVet:o(()=>l(_e),"onMessageVet")}:{},..._&&s&&$.status==="completed"?{onOpenSummary:o(()=>s($),"onOpenSummary")}:{},cancelling:A.status!=="idle"&&A.consultId===$.consultId?A:null,anyCancelInFlight:A.status==="submitting",terms:Ut,onJoin:t,onReschedule:n,onAskCancel:()=>{ee(null),V({status:"asking",consultId:$.consultId});},onDismissCancel:()=>V({status:"idle"}),onCancel:At=>rr($,At),...n?{onMoveInstead:o(()=>n($),"onMoveInstead")}:{},onRetryTerms:()=>x.refetch()},$.consultId)},"renderRow");return jsxRuntime.jsxs("div",{ref:me,style:{...c.screen,...y},"data-testid":"televet-visits",children:[jsxRuntime.jsx("div",{style:a?c.topBar:{...c.topBar,...c.topBarStart},children:a?jsxRuntime.jsx("button",{type:"button",onClick:i,"aria-label":sy,style:c.iconButton,"data-testid":"televet-visits-close",children:jsxRuntime.jsx(uy,{})}):jsxRuntime.jsx("button",{type:"button",onClick:i,style:c.textButton,"data-testid":"televet-visits-back",children:dy})}),jsxRuntime.jsx(C,{style:c.pageTitle,"data-testid":"televet-visits-title",children:F.pageTitle}),j?jsxRuntime.jsxs("div",{role:"status",style:c.notice,"data-testid":"televet-visits-cancel-receipt",children:[jsxRuntime.jsx("p",{style:c.noticeTitle,children:j.pet&&j.vet?H(F.cancelledTemplate,{pet:j.pet,vet:j.vet}):F.cancelledTitle}),j.value.summary?jsxRuntime.jsx("p",{style:c.note,children:j.value.summary}):null,jsxRuntime.jsx("p",{style:c.note,children:j.value.feeRecorded?F.cancellationFeeRecorded:F.cancellationFeeNotRecorded})]}):null,r?jsxRuntime.jsx(ly,{title:oe.length>0?F.bookAnotherTitle:F.bookCardTitle,onBook:r,styles:c}):null,R.enabled&&R.isPending?jsxRuntime.jsxs("section",{style:c.panel,children:[jsxRuntime.jsx(vl,{Title:E,title:F.pastTitle,count:null,styles:c,headingRef:be}),jsxRuntime.jsx("div",{role:"progressbar","aria-label":F.loading,"aria-busy":"true",style:c.skeletons,"data-testid":"televet-visits-loading",children:[0,1,2].map($=>jsxRuntime.jsx(ve,{height:56},$))})]}):R.isError&&R.data===null?jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsxs("div",{ref:X,role:"alert",tabIndex:-1,style:{...c.notice,...c.noticeDanger},"data-testid":"televet-visits-error",children:[jsxRuntime.jsx("p",{style:c.noticeTitle,children:F.loadErrorTitle}),jsxRuntime.jsx("p",{style:c.note,"data-testid":"televet-visits-error-body",children:F.loadErrorBody}),jsxRuntime.jsx(B,{label:F.retry,kind:"secondary",fullWidth:false,onPress:()=>R.refetch()})]})}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[oe.length>0?jsxRuntime.jsx("div",{style:c.skeletons,"data-testid":"televet-visits-upcoming",children:oe.map(($,Ke)=>jsxRuntime.jsxs("section",{style:c.panel,children:[jsxRuntime.jsx(vl,{Title:E,title:F.upcomingTitle,count:null,styles:c,...Ke===0?{headingRef:$e}:{},pill:$.status==="scheduled"?F.bookedPill:jo($.status)}),jsxRuntime.jsx("ul",{"aria-label":F.upcomingTitle,style:c.list,children:gn($,0)})]},$.consultId))}):null,_&&l&&I.threads.length>0?jsxRuntime.jsx(bu,{threads:I.threads,pets:T,Title:E,styles:c,threadStyles:v,onOpen:l}):null,jsxRuntime.jsxs("section",{style:c.panel,"data-testid":"televet-visits-past",children:[jsxRuntime.jsx(vl,{Title:E,title:F.pastTitle,count:null,styles:c,...oe.length===0?{headingRef:$e}:{}}),G.length===0?jsxRuntime.jsxs("div",{style:c.empty,"data-testid":"televet-visits-empty",children:[jsxRuntime.jsx("p",{style:c.noticeTitle,children:F.emptyTitle}),jsxRuntime.jsx("p",{style:c.note,children:F.emptyBody})]}):se.length===0?null:jsxRuntime.jsx("ul",{"aria-label":F.pastTitle,style:c.list,children:se.map(($,Ke)=>gn($,Ke))})]})]}),jsxRuntime.jsx("p",{style:c.footnote,"data-testid":"televet-visits-footnote",children:Q.footnote})]})}o(bl,"TelevetVisitsScreen");function ly({title:e,onBook:t,styles:n}){return jsxRuntime.jsxs("section",{style:n.panel,"data-testid":"televet-visits-book-card",children:[jsxRuntime.jsx("p",{style:n.panelTitle,children:e}),jsxRuntime.jsx(B,{label:F.bookCardCta,size:"lg",onPress:t,testID:"televet-visits-book"})]})}o(ly,"BookCard");function vl({Title:e,title:t,count:n,styles:r,headingRef:i,pill:l}){return jsxRuntime.jsxs("div",{style:r.panelHeader,children:[jsxRuntime.jsx(e,{style:r.panelTitle,...i?{ref:i,tabIndex:-1}:{},children:t}),n===null?null:jsxRuntime.jsx("span",{style:{...r.pill,...r.pillLine},children:n}),l?jsxRuntime.jsx("span",{style:r.pill,"data-testid":"televet-visits-booked-pill",children:l}):null]})}o(vl,"PanelHeader");function ay({first:e,consult:t,petName:n,nowMs:r,styles:i,cancelling:l,anyCancelInFlight:s,terms:a,onJoin:d,onReschedule:u,onAskCancel:f,onDismissCancel:y,onCancel:p,onMoveInstead:c,onRetryTerms:v,threadStyles:b,onMessageVet:C,onOpenSummary:E}){let h=Vo(t,r),S=Sn.has(t.status),w=jo(t.status),R=Do(t),x=zo(t.status),T=t.consultId,I=react.useId(),_=!h.joinable&&!S,P=en(t.scheduledAt),A=t.clinicianName,V=n&&A?H(F.visitTitleTemplate,{pet:n,vet:A}):n??A??P,j=t.reasonText?.split(`
4
+ `)[0]?.trim()??"",ee=new Date(t.scheduledAt),G=Number.isNaN(ee.getTime())?null:{weekday:ee.toLocaleDateString(void 0,{weekday:"short"}),day:String(ee.getDate()),month:ee.toLocaleDateString(void 0,{month:"short"})};if(S){let K=jsxRuntime.jsxs("div",{style:{...i.rowHead,width:"100%"},children:[jsxRuntime.jsxs("div",{style:i.visitMain,children:[jsxRuntime.jsx("p",{style:i.rowTitle,children:V}),jsxRuntime.jsx("p",{style:i.rowMeta,children:P})]}),w?jsxRuntime.jsx("span",{style:{...i.pill,...i.pillLine},"data-testid":`televet-visits-status-${T}`,children:w}):null]});return jsxRuntime.jsx("li",{style:{...i.row,...e?i.rowFirst:null},"data-testid":`televet-visits-row-${T}`,children:E?jsxRuntime.jsx("button",{type:"button",onClick:E,style:b.rowButton,"data-testid":`televet-visits-summary-${T}`,children:K}):K})}return jsxRuntime.jsxs("li",{style:{...i.row,...i.rowFirst,gap:16},"data-testid":`televet-visits-row-${T}`,children:[jsxRuntime.jsxs("div",{style:i.visit,children:[G?jsxRuntime.jsxs("div",{"aria-hidden":"true",style:i.dateTile,children:[jsxRuntime.jsx("span",{style:i.dateTileSmall,children:G.weekday}),jsxRuntime.jsx("span",{style:i.dateTileDay,children:G.day}),jsxRuntime.jsx("span",{style:i.dateTileSmall,children:G.month})]}):null,jsxRuntime.jsxs("div",{style:i.visitMain,children:[jsxRuntime.jsx("p",{style:i.visitTitle,children:V}),jsxRuntime.jsx("p",{style:i.visitMeta,children:P}),j?jsxRuntime.jsx("p",{style:i.visitMeta,children:j}):null,w&&t.status!=="scheduled"?jsxRuntime.jsx("span",{style:i.note,"data-testid":`televet-visits-status-${T}`,children:w}):null]})]}),jsxRuntime.jsxs("div",{style:i.actions,children:[jsxRuntime.jsx(B,{label:F.joinCta,fullWidth:false,disabled:!h.joinable,onPress:()=>d(t,n),describedBy:_?I:void 0,testID:`televet-visits-join-${T}`}),x&&u?jsxRuntime.jsx(B,{label:F.rescheduleCta,kind:"quiet",fullWidth:false,onPress:()=>u(t),testID:`televet-visits-reschedule-${T}`}):null,x?jsxRuntime.jsx(B,{label:F.cancelCta,kind:"quiet",fullWidth:false,disabled:s,onPress:f,testID:`televet-visits-cancel-${T}`}):null]}),C?jsxRuntime.jsx("button",{type:"button",onClick:C,style:b.link,"data-testid":`televet-visits-late-${T}`,children:Se(U.runningLateTemplate,{vet:A??fl})}):null,_?jsxRuntime.jsx("p",{id:I,style:i.note,"data-testid":`televet-visits-join-note-${T}`,children:Ka(h.reason,R===null?void 0:Vn(new Date(R).toISOString()))}):null,l?jsxRuntime.jsx(ml,{terms:a,submitting:l.status==="submitting",failure:l.status==="failed"?l.message:null,onConfirm:p,onDismiss:y,onRetryTerms:v,styles:i,petName:n,when:P,vet:A,about:j,...c?{onMoveInstead:c}:{}}):null]})}o(ay,"VisitRow");var sy="Close",dy="Back";function uy(){return jsxRuntime.jsx("svg",{"aria-hidden":"true",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",children:jsxRuntime.jsx("path",{d:"M18 6 6 18M6 6l12 12"})})}o(uy,"CloseGlyph");var my=48;function hl({petRef:e,petName:t,vetName:n,ownerCanStart:r,controller:i,onBack:l,onBook:s,style:a}){let d=M(),u=react.useMemo(()=>fn(d),[d]),f=react.useMemo(()=>mn(d),[d]),y=ie(ge()),p=ke(i),c=cl(p,e,{ownerCanStart:r}),[v,b]=react.useState(""),C=react.useId(),E=react.useId(),h=react.useRef(null),S=n?.trim()||gy(c.messages),w=Kr(S),R=c.messages[c.messages.length-1]?.messageId;react.useEffect(()=>{let T=h.current;T&&c.status==="ready"&&(T.scrollTop=T.scrollHeight);},[c.status,R]);let x=o(()=>{let T=v;T.trim().length===0||c.sending||c.send(T).then(I=>{I&&b("");});},"submit");return jsxRuntime.jsxs("div",{style:{...u.screen,...a},"data-testid":"televet-vet-thread",children:[jsxRuntime.jsx("div",{style:{...u.topBar,...u.topBarStart},children:jsxRuntime.jsx("button",{type:"button",onClick:l,style:u.textButton,"data-testid":"televet-vet-thread-back",children:vy})}),jsxRuntime.jsxs("div",{style:f.head,children:[jsxRuntime.jsxs("div",{style:f.headMain,children:[jsxRuntime.jsx(y,{style:u.pageTitle,children:Ue(Wt(t))}),S?jsxRuntime.jsx("p",{style:f.meta,children:S}):null]}),s?jsxRuntime.jsx(B,{label:U.bookVisitWeb,kind:"secondary",fullWidth:false,onPress:s,testID:"televet-vet-thread-book"}):null]}),c.status==="loading"?jsxRuntime.jsxs("div",{role:"progressbar","aria-label":U.loading,"aria-busy":"true",style:u.skeletons,"data-testid":"televet-vet-thread-loading",children:[jsxRuntime.jsx(ve,{height:56}),jsxRuntime.jsx(ve,{height:56})]}):c.status==="error"?jsxRuntime.jsxs("div",{role:"alert",style:{...u.notice,...u.noticeDanger},"data-testid":"televet-vet-thread-error",children:[jsxRuntime.jsx("p",{style:u.noticeTitle,children:U.loadFailed}),jsxRuntime.jsx(B,{label:U.retry,kind:"secondary",fullWidth:false,onPress:c.retry})]}):jsxRuntime.jsxs("ol",{ref:h,role:"log","aria-label":Se(U.threadLogTemplate,{vet:w}),"aria-busy":c.loadingOlder||void 0,tabIndex:0,style:f.log,onScroll:T=>{T.currentTarget.scrollTop<=my&&c.loadOlder();},"data-testid":"televet-vet-thread-log",children:[c.messages.length===0?jsxRuntime.jsx("li",{style:f.system,children:U.empty}):null,c.messages.map((T,I)=>jsxRuntime.jsx(yy,{message:T,previous:c.messages[I-1],vet:w,styles:f},T.messageId))]}),jsxRuntime.jsx("p",{role:"status",style:f.srOnly,"data-testid":"televet-vet-thread-status",children:c.sentCount>0&&c.sendFailure===null?U.sent:""}),c.status==="ready"&&c.canWrite?jsxRuntime.jsxs("form",{style:{display:"flex",flexDirection:"column",gap:8},onSubmit:T=>{T.preventDefault(),x();},children:[jsxRuntime.jsxs("div",{style:f.composer,children:[jsxRuntime.jsx("label",{htmlFor:C,style:f.srOnly,children:U.composerLabelWeb}),jsxRuntime.jsx("textarea",{id:C,value:v,rows:1,placeholder:Se(U.composerPlaceholderTemplate,{vet:w}),"aria-describedby":E,onChange:T=>b(T.target.value),onKeyDown:T=>{T.key==="Enter"&&!T.shiftKey&&(T.preventDefault(),x());},style:f.field,"data-testid":"televet-vet-thread-field"}),jsxRuntime.jsx(B,{label:U.send,fullWidth:false,loading:c.sending,disabled:v.trim().length===0,onPress:x,testID:"televet-vet-thread-send"})]}),c.sendFailure==="notSent"?jsxRuntime.jsx("p",{role:"alert",style:f.failure,"data-testid":"televet-vet-thread-failure",children:U.notSent}):null,jsxRuntime.jsx("p",{id:E,style:f.note,children:Ue(Se(U.composerNoteTemplate,{vet:w}))})]}):null,c.sendFailure==="vetWritesFirst"?jsxRuntime.jsx("p",{role:"alert",style:f.note,"data-testid":"televet-vet-thread-vet-first",children:U.vetWritesFirst}):null]})}o(hl,"TelevetVetThreadScreen");function yy({message:e,previous:t,vet:n,styles:r}){let i=di(e.createdAt),l=t===void 0||di(t.createdAt)!==i,s=e.attachmentCount>0?Se(U.attachmentsTemplate,{n:String(e.attachmentCount)}):null;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[l?jsxRuntime.jsx("li",{style:r.day,children:i}):null,e.role==="system"?jsxRuntime.jsx("li",{style:r.system,children:e.content}):jsxRuntime.jsxs("li",{style:{...r.item,...e.role==="owner"?r.itemMine:null},"data-testid":`televet-vet-thread-message-${e.messageId}`,children:[e.role==="vet"?jsxRuntime.jsxs("p",{style:{...r.who,margin:0},children:[jsxRuntime.jsx("span",{children:e.senderName??Ue(n)}),jsxRuntime.jsx("time",{dateTime:e.createdAt,style:r.time,children:dt(e.createdAt)})]}):null,e.content.length>0?jsxRuntime.jsx("p",{style:{...e.role==="owner"?r.bubbleMine:r.bubbleVet,margin:0},children:e.content}):null,s?jsxRuntime.jsx("p",{style:r.attachments,children:s}):null]})]})}o(yy,"ThreadItem");function gy(e){for(let t=e.length-1;t>=0;t-=1){let n=e[t]?.role==="vet"?e[t]?.senderName:null;if(n)return n}return null}o(gy,"newestVetName");var vy="Back";function Tl({consult:e,controller:t,onBack:n,onMessageVet:r,onBook:i,style:l}){let s=M(),a=react.useMemo(()=>fn(s),[s]),d=react.useMemo(()=>mn(s),[s]),u=ge(),f=ie(u),y=ie(ut(u)),p=ke(t),c=pl(p,e.consultId),{pets:v}=St(),b=Oe(v,e.petId),C=c.summary,E=C?.approvedByName??e.clinicianName,h=Kr(E),S=b&&e.clinicianName?Se(F.visitTitleTemplate,{pet:b,vet:e.clinicianName}):Ue(Wt(b)),w=[si(e.scheduledAt),E].filter(Boolean).join(" \xB7 "),R=tr(v,e.petId),x=r&&R!==null?()=>r({petRef:R,petName:b,vetName:E??null}):void 0;return jsxRuntime.jsxs("div",{style:{...a.screen,...l},"data-testid":"televet-visit-summary",children:[jsxRuntime.jsx("div",{style:{...a.topBar,...a.topBarStart},children:jsxRuntime.jsx("button",{type:"button",onClick:n,style:a.textButton,"data-testid":"televet-visit-summary-back",children:Ty})}),jsxRuntime.jsxs("div",{style:d.headMain,children:[jsxRuntime.jsx(f,{style:a.pageTitle,children:S}),w?jsxRuntime.jsx("p",{style:d.meta,children:w}):null]}),c.status==="loading"?jsxRuntime.jsxs("div",{role:"progressbar","aria-label":U.loading,"aria-busy":"true",style:a.skeletons,"data-testid":"televet-visit-summary-loading",children:[jsxRuntime.jsx(ve,{height:96}),jsxRuntime.jsx(ve,{height:96})]}):c.status==="absent"?null:c.status==="pending"?jsxRuntime.jsx("div",{role:"status",style:a.notice,"data-testid":"televet-visit-summary-pending",children:jsxRuntime.jsx("p",{style:a.noticeTitle,children:U.summaryPending})}):c.status==="error"||C===null?jsxRuntime.jsxs("div",{role:"alert",style:{...a.notice,...a.noticeDanger},"data-testid":"televet-visit-summary-error",children:[jsxRuntime.jsx("p",{style:a.noticeTitle,children:U.loadFailed}),jsxRuntime.jsx(B,{label:U.retry,kind:"secondary",fullWidth:false,onPress:c.retry})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[C.findingsText.trim().length>0?jsxRuntime.jsxs("section",{style:a.panel,children:[jsxRuntime.jsx(y,{style:a.panelTitle,children:Ue(Se(U.sawTitleTemplate,{vet:h}))}),jsxRuntime.jsxs("div",{style:a.panelHeader,children:[jsxRuntime.jsx("span",{style:d.label,children:U.summaryLabel}),jsxRuntime.jsx("span",{style:{...a.pill,...a.pillLine},children:Ue(Se(U.fromVetTemplate,{vet:h}))})]}),jsxRuntime.jsx("p",{style:d.body,children:C.findingsText})]}):null,C.nextStepsText.trim().length>0||C.actionItems.length>0?jsxRuntime.jsxs("section",{style:a.panel,"data-testid":"televet-visit-summary-plan",children:[jsxRuntime.jsxs("div",{style:a.panelHeader,children:[jsxRuntime.jsx(y,{style:a.panelTitle,children:Ue(Se(U.planTitleTemplate,{pet:Wt(b)}))}),jsxRuntime.jsx("span",{style:a.pill,children:U.wordForWord})]}),C.nextStepsText.trim().length>0?jsxRuntime.jsx("p",{style:d.body,children:C.nextStepsText}):null,C.actionItems.length>0?jsxRuntime.jsx("ol",{style:d.plan,children:C.actionItems.map((T,I)=>jsxRuntime.jsxs("li",{style:d.planItem,children:[jsxRuntime.jsx("b",{style:d.planNumber,children:String(I+1).padStart(2,"0")}),jsxRuntime.jsx("span",{style:d.body,children:`\u201C${T}\u201D`})]},`${String(I)}-${T}`))}):null]}):null,C.medications.length>0?jsxRuntime.jsxs("section",{style:a.panel,"data-testid":"televet-visit-summary-medications",children:[jsxRuntime.jsx(y,{style:a.panelTitle,children:U.fromThisVisitTitle}),jsxRuntime.jsx("ul",{style:a.list,children:C.medications.map((T,I)=>jsxRuntime.jsxs("li",{style:{...a.row,...I===0?a.rowFirst:null},children:[jsxRuntime.jsx("p",{style:a.rowTitle,children:hy(T)}),T.sig?jsxRuntime.jsx("p",{style:a.rowMeta,children:T.sig}):null]},`${String(I)}-${T.drug}`))})]}):null,E||x?jsxRuntime.jsxs("section",{style:a.panel,"data-testid":"televet-visit-summary-vet",children:[E?jsxRuntime.jsx("p",{style:a.panelTitle,children:E}):null,C.credentialsText?jsxRuntime.jsx("p",{style:a.rowMeta,children:C.credentialsText}):null,x?jsxRuntime.jsx(B,{label:Ue(Se(U.messageVetTemplate,{vet:h})),kind:"secondary",fullWidth:false,onPress:x,testID:"televet-visit-summary-message"}):null]}):null,i?jsxRuntime.jsx(B,{label:U.bookFollowUp,fullWidth:false,onPress:i,testID:"televet-visit-summary-book"}):null]}),c.status==="ready"&&C!==null?jsxRuntime.jsx("p",{style:a.footnote,"data-testid":"televet-visit-summary-footnote",children:Se(U.summaryFootnoteTemplate,{vet:h})}):null]})}o(Tl,"TelevetVisitSummaryScreen");function hy(e){return [e.drug,e.strength].filter(Boolean).join(" ")}o(hy,"medicationTitle");var Ty="Back";function Sl(e){let{consult:t,onRescheduled:n,onCancel:r,controller:i,style:l,testID:s}=Kt(e,["onRescheduled","onCancel"]),a=Y(),d=ke(i),u=wn(t?.clinicianId??null,d),f=In(d),y=No(t?.consultId??null,d),[p,c]=react.useState(null),[v,b]=react.useState(null),{pets:C}=St(),E=M(),h=react.useMemo(()=>ky(E),[E]),S=ie(ge()),w=react.useCallback(T=>{c(null),f.mutate(T.slotId,{onSuccess:o(()=>{y.mutate(T.slotId,{onSuccess:o(I=>n?.(I),"onSuccess"),onError:o(I=>c(yt(I).kind==="unavailable"?"unavailable":"failed"),"onError")});},"onSuccess"),onError:o(I=>c(yt(I).kind==="unavailable"?"unavailable":"taken"),"onError")});},[f,y,n]),R=f.isPending||y.isPending;if(!at())return jsxRuntime.jsx("div",{style:{...a.stepFill,...l},"data-testid":"televet-reschedule-copy-unapproved"});if(!t)return jsxRuntime.jsx("div",{role:"progressbar","aria-label":m.loading.consult,"aria-busy":"true",style:{...a.list,...l},"data-testid":"televet-reschedule-loading",children:[0,1].map(T=>jsxRuntime.jsx(ve,{height:48},T))});let x=Oe(C,t.petId);return jsxRuntime.jsxs("section",{style:{...a.screen,...l},"aria-label":m.rescheduleNavTitle,"data-testid":s??"televet-reschedule",children:[jsxRuntime.jsxs("div",{style:h.bar,children:[jsxRuntime.jsx("button",{type:"button",onClick:()=>r?.(),disabled:R,"aria-label":m.rescheduleKeepLabel,style:h.ring,"data-testid":"televet-reschedule-keep",children:jsxRuntime.jsx("svg",{"aria-hidden":"true",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsxRuntime.jsx("path",{d:"M18 6 6 18M6 6l12 12"})})}),jsxRuntime.jsx("p",{style:h.label,children:m.rescheduleStepLabel})]}),jsxRuntime.jsxs("div",{style:h.head,children:[jsxRuntime.jsx(S,{style:h.title,children:H(m.rescheduleTitleTemplate,{pet:x??m.petFallback})}),jsxRuntime.jsxs("p",{style:h.now,"data-testid":"televet-reschedule-now",children:[jsxRuntime.jsx("span",{style:h.nowPill,children:m.rescheduleNowLabel}),jsxRuntime.jsx("s",{children:en(t.scheduledAt)})]})]}),p==="taken"?jsxRuntime.jsx(ae,{message:m.slotTaken}):null,p==="failed"?jsxRuntime.jsx(ae,{message:m.rescheduleFailed}):null,p==="unavailable"?jsxRuntime.jsx(ae,{message:m.bookingPausedTitle,testID:"televet-reschedule-unavailable"}):null,u.enabled?u.isPending?jsxRuntime.jsx("div",{role:"progressbar","aria-label":m.loading.slots,"aria-busy":"true",style:a.list,"data-testid":"televet-reschedule-slots-loading",children:[0,1,2].map(T=>jsxRuntime.jsx(ve,{height:48},T))}):u.isError?jsxRuntime.jsx(le,{title:m.slotsErrorTitle,actionLabel:m.retryCta,onAction:()=>u.refetch(),testID:"televet-reschedule-slots-error"}):(u.data??[]).length===0?jsxRuntime.jsx("div",{"data-testid":"televet-reschedule-empty",children:jsxRuntime.jsx(le,{title:m.noSlotsTitle})}):jsxRuntime.jsx(Yn,{slots:u.data??[],busySlotId:R?f.variables:null,onPick:T=>{c(null),b(T);},selectedSlot:v,dayGroupLabel:m.dayLegend,timeGroupLabel:m.timeHeading,periodLabels:{morning:m.timeMorning,afternoon:m.timeAfternoon,evening:m.timeEvening},timeLegendTemplate:m.timeLegendTemplate,rowTestIdPrefix:"televet-reschedule-slot",testID:"televet-reschedule-slots"}):jsxRuntime.jsx("div",{"data-testid":"televet-reschedule-paused",children:jsxRuntime.jsx(le,{title:m.bookingPausedTitle})}),v?jsxRuntime.jsx("div",{style:h.footer,children:jsxRuntime.jsx(B,{label:R?m.rescheduleMoving:H(m.rescheduleMoveTemplate,{when:$s(v.startsAt)}),size:"lg",loading:R,onPress:()=>w(v),testID:"televet-reschedule-move"})}):null]})}o(Sl,"EverfurTelevetReschedule");function ky(e){let t=Ie(e),{space:n,type:r}=e;return {bar:{display:"flex",alignItems:"center",gap:14,paddingBottom:n.lg},ring:{width:44,height:44,flexShrink:0,display:"inline-flex",alignItems:"center",justifyContent:"center",padding:0,borderRadius:"50%",borderStyle:"solid",borderWidth:1.5,borderColor:t.line,backgroundColor:t.surface,color:t.ink,cursor:"pointer",boxSizing:"border-box"},label:{margin:0,...k(e,"monoBold"),color:t.muted,fontSize:12,letterSpacing:"0.08em",textTransform:"uppercase"},head:{display:"flex",flexDirection:"column",gap:n.md,paddingBottom:n.md},title:{margin:0,...k(e,"medium"),color:t.ink,fontSize:Ge(e,"heading",30),lineHeight:1.1,letterSpacing:"-0.03em"},now:{margin:0,display:"flex",flexWrap:"wrap",alignItems:"center",gap:10,...k(e,"regular"),color:t.muted,fontSize:r.size.body},nowPill:{display:"inline-flex",alignItems:"center",height:24,padding:"0 10px",borderRadius:999,borderStyle:"solid",borderWidth:1.5,borderColor:t.line,...k(e,"monoBold"),color:t.muted,fontSize:11.5,letterSpacing:"0.08em",textTransform:"uppercase"},footer:{paddingTop:n.lg,paddingBottom:n.lg,flexShrink:0}}}o(ky,"makeLook");function xl(e){let t=e.visitRef?.trim()??"";return t.length>0?Object.freeze({name:"visit",visitRef:t,intent:e.intent??null}):kl}o(xl,"televetScreenForRequest");var kl=Object.freeze({name:"home"}),Ry=Object.freeze({name:"visits"}),_y=Object.freeze({name:"booking"});function wy(e,t){switch(t.type){case "push":return Object.freeze({stack:Object.freeze([...e.stack,t.screen])});case "pop":return e.stack.length<=1?e:Object.freeze({stack:Object.freeze(e.stack.slice(0,-1))});case "land":return e.stack[0]?.name!=="home"?e:Object.freeze({stack:Object.freeze([t.screen,...e.stack.slice(1)])});default:return e}}o(wy,"navReducer");function xu(e){let{style:t,renderPending:n,className:r,...i}=Kt(e,["onExit","onBooked","onAddPet","onRequestLocation","onFindEmergencyVet"]);return jsxRuntime.jsx(ds,{capability:"televet",style:t,...r!==void 0?{className:r}:{},...n?{renderPending:n}:{},children:jsxRuntime.jsx(Iy,{...i,...t!==void 0?{style:t}:{}})})}o(xu,"EverfurTelevetFlow");function Iy({petRef:e,usState:t,controller:n,onBooked:r,onExit:i,onAddPet:l,onPickMedia:s,onAddToCalendar:a,onConfirmDiscard:d,onRequestLocation:u,locationStatus:f,primaryVet:y,onFindEmergencyVet:p,onTriageReason:c,historyMode:v="memory",canJoinInApp:b=false,renderUnavailable:C,initialScreen:E,headingLevel:h,style:S}){let w=Y(),[R,x]=react.useReducer(wy,E??kl,X=>Object.freeze({stack:Object.freeze([X])})),T=R.stack[R.stack.length-1]??kl,I=R.stack.length,_=react.useRef(I),P=I<_.current;react.useEffect(()=>{_.current=I;},[I]);let[A,V]=react.useState(0),j=react.useCallback(()=>V(X=>X+1),[]),ee=react.useRef(0),G=react.useRef(I);G.current=I,react.useEffect(()=>{if(v!=="browser"||typeof window>"u")return;let X=o(Be=>{let ct=Be.state?.efTelevet;typeof ct=="number"&&ct<G.current&&(ee.current=Math.max(0,ee.current-1),x({type:"pop"}));},"onPopState");return window.addEventListener("popstate",X),()=>window.removeEventListener("popstate",X)},[v]);let K=react.useCallback(X=>{v==="browser"&&typeof window<"u"&&(ee.current+=1,window.history.pushState({efTelevet:G.current+1},"")),x({type:"push",screen:X});},[v]),L=react.useCallback(()=>{if(v==="browser"&&typeof window<"u"&&ee.current>0){ee.current-=1,window.history.go(-1);return}x({type:"pop"});},[v]),oe=react.useCallback(()=>C?C():jsxRuntime.jsx("div",{style:w.list,"data-testid":"televet-unavailable",children:at()?jsxRuntime.jsx(le,{title:m.bookingPausedTitle}):null}),[C,w.list]),se=react.useCallback(()=>{I>1?L():i?.();},[I,L,i]),me=react.useCallback(X=>x({type:"land",screen:X==="visits"?Ry:_y}),[]),be=jsxRuntime.jsx(il,{...e!==void 0?{petRef:e}:{},...t!==void 0?{usState:t}:{},...n?{controller:n}:{},onBooked:X=>{j(),r?.(X);},onExit:se,...l?{onAddPet:l}:{},...s?{onPickMedia:s}:{},...a?{onAddToCalendar:a}:{},...d?{onConfirmDiscard:d}:{},...u?{onRequestLocation:u}:{},...f?{locationStatus:f}:{},...y?{primaryVet:y}:{},...p?{onFindEmergencyVet:p}:{},...c?{onTriageReason:c}:{},canJoinInApp:b,renderUnavailable:oe,...h!==void 0?{headingLevel:h}:{},...S?{style:S}:{}}),$e=jsxRuntime.jsx(bl,{...n?{controller:n}:{},revision:A,isRoot:I<=1,returnedTo:P,onJoin:(X,Be)=>K({name:"call",consultId:X.consultId,clinicianName:X.clinicianName,petName:Be}),onReschedule:X=>K({name:"reschedule",consult:X}),onBook:()=>K({name:"booking"}),onBack:se,onOpenThread:X=>K({name:"thread",target:X}),onOpenSummary:X=>K({name:"summary",consult:X}),...S?{style:S}:{}});switch(T.name){case "home":return jsxRuntime.jsx(Ay,{controller:n,onLand:me,style:S});case "booking":return be;case "visits":case "visit":return $e;case "reschedule":return jsxRuntime.jsx(Sl,{consult:T.consult,...n?{controller:n}:{},onRescheduled:()=>{j(),L();},onCancel:()=>L(),...S?{style:S}:{}});case "call":return jsxRuntime.jsx(sl,{consultId:T.consultId,...n?{controller:n}:{},...T.clinicianName!==void 0?{clinicianName:T.clinicianName}:{},...T.petName!==void 0?{petName:T.petName}:{},onLeave:()=>{j(),se();},...S?{style:S}:{}});case "thread":return jsxRuntime.jsx(hl,{petRef:T.target.petRef,petName:T.target.petName,vetName:T.target.vetName,...T.target.ownerCanStart!==void 0?{ownerCanStart:T.target.ownerCanStart}:{},...n?{controller:n}:{},onBack:()=>{j(),se();},onBook:()=>K({name:"booking"}),...S?{style:S}:{}});case "summary":{let X=T.consult;return jsxRuntime.jsx(Tl,{consult:X,...n?{controller:n}:{},onBack:se,onMessageVet:Be=>K({name:"thread",target:Be}),onBook:()=>K({name:"booking"}),...S?{style:S}:{}})}default:return ir(T)}}o(Iy,"TelevetFlowBody");function Ay({controller:e,onLand:t,style:n}){let r=Y(),i=ke(e),l=$a(i);return react.useEffect(()=>{l!=="pending"&&t(l);},[l,t]),jsxRuntime.jsxs("div",{role:"progressbar","aria-label":F.loading,"aria-busy":"true",style:{...r.screen,...r.list,...n},"data-testid":"televet-landing-loading",children:[jsxRuntime.jsx(ve,{height:72}),jsxRuntime.jsx(ve,{height:72})]})}o(Ay,"TelevetLandingScreen");var Pl=xu;var Ly=Object.freeze({escapeAtKeyDown:true});function Ny({request:e,onClose:t,onAddToCalendar:n}){let r=M(),i=react.useMemo(()=>Fy(r),[r]),l=react.useMemo(()=>Fd(),[]),s=react.useCallback(()=>{l.dispatch()||t();},[l,t]),{dialogRef:a,onKeyDown:d,onCancel:u}=Fr(true,s,void 0,Ly),f=react.useMemo(()=>xl(e),[e]);return jsxRuntime.jsx("dialog",{ref:a,onKeyDown:d,onCancel:u,"aria-label":m.visit.title,"data-testid":"everfur-televet-dialog",style:i,children:jsxRuntime.jsx(ji.Provider,{value:l,children:jsxRuntime.jsx(Pl,{...e.petRef!==void 0?{petRef:e.petRef}:{},...e.usState!==void 0?{usState:e.usState}:{},initialScreen:f,onExit:t,...n?{onAddToCalendar:n}:{},canJoinInApp:Ur(),historyMode:"memory"})})})}o(Ny,"EverfurTelevetDialog");function Fy(e){let{color:t,radius:n,space:r}=e;return {position:"fixed",inset:0,boxSizing:"border-box",width:"100%",maxWidth:640,height:"100%",maxHeight:"100%",margin:"0 auto",padding:`${String(r.lg)}px 0`,border:0,borderRadius:n.lg,display:"flex",flexDirection:"column",overflowY:"auto",backgroundColor:t.surface,color:t.text.primary}}o(Fy,"dialogStyle");exports.BACK_LABEL=fm;exports.CANCELLATION_POLICY_VERSION_MAX=yr;exports.CANCEL_REASON_MAX=vr;exports.CONSULT_KINDS=va;exports.CONSULT_MINUTES=Mt;exports.CONSULT_STATUSES=ga;exports.EverfurTelevet=Pl;exports.EverfurTelevetBooking=il;exports.EverfurTelevetDialog=Ny;exports.EverfurTelevetFlow=xu;exports.EverfurTelevetReschedule=Sl;exports.MEDIA_REFS_MAX=gr;exports.NO_MEDIA_SHORTFALL=Ct;exports.REASON_TEXT_MAX=vt;exports.TELEVET_BOOKING_BASE=st;exports.TELEVET_BOOKING_COPY=Q;exports.TELEVET_BOOKING_COPY_WEB=m;exports.TELEVET_BOOKING_STEPS=Zt;exports.TELEVET_CONSULT_PAGE_LIMIT=Fa;exports.TELEVET_EMERGENCY_EXITS_WEB=qt;exports.TELEVET_JOIN_CLOSES_MINUTES_AFTER=Mo;exports.TELEVET_JOIN_OPENS_MINUTES_BEFORE=Fo;exports.TELEVET_MESSAGE_THREADS_PATH=hr;exports.TERMINAL_CONSULT_STATUSES=Sn;exports.TelevetBookedScreen=zi;exports.TelevetBookingChrome=Ki;exports.TelevetCancelVisitForm=ml;exports.TelevetClinicianEmptyState=Rd;exports.TelevetConsentCheckbox=Gn;exports.TelevetDayStrip=Ji;exports.TelevetEarlyEmergency=Pd;exports.TelevetEmergencyExits=Vt;exports.TelevetEntitlementInterestState=$f;exports.TelevetIntakeMedia=Yi;exports.TelevetJoinScreen=sl;exports.TelevetMediaDropNotice=$n;exports.TelevetSlotPicker=Yn;exports.TelevetStateInterestAction=Oi;exports.TelevetSummaryCard=el;exports.TelevetSummaryRow=Pt;exports.TelevetVetThreadScreen=hl;exports.TelevetVisitSummaryScreen=Tl;exports.TelevetVisitsScreen=bl;exports.VET_MESSAGES_COPY=U;exports.VET_MESSAGE_CONTENT_MAX=To;exports.VET_MESSAGE_PAGE_DEFAULT=En;exports.VET_MESSAGE_PAGE_MAX=wa;exports.attestation=ai;exports.canConfirm=Fn;exports.canManageTelevetVisit=zo;exports.createTelevetBookingController=Ro;exports.currentStep=ii;exports.emptyTelevetDraft=Ms;exports.formatVisitRange=ef;exports.formatWhen=Hs;exports.formatWhenWithDay=Dn;exports.hasPreviousStep=ni;exports.initialTelevetBookingState=ti;exports.isHoldExpired=Ar;exports.isMediaShortfallEmpty=yi;exports.isSkipped=Nn;exports.isTelevetBookingCopyReady=at;exports.isVetMessagesDark=kn;exports.isVetThreadVetFirst=ko;exports.isWellFormedStateCode=Ne;exports.mediaShortfallFromUnsentPicks=Or;exports.parseVetCallCredential=fo;exports.splitTelevetVisits=On;exports.televetBookingKey=li;exports.televetBookingReducer=ri;exports.televetBookingRefusal=yt;exports.televetCancelCall=Na;exports.televetConsultCalendarKey=Nd;exports.televetConsultCall=Tr;exports.televetDaysFromSlots=zr;exports.televetEmptyRosterCause=pi;exports.televetEmptyRosterView=ci;exports.televetHoldCall=Oa;exports.televetJoinCall=La;exports.televetJoinDecision=Vo;exports.televetJoinOpensAtMs=Do;exports.televetMediaShortfallLines=gi;exports.televetRescheduleCall=Ba;exports.televetScreenForRequest=xl;exports.televetThreadMessagesCall=ho;exports.televetThreadReadCall=Ra;exports.televetVisitSummaryCall=_a;exports.useEarlyTriage=xi;exports.useStateInterest=Pi;exports.useTelevetBookConsult=Lo;exports.useTelevetBookingAvailable=pp;exports.useTelevetBookingController=ke;exports.useTelevetBookingEntitlement=Io;exports.useTelevetCancellationPolicy=_n;exports.useTelevetClinicians=Ao;exports.useTelevetHoldSlot=In;exports.useTelevetJoin=al;exports.useTelevetNextSlot=Oo;exports.useTelevetRescheduleConsult=No;exports.useTelevetSlots=wn;exports.useTelevetStatePolicy=Rn;exports.useVetThread=cl;exports.useVetThreads=ul;exports.useVisitSummary=pl;exports.validateBookingBody=Ma;exports.vetCallJoinReason=mo;exports.vetCallJoinRefusal=yo;exports.vetThreadPetRef=tr;exports.withUnsentPicks=of;