@everfur/sdk 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/{Chat-DZpYH8Uh.d.ts → Chat-CFi5cNUF.d.ts} +3 -3
  3. package/dist/{Chat-bATY4atj.d.cts → Chat-DQOsAumH.d.cts} +3 -3
  4. package/dist/{DepthViews-C4DC4Kom.d.cts → DepthViews-C409ubw-.d.cts} +1 -1
  5. package/dist/{DepthViews-BpHUbjSY.d.cts → DepthViews-D81c95Ra.d.cts} +1 -1
  6. package/dist/{DepthViews-dLTizxjr.d.ts → DepthViews-es8mIK0w.d.ts} +1 -1
  7. package/dist/{DepthViews-qBIoA48w.d.ts → DepthViews-uilL1NJZ.d.ts} +1 -1
  8. package/dist/{BookedScreen-DFJcgf1e.d.ts → IntakeMedia-BcjjUizr.d.ts} +40 -1
  9. package/dist/{BookedScreen-R5X_Zrlh.d.cts → IntakeMedia-CL_S2tZE.d.cts} +40 -1
  10. package/dist/animations/index.d.cts +3 -3
  11. package/dist/animations/index.d.ts +3 -3
  12. package/dist/{attachments-Ce06TWqe.d.cts → attachments-B2GjBgvF.d.cts} +2 -2
  13. package/dist/{attachments-CUOGILir.d.cts → attachments-DI710no4.d.cts} +5 -5
  14. package/dist/{attachments-CPRFfoHT.d.ts → attachments-DNaSbmA3.d.ts} +2 -2
  15. package/dist/{attachments-CXAnZcEg.d.ts → attachments-SF88N654.d.ts} +5 -5
  16. package/dist/{bookingCopy-DFTv9w6J.d.ts → bookingCopy-D2N3RhsV.d.ts} +2 -2
  17. package/dist/{bookingCopy-BwVopcoV.d.cts → bookingCopy-xlXxORCA.d.cts} +2 -2
  18. package/dist/{casesRepository-CJchNp3x.d.cts → casesRepository-B-md8h1S.d.cts} +1 -1
  19. package/dist/{casesRepository-DAVcY3jC.d.ts → casesRepository-CC6951TK.d.ts} +1 -1
  20. package/dist/chat/index.d.cts +9 -9
  21. package/dist/chat/index.d.ts +9 -9
  22. package/dist/client/index.cjs +1 -1
  23. package/dist/client/index.d.cts +6 -6
  24. package/dist/client/index.d.ts +6 -6
  25. package/dist/client/index.js +1 -1
  26. package/dist/{config-ZxwCylac.d.ts → config-BM0sv5jx.d.ts} +1 -1
  27. package/dist/{config-h5h6TsHL.d.cts → config-Daa1plhQ.d.cts} +1 -1
  28. package/dist/consent/index.d.cts +5 -5
  29. package/dist/consent/index.d.ts +5 -5
  30. package/dist/{context-DtPIshVA.d.ts → context-CDV2pwGI.d.ts} +5 -5
  31. package/dist/{context-CtsAgJnc.d.cts → context-DQHtwcHN.d.cts} +5 -5
  32. package/dist/{copy-CaWaplQc.d.cts → copy-BEx5F71o.d.cts} +2 -2
  33. package/dist/{copy-Cg89Qoal.d.ts → copy-Cl1l-qmY.d.ts} +2 -2
  34. package/dist/core/index.cjs +1 -1
  35. package/dist/core/index.d.cts +12 -12
  36. package/dist/core/index.d.ts +12 -12
  37. package/dist/core/index.js +1 -1
  38. package/dist/{depth-EXZYEO70.d.cts → depth-CAAwiStc.d.cts} +3 -3
  39. package/dist/{depth-Bo4bAwcn.d.ts → depth-DfNRVtrV.d.ts} +3 -3
  40. package/dist/{entitlementRepository-DcbIx8yV.d.ts → entitlementRepository-CVWvND1P.d.ts} +2 -2
  41. package/dist/{entitlementRepository-BYtVb1oU.d.cts → entitlementRepository-DPvWjV-N.d.cts} +2 -2
  42. package/dist/{identity-EC5-apbY.d.ts → identity-BhT7oJDS.d.ts} +1 -1
  43. package/dist/{identity-b5Vp32Vp.d.cts → identity-DUlshgow.d.cts} +1 -1
  44. package/dist/index.cjs +1 -1
  45. package/dist/index.d.cts +12 -12
  46. package/dist/index.d.ts +12 -12
  47. package/dist/index.js +1 -1
  48. package/dist/notifications/index.d.cts +2 -2
  49. package/dist/notifications/index.d.ts +2 -2
  50. package/dist/{pets-DM8QvKLo.d.cts → pets-Bneph9m1.d.cts} +1 -1
  51. package/dist/{pets-B_27_agU.d.ts → pets-DjcLmRrW.d.ts} +1 -1
  52. package/dist/{petsRepository-BJsJ4cju.d.cts → petsRepository-BnVre3q7.d.cts} +1 -1
  53. package/dist/{petsRepository-CuYZZaI5.d.ts → petsRepository-BwxmfX_s.d.ts} +1 -1
  54. package/dist/{ports-ZmJYgd5I.d.cts → ports-BPKxFOSe.d.cts} +4 -4
  55. package/dist/{ports-nXHf50_X.d.ts → ports-Di9rdLO9.d.ts} +4 -4
  56. package/dist/records/depth/index.d.cts +7 -7
  57. package/dist/records/depth/index.d.ts +7 -7
  58. package/dist/records/index.d.cts +9 -9
  59. package/dist/records/index.d.ts +9 -9
  60. package/dist/{requestFunnel-Ve9BshTB.d.ts → requestFunnel-CiSX2pun.d.ts} +2 -2
  61. package/dist/{requestFunnel-C_cZXhIA.d.cts → requestFunnel-DMR_1T3O.d.cts} +2 -2
  62. package/dist/{runtimeTypes-D155OlBW.d.cts → runtimeTypes-2gJ5hYoE.d.cts} +4 -4
  63. package/dist/{runtimeTypes-ByKsp8hm.d.ts → runtimeTypes-CkMFCbHW.d.ts} +4 -4
  64. package/dist/server/events/index.cjs +1 -1
  65. package/dist/server/events/index.d.cts +2 -2
  66. package/dist/server/events/index.d.ts +2 -2
  67. package/dist/server/events/index.js +1 -1
  68. package/dist/server/index.cjs +1 -1
  69. package/dist/server/index.d.cts +3 -3
  70. package/dist/server/index.d.ts +3 -3
  71. package/dist/server/index.js +1 -1
  72. package/dist/televet/booking/index.d.cts +6 -6
  73. package/dist/televet/booking/index.d.ts +6 -6
  74. package/dist/testing/index.d.cts +1 -1
  75. package/dist/testing/index.d.ts +1 -1
  76. package/dist/testing/rn/index.d.cts +7 -7
  77. package/dist/testing/rn/index.d.ts +7 -7
  78. package/dist/testing/web/index.d.cts +7 -7
  79. package/dist/testing/web/index.d.ts +7 -7
  80. package/dist/{timelineRows-DXpjECfA.d.ts → timelineRows-D3171ksh.d.ts} +1 -1
  81. package/dist/{timelineRows-BNF43SXK.d.cts → timelineRows-DDnz4gx2.d.cts} +1 -1
  82. package/dist/{useRecordsDepth-CARTuHKh.d.cts → useRecordsDepth-COJ0wSYK.d.cts} +1 -1
  83. package/dist/{useRecordsDepth-fPSv-GXU.d.ts → useRecordsDepth-Z9FF5X4E.d.ts} +1 -1
  84. package/dist/{view-Dc-JlFkf.d.ts → view-DoQEHXJR.d.ts} +2 -2
  85. package/dist/{view-DGPaVno8.d.cts → view-nRy6SitU.d.cts} +2 -2
  86. package/dist/web/consent/index.d.cts +5 -5
  87. package/dist/web/consent/index.d.ts +5 -5
  88. package/dist/web/index.cjs +2 -2
  89. package/dist/web/index.d.cts +14 -14
  90. package/dist/web/index.d.ts +14 -14
  91. package/dist/web/index.js +2 -2
  92. package/dist/web/notifications/index.d.cts +3 -3
  93. package/dist/web/notifications/index.d.ts +3 -3
  94. package/dist/web/records/depth/index.d.cts +7 -7
  95. package/dist/web/records/depth/index.d.ts +7 -7
  96. package/dist/web/records/index.d.cts +9 -9
  97. package/dist/web/records/index.d.ts +9 -9
  98. package/dist/web/televet/booking/index.cjs +1 -1
  99. package/dist/web/televet/booking/index.d.cts +15 -49
  100. package/dist/web/televet/booking/index.d.ts +15 -49
  101. package/dist/web/televet/booking/index.js +1 -1
  102. package/dist/web/televet/index.cjs +1 -1
  103. package/dist/web/televet/index.d.cts +11 -3
  104. package/dist/web/televet/index.d.ts +11 -3
  105. package/dist/web/televet/index.js +1 -1
  106. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
1
  import {createContext,useMemo,useState,useRef,useEffect,useCallback,useId,useReducer,useContext,useSyncExternalStore,Component,createElement}from'react';import {z}from'zod';import {jsxs,jsx,Fragment}from'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=z.string().min(1).refine(e=>!Number.isNaN(Date.parse(e))),ht=z.string().nullish(),Co=z.object({message_id:z.string().min(1),pet_ref:z.string().min(1),role:z.enum(["owner","vet","system"]),content:z.string(),created_at:So,sender:z.object({display_name:ht,specialty:ht}).nullish(),sender_display_name:ht,attachment_count:z.number().int().nonnegative().nullish()}),Dc=z.object({pet_ref:z.string().min(1),last_message_at:So,unread_count:z.number().int().nonnegative().nullish(),owner_can_start:z.boolean().nullish(),last_message:Co.nullish()}),Vc=z.object({drug:z.string().nullish(),strength:ht,form:ht,sig:ht,quantity:z.union([z.string(),z.number()]).nullish(),refills:z.number().int().nonnegative().nullish()}).passthrough(),zc=z.object({consult_id:z.string().min(1),findings_text:z.string().nullish(),next_steps_text:z.string().nullish(),medications:z.array(z.unknown()).nullish(),product_refs:z.array(z.string()).nullish(),action_items:z.array(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=z.array(Co).safeParse(e);return t.success?Object.freeze(t.data.map(Eo)):null}o(Hc,"mapVetMessages");function Wc(e){let t=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]=createContext(null));za.displayName??="EverfurContext";function Ye(){let e=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=useSyncExternalStore(n.subscribe,n.getSnapshot,n.getSnapshot);return 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 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 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]=useState(()=>({key:e,data:null,isPending:t&&n!==null,error:null})),[l,s]=useState(0),a=useRef(n);a.current=n,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=useCallback(()=>s(f=>f+1),[]),u=r.key===e;return 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]=useState(null),r=useRef(true),i=useRef(false),l=useRef(e);l.current=e,useEffect(()=>(r.current=true,()=>{r.current=false;}),[]);let s=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 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 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 createElement(Ho,{fallback:t,resetKey:n,children: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]=createContext(es));Yo.displayName??="EverfurThemeContext";function M(){return 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=useMemo(()=>Ip(a),[a]);switch(d){case "enabled":return n;case "pending":return i?jsx(Wo,{render:i,fallback:jsx(as,{capability:t,style:l,className:s})}):jsx(as,{capability:t,style:l,className:s});case "disabled":return r?jsx(Wo,{render:()=>r(a),fallback:jsx(ss,{decision:a,style:l,className:s}),resetKey:a}):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=useMemo(()=>us(r),[r]);return jsx("div",{role:"status","aria-busy":"true","aria-label":`Loading ${e}`,className:n,style:{...i.offstate,...t},children:jsx("div",{style:i.skeletonBar})})}o(as,"PendingSkeleton");function ss({decision:e,style:t,className:n}){let r=M(),i=useMemo(()=>us(r),[r]),l=e.disabled?.reason??"";return jsx("div",{className:n,style:{...i.offstate,...t},children:l.length>0?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=useMemo(()=>Fs(e.registry.services.authFor(t)),[e,t,r]),[l,s]=useState({repository:i,pets:[],loading:true,error:null}),a=l.repository===i?l:{pets:[],loading:true,error:null},d=useRef(0),u=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]);useEffect(()=>(u(),()=>{d.current+=1;}),[u]);let f=useMemo(()=>n===null?null:a.pets.find(y=>y.petRef===n)??null,[n,a.pets]);return 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=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=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 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]=useState(()=>new Map),[l,s]=useState(false),[a,d]=useState(false),u=useRef(r),f=useRef(e);f.current=e;let y=useRef(false),p=useRef(false),c=useRef(new AbortController);useEffect(()=>{let _=new AbortController;return c.current=_,()=>_.abort()},[]);let v=t?.initiateAttachment?.bind(t),b=l||v===void 0,C=useCallback((_,P)=>{let A=new Map(u.current);A.set(_,P),u.current=A,i(A);},[]),E=useCallback(()=>{y.current=true,s(true);},[]),h=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]);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=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=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=useMemo(()=>e.flatMap(_=>{let P=r.get(_.uri);return P?.kind==="sent"?[{key:P.s3Key,pick:_}]:[]}),[e,r]),x=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=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 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 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=useCallback(()=>bf(e.getSnapshot()),[e]);return 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]=useState(null),[i,l]=useState(null),[s,a]=useState(false),d=useRef(false),u=useRef(true);useEffect(()=>(u.current=true,()=>{u.current=false;}),[]);let f=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=useCallback(()=>{f(De.createLabel,()=>t.createVisit(e),true);},[e,f,t]),p=useCallback(b=>{n!==null&&f(De.advance[b],()=>t.advanceVisit(n.visitRef,b),true);},[f,t,n]),c=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]=useState(false),[r,i]=useState(false),[l,s]=useState(null),a=useRef(null),d=useRef(null),u=useRef(true);useEffect(()=>(u.current=true,()=>{u.current=false,d.current?.abort(),d.current=null;}),[]);let f=useCallback(()=>{d.current?.abort(),d.current=null,u.current&&i(false);},[]),y=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=useCallback(C=>{s(C.trim()),n(false);},[]),c=useCallback(()=>n(false),[]),v=useCallback(()=>{f(),a.current=null,s(null),n(false);},[f]),b=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]=useState(()=>Object.freeze({})),l=useRef(0),s=useRef(null),a=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 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
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]=useState(d===null||u!==null&&u!==d),c=d===null||y,v=useCallback(()=>{d!==null&&(p(false),a(d));},[d,a]),b=useCallback(()=>{p(true),u===d&&a(null);},[u,d,a]),C=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]=useState([]),[p,c]=useState(null),v=useRef(false),b=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=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: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=createContext(Bf);function ge(){return 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 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 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 jsxs("div",{style:l.stateCard,"data-testid":i,children:[jsx(s,{style:l.stateTitle,children:e}),t?jsx("p",{style:l.stateMessage,children:t}):null,a?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]=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 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 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=useMemo(()=>Uf(i),[i]),s=e?.trim()??"",a=`${useId()}-primary-vet-hint`;return jsxs("div",{style:l.exits,"data-testid":`${r}-exits`,children:[n?jsxs("button",{type:"button",onClick:()=>{lr(n);},style:{...l.card,...l.cardButton},"data-testid":`${r}-find-vet`,children:[jsx("span",{style:l.text,children:jsx("span",{style:l.title,children:qt.findEmergencyVet})}),jsx(Ii,{})]}):null,jsxs("a",{href:qt.poisonControlTel,style:l.card,"data-testid":`${r}-poison-control`,children:[jsxs("span",{style:l.text,children:[jsx("span",{style:l.title,children:qt.poisonControl}),jsx("span",{style:l.detail,children:qt.poisonControlDetail})]}),jsx(Ii,{})]}),t!=null&&s.length>0?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=jsxs("span",{style:r.text,children:[jsx("span",{style:r.title,children:l}),s.length>0?jsx("span",{style:r.detail,children:s}):null]});if(!t.dial)return jsx("div",{style:r.card,"data-testid":`${i}-primary-vet`,children:a});let d=t.dial;return 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,jsx(Ii,{}),jsx("span",{id:n,style:Wf,children:m.emergency.startCallHint})]})}o(Hf,"PrimaryVetCard");function Ii(){return jsx("svg",{"aria-hidden":"true",width:"18",height:"18",viewBox:"0 0 19.358 19.358",fill:"none",style:{marginLeft:"auto",flexShrink:0},children: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=useMemo(()=>Li(i),[i]),a=ie(ge()),d=m.emergency.lede;return jsxs("section",{role:"alert",style:{...l.stepFill,...s.emergencyPanel},"data-testid":"televet-early-emergency",children:[jsx(a,{style:s.emergencyTitle,children:m.emergency.bannerTitle}),jsx("p",{style:s.emergencyLede,children:d}),jsx(Vt,{petName:e,primaryVet:t,onFindEmergencyVet:n,testIDPrefix:"televet-early-emergency"}),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=useMemo(()=>Li(n),[n]),i=ie(ge());return e===null?null:e.joined?jsxs("div",{role:"status","data-testid":`${t}-joined`,style:r.interestFeedback,children:[jsx(i,{style:r.interestJoinedTitle,children:m.stateInterest.joinedTitle}),jsx("p",{style:r.interestBody,children:m.stateInterest.joinedBody})]}):jsxs("div",{"data-testid":t,style:r.interestAction,children:[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?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 jsxs("div",{"data-testid":"televet-clinicians-empty",children:[jsx(le,{title:r.title,message:r.message,...r.retryLabel!==null&&t?{actionLabel:r.retryLabel,onAction:t}:{}}),r.interestReason!==null?jsx(Oi,{action:n??null,testIDPrefix:"televet-state-interest-no-licensed-vet"}):null]})}o(Rd,"TelevetClinicianEmptyState");function $f({onCheckAvailability:e}){return jsx(Bi,{...e?{onCheckAvailability:e}:{}})}o($f,"TelevetEntitlementInterestState");function Bi({onCheckAvailability:e,renderUnavailable:t}){let n=Y();return jsxs("div",{"data-testid":"televet-booking-not-entitled",style:n.list,children:[t?t():jsx(le,{title:m.bookingPausedTitle}),e?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=useMemo(()=>Li(n),[n]);if(yi(e))return null;let i=gi(e);return i.length===0?null:jsx("ul",{role:"status",style:r.mediaNotice,"data-testid":`${t}-media-notice`,children:i.map((l,s)=>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?jsx("div",{style:d.stepFill,"data-testid":"televet-booking-unavailable",children:a?a():jsx(le,{title:m.bookingPausedTitle})}):f&&c!=="clinician"?jsx(Bi,{...l?{onCheckAvailability:l}:{},...a?{renderUnavailable:a}:{}}):y?jsxs("div",{"data-testid":"televet-booking-state-blocked",children:[jsx(le,{title:m.stateBlockedTitle}),jsx(Oi,{action:i,testIDPrefix:"televet-state-interest-state-blocked"})]}):c==="reason"&&p?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?jsx("div",{"data-testid":"televet-booking-location-unknown",children: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?jsx(Rd,{cause:t,onRetry:i,stateInterest:l}):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=useMemo(()=>em(d),[d]),y=`${useId()}-booked-title`,p=ie(ge()),[c,v]=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 jsx("div",{style:f.screen,"data-testid":"televet-booked-copy-unapproved"});let E=e.clinicianName?.trim()??"";return jsxs("section",{style:f.screen,"aria-labelledby":y,"data-testid":"televet-booked",children:[jsx("div",{"aria-hidden":"true",style:f.avatar,children:E.length>0?E.replace(/^dr\.?\s+/i,"").slice(0,1).toUpperCase():null}),jsx(p,{id:y,style:f.title,children:E.length>0?H(m.bookedTitleTemplate,{vet:E}):m.bookedTitle}),jsx("p",{style:f.when,children:t?jsxs(Fragment,{children:[jsx("time",{dateTime:e.scheduledAt,children:ui(e.scheduledAt)}),H(m.bookedLeadTemplate,{when:"",pet:t})]}):jsx("time",{dateTime:e.scheduledAt,children:ui(e.scheduledAt)})}),jsx("section",{"aria-label":m.booked.stepsLabel,style:f.card,children:jsx("ol",{style:f.steps,"data-testid":"televet-booked-steps",children:C.map((h,S)=>jsxs("li",{style:{...f.step,...S===C.length-1?f.stepLast:null},children:[jsx("span",{"aria-hidden":"true",style:f.stepNumber,children:String(S+1).padStart(2,"0")}),jsx("span",{style:f.stepText,children:h.trim()})]},h))})}),jsxs("div",{style:f.actions,children:[r?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,jsx(B,{label:m.doneCta,kind:"primary",size:"lg",fullWidth:false,onPress:n,testID:"televet-booked-done"})]}),c==="failed"?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=createContext(null);function Kn(e,t=true){let n=useContext(ji),r=useRef(e);r.current=e,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=useRef(null),s=useRef(false),a=useRef(null),d=useRef(n);d.current=n;let u=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);},[]);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]),useEffect(()=>u,[u]),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=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=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=useMemo(()=>zd(p),[p]),[v,b]=useState(false),C=useRef(null),h=`${useId()}-close-hint`,S=ie(u);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=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=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 jsxs("div",{style:c.wrap,children:[jsxs("header",{style:c.bar,children:[jsx("button",{type:"button",ref:C,onClick:w,"aria-label":m.close,"aria-describedby":h,"data-testid":"televet-booking-close",style:c.ring,children: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:jsx("path",{d:"M18 6 6 18M6 6l12 12"})})}),jsx("span",{id:h,style:qn,children:m.chrome.closeHint}),jsx(S,{style:qn,children:n??m.navTitle}),i&&r?jsx("button",{type:"button",onClick:s,"data-testid":"televet-booking-back",style:c.back,children:m.backLabel}):null,jsx("div",{"aria-hidden":"true",style:c.track,"data-testid":"televet-booking-rail",children:jsx("span",{"data-step":String(x),style:{...c.fill,transform:`scaleX(${String(x/T)})`}})}),jsx("p",{style:c.stepLabel,"data-testid":"televet-booking-progress-label",children:_})]}),v?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=useMemo(()=>zd(r),[r]),{dialogRef:l,onKeyDown:s,onCancel:a}=Fr(true,e,n),d=useId(),u=`${d}-discard-title`,f=`${d}-discard-body`;return jsxs("dialog",{ref:l,onKeyDown:s,onCancel:a,"aria-labelledby":u,"aria-describedby":f,"data-testid":"televet-booking-discard",style:i.dialog,children:[jsx("h2",{id:u,style:i.dialogTitle,children:m.chrome.discardTitle}),jsx("p",{id:f,style:i.dialogBody,children:m.chrome.discardBody}),jsxs("div",{style:i.dialogActions,children:[jsx(B,{label:m.chrome.discardKeepCta,onPress:e,kind:"primary",fullWidth:false,testID:"televet-booking-discard-keep"}),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=useMemo(()=>hm(l),[l]),a=gr-e.length,[d,u]=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 jsxs(Fragment,{children:[jsxs("ul",{role:"list","aria-label":r,style:s.row,children:[e.map((y,p)=>jsxs("li",{style:s.thumb,children:[jsx("img",{src:y.uri,alt:y.filename,style:s.thumbImage}),y.mimeType.startsWith("video/")?jsx("span",{"aria-hidden":"true",style:s.videoBadge,"data-testid":`televet-intake-media-video-${String(p)}`,children:bm}):null,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:jsx("span",{"aria-hidden":"true",style:s.removeGlyph,children:vm})})]},`${y.uri}-${String(p)}`)),a>0?jsx("li",{style:s.addItem,children: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:jsx("span",{style:s.dropzoneText,children:m.addPhotoCta})})}):null]}),i?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=useMemo(()=>Em(i),[i]),s=useMemo(()=>zr(e),[e]),a=useRef(new Map),d=s[0],u=t??d?.key??null,f=useRef(null),y=useRef(false);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=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:jsxs("div",{children:[jsx("p",{"aria-hidden":"true",style:l.month,"data-testid":"televet-day-strip-month",children:Ws(d.iso)}),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 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:[jsx("span",{"aria-hidden":"true",style:{...l.dayWeekday,...v?l.dayTextSelected:null},children:c.weekday}),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=useMemo(()=>_m(y),[y]),c=useMemo(()=>zr(e),[e]),v=`${useId()}-zone`,[b,C]=useState(null),E=r?zn(r.startsAt):null,h=Rm(c,[b,E])??c[0]?.key??null,S=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 jsxs("div",{style:p.root,"data-testid":d,children:[i,jsx(Ji,{slots:e,selectedDayKey:h,onSelectDay:I=>C(I.key),groupLabel:l}),x?jsx("p",{id:v,style:p.zone,"data-testid":"televet-slot-zone",children:x}):null,jsx("div",{style:p.gridScroll,children:Pm(S,u).map(I=>jsxs("div",{style:p.group,children:[I.label?jsx("p",{"aria-hidden":"true",style:p.period,"data-testid":`televet-slot-period-${I.key}`,children:I.label}):null,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 jsx("li",{style:p.gridItem,children: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: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=useMemo(()=>tl(l),[l]);return jsxs("div",{style:{...s.row,...n?s.rowLast:null},"data-testid":i,children:[jsxs("div",{style:s.rowText,children:[jsx("dt",{style:s.rowLabel,children:e}),jsx("dd",{style:s.rowValue,children:t})]}),r?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=useMemo(()=>tl(i),[i]);return jsxs("label",{style:l.consent,children:[jsx("input",{type:"checkbox",checked:t,onChange:s=>n(s.currentTarget.checked),"data-testid":r,style:qn}),jsx("span",{"aria-hidden":"true",style:{...l.box,...t?l.boxChecked:null},children:t?jsx("span",{style:l.tick,children:wm}):null}),jsx("span",{style:l.consentLabel,children:e})]})}o(Gn,"TelevetConsentCheckbox");var wm="\u2713";function el({children:e,testID:t}){let n=M(),r=useMemo(()=>tl(n),[n]);return 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=useMemo(()=>Pe(V),[V]),[ee,G]=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 jsxs(it,{headingRef:e,heading:m.reviewHeading,testID:"televet-booking-review",scrollTestID:"televet-booking-review-scroll",footer:R?null: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:[jsxs(el,{testID:"televet-review-summary",children:[a?jsx(Pt,{label:m.summaryPet,value:a,testID:"televet-review-row-pet"}):null,s?jsx(Pt,{label:m.summaryVet,value:s,testID:"televet-review-row-vet"}):null,jsx(Pt,{label:m.summaryWhen,value:t,testID:"televet-review-row-when",action:n?jsx(B,{label:m.changeCta,kind:"quiet",fullWidth:false,onPress:n,testID:"televet-review-change-when"}):null}),jsx(Pt,{label:m.summaryLength,value:H(m.summaryLengthTemplate,{n:String(l)}),testID:"televet-review-row-length"}),L?jsx(Pt,{label:m.summaryWhere,value:L,testID:"televet-review-row-where"}):null,se?jsx(Pt,{label:m.summaryReason,value:se,last:true,testID:"televet-review-row-reason"}):null]}),jsxs("div",{style:A.list,children:[y?jsx(Gn,{label:oe,checked:p,onToggle:$e=>{G(false),c($e);},testID:"televet-review-state-attest"}):null,v?jsx(Gn,{label:v,checked:b,onToggle:$e=>{G(false),C($e);},testID:"televet-review-terms-attest"}):null,jsx(Gn,{label:m.shareRecordsOff,checked:u,onToggle:f,testID:"televet-review-share-records"})]}),ee&&!be&&me?jsx("p",{role:"alert",style:j.alertLine,"data-testid":"televet-review-attest-both",children:m.attestBoth}):null,jsx($n,{shortfall:I,testIDPrefix:"televet-review"}),R?jsxs("div",{role:"alert",style:j.emergencyBanner,"data-testid":"televet-review-emergency",children:[jsx(jr,{style:j.emergencyTitle,children:m.emergency.bannerTitle}),jsx("p",{style:j.emergencyLede,children:K}),R.length>0?jsx("p",{style:j.emergencyLede,"data-testid":"televet-review-emergency-categories",children:R.join(", ")}):null,jsx(Vt,{petName:a,primaryVet:_,onFindEmergencyVet:P,testIDPrefix:"televet-review-emergency"}),jsx(B,{label:m.emergency.keepBookingCta,kind:"secondary",loading:h,disabled:h,onPress:x,testID:"televet-review-emergency-ack"})]}):null,S==="failed"?jsx(ae,{message:m.confirmFailed}):null,S==="clinician_unavailable"?jsxs("div",{style:A.list,"data-testid":"televet-review-clinician-unavailable",children:[jsx(ae,{message:m.confirmFailed}),jsx(B,{label:m.seeOtherVetsCta,kind:"secondary",onPress:T,testID:"televet-review-see-other-vets"})]}):null,S==="rate_limited"?jsx(ae,{message:m.confirmFailed,testID:"televet-review-rate-limited"}):null,S==="not_entitled"?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 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 jsx(n,{style:e,children:t})}o(jr,"SubHeading");var rl=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=useMemo(()=>Pe(y),[y]),c=useContext(rl);return jsxs("div",{style:f.scrollRoot,"data-testid":l,children:[jsx("div",{style:f.scrollBody,...s?{"data-testid":s}:{},children:jsxs("div",{style:p.stepBody,children:[jsxs("div",{style:p.head,children:[jsx(Nm,{headingRef:e,style:f.stepTitle,...n?{id:n}:{},children:t}),r?jsx("p",{style:f.stepHelp,...i?{id:i}:{},children:r}):null]}),u]})}),jsxs("div",{style:p.footer,children:[c?.canGoBack?jsx(B,{label:m.backLabel,kind:"quiet",fullWidth:false,onPress:c.onBack,testID:"televet-booking-back"}):null,a,d?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=useMemo(()=>Pe(s),[s]),d=Br(false,.98);return 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??jsx("span",{"aria-hidden":"true",style:a.optionDot,children:jsx("span",{style:{...a.optionDotFill,...n?a.optionDotFillOn:null}})}),jsxs("span",{style:a.optionText,children:[jsx("span",{style:a.optionTitle,children:e}),t?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=useMemo(()=>Pe(f),[f]);return n?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=>jsx(ve,{height:96},p))}):r?jsx("div",{"data-testid":"televet-pets-error",children:jsx(le,{title:m.chrome.loadFailedTitle,actionLabel:m.chrome.retryCta,onAction:i})}):t.length===0?jsx("div",{"data-testid":"televet-pets-empty",children:jsx(le,{title:m.chrome.noPetsTitle,actionLabel:m.addPetCta,onAction:d})}):jsx(it,{headingRef:e,heading:m.petSelectTitle,testID:"televet-booking-pets",footerStart:d?jsx(B,{label:m.addAnotherPetCta,kind:"quiet",fullWidth:false,onPress:d,testID:"televet-pet-add"}):null,footer:a?jsx(B,{label:m.continueCta,kind:"primary",size:"lg",disabled:!l,onPress:a,testID:"televet-pets-next"}):null,children:jsx("div",{role:"radiogroup","aria-label":m.petSelectTitle,style:y.options,"data-testid":"televet-pets",children:t.map(p=>jsx(Rt,{title:p.name??"",meta:jd(p),selected:l===p.petRef,onPress:()=>s(p.petRef),testID:`televet-pet-${p.petRef}`,leading: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=useMemo(()=>Pe(f),[f]);if(n)return jsx("div",{role:"progressbar","aria-label":m.loading.clinicians,"aria-busy":"true",style:u.list,"data-testid":"televet-clinicians-loading",children:jsx(ve,{height:240})});if(r)return jsx("div",{"data-testid":"televet-clinicians-error",children:jsx(le,{title:m.chrome.loadFailedTitle,actionLabel:m.chrome.retryCta,onAction:d})});if(t.length===0)return jsx("div",{"data-testid":"televet-clinicians-empty",children: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 jsx(it,{headingRef:e,heading:m.yourVetTitle,testID:"televet-clinicians",footer:jsx(B,{label:m.continueCta,kind:"primary",size:"lg",onPress:()=>a(p.clinicianId),testID:`televet-clinician-${p.clinicianId}`}),children:jsxs("div",{style:y.meet,children:[jsx("span",{"aria-hidden":"true",style:y.vetAvatar,children:Kd(p.displayName)}),jsx("p",{style:y.vetName,children:p.credentials?`${p.displayName}, ${p.credentials}`:p.displayName}),v&&s?jsx("div",{style:y.pills,children:jsx("span",{style:y.pill,"data-testid":"televet-vet-licensed",children:H(m.licensedPillTemplate,{state:s})})}):null,p.rating!==null&&p.ratingCount!==null?jsx("p",{style:y.vetRating,"data-testid":"televet-vet-rating",children:`\u2605 ${String(p.rating)} \xB7 ${String(p.ratingCount)} ${m.reviewsLabel}`}):null,p.bio?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?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=>jsx(ve,{height:48},c))}):i?jsx(le,{title:m.slotsErrorTitle,actionLabel:m.retryCta,onAction:f,testID:"televet-slots-error"}):t.length===0?jsx("div",{"data-testid":"televet-slots-empty",children: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})}):jsxs(it,{headingRef:e,heading:m.timeHeading,testID:"televet-slots",children:[s==="expired"?jsx(ae,{message:m.holdExpired}):null,s==="taken"?jsx(ae,{message:m.slotTaken}):null,s==="failed"||s==="rate_limited"?jsx(ae,{message:m.confirmFailed,testID:"televet-slots-hold-failed"}):null,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})]}):jsx("div",{"data-testid":"televet-slots-unavailable",children: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=useMemo(()=>Pe(s),[s]),[d,u]=useState(false),f=H(m.issuesTitleTemplate,{pet:t??m.petFallback});return jsxs(it,{headingRef:e,heading:f,lead:m.issuesHint,testID:"televet-booking-issues",footer:jsx(B,{label:m.continueCta,kind:"primary",size:"lg",onPress:()=>{if(r.length===0){u(true);return}l();},testID:"televet-issues-next"}),children:[jsx("div",{role:"group","aria-label":m.issuesFormLabel,style:a.chipRow,children:n.map(y=>{let p=r.includes(y.id);return jsx(Mm,{label:y.label,on:p,onPress:()=>{u(false),i(y.id);},testID:`televet-issue-${y.id}`},y.id)})}),d&&r.length===0?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=useMemo(()=>Pe(i),[i]),s=Br();return 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?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: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=useMemo(()=>Pe(y),[y]),c=useId(),v=`${c}-reason-field`,b=`${c}-reason-help`,[C,E]=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 jsxs(it,{headingRef:e,heading:R,lead:m.describeHelpLong,leadId:b,testID:"televet-booking-reason",scrollTestID:"televet-booking-reason-scroll",footer:jsx(B,{label:m.continueCta,kind:"primary",size:"lg",disabled:!w,loading:f,onPress:l,testID:"televet-reason-next"}),children:[jsxs("div",{style:p.field,children:[jsx("label",{htmlFor:v,style:p.fieldLabel,children:m.describeFieldLabel}),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?jsx(ae,{message:m.reasonTooLong}):null,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?jsx(Hr,{headingRef:e,pets:n.pets,isPending:n.loading,isError:n.error!==null,onRetry:()=>{n.refresh();},onAddPet:r,selectedId:null,onSelect:i}):jsx(Dm,{petRef:t})}o(Qd,"TelevetVisitSimulator");function Dm({petRef:e}){let t=Y(),n=ud(e);return jsx("div",{style:{...t.stepFill,...t.scrollBody},"data-testid":"televet-simulator",children:jsxs("div",{style:t.list,children:[jsx(le,{title:De.title}),jsx(B,{label:De.create,onPress:n.create,kind:"secondary",disabled:n.busy,testID:"televet-simulator-create"}),n.visitLine!==null?jsxs(Fragment,{children:[jsx("p",{style:t.stateMessage,"data-testid":"televet-simulator-visit",children:n.visitLine}),cd.map(r=>jsx(B,{label:De.advance[r],onPress:()=>n.advance(r),kind:"secondary",disabled:n.busy,testID:`televet-simulator-advance-${r}`},r)),jsx("p",{style:t.stateMessage,children:De.eventsNote}),pd.map(r=>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"?jsx(ae,{message:n.line.text,testID:"televet-simulator-error"}):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=useMemo(()=>Pe(i),[i]),s=t??m.petFallback,a=`${useId()}-where-state`,d=n.otherSelected,u=jsxs("div",{style:l.field,children:[jsx("label",{htmlFor:a,style:l.fieldLabel,children:m.whereWhichState}),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:[jsx("option",{value:"",disabled:true,children:m.whereWhichState}),Ri.filter(f=>f.code!==n.hostPlace?.code).map(f=>jsx("option",{value:f.code,children:f.name},f.code))]}),n.hostPlace===null&&n.otherPlace?.meta?jsx("p",{style:l.note,"data-testid":"televet-where-other-meta",children:n.otherPlace.meta}):null]});return jsxs(it,{headingRef:e,heading:H(m.whereTitleTemplate,{pet:s}),lead:H(m.whereLeadTemplate,{pronoun:m.wherePronounFallback}),testID:"televet-booking-where",footer:jsx(B,{label:m.continueCta,kind:"primary",size:"lg",disabled:!n.canContinue,onPress:r,testID:"televet-where-next"}),children:[n.hostPlace?jsxs("div",{role:"radiogroup","aria-label":H(m.whereFormLabelTemplate,{pet:s}),style:{...l.options,...l.optionsStack},children:[jsx(Rt,{title:n.hostPlace.name,meta:n.hostPlace.meta,selected:!d,onPress:n.pickHost,testID:"televet-where-host"}),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?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=useMemo(()=>Pe(d),[d]),f=m.emergencyCheck,y=m.emergency.lede;return jsxs(it,{headingRef:e,heading:H(f.titleTemplate,{pet:t??m.petFallback}),lead:f.lead,testID:"televet-booking-emergency",footer:jsx(B,{label:m.continueCta,kind:"primary",size:"lg",disabled:n!=="none",onPress:i,testID:"televet-emergency-next"}),children:[jsx("ul",{style:u.signs,"data-testid":"televet-emergency-signs",children:f.signs.map(p=>jsx("li",{children:p},p))}),jsxs("div",{role:"radiogroup","aria-label":f.legend,style:u.options,children:[jsx(Rt,{title:f.noneCta,selected:n==="none",onPress:()=>r("none"),testID:"televet-emergency-none"}),jsx(Rt,{title:f.someCta,selected:n==="some",onPress:()=>r("some"),testID:"televet-emergency-some"})]}),n==="some"?jsxs("div",{role:"alert",style:u.emergencyBanner,"data-testid":"televet-emergency-panel",children:[jsx(jr,{style:u.emergencyTitle,children:m.emergency.bannerTitle}),jsx("p",{style:u.emergencyLede,children:y}),jsx(Vt,{petName:t,primaryVet:s,onFindEmergencyVet:a,testIDPrefix:"televet-emergency"}),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(),_=useMemo(()=>Pe(I),[I]),P=ke(r),A=St(),V=A.pets,j=V.length,ee=useMemo(()=>({ownedPetCount:j,withIssues:true}),[j]),[G,K]=useReducer((ce,zu)=>ri(ce,zu,ee),void 0,()=>ti({ownedPetCount:0,withIssues:true},{petId:t??null,state:n??null})),L=useCallback(ce=>K(ce),[]),[oe,se]=useState(""),[me,be]=useState(null),[$e,X]=useState(null),[Be,ct]=useState(false),[Ut,rr]=useState(false),[gn,$]=useState([]),Ke=useMemo(()=>td(),[]),Ee=Zs({media:gn,controller:P,transport:Ke}),[_e,At]=useState(null),[Pu,Ru]=useState(null),{draft:z}=G,de=ii(G),wl=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=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;useEffect(()=>{or&&!z.state&&!ft.whereTouched.current&&L({type:"patch",patch:{state:or}});},[or,z.state,L]),useEffect(()=>{t&&!z.petId&&L({type:"patch",patch:{petId:t}});},[t,z.petId,L]);let Zr=V.length===1?V[0]?.petRef??null:null;useEffect(()=>{Zr&&!z.petId&&L({type:"patch",patch:{petId:Zr}});},[Zr,z.petId,L]);let Bl=useRef(de);Bl.current=de;let Ll=useRef(z.petId);Ll.current=z.petId;let Nl=useRef(0);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;useEffect(()=>{eo&&!z.clinicianId&&L({type:"patch",patch:{clinicianId:eo}});},[eo,z.clinicianId,L]);let Qe=useRef(null),Fl=useRef(false);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:useCallback(ce=>L({type:"goTo",step:ce}),[L]),releaseSlot: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 jsx("div",{style:{...T.screen,...S},"data-testid":w??"televet-booking",children: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 jsx(wi.Provider,{value:x,children:jsx(rl.Provider,{value:{canGoBack:Wl,onBack:Ul},children:jsxs("div",{style:{...T.screen,...S},"data-testid":w??"televet-booking",children:[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?jsx(Qd,{headingRef:Qe,petId:z.petId,roster:A,onAddPet:s,onPickPet:ce=>L({type:"patch",patch:{petId:ce}})}):zl?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"?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"?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"?jsx("div",{style:T.stepFill,"data-testid":"televet-booking-booked",children:_e?jsxs(Fragment,{children:[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}:{}}),jsx($n,{shortfall:Ee.bookedShortfall(_e),testIDPrefix:"televet-booked"})]}):null}):de==="clinician"&&Hl?jsx(Ad,{state:jl,cause:Du,locationStatus:y,...f?{onRequestLocation:f}:{},onRetry:()=>Le.refetch(),stateInterest:Ol,...E?{renderUnavailable:E}:{}}):de==="clinician"?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"?jsx(Gd,{headingRef:Qe,petName:Oe(V,z.petId),chips:ft.issueChips,selected:ft.concernIds,onToggle:ft.toggleConcern,onNext:()=>L({type:"next"})}):de==="reason"?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"?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"?jsx(eu,{headingRef:Qe,petName:Xr,where:Qr,onNext:()=>L({type:"next"})}):de==="emergency"?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}):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]=useState(0),[i,l]=useState(pu),s=useRef(null);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=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]=useState(null),a=l===e,[d]=useState(Ur);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=useCallback(()=>{s(null),n();},[n]);return d?a?jsx(Jm,{consultId:e,controller:t,onLeave:u,style:r},e):jsx(yu,{onContinue:()=>s(e),onDecline:n,style:r}):jsxs("div",{style:{...i.stepFill,...r},"data-testid":"televet-join-call-unavailable",children:[jsx(ae,{message:Xn}),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=`${useId()}-recording-notice`,a=useRef(null);return useEffect(()=>{let d=a.current;if(!d)return;let u=d.ownerDocument.activeElement;u!==null&&u!==d.ownerDocument.body||d.focus();},[]),jsx("div",{style:{...l.stepFill,...i},children: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:[jsx("p",{id:s,style:l.stateTitle,children:lt.recordingNoticeTitle}),jsx(B,{label:lt.recordingNoticeCta,kind:"primary",loading:n,onPress:()=>e?.(),testID:"everfur-vet-call-recording-continue"}),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]=useState(null),[y,p]=useState(false),c=d!==null;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]=useState(null);useEffect(()=>{if(d===null)return;let R=d.roomUrl;return iu(R),b(d),()=>{lu(R);}},[d]);let C=s.status==="joining",[E,h]=useState(false);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 jsxs("div",{style:{...i.stepFill,...r},"data-testid":"televet-join-refused",children:[jsx(ae,{message:x,testID:"televet-join-refused-message"}),du(R)&&s.status==="refused"?jsx(B,{label:m.retryCta,kind:"primary",onPress:a,testID:"televet-join-retry"}):null,jsx(B,{label:lt.leaveCta,kind:"secondary",onPress:n,testID:"televet-join-leave"})]})}if(d===null||u===null||v!==d)return jsx(yu,{busy:true,declineHeld:S,onDecline:n,style:r});let{EverfurVetCall:w}=u;return jsx(w,{roomUrl:d.roomUrl,token:d.token,onLeave:n,renderUnavailable:()=>jsxs("div",{style:i.stepFill,"data-testid":"televet-join-call-unavailable",children:[jsx(ae,{message:Xn}),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]=useState(()=>Date.now());return 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]=useState(()=>({availability:r?"pending":"dark",threads:[],isPending:r,error:null})),[s,a]=useState(0);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=useCallback(()=>a(u=>u+1),[]);return 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]=useState([]),[a,d]=useState("loading"),[u,f]=useState(false),[y,p]=useState(false),[c,v]=useState(n.ownerCanStart===false),[b,C]=useState(false),[E,h]=useState(null),[S,w]=useState(0),[R,x]=useState(0),T=useRef(true),I=useRef(false),_=useRef(false),P=useRef(r);P.current=r,useEffect(()=>(T.current=true,()=>{T.current=false;}),[]),useEffect(()=>{n.ownerCanStart===false&&v(true);},[n.ownerCanStart]),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=useRef(null);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=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=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=useCallback(()=>x(K=>K+1),[]),G=e?.sendVetMessage!==void 0&&!c;return 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]=useState(()=>({status:n?"loading":"absent",summary:null})),[l,s]=useState(0);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=useCallback(()=>s(d=>d+1),[]);return 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]=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 jsxs("form",{onSubmit:S=>{S.preventDefault(),E();},"aria-label":F.cancelConfirmCta,noValidate:true,style:s.form,"data-testid":"televet-visit-cancel-form",children:[jsx("p",{style:s.formTitle,children:b.length>0?H(F.cancelConfirmTitleTemplate,{pet:b}):F.cancelConfirmTitle}),h.length>0?jsx("dl",{style:s.kv,"data-testid":"televet-visit-cancel-summary",children:h.map(S=>jsxs("div",{style:s.kvRow,children:[jsx("dt",{style:s.kvLabel,children:S.label}),jsx("dd",{style:s.kvValue,children:S.value})]},S.label))}):null,e.status==="ready"?jsx("div",{style:s.notice,"data-testid":"televet-visit-cancel-terms",children:jsx("p",{style:s.note,children:e.summary})}):e.status==="loading"?jsx("div",{role:"status",style:s.notice,children:jsx("p",{style:s.note,children:F.loadingCancellationTerms})}):jsxs("div",{role:"alert",style:{...s.notice,...s.noticeDanger},"data-testid":"televet-visit-cancel-terms-error",children:[jsx("p",{style:s.note,children:F.cancellationTermsUnavailable}),jsx(B,{label:F.retry,kind:"secondary",fullWidth:false,onPress:l})]}),jsxs("div",{role:"radiogroup","aria-label":`${F.cancellationReasonLabel} ${F.cancellationReasonOptional}`,style:s.reasons,"data-testid":"televet-visit-cancel-reason",children:[jsxs("p",{style:s.labelRow,children:[jsx("span",{style:s.label,children:F.cancellationReasonLabel}),jsx("span",{style:s.labelNote,"data-testid":"televet-visit-cancel-optional",children:F.cancellationReasonOptional})]}),C.map(S=>jsxs("div",{style:s.reasons,children:[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?jsxs("div",{style:s.hint,"data-testid":"televet-visit-cancel-time-hint",children:[jsx("span",{children:F.cancelWhyTimeHint}),y?jsx(B,{label:F.cancelMoveInstead,kind:"quiet",fullWidth:false,onPress:y,testID:"televet-visit-cancel-move"}):null]}):null]},S.id))]}),n?jsx("div",{role:"alert",style:{...s.notice,...s.noticeDanger},"data-testid":"televet-visit-cancel-failed",children:jsx("p",{style:s.note,children:n})}):null,jsxs("div",{style:s.actions,children:[jsx(B,{label:F.cancelDismissCta,kind:"secondary",fullWidth:false,disabled:t,onPress:i,testID:"televet-visit-cancel-keep"}),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 jsxs("section",{style:r.panel,"data-testid":"televet-messages-card",children:[jsx("div",{style:r.panelHeader,children:jsx(n,{style:r.panelTitle,children:U.messagesTitle})}),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 jsx("li",{style:{...r.row,...a===0?r.rowFirst:null},children: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:[jsxs("span",{style:i.rowMain,children:[jsx("span",{style:r.rowTitle,children:Ue(Wt(d))}),s.lastMessage?jsx("span",{style:i.preview,children:oy(s.lastMessage)}):null]}),jsxs("span",{style:i.rowEnd,children:[jsx("span",{style:r.rowMeta,children:vu(s.lastMessageAt)}),s.unreadCount>0?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
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=useMemo(()=>fn(p),[p]),v=useMemo(()=>mn(p),[p]),b=ge(),C=ie(b),E=ie(ut(b)),h=ke(e),[S,w]=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]=useState({status:"idle"}),[j,ee]=useState(null),G=R.data??[],K=gu(G.some($=>!Sn.has($.status))),L=f??K,{upcoming:oe,past:se}=useMemo(()=>On(G,L),[G,L]),me=useRef(null),be=useRef(null),$e=useRef(null),X=useRef(null),Be=useRef(u),ct=!(R.enabled&&R.isPending);useEffect(()=>{Be.current&&be.current?.focus();},[]),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 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 jsxs("div",{ref:me,style:{...c.screen,...y},"data-testid":"televet-visits",children:[jsx("div",{style:a?c.topBar:{...c.topBar,...c.topBarStart},children:a?jsx("button",{type:"button",onClick:i,"aria-label":sy,style:c.iconButton,"data-testid":"televet-visits-close",children:jsx(uy,{})}):jsx("button",{type:"button",onClick:i,style:c.textButton,"data-testid":"televet-visits-back",children:dy})}),jsx(C,{style:c.pageTitle,"data-testid":"televet-visits-title",children:F.pageTitle}),j?jsxs("div",{role:"status",style:c.notice,"data-testid":"televet-visits-cancel-receipt",children:[jsx("p",{style:c.noticeTitle,children:j.pet&&j.vet?H(F.cancelledTemplate,{pet:j.pet,vet:j.vet}):F.cancelledTitle}),j.value.summary?jsx("p",{style:c.note,children:j.value.summary}):null,jsx("p",{style:c.note,children:j.value.feeRecorded?F.cancellationFeeRecorded:F.cancellationFeeNotRecorded})]}):null,r?jsx(ly,{title:oe.length>0?F.bookAnotherTitle:F.bookCardTitle,onBook:r,styles:c}):null,R.enabled&&R.isPending?jsxs("section",{style:c.panel,children:[jsx(vl,{Title:E,title:F.pastTitle,count:null,styles:c,headingRef:be}),jsx("div",{role:"progressbar","aria-label":F.loading,"aria-busy":"true",style:c.skeletons,"data-testid":"televet-visits-loading",children:[0,1,2].map($=>jsx(ve,{height:56},$))})]}):R.isError&&R.data===null?jsx(Fragment,{children:jsxs("div",{ref:X,role:"alert",tabIndex:-1,style:{...c.notice,...c.noticeDanger},"data-testid":"televet-visits-error",children:[jsx("p",{style:c.noticeTitle,children:F.loadErrorTitle}),jsx("p",{style:c.note,"data-testid":"televet-visits-error-body",children:F.loadErrorBody}),jsx(B,{label:F.retry,kind:"secondary",fullWidth:false,onPress:()=>R.refetch()})]})}):jsxs(Fragment,{children:[oe.length>0?jsx("div",{style:c.skeletons,"data-testid":"televet-visits-upcoming",children:oe.map(($,Ke)=>jsxs("section",{style:c.panel,children:[jsx(vl,{Title:E,title:F.upcomingTitle,count:null,styles:c,...Ke===0?{headingRef:$e}:{},pill:$.status==="scheduled"?F.bookedPill:jo($.status)}),jsx("ul",{"aria-label":F.upcomingTitle,style:c.list,children:gn($,0)})]},$.consultId))}):null,_&&l&&I.threads.length>0?jsx(bu,{threads:I.threads,pets:T,Title:E,styles:c,threadStyles:v,onOpen:l}):null,jsxs("section",{style:c.panel,"data-testid":"televet-visits-past",children:[jsx(vl,{Title:E,title:F.pastTitle,count:null,styles:c,...oe.length===0?{headingRef:$e}:{}}),G.length===0?jsxs("div",{style:c.empty,"data-testid":"televet-visits-empty",children:[jsx("p",{style:c.noticeTitle,children:F.emptyTitle}),jsx("p",{style:c.note,children:F.emptyBody})]}):se.length===0?null:jsx("ul",{"aria-label":F.pastTitle,style:c.list,children:se.map(($,Ke)=>gn($,Ke))})]})]}),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 jsxs("section",{style:n.panel,"data-testid":"televet-visits-book-card",children:[jsx("p",{style:n.panelTitle,children:e}),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 jsxs("div",{style:r.panelHeader,children:[jsx(e,{style:r.panelTitle,...i?{ref:i,tabIndex:-1}:{},children:t}),n===null?null:jsx("span",{style:{...r.pill,...r.pillLine},children:n}),l?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=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=jsxs("div",{style:{...i.rowHead,width:"100%"},children:[jsxs("div",{style:i.visitMain,children:[jsx("p",{style:i.rowTitle,children:V}),jsx("p",{style:i.rowMeta,children:P})]}),w?jsx("span",{style:{...i.pill,...i.pillLine},"data-testid":`televet-visits-status-${T}`,children:w}):null]});return jsx("li",{style:{...i.row,...e?i.rowFirst:null},"data-testid":`televet-visits-row-${T}`,children:E?jsx("button",{type:"button",onClick:E,style:b.rowButton,"data-testid":`televet-visits-summary-${T}`,children:K}):K})}return jsxs("li",{style:{...i.row,...i.rowFirst,gap:16},"data-testid":`televet-visits-row-${T}`,children:[jsxs("div",{style:i.visit,children:[G?jsxs("div",{"aria-hidden":"true",style:i.dateTile,children:[jsx("span",{style:i.dateTileSmall,children:G.weekday}),jsx("span",{style:i.dateTileDay,children:G.day}),jsx("span",{style:i.dateTileSmall,children:G.month})]}):null,jsxs("div",{style:i.visitMain,children:[jsx("p",{style:i.visitTitle,children:V}),jsx("p",{style:i.visitMeta,children:P}),j?jsx("p",{style:i.visitMeta,children:j}):null,w&&t.status!=="scheduled"?jsx("span",{style:i.note,"data-testid":`televet-visits-status-${T}`,children:w}):null]})]}),jsxs("div",{style:i.actions,children:[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?jsx(B,{label:F.rescheduleCta,kind:"quiet",fullWidth:false,onPress:()=>u(t),testID:`televet-visits-reschedule-${T}`}):null,x?jsx(B,{label:F.cancelCta,kind:"quiet",fullWidth:false,disabled:s,onPress:f,testID:`televet-visits-cancel-${T}`}):null]}),C?jsx("button",{type:"button",onClick:C,style:b.link,"data-testid":`televet-visits-late-${T}`,children:Se(U.runningLateTemplate,{vet:A??fl})}):null,_?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?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 jsx("svg",{"aria-hidden":"true",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",children: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=useMemo(()=>fn(d),[d]),f=useMemo(()=>mn(d),[d]),y=ie(ge()),p=ke(i),c=cl(p,e,{ownerCanStart:r}),[v,b]=useState(""),C=useId(),E=useId(),h=useRef(null),S=n?.trim()||gy(c.messages),w=Kr(S),R=c.messages[c.messages.length-1]?.messageId;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 jsxs("div",{style:{...u.screen,...a},"data-testid":"televet-vet-thread",children:[jsx("div",{style:{...u.topBar,...u.topBarStart},children:jsx("button",{type:"button",onClick:l,style:u.textButton,"data-testid":"televet-vet-thread-back",children:vy})}),jsxs("div",{style:f.head,children:[jsxs("div",{style:f.headMain,children:[jsx(y,{style:u.pageTitle,children:Ue(Wt(t))}),S?jsx("p",{style:f.meta,children:S}):null]}),s?jsx(B,{label:U.bookVisitWeb,kind:"secondary",fullWidth:false,onPress:s,testID:"televet-vet-thread-book"}):null]}),c.status==="loading"?jsxs("div",{role:"progressbar","aria-label":U.loading,"aria-busy":"true",style:u.skeletons,"data-testid":"televet-vet-thread-loading",children:[jsx(ve,{height:56}),jsx(ve,{height:56})]}):c.status==="error"?jsxs("div",{role:"alert",style:{...u.notice,...u.noticeDanger},"data-testid":"televet-vet-thread-error",children:[jsx("p",{style:u.noticeTitle,children:U.loadFailed}),jsx(B,{label:U.retry,kind:"secondary",fullWidth:false,onPress:c.retry})]}):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?jsx("li",{style:f.system,children:U.empty}):null,c.messages.map((T,I)=>jsx(yy,{message:T,previous:c.messages[I-1],vet:w,styles:f},T.messageId))]}),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?jsxs("form",{style:{display:"flex",flexDirection:"column",gap:8},onSubmit:T=>{T.preventDefault(),x();},children:[jsxs("div",{style:f.composer,children:[jsx("label",{htmlFor:C,style:f.srOnly,children:U.composerLabelWeb}),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"}),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"?jsx("p",{role:"alert",style:f.failure,"data-testid":"televet-vet-thread-failure",children:U.notSent}):null,jsx("p",{id:E,style:f.note,children:Ue(Se(U.composerNoteTemplate,{vet:w}))})]}):null,c.sendFailure==="vetWritesFirst"?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 jsxs(Fragment,{children:[l?jsx("li",{style:r.day,children:i}):null,e.role==="system"?jsx("li",{style:r.system,children:e.content}):jsxs("li",{style:{...r.item,...e.role==="owner"?r.itemMine:null},"data-testid":`televet-vet-thread-message-${e.messageId}`,children:[e.role==="vet"?jsxs("p",{style:{...r.who,margin:0},children:[jsx("span",{children:e.senderName??Ue(n)}),jsx("time",{dateTime:e.createdAt,style:r.time,children:dt(e.createdAt)})]}):null,e.content.length>0?jsx("p",{style:{...e.role==="owner"?r.bubbleMine:r.bubbleVet,margin:0},children:e.content}):null,s?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=useMemo(()=>fn(s),[s]),d=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 jsxs("div",{style:{...a.screen,...l},"data-testid":"televet-visit-summary",children:[jsx("div",{style:{...a.topBar,...a.topBarStart},children:jsx("button",{type:"button",onClick:n,style:a.textButton,"data-testid":"televet-visit-summary-back",children:Ty})}),jsxs("div",{style:d.headMain,children:[jsx(f,{style:a.pageTitle,children:S}),w?jsx("p",{style:d.meta,children:w}):null]}),c.status==="loading"?jsxs("div",{role:"progressbar","aria-label":U.loading,"aria-busy":"true",style:a.skeletons,"data-testid":"televet-visit-summary-loading",children:[jsx(ve,{height:96}),jsx(ve,{height:96})]}):c.status==="absent"?null:c.status==="pending"?jsx("div",{role:"status",style:a.notice,"data-testid":"televet-visit-summary-pending",children:jsx("p",{style:a.noticeTitle,children:U.summaryPending})}):c.status==="error"||C===null?jsxs("div",{role:"alert",style:{...a.notice,...a.noticeDanger},"data-testid":"televet-visit-summary-error",children:[jsx("p",{style:a.noticeTitle,children:U.loadFailed}),jsx(B,{label:U.retry,kind:"secondary",fullWidth:false,onPress:c.retry})]}):jsxs(Fragment,{children:[C.findingsText.trim().length>0?jsxs("section",{style:a.panel,children:[jsx(y,{style:a.panelTitle,children:Ue(Se(U.sawTitleTemplate,{vet:h}))}),jsxs("div",{style:a.panelHeader,children:[jsx("span",{style:d.label,children:U.summaryLabel}),jsx("span",{style:{...a.pill,...a.pillLine},children:Ue(Se(U.fromVetTemplate,{vet:h}))})]}),jsx("p",{style:d.body,children:C.findingsText})]}):null,C.nextStepsText.trim().length>0||C.actionItems.length>0?jsxs("section",{style:a.panel,"data-testid":"televet-visit-summary-plan",children:[jsxs("div",{style:a.panelHeader,children:[jsx(y,{style:a.panelTitle,children:Ue(Se(U.planTitleTemplate,{pet:Wt(b)}))}),jsx("span",{style:a.pill,children:U.wordForWord})]}),C.nextStepsText.trim().length>0?jsx("p",{style:d.body,children:C.nextStepsText}):null,C.actionItems.length>0?jsx("ol",{style:d.plan,children:C.actionItems.map((T,I)=>jsxs("li",{style:d.planItem,children:[jsx("b",{style:d.planNumber,children:String(I+1).padStart(2,"0")}),jsx("span",{style:d.body,children:`\u201C${T}\u201D`})]},`${String(I)}-${T}`))}):null]}):null,C.medications.length>0?jsxs("section",{style:a.panel,"data-testid":"televet-visit-summary-medications",children:[jsx(y,{style:a.panelTitle,children:U.fromThisVisitTitle}),jsx("ul",{style:a.list,children:C.medications.map((T,I)=>jsxs("li",{style:{...a.row,...I===0?a.rowFirst:null},children:[jsx("p",{style:a.rowTitle,children:hy(T)}),T.sig?jsx("p",{style:a.rowMeta,children:T.sig}):null]},`${String(I)}-${T.drug}`))})]}):null,E||x?jsxs("section",{style:a.panel,"data-testid":"televet-visit-summary-vet",children:[E?jsx("p",{style:a.panelTitle,children:E}):null,C.credentialsText?jsx("p",{style:a.rowMeta,children:C.credentialsText}):null,x?jsx(B,{label:Ue(Se(U.messageVetTemplate,{vet:h})),kind:"secondary",fullWidth:false,onPress:x,testID:"televet-visit-summary-message"}):null]}):null,i?jsx(B,{label:U.bookFollowUp,fullWidth:false,onPress:i,testID:"televet-visit-summary-book"}):null]}),c.status==="ready"&&C!==null?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]=useState(null),[v,b]=useState(null),{pets:C}=St(),E=M(),h=useMemo(()=>ky(E),[E]),S=ie(ge()),w=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 jsx("div",{style:{...a.stepFill,...l},"data-testid":"televet-reschedule-copy-unapproved"});if(!t)return 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=>jsx(ve,{height:48},T))});let x=Oe(C,t.petId);return jsxs("section",{style:{...a.screen,...l},"aria-label":m.rescheduleNavTitle,"data-testid":s??"televet-reschedule",children:[jsxs("div",{style:h.bar,children:[jsx("button",{type:"button",onClick:()=>r?.(),disabled:R,"aria-label":m.rescheduleKeepLabel,style:h.ring,"data-testid":"televet-reschedule-keep",children: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:jsx("path",{d:"M18 6 6 18M6 6l12 12"})})}),jsx("p",{style:h.label,children:m.rescheduleStepLabel})]}),jsxs("div",{style:h.head,children:[jsx(S,{style:h.title,children:H(m.rescheduleTitleTemplate,{pet:x??m.petFallback})}),jsxs("p",{style:h.now,"data-testid":"televet-reschedule-now",children:[jsx("span",{style:h.nowPill,children:m.rescheduleNowLabel}),jsx("s",{children:en(t.scheduledAt)})]})]}),p==="taken"?jsx(ae,{message:m.slotTaken}):null,p==="failed"?jsx(ae,{message:m.rescheduleFailed}):null,p==="unavailable"?jsx(ae,{message:m.bookingPausedTitle,testID:"televet-reschedule-unavailable"}):null,u.enabled?u.isPending?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=>jsx(ve,{height:48},T))}):u.isError?jsx(le,{title:m.slotsErrorTitle,actionLabel:m.retryCta,onAction:()=>u.refetch(),testID:"televet-reschedule-slots-error"}):(u.data??[]).length===0?jsx("div",{"data-testid":"televet-reschedule-empty",children:jsx(le,{title:m.noSlotsTitle})}):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"}):jsx("div",{"data-testid":"televet-reschedule-paused",children:jsx(le,{title:m.bookingPausedTitle})}),v?jsx("div",{style:h.footer,children: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 jsx(ds,{capability:"televet",style:t,...r!==void 0?{className:r}:{},...n?{renderPending:n}:{},children: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]=useReducer(wy,E??kl,X=>Object.freeze({stack:Object.freeze([X])})),T=R.stack[R.stack.length-1]??kl,I=R.stack.length,_=useRef(I),P=I<_.current;useEffect(()=>{_.current=I;},[I]);let[A,V]=useState(0),j=useCallback(()=>V(X=>X+1),[]),ee=useRef(0),G=useRef(I);G.current=I,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=useCallback(X=>{v==="browser"&&typeof window<"u"&&(ee.current+=1,window.history.pushState({efTelevet:G.current+1},"")),x({type:"push",screen:X});},[v]),L=useCallback(()=>{if(v==="browser"&&typeof window<"u"&&ee.current>0){ee.current-=1,window.history.go(-1);return}x({type:"pop"});},[v]),oe=useCallback(()=>C?C():jsx("div",{style:w.list,"data-testid":"televet-unavailable",children:at()?jsx(le,{title:m.bookingPausedTitle}):null}),[C,w.list]),se=useCallback(()=>{I>1?L():i?.();},[I,L,i]),me=useCallback(X=>x({type:"land",screen:X==="visits"?Ry:_y}),[]),be=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=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 jsx(Ay,{controller:n,onLand:me,style:S});case "booking":return be;case "visits":case "visit":return $e;case "reschedule":return jsx(Sl,{consult:T.consult,...n?{controller:n}:{},onRescheduled:()=>{j(),L();},onCancel:()=>L(),...S?{style:S}:{}});case "call":return 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 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 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 useEffect(()=>{l!=="pending"&&t(l);},[l,t]),jsxs("div",{role:"progressbar","aria-label":F.loading,"aria-busy":"true",style:{...r.screen,...r.list,...n},"data-testid":"televet-landing-loading",children:[jsx(ve,{height:72}),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=useMemo(()=>Fy(r),[r]),l=useMemo(()=>Fd(),[]),s=useCallback(()=>{l.dispatch()||t();},[l,t]),{dialogRef:a,onKeyDown:d,onCancel:u}=Fr(true,s,void 0,Ly),f=useMemo(()=>xl(e),[e]);return jsx("dialog",{ref:a,onKeyDown:d,onCancel:u,"aria-label":m.visit.title,"data-testid":"everfur-televet-dialog",style:i,children:jsx(ji.Provider,{value:l,children: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");export{fm as BACK_LABEL,yr as CANCELLATION_POLICY_VERSION_MAX,vr as CANCEL_REASON_MAX,va as CONSULT_KINDS,Mt as CONSULT_MINUTES,ga as CONSULT_STATUSES,Pl as EverfurTelevet,il as EverfurTelevetBooking,Ny as EverfurTelevetDialog,xu as EverfurTelevetFlow,Sl as EverfurTelevetReschedule,gr as MEDIA_REFS_MAX,Ct as NO_MEDIA_SHORTFALL,vt as REASON_TEXT_MAX,st as TELEVET_BOOKING_BASE,Q as TELEVET_BOOKING_COPY,m as TELEVET_BOOKING_COPY_WEB,Zt as TELEVET_BOOKING_STEPS,Fa as TELEVET_CONSULT_PAGE_LIMIT,qt as TELEVET_EMERGENCY_EXITS_WEB,Mo as TELEVET_JOIN_CLOSES_MINUTES_AFTER,Fo as TELEVET_JOIN_OPENS_MINUTES_BEFORE,hr as TELEVET_MESSAGE_THREADS_PATH,Sn as TERMINAL_CONSULT_STATUSES,zi as TelevetBookedScreen,Ki as TelevetBookingChrome,ml as TelevetCancelVisitForm,Rd as TelevetClinicianEmptyState,Gn as TelevetConsentCheckbox,Ji as TelevetDayStrip,Pd as TelevetEarlyEmergency,Vt as TelevetEmergencyExits,$f as TelevetEntitlementInterestState,Yi as TelevetIntakeMedia,sl as TelevetJoinScreen,$n as TelevetMediaDropNotice,Yn as TelevetSlotPicker,Oi as TelevetStateInterestAction,el as TelevetSummaryCard,Pt as TelevetSummaryRow,hl as TelevetVetThreadScreen,Tl as TelevetVisitSummaryScreen,bl as TelevetVisitsScreen,U as VET_MESSAGES_COPY,To as VET_MESSAGE_CONTENT_MAX,En as VET_MESSAGE_PAGE_DEFAULT,wa as VET_MESSAGE_PAGE_MAX,ai as attestation,Fn as canConfirm,zo as canManageTelevetVisit,Ro as createTelevetBookingController,ii as currentStep,Ms as emptyTelevetDraft,ef as formatVisitRange,Hs as formatWhen,Dn as formatWhenWithDay,ni as hasPreviousStep,ti as initialTelevetBookingState,Ar as isHoldExpired,yi as isMediaShortfallEmpty,Nn as isSkipped,at as isTelevetBookingCopyReady,kn as isVetMessagesDark,ko as isVetThreadVetFirst,Ne as isWellFormedStateCode,Or as mediaShortfallFromUnsentPicks,fo as parseVetCallCredential,On as splitTelevetVisits,li as televetBookingKey,ri as televetBookingReducer,yt as televetBookingRefusal,Na as televetCancelCall,Nd as televetConsultCalendarKey,Tr as televetConsultCall,zr as televetDaysFromSlots,pi as televetEmptyRosterCause,ci as televetEmptyRosterView,Oa as televetHoldCall,La as televetJoinCall,Vo as televetJoinDecision,Do as televetJoinOpensAtMs,gi as televetMediaShortfallLines,Ba as televetRescheduleCall,xl as televetScreenForRequest,ho as televetThreadMessagesCall,Ra as televetThreadReadCall,_a as televetVisitSummaryCall,xi as useEarlyTriage,Pi as useStateInterest,Lo as useTelevetBookConsult,pp as useTelevetBookingAvailable,ke as useTelevetBookingController,Io as useTelevetBookingEntitlement,_n as useTelevetCancellationPolicy,Ao as useTelevetClinicians,In as useTelevetHoldSlot,al as useTelevetJoin,Oo as useTelevetNextSlot,No as useTelevetRescheduleConsult,wn as useTelevetSlots,Rn as useTelevetStatePolicy,cl as useVetThread,ul as useVetThreads,pl as useVisitSummary,Ma as validateBookingBody,mo as vetCallJoinReason,yo as vetCallJoinRefusal,tr as vetThreadPetRef,of as withUnsentPicks};
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=jsxs("div",{style:{...i.rowHead,width:"100%"},children:[jsxs("div",{style:i.visitMain,children:[jsx("p",{style:i.rowTitle,children:V}),jsx("p",{style:i.rowMeta,children:P})]}),w?jsx("span",{style:{...i.pill,...i.pillLine},"data-testid":`televet-visits-status-${T}`,children:w}):null]});return jsx("li",{style:{...i.row,...e?i.rowFirst:null},"data-testid":`televet-visits-row-${T}`,children:E?jsx("button",{type:"button",onClick:E,style:b.rowButton,"data-testid":`televet-visits-summary-${T}`,children:K}):K})}return jsxs("li",{style:{...i.row,...i.rowFirst,gap:16},"data-testid":`televet-visits-row-${T}`,children:[jsxs("div",{style:i.visit,children:[G?jsxs("div",{"aria-hidden":"true",style:i.dateTile,children:[jsx("span",{style:i.dateTileSmall,children:G.weekday}),jsx("span",{style:i.dateTileDay,children:G.day}),jsx("span",{style:i.dateTileSmall,children:G.month})]}):null,jsxs("div",{style:i.visitMain,children:[jsx("p",{style:i.visitTitle,children:V}),jsx("p",{style:i.visitMeta,children:P}),j?jsx("p",{style:i.visitMeta,children:j}):null,w&&t.status!=="scheduled"?jsx("span",{style:i.note,"data-testid":`televet-visits-status-${T}`,children:w}):null]})]}),jsxs("div",{style:i.actions,children:[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?jsx(B,{label:F.rescheduleCta,kind:"quiet",fullWidth:false,onPress:()=>u(t),testID:`televet-visits-reschedule-${T}`}):null,x?jsx(B,{label:F.cancelCta,kind:"quiet",fullWidth:false,disabled:s,onPress:f,testID:`televet-visits-cancel-${T}`}):null]}),C?jsx("button",{type:"button",onClick:C,style:b.link,"data-testid":`televet-visits-late-${T}`,children:Se(U.runningLateTemplate,{vet:A??fl})}):null,_?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?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 jsx("svg",{"aria-hidden":"true",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",children: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=useMemo(()=>fn(d),[d]),f=useMemo(()=>mn(d),[d]),y=ie(ge()),p=ke(i),c=cl(p,e,{ownerCanStart:r}),[v,b]=useState(""),C=useId(),E=useId(),h=useRef(null),S=n?.trim()||gy(c.messages),w=Kr(S),R=c.messages[c.messages.length-1]?.messageId;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 jsxs("div",{style:{...u.screen,...a},"data-testid":"televet-vet-thread",children:[jsx("div",{style:{...u.topBar,...u.topBarStart},children:jsx("button",{type:"button",onClick:l,style:u.textButton,"data-testid":"televet-vet-thread-back",children:vy})}),jsxs("div",{style:f.head,children:[jsxs("div",{style:f.headMain,children:[jsx(y,{style:u.pageTitle,children:Ue(Wt(t))}),S?jsx("p",{style:f.meta,children:S}):null]}),s?jsx(B,{label:U.bookVisitWeb,kind:"secondary",fullWidth:false,onPress:s,testID:"televet-vet-thread-book"}):null]}),c.status==="loading"?jsxs("div",{role:"progressbar","aria-label":U.loading,"aria-busy":"true",style:u.skeletons,"data-testid":"televet-vet-thread-loading",children:[jsx(ve,{height:56}),jsx(ve,{height:56})]}):c.status==="error"?jsxs("div",{role:"alert",style:{...u.notice,...u.noticeDanger},"data-testid":"televet-vet-thread-error",children:[jsx("p",{style:u.noticeTitle,children:U.loadFailed}),jsx(B,{label:U.retry,kind:"secondary",fullWidth:false,onPress:c.retry})]}):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?jsx("li",{style:f.system,children:U.empty}):null,c.messages.map((T,I)=>jsx(yy,{message:T,previous:c.messages[I-1],vet:w,styles:f},T.messageId))]}),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?jsxs("form",{style:{display:"flex",flexDirection:"column",gap:8},onSubmit:T=>{T.preventDefault(),x();},children:[jsxs("div",{style:f.composer,children:[jsx("label",{htmlFor:C,style:f.srOnly,children:U.composerLabelWeb}),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"}),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"?jsx("p",{role:"alert",style:f.failure,"data-testid":"televet-vet-thread-failure",children:U.notSent}):null,jsx("p",{id:E,style:f.note,children:Ue(Se(U.composerNoteTemplate,{vet:w}))})]}):null,c.sendFailure==="vetWritesFirst"?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 jsxs(Fragment,{children:[l?jsx("li",{style:r.day,children:i}):null,e.role==="system"?jsx("li",{style:r.system,children:e.content}):jsxs("li",{style:{...r.item,...e.role==="owner"?r.itemMine:null},"data-testid":`televet-vet-thread-message-${e.messageId}`,children:[e.role==="vet"?jsxs("p",{style:{...r.who,margin:0},children:[jsx("span",{children:e.senderName??Ue(n)}),jsx("time",{dateTime:e.createdAt,style:r.time,children:dt(e.createdAt)})]}):null,e.content.length>0?jsx("p",{style:{...e.role==="owner"?r.bubbleMine:r.bubbleVet,margin:0},children:e.content}):null,s?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=useMemo(()=>fn(s),[s]),d=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 jsxs("div",{style:{...a.screen,...l},"data-testid":"televet-visit-summary",children:[jsx("div",{style:{...a.topBar,...a.topBarStart},children:jsx("button",{type:"button",onClick:n,style:a.textButton,"data-testid":"televet-visit-summary-back",children:Ty})}),jsxs("div",{style:d.headMain,children:[jsx(f,{style:a.pageTitle,children:S}),w?jsx("p",{style:d.meta,children:w}):null]}),c.status==="loading"?jsxs("div",{role:"progressbar","aria-label":U.loading,"aria-busy":"true",style:a.skeletons,"data-testid":"televet-visit-summary-loading",children:[jsx(ve,{height:96}),jsx(ve,{height:96})]}):c.status==="absent"?null:c.status==="pending"?jsx("div",{role:"status",style:a.notice,"data-testid":"televet-visit-summary-pending",children:jsx("p",{style:a.noticeTitle,children:U.summaryPending})}):c.status==="error"||C===null?jsxs("div",{role:"alert",style:{...a.notice,...a.noticeDanger},"data-testid":"televet-visit-summary-error",children:[jsx("p",{style:a.noticeTitle,children:U.loadFailed}),jsx(B,{label:U.retry,kind:"secondary",fullWidth:false,onPress:c.retry})]}):jsxs(Fragment,{children:[C.findingsText.trim().length>0?jsxs("section",{style:a.panel,children:[jsx(y,{style:a.panelTitle,children:Ue(Se(U.sawTitleTemplate,{vet:h}))}),jsxs("div",{style:a.panelHeader,children:[jsx("span",{style:d.label,children:U.summaryLabel}),jsx("span",{style:{...a.pill,...a.pillLine},children:Ue(Se(U.fromVetTemplate,{vet:h}))})]}),jsx("p",{style:d.body,children:C.findingsText})]}):null,C.nextStepsText.trim().length>0||C.actionItems.length>0?jsxs("section",{style:a.panel,"data-testid":"televet-visit-summary-plan",children:[jsxs("div",{style:a.panelHeader,children:[jsx(y,{style:a.panelTitle,children:Ue(Se(U.planTitleTemplate,{pet:Wt(b)}))}),jsx("span",{style:a.pill,children:U.wordForWord})]}),C.nextStepsText.trim().length>0?jsx("p",{style:d.body,children:C.nextStepsText}):null,C.actionItems.length>0?jsx("ol",{style:d.plan,children:C.actionItems.map((T,I)=>jsxs("li",{style:d.planItem,children:[jsx("b",{style:d.planNumber,children:String(I+1).padStart(2,"0")}),jsx("span",{style:d.body,children:`\u201C${T}\u201D`})]},`${String(I)}-${T}`))}):null]}):null,C.medications.length>0?jsxs("section",{style:a.panel,"data-testid":"televet-visit-summary-medications",children:[jsx(y,{style:a.panelTitle,children:U.fromThisVisitTitle}),jsx("ul",{style:a.list,children:C.medications.map((T,I)=>jsxs("li",{style:{...a.row,...I===0?a.rowFirst:null},children:[jsx("p",{style:a.rowTitle,children:hy(T)}),T.sig?jsx("p",{style:a.rowMeta,children:T.sig}):null]},`${String(I)}-${T.drug}`))})]}):null,E||x?jsxs("section",{style:a.panel,"data-testid":"televet-visit-summary-vet",children:[E?jsx("p",{style:a.panelTitle,children:E}):null,C.credentialsText?jsx("p",{style:a.rowMeta,children:C.credentialsText}):null,x?jsx(B,{label:Ue(Se(U.messageVetTemplate,{vet:h})),kind:"secondary",fullWidth:false,onPress:x,testID:"televet-visit-summary-message"}):null]}):null,i?jsx(B,{label:U.bookFollowUp,fullWidth:false,onPress:i,testID:"televet-visit-summary-book"}):null]}),c.status==="ready"&&C!==null?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]=useState(null),[v,b]=useState(null),{pets:C}=St(),E=M(),h=useMemo(()=>ky(E),[E]),S=ie(ge()),w=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 jsx("div",{style:{...a.stepFill,...l},"data-testid":"televet-reschedule-copy-unapproved"});if(!t)return 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=>jsx(ve,{height:48},T))});let x=Oe(C,t.petId);return jsxs("section",{style:{...a.screen,...l},"aria-label":m.rescheduleNavTitle,"data-testid":s??"televet-reschedule",children:[jsxs("div",{style:h.bar,children:[jsx("button",{type:"button",onClick:()=>r?.(),disabled:R,"aria-label":m.rescheduleKeepLabel,style:h.ring,"data-testid":"televet-reschedule-keep",children: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:jsx("path",{d:"M18 6 6 18M6 6l12 12"})})}),jsx("p",{style:h.label,children:m.rescheduleStepLabel})]}),jsxs("div",{style:h.head,children:[jsx(S,{style:h.title,children:H(m.rescheduleTitleTemplate,{pet:x??m.petFallback})}),jsxs("p",{style:h.now,"data-testid":"televet-reschedule-now",children:[jsx("span",{style:h.nowPill,children:m.rescheduleNowLabel}),jsx("s",{children:en(t.scheduledAt)})]})]}),p==="taken"?jsx(ae,{message:m.slotTaken}):null,p==="failed"?jsx(ae,{message:m.rescheduleFailed}):null,p==="unavailable"?jsx(ae,{message:m.bookingPausedTitle,testID:"televet-reschedule-unavailable"}):null,u.enabled?u.isPending?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=>jsx(ve,{height:48},T))}):u.isError?jsx(le,{title:m.slotsErrorTitle,actionLabel:m.retryCta,onAction:()=>u.refetch(),testID:"televet-reschedule-slots-error"}):(u.data??[]).length===0?jsx("div",{"data-testid":"televet-reschedule-empty",children:jsx(le,{title:m.noSlotsTitle})}):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"}):jsx("div",{"data-testid":"televet-reschedule-paused",children:jsx(le,{title:m.bookingPausedTitle})}),v?jsx("div",{style:h.footer,children: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 jsx(ds,{capability:"televet",style:t,...r!==void 0?{className:r}:{},...n?{renderPending:n}:{},children: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]=useReducer(wy,E??kl,X=>Object.freeze({stack:Object.freeze([X])})),T=R.stack[R.stack.length-1]??kl,I=R.stack.length,_=useRef(I),P=I<_.current;useEffect(()=>{_.current=I;},[I]);let[A,V]=useState(0),j=useCallback(()=>V(X=>X+1),[]),ee=useRef(0),G=useRef(I);G.current=I,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=useCallback(X=>{v==="browser"&&typeof window<"u"&&(ee.current+=1,window.history.pushState({efTelevet:G.current+1},"")),x({type:"push",screen:X});},[v]),L=useCallback(()=>{if(v==="browser"&&typeof window<"u"&&ee.current>0){ee.current-=1,window.history.go(-1);return}x({type:"pop"});},[v]),oe=useCallback(()=>C?C():jsx("div",{style:w.list,"data-testid":"televet-unavailable",children:at()?jsx(le,{title:m.bookingPausedTitle}):null}),[C,w.list]),se=useCallback(()=>{I>1?L():i?.();},[I,L,i]),me=useCallback(X=>x({type:"land",screen:X==="visits"?Ry:_y}),[]),be=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=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 jsx(Ay,{controller:n,onLand:me,style:S});case "booking":return be;case "visits":case "visit":return $e;case "reschedule":return jsx(Sl,{consult:T.consult,...n?{controller:n}:{},onRescheduled:()=>{j(),L();},onCancel:()=>L(),...S?{style:S}:{}});case "call":return 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 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 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 useEffect(()=>{l!=="pending"&&t(l);},[l,t]),jsxs("div",{role:"progressbar","aria-label":F.loading,"aria-busy":"true",style:{...r.screen,...r.list,...n},"data-testid":"televet-landing-loading",children:[jsx(ve,{height:72}),jsx(ve,{height:72})]})}o(Ay,"TelevetLandingScreen");var Pl=xu;var Ly=Object.freeze({escapeAtKeyDown:true});function Ny({request:e,onClose:t,onAddToCalendar:n,onPickMedia:r}){let i=M(),l=useMemo(()=>Fy(i),[i]),s=useMemo(()=>Fd(),[]),a=useCallback(()=>{s.dispatch()||t();},[s,t]),{dialogRef:d,onKeyDown:u,onCancel:f}=Fr(true,a,void 0,Ly),y=useMemo(()=>xl(e),[e]);return jsx("dialog",{ref:d,onKeyDown:u,onCancel:f,"aria-label":m.visit.title,"data-testid":"everfur-televet-dialog",style:l,children:jsx(ji.Provider,{value:s,children:jsx(Pl,{...e.petRef!==void 0?{petRef:e.petRef}:{},...e.usState!==void 0?{usState:e.usState}:{},initialScreen:y,onExit:t,...n?{onAddToCalendar:n}:{},...r?{onPickMedia:r}:{},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");export{fm as BACK_LABEL,yr as CANCELLATION_POLICY_VERSION_MAX,vr as CANCEL_REASON_MAX,va as CONSULT_KINDS,Mt as CONSULT_MINUTES,ga as CONSULT_STATUSES,Pl as EverfurTelevet,il as EverfurTelevetBooking,Ny as EverfurTelevetDialog,xu as EverfurTelevetFlow,Sl as EverfurTelevetReschedule,gr as MEDIA_REFS_MAX,Ct as NO_MEDIA_SHORTFALL,vt as REASON_TEXT_MAX,st as TELEVET_BOOKING_BASE,Q as TELEVET_BOOKING_COPY,m as TELEVET_BOOKING_COPY_WEB,Zt as TELEVET_BOOKING_STEPS,Fa as TELEVET_CONSULT_PAGE_LIMIT,qt as TELEVET_EMERGENCY_EXITS_WEB,Mo as TELEVET_JOIN_CLOSES_MINUTES_AFTER,Fo as TELEVET_JOIN_OPENS_MINUTES_BEFORE,hr as TELEVET_MESSAGE_THREADS_PATH,Sn as TERMINAL_CONSULT_STATUSES,zi as TelevetBookedScreen,Ki as TelevetBookingChrome,ml as TelevetCancelVisitForm,Rd as TelevetClinicianEmptyState,Gn as TelevetConsentCheckbox,Ji as TelevetDayStrip,Pd as TelevetEarlyEmergency,Vt as TelevetEmergencyExits,$f as TelevetEntitlementInterestState,Yi as TelevetIntakeMedia,sl as TelevetJoinScreen,$n as TelevetMediaDropNotice,Yn as TelevetSlotPicker,Oi as TelevetStateInterestAction,el as TelevetSummaryCard,Pt as TelevetSummaryRow,hl as TelevetVetThreadScreen,Tl as TelevetVisitSummaryScreen,bl as TelevetVisitsScreen,U as VET_MESSAGES_COPY,To as VET_MESSAGE_CONTENT_MAX,En as VET_MESSAGE_PAGE_DEFAULT,wa as VET_MESSAGE_PAGE_MAX,ai as attestation,Fn as canConfirm,zo as canManageTelevetVisit,Ro as createTelevetBookingController,ii as currentStep,Ms as emptyTelevetDraft,ef as formatVisitRange,Hs as formatWhen,Dn as formatWhenWithDay,ni as hasPreviousStep,ti as initialTelevetBookingState,Ar as isHoldExpired,yi as isMediaShortfallEmpty,Nn as isSkipped,at as isTelevetBookingCopyReady,kn as isVetMessagesDark,ko as isVetThreadVetFirst,Ne as isWellFormedStateCode,Or as mediaShortfallFromUnsentPicks,fo as parseVetCallCredential,On as splitTelevetVisits,li as televetBookingKey,ri as televetBookingReducer,yt as televetBookingRefusal,Na as televetCancelCall,Nd as televetConsultCalendarKey,Tr as televetConsultCall,zr as televetDaysFromSlots,pi as televetEmptyRosterCause,ci as televetEmptyRosterView,Oa as televetHoldCall,La as televetJoinCall,Vo as televetJoinDecision,Do as televetJoinOpensAtMs,gi as televetMediaShortfallLines,Ba as televetRescheduleCall,xl as televetScreenForRequest,ho as televetThreadMessagesCall,Ra as televetThreadReadCall,_a as televetVisitSummaryCall,xi as useEarlyTriage,Pi as useStateInterest,Lo as useTelevetBookConsult,pp as useTelevetBookingAvailable,ke as useTelevetBookingController,Io as useTelevetBookingEntitlement,_n as useTelevetCancellationPolicy,Ao as useTelevetClinicians,In as useTelevetHoldSlot,al as useTelevetJoin,Oo as useTelevetNextSlot,No as useTelevetRescheduleConsult,wn as useTelevetSlots,Rn as useTelevetStatePolicy,cl as useVetThread,ul as useVetThreads,pl as useVisitSummary,Ma as validateBookingBody,mo as vetCallJoinReason,yo as vetCallJoinRefusal,tr as vetThreadPetRef,of as withUnsentPicks};