@everfur/sdk 0.5.4 → 0.5.6

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 (105) hide show
  1. package/CHANGELOG.md +91 -0
  2. package/README.md +8 -8
  3. package/dist/{Chat-Dfjegpf2.d.cts → Chat-CTaTvrqS.d.cts} +20 -3
  4. package/dist/{Chat-DXDS-MiC.d.ts → Chat-Cx1uzrA-.d.ts} +20 -3
  5. package/dist/{DepthViews-ru9SaVXz.d.ts → DepthViews-BHYIBGnp.d.ts} +1 -1
  6. package/dist/{DepthViews-BhBA6qiu.d.cts → DepthViews-DlbKAz68.d.cts} +1 -1
  7. package/dist/{DepthViews-meuqwdBv.d.cts → DepthViews-DzQzEExo.d.cts} +1 -1
  8. package/dist/{DepthViews-DFODLIM2.d.ts → DepthViews-ur07Hq_P.d.ts} +1 -1
  9. package/dist/animations/index.d.cts +3 -3
  10. package/dist/animations/index.d.ts +3 -3
  11. package/dist/{attachments-DN0VDOBG.d.cts → attachments-6hmoUkvy.d.cts} +5 -5
  12. package/dist/{attachments-D3i4WG5V.d.ts → attachments-B_GAqTjr.d.ts} +2 -2
  13. package/dist/{attachments-hAjG4YGo.d.cts → attachments-KztjuqEm.d.cts} +2 -2
  14. package/dist/{attachments-Cnz4Zqxq.d.ts → attachments-wmvixnyA.d.ts} +5 -5
  15. package/dist/{bookingCopy-DP3k0iBn.d.cts → bookingCopy-BKSeqMDM.d.cts} +2 -2
  16. package/dist/{bookingCopy-Bu1pMPh1.d.ts → bookingCopy-CqWo_GyT.d.ts} +2 -2
  17. package/dist/{casesRepository-Bf8QDDPM.d.ts → casesRepository-B7Ah6oSZ.d.ts} +1 -1
  18. package/dist/{casesRepository-BIV6eQxW.d.cts → casesRepository-BDeWO1yJ.d.cts} +1 -1
  19. package/dist/chat/index.cjs +1 -1
  20. package/dist/chat/index.d.cts +9 -9
  21. package/dist/chat/index.d.ts +9 -9
  22. package/dist/chat/index.js +1 -1
  23. package/dist/client/index.cjs +2 -2
  24. package/dist/client/index.d.cts +6 -6
  25. package/dist/client/index.d.ts +6 -6
  26. package/dist/client/index.js +2 -2
  27. package/dist/{config-3jJR8fVC.d.cts → config--kkZJez-.d.cts} +1 -1
  28. package/dist/{config-FhlcRHRe.d.ts → config-rIHi30JL.d.ts} +1 -1
  29. package/dist/consent/index.d.cts +5 -5
  30. package/dist/consent/index.d.ts +5 -5
  31. package/dist/{context-BqfAkCov.d.ts → context-BS10sSPF.d.ts} +5 -5
  32. package/dist/{context-BVGuiYob.d.cts → context-rU61RLs9.d.cts} +5 -5
  33. package/dist/{copy-DBbgO9g4.d.cts → copy-Cm1q62aL.d.cts} +2 -2
  34. package/dist/{copy-BDfIOo5Z.d.ts → copy-DrKn5IgK.d.ts} +2 -2
  35. package/dist/core/index.cjs +7 -7
  36. package/dist/core/index.d.cts +15 -13
  37. package/dist/core/index.d.ts +15 -13
  38. package/dist/core/index.js +7 -7
  39. package/dist/{depth-Cwmumplg.d.cts → depth-Dv2UlD9y.d.cts} +2 -2
  40. package/dist/{depth-VpVaDj5I.d.ts → depth-oWtASKxN.d.ts} +2 -2
  41. package/dist/{entitlementRepository-Cys2DfuQ.d.ts → entitlementRepository-B1Fm5AA4.d.ts} +9 -2
  42. package/dist/{entitlementRepository-CCIj0Z0c.d.cts → entitlementRepository-DWHjARFl.d.cts} +9 -2
  43. package/dist/{identity-DkVFMcyL.d.cts → identity-CiVwtY6G.d.cts} +1 -1
  44. package/dist/{identity-BMPu-Kg6.d.ts → identity-p2Z0zYj_.d.ts} +1 -1
  45. package/dist/index.cjs +6 -6
  46. package/dist/index.d.cts +12 -12
  47. package/dist/index.d.ts +12 -12
  48. package/dist/index.js +6 -6
  49. package/dist/notifications/index.d.cts +2 -2
  50. package/dist/notifications/index.d.ts +2 -2
  51. package/dist/{pets-BCgVJlJD.d.ts → pets-DdL6yobd.d.ts} +1 -1
  52. package/dist/{pets-B6QnvZi2.d.cts → pets-vEwYZ_T8.d.cts} +1 -1
  53. package/dist/{petsRepository-CwIyiIvt.d.cts → petsRepository-BttHgj7K.d.cts} +1 -1
  54. package/dist/{petsRepository-I9vZvRpE.d.ts → petsRepository-z1qI9CxD.d.ts} +1 -1
  55. package/dist/{ports-BtrM61nV.d.ts → ports-BYiZ0blT.d.ts} +4 -4
  56. package/dist/{ports-D0DaSL3j.d.cts → ports-BaFPnkNc.d.cts} +4 -4
  57. package/dist/records/depth/index.d.cts +7 -7
  58. package/dist/records/depth/index.d.ts +7 -7
  59. package/dist/records/index.d.cts +9 -9
  60. package/dist/records/index.d.ts +9 -9
  61. package/dist/{requestFunnel-CR8wGfpV.d.cts → requestFunnel-D4vmhvg3.d.cts} +2 -2
  62. package/dist/{requestFunnel-C1Fp7waD.d.ts → requestFunnel-DWuQPb2z.d.ts} +2 -2
  63. package/dist/{runtimeTypes-BCXujmD6.d.cts → runtimeTypes-BBTiRo2s.d.cts} +12 -4
  64. package/dist/{runtimeTypes-CuwgMArF.d.ts → runtimeTypes-GWyTWcAh.d.ts} +12 -4
  65. package/dist/server/events/index.cjs +1 -1
  66. package/dist/server/events/index.d.cts +2 -2
  67. package/dist/server/events/index.d.ts +2 -2
  68. package/dist/server/events/index.js +1 -1
  69. package/dist/server/index.cjs +2 -2
  70. package/dist/server/index.d.cts +3 -3
  71. package/dist/server/index.d.ts +3 -3
  72. package/dist/server/index.js +2 -2
  73. package/dist/televet/booking/index.cjs +1 -1
  74. package/dist/televet/booking/index.d.cts +6 -6
  75. package/dist/televet/booking/index.d.ts +6 -6
  76. package/dist/televet/booking/index.js +1 -1
  77. package/dist/testing/index.d.cts +1 -1
  78. package/dist/testing/index.d.ts +1 -1
  79. package/dist/testing/rn/index.d.cts +7 -7
  80. package/dist/testing/rn/index.d.ts +7 -7
  81. package/dist/testing/web/index.d.cts +7 -7
  82. package/dist/testing/web/index.d.ts +7 -7
  83. package/dist/{timelineRows-DFmwWHyj.d.ts → timelineRows-A_oiZIEc.d.ts} +1 -1
  84. package/dist/{timelineRows-EaAqBcX2.d.cts → timelineRows-r1GNQvDK.d.cts} +1 -1
  85. package/dist/{useRecordsDepth-Bo2d27fm.d.ts → useRecordsDepth-CINiIa4K.d.ts} +1 -1
  86. package/dist/{useRecordsDepth-DgQrho7p.d.cts → useRecordsDepth-CIUHwHh6.d.cts} +1 -1
  87. package/dist/{view-DwYhyFC2.d.cts → view-2jP--TYM.d.cts} +2 -2
  88. package/dist/{view-DGIjZtq8.d.ts → view-DAFHeTle.d.ts} +2 -2
  89. package/dist/web/consent/index.d.cts +5 -5
  90. package/dist/web/consent/index.d.ts +5 -5
  91. package/dist/web/index.cjs +7 -7
  92. package/dist/web/index.d.cts +14 -14
  93. package/dist/web/index.d.ts +14 -14
  94. package/dist/web/index.js +7 -7
  95. package/dist/web/notifications/index.d.cts +3 -3
  96. package/dist/web/notifications/index.d.ts +3 -3
  97. package/dist/web/records/depth/index.d.cts +7 -7
  98. package/dist/web/records/depth/index.d.ts +7 -7
  99. package/dist/web/records/index.d.cts +9 -9
  100. package/dist/web/records/index.d.ts +9 -9
  101. package/dist/web/televet/booking/index.cjs +2 -2
  102. package/dist/web/televet/booking/index.d.cts +6 -6
  103. package/dist/web/televet/booking/index.d.ts +6 -6
  104. package/dist/web/televet/booking/index.js +2 -2
  105. package/package.json +5 -4
@@ -1 +1 @@
1
- import {createContext,forwardRef,useMemo,createElement,useState,useRef,useEffect,useCallback,useReducer,useContext,useSyncExternalStore,Component}from'react';import {StyleSheet,TextInput,Pressable,View,Alert,BackHandler,Image,ActivityIndicator,ScrollView,Modal,Text}from'react-native';import {jsxs,Fragment,jsx}from'react/jsx-runtime';import {useSafeAreaInsets}from'react-native-safe-area-context';var Za=Object.defineProperty;var o=(e,t)=>Za(e,"name",{value:t,configurable:true});function Xt(e){throw new Error(`assertNever: unhandled discriminated-union member ${JSON.stringify(e)}`)}o(Xt,"assertNever");function Uo(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(Uo,"errorFrame");function $n(e){let t=globalThis.console;try{t?.error?.("[everfur] A host callback threw; the SDK ignored it.",e);}catch{}}o($n,"reportHostFailure");function ns(e){return (typeof e=="object"||typeof e=="function")&&e!==null&&typeof e.then=="function"}o(ns,"isThenable");function Qt(e,...t){if(typeof e=="function")try{let n=e(...t);return ns(n)&&Promise.resolve(n).then(void 0,$n),n}catch(n){$n(n);return}}o(Qt,"callHost");var Wo=new WeakMap;function rs(e){if(typeof e!="function")return;let t=Wo.get(e);if(t!==void 0)return t;let n=o((...r)=>{Qt(e,...r);},"guarded");return Wo.set(e,n),n}o(rs,"guardHost");function ot(e,t){let n=null;for(let r of t){let i=e[r];typeof i=="function"&&(n??={...e},n[r]=rs(i));}return n??e}o(ot,"guardHostProps");function Zt(e,...t){let n;try{n=e(...t);}catch(r){return $n(r),Promise.resolve({ok:false,error:r})}return Promise.resolve(n).then(r=>({ok:true,value:r}),r=>({ok:false,error:r}))}o(Zt,"callHostAsync");function qo(){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(qo,"createTelevetBackChannel");var Yn=createContext(null);function lt(e,t=true){let n=useContext(Yn),r=useRef(e);r.current=e,useEffect(()=>{if(!(n===null||!t))return n.register(()=>r.current())},[n,t]);}o(lt,"useTelevetBackChannel");var m=o(e=>e,"DRAFT"),ss=["[PLACEHOLDER","[PLAN NAME]","[LINK]","[Last]","TODO","TBD"];function ds(e){return ss.some(t=>e.toUpperCase().includes(t.toUpperCase()))}o(ds,"isPlaceholderCopy");function ne(e,t){let n=e;for(let[r,i]of Object.entries(t))n=n.split(`{${r}}`).join(i);return n}o(ne,"fill");var u=Object.freeze({stateBlockedTitle:m("Not available in this state yet"),noCliniciansTitle:m("No vets available right now"),noCliniciansBody:m("Nobody is free in your area at the moment. This changes through the day."),noCliniciansRetryCta:m("Check again"),noCliniciansRegionBody:m("Video visits have to be with a vet licensed in your state, and we don\u2019t have one there yet."),yourVetTitle:m("Your Vet"),reviewsLabel:m("reviews"),rescheduleFromTemplate:m("Moving your visit on {when}"),rescheduleFailed:m("That did not move. Your original time is unchanged."),keepExistingCta:m("Keep my current time"),bookingPausedTitle:m("Booking is not available right now."),slotsErrorTitle:m("Could not load times"),noSlotsTitle:m("No times available"),nextOpeningTemplate:m("Next opening across our vets: {when}"),seeOtherVetsCta:m("See other vets"),retryCta:m("Try again"),holdExpired:m("That time is no longer held. Pick another."),slotTaken:m("That time was just taken. Pick another."),reasonPlaceholder:m("What is going on with your pet?"),reasonTooLong:m("That is too long. Please shorten it."),shareRecordsOff:m("Share health records with this vet"),confirmNotEntitled:m("A Pro membership is needed to book a video visit."),confirmFailed:m("That did not book. Try again."),checkAvailabilityCta:m("Check availability"),stateInterest:Object.freeze({cta:m("Add me to the list"),submitting:m("Adding you to the list\u2026"),joinedTitle:m("You are on the list"),joinedBody:m("We will let you know when this changes."),failed:m("That did not save. Try again.")}),media:Object.freeze({droppedTemplate:m("{n} attachment did not upload."),droppedPluralTemplate:m("{n} attachments did not upload."),refusedSizeTemplate:m("{n} attachment was too large to send."),refusedSizePluralTemplate:m("{n} attachments were too large to send."),refusedTypeTemplate:m("{n} attachment is a file type that cannot be sent."),refusedTypePluralTemplate:m("{n} attachments are file types that cannot be sent."),refusedUnreadableTemplate:m("{n} attachment could not be read."),refusedUnreadablePluralTemplate:m("{n} attachments could not be read.")}),navTitle:m("Book a visit"),rescheduleNavTitle:m("Change your visit"),close:m("Close"),continueCta:m("Continue"),petSelectTitle:m("Who is this visit for?"),addPetCta:m("Add a pet"),locationUnknownTitle:m("We need your location to find a vet"),locationUnknownBody:m("Turn on location for Everfur, then try again."),locationUnknownCta:m("Allow location"),locationBlockedTitle:m("Location is turned off"),locationBlockedBody:m("Everfur needs your location to match you with a vet in your area."),locationBlockedCta:m("Open Settings"),locationUnavailableTitle:m("We could not read your location"),locationUnavailableBody:m("Try again in a moment."),stateAttestTemplate:m("I confirm my pet and I are in {state} right now."),describeHeading:m("Tell the vet what you are seeing"),describeHelpLong:m("A few sentences is plenty. When it started, what changed, anything you've already tried."),addPhotoCta:m("ADD PHOTO OR VIDEO"),removePhotoLabel:m("Remove photo"),summaryPet:m("Pet"),summaryVet:m("Vet"),summaryWhen:m("When"),summaryLength:m("Length"),summaryReason:m("Reason"),summaryLengthTemplate:m("{n} minutes"),confirmCta:m("Confirm visit"),bookedTitle:m("You are booked."),addToCalendarCta:m("Add to calendar"),doneCta:m("Done"),booked:Object.freeze({remindPromise:m("We will notify you 30 minutes before."),summaryPromise:m("{pet}'s summary goes to the vet ahead of the call."),joinPromise:m("Join right here in the app. No links to hunt for."),backToPet:m("Back to {pet}"),calendarAdded:m("Added to your calendar"),calendarFailedBody:m("That did not save to your calendar.")}),chrome:Object.freeze({closeHint:m("Closes without saving"),discardTitle:m("Leave without booking?"),discardBody:m("Your answers will not be saved."),discardConfirmCta:m("Leave"),discardKeepCta:m("Keep going"),noPetsTitle:m("No pets on this account"),loadFailedTitle:m("Could not load"),retryCta:m("Try again")}),emergency:Object.freeze({bannerTitle:m("This cannot wait for a scheduled call."),keepBookingCta:m("I have handled this, keep booking"),lede:m("What you are describing is the kind of thing vets want to see in person, now."),exitPrimaryVetTitle:m("Call {petName}'s primary vet"),exitFindErTitle:m("Find an emergency vet near you"),startCallHint:m("Starts a phone call")}),visit:Object.freeze({title:m("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 Ko(e=u){return typeof e=="string"?[e]:typeof e!="object"||e===null?[]:Object.values(e).flatMap(t=>Ko(t))}o(Ko,"televetBookingCopyValues");function Re(){return Ko().every(e=>e.trim().length>0&&!ds(e))}o(Re,"isTelevetBookingCopyReady");var Gn=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(Gn.map(e=>e.wireCode));var us=Object.freeze({ValidationException:"validationFailed",AuthorizationException:"authRejected",PaymentRequiredException:"paymentRequired",AccessDeniedException:"accessDenied",ResourceNotFoundException:"resourceNotFound",ConflictException:"conflict",ThrottlingException:"rateLimited",InternalFailureException:"internalError",NotImplementedException:"notImplemented",ServiceUnavailableException:"serviceUnavailable",MethodNotAllowedException:"validationFailed",authExpired:"authExpired",unavailable:"serviceUnavailable",session_required:"sessionRequired",accessDenied:"accessDenied",invalidRequest:"sdkUpdateRequired",authRejected:"authRejected",rateLimited:"rateLimited",insufficientCapability:"accessDenied",event_cursor_invalid:"validationFailed",event_filter_invalid:"validationFailed",event_payload_invalid:"validationFailed",event_type_unknown:"validationFailed",idempotency_key_invalid:"validationFailed",idempotency_key_required:"validationFailed",idempotency_key_reused:"idempotencyConflict",payload_too_large:"validationFailed",webhook_url_rejected:"validationFailed",webhook_endpoint_update_empty:"validationFailed",webhook_endpoint_update_invalid:"validationFailed",event_type_not_available:"conflict",record_subject_not_found:"resourceNotFound",records_consent_required:"conflict",record_species_unsupported:"validationFailed",record_upload_invalid:"validationFailed",FILE_TOO_LARGE:"validationFailed",INVALID_CONTENT_TYPE:"validationFailed",attachment_unreadable:"validationFailed",provider_unsupported:"validationFailed",token_invalid:"validationFailed",device_cipher_unavailable:"serviceUnavailable",email_invalid:"validationFailed",consent_required:"validationFailed",consent_invalid:"validationFailed",consent_scope_wrong_route:"validationFailed",IDEMPOTENCY_KEY_IN_FLIGHT:"idempotencyInFlight",IDEMPOTENCY_KEY_REUSED_DIFFERENT_REQUEST:"idempotencyConflict",DAILY_QUOTA_EXCEEDED:"quotaExceeded",TIER_UPGRADE_REQUIRED:"paymentRequired",not_found:"conversationNotFound",timeout:"streamTimeout",internal_error:"internalError",invalid_request:"validationFailed",invalid_client:"authRejected",invalid_grant:"authRejected",unsupported_grant_type:"validationFailed",invalid_scope:"validationFailed",invalid_target:"validationFailed",invalid_redirect_uri:"validationFailed",invalid_client_metadata:"validationFailed",unsupported_response_type:"validationFailed",access_denied:"accessDenied",slow_down:"rateLimited",mcp_request_not_found:"resourceNotFound",mcp_request_gone:"resourceNotFound",mcp_connection_not_found:"resourceNotFound",mcp_request_conflict:"conflict",sandbox_only:"accessDenied",tenant_has_no_capabilities:"conflict",verify_mint_refused:"accessDenied",verify_mint_rate_limited:"rateLimited",verify_mint_unavailable:"serviceUnavailable",verify_user_ref_invalid:"validationFailed",insufficient_scope:"accessDenied",tenant_filter_invalid:"validationFailed",tenant_resource_not_found:"resourceNotFound",tenant_surface_not_enabled:"conflict",pet_health_species_unsupported:"validationFailed",pet_health_list_removals_unconfirmed:"validationFailed",petRefInUse:"conflict",share_limit_reached:"conflict",pet_not_registered:"resourceNotFound",species_unsupported:"validationFailed",partner_visit_owner_only:"accessDenied",partner_visit_link_conflict:"conflict",partner_visit_pet_already_mapped:"conflict"}),Yo=Object.freeze(Gn.map(e=>Object.freeze({wireCode:e.wireCode,envelope:e.envelope,retryable:e.retryable,normalized:us[e.wireCode]}))),ps=new Map(Yo.map(e=>[e.envelope+e.wireCode.toUpperCase(),e])),fs=Object.freeze(["http_envelope",...[...new Set(Yo.map(e=>e.envelope))].filter(e=>e!=="http_envelope").sort()]);function en(e,t){if(typeof e!="string")return;let n=e.trim().toUpperCase();if(n.length!==0)for(let r of [t??"http_envelope",...fs]){let i=ps.get(r+n);if(i)return i}}o(en,"contractErrorFor");function ys(e){return e.envelope==="sse_frame"?`/errors#sse-${e.wireCode}`:e.envelope==="oauth_error"?`/errors#oauth-${e.wireCode}`:`/errors#${e.wireCode}`}o(ys,"contractDocUrl");function Go(e){return null}o(Go,"publishedDocUrl");var ms=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 Jo(e){return ms[e]}o(Jo,"categoryFor");function Xo(e){let t=en(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(Xo,"fromWire");var vs=new Set(["streamTimeout","rateLimited","internalError","upstreamLlmTimeout","streamIncomplete"]);function Jn(e){return vs.has(e)}o(Jn,"isAutoRetryable");var gs=new Set(["serviceUnavailable","conflict","idempotencyInFlight"]);function Qo(e){return Jn(e)||gs.has(e)}o(Qo,"isRetryableCode");var bs=500,Xn=8e3,Zo=4;function el(e,t=Math.random){let n=Math.max(0,e),r=Math.min(bs*2**n,Xn);return Math.floor(t()*r)}o(el,"backoffDelayMs");var hs=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 Qn(e){return hs[e]}o(Qn,"userFacingError");function tl(e,t,n){Object.defineProperty(e,t,{value:n,enumerable:false,writable:false,configurable:false});}o(tl,"defineHidden");var Ts=/^[a-z][a-z0-9_]{0,63}$/;function ae(e,t){let n=en(t?.wireCode,t?.wireEnvelope),r={code:e,category:Jo(e),retryable:t?.retryable??Qo(e),displayMessage:Qn(e)};if(t?.httpStatus!==void 0&&(r.httpStatus=t.httpStatus),t?.requestId&&(r.requestId=t.requestId),typeof t?.reasonCode=="string"&&Ts.test(t.reasonCode)&&(r.reasonCode=t.reasonCode),n);return t?.wireMessage&&tl(r,"wireMessage",t.wireMessage),t?.raw!==void 0&&t.raw!==null&&tl(r,"raw",t.raw),Object.freeze(r)}o(ae,"makeEverfurError");function V(e,t){return Object.freeze(t===void 0?{ok:true,value:e}:{ok:true,value:e,warning:t})}o(V,"ok");function x(e){return Object.freeze({ok:false,error:e})}o(x,"err");var tn=class tn extends Error{constructor(t,n){super(n),this.name="EverfurConfigError",this.kind=t,Object.setPrototypeOf(this,tn.prototype);}};o(tn,"EverfurConfigError");var Et=tn;function Es(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(Es,"authHeaders");function kt(e,t){return {...e,headers:{...ks(e.headers),...Es(t)}}}o(kt,"withAuthHeaders");function ks(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(ks,"stripAuthHeaders");async function nl(e,t){if(t.mode==="anonymous")return t.transport.request(kt(e,{mode:"anonymous",publishableKey:t.publishableKey,userRef:t.userRef,...t.sessionId?{sessionId:t.sessionId}:{}}));let n;try{n=await t.identity.currentToken();}catch{return x(Zn())}let r=await t.transport.request(kt(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 x(Zn())}let l=await t.transport.request(kt(e,{mode:"personalized",token:i,userRef:t.userRef,...t.sessionId?{sessionId:t.sessionId}:{}}));return !l.ok&&l.error.httpStatus===401?x(Zn(l.error.httpStatus)):l}o(nl,"authedSend");function Zn(e){return ae("authRejected",{retryable:false,...e!==void 0?{httpStatus:e}:{}})}o(Zn,"authRejectedError");function rl(e){return ae("internalError",{retryable:true,wireMessage:Cs(e)})}o(rl,"networkError");function Cs(e){return e instanceof Error?e.message:typeof e=="string"?e:"network request failed"}o(Cs,"describeCause");var Ss=3e4,Rs=Xn*2,_s="idempotency-key",xs=new Set(["POST","PUT","PATCH","DELETE"]),ws=Object.freeze({onEvent(){}}),Ps=Object.freeze({setTimeout:o((e,t)=>setTimeout(e,t),"setTimeout"),clearTimeout:o(e=>clearTimeout(e),"clearTimeout"),now:o(()=>Date.now(),"now")});function Is(e){let t=e.trim().replace(/[^A-Za-z0-9_.:-]/g,"-");return t.length===0?null:`efs_${t}`.slice(0,128)}o(Is,"seededIdempotencyKey");function Ct(e){let t=e.observer??ws,n=e.timers??Ps,r=e.rng??Math.random,i=e.sleep??((f,y)=>Us(f,n,y)),l=e.maxAttempts??Zo,a=e.unaryTimeoutMs??Ss,s=e.newIdempotencyKey??er(),d=o(f=>{try{t.onEvent(f);}catch{}},"emit");async function c(f,y,C){let _=C?.maxAttempts,I=Math.max(1,_??l),S=C?.idempotent??xs.has(y.method),E=C?.idempotencyKey===void 0?null:Is(C.idempotencyKey),T=S?E??s():null,D=Os(y,T),h=0;for(;;){let z=o(le=>Object.freeze({call:f,method:y.method,path:y.path,attempt:h,...T?{idempotencyKey:T}:{},...le}),"stamp");d(z({phase:"attempt"}));let B=js(a,n),N=Hs(B.signal,y.signal),M;try{M=await nl({...D,signal:N.signal},e.auth);}catch(le){M=x(rl(le));}finally{N.dispose(),B.cancel();}if(M.ok)return d(z({phase:"settled",ok:true,reason:"ok"})),M;let $=M.error,me=Ds($,h,{maxAttempts:I,rng:r,now:n.now(),aborted:y.signal?.aborted===true,..._!==void 0?{perCallMaxAttempts:_}:{},...e.errorPolicy!==void 0?{policy:e.errorPolicy}:{}}),X={ok:false,code:$.code,reason:me.reason,...$.httpStatus!==void 0?{httpStatus:$.httpStatus}:{},...$.requestId!==void 0?{requestId:$.requestId}:{}};if(!me.retry)return d(z({phase:"settled",...X})),x($);if(d(z({phase:"retry",...X,delayMs:me.delayMs})),await i(me.delayMs,y.signal),y.signal?.aborted===true)return d(z({phase:"settled",...X,reason:"aborted"})),x($);h+=1;}}o(c,"send");async function p(f){return kt(f,await zs(e.auth))}o(p,"authorize");async function*g(f,y,C){d(Object.freeze({call:f,phase:"stream.open",method:y.method,path:y.path,attempt:0}));try{yield*e.auth.transport.stream(y,C);}catch{yield Uo({code:"internal_error",retryable:true,wireMessage:null,synthesized:true,lastEventId:null,serverRequestId:null});}}return o(g,"stream"),Object.freeze({send:c,authorize:p,stream:g})}o(Ct,"createRequestFunnel");function Os(e,t){let n={};for(let[r,i]of Object.entries(e.headers??{}))r.toLowerCase()!==_s&&(n[r]=i);return t!==null&&(n["Idempotency-Key"]=t),{...e,headers:n}}o(Os,"assembleHeaders");function er(){let e=0;return ()=>`efk_${Date.now().toString(36)}_${(e++).toString(36)}_${Math.random().toString(36).slice(2,12)}`}o(er,"defaultIdempotencyKeyFactory");var As=10;function Ds(e,t,n){if(n.aborted)return {retry:false,reason:"aborted"};let r=Bs(e);if(r==="quota")return {retry:false,reason:"daily-quota-exhausted"};if(r!=="burst"&&!Jn(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 a=o(()=>{if(n.policy===void 0)return null;let c;try{c=n.policy.maxAttempts(e.code);}catch{return null}return typeof c!="number"||!Number.isFinite(c)?null:Math.max(1,Math.min(As,Math.floor(c)))},"policyCeiling"),s=n.perCallMaxAttempts??a()??n.maxAttempts;if(t+1>=s)return {retry:false,reason:"attempts-exhausted"};let d=Fs(e,n.now);return d!==null?d>Rs?{retry:false,reason:"server-reset-beyond-budget"}:{retry:true,reason:i,delayMs:d}:{retry:true,reason:i,delayMs:el(t,n.rng)}}o(Ds,"decideRetry");function Bs(e){let t=e.code==="unknown"?Xo(Vs(e.raw)):e.code;return t==="quotaExceeded"?"quota":t==="rateLimited"||e.httpStatus===429?"burst":null}o(Bs,"throttleKind");function Fs(e,t){let n=Ls(e.raw);if(n!==null){let i=n-t;return i>0?i:0}let r=Ns(e.raw);return r===null?null:Math.round(r*1e3)}o(Fs,"retryOverrideMs");function Ns(e){for(let t of tr(e)){let n=t.retry_after_seconds;if(typeof n=="number"&&Number.isFinite(n)&&n>=0)return n}return null}o(Ns,"findRetryAfterSeconds");function Ls(e){for(let t of tr(e)){let n=t.resets_at,r=Ms(n);if(r!==null)return r}return null}o(Ls,"findResetsAt");function tr(e){if(!ol(e))return [];let t=[e];for(let n of ["error","detail"]){let r=e[n];ol(r)&&t.push(r);}return t}o(tr,"candidateScopes");function Ms(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(Ms,"parseInstantMs");function Vs(e){for(let t of tr(e)){let n=t.code;if(typeof n=="string"&&n.length>0)return n}return null}o(Vs,"rawWireCode");function ol(e){return typeof e=="object"&&e!==null}o(ol,"isRecord");async function zs(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(zs,"resolveDeviceAuth");function js(e,t){let n=new AbortController,r=t.setTimeout(()=>n.abort(),e);return {signal:n.signal,cancel:o(()=>t.clearTimeout(r),"cancel")}}o(js,"boundedSignal");function Hs(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(Hs,"mergeSignals");function Us(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(Us,"delayAbortable");var sl="televet_booking_not_live";function nn(e){return ae("conflict",{retryable:false,reasonCode:sl,wireMessage:`the booking was answered with a consult whose status is ${e}, which is not a live visit`})}o(nn,"televetBookingNotLiveError");var nr="televet_booking_key_reused",ll="IDEMPOTENCY_KEY_REUSED_DIFFERENT_REQUEST";function rn(e){return e.httpStatus!==409||e.reasonCode===nr||St(e)?.code!==ll?e:ae(e.code,{retryable:false,httpStatus:409,...e.requestId!==void 0?{requestId:e.requestId}:{},wireCode:ll,reasonCode:nr,...e.wireMessage!==void 0?{wireMessage:e.wireMessage}:{},raw:e.raw})}o(rn,"foldTelevetBookingKeyReused");function St(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(St,"details");function Ws(e){let t=St(e)?.categories;return Array.isArray(t)?Object.freeze(t.filter(n=>typeof n=="string")):Object.freeze([])}o(Ws,"categoriesOf");function il(e){let t=St(e)?.retry_after_seconds;return typeof t=="number"&&Number.isFinite(t)&&t>0?t:null}o(il,"retryAfterOf");function al(e){let t=e.wireMessage;if(typeof t=="string"&&t.trim().length>0)return t.trim();let n=St(e)?.message;return typeof n=="string"&&n.trim().length>0?n.trim():null}o(al,"messageOf");function qs(e){let t=e.reasonCode;if(typeof t=="string"&&t.length>0)return t;let n=St(e),r=n?.code??n?.error_code;return typeof r=="string"&&r.length>0?r:null}o(qs,"codeOf");function Le(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:il(e),message:al(e)});if(t===404)return Object.freeze({kind:"unavailable"});switch(qs(e)){case "televet_rate_limited":return Object.freeze({kind:"rate_limited",retryAfterSeconds:il(e),message:al(e)});case "televet_emergency_ack_required":return Object.freeze({kind:"emergency",categories:Ws(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 sl:return Object.freeze({kind:"slot_taken"});case nr: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(Le,"televetBookingRefusal");function Ks(e){try{return new URL(e.trim()).protocol==="https:"}catch{return false}}o(Ks,"isSafeRoomUrl");function $s(e,t){return Ks(e)&&t.trim().length>0}o($s,"isUsableRoomCredential");function on(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}o(on,"isRecord");function rr(e,t){return typeof e=="number"&&Number.isInteger(e)&&e>=t?e:null}o(rr,"wholeNumber");function Ys(e){if(!on(e))return null;let t=rr(e.consult_minutes,1),n=rr(e.auto_end_minutes,0),r=rr(e.warn_before_seconds,0);return t===null||n===null||r===null?null:Object.freeze({consultMinutes:t,autoEndMinutes:n,warnBeforeSeconds:r})}o(Ys,"parseCallLimits");function or(e){if(!on(e))return null;let t=e.room_url??e.url,n=e.token;if(typeof t!="string"||typeof n!="string"||!$s(t,n))return null;let r=e.recording_notice;return Object.freeze({roomUrl:t.trim(),token:n,recordingNotice:typeof r=="boolean"?r:true,callLimits:Ys(e.call_limits)})}o(or,"parseVetCallCredential");function lr(e){let t=dl(e.raw);return t!==null&&t.length>0?t:null}o(lr,"vetCallJoinReason");function dl(e){if(!on(e))return null;let t=e.detail??e.error,r=(on(t)?t:e).reason;return typeof r=="string"?r:null}o(dl,"reasonOf");function ir(e){if(e.httpStatus===404)return "unavailable";let t=dl(e.raw);return t==="too_early"||t==="too_late"||t==="room_not_ready"?t:t!==null&&t.startsWith("status_")?"not_joinable":"unknown"}o(ir,"vetCallJoinRefusal");var ul=["scheduled","in_progress","awaiting_summary","completed","cancelled_owner","cancelled_ops","no_show_owner","no_show_vet"],Ke=new Set(["completed","cancelled_owner","cancelled_ops","no_show_owner","no_show_vet"]),Gs=new Set(["scheduled","in_progress","awaiting_summary"]);function ln(e){return Gs.has(e.status)}o(ln,"isLiveConsult");var pl=["wellness","prescription"],Js=60;function fl(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,Js):null}o(fl,"televetSlotMinutes");var an=64,xe=2e3,sn=10;function ve(e){return typeof e=="string"&&/^[A-Za-z]{2}$/.test(e.trim())}o(ve,"isWellFormedStateCode");function _e(e){return typeof e=="object"&&e!==null?e:null}o(_e,"row");function Q(e){return typeof e=="string"&&e.length>0?e:null}o(Q,"str");function Me(e){return typeof e=="string"&&e.trim().length>0?e.trim():null}o(Me,"trimmedOrNull");function it(e,t){return typeof e=="boolean"?e:t}o(it,"bool");function ar(e){return typeof e=="number"&&Number.isFinite(e)?e:null}o(ar,"num");function cl(e,t){return typeof t=="string"&&e.includes(t)?t:"unknown"}o(cl,"closed");function at(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(at,"parseList");function yl(e,t){let n=_e(e);return n===null?null:Object.freeze({state:Q(n.state)??t,wellnessAvailable:it(n.wellness_available,false),prescriptionsAvailable:it(n.prescriptions_available,false),cancellationPolicyText:Me(n.cancellation_policy_text)})}o(yl,"parseStatePolicy");function ml(e){let t=_e(e);if(t===null)return null;let n=Me(t.summary),r=Me(t.version);return n===null||r===null?null:Object.freeze({summary:n,version:r})}o(ml,"parseCancellationPolicy");function vl(e){let t=_e(e);if(t===null)return null;let n=Q(t.clinician_id),r=Q(t.display_name);return n===null||r===null?null:Object.freeze({clinicianId:n,displayName:r,credentials:Me(t.credentials_text),rating:ar(t.rating),ratingCount:ar(t.rating_count),bio:Me(t.bio),photoRef:Q(t.photo_ref),licensedStates:at(t.licensed_states,i=>{let l=_e(i),a=l===null?null:Q(l.state);return a===null?null:Object.freeze({state:a,canPrescribe:it(l?.can_prescribe,false)})})})}o(vl,"parseClinician");function sr(e){let t=_e(e);if(t===null)return null;let n=Q(t.slot_id),r=Q(t.starts_at);return n===null||r===null?null:Object.freeze({slotId:n,startsAt:r,endsAt:Q(t.ends_at)??r})}o(sr,"parseSlot");function gl(e){let t=_e(e);if(t===null)return null;let n=Q(t.slot_id),r=Q(t.hold_expires_at);return n===null||r===null?null:Object.freeze({slotId:n,expiresAt:r})}o(gl,"parseSlotHold");function Rt(e){let t=_e(e);if(t===null)return null;let n=Q(t.consult_id),r=Q(t.scheduled_at);return n===null||r===null?null:Object.freeze({consultId:n,petId:Q(t.pet_id)??"",clinicianId:Q(t.clinician_id)??"",clinicianName:Me(t.display_name),reasonText:Me(t.reason_text),mediaRefs:at(t.media_refs,i=>Q(i)),status:cl(ul,t.status),kind:cl(pl,t.kind),scheduledAt:r,emergencyFlagged:it(t.emergency_flagged,false),hasRoom:Q(t.meeting_url)!==null})}o(Rt,"parseConsult");function bl(e){let t=_e(e);return Object.freeze({active:it(t?.active,false)})}o(bl,"parseBookingEntitlement");var dn=240;function hl(e){let t=_e(e);if(t===null)return null;let n=ar(t.fee_cents);return n===null||n<0?null:Object.freeze({feeCents:n,currency:Q(t.currency)??"usd",feeRecorded:it(t.fee_recorded,n>0),summary:Me(t.summary)})}o(hl,"parseCancelReceipt");var Ve="/widget/v1/televet",Xs=`${Ve}/state-policy`,Qs=`${Ve}/vets`,Tl=`${Ve}/slots`,Zs=`${Ve}/slots/next`,cn=`${Ve}/consults`,ed=`${Ve}/entitlement`,td=`${Ve}/cancellation-policy`;function El(e){return `${Tl}/${encodeURIComponent(e)}/hold`}o(El,"televetHoldCall");function kl(e){return `${cn}/${encodeURIComponent(e)}/reschedule`}o(kl,"televetRescheduleCall");function un(e){return `${cn}/${encodeURIComponent(e)}`}o(un,"televetConsultCall");function Cl(e){return `${un(e)}/join`}o(Cl,"televetJoinCall");function Sl(e){return `${un(e)}/cancel`}o(Sl,"televetCancelCall");var Rl=100;function se(e){return x(ae("validationFailed",{retryable:false,wireMessage:e}))}o(se,"invalid");function $e(e){return x(ae("internalError",{retryable:false,httpStatus:502,wireMessage:e}))}o($e,"unusable");function dr(e){return e.httpStatus===404}o(dr,"isDark");function st(e,t,n){try{e?.track(t,n);}catch{}}o(st,"safeTrack");function _l(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(!ve(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>xe?`reason_text must be at most ${xe} characters`:nd(e)}o(_l,"validateBookingBody");function nd(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>an?`cancellation_policy_version must be at most ${an} characters`:null}o(nd,"attestationRefusal");function ur(e){let t=e.funnel??Ct({auth:e.auth,...e.errorPolicy?{errorPolicy:e.errorPolicy}:{}}),n=e.telemetry;return {async statePolicy(r,i){let l=r.trim();if(!ve(l))return se("state must be a two-letter US state code");let a=await t.send("televet.booking.state_policy",{method:"GET",path:`${Xs}/${encodeURIComponent(l)}`,...i?{signal:i}:{}});if(!a.ok)return x(a.error);let s=yl(a.value,l);return s===null?$e("the state policy response was unreadable"):V(s)},async entitlement(r){let i=await t.send("televet.booking.entitlement",{method:"GET",path:ed,...r?{signal:r}:{}});return i.ok?V(bl(i.value)):x(i.error)},async cancellationPolicy(r){let i=await t.send("televet.booking.cancellation_policy",{method:"GET",path:td,...r?{signal:r}:{}});return i.ok?V(ml(i.value)):V(null)},async clinicians(r,i){let l=r.trim();if(!ve(l))return se("state must be a two-letter US state code");let a=await t.send("televet.booking.clinicians",{method:"GET",path:Qs,query:{state:l},...i?{signal:i}:{}});return a.ok?V(at(cr(a.value,"vets"),vl)):dr(a.error)?V(Object.freeze([])):x(a.error)},async slots(r,i){let l=r.trim();if(l.length===0)return se("clinicianId is required");let a=await t.send("televet.booking.slots",{method:"GET",path:Tl,query:{clinician_id:l},...i?{signal:i}:{}});return a.ok?V(at(cr(a.value,"slots"),sr)):dr(a.error)?V(Object.freeze([])):x(a.error)},async nextSlot(r){let i=await t.send("televet.booking.next_slot",{method:"GET",path:Zs,...r?{signal:r}:{}});return i.ok?V(sr(od(i.value,"slot"))):V(null)},async holdSlot(r){let i=r.trim();if(i.length===0)return se("slotId is required");let l=await t.send("televet.booking.hold",{method:"POST",path:El(i)},{idempotent:false,maxAttempts:1});if(!l.ok)return st(n,"televet.booking.hold_failed",{status:l.error.httpStatus??null}),x(l.error);let a=gl(l.value);return a===null?$e("the hold response carried no usable expiry"):V(a)},async book(r,i){let l=_l(r);if(l!==null)return se(l);let a=i.trim();if(a.length===0)return se("idempotencyKey is required");let s=await t.send("televet.booking.book",{method:"POST",path:cn,body:rd(r)},{idempotent:true,idempotencyKey:a,maxAttempts:1});if(!s.ok)return st(n,"televet.booking.book_failed",{status:s.error.httpStatus??null}),x(rn(s.error));let d=Rt(s.value);return d===null?$e("the booking response was unreadable"):ln(d)?V(d):(st(n,"televet.booking.book_failed",{status:null,consult_status:d.status}),x(nn(d.status)))},async reschedule(r,i){let l=r.trim(),a=i.trim();if(l.length===0)return se("consultId is required");if(a.length===0)return se("slotId is required");let s=await t.send("televet.booking.reschedule",{method:"POST",path:kl(l),body:{new_slot_id:a}},{idempotent:false,maxAttempts:1});if(!s.ok)return st(n,"televet.booking.reschedule_failed",{status:s.error.httpStatus??null}),x(s.error);let d=Rt(s.value);return d===null?$e("the reschedule response was unreadable"):V(d)},async listConsults(r){let i=await t.send("televet.booking.consults",{method:"GET",path:cn,query:{limit:String(Rl)},...r?{signal:r}:{}});return i.ok?V(at(cr(i.value,"consults"),Rt)):dr(i.error)?V(Object.freeze([])):x(i.error)},async getConsult(r,i){let l=r.trim();if(l.length===0)return se("consultId is required");let a=await t.send("televet.booking.consult",{method:"GET",path:un(l),...i?{signal:i}:{}});if(!a.ok)return x(a.error);let s=Rt(a.value);return s===null?$e("the consult response was unreadable"):V(s)},async joinConsult(r){let i=r.trim();if(i.length===0)return se("consultId is required");let l=await t.send("televet.booking.join",{method:"POST",path:Cl(i)},{idempotent:false,maxAttempts:1});if(!l.ok)return st(n,"televet.booking.join_failed",{status:l.error.httpStatus??null}),x(l.error);let a=or(l.value);return a===null?$e("the join response carried no usable room credential"):V(a)},async cancelConsult(r,i){let l=r.trim(),a=i.trim();if(l.length===0)return se("consultId is required");if(a.length===0)return se("reason is required");if(a.length>dn)return se(`reason must be at most ${dn} characters`);let s=await t.send("televet.booking.cancel",{method:"POST",path:Sl(l),body:{reason:a}},{idempotent:false,maxAttempts:1});if(!s.ok)return st(n,"televet.booking.cancel_failed",{status:s.error.httpStatus??null}),x(s.error);let d=hl(s.value);return d===null?$e("the cancel response was unreadable"):V(d)}}}o(ur,"createTelevetBookingController");function rd(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(rd,"bookingWireBody");function cr(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(cr,"rows");function od(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(od,"unwrap");var xl=Symbol.for("@everfur/sdk#EverfurContext@v1"),wl=globalThis,Pl=wl[xl]??(wl[xl]=createContext(null));Pl.displayName??="EverfurContext";function Ye(){let e=useContext(Pl);if(e===null)throw new Et("not-initialized","Everfur hooks must be called inside <EverfurProvider>. Wrap your tree once, high.");return e}o(Ye,"useEverfurContext");var ad=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 sd(e){return ad[e]}o(sd,"requires");function Il(e,t,n){let r=sd(e),i=new Map;for(let s of t)i.set(s.resource,s);if(n?.isPending===true&&r.some(s=>!i.has(s)))return pr({name:e,enabled:false,isPending:true,limits:{}});let l=dd(r,i);return r.filter(s=>i.get(s)?.granted!==true).length===0?pr({name:e,enabled:true,isPending:false,limits:l}):pr({name:e,enabled:false,isPending:false,limits:l,disabled:cd(r,i)})}o(Il,"decideCapability");function dd(e,t){let n={};for(let r of e){let i=t.get(r)?.limits;if(i)for(let[l,a]of Object.entries(i)){let s=n[l];n[l]=s===void 0?a:Math.min(s,a);}}return n}o(dd,"mergeLimits");function cd(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:Qn("accessDenied"),level:"user_entitlement",recoverable:false})}o(cd,"disabledFor");function pr(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(pr,"freezeDecision");function _t(e){let{runtime:t}=Ye(),n=t.entitlements,r=useSyncExternalStore(n.subscribe,n.getSnapshot,n.getSnapshot);return useMemo(()=>Il(e,r.decisions,{isPending:r.isPending}),[e,r])}o(_t,"useCapability");function de(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 ur({auth:i.authFor(n),telemetry:i.telemetry,...i.errorPolicy?{errorPolicy:i.errorPolicy}:{}})},[t,n,r,e])}o(de,"useTelevetBookingController");function fd(){let{userRef:e}=Ye(),t=_t("televet");return useMemo(()=>({available:t.enabled&&e!==null,isPending:t.isPending}),[t.enabled,t.isPending,e])}o(fd,"useTelevetBookingAvailable");function ze(e,t,n){let[r,i]=useState(()=>({key:e,data:null,isPending:t&&n!==null,error:null})),[l,a]=useState(0),s=useRef(n);s.current=n,useEffect(()=>{let p=s.current;if(!t||p===null){i({key:e,data:null,isPending:false,error:null});return}let g=new AbortController,f=true;return i(y=>y.key===e?{...y,isPending:true,error:null}:{key:e,data:null,isPending:true,error:null}),(async()=>{let y;try{y=await p(g.signal);}catch{f&&i({key:e,data:null,isPending:false,error:null});return}f&&(y.ok?i({key:e,data:y.value,isPending:false,error:null}):i({key:e,data:null,isPending:false,error:y.error}));})(),()=>{f=false,g.abort();}},[e,t,l]);let d=useCallback(()=>a(p=>p+1),[]),c=r.key===e;return useMemo(()=>({enabled:t,data:c?r.data:null,isPending:t&&(!c||r.isPending),isError:c&&r.error!==null,error:c?r.error:null,refetch:d}),[t,c,r.data,r.isPending,r.error,d])}o(ze,"useTelevetRead");function yr(e,t){let n=e?.trim()??"",r=t?.statePolicy!==void 0&&ve(n),i=t?.statePolicy;return ze(`state-policy:${n}`,r,r&&i?l=>i.call(t,n,l):null)}o(yr,"useTelevetStatePolicy");function mr(e){let t=e?.entitlement!==void 0,n=e?.entitlement;return ze("entitlement",t,t&&n?r=>n.call(e,r):null)}o(mr,"useTelevetBookingEntitlement");function xt(e){let t=e?.cancellationPolicy!==void 0,n=e?.cancellationPolicy;return ze("cancellation-policy",t,t&&n?r=>n.call(e,r):null)}o(xt,"useTelevetCancellationPolicy");function vr(e,t){let n=e?.trim()??"",r=t?.clinicians!==void 0&&ve(n),i=t?.clinicians;return ze(`clinicians:${n}`,r,r&&i?l=>i.call(t,n,l):null)}o(vr,"useTelevetClinicians");function wt(e,t){let n=e?.trim()??"",r=t!==null&&n.length>0;return ze(`slots:${n}`,r,r&&t?i=>t.slots(n,i):null)}o(wt,"useTelevetSlots");function gr(e){let t=e?.nextSlot!==void 0,n=e?.nextSlot;return ze("next-slot",t,t&&n?r=>n.call(e,r):null)}o(gr,"useTelevetNextSlot");function yn(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 a=useCallback((...s)=>{let d=l.current;if(d===null||i.current)return;let c=s[s.length-1],p=typeof c=="object"&&c!==null&&("onSuccess"in c||"onError"in c),g=p?c:void 0,f=p?s.slice(0,-1):s;i.current=true,n({variables:f[0]??null}),(async()=>{let y=null;try{y=await d(...f);}catch{y=null;}i.current=false,r.current&&n(null),y!==null&&(y.ok?g?.onSuccess?.(y.value):g?.onError?.(y.error));})();},[]);return useMemo(()=>({isPending:t!==null,variables:t?.variables??null,mutate:a}),[t,a])}o(yn,"useTelevetWrite");function Pt(e){return yn(e?t=>e.holdSlot(t):null)}o(Pt,"useTelevetHoldSlot");function br(e){return yn(e?(t,n)=>e.book(t,n):null)}o(br,"useTelevetBookConsult");function hr(e,t){return yn(t&&e?n=>t.reschedule(e,n):null)}o(hr,"useTelevetRescheduleConsult");function mn(e,t=0){let n=e?.listConsults!==void 0,r=e?.listConsults;return ze(`consults:${t}`,n,n&&r?i=>r.call(e,i):null)}o(mn,"useTelevetConsults");function Dl(e,t,n=0){let r=e?.trim()??"",i=t?.getConsult!==void 0&&r.length>0,l=t?.getConsult;return ze(`consult:${r}:${n}`,i,i&&l?a=>l.call(t,r,a):null)}o(Dl,"useTelevetConsult");function Bl(e,t){let n=t?.cancelConsult;return yn(t&&n&&e?r=>n.call(t,e,r):null)}o(Bl,"useTelevetCancelConsult");function Tr(e){return e.error!==null&&e.error.httpStatus===404}o(Tr,"televetReadIsDark");var Er=15,kr=250,yd=new Set(["scheduled","in_progress"]);function Ge(e){let t=Date.parse(e.scheduledAt);return Number.isNaN(t)?null:t}o(Ge,"startsAtMs");function md(e){let t=Ge(e);return t===null?null:t-Er*6e4}o(md,"televetJoinOpensAtMs");function Cr(e,t){if(e===null)return {ready:false,reason:"not_open_yet"};if(Ke.has(e.status))return {ready:false,reason:"consult_over"};if(e.status==="in_progress")return {ready:true};let n=Ge(e);return n===null?{ready:false,reason:"not_open_yet"}:t<n-Er*6e4?{ready:false,reason:"not_open_yet"}:t>n+kr*6e4?{ready:false,reason:"consult_over"}:{ready:true}}o(Cr,"televetJoinReadiness");function It(e,t){let n=[],r=[];for(let i of e){let l=Ge(i);(yd.has(i.status)&&l!==null&&l+kr*6e4>t?n:r).push(i);}return n.sort((i,l)=>(Ge(i)??0)-(Ge(l)??0)),r.sort((i,l)=>(Ge(l)??0)-(Ge(i)??0)),Object.freeze({upcoming:Object.freeze(n),past:Object.freeze(r)})}o(It,"splitTelevetVisits");function Sr(e){return e==="scheduled"}o(Sr,"canManageTelevetVisit");function Fl(e){let t=mn(e);return t.enabled?t.isPending?"pending":t.isError||It(t.data??[],Date.now()).upcoming.length>0?"visits":"booking":"booking"}o(Fl,"useTelevetLanding");function xr(e){if(e!==null&&typeof e=="object"&&!Object.isFrozen(e)){Object.freeze(e);for(let t of Object.keys(e))xr(e[t]);}return e}o(xr,"deepFreeze");var vd=Object.freeze({content:0,heading:2,control:1.8,compact:1.5,badge:1.3}),Ll={xs:4,sm:8,md:12,lg:16,xl:24,xxl:32},Ml={tile:5,xs:6,sm:10,md:14,lg:20,xl:28,pill:500},Nl={nano:8,small:9,micro:10,tiny:11,caption:12,bodyTight:13,body:14,subtitle:16,heading:18,verdict:24},gd={tight:1.15,snug:1.3,normal:1.4,relaxed:1.55},bd={regular:"400",medium:"500",bold:"700"},hd={eyebrow:1,monoWide:.9,headerBrand:-0.42,tight:-0.35},Td=0,vn="System",gn="monospace",Ed=["content","heading","control","compact","badge"];function kd(e){let t={};for(let n of Ed)t[n]=e;return t}o(kd,"authoredTierSizes");function Vl(){return {family:vn,mono:gn,fontUrl:null,families:{regular:vn,medium:vn,bold:vn,mono:gn,monoMedium:gn,monoBold:gn},namedFaces:{regular:false,medium:false,bold:false,mono:false,monoMedium:false,monoBold:false},fontUrls:{},size:Nl,tierSizes:kd(Nl),lineHeight:gd,weight:bd,letterSpacing:hd,scale:1,maxScale:Td,scaleCaps:vd}}o(Vl,"baseType");var zl={},Rr=Object.freeze({standard:Object.freeze([.2,0,0,1]),emphasized:Object.freeze([.2,.8,.2,1]),exit:Object.freeze([.4,0,1,1])});function _r(e){return `cubic-bezier(${e.join(", ")})`}o(_r,"cssCubicBezier");var jl={duration:{instant:80,fast:140,normal:220,slow:320},spring:{gentle:{damping:18,stiffness:200}},easing:{standard:_r(Rr.standard),emphasized:_r(Rr.emphasized),exit:_r(Rr.exit)},reducedMotion:false},Cd={brand:"#10462E",brandSoft:"rgba(16,70,46,0.10)",brandSofter:"rgba(16,70,46,0.15)",brandBorder:"rgba(16,70,46,0.18)",borderHairlineGreen:"rgba(16,70,46,0.25)",brandBorderStrong:"rgba(16,70,46,0.55)",brandInk:"#10462E",linkInk:"#10462E",surface:"#FFFFFF",surfaceCream:"#FDFBF8",surfaceSubtle:"#EFE9E3",background:"#FFFFFF",borderRingCream:"#D8D2C8",chatGround:"#FFFFFF",composerFill:"#FDFBF8",composerBorder:"rgba(16,70,46,0.75)",shadow:"#0B3421",text:{primary:"#111111",secondary:"#0E462E",muted:"#6E6660",placeholder:"rgba(61,61,61,0.75)",onBrand:"#FFFFFF",metaCool:"#3D3D3D",timestamp:"rgba(61,61,61,0.75)"},primary:"#10462E",onPrimary:"#FFFFFF",accent:"#10462E",onAccent:"#FFFFFF",accentEdge:"#07C168",success:"#07C168",danger:"#B91C1C",errorRed:"#FF1B00",warningStrong:"#A45610",cautionAccent:"#D9821D",riskConcern:"#EFA700",sentiment:{up:"#07C168",neutral:"#FBC558",down:"#FF1B00"},badgeBgPositive:"rgba(7,193,104,0.12)",badgeBgCaution:"rgba(217,130,29,0.14)",badgeBgCritical:"rgba(185,28,28,0.12)",badgeBgNeutral:"rgba(110,102,96,0.12)",bubbleUser:"#10462E",bubbleAssistant:"#FFFFFF",skeleton:"#EFE9E3",scanButtonPink:"#FFC3BC",checkupCardLowRiskBg:"rgba(7,193,104,0.10)",checkupCardConcernBg:"rgba(239,167,0,0.10)"},Hl=xr({brightness:"light",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:Cd,space:Ll,radius:Ml,type:Vl(),motion:jl,slots:zl}),Sd={brand:"#6BD39A",brandSoft:"rgba(107,211,154,0.12)",brandSofter:"rgba(107,211,154,0.18)",brandBorder:"rgba(107,211,154,0.22)",borderHairlineGreen:"rgba(107,211,154,0.28)",brandBorderStrong:"rgba(107,211,154,0.55)",brandInk:"#6BD39A",linkInk:"#6BD39A",surface:"#1C1F23",surfaceCream:"#23272C",surfaceSubtle:"#23272C",background:"#15171A",borderRingCream:"#3A3F45",chatGround:"#1C1F23",composerFill:"#23272C",composerBorder:"rgba(107,211,154,0.75)",shadow:"#000000",text:{primary:"#F5F3F0",secondary:"#A9E4C4",muted:"#9A938C",placeholder:"rgba(255,255,255,0.55)",onBrand:"#0E1F17",metaCool:"#C9C9C9",timestamp:"rgba(245,243,240,0.7)"},primary:"#6BD39A",onPrimary:"#0E1F17",accent:"#6BD39A",onAccent:"#0E1F17",accentEdge:"#34D888",success:"#07C168",danger:"#F87171",errorRed:"#FF6B5B",warningStrong:"#F0A35E",cautionAccent:"#D9821D",riskConcern:"#EFA700",sentiment:{up:"#07C168",neutral:"#FBC558",down:"#FF1B00"},badgeBgPositive:"rgba(7,193,104,0.18)",badgeBgCaution:"rgba(217,130,29,0.20)",badgeBgCritical:"rgba(185,28,28,0.22)",badgeBgNeutral:"rgba(255,255,255,0.10)",bubbleUser:"#6BD39A",bubbleAssistant:"#1C1F23",skeleton:"#23272C",scanButtonPink:"#FFC3BC",checkupCardLowRiskBg:"rgba(7,193,104,0.16)",checkupCardConcernBg:"rgba(239,167,0,0.16)"};xr({brightness:"dark",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:Sd,space:Ll,radius:Ml,type:Vl(),motion:jl,slots:zl});var Ul=Symbol.for("@everfur/sdk#EverfurThemeContext@v1"),Wl=globalThis,wr=Wl[Ul]??(Wl[Ul]=createContext(Hl));wr.displayName??="EverfurThemeContext";function R(){return useContext(wr)}o(R,"useEverfurTheme");function Id(e,t){let n=e.scaleCaps[t];return n>0?n:void 0}o(Id,"tierMultiplier");function v({tier:e="content",...t}){let{type:n}=R(),r=Id(n,e);return createElement(Text,r===void 0?t:{maxFontSizeMultiplier:r,...t})}o(v,"Text");var Kl=forwardRef(o(function(t,n){return createElement(TextInput,{...t,...n===null?{}:{ref:n}})},"TextInput"));var Od=Object.freeze({regular:"regular",medium:"medium",bold:"bold",mono:"regular",monoMedium:"medium",monoBold:"bold"});function b(e,t){let n=e.type,r=n.families[t];return t==="mono"||n.namedFaces[t]?{fontFamily:r}:{fontFamily:r,fontWeight:n.weight[Od[t]]}}o(b,"face");var Or=class Or 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(Or,"HostRenderBoundary");var Pr=Or;function Dd({render:e}){return e()}o(Dd,"RenderHost");function Ir({render:e,fallback:t,resetKey:n}){return createElement(Pr,{fallback:t,resetKey:n,children:createElement(Dd,{render:e})})}o(Ir,"HostRender");var Bd=48;function Fd(e){return e.isPending?"pending":e.enabled?"enabled":"disabled"}o(Fd,"selectView");function Xl(e){let{capability:t,children:n,renderDisabled:r,renderPending:i,style:l}=e,a=_t(t),s=useMemo(()=>Fd(a),[a]);switch(s){case "enabled":return n;case "pending":return i?jsx(Ir,{render:i,fallback:jsx(Gl,{capability:t,style:l})}):jsx(Gl,{capability:t,style:l});case "disabled":return r?jsx(Ir,{render:()=>r(a),fallback:jsx(Jl,{decision:a,style:l}),resetKey:a}):jsx(Jl,{decision:a,style:l});default:return Xt(s)}}o(Xl,"CapabilityGate");function Gl({capability:e,style:t}){let n=R(),r=useMemo(()=>Ql(n),[n]);return jsx(View,{style:[r.offstate,t],accessible:true,accessibilityState:{busy:true},accessibilityLabel:`Loading ${e}`,children:jsx(View,{style:r.skeletonBar})})}o(Gl,"PendingSkeleton");function Jl({decision:e,style:t}){let n=R(),r=useMemo(()=>Ql(n),[n]),i=e.disabled?.reason??"";return jsx(View,{style:[r.offstate,t],accessible:true,accessibilityRole:"text",accessibilityLabel:i,children:i.length>0?jsx(v,{style:r.offstateText,children:i}):null})}o(Jl,"OffState");function Ql(e){let{color:t,space:n,radius:r,type:i}=e;return StyleSheet.create({offstate:{minHeight:Bd,justifyContent:"center",paddingHorizontal:n.lg,paddingVertical:n.md,backgroundColor:t.surfaceCream,borderRadius:r.md,borderWidth:StyleSheet.hairlineWidth,borderColor:t.brandBorder},offstateText:{...b(e,"regular"),fontSize:i.size.body,lineHeight:Math.round(i.size.body*i.lineHeight.normal),color:t.text.muted},skeletonBar:{height:n.md,borderRadius:r.xs,backgroundColor:t.brandSofter}})}o(Ql,"makeStyles");function bn(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(bn,"hasLoneSurrogate");function hn(e){return [...e].length}o(hn,"serverLength");var Zl=Object.freeze({dog:"dog",canine:"dog",k9:"dog",puppy:"dog",cat:"cat",feline:"cat",kitten:"cat"});function ei(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return Object.prototype.hasOwnProperty.call(Zl,t)?Zl[t]:null}o(ei,"canonicalPetSpecies");var ti=50,Nd=128,Br=120,ni=120,Ld=2e3,ri=120,Md=80,ii=new Set(["male","female","unknown"]),ai=new Set(["day","month","year"]),si=new Set(["low","medium","high","athletic"]),di=new Set(["indoor","outdoor","both"]),ci=new Set(["mild","moderate","severe"]),Vd=/^(\d{4})-(\d{2})-(\d{2})$/,ui=[["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"]],pi=[["allergies","allergies"],["medications","medications"],["supplements","supplements"],["conditions","conditions"]];Object.freeze([...ui,...pi].map(([e])=>e));function zd(e){let t=Vd.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(zd,"isRealDate");var At=o(e=>(t,n)=>typeof n=="string"&&e.has(n)?null:`${t} must be one of ${[...e].join(", ")}`,"oneOf"),jd=o((e,t)=>typeof t=="boolean"?null:`${e} must be true or false`,"boolean"),En=o((e,t)=>typeof t=="string"&&zd(t)?null:`${e} must be a real date written YYYY-MM-DD`,"date"),be=o((e,t={})=>(n,r)=>{if(typeof r!="string")return `${n} must be a string`;if(bn(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=hn(i);return l<=e?null:`${n} is ${l} characters; the server accepts at most ${e}`},"text"),Hd={sex:At(ii),spayedNeutered:jd,birthDate:En,birthDatePrecision:At(ai),activityLevel:At(si),indoorOutdoor:At(di),foodBrand:be(ri),foodType:be(ri),microchipId:be(Md)},Fr=["ref","ref",false,be(Nd,{required:true,trimmed:true})],Nr=["notes","notes",false,be(Ld,{trimmed:true})],oi=[Fr,["name","name",true,be(Br,{required:true,trimmed:true})],["dose","dose",false,be(ni,{trimmed:true})],["frequency","frequency",false,be(ni,{trimmed:true})],["startDate","start_date",false,En],["endDate","end_date",false,En],Nr],Ud={allergies:[Fr,["allergen","allergen",true,be(Br,{required:true,trimmed:true})],["severity","severity",false,At(ci)],Nr],medications:oi,supplements:oi,conditions:[Fr,["conditionName","condition_name",true,be(Br,{required:true,trimmed:true})],["diagnosedDate","diagnosed_date",false,En],Nr]};function Wd(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,c,p,g]of Ud[e]){let f=i[d];if(f==null){if(p)return {error:`${r}.${d} is required`};f===null&&(l[c]=null);continue}let y=g(`${r}.${d}`,f);if(y!==null)return {error:y};l[c]=f;}let a=l.start_date,s=l.end_date;return typeof a=="string"&&typeof s=="string"&&s<a?{error:`${r}.endDate must not be before startDate`}:{item:l}}o(Wd,"itemToWire");function qd(e,t){if(!Array.isArray(t))return {error:`${e} must be an array (send [] to clear it)`};if(t.length>ti)return {error:`${e} has ${t.length} items; the server accepts at most ${ti}`};let n=[],r=new Set;for(let i=0;i<t.length;i+=1){let l=Wd(e,i,t[i]);if("error"in l)return l;let a=l.item.ref;if(typeof a=="string"){let s=a.trim();if(r.has(s))return {error:`${e}: ref ${JSON.stringify(s)} is used twice; a ref names one item`};r.add(s);}n.push(l.item);}return {items:n}}o(qd,"listToWire");function fi(e,t){let n=e,r={};for(let[a,s]of ui){let d=n[a];if(d!==void 0){if(d!==null){let c=Hd[a](a,d);if(c!==null)return {error:c}}r[s]=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[a,s]of pi){let d=n[a];if(d===void 0)continue;let c=qd(a,d);if("error"in c)return c;r[s]=c.items;}return Object.keys(r).length>0&&t!==void 0&&ei(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(fi,"petHealthToWire");var G=o(e=>typeof e=="string"?e:null,"str"),Ot=o((e,t)=>typeof t=="string"&&e.has(t)?t:null,"pick"),Kd=o(e=>typeof e=="boolean"?e:null,"bool");function Tn(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(Tn,"itemsFromWire");function li(e){let t=G(e.name);return t===null||t.length===0?null:Object.freeze({ref:G(e.ref),name:t,dose:G(e.dose),frequency:G(e.frequency),startDate:G(e.start_date),endDate:G(e.end_date),notes:G(e.notes)})}o(li,"medicationFromWire");function yi(e){let t=e.profile_version;return Object.freeze({profileVersion:typeof t=="number"&&Number.isInteger(t)&&t>=0?t:0,sex:Ot(ii,e.sex),spayedNeutered:Kd(e.spayed_neutered),birthDate:G(e.birth_date),birthDatePrecision:Ot(ai,e.birth_date_precision),activityLevel:Ot(si,e.activity_level),indoorOutdoor:Ot(di,e.indoor_outdoor),foodBrand:G(e.food_brand),foodType:G(e.food_type),microchipId:G(e.microchip_id),allergies:Tn(e.allergies,n=>{let r=G(n.allergen);return r===null||r.length===0?null:Object.freeze({ref:G(n.ref),allergen:r,severity:Ot(ci,n.severity),notes:G(n.notes)})}),medications:Tn(e.medications,li),supplements:Tn(e.supplements,li),conditions:Tn(e.conditions,n=>{let r=G(n.condition_name);return r===null||r.length===0?null:Object.freeze({ref:G(n.ref),conditionName:r,diagnosedDate:G(n.diagnosed_date),notes:G(n.notes)})})})}o(yi,"petHealthFromWire");var gi=100,bi=50,hi=100,Ti=50,Ei=500,$d=128,Yd=6e4;function Te(e){return ae("validationFailed",{retryable:false,wireMessage:e})}o(Te,"invalid");function Je(e,t,n){if(typeof t!="string")return Te(`${e} must be a string`);let r=hn(t);return r<=n?null:Te(`${e} is ${r} characters; the server accepts at most ${n}`)}o(Je,"checkString");function kn(e,t,n){return typeof t=="number"&&Number.isFinite(t)&&t>=0&&t<=n?null:Te(`${e} must be a finite number between 0 and ${n}`)}o(kn,"outOfRange");function mi(e,t){if(typeof e!="string")return Te("pet_ref must be a string");if(e.trim().length===0)return Te("pet_ref must not be blank");if(bn(e))return Te("pet_ref contains an unpaired surrogate and cannot be encoded");if(t!=null&&typeof t!="object")return Te("profile must be an object");let n=[Je("pet_ref",e,$d)];return t?.name!==void 0&&n.push(Je("name",t.name,gi)),t?.species!==void 0&&n.push(Je("species",t.species,bi)),t?.breed!==void 0&&n.push(Je("breed",t.breed,hi)),t?.ageYears!==void 0&&n.push(kn("age_years",t.ageYears,Ti)),t?.weightKg!==void 0&&n.push(kn("weight_kg",t.weightKg,Ei)),n.find(r=>r!==null)??null}o(mi,"validate");function ki(e,t){let n=fi(e,t);return "error"in n?{error:Te(n.error)}:n}o(ki,"healthToWire");function Gd(e){if(typeof e!="object"||e===null)return {error:Te("patch must be an object")};let t=e,n=[["name","name",l=>Je("name",l,gi)],["species","species",l=>Je("species",l,bi)],["breed","breed",l=>Je("breed",l,hi)],["ageYears","age_years",l=>kn("age_years",l,Ti)],["weightKg","weight_kg",l=>kn("weight_kg",l,Ei)]],r={};for(let[l,a,s]of n){let d=t[l];if(d!==void 0){if(d!==null){let c=s(d);if(c!==null)return {error:c}}r[a]=d;}}let i=ki(t,t.species);return "error"in i?i:(Object.assign(r,i.body),Object.keys(r).length===0?{error:Te("patch must change at least one field")}:{body:r})}o(Gd,"patchToWire");function Jd(e){if(e==null)return {body:{}};let t=ki(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(Jd,"toWire");var he=o(e=>typeof e=="string"?e:null,"str"),Cn=o(e=>typeof e=="number"&&Number.isFinite(e)?e:null,"num");function vi(e,t){let n=typeof e=="object"&&e!==null?e:{};return Object.freeze({petRef:he(n.pet_ref)??t,name:he(n.name),species:he(n.species),breed:he(n.breed),ageYears:Cn(n.age_years),weightKg:Cn(n.weight_kg)})}o(vi,"fromWire");function Ci(e){if(typeof e!="object"||e===null)return null;let t=e,n=he(t.pet_ref);return n===null||n.length===0?null:Object.freeze({petId:he(t.pet_id),petRef:n,name:he(t.name),species:he(t.species),breed:he(t.breed),ageYears:Cn(t.age_years),weightKg:Cn(t.weight_kg),updatedAt:he(t.updated_at)})}o(Ci,"widgetPetFromWire");function Xd(e){let t=Ci(e);return t===null?null:Object.freeze({...t,...yi(e)})}o(Xd,"widgetPetProfileFromWire");function Qd(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=Ci(n);return r===null?[]:[r]}))}o(Qd,"petListFromWire");function Si(e){return Zd(Ct({auth:e}),Ct({auth:e,unaryTimeoutMs:Yd}))}o(Si,"createPetsRepository");function Zd(e,t=e){let n=o((i,l)=>l?{...i,signal:l}:i,"withSignal"),r=o(i=>mi(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?V(Qd(l.value)):x(l.error)},async registerPet(i,l,a){let s=mi(i,l);if(s!==null)return x(s);let d=Jd(l);if("error"in d)return x(d.error);let p={method:"POST",path:`/widget/v1/pets/${encodeURIComponent(i)}`,body:d.body},g=await e.send("pets.registerPet",a?.signal?{...p,signal:a.signal}:p);return g.ok?V(vi(g.value,i)):x(g.error)},async updatePet(i,l,a){let s=r(i);if(typeof s!="string")return x(s);let d=Gd(l);if("error"in d)return x(d.error);let c=await e.send("pets.updatePet",n({method:"PATCH",path:s,body:d.body},a?.signal));return c.ok?V(vi(c.value,i)):x(c.error)},async getPetProfile(i,l){let a=r(i);if(typeof a!="string")return x(a);let s=await e.send("pets.getPetProfile",n({method:"GET",path:`${a}/profile`},l?.signal));if(!s.ok)return x(s.error);let d=Xd(s.value);return d===null?x(ae("internalError",{retryable:false,httpStatus:502,wireMessage:"the pet profile response carried no pet_ref"})):V(d)},async deletePet(i,l){let a=r(i);if(typeof a!="string")return x(a);let s=await e.send("pets.deletePet",n({method:"DELETE",path:a},l?.signal));return s.ok?V(void 0):x(s.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?V(void 0):x(l.error)}}}o(Zd,"createPetsRepositoryOver");function dt(){let{runtime:e,userRef:t,activePet:n,scopeEpoch:r}=Ye(),i=useMemo(()=>Si(e.registry.services.authFor(t)),[e,t,r]),[l,a]=useState({repository:i,pets:[],loading:true,error:null}),s=l.repository===i?l:{pets:[],loading:true,error:null},d=useRef(0),c=useCallback(async()=>{let g=++d.current;a(y=>({...y,repository:i,loading:true,error:null,pets:y.repository===i?y.pets:[]}));let f=await i.list();g===d.current&&a(f.ok?{repository:i,pets:f.value,loading:false,error:null}:y=>({repository:i,pets:y.repository===i?y.pets:[],loading:false,error:f.error}));},[i]);useEffect(()=>(c(),()=>{d.current+=1;}),[c]);let p=useMemo(()=>n===null?null:s.pets.find(g=>g.petRef===n)??null,[n,s.pets]);return useMemo(()=>({pets:s.pets,activePet:p,loading:s.loading,error:s.error,refresh:c}),[s.pets,s.loading,s.error,p,c])}o(dt,"useEverfurPets");var je=Object.freeze(["pet","issues","reason","clinician","time","review","booked"]),Ri=Object.freeze({petId:null,state:null,clinicianId:null,slot:null,holdExpiresAt:null,shareHealthRecords:false,idempotencyKey:null});function Vr(e,t={}){let n=Object.freeze({...Ri,...t}),r=Mr(0,e);return Object.freeze({index:r,draft:n,furthestIndex:r})}o(Vr,"initialTelevetBookingState");function Sn(e,t){return e==="pet"?t.ownedPetCount<=1:e==="issues"?t.withIssues!==true:false}o(Sn,"isSkipped");function Rn(e){return je[e]}o(Rn,"stepAt");function Mr(e,t){for(let n=e;n<je.length;n+=1){let r=Rn(n);if(r&&!Sn(r,t))return n}return je.length-1}o(Mr,"nextVisible");function _i(e,t){for(let n=e;n>=0;n-=1){let r=Rn(n);if(r&&!Sn(r,t))return n}return null}o(_i,"previousVisible");function zr(e,t){return _i(e.index-1,t)!==null}o(zr,"hasPreviousStep");function jr(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=Mr(e.index+1,n);return Object.freeze({...e,index:r,furthestIndex:Math.max(e.furthestIndex,r)})}case "back":{if(Rn(e.index)==="booked")return e;let r=_i(e.index-1,n);return r===null?e:Object.freeze({...e,index:r})}case "goTo":{let r=je.indexOf(t.step);if(r<0)return e;let i=Sn(t.step,n)?Mr(r,n):r;return Object.freeze({...e,index:i,furthestIndex:Math.max(e.furthestIndex,i)})}default:return e}}o(jr,"televetBookingReducer");function Hr(e){return Rn(e.index)??"pet"}o(Hr,"currentStep");function Dt(e,t){let n=t.trim();return !!e.petId&&!!e.clinicianId&&!!e.slot&&ve(e.state)&&n.length>0&&n.length<=xe}o(Dt,"canConfirm");function _n(e,t){if(!e.holdExpiresAt)return false;let n=Date.parse(e.holdExpiresAt);return Number.isNaN(n)?false:n<=t}o(_n,"isHoldExpired");function xi(e,t,n){return e.slot?.slotId!==t||e.holdExpiresAt===null||e.idempotencyKey===null?false:!_n(e,n)}o(xi,"holdsSlot");var wi=Object.freeze({slot:null,holdExpiresAt:null,idempotencyKey:null}),oc=er();function Ur(e){return `televet.book.${oc()}.${e}`}o(Ur,"televetBookingKey");function Wr(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(Wr,"attestation");function we(e){let t=new Date(e);return Number.isNaN(t.getTime())?null:t}o(we,"parse");function Xe(e){let t=we(e);return t?t.toLocaleTimeString(void 0,{hour:"numeric",minute:"2-digit"}):""}o(Xe,"formatClock");function lc(e){let t=we(e);return t?t.toLocaleDateString(void 0,{month:"long",day:"numeric"}):""}o(lc,"formatDate");var ct=10;function ut(e){let t=we(e);return t?new Intl.DateTimeFormat(void 0,{timeZoneName:"short"}).formatToParts(t).find(r=>r.type==="timeZoneName")?.value??"":""}o(ut,"formatZone");function ic(e){let t=we(e);if(!t)return "";let n=new Date(t.getTime()+ct*6e4).toISOString(),r=ut(e),i=`${Xe(e)} - ${Xe(n)}`;return r&&r!==""?`${i} ${r}`:i}o(ic,"formatVisitRange");function Pi(e){let t=lc(e),n=[Xe(e),ut(e)].filter(Boolean).join(" ");return [t,n].filter(Boolean).join(", ")}o(Pi,"formatWhen");function ye(e){let t=we(e);return t?[t.toLocaleDateString(void 0,{weekday:"short"}),Pi(e)].filter(Boolean).join(", "):""}o(ye,"formatWhenWithDay");function Ii(e){let t=we(e);if(!t)return "";let n=t.toLocaleDateString(void 0,{weekday:"short"}),r=t.toLocaleDateString(void 0,{year:"numeric",month:"long",day:"numeric"}),i=[Xe(e),ut(e)].filter(Boolean).join(" ");return [n,r,i].filter(Boolean).join(", ")}o(Ii,"formatRecordWhen");function Bt(e){let t=we(e);return t?`${t.getFullYear()}-${t.getMonth()+1}-${t.getDate()}`:"unknown"}o(Bt,"localDayKey");function Oi(e){let t=we(e);return t===null?"":t.toLocaleDateString(void 0,{month:"long"})}o(Oi,"formatMonthLabel");function Ai(e){let t=we(e);return t===null?"":t.toLocaleDateString(void 0,{weekday:"long",month:"long",day:"numeric"})}o(Ai,"formatFullDayLabel");function Bi(e){let{draft:t,reasonText:n,book:r,stateAttested:i,termsAttested:l,cancellationPolicy:a,triage:s,goTo:d,releaseSlot:c,setFailure:p,setEmergency:g,setBookedConsult:f,onBooked:y}=e,C=useCallback(I=>{if(!Dt(t,n)||!t.idempotencyKey)return;if(_n(t,Date.now())){p("expired"),d("time");return}let S=o(E=>{let T=Le(E);if(T.kind==="emergency"){g(T.categories);return}if(T.kind==="rate_limited"){p("rate_limited");return}p(T.kind==="not_entitled"?"not_entitled":T.kind==="slot_taken"?"taken":T.kind==="clinician_unavailable"?"clinician_unavailable":T.kind==="unavailable"?"unavailable":"failed"),T.kind==="slot_taken"&&(c(),d("time"));},"refuse");p(null),g(null),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:[],emergency_acknowledged:I||s.isAcknowledged(n),share_health_records:t.shareHealthRecords,...Wr(i,l,a)},t.idempotencyKey,{onSuccess:o(E=>{if(!ln(E)){S(nn(E.status));return}f(E),d("booked"),y?.(E);},"onSuccess"),onError:o(E=>S(rn(E)),"onError")});},[t,n,r,i,l,a,s,d,c,p,g,f,y]),_=useCallback(()=>C(false),[C]);return {submitBooking:C,confirm:_}}o(Bi,"useBookingSubmit");function sc(e){if(e.httpStatus===409)return Object.freeze({failure:"taken"});switch(Le(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(sc,"televetHoldFailure");function Fi(e){let{draft:t,hold:n,dispatch:r,setFailure:i,refetchSlots:l}=e;return useCallback(a=>{if(i(null),xi(t,a.slotId,Date.now())){r({type:"next"});return}n.mutate(a.slotId,{onSuccess:o(s=>{r({type:"patch",patch:{slot:a,holdExpiresAt:s.expiresAt,idempotencyKey:Ur(a.slotId)}}),r({type:"next"});},"onSuccess"),onError:o(s=>{let d=sc(s);i(d.failure),d.failure==="taken"&&l();},"onError")});},[t,n,r,i,l])}o(Fi,"useSlotHold");function $r(e){let[t,n]=useState(false),[r,i]=useState(false),[l,a]=useState(null),s=useRef(null),d=useRef(null),c=useRef(true);useEffect(()=>(c.current=true,()=>{c.current=false,d.current?.abort(),d.current=null;}),[]);let p=useCallback(()=>{d.current?.abort(),d.current=null,c.current&&i(false);},[]),g=useCallback(async I=>{if(d.current!==null)return false;let S=I.trim();if(l!==null&&l===S||!e)return true;let E=s.current!==null&&s.current.reason===S?s.current.emergency:null;if(E===null){let T=new AbortController;d.current=T,i(true);try{let D=await e(S,T.signal);if(T.signal.aborted||!c.current)return !1;D===null?E=!1:(E=D.isEmergency||D.fallback,s.current=Object.freeze({reason:S,emergency:E}));}catch{if(T.signal.aborted||!c.current)return false;E=false;}finally{d.current===T&&(d.current=null,c.current&&i(false));}}return E===true?(n(true),false):true},[l,e]),f=useCallback(I=>{a(I.trim()),n(false);},[]),y=useCallback(()=>n(false),[]),C=useCallback(()=>{p(),s.current=null,a(null),n(false);},[p]),_=useCallback(I=>l!==null&&l===I.trim(),[l]);return {open:t,checking:r,check:g,acknowledge:f,close:y,cancel:p,reset:C,isAcknowledged:_}}o($r,"useEarlyTriage");function fc(e){let t=e?.trim().toUpperCase()??"";return /^[A-Z]{2}$/.test(t)?t:null}o(fc,"normalizeStateCode");function Yr(e,t){let n=fc(e),[r,i]=useState(()=>Object.freeze({})),l=useRef(0),a=useRef(null),s=useCallback(d=>{if(!t||n===null)return null;let c=`${n}:${d}`;a.current!==null&&a.current!==c&&(l.current+=1),a.current=c;let p=r[c]??"idle";return {joined:p==="joined",pending:p==="pending",failed:p==="failed",onPress:o(()=>{if(p==="pending"||p==="joined")return;let g=l.current+=1;i(f=>Object.freeze({...f,[c]:"pending"})),(async()=>{let f=false;try{f=await t(n,d);}catch{f=false;}l.current===g&&i(y=>Object.freeze({...y,[c]:f?"joined":"failed"}));})();},"onPress")}},[n,r,t]);return useMemo(()=>({actionFor:s}),[s])}o(Yr,"useStateInterest");function Gr(e){return Object.freeze(e==="dark"?{title:u.noCliniciansTitle,message:u.noCliniciansBody,retryLabel:u.noCliniciansRetryCta,interestReason:null}:{title:u.noCliniciansTitle,message:u.noCliniciansRegionBody,retryLabel:null,interestReason:"no_licensed_vet"})}o(Gr,"televetEmptyRosterView");function Jr(e){return e?"roster":"dark"}o(Jr,"televetEmptyRosterCause");var Ft=Object.freeze({failed:0,refused:Object.freeze({size:0,type:0,unreadable:0})});function Xr(e){let{failed:t,refused:n}=e;return t<=0&&n.size<=0&&n.type<=0&&n.unreadable<=0}o(Xr,"isMediaShortfallEmpty");function Qr(e){let t=o(r=>Number.isFinite(r)&&r>0?Math.floor(r):0,"count"),n=u.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=>ne(r.n===1?r.one:r.many,{n:String(r.n)}))}o(Qr,"televetMediaShortfallLines");function xn(e){let t=Number.isFinite(e)&&e>0?Math.floor(e):0;return t===0?Ft:Object.freeze({failed:t,refused:Ft.refused})}o(xn,"mediaShortfallFromUnsentPicks");function yc(e,t){let n=xn(t);return n.failed===0?e:Object.freeze({failed:e.failed+n.failed,refused:e.refused})}o(yc,"withUnsentPicks");var J=44;function F(){let e=R();return useMemo(()=>hc(e),[e])}o(F,"useBookingStyles");function P({label:e,onPress:t,kind:n="primary",disabled:r=false,loading:i=false,fullWidth:l=true,accessibilityLabel:a,testID:s,style:d}){let c=F(),p=R(),g=r||i;return jsxs(Pressable,{onPress:t,disabled:g,accessibilityRole:"button",accessibilityLabel:a??e,accessibilityState:{disabled:g,busy:i},style:[c.button,n==="primary"?c.buttonPrimary:n==="danger"?c.buttonDanger:c.buttonSecondary,l?c.buttonFull:c.buttonAuto,g?c.buttonDisabled:null,d],testID:s,children:[i?jsx(ActivityIndicator,{size:"small",color:n==="secondary"?p.color.brand:p.color.onPrimary}):null,jsx(v,{tier:"control",style:n==="secondary"?c.buttonSecondaryLabel:c.buttonPrimaryLabel,children:e})]})}o(P,"TelevetButton");function L({title:e,message:t,actionLabel:n,onAction:r,testID:i}){let l=F(),a=typeof n=="string"&&n.length>0&&typeof r=="function";return jsxs(View,{style:l.stateCard,testID:i,children:[jsx(v,{style:l.stateTitle,accessibilityRole:"header",children:e}),t?jsx(v,{style:l.stateMessage,children:t}):null,a?jsx(P,{label:n,onPress:r,kind:"secondary",fullWidth:false}):null]})}o(L,"TelevetStateCard");function re({height:e,width:t="100%",testID:n}){let r=F();return jsx(View,{style:[r.skeleton,{height:e,width:t}],testID:n,accessibilityElementsHidden:true,importantForAccessibility:"no"})}o(re,"TelevetSkeletonBlock");function q({message:e,assertive:t=false,testID:n,style:r}){let i=F();return jsx(v,{style:[i.failure,r],accessibilityLiveRegion:t?"assertive":"polite",testID:n,children:e})}o(q,"TelevetFailureLine");function hc(e){let{color:t,space:n,radius:r,type:i}=e,{size:l,lineHeight:a}=i;return StyleSheet.create({screen:{flex:1,paddingHorizontal:n.xl,gap:n.md},stepFill:{flex:1,minHeight:0,gap:n.md},list:{gap:n.sm},button:{minHeight:J,flexDirection:"row",alignItems:"center",justifyContent:"center",gap:n.sm,paddingHorizontal:n.xl,paddingVertical:n.sm,borderRadius:r.pill},buttonFull:{alignSelf:"stretch"},buttonAuto:{alignSelf:"flex-start",minWidth:J},buttonPrimary:{backgroundColor:t.primary},buttonSecondary:{borderWidth:1,borderColor:t.brandBorder,backgroundColor:"transparent"},buttonDanger:{backgroundColor:t.danger},buttonDisabled:{opacity:.45},buttonPrimaryLabel:{...b(e,"medium"),color:t.onPrimary,fontSize:l.body,lineHeight:l.body*a.snug},buttonSecondaryLabel:{...b(e,"medium"),color:t.brand,fontSize:l.body,lineHeight:l.body*a.snug},stateCard:{minHeight:140,justifyContent:"center",gap:n.sm,padding:n.lg,borderRadius:r.lg,borderWidth:1,borderColor:t.brandBorder},stateTitle:{...b(e,"medium"),color:t.brand,fontSize:l.subtitle,lineHeight:l.subtitle*a.snug},stateMessage:{...b(e,"regular"),color:t.text.metaCool,fontSize:l.body,lineHeight:l.body*a.normal},skeleton:{borderRadius:r.md,backgroundColor:t.skeleton},failure:{...b(e,"regular"),color:t.danger,fontSize:l.caption,lineHeight:l.caption*a.normal},stepTitle:{...b(e,"bold"),color:t.brand,fontSize:l.heading,lineHeight:l.heading*a.snug},stepHelp:{...b(e,"regular"),color:t.text.metaCool,fontSize:l.body,lineHeight:l.body*a.normal},divider:{height:1,backgroundColor:t.brandBorder},scrollRoot:{flex:1,minHeight:0},scrollBody:{flex:1},scrollFooter:{paddingTop:n.md,paddingBottom:n.lg}})}o(hc,"makeBookingStyles");function Nt({petName:e,primaryVet:t,onFindEmergencyVet:n}){let r=R(),i=useMemo(()=>ji(r),[r]),l=e?.trim()??"";return jsxs(Fragment,{children:[n?jsx(Pressable,{accessibilityRole:"button",accessibilityLabel:u.emergency.exitFindErTitle,onPress:()=>{Qt(n);},style:i.vetCard,testID:"televet-emergency-find-vet",children:jsx(View,{style:i.vetRow,children:jsx(v,{tier:"control",style:i.vetTitle,children:u.emergency.exitFindErTitle})})}):null,t!=null&&l.length>0?jsx(Tc,{petName:l,vet:t}):null]})}o(Nt,"TelevetEmergencyExits");function Tc({petName:e,vet:t}){let n=R(),r=useMemo(()=>ji(n),[n]),i=ne(u.emergency.exitPrimaryVetTitle,{petName:e}),l=t.detail?.trim()??"",a=jsx(View,{style:r.vetRow,children:jsxs(View,{style:r.vetText,children:[jsx(v,{tier:"control",style:r.vetTitle,children:i}),l.length>0?jsx(v,{style:r.vetDetail,children:l}):null]})});if(!t.dial)return jsx(View,{style:r.vetCard,testID:"televet-early-emergency-primary-vet",children:a});let s=t.dial;return jsx(Pressable,{accessibilityRole:"link",accessibilityLabel:l.length>0?`${i}, ${l}`:i,accessibilityHint:u.emergency.startCallHint,onPress:()=>{Qt(s);},style:r.vetCard,testID:"televet-early-emergency-primary-vet-call",children:a})}o(Tc,"PrimaryVetCard");function ji(e){let{color:t,space:n,radius:r,type:i}=e,{size:l,lineHeight:a}=i;return {vetCard:{minHeight:J,justifyContent:"center",padding:n.lg,borderRadius:r.lg,borderWidth:1,borderColor:t.brandBorder,backgroundColor:t.surface},vetRow:{flexDirection:"row",alignItems:"center",gap:n.sm},vetText:{flexShrink:1,gap:n.xs},vetTitle:{...b(e,"medium"),color:t.text.primary,fontSize:l.body,lineHeight:l.body*a.normal},vetDetail:{...b(e,"regular"),color:t.text.metaCool,fontSize:l.caption,lineHeight:l.caption*a.normal}}}o(ji,"makeExitStyles");function Wi({petName:e,primaryVet:t,onFindEmergencyVet:n,onContinue:r}){let i=R(),l=F(),a=useMemo(()=>no(i),[i]);return jsxs(View,{style:[l.stepFill,a.emergencyPanel],testID:"televet-early-emergency",children:[jsx(v,{tier:"heading",accessibilityRole:"header",accessibilityLiveRegion:"assertive",style:a.emergencyTitle,children:u.emergency.bannerTitle}),jsx(v,{style:a.emergencyLede,children:u.emergency.lede}),jsx(Nt,{petName:e,primaryVet:t,onFindEmergencyVet:n}),jsx(P,{label:u.emergency.keepBookingCta,kind:"secondary",onPress:r,testID:"televet-early-emergency-continue"})]})}o(Wi,"TelevetEarlyEmergency");function eo({action:e,testIDPrefix:t}){let n=R(),r=useMemo(()=>no(n),[n]);return e===null?null:e.joined?jsxs(View,{testID:`${t}-joined`,style:r.interestFeedback,children:[jsx(v,{tier:"control",accessibilityRole:"header",children:u.stateInterest.joinedTitle}),jsx(v,{style:r.interestBody,children:u.stateInterest.joinedBody})]}):jsxs(View,{testID:t,style:r.interestAction,children:[jsx(P,{label:u.stateInterest.cta,kind:"secondary",loading:e.pending,disabled:e.pending,onPress:e.onPress,testID:`${t}-submit`}),e.failed?jsx(q,{message:u.stateInterest.failed,testID:`${t}-error`}):null]})}o(eo,"TelevetStateInterestAction");function qi({cause:e,onRetry:t,stateInterest:n=null}){let r=Gr(e);return jsxs(View,{testID:"televet-clinicians-empty",children:[jsx(L,{title:r.title,message:r.message,...r.retryLabel!==null&&t?{actionLabel:r.retryLabel,onAction:t}:{}}),r.interestReason!==null?jsx(eo,{action:n??null,testIDPrefix:"televet-state-interest-no-licensed-vet"}):null]})}o(qi,"TelevetClinicianEmptyState");function Cc({onCheckAvailability:e}){return jsx(to,{...e?{onCheckAvailability:e}:{}})}o(Cc,"TelevetEntitlementInterestState");function to({onCheckAvailability:e,renderUnavailable:t}){let n=F();return jsxs(View,{testID:"televet-booking-not-entitled",style:n.list,children:[t?t():jsx(L,{title:u.bookingPausedTitle}),e?jsx(P,{label:u.checkAvailabilityCta,kind:"secondary",onPress:e,testID:"televet-check-state-availability"}):null]})}o(to,"EntitlementPausedState");function Lt({shortfall:e,testIDPrefix:t}){let n=R(),r=useMemo(()=>no(n),[n]);if(Xr(e))return null;let i=Qr(e);return i.length===0?null:jsx(View,{style:r.mediaNotice,testID:`${t}-media-notice`,children:i.map((l,a)=>jsx(v,{style:r.mediaLine,accessibilityLiveRegion:"polite",testID:`${t}-media-line-${String(a)}`,children:l},l))})}o(Lt,"TelevetMediaDropNotice");function no(e){let{color:t,space:n,radius:r,type:i}=e,{size:l,lineHeight:a}=i;return {emergencyPanel:{gap:n.sm,padding:n.lg,borderRadius:r.lg,borderWidth:2,borderColor:t.danger,backgroundColor:t.surface},emergencyTitle:{...b(e,"medium"),color:t.danger,fontSize:l.heading,lineHeight:l.heading*a.snug},emergencyLede:{...b(e,"regular"),color:t.text.primary,fontSize:l.subtitle,lineHeight:l.subtitle*a.normal},interestAction:{gap:n.sm,marginTop:n.sm},interestFeedback:{gap:n.xs,marginTop:n.sm},interestBody:{...b(e,"regular"),color:t.text.metaCool},mediaNotice:{gap:n.xs},mediaLine:{...b(e,"regular"),color:t.text.metaCool,fontSize:l.caption,lineHeight:l.caption*a.normal}}}o(no,"makeEdgeStyles");function Ki(e){let{surfaceUnavailable:t,notEntitled:n,policyBlocked:r,triageOpen:i,step:l}=e;return t||n&&l!=="clinician"||r?true:l==="reason"&&i}o(Ki,"televetBookingGateApplies");function $i({state:e,petName:t,primaryVet:n,onFindEmergencyVet:r,stateInterest:i=null,onCheckAvailability:l,onAcknowledgeEmergency:a,renderUnavailable:s}){let d=F(),{surfaceUnavailable:c,notEntitled:p,policyBlocked:g,triageOpen:f,step:y}=e;return c?jsx(View,{style:d.stepFill,testID:"televet-booking-unavailable",children:s?s():jsx(L,{title:u.bookingPausedTitle})}):p&&y!=="clinician"?jsx(to,{...l?{onCheckAvailability:l}:{},...s?{renderUnavailable:s}:{}}):g?jsxs(View,{testID:"televet-booking-state-blocked",children:[jsx(L,{title:u.stateBlockedTitle}),jsx(eo,{action:i,testIDPrefix:"televet-state-interest-state-blocked"})]}):y==="reason"&&f?jsx(Wi,{...t!==void 0?{petName:t}:{},...n?{primaryVet:n}:{},onFindEmergencyVet:r,onContinue:a}):null}o($i,"TelevetBookingGate");var Ui=false;function Sc(){if(!Ui){Ui=true;try{globalThis.console?.warn?.("[everfur] The vet booking has no US state for this member, so it cannot list vets. Pass the member's two-letter state as `usState` (on EverfurTelevet, VetVisitButton or EverfurChat as `vetUsState`), or pass `onRequestLocation` so the booking can ask your app to resolve one. The SDK never reads a device location itself.");}catch{}}}o(Sc,"warnNoStateSeamOnce");function Yi(e){return e.noState?true:e.isPending||e.isError?false:e.isEmpty||e.notEntitled}o(Yi,"televetClinicianOutcomeApplies");function Gi({state:e,cause:t,locationStatus:n,onRequestLocation:r,onRetry:i,stateInterest:l=null,renderUnavailable:a}){let s=e.noState&&!r;return useEffect(()=>{s&&Sc();},[s]),e.noState?jsx(View,{testID:"televet-booking-location-unknown",children:jsx(L,{title:n==="blocked"?u.locationBlockedTitle:n==="unavailable"?u.locationUnavailableTitle:u.locationUnknownTitle,message:n==="blocked"?u.locationBlockedBody:n==="unavailable"?u.locationUnavailableBody:r?u.locationUnknownBody:void 0,actionLabel:r?n==="blocked"?u.locationBlockedCta:u.locationUnknownCta:void 0,onAction:r})}):e.isEmpty?jsx(qi,{cause:t,onRetry:i,stateInterest:l}):jsx(to,{...a?{renderUnavailable:a}:{}})}o(Gi,"TelevetClinicianOutcome");function Ji(e){return `televet-consult-${e}`}o(Ji,"televetConsultCalendarKey");function oo({consult:e,petName:t,onDone:n,onAddToCalendar:r,canJoinInApp:i=false}){let l=R(),a=F(),s=useMemo(()=>wc(l),[l]),[d,c]=useState("idle"),p=o(async()=>{if(!r)return;c("saving");let f=new Date(e.scheduledAt);if(Number.isNaN(f.getTime())){c("failed");return}let y=await Zt(r,{key:Ji(e.consultId),title:u.visit.title,startDate:f,endDate:new Date(f.getTime()+ct*6e4),alarmOffsetMinutes:-30});c(y.ok&&y.value===true?"saved":"failed");},"addToCalendar"),g=[u.booked.remindPromise,ne(u.booked.summaryPromise,{pet:t??""}),...i?[u.booked.joinPromise]:[]];return Re()?jsxs(View,{style:s.screen,testID:"televet-booked",children:[jsx(View,{style:s.header,children:jsx(P,{label:u.doneCta,kind:"secondary",fullWidth:false,onPress:n,testID:"televet-booked-done"})}),jsx(View,{style:s.avatar,accessibilityElementsHidden:true,importantForAccessibility:"no"}),jsx(v,{tier:"heading",style:s.title,accessibilityRole:"header",children:u.bookedTitle}),jsx(v,{style:s.when,children:ye(e.scheduledAt)}),jsx(View,{style:s.steps,testID:"televet-booked-steps",children:g.map((f,y)=>jsxs(View,{style:s.step,children:[jsx(View,{style:s.stepNumber,accessibilityElementsHidden:true,importantForAccessibility:"no",children:jsx(v,{tier:"badge",style:s.stepNumberText,children:String(y+1)})}),jsx(v,{style:s.stepText,children:f.trim()})]},f))}),jsxs(View,{style:s.actions,children:[r?jsx(P,{label:d==="saved"?u.booked.calendarAdded:u.addToCalendarCta,kind:"primary",loading:d==="saving",disabled:d==="saving"||d==="saved",onPress:()=>{p();},testID:"televet-booked-calendar"}):null,d==="failed"?jsx(v,{style:[a.failure,s.calendarNote],accessibilityLiveRegion:"polite",testID:"televet-booked-calendar-failed",children:u.booked.calendarFailedBody}):null,jsx(P,{label:t?ne(u.booked.backToPet,{pet:t}):u.doneCta,kind:"secondary",onPress:n,testID:"televet-booked-back"})]})]}):jsx(View,{style:s.screen,testID:"televet-booked-copy-unapproved"})}o(oo,"TelevetBookedScreen");function wc(e){let{color:t,space:n,radius:r,type:i}=e,{size:l,lineHeight:a}=i;return StyleSheet.create({screen:{flex:1,paddingHorizontal:n.xl,gap:n.md},header:{alignItems:"flex-end",paddingBottom:n.lg},avatar:{alignSelf:"center",width:120,height:120,borderRadius:60,backgroundColor:t.surfaceSubtle,borderWidth:2,borderColor:t.success},title:{textAlign:"center",...b(e,"bold"),color:t.brand,fontSize:l.verdict,lineHeight:l.verdict*a.tight,letterSpacing:-0.7,paddingTop:n.lg},when:{textAlign:"center",...b(e,"regular"),color:t.text.metaCool,fontSize:l.subtitle,lineHeight:l.subtitle*a.normal},steps:{marginTop:n.xl,padding:n.lg,borderRadius:r.lg,borderWidth:1,borderColor:t.brandBorder,gap:n.lg},step:{flexDirection:"row",alignItems:"flex-start",gap:n.md},stepNumber:{width:26,height:26,borderRadius:13,backgroundColor:t.primary,alignItems:"center",justifyContent:"center"},stepNumberText:{...b(e,"medium"),color:t.onPrimary,fontSize:l.caption,lineHeight:l.caption,includeFontPadding:false},stepText:{flex:1,...b(e,"regular"),color:t.brand,fontSize:l.body,lineHeight:l.body*a.normal},actions:{marginTop:"auto",paddingBottom:n.xl,gap:n.md},calendarNote:{textAlign:"center"}})}o(wc,"makeStyles");function io({step:e,furthestIndex:t,title:n,canGoBack:r,isDirty:i,onBack:l,onClose:a,onConfirmDiscard:s}){let d=R(),c=useMemo(()=>Dc(d),[d]),p=useMemo(()=>()=>{if(!i){a();return}let E={title:u.chrome.discardTitle,body:u.chrome.discardBody,confirmLabel:u.chrome.discardConfirmCta,keepLabel:u.chrome.discardKeepCta};if(s){Promise.resolve(s(E)).then(T=>{T&&a();},()=>{});return}Alert.alert(E.title,E.body,[{text:E.keepLabel,style:"cancel"},{text:E.confirmLabel,style:"destructive",onPress:a}]);},[i,a,s]),g=useMemo(()=>()=>r?(l(),true):(p(),true),[r,l,p]);useEffect(()=>{let E=BackHandler.addEventListener("hardwareBackPress",g);return ()=>{E.remove();}},[g]),lt(g);let f=je.filter(E=>E!=="issues"),y=f.length,C=je[t],_=C===void 0?0:Math.max(0,f.indexOf(C==="issues"?"reason":C)),S=e==="booked"?1:Math.min(1,(_+1)/y);return jsxs(View,{style:c.wrap,children:[jsxs(View,{style:c.bar,children:[jsx(View,{style:c.side,children:jsx(Pressable,{onPress:r?l:p,accessibilityRole:"button",accessibilityLabel:Pn,testID:"televet-booking-back",style:c.tap,children:jsx(View,{style:c.chevron,accessibilityElementsHidden:true,importantForAccessibility:"no"})})}),jsx(v,{tier:"heading",style:c.title,accessibilityRole:"header",children:n??u.navTitle}),jsx(View,{style:[c.side,c.sideRight],children:jsx(Pressable,{onPress:p,accessibilityRole:"button",accessibilityLabel:u.close,accessibilityHint:u.chrome.closeHint,testID:"televet-booking-close",style:c.tap,children:jsx(v,{tier:"control",style:c.close,children:u.close})})})]}),jsx(View,{style:c.railTrack,accessibilityElementsHidden:true,importantForAccessibility:"no-hide-descendants",children:jsx(View,{style:[c.railFill,{width:`${Math.round(S*100)}%`}],testID:"televet-booking-rail"})})]})}o(io,"TelevetBookingChrome");var Pn="Back";function Dc(e){let{color:t,space:n,type:r}=e,{size:i,lineHeight:l}=r;return StyleSheet.create({wrap:{backgroundColor:t.surface},bar:{flexDirection:"row",alignItems:"center",paddingHorizontal:n.lg,minHeight:56},side:{minWidth:64,justifyContent:"center"},sideRight:{alignItems:"flex-end"},tap:{minHeight:J,minWidth:J,justifyContent:"center",paddingHorizontal:n.xs},chevron:{width:10,height:10,borderLeftWidth:2,borderBottomWidth:2,borderColor:t.brand,transform:[{rotate:"45deg"}]},title:{flex:1,textAlign:"center",...b(e,"medium"),color:t.brand,fontSize:i.subtitle,lineHeight:i.subtitle*l.normal},close:{...b(e,"medium"),color:t.brand,fontSize:i.subtitle,lineHeight:i.subtitle*l.normal},railTrack:{height:4,backgroundColor:t.surfaceSubtle},railFill:{height:4,backgroundColor:t.success}})}o(Dc,"makeStyles");function Zi(e){let t=[],n=Bc(e.ageYears);n!==null&&t.push(`${String(n)} yr${n===1?"":"s"} old`);let r=e.weightKg;typeof r=="number"&&Number.isFinite(r)&&r>0&&t.push(`${String(Math.round(r))} kg`);let i=e.breed?.trim();return i&&t.push(i),t.join(" \xB7 ")}o(Zi,"formatTelevetPetMetaLine");function Bc(e){if(typeof e!="number"||!Number.isFinite(e))return null;let t=Math.floor(e);return t>=0?t:null}o(Bc,"wholeYears");function so({media:e,onChange:t,onPickMedia:n}){let r=R(),i=useMemo(()=>Hc(r),[r]),l=sn-e.length,[a,s]=useState(false);if(!n)return null;let d=o(async()=>{if(!(a||l<=0)){s(true);try{let c=await Zt(n,l);if(!c.ok||c.value===null||c.value.length===0)return;let p=new Set(e.map(f=>f.uri)),g=c.value.filter(f=>typeof f?.uri=="string"&&f.uri.length>0&&!p.has(f.uri));if(g.length===0)return;t([...e,...g].slice(0,sn));}finally{s(false);}}},"pick");return jsxs(View,{style:i.row,children:[e.map((c,p)=>jsxs(View,{style:i.thumb,children:[jsx(Image,{source:{uri:c.uri},style:i.thumbImage,resizeMode:"cover"}),c.mimeType?.startsWith("video/")?jsx(View,{style:i.videoBadge,testID:`televet-intake-media-video-${String(p)}`,children:jsx(v,{tier:"badge",style:i.videoBadgeText,children:jc})}):null,jsx(Pressable,{onPress:()=>t(e.filter((g,f)=>f!==p)),accessibilityRole:"button",accessibilityLabel:u.removePhotoLabel,testID:`televet-intake-media-remove-${String(p)}`,style:i.remove,children:jsx(v,{tier:"control",style:i.removeGlyph,children:zc})})]},`${c.uri}-${String(p)}`)),l>0?jsx(Pressable,{onPress:()=>{d();},disabled:a,accessibilityRole:"button",accessibilityLabel:u.addPhotoCta,accessibilityState:{busy:a,disabled:a},testID:"televet-intake-add-media",style:[i.dropzone,a?i.dropzoneBusy:null],children:a?jsx(ActivityIndicator,{testID:"televet-intake-media-busy"}):jsx(v,{tier:"compact",style:i.dropzoneText,children:u.addPhotoCta})}):null]})}o(so,"TelevetIntakeMedia");var zc="\xD7",jc="\u25B6",In=92;function Hc(e){let{color:t,space:n,radius:r,type:i}=e,{size:l,lineHeight:a}=i;return StyleSheet.create({row:{flexDirection:"row",flexWrap:"wrap",gap:n.md,paddingTop:n.sm},thumb:{width:In,height:In,borderRadius:r.md,backgroundColor:t.surfaceSubtle},thumbImage:{width:"100%",height:"100%",borderRadius:r.md},videoBadge:{position:"absolute",left:6,bottom:6,paddingHorizontal:6,paddingVertical:2,borderRadius:r.sm,backgroundColor:t.shadow},videoBadgeText:{color:t.text.onBrand,fontSize:l.nano},remove:{position:"absolute",top:-8,right:-8,width:J-16,height:J-16,borderRadius:J/2,backgroundColor:t.text.metaCool,alignItems:"center",justifyContent:"center"},removeGlyph:{...b(e,"medium"),color:t.surface,fontSize:l.subtitle,lineHeight:l.subtitle,includeFontPadding:false},dropzone:{width:In,height:In,borderRadius:r.md,borderWidth:1,borderStyle:"dashed",borderColor:t.brandBorder,alignItems:"center",justifyContent:"center",paddingHorizontal:n.sm},dropzoneBusy:{opacity:.6},dropzoneText:{...b(e,"mono"),color:t.text.metaCool,fontSize:l.nano,lineHeight:l.nano*a.normal,letterSpacing:.3,textAlign:"center"}})}o(Hc,"makeStyles");function co({slots:e,selectedDayKey:t,onSelectDay:n}){let r=R(),i=useMemo(()=>Gc(r),[r]),l=useMemo(()=>Dn(e),[e]),a=Yc(),s=l[0];return s===void 0?null:jsxs(View,{children:[jsx(v,{tier:"compact",style:i.month,testID:"televet-day-strip-month",children:Oi(s.iso)}),jsx(ScrollView,{ref:a.scrollRef,horizontal:true,showsHorizontalScrollIndicator:false,contentContainerStyle:i.strip,onLayout:a.onStripLayout,onContentSizeChange:a.onContentSize,testID:"televet-day-strip",children:l.map(d=>{let c=d.key===t;return jsxs(Pressable,{onLayout:c?a.onSelectedDayLayout:void 0,onPress:()=>n(d),accessibilityRole:"button",accessibilityLabel:Ai(d.iso),accessibilityState:{selected:c},testID:`televet-day-${d.key}`,style:[i.day,c?i.daySelected:null],children:[jsx(v,{tier:"compact",style:[i.dayWeekday,c?i.dayTextSelected:null],children:d.weekday}),jsx(v,{tier:"compact",style:[i.dayNumber,c?i.dayTextSelected:null],children:d.dayNumber})]},d.key)})})]})}o(co,"TelevetDayStrip");var $c=Object.freeze({done:false,viewport:null,content:null,chip:null});function Yc(){let e=useRef(null),t=useRef($c),n=useCallback(a=>{let s={...t.current,...a};if(s.done||s.viewport===null||s.content===null||s.chip===null){t.current=s;return}t.current={...s,done:true};let d=s.chip.x-(s.viewport-s.chip.width)/2,c=Math.min(Math.max(0,d),Math.max(0,s.content-s.viewport));c>0&&e.current?.scrollTo({x:c,animated:false});},[]),r=useCallback(a=>n({viewport:a.nativeEvent.layout.width}),[n]),i=useCallback(a=>n({content:a}),[n]),l=useCallback(a=>{let{x:s,width:d}=a.nativeEvent.layout;n({chip:{x:s,width:d}});},[n]);return {scrollRef:e,onStripLayout:r,onContentSize:i,onSelectedDayLayout:l}}o(Yc,"useRevealSelectedDay");function Dn(e){let t=new Map;for(let n of e){let r=Bt(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(Dn,"televetDaysFromSlots");function Gc(e){let{color:t,space:n,radius:r,type:i}=e,{size:l,lineHeight:a}=i;return StyleSheet.create({month:{textAlign:"center",...b(e,"medium"),color:t.brand,fontSize:l.subtitle,lineHeight:l.subtitle*a.snug,paddingBottom:n.md},strip:{gap:n.sm,paddingHorizontal:n.xs},day:{width:52,minHeight:J,paddingVertical:n.md,borderRadius:r.md,borderWidth:1,borderColor:t.brandBorder,alignItems:"center",justifyContent:"center",gap:2},daySelected:{backgroundColor:t.primary,borderColor:t.primary},dayWeekday:{...b(e,"mono"),color:t.text.secondary,fontSize:l.tiny,lineHeight:l.tiny*a.tight},dayNumber:{...b(e,"medium"),color:t.brand,fontSize:l.heading,lineHeight:l.heading*a.tight},dayTextSelected:{color:t.onPrimary}})}o(Gc,"makeStyles");function Vt({slots:e,busySlotId:t,onPick:n,selectedSlot:r=null,ListHeaderComponent:i,rowTestIdPrefix:l="televet-slot",testID:a="televet-slot-list"}){let s=R(),d=useMemo(()=>nu(s),[s]),c=useMemo(()=>Dn(e),[e]),[p,g]=useState(null),f=r?Bt(r.startsAt):null,y=tu(c,[p,f])??c[0]?.key??null,C=useMemo(()=>y?e.filter(T=>Bt(T.startsAt)===y):[],[e,y]),_=i,I=useMemo(()=>C.map(T=>ut(T.startsAt)),[C]),S=useMemo(()=>new Set(I.filter(T=>T.length>0)).size>1,[I]),E=C[0];return jsxs(View,{style:d.root,testID:a,children:[_?jsx(_,{}):null,jsx(co,{slots:e,selectedDayKey:y,onSelectDay:T=>g(T.key)}),E&&!S?jsx(v,{tier:"compact",style:d.zone,testID:"televet-slot-zone",children:ut(E.startsAt)}):null,jsx(ScrollView,{style:d.gridScroll,contentContainerStyle:d.grid,showsVerticalScrollIndicator:false,children:C.map((T,D)=>{let h=t===T.slotId,z=t!==null,B=S?I[D]??"":"";return jsxs(Pressable,{onPress:()=>n(T),disabled:z,accessibilityRole:"button",accessibilityLabel:[Xe(T.startsAt),B].filter(N=>N.length>0).join(" "),accessibilityState:{disabled:z,busy:h},testID:`${l}-${T.slotId}`,style:[d.chip,h?d.chipBusy:null,z&&!h?d.chipDisabled:null],children:[jsx(v,{tier:"compact",style:[d.chipLabel,h?d.chipLabelBusy:null],children:Xe(T.startsAt)}),B.length>0?jsx(v,{tier:"compact",style:[d.chipZone,h?d.chipLabelBusy:null],testID:`${l}-${T.slotId}-zone`,children:B}):null]},T.slotId)})})]})}o(Vt,"TelevetSlotPicker");function tu(e,t){for(let n of t)if(n!==null&&e.some(r=>r.key===n))return n;return null}o(tu,"firstOffered");function nu(e){let{color:t,space:n,radius:r,type:i}=e,{size:l,lineHeight:a}=i;return StyleSheet.create({root:{flex:1,minHeight:0},gridScroll:{flex:1},zone:{textAlign:"center",...b(e,"mono"),color:t.text.muted,fontSize:l.tiny,lineHeight:l.tiny*a.normal,letterSpacing:.4,paddingVertical:n.md},grid:{flexDirection:"row",flexWrap:"wrap",gap:n.md,paddingBottom:n.xl},chip:{minWidth:96,flexGrow:1,flexBasis:"28%",minHeight:48,borderRadius:r.pill,borderWidth:1,borderColor:t.brandBorder,alignItems:"center",justifyContent:"center",paddingHorizontal:n.md},chipBusy:{backgroundColor:t.primary,borderColor:t.primary},chipDisabled:{opacity:.45},chipLabel:{...b(e,"regular"),color:t.brand,fontSize:l.subtitle,lineHeight:l.subtitle*a.tight},chipLabelBusy:{color:t.onPrimary},chipZone:{...b(e,"mono"),color:t.text.muted,fontSize:l.tiny,lineHeight:l.tiny*a.normal,letterSpacing:.4}})}o(nu,"makeStyles");function et({label:e,value:t,last:n=false,testID:r}){let i=R(),l=useMemo(()=>yo(i),[i]);return jsxs(View,{style:[l.row,n?l.rowLast:null],testID:r,children:[jsx(v,{style:l.rowLabel,children:e}),jsx(v,{style:l.rowValue,children:t})]})}o(et,"TelevetSummaryRow");function zt({label:e,checked:t,onToggle:n,testID:r}){let i=R(),l=useMemo(()=>yo(i),[i]);return jsxs(Pressable,{onPress:()=>n(!t),accessibilityRole:"checkbox",accessibilityLabel:e,accessibilityState:{checked:t},testID:r,style:l.consent,children:[jsx(View,{style:[l.box,t?l.boxChecked:null],children:t?jsx(v,{tier:"badge",style:l.tick,children:lu}):null}),jsx(v,{style:l.consentLabel,children:e})]})}o(zt,"TelevetConsentCheckbox");var lu="\u2713";function fo({children:e,testID:t}){let n=R(),r=useMemo(()=>yo(n),[n]);return jsx(View,{style:r.card,testID:t,children:e})}o(fo,"TelevetSummaryCard");function yo(e){let{color:t,space:n,radius:r,type:i}=e,{size:l,lineHeight:a}=i;return StyleSheet.create({card:{borderRadius:r.lg,borderWidth:1,borderColor:t.brandBorder,paddingHorizontal:n.lg},row:{flexDirection:"row",alignItems:"flex-start",justifyContent:"space-between",gap:n.lg,paddingVertical:n.lg,borderBottomWidth:1,borderBottomColor:t.brandBorder},rowLast:{borderBottomWidth:0},rowLabel:{...b(e,"regular"),color:t.brand,fontSize:l.subtitle,lineHeight:l.subtitle*a.snug},rowValue:{flexShrink:1,textAlign:"right",...b(e,"medium"),color:t.brand,fontSize:l.subtitle,lineHeight:l.subtitle*a.snug},consent:{flexDirection:"row",alignItems:"flex-start",gap:n.md,minHeight:J,padding:n.lg,borderRadius:r.md,backgroundColor:t.surfaceSubtle},box:{width:22,height:22,borderRadius:r.xs,borderWidth:1.5,borderColor:t.brand,backgroundColor:t.surface,alignItems:"center",justifyContent:"center"},boxChecked:{backgroundColor:t.primary,borderColor:t.primary},tick:{...b(e,"bold"),color:t.onPrimary,fontSize:l.caption,lineHeight:l.caption,includeFontPadding:false},consentLabel:{flex:1,...b(e,"regular"),color:t.text.metaCool,fontSize:l.body,lineHeight:l.body*a.normal}})}o(yo,"makeStyles");function mo({when:e,lengthMinutes:t,clinician:n,petName:r,reason:i,shareRecords:l,onToggleShare:a,stateCode:s,stateAttested:d,onToggleStateAttest:c,cancellationTerms:p,termsAttested:g,onToggleTermsAttest:f,canConfirm:y,busy:C,failure:_,onConfirm:I,emergency:S,onAcknowledgeEmergency:E,onSeeOtherVets:T,mediaShortfall:D=Ft,primaryVet:h,onFindEmergencyVet:z}){let B=F(),N=R(),M=useMemo(()=>We(N),[N]);return jsxs(View,{style:B.scrollRoot,testID:"televet-booking-review",children:[jsxs(ScrollView,{style:B.scrollBody,contentContainerStyle:B.list,keyboardShouldPersistTaps:"handled",showsVerticalScrollIndicator:false,testID:"televet-booking-review-scroll",children:[jsxs(fo,{testID:"televet-review-summary",children:[r?jsx(et,{label:u.summaryPet,value:r,testID:"televet-review-row-pet"}):null,n?jsx(et,{label:u.summaryVet,value:n,testID:"televet-review-row-vet"}):null,jsx(et,{label:u.summaryWhen,value:e,testID:"televet-review-row-when"}),jsx(et,{label:u.summaryLength,value:ne(u.summaryLengthTemplate,{n:String(t)}),testID:"televet-review-row-length"}),i?jsx(et,{label:u.summaryReason,value:i,last:true,testID:"televet-review-row-reason"}):null]}),jsx(zt,{label:u.shareRecordsOff,checked:l,onToggle:a,testID:"televet-review-share-records"}),p?jsx(zt,{label:p,checked:g,onToggle:f,testID:"televet-review-terms-attest"}):null,s?jsx(zt,{label:ne(u.stateAttestTemplate,{state:s}),checked:d,onToggle:c,testID:"televet-review-state-attest"}):null,jsx(Lt,{shortfall:D,testIDPrefix:"televet-review"}),S?jsxs(View,{style:M.emergencyBanner,testID:"televet-review-emergency",children:[jsx(v,{tier:"heading",accessibilityRole:"header",accessibilityLiveRegion:"assertive",style:M.emergencyTitle,children:u.emergency.bannerTitle}),jsx(v,{style:M.emergencyLede,children:u.emergency.lede}),S.length>0?jsx(v,{style:M.emergencyLede,testID:"televet-review-emergency-categories",children:S.join(", ")}):null,jsx(Nt,{petName:r,primaryVet:h,onFindEmergencyVet:z}),jsx(P,{label:u.emergency.keepBookingCta,kind:"secondary",loading:C,disabled:C,onPress:E,testID:"televet-review-emergency-ack"})]}):null,_==="failed"?jsx(q,{message:u.confirmFailed}):null,_==="clinician_unavailable"?jsxs(View,{style:B.list,testID:"televet-review-clinician-unavailable",children:[jsx(q,{message:u.confirmFailed}),jsx(P,{label:u.seeOtherVetsCta,kind:"secondary",onPress:T,testID:"televet-review-see-other-vets"})]}):null,_==="rate_limited"?jsx(q,{message:u.confirmFailed,testID:"televet-review-rate-limited"}):null,_==="not_entitled"?jsx(q,{message:u.bookingPausedTitle,testID:"televet-review-not-entitled"}):null]}),S?null:jsx(View,{style:B.scrollFooter,children:jsx(P,{label:u.confirmCta,kind:"primary",loading:C,disabled:!y||C||!!s&&!d||!!p&&!g,onPress:I,testID:"televet-review-confirm"})})]})}o(mo,"ReviewStep");var du="\u25CB",cu="+";function Ae(e,t){return t?e.find(r=>r.petRef===t||r.petId===t)?.name??null:null}o(Ae,"nameOf");function da({pets:e,isPending:t,isError:n,onRetry:r,selectedId:i,onSelect:l,onAddPet:a}){let s=F(),d=R(),c=useMemo(()=>We(d),[d]);return t?jsx(View,{style:s.list,testID:"televet-pets-loading",children:[0,1].map(p=>jsx(re,{height:64},p))}):n?jsx(View,{testID:"televet-pets-error",children:jsx(L,{title:u.chrome.loadFailedTitle,actionLabel:u.chrome.retryCta,onAction:r})}):e.length===0?jsx(View,{testID:"televet-pets-empty",children:jsx(L,{title:u.chrome.noPetsTitle,actionLabel:u.addPetCta,onAction:a})}):jsxs(View,{style:s.stepFill,children:[jsx(v,{tier:"heading",style:s.stepTitle,accessibilityRole:"header",children:u.petSelectTitle}),jsxs(ScrollView,{contentContainerStyle:s.list,testID:"televet-pets",children:[e.map(p=>{let g=i===p.petRef,f=Zi(p),y=p.name??"";return jsx(aa,{name:y,meta:f,selected:g,onPress:()=>l(p.petRef),testID:`televet-pet-${p.petRef}`},p.petRef)}),a?jsx(aa,{name:u.addPetCta,meta:"",selected:false,onPress:a,testID:"televet-pet-add",glyph:cu}):null]}),jsx(View,{style:c.spacer})]})}o(da,"PetStep");function aa({name:e,meta:t,selected:n,onPress:r,testID:i,glyph:l}){let a=R(),s=useMemo(()=>We(a),[a]);return jsxs(View,{style:[s.petRow,n?s.petRowSelected:null],children:[jsx(P,{label:e,onPress:r,kind:"secondary",accessibilityLabel:e,testID:i,style:s.petRowButton}),jsxs(View,{style:s.petRowText,pointerEvents:"none",children:[jsx(View,{style:s.petDisc,children:jsx(v,{tier:"compact",style:s.petDiscGlyph,children:l??ca(e)})}),t?jsx(v,{tier:"compact",style:s.petRowMeta,children:t}):null]})]})}o(aa,"PetRow");function ca(e){let t=e.trim();return t.length===0?du:t.slice(0,1).toUpperCase()}o(ca,"initialOf");function ua({clinicians:e,isPending:t,isError:n,selectedId:r,onSelect:i,onRetry:l}){let a=F(),s=R(),d=useMemo(()=>We(s),[s]);if(t)return jsx(View,{style:a.list,testID:"televet-clinicians-loading",children:jsx(re,{height:96})});if(n)return jsx(View,{testID:"televet-clinicians-error",children:jsx(L,{title:u.chrome.loadFailedTitle,actionLabel:u.chrome.retryCta,onAction:l})});if(e.length===0)return jsx(View,{testID:"televet-clinicians-empty",children:jsx(L,{title:u.noCliniciansTitle,message:u.noCliniciansBody,actionLabel:u.noCliniciansRetryCta,onAction:l})});let c=e.find(p=>p.clinicianId===r)??e[0];return c===void 0?null:jsxs(View,{style:a.list,testID:"televet-clinicians",children:[jsx(v,{tier:"heading",style:a.stepTitle,accessibilityRole:"header",children:u.yourVetTitle}),jsxs(View,{style:d.vetRow,children:[jsx(View,{style:d.vetAvatar,children:jsx(v,{tier:"heading",style:d.vetAvatarText,children:ca(c.displayName)})}),jsxs(View,{style:d.vetIdentity,children:[jsx(v,{style:d.vetName,children:c.displayName}),c.credentials?jsx(v,{style:d.vetCredentials,children:c.credentials}):null,c.rating!==null&&c.ratingCount!==null?jsx(v,{tier:"compact",style:d.vetRating,testID:"televet-vet-rating",children:`\u2605 ${String(c.rating)} \xB7 ${String(c.ratingCount)} ${u.reviewsLabel}`}):null]})]}),c.bio?jsx(v,{style:d.vetBio,testID:"televet-vet-bio",children:c.bio}):null,jsx(View,{style:a.divider}),jsx(P,{label:u.continueCta,kind:"primary",onPress:()=>i(c.clinicianId),testID:`televet-clinician-${c.clinicianId}`})]})}o(ua,"ClinicianStep");function pa({slots:e,enabled:t,isPending:n,isError:r,busySlotId:i,failure:l,selectedSlot:a,nextOpening:s,onPick:d,onRetry:c,onSeeOtherVets:p}){let g=F();return t?n?jsx(View,{style:g.list,testID:"televet-slots-loading",children:[0,1,2].map(f=>jsx(re,{height:48},f))}):r?jsx(L,{title:u.slotsErrorTitle,actionLabel:u.retryCta,onAction:c,testID:"televet-slots-error"}):e.length===0?jsx(View,{testID:"televet-slots-empty",children:jsx(L,{title:u.noSlotsTitle,message:s?ne(u.nextOpeningTemplate,{when:ye(s.startsAt)}):void 0,actionLabel:s?u.seeOtherVetsCta:void 0,onAction:s?p:void 0})}):jsxs(View,{style:g.stepFill,testID:"televet-slots",children:[l==="expired"?jsx(q,{message:u.holdExpired}):null,l==="taken"?jsx(q,{message:u.slotTaken}):null,l==="failed"||l==="rate_limited"?jsx(q,{message:u.confirmFailed,testID:"televet-slots-hold-failed"}):null,jsx(Vt,{slots:e,busySlotId:i,onPick:d,selectedSlot:a})]}):jsx(View,{testID:"televet-slots-unavailable",children:jsx(L,{title:u.bookingPausedTitle})})}o(pa,"SlotStep");function fa({value:e,onChange:t,onNext:n,media:r,onChangeMedia:i,onPickMedia:l,checking:a=false}){let s=F(),d=R(),c=useMemo(()=>We(d),[d]),p=e.trim(),g=p.length>0&&p.length<=xe;return jsxs(View,{style:s.scrollRoot,testID:"televet-booking-reason",children:[jsxs(ScrollView,{style:s.scrollBody,contentContainerStyle:s.list,keyboardShouldPersistTaps:"handled",keyboardDismissMode:"interactive",showsVerticalScrollIndicator:false,testID:"televet-booking-reason-scroll",children:[jsx(v,{tier:"heading",style:s.stepTitle,accessibilityRole:"header",children:u.describeHeading}),jsx(v,{style:s.stepHelp,children:u.describeHelpLong}),jsx(Kl,{value:e,onChangeText:t,multiline:true,placeholder:u.reasonPlaceholder,placeholderTextColor:d.color.text.placeholder,style:c.reasonInput,testID:"televet-reason-input"}),p.length>xe?jsx(q,{message:u.reasonTooLong}):null,jsx(so,{media:r,onChange:i,...l?{onPickMedia:l}:{}})]}),jsx(View,{style:s.scrollFooter,children:jsx(P,{label:u.continueCta,kind:"primary",disabled:!g,loading:a,onPress:n,testID:"televet-reason-next"})})]})}o(fa,"ReasonStep");function We(e){let{color:t,space:n,radius:r,type:i}=e,{size:l,lineHeight:a}=i;return StyleSheet.create({marker:{minHeight:1},spacer:{height:n.md},petRow:{gap:n.xs,paddingVertical:n.xs},petRowSelected:{opacity:1},petRowButton:{alignSelf:"stretch",justifyContent:"flex-start"},petRowText:{flexDirection:"row",alignItems:"center",gap:n.sm,paddingHorizontal:n.md},petDisc:{width:28,height:28,borderRadius:14,backgroundColor:t.surfaceSubtle,alignItems:"center",justifyContent:"center"},petDiscGlyph:{...b(e,"medium"),color:t.brand,fontSize:l.caption,lineHeight:l.caption},petRowMeta:{flexShrink:1,...b(e,"regular"),color:t.text.metaCool,fontSize:l.caption,lineHeight:l.caption*a.normal},vetRow:{flexDirection:"row",alignItems:"center",gap:n.md},vetAvatar:{width:64,height:64,borderRadius:32,backgroundColor:t.surfaceSubtle,alignItems:"center",justifyContent:"center"},vetAvatarText:{...b(e,"medium"),color:t.brand,fontSize:l.heading,lineHeight:l.heading},vetIdentity:{flex:1,gap:2},vetName:{...b(e,"medium"),color:t.brand,fontSize:l.subtitle,lineHeight:l.subtitle*a.snug},vetCredentials:{...b(e,"regular"),color:t.text.metaCool,fontSize:l.caption,lineHeight:l.caption*a.normal},vetRating:{...b(e,"regular"),color:t.text.secondary,fontSize:l.caption,lineHeight:l.caption*a.normal},vetBio:{...b(e,"regular"),color:t.brand,fontSize:l.body,lineHeight:l.body*a.normal},reasonInput:{minHeight:120,textAlignVertical:"top",borderWidth:1,borderColor:t.brandBorder,borderRadius:r.md,padding:n.md,...b(e,"regular"),color:t.text.primary,fontSize:l.body,lineHeight:l.body*a.normal},emergencyBanner:{gap:n.md,padding:n.lg,borderRadius:r.lg,borderWidth:1,borderColor:t.errorRed,backgroundColor:t.badgeBgCritical},emergencyTitle:{...b(e,"bold"),color:t.errorRed,fontSize:l.subtitle,lineHeight:l.subtitle*a.snug},emergencyLede:{...b(e,"regular"),color:t.text.primary,fontSize:l.body,lineHeight:l.body*a.normal}})}o(We,"makeLocalStyles");function bo(e){let{petRef:t,usState:n,controller:r,onBooked:i,onExit:l,onAddPet:a,onPickMedia:s,onAddToCalendar:d,onConfirmDiscard:c,onRequestLocation:p,locationStatus:g="unknown",onTriageReason:f,onStateInterest:y,primaryVet:C,onFindEmergencyVet:_,canJoinInApp:I=false,renderUnavailable:S,style:E,testID:T}=ot(e,["onBooked","onExit","onAddPet","onRequestLocation","onFindEmergencyVet"]),D=F(),h=R(),z=useMemo(()=>We(h),[h]),B=de(r),N=dt(),M=N.pets,$=M.length,me=useMemo(()=>({ownedPetCount:$}),[$]),[X,le]=useReducer((te,Qa)=>jr(te,Qa,me),void 0,()=>Vr({ownedPetCount:0},{petId:t??null,state:n??null})),O=useCallback(te=>le(te),[]),[fe,Ce]=useState(""),[j,nt]=useState(null),[Gt,zn]=useState(null),[rt,bt]=useState(false),[ht,Oo]=useState(false),[Ao,Va]=useState([]),[jn,za]=useState(null),{draft:A}=X,ie=Hr(X),Do=useRef(A.state);Do.current!==A.state&&(Do.current=A.state,rt&&bt(false),ht&&Oo(false));let Jt=yr(A.state,B),Bo=xt(B),Tt=mr(B),ue=vr(A.state,B),Ne=wt(A.clinicianId,B),Hn=Ne.refetch,ja=gr(B).data??null,Un=Pt(B),Fo=br(B),Se=$r(f??null),No=Yr(A.state,y??null).actionFor("no_licensed_vet"),Wn=n??null;useEffect(()=>{Wn&&!A.state&&O({type:"patch",patch:{state:Wn}});},[Wn,A.state,O]),useEffect(()=>{t&&!A.petId&&O({type:"patch",patch:{petId:t}});},[t,A.petId,O]);let qn=M.length===1?M[0]?.petRef??null:null;useEffect(()=>{qn&&!A.petId&&O({type:"patch",patch:{petId:qn}});},[qn,A.petId,O]);let Lo=useRef(ie);Lo.current=ie;let Mo=useRef(0);useEffect(()=>{$!==Mo.current&&(Mo.current=$,O({type:"goTo",step:Lo.current}));},[$,O]);let Kn=ue.data?.[0]?.clinicianId??null;useEffect(()=>{Kn&&!A.clinicianId&&O({type:"patch",patch:{clinicianId:Kn}});},[Kn,A.clinicianId,O]);let Ha=Fi({draft:A,hold:Un,dispatch:O,setFailure:nt,refetchSlots:Hn}),{submitBooking:Ua,confirm:Wa}=Bi({draft:A,reasonText:fe,book:Fo,stateAttested:rt,termsAttested:ht,cancellationPolicy:Bo.data??null,triage:Se,goTo:useCallback(te=>O({type:"goTo",step:te}),[O]),releaseSlot:useCallback(()=>{O({type:"patch",patch:wi}),Hn();},[O,Hn]),setFailure:nt,setEmergency:zn,setBookedConsult:za,...i?{onBooked:i}:{}}),qa=Jt.enabled&&Jt.data!==null&&!Jt.data.wellnessAvailable,Vo=Tt.enabled&&Tt.data?.active===false||j==="not_entitled",Ka=Tt.enabled&&Tt.data!==null,$a=Jr(Ka),zo=xn(Ao.length),Ya=fe.trim().length>0||!!A.slot,Ga=B===null||j==="unavailable"||Tr(Tt)||Tr(Jt),jo={noState:!A.state,isPending:ue.enabled&&ue.isPending,isError:ue.isError,isEmpty:(ue.data?.length??0)===0,notEntitled:Vo},Ja=Yi(jo),Ho={surfaceUnavailable:Ga,notEntitled:Vo,policyBlocked:qa,triageOpen:Se.open,step:ie},Xa=Ki(Ho);return Re()?jsxs(View,{style:[D.screen,E],testID:T??"televet-booking",children:[jsx(io,{step:ie,furthestIndex:X.furthestIndex,canGoBack:(Se.open||zr(X,me))&&ie!=="booked",isDirty:Ya,onBack:()=>{if(Se.open){Se.close();return}Se.cancel(),O({type:"back"});},onClose:()=>l?.(),...c?{onConfirmDiscard:c}:{}}),Xa?jsx($i,{state:Ho,petName:Ae(M,A.petId),...C?{primaryVet:C}:{},onFindEmergencyVet:_,stateInterest:No,...y?{onCheckAvailability:o(()=>O({type:"goTo",step:"clinician"}),"onCheckAvailability")}:{},onAcknowledgeEmergency:()=>{Se.acknowledge(fe),O({type:"next"});},...S?{renderUnavailable:S}:{}}):ie==="time"?jsx(pa,{slots:Ne.data??[],enabled:Ne.enabled,isPending:Ne.enabled&&Ne.isPending&&Ne.data===null,isError:Ne.isError,busySlotId:Un.isPending?Un.variables:null,failure:j,selectedSlot:A.slot,nextOpening:ja,onPick:Ha,onRetry:()=>Ne.refetch(),onSeeOtherVets:()=>O({type:"goTo",step:"clinician"})}):ie==="review"?jsx(mo,{when:A.slot?ye(A.slot.startsAt):"",lengthMinutes:(A.slot?fl(A.slot):null)??ct,petName:Ae(M,A.petId),reason:fe.trim(),clinician:ue.data?.find(te=>te.clinicianId===A.clinicianId)?.displayName??null,shareRecords:A.shareHealthRecords,stateCode:A.state,stateAttested:rt,onToggleStateAttest:bt,cancellationTerms:Bo.data?.summary??null,termsAttested:ht,onToggleTermsAttest:Oo,onToggleShare:te=>O({type:"patch",patch:{shareHealthRecords:te}}),canConfirm:Dt(A,fe),busy:Fo.isPending,failure:j,onConfirm:Wa,emergency:Gt,onAcknowledgeEmergency:()=>Ua(true),onSeeOtherVets:()=>O({type:"goTo",step:"clinician"}),mediaShortfall:zo,primaryVet:C,onFindEmergencyVet:_}):ie==="booked"?jsx(View,{style:D.stepFill,testID:"televet-booking-booked",children:jn?jsxs(Fragment,{children:[jsx(oo,{consult:jn,petName:Ae(M,jn.petId)??Ae(M,A.petId),onDone:()=>l?.(),canJoinInApp:I,...d?{onAddToCalendar:d}:{}}),jsx(Lt,{shortfall:zo,testIDPrefix:"televet-booked"})]}):null}):ie==="clinician"&&Ja?jsx(Gi,{state:jo,cause:$a,locationStatus:g,...p?{onRequestLocation:p}:{},onRetry:()=>ue.refetch(),stateInterest:No,...S?{renderUnavailable:S}:{}}):ie==="clinician"?jsx(ua,{clinicians:ue.data??[],isPending:ue.enabled&&ue.isPending,isError:ue.isError,selectedId:A.clinicianId,onRetry:()=>ue.refetch(),onSelect:te=>{O({type:"patch",patch:{clinicianId:te}}),O({type:"next"});}}):ie==="reason"?jsx(fa,{value:fe,onChange:Ce,media:Ao,onChangeMedia:Va,...s?{onPickMedia:s}:{},checking:Se.checking,onNext:()=>{Se.check(fe).then(te=>{te&&O({type:"next"});});}}):ie==="pet"?jsx(da,{pets:M,isPending:N.loading,isError:N.error!==null,onRetry:()=>{N.refresh();},onAddPet:a,selectedId:A.petId,onSelect:te=>{O({type:"patch",patch:{petId:te}}),O({type:"next"});}}):jsx(View,{style:z.marker,testID:`televet-booking-step-${ie}`})]}):jsx(View,{style:[D.screen,E],testID:T??"televet-booking",children:jsx(View,{style:D.stepFill,testID:"televet-booking-copy-unapproved",children:S?S():null})})}o(bo,"EverfurTelevetBooking");var mu=2e4;function Nn(e=true,t=mu){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(Nn,"useNowMs");var w=Object.freeze({pastTitle:"Past visits",upcomingTitle:"Upcoming visits",emptyTitle:"No visits yet",bookCta:"Find a time",bookCardTitle:"Book a video visit",bookCardSubtitle:"Get help for your pet from home.",loadErrorTitle:"Could not load your visits",retryCta:"Try again",statusCompleted:"Completed",statusCancelled:"Cancelled",statusMissed:"Missed",manageCta:"Manage",joinCta:"Join call",joinDisabledReason:"You can join closer to the time.",joinOverReason:"This visit has ended.",vetUnassigned:"Your vet",rescheduleCta:"Reschedule",cancelCta:"Cancel visit",cancelConfirmTitle:"Cancel this visit?",cancelConfirmBody:"You can book another one afterwards.",cancelConfirmCta:"Cancel visit",cancelKeepCta:"Keep visit",cancelFailedTitle:"Could not cancel",cancelReason:"Cancelled by the pet parent in the app.",cancelPolicyErrorTitle:"Could not load what you need to agree to",phaseCancelled:"This visit was cancelled",phaseCancelledBody:"You can book another visit when you are ready.",notFoundTitle:"Not found",notFoundBody:"This visit is no longer available.",staleTitle:"Could not load your visits",staleRetry:"Try again"});function va(e){switch(e){case "completed":return w.statusCompleted;case "cancelled_owner":case "cancelled_ops":return w.statusCancelled;case "no_show_owner":case "no_show_vet":return w.statusMissed;default:return null}}o(va,"televetVisitStatusNative");function Wt({onBack:e,testID:t}){let n=vt();return jsx(View,{style:n.navRow,children:jsx(Pressable,{onPress:e,accessibilityRole:"button",accessibilityLabel:Pn,testID:t,style:n.backTap,children:jsx(View,{style:n.chevron,accessibilityElementsHidden:true,importantForAccessibility:"no"})})})}o(Wt,"TelevetVisitBackRow");function vt(){let e=R();return useMemo(()=>bu(e),[e])}o(vt,"useVisitStyles");function bu(e){let{color:t,space:n,radius:r,type:i}=e,{size:l,lineHeight:a}=i;return StyleSheet.create({screen:{flex:1,paddingHorizontal:n.xl},body:{gap:n.sm,paddingBottom:n.xl},navRow:{paddingVertical:n.sm,flexDirection:"row"},backTap:{minHeight:J,minWidth:J,justifyContent:"center"},chevron:{width:10,height:10,marginLeft:n.xs,borderLeftWidth:2,borderBottomWidth:2,borderColor:t.brand,transform:[{rotate:"45deg"}]},title:{...b(e,"medium"),color:t.brand,fontSize:l.heading,lineHeight:l.heading*a.snug,marginBottom:n.md},list:{gap:n.sm},row:{gap:n.xs,padding:n.md,borderRadius:r.md,borderWidth:1,borderColor:t.brandBorder,backgroundColor:t.surface},rowHead:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:n.sm},when:{flex:1,...b(e,"medium"),color:t.text.primary,fontSize:l.subtitle,lineHeight:l.subtitle*a.snug},status:{...b(e,"mono"),color:t.text.metaCool,fontSize:l.micro,letterSpacing:1},meta:{...b(e,"mono"),color:t.text.metaCool,fontSize:l.caption,lineHeight:l.caption*a.normal},bookCard:{gap:n.md,padding:n.xl,borderRadius:r.sm,borderWidth:StyleSheet.hairlineWidth,borderColor:t.brand,backgroundColor:t.surface},bookTitle:{...b(e,"medium"),color:t.brand,fontSize:l.subtitle,lineHeight:l.subtitle*a.snug},bookSubtitle:{...b(e,"regular"),color:t.text.metaCool,fontSize:l.body,lineHeight:l.body*a.normal},visitCard:{gap:n.md,padding:n.lg,borderRadius:r.lg,borderWidth:1,borderColor:t.brandBorder},visitWhen:{...b(e,"medium"),color:t.brand,fontSize:l.heading,lineHeight:l.heading*a.snug},visitWho:{...b(e,"regular"),color:t.text.primary,fontSize:l.subtitle,lineHeight:l.subtitle*a.snug},visitMeta:{...b(e,"regular"),color:t.text.metaCool,fontSize:l.caption,lineHeight:l.caption*a.normal},reason:{...b(e,"regular"),color:t.text.metaCool,fontSize:l.caption,lineHeight:l.caption*a.normal},terms:{padding:n.md,borderRadius:r.sm,backgroundColor:t.surfaceSubtle,...b(e,"regular"),color:t.text.metaCool,fontSize:l.caption,lineHeight:l.caption*a.normal},noticeTitle:{...b(e,"bold"),color:t.text.primary,fontSize:l.subtitle,lineHeight:l.subtitle*a.snug},noticeBody:{...b(e,"regular"),color:t.text.metaCool,fontSize:l.body,lineHeight:l.body*a.normal},receipt:{gap:n.xs,padding:n.md,borderRadius:r.sm,backgroundColor:t.surfaceSubtle},stack:{gap:n.xs}})}o(bu,"makeVisitStyles");function To({consult:e,controller:t,onJoin:n,onReschedule:r,onCancelled:i,onBack:l,revision:a=0,nowMs:s,style:d}){let c=vt(),p=de(t),[g,f]=useState(0),y=Dl(e.consultId,p,a+g),C=xt(p),_=Bl(e.consultId,p),{pets:I}=dt(),[S,E]=useState(false),[T,D]=useState(false),[h,z]=useState(null),B=y.isError&&y.error?.httpStatus===404,N=B?null:y.data??e,M=N!==null&&Ke.has(N.status),$=Nn(!M),X=Cr(N,s??$),le=N===null?null:Ae(I,N.petId),O=C.data?.summary.trim()||null,fe=useCallback(()=>{O&&(D(false),_.mutate(w.cancelReason,{onSuccess:o(bt=>{E(false),z(bt),f(ht=>ht+1),i?.(bt);},"onSuccess"),onError:o(()=>D(true),"onError")}));},[O,_,i]);if(N===null)return jsxs(View,{style:[c.screen,d],testID:"televet-consult-missing",children:[jsx(Wt,{onBack:l,testID:"televet-consult-back"}),jsx(L,{title:w.notFoundTitle,message:w.notFoundBody})]});let Ce=N.status,j=Ce==="cancelled_owner"||Ce==="cancelled_ops",nt=Ce==="scheduled"||Ce==="in_progress",Gt=Sr(Ce)&&h===null,zn=N.clinicianName??w.vetUnassigned,rt=[le,N.reasonText].filter(Boolean).join(" \xB7 ");return jsxs(View,{style:[c.screen,d],testID:"televet-consult",children:[jsx(Wt,{onBack:l,testID:"televet-consult-back"}),jsxs(ScrollView,{contentContainerStyle:c.body,children:[jsxs(View,{style:c.visitCard,children:[jsx(v,{style:c.visitWhen,accessibilityRole:"header",testID:"televet-consult-when",children:ye(N.scheduledAt)}),jsxs(View,{style:c.stack,children:[jsx(v,{style:c.visitWho,testID:"televet-consult-vet",children:zn}),rt?jsx(v,{style:c.visitMeta,numberOfLines:2,children:rt}):null]})]}),nt&&h===null?jsxs(Fragment,{children:[jsx(P,{label:w.joinCta,disabled:!X.ready,onPress:()=>n(N,le),testID:"televet-consult-join"}),X.ready?null:jsx(v,{style:c.reason,testID:"televet-consult-join-reason",children:X.reason==="consult_over"?w.joinOverReason:w.joinDisabledReason}),Gt&&r?jsx(P,{label:w.rescheduleCta,kind:"secondary",onPress:()=>r(N),testID:"televet-consult-reschedule"}):null]}):null,h?jsx(View,{style:c.receipt,testID:"televet-consult-cancel-receipt",children:jsx(v,{style:c.noticeTitle,accessibilityLiveRegion:"polite",children:h.summary??w.phaseCancelled})}):j?jsxs(View,{style:c.stack,testID:"televet-consult-cancelled",children:[jsx(v,{style:c.noticeTitle,accessibilityRole:"header",children:w.phaseCancelled}),jsx(v,{style:c.noticeBody,children:w.phaseCancelledBody})]}):null,Gt?jsxs(View,{style:c.stack,children:[O?jsx(v,{style:c.terms,accessibilityLiveRegion:"polite",testID:"televet-consult-cancellation-policy",children:O}):C.enabled&&C.isPending?jsx(View,{testID:"televet-consult-cancellation-policy-loading",children:jsx(re,{height:42})}):jsx(L,{title:w.cancelPolicyErrorTitle,actionLabel:w.retryCta,onAction:()=>C.refetch(),testID:"televet-consult-cancellation-policy-error"}),S?jsxs(View,{style:c.stack,testID:"televet-consult-cancel-confirm",children:[jsx(v,{style:c.noticeTitle,children:w.cancelConfirmTitle}),jsx(v,{style:c.noticeBody,children:w.cancelConfirmBody}),T?jsx(q,{message:w.cancelFailedTitle,testID:"televet-consult-cancel-failed"}):null,jsx(P,{label:w.cancelConfirmCta,kind:"danger",loading:_.isPending,onPress:fe,testID:"televet-consult-cancel-yes"}),jsx(P,{label:w.cancelKeepCta,kind:"secondary",disabled:_.isPending,onPress:()=>{E(false),D(false);},testID:"televet-consult-cancel-keep"})]}):jsx(P,{label:w.cancelCta,kind:"secondary",disabled:!O,onPress:()=>{D(false),E(true);},testID:"televet-consult-cancel"})]}):null,y.isError&&!B?jsx(L,{title:w.staleTitle,actionLabel:w.staleRetry,onAction:()=>y.refetch(),testID:"televet-consult-stale"}):null]})]})}o(To,"TelevetConsultScreen");var qe=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`:qe.lobbyTitleNoName},"lobbyTitle"),lobbyPrep:o(e=>{let t=e?.trim()??"";return t.length>0?`Have ${t} nearby and somewhere well lit.`:qe.lobbyPrepNoPet},"lobbyPrep"),lobbyDuration:o(e=>`${e} MINUTE VISIT`,"lobbyDuration"),joinFailedReason:"That did not open. Try again.",recordingNoticeTitle:"This consultation is recorded.",recordingNoticeCta:"Continue to the call",recordingNoticeDecline:"Not now",selfCameraOffLabel:"Your camera is off"});function ha(e){switch(e){case "too_early":return "You can join closer to the time.";case "too_late":return "This visit has ended.";case "room_not_ready":return "The room is still being set up. Try again in a moment.";case "not_joinable":return "This visit is no longer open.";case "unavailable":return "No way to join this visit yet.";default:return "That did not open. Try again."}}o(ha,"televetJoinRefusalNativeCopy");var Ta="No way to join this visit yet.";function Ea(e){return e==="room_not_ready"||e==="unknown"}o(Ea,"televetJoinIsRetryable");var ka=Symbol.for("@everfur/sdk/televet");function ku(){let e=globalThis,t=e[ka];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[ka]=n,n}o(ku,"televetGlobal");function Mn(){return ku().dailyRegistered}o(Mn,"isEverfurDailyRegistered");function Ca(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(Ca,"memoizeTelevetLoader");var Ra=Object.freeze({status:"joining"});function Eo(e,t){let[n,r]=useState(0),[i,l]=useState(Ra),a=useRef(null);useEffect(()=>{let d=t?.joinConsult;if(t===null||d===void 0){l(Object.freeze({status:"refused",refusal:"unavailable",reason:null}));return}let c=`${e}#${String(n)}`,p=a.current;if(p===null||p.key!==c){let f;try{f=d.call(t,e);}catch(y){f=Promise.reject(y);}p={key:c,promise:f},a.current=p;}let g=true;return l(Ra),p.promise.then(f=>{g&&(f.ok?l(Object.freeze({status:"ready",credential:f.value})):l(Object.freeze({status:"refused",refusal:ir(f.error),reason:lr(f.error)})));},()=>{g&&l(Object.freeze({status:"refused",refusal:"unknown",reason:null}));}),()=>{g=false;}},[e,t,n]);let s=useCallback(()=>r(d=>d+1),[]);return {state:i,retry:s}}o(Eo,"useTelevetJoin");var _u=Symbol.for("@everfur/sdk/televet/recording-notice-receipt");function _a(){let e=globalThis;return e[_u]??=new Map}o(_a,"receipts");function xa(e){let t=_a();t.set(e,(t.get(e)??0)+1);}o(xa,"markRecordingNoticeAccepted");function wa(e){let t=_a(),n=t.get(e)??0;n<=1?t.delete(e):t.set(e,n-1);}o(wa,"clearRecordingNoticeAccepted");var ko=createContext(null);function Pa(e){let t=useContext(ko);useEffect(()=>{if(!(t===null||!e))return t.setFullBleed(true),()=>{t.setFullBleed(false);}},[t,e]);}o(Pa,"useTelevetModalFullBleed");var Ia=Ca(()=>import('@everfur/sdk/televet/call'));function Co({consultId:e,...t}){let n=F(),r=Fu();return r===null?jsx(View,{style:[n.screen,t.style],testID:"televet-join-checking"}):jsx(Du,{consultId:e,...t,canHostCall:r},e)}o(Co,"TelevetJoinScreen");function Du({canHostCall:e,onLeave:t,style:n,...r}){let[i,l]=useState(false);Da(()=>(t(),true),!i);let a=useCallback(()=>{l(false),t();},[t]);return e?i?jsx(Bu,{...r,onLeave:a,style:n}):jsx(Oa,{onContinue:()=>l(true),onLeave:t,style:n}):jsx(Aa,{onLeave:t,style:n})}o(Du,"TelevetJoinGate");function Bu({consultId:e,controller:t,clinicianName:n,petName:r,onLeave:i,style:l}){let a=F(),s=de(t),{state:d,retry:c}=Eo(e,s),[p,g]=useState(null),[f,y]=useState(false),C=d.status==="ready";useEffect(()=>{if(!C||p!==null)return;let h=true;return Ia().then(z=>{h&&g(()=>z);},()=>{h&&y(true);}),()=>{h=false;}},[C,p]);let _=d.status==="ready"?d.credential.roomUrl:null,[I,S]=useState(null);useEffect(()=>{if(_!==null)return xa(_),S(_),()=>{wa(_);}},[_]);let E=C&&p!==null&&!f;Da(()=>(E||i(),true),true);let T=d.status==="ready"?d.credential:null;if(Pa(E&&T!==null&&p.isUsableRoomCredential(T.roomUrl,T.token)&&p.loadEverfurDaily().available),d.status==="refused"||f){let h=d.status==="refused"?d.refusal:"unavailable";return jsxs(View,{style:[a.screen,a.stepFill,l],testID:"televet-join-refused",children:[jsx(q,{message:ha(h),testID:"televet-join-refused-message"}),Ea(h)&&d.status==="refused"?jsx(P,{label:u.retryCta,kind:"primary",onPress:c,testID:"televet-join-retry"}):null,jsx(P,{label:qe.leaveCta,kind:"secondary",onPress:i,testID:"televet-join-leave"})]})}if(d.status==="joining"||p===null||I!==d.credential.roomUrl)return jsx(Oa,{busy:true,onLeave:i,style:l});let{EverfurVetCall:D}=p;return jsx(D,{roomUrl:d.credential.roomUrl,token:d.credential.token,onLeave:i,clinicianName:n??null,petName:r??null,consultMinutes:d.credential.callLimits?.consultMinutes??null,renderUnavailable:()=>jsx(Aa,{onLeave:i,style:l}),style:l})}o(Bu,"TelevetJoinRoom");function Oa({onContinue:e,onLeave:t,busy:n=false,style:r}){let i=F();return jsx(View,{style:[i.screen,i.stepFill,r],children:jsxs(View,{style:i.stateCard,testID:"everfur-vet-call-recording-notice",accessibilityState:{busy:n},children:[jsx(v,{style:i.stateTitle,accessibilityRole:"header",children:qe.recordingNoticeTitle}),jsx(P,{label:qe.recordingNoticeCta,kind:"primary",loading:n,onPress:()=>e?.(),testID:"everfur-vet-call-recording-continue"}),jsx(P,{label:qe.leaveCta,kind:"secondary",onPress:t,testID:"everfur-vet-call-recording-leave"})]})})}o(Oa,"TelevetRecordingNotice");function Aa({onLeave:e,style:t}){let n=F();return jsxs(View,{style:[n.screen,n.stepFill,t],testID:"televet-join-call-unavailable",children:[jsx(q,{message:Ta}),jsx(P,{label:qe.leaveCta,kind:"secondary",onPress:e,testID:"televet-join-unavailable-leave"})]})}o(Aa,"TelevetJoinUnavailable");function Da(e,t){lt(e,t);let n=useRef(e);n.current=e,useEffect(()=>{if(!t)return;let r=BackHandler.addEventListener("hardwareBackPress",()=>n.current());return ()=>{r.remove();}},[t]);}o(Da,"useJoinBackPress");function Fu(){let[e,t]=useState(()=>Mn()?null:false);return useEffect(()=>{let n=true;return Ia().then(r=>{if(!n)return;let i=r.loadEverfurDaily();if(t(i.available),!i.available)try{globalThis.console?.warn?.(`${r.EVERFUR_DAILY_SETUP} (${i.reason})`);}catch{}},()=>{n&&t(false);}),()=>{n=false;}},[]),e}o(Fu,"useCanHostCall");function Ro(e){let{consult:t,onRescheduled:n,onCancel:r,controller:i,style:l,testID:a}=ot(e,["onRescheduled","onCancel"]),s=F(),d=de(i),c=wt(t?.clinicianId??null,d),p=Pt(d),g=hr(t?.consultId??null,d),[f,y]=useState(null),C=useCallback(I=>{y(null),p.mutate(I.slotId,{onSuccess:o(()=>{g.mutate(I.slotId,{onSuccess:o(S=>n?.(S),"onSuccess"),onError:o(S=>y(Le(S).kind==="unavailable"?"unavailable":"failed"),"onError")});},"onSuccess"),onError:o(S=>y(Le(S).kind==="unavailable"?"unavailable":"taken"),"onError")});},[p,g,n]),_=p.isPending||g.isPending;return Re()?t?jsxs(View,{style:[s.screen,s.stepFill,l],testID:a??"televet-reschedule",children:[jsx(v,{tier:"compact",style:s.stepHelp,children:ne(u.rescheduleFromTemplate,{when:ye(t.scheduledAt)})}),f==="taken"?jsx(q,{message:u.slotTaken}):null,f==="failed"?jsx(q,{message:u.rescheduleFailed}):null,f==="unavailable"?jsx(q,{message:u.bookingPausedTitle,testID:"televet-reschedule-unavailable"}):null,c.enabled?c.isPending?jsx(View,{style:s.list,testID:"televet-reschedule-slots-loading",children:[0,1,2].map(I=>jsx(re,{height:48},I))}):c.isError?jsx(L,{title:u.slotsErrorTitle,actionLabel:u.retryCta,onAction:()=>c.refetch(),testID:"televet-reschedule-slots-error"}):(c.data??[]).length===0?jsx(View,{testID:"televet-reschedule-empty",children:jsx(L,{title:u.noSlotsTitle})}):jsx(Vt,{slots:c.data??[],busySlotId:_?p.variables:null,onPick:C,rowTestIdPrefix:"televet-reschedule-slot",testID:"televet-reschedule-slots"}):jsx(View,{testID:"televet-reschedule-paused",children:jsx(L,{title:u.bookingPausedTitle})}),jsx(P,{label:u.keepExistingCta,kind:"secondary",disabled:_,onPress:()=>r?.(),testID:"televet-reschedule-keep"})]}):jsx(View,{style:[s.screen,s.list,l],testID:"televet-reschedule-loading",children:[0,1].map(I=>jsx(re,{height:48},I))}):jsx(View,{style:[s.screen,s.stepFill,l],testID:"televet-reschedule-copy-unapproved"})}o(Ro,"EverfurTelevetReschedule");function _o({controller:e,onOpenVisit:t,onBook:n,onBack:r,revision:i=0,nowMs:l,style:a}){let s=vt(),d=de(e),c=mn(d,i),{pets:p}=dt(),g=c.data??[],f=g.some(h=>!Ke.has(h.status)),y=Nn(f),C=l??y,{upcoming:_,past:I}=useMemo(()=>It(g,C),[g,C]),S=c.enabled&&c.isPending,E=c.isError&&c.data===null,T=!S&&!E&&g.length>0,D=o(h=>{let z=va(h.status),B=[h.clinicianName,Ae(p,h.petId)].filter(Boolean).join(" \xB7 ");return jsxs(View,{style:s.row,testID:`televet-visits-row-${h.consultId}`,children:[jsxs(View,{style:s.rowHead,children:[jsx(v,{style:s.when,children:Ii(h.scheduledAt)}),z?jsx(v,{style:s.status,testID:`televet-visits-status-${h.consultId}`,children:z}):null]}),B?jsx(v,{style:s.meta,children:B}):null,h.status==="completed"?null:jsx(P,{label:w.manageCta,kind:"secondary",onPress:()=>t(h),testID:`televet-visits-open-${h.consultId}`})]},h.consultId)},"renderRow");return jsxs(View,{style:[s.screen,a],testID:"televet-visits",children:[jsx(Wt,{onBack:r,testID:"televet-visits-back"}),jsxs(ScrollView,{contentContainerStyle:s.body,children:[T?null:jsx(v,{style:s.title,accessibilityRole:"header",children:w.pastTitle}),E?jsxs(View,{style:s.list,children:[jsx(L,{title:w.loadErrorTitle,actionLabel:w.retryCta,onAction:()=>c.refetch(),testID:"televet-visits-error"}),n?jsx(Ba,{onBook:n}):null]}):S?jsx(View,{style:s.list,testID:"televet-visits-loading",children:[0,1,2].map(h=>jsx(re,{height:72},h))}):g.length===0?jsxs(View,{style:s.list,testID:"televet-visits-empty",children:[jsx(L,{title:w.emptyTitle}),n?jsx(P,{label:w.bookCta,onPress:n,testID:"televet-visits-book"}):null]}):jsxs(View,{style:s.list,children:[_.length>0?jsxs(Fragment,{children:[jsx(v,{style:s.title,accessibilityRole:"header",children:w.upcomingTitle}),jsx(View,{style:s.list,testID:"televet-visits-upcoming",children:_.map(D)})]}):null,n?jsx(Ba,{onBook:n}):null,jsx(v,{style:s.title,accessibilityRole:"header",children:w.pastTitle}),I.length>0?jsx(View,{style:s.list,testID:"televet-visits-past",children:I.map(D)}):null]})]})]})}o(_o,"TelevetVisitsScreen");function Ba({onBook:e}){let t=vt();return jsxs(View,{style:t.bookCard,testID:"televet-visits-book-card",children:[jsx(v,{style:t.bookTitle,children:w.bookCardTitle}),jsx(v,{style:t.bookSubtitle,children:w.bookCardSubtitle}),jsx(P,{label:w.bookCta,kind:"primary",onPress:e,testID:"televet-visits-book"})]})}o(Ba,"BookCard");var xo=Object.freeze({name:"home"}),qu=Object.freeze({name:"visits"}),Ku=Object.freeze({name:"booking"});function wo(e){let t=e.visitRef?.trim()??"";return t.length>0?Object.freeze({name:"visit",visitRef:t,intent:e.intent??null}):xo}o(wo,"televetScreenForRequest");function $u(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($u,"navReducer");function La(e){let{style:t,renderPending:n,...r}=ot(e,["onExit","onBooked","onAddPet","onRequestLocation","onFindEmergencyVet"]);return jsx(Xl,{capability:"televet",style:t,...n?{renderPending:n}:{},children:jsx(Yu,{...r,style:t})})}o(La,"EverfurTelevetFlow");function Yu({petRef:e,usState:t,controller:n,onBooked:r,onExit:i,onAddPet:l,onPickMedia:a,onAddToCalendar:s,onConfirmDiscard:d,onRequestLocation:c,locationStatus:p,primaryVet:g,onFindEmergencyVet:f,onTriageReason:y,canJoinInApp:C=false,renderUnavailable:_,initialScreen:I,style:S}){let E=F(),[T,D]=useReducer($u,I??xo,j=>Object.freeze({stack:Object.freeze([j])})),h=T.stack[T.stack.length-1]??xo,z=T.stack.length,[B,N]=useState(0),M=useCallback(()=>N(j=>j+1),[]),$=useCallback(()=>z<=1||h.name==="call"||h.name==="booking"?false:(D({type:"pop"}),true),[z,h.name]);useEffect(()=>{let j=BackHandler.addEventListener("hardwareBackPress",$);return ()=>{j.remove();}},[$]),lt($);let me=useCallback(()=>_?_():jsx(View,{style:E.list,testID:"televet-unavailable",children:Re()?jsx(L,{title:u.bookingPausedTitle}):null}),[_,E.list]),X=useCallback(()=>{z>1?D({type:"pop"}):i?.();},[z,i]),le=o(j=>D({type:"push",screen:j}),"push"),O=useCallback(j=>D({type:"land",screen:j==="visits"?qu:Ku}),[]),fe=jsx(bo,{...e!==void 0?{petRef:e}:{},...t!==void 0?{usState:t}:{},...n?{controller:n}:{},onBooked:j=>{M(),r?.(j);},onExit:X,...l?{onAddPet:l}:{},...a?{onPickMedia:a}:{},...s?{onAddToCalendar:s}:{},...d?{onConfirmDiscard:d}:{},...c?{onRequestLocation:c}:{},...p?{locationStatus:p}:{},...g?{primaryVet:g}:{},...f?{onFindEmergencyVet:f}:{},...y?{onTriageReason:y}:{},canJoinInApp:C,renderUnavailable:me,style:S}),Ce=jsx(_o,{...n?{controller:n}:{},revision:B,onOpenVisit:j=>le({name:"consult",consult:j}),onBook:()=>le({name:"booking"}),onBack:X,style:S});switch(h.name){case "home":return jsx(Gu,{controller:n,onLand:O,style:S});case "booking":return fe;case "visits":case "visit":return Ce;case "consult":return jsx(To,{consult:h.consult,...n?{controller:n}:{},revision:B,onJoin:(j,nt)=>le({name:"call",consultId:j.consultId,clinicianName:j.clinicianName,petName:nt}),onReschedule:j=>le({name:"reschedule",consult:j}),onCancelled:M,onBack:X,style:S});case "reschedule":return jsx(Ro,{consult:h.consult,...n?{controller:n}:{},onRescheduled:()=>{M(),D({type:"pop"});},onCancel:()=>D({type:"pop"}),style:S});case "call":return jsx(Co,{consultId:h.consultId,...n?{controller:n}:{},...h.clinicianName!==void 0?{clinicianName:h.clinicianName}:{},...h.petName!==void 0?{petName:h.petName}:{},onLeave:()=>{M(),X();},style:S});default:return Xt(h)}}o(Yu,"TelevetFlowBody");function Gu({controller:e,onLand:t,style:n}){let r=F(),i=de(e),l=Fl(i);return useEffect(()=>{l!=="pending"&&t(l);},[l,t]),jsxs(View,{style:[r.screen,r.list,n],testID:"televet-landing-loading",children:[jsx(re,{height:72}),jsx(re,{height:72})]})}o(Gu,"TelevetLandingScreen");var Po=La;function rp({request:e,onClose:t}){let n=R(),r=useSafeAreaInsets(),i=useMemo(()=>qo(),[]),l=useCallback(()=>{i.dispatch()||t();},[i,t]),[a,s]=useState(false),d=useMemo(()=>({setFullBleed:s}),[]),c=useMemo(()=>wo(e),[e]);return jsx(Modal,{visible:true,animationType:n.motion.reducedMotion?"none":"slide",presentationStyle:"fullScreen",onRequestClose:l,children:jsx(View,{testID:"everfur-televet-modal",style:[Ma.root,{backgroundColor:n.color.surface},a?null:{paddingTop:r.top,paddingBottom:r.bottom}],children:jsx(Yn.Provider,{value:i,children:jsx(ko.Provider,{value:d,children:jsx(Po,{...e.petRef!==void 0?{petRef:e.petRef}:{},...e.usState!==void 0?{usState:e.usState}:{},initialScreen:c,onExit:t,canJoinInApp:Mn(),style:Ma.root})})})})})}o(rp,"EverfurTelevetModal");var Ma=StyleSheet.create({root:{flex:1}});export{Pn as BACK_LABEL,an as CANCELLATION_POLICY_VERSION_MAX,dn as CANCEL_REASON_MAX,pl as CONSULT_KINDS,ct as CONSULT_MINUTES,ul as CONSULT_STATUSES,Po as EverfurTelevet,bo as EverfurTelevetBooking,La as EverfurTelevetFlow,rp as EverfurTelevetModal,Ro as EverfurTelevetReschedule,sn as MEDIA_REFS_MAX,Ft as NO_MEDIA_SHORTFALL,xe as REASON_TEXT_MAX,Ve as TELEVET_BOOKING_BASE,u as TELEVET_BOOKING_COPY,je as TELEVET_BOOKING_STEPS,Rl as TELEVET_CONSULT_PAGE_LIMIT,kr as TELEVET_JOIN_CLOSES_MINUTES_AFTER,Er as TELEVET_JOIN_OPENS_MINUTES_BEFORE,Ke as TERMINAL_CONSULT_STATUSES,oo as TelevetBookedScreen,io as TelevetBookingChrome,qi as TelevetClinicianEmptyState,zt as TelevetConsentCheckbox,To as TelevetConsultScreen,co as TelevetDayStrip,Wi as TelevetEarlyEmergency,Nt as TelevetEmergencyExits,Cc as TelevetEntitlementInterestState,so as TelevetIntakeMedia,Co as TelevetJoinScreen,Lt as TelevetMediaDropNotice,Vt as TelevetSlotPicker,eo as TelevetStateInterestAction,fo as TelevetSummaryCard,et as TelevetSummaryRow,_o as TelevetVisitsScreen,Wr as attestation,Dt as canConfirm,Sr as canManageTelevetVisit,ur as createTelevetBookingController,Hr as currentStep,Ri as emptyTelevetDraft,ic as formatVisitRange,Pi as formatWhen,ye as formatWhenWithDay,zr as hasPreviousStep,Vr as initialTelevetBookingState,_n as isHoldExpired,Xr as isMediaShortfallEmpty,Sn as isSkipped,Re as isTelevetBookingCopyReady,ve as isWellFormedStateCode,xn as mediaShortfallFromUnsentPicks,or as parseVetCallCredential,It as splitTelevetVisits,Ur as televetBookingKey,jr as televetBookingReducer,Le as televetBookingRefusal,Sl as televetCancelCall,Ji as televetConsultCalendarKey,un as televetConsultCall,Dn as televetDaysFromSlots,Jr as televetEmptyRosterCause,Gr as televetEmptyRosterView,El as televetHoldCall,Cl as televetJoinCall,md as televetJoinOpensAtMs,Cr as televetJoinReadiness,Qr as televetMediaShortfallLines,kl as televetRescheduleCall,wo as televetScreenForRequest,$r as useEarlyTriage,Yr as useStateInterest,br as useTelevetBookConsult,fd as useTelevetBookingAvailable,de as useTelevetBookingController,mr as useTelevetBookingEntitlement,xt as useTelevetCancellationPolicy,vr as useTelevetClinicians,Pt as useTelevetHoldSlot,Eo as useTelevetJoin,gr as useTelevetNextSlot,hr as useTelevetRescheduleConsult,wt as useTelevetSlots,yr as useTelevetStatePolicy,_l as validateBookingBody,lr as vetCallJoinReason,ir as vetCallJoinRefusal,yc as withUnsentPicks};
1
+ import {createContext,forwardRef,useMemo,createElement,useState,useRef,useEffect,useCallback,useReducer,useContext,useSyncExternalStore,Component}from'react';import {StyleSheet,TextInput,Pressable,View,Alert,BackHandler,Image,ActivityIndicator,ScrollView,Modal,Text}from'react-native';import {jsxs,Fragment,jsx}from'react/jsx-runtime';import {useSafeAreaInsets}from'react-native-safe-area-context';var Es=Object.defineProperty;var o=(e,t)=>Es(e,"name",{value:t,configurable:true});function on(e){throw new Error(`assertNever: unhandled discriminated-union member ${JSON.stringify(e)}`)}o(on,"assertNever");function Qo(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(Qo,"errorFrame");function Zn(e){let t=globalThis.console;try{t?.error?.("[everfur] A host callback threw; the SDK ignored it.",e);}catch{}}o(Zn,"reportHostFailure");function Cs(e){return (typeof e=="object"||typeof e=="function")&&e!==null&&typeof e.then=="function"}o(Cs,"isThenable");function ln(e,...t){if(typeof e=="function")try{let n=e(...t);return Cs(n)&&Promise.resolve(n).then(void 0,Zn),n}catch(n){Zn(n);return}}o(ln,"callHost");var Zo=new WeakMap;function Rs(e){if(typeof e!="function")return;let t=Zo.get(e);if(t!==void 0)return t;let n=o((...r)=>{ln(e,...r);},"guarded");return Zo.set(e,n),n}o(Rs,"guardHost");function dt(e,t){let n=null;for(let r of t){let i=e[r];typeof i=="function"&&(n??={...e},n[r]=Rs(i));}return n??e}o(dt,"guardHostProps");function an(e,...t){let n;try{n=e(...t);}catch(r){return Zn(r),Promise.resolve({ok:false,error:r})}return Promise.resolve(n).then(r=>({ok:true,value:r}),r=>({ok:false,error:r}))}o(an,"callHostAsync");function el(){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(el,"createTelevetBackChannel");var er=createContext(null);function ut(e,t=true){let n=useContext(er),r=useRef(e);r.current=e,useEffect(()=>{if(!(n===null||!t))return n.register(()=>r.current())},[n,t]);}o(ut,"useTelevetBackChannel");var m=o(e=>e,"DRAFT"),Is=["[PLACEHOLDER","[PLAN NAME]","[LINK]","[Last]","TODO","TBD"];function Os(e){return Is.some(t=>e.toUpperCase().includes(t.toUpperCase()))}o(Os,"isPlaceholderCopy");function G(e,t){let n=e;for(let[r,i]of Object.entries(t))n=n.split(`{${r}}`).join(i);return n}o(G,"fill");var c=Object.freeze({stateBlockedTitle:m("Not available in this state yet"),noCliniciansTitle:m("No vets available right now"),noCliniciansBody:m("Nobody is free in your area at the moment. This changes through the day."),noCliniciansRetryCta:m("Check again"),noCliniciansRegionBody:m("Video visits have to be with a vet licensed in your state, and we don\u2019t have one there yet."),yourVetTitle:m("Your Vet"),reviewsLabel:m("reviews"),rescheduleFromTemplate:m("Moving your visit on {when}"),rescheduleFailed:m("That did not move. Your original time is unchanged."),keepExistingCta:m("Keep my current time"),bookingPausedTitle:m("Booking is not available right now."),slotsErrorTitle:m("Could not load times"),noSlotsTitle:m("No times available"),nextOpeningTemplate:m("Next opening across our vets: {when}"),seeOtherVetsCta:m("See other vets"),retryCta:m("Try again"),holdExpired:m("That time is no longer held. Pick another."),slotTaken:m("That time was just taken. Pick another."),reasonPlaceholder:m("What is going on with your pet?"),reasonTooLong:m("That is too long. Please shorten it."),shareRecordsOff:m("Share health records with this vet"),confirmNotEntitled:m("A Pro membership is needed to book a video visit."),confirmFailed:m("That did not book. Try again."),checkAvailabilityCta:m("Check availability"),stateInterest:Object.freeze({cta:m("Add me to the list"),submitting:m("Adding you to the list\u2026"),joinedTitle:m("You are on the list"),joinedBody:m("We will let you know when this changes."),failed:m("That did not save. Try again.")}),media:Object.freeze({droppedTemplate:m("{n} attachment did not upload."),droppedPluralTemplate:m("{n} attachments did not upload."),refusedSizeTemplate:m("{n} attachment was too large to send."),refusedSizePluralTemplate:m("{n} attachments were too large to send."),refusedTypeTemplate:m("{n} attachment is a file type that cannot be sent."),refusedTypePluralTemplate:m("{n} attachments are file types that cannot be sent."),refusedUnreadableTemplate:m("{n} attachment could not be read."),refusedUnreadablePluralTemplate:m("{n} attachments could not be read.")}),navTitle:m("Book a visit"),rescheduleNavTitle:m("Change your visit"),close:m("Close"),continueCta:m("Continue"),petSelectTitle:m("Who is this visit for?"),addPetCta:m("Add a pet"),locationUnknownTitle:m("We need your location to find a vet"),locationUnknownBody:m("Turn on location for Everfur, then try again."),locationUnknownCta:m("Allow location"),locationBlockedTitle:m("Location is turned off"),locationBlockedBody:m("Everfur needs your location to match you with a vet in your area."),locationBlockedCta:m("Open Settings"),locationUnavailableTitle:m("We could not read your location"),locationUnavailableBody:m("Try again in a moment."),stateAttestTemplate:m("I confirm my pet and I are in {state} right now."),describeHeading:m("Tell the vet what you are seeing"),describeHelpLong:m("A few sentences is plenty. When it started, what changed, anything you've already tried."),addPhotoCta:m("ADD PHOTO OR VIDEO"),removePhotoLabel:m("Remove photo"),summaryPet:m("Pet"),summaryVet:m("Vet"),summaryWhen:m("When"),summaryLength:m("Length"),summaryReason:m("Reason"),summaryLengthTemplate:m("{n} minutes"),confirmCta:m("Confirm visit"),bookedTitle:m("You are booked."),addToCalendarCta:m("Add to calendar"),doneCta:m("Done"),booked:Object.freeze({remindPromise:m("We will notify you 30 minutes before."),summaryPromise:m("{pet}'s summary goes to the vet ahead of the call."),joinPromise:m("Join right here in the app. No links to hunt for."),backToPet:m("Back to {pet}"),calendarAdded:m("Added to your calendar"),calendarFailedBody:m("That did not save to your calendar.")}),chrome:Object.freeze({closeHint:m("Closes without saving"),discardTitle:m("Leave without booking?"),discardBody:m("Your answers will not be saved."),discardConfirmCta:m("Leave"),discardKeepCta:m("Keep going"),noPetsTitle:m("No pets on this account"),loadFailedTitle:m("Could not load"),retryCta:m("Try again")}),emergency:Object.freeze({bannerTitle:m("This cannot wait for a scheduled call."),keepBookingCta:m("I have handled this, keep booking"),lede:m("What you are describing is the kind of thing vets want to see in person, now."),exitPrimaryVetTitle:m("Call {petName}'s primary vet"),exitFindErTitle:m("Find an emergency vet near you"),startCallHint:m("Starts a phone call")}),visit:Object.freeze({title:m("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 tl(e=c){return typeof e=="string"?[e]:typeof e!="object"||e===null?[]:Object.values(e).flatMap(t=>tl(t))}o(tl,"televetBookingCopyValues");function we(){return tl().every(e=>e.trim().length>0&&!Os(e))}o(we,"isTelevetBookingCopyReady");var tr=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(tr.map(e=>e.wireCode));var Ds=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"}),rl=Object.freeze(tr.map(e=>Object.freeze({wireCode:e.wireCode,envelope:e.envelope,retryable:e.retryable,normalized:Ds[e.wireCode]}))),Bs=new Map(rl.map(e=>[e.envelope+e.wireCode.toUpperCase(),e])),Fs=Object.freeze(["http_envelope",...[...new Set(rl.map(e=>e.envelope))].filter(e=>e!=="http_envelope").sort()]);function sn(e,t){if(typeof e!="string")return;let n=e.trim().toUpperCase();if(n.length!==0)for(let r of [t??"http_envelope",...Fs]){let i=Bs.get(r+n);if(i)return i}}o(sn,"contractErrorFor");function Ns(e){return e.envelope==="sse_frame"?`/errors#sse-${e.wireCode}`:e.envelope==="oauth_error"?`/errors#oauth-${e.wireCode}`:`/errors#${e.wireCode}`}o(Ns,"contractDocUrl");function ol(e){return null}o(ol,"publishedDocUrl");var Ls=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 ll(e){return Ls[e]}o(ll,"categoryFor");function il(e){let t=sn(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(il,"fromWire");var Vs=new Set(["streamTimeout","rateLimited","internalError","upstreamLlmTimeout","streamIncomplete"]);function nr(e){return Vs.has(e)}o(nr,"isAutoRetryable");var Ms=new Set(["serviceUnavailable","conflict","idempotencyInFlight"]);function al(e){return nr(e)||Ms.has(e)}o(al,"isRetryableCode");var zs=500,rr=8e3,sl=4;function dl(e,t=Math.random){let n=Math.max(0,e),r=Math.min(zs*2**n,rr);return Math.floor(t()*r)}o(dl,"backoffDelayMs");var js=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 or(e){return js[e]}o(or,"userFacingError");function ul(e,t,n){Object.defineProperty(e,t,{value:n,enumerable:false,writable:false,configurable:false});}o(ul,"defineHidden");var Hs=/^[a-z][a-z0-9_]{0,63}$/;function ne(e,t){let n=sn(t?.wireCode,t?.wireEnvelope),r={code:e,category:ll(e),retryable:t?.retryable??al(e),displayMessage:or(e)};if(t?.httpStatus!==void 0&&(r.httpStatus=t.httpStatus),t?.requestId&&(r.requestId=t.requestId),typeof t?.reasonCode=="string"&&Hs.test(t.reasonCode)&&(r.reasonCode=t.reasonCode),n);return t?.wireMessage&&ul(r,"wireMessage",t.wireMessage),t?.raw!==void 0&&t.raw!==null&&ul(r,"raw",t.raw),Object.freeze(r)}o(ne,"makeEverfurError");function V(e,t){return Object.freeze(t===void 0?{ok:true,value:e}:{ok:true,value:e,warning:t})}o(V,"ok");function R(e){return Object.freeze({ok:false,error:e})}o(R,"err");var dn=class dn extends Error{constructor(t,n){super(n),this.name="EverfurConfigError",this.kind=t,Object.setPrototypeOf(this,dn.prototype);}};o(dn,"EverfurConfigError");var _t=dn;function Us(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(Us,"authHeaders");function wt(e,t){return {...e,headers:{...Ws(e.headers),...Us(t)}}}o(wt,"withAuthHeaders");function Ws(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(Ws,"stripAuthHeaders");async function cl(e,t){if(t.mode==="anonymous")return t.transport.request(wt(e,{mode:"anonymous",publishableKey:t.publishableKey,userRef:t.userRef,...t.sessionId?{sessionId:t.sessionId}:{}}));let n;try{n=await t.identity.currentToken();}catch{return R(lr())}let r=await t.transport.request(wt(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 R(lr())}let l=await t.transport.request(wt(e,{mode:"personalized",token:i,userRef:t.userRef,...t.sessionId?{sessionId:t.sessionId}:{}}));return !l.ok&&l.error.httpStatus===401?R(lr(l.error.httpStatus)):l}o(cl,"authedSend");function lr(e){return ne("authRejected",{retryable:false,...e!==void 0?{httpStatus:e}:{}})}o(lr,"authRejectedError");function pl(e){return ne("internalError",{retryable:true,wireMessage:qs(e)})}o(pl,"networkError");function qs(e){return e instanceof Error?e.message:typeof e=="string"?e:"network request failed"}o(qs,"describeCause");var $s=3e4,Ks=rr*2,Ys="idempotency-key",Gs=new Set(["POST","PUT","PATCH","DELETE"]),Js=Object.freeze({onEvent(){}}),Xs=Object.freeze({setTimeout:o((e,t)=>setTimeout(e,t),"setTimeout"),clearTimeout:o(e=>clearTimeout(e),"clearTimeout"),now:o(()=>Date.now(),"now")});function Qs(e){let t=e.trim().replace(/[^A-Za-z0-9_.:-]/g,"-");return t.length===0?null:`efs_${t}`.slice(0,128)}o(Qs,"seededIdempotencyKey");function Ge(e){let t=e.observer??Js,n=e.timers??Xs,r=e.rng??Math.random,i=e.sleep??((f,y)=>cd(f,n,y)),l=e.maxAttempts??sl,a=e.unaryTimeoutMs??$s,s=e.newIdempotencyKey??ir(),d=o(f=>{try{t.onEvent(f);}catch{}},"emit");async function u(f,y,k){let S=k?.maxAttempts,P=Math.max(1,S??l),C=k?.idempotent??Gs.has(y.method),T=k?.idempotencyKey===void 0?null:Qs(k.idempotencyKey),E=C?T??s():null,D=Zs(y,E),h=0;for(;;){let z=o(ie=>Object.freeze({call:f,method:y.method,path:y.path,attempt:h,...E?{idempotencyKey:E}:{},...ie}),"stamp");d(z({phase:"attempt"}));let B=dd(a,n),L=ud(B.signal,y.signal),M;try{M=await cl({...D,signal:L.signal},e.auth);}catch(ie){M=R(pl(ie));}finally{L.dispose(),B.cancel();}if(M.ok)return d(z({phase:"settled",ok:true,reason:"ok"})),M;let K=M.error,be=td(K,h,{maxAttempts:P,rng:r,now:n.now(),aborted:y.signal?.aborted===true,...S!==void 0?{perCallMaxAttempts:S}:{},...e.errorPolicy!==void 0?{policy:e.errorPolicy}:{}}),Q={ok:false,code:K.code,reason:be.reason,...K.httpStatus!==void 0?{httpStatus:K.httpStatus}:{},...K.requestId!==void 0?{requestId:K.requestId}:{}};if(!be.retry)return d(z({phase:"settled",...Q})),R(K);if(d(z({phase:"retry",...Q,delayMs:be.delayMs})),await i(be.delayMs,y.signal),y.signal?.aborted===true)return d(z({phase:"settled",...Q,reason:"aborted"})),R(K);h+=1;}}o(u,"send");async function p(f){return wt(f,await sd(e.auth))}o(p,"authorize");async function*g(f,y,k){d(Object.freeze({call:f,phase:"stream.open",method:y.method,path:y.path,attempt:0}));try{yield*e.auth.transport.stream(y,k);}catch{yield Qo({code:"internal_error",retryable:true,wireMessage:null,synthesized:true,lastEventId:null,serverRequestId:null});}}return o(g,"stream"),Object.freeze({send:u,authorize:p,stream:g})}o(Ge,"createRequestFunnel");function Zs(e,t){let n={};for(let[r,i]of Object.entries(e.headers??{}))r.toLowerCase()!==Ys&&(n[r]=i);return t!==null&&(n["Idempotency-Key"]=t),{...e,headers:n}}o(Zs,"assembleHeaders");function ir(){let e=0;return ()=>`efk_${Date.now().toString(36)}_${(e++).toString(36)}_${Math.random().toString(36).slice(2,12)}`}o(ir,"defaultIdempotencyKeyFactory");var ed=10;function td(e,t,n){if(n.aborted)return {retry:false,reason:"aborted"};let r=nd(e);if(r==="quota")return {retry:false,reason:"daily-quota-exhausted"};if(r!=="burst"&&!nr(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 a=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(ed,Math.floor(u)))},"policyCeiling"),s=n.perCallMaxAttempts??a()??n.maxAttempts;if(t+1>=s)return {retry:false,reason:"attempts-exhausted"};let d=rd(e,n.now);return d!==null?d>Ks?{retry:false,reason:"server-reset-beyond-budget"}:{retry:true,reason:i,delayMs:d}:{retry:true,reason:i,delayMs:dl(t,n.rng)}}o(td,"decideRetry");function nd(e){let t=e.code==="unknown"?il(ad(e.raw)):e.code;return t==="quotaExceeded"?"quota":t==="rateLimited"||e.httpStatus===429?"burst":null}o(nd,"throttleKind");function rd(e,t){let n=ld(e.raw);if(n!==null){let i=n-t;return i>0?i:0}let r=od(e.raw);return r===null?null:Math.round(r*1e3)}o(rd,"retryOverrideMs");function od(e){for(let t of ar(e)){let n=t.retry_after_seconds;if(typeof n=="number"&&Number.isFinite(n)&&n>=0)return n}return null}o(od,"findRetryAfterSeconds");function ld(e){for(let t of ar(e)){let n=t.resets_at,r=id(n);if(r!==null)return r}return null}o(ld,"findResetsAt");function ar(e){if(!fl(e))return [];let t=[e];for(let n of ["error","detail"]){let r=e[n];fl(r)&&t.push(r);}return t}o(ar,"candidateScopes");function id(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(id,"parseInstantMs");function ad(e){for(let t of ar(e)){let n=t.code;if(typeof n=="string"&&n.length>0)return n}return null}o(ad,"rawWireCode");function fl(e){return typeof e=="object"&&e!==null}o(fl,"isRecord");async function sd(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(sd,"resolveDeviceAuth");function dd(e,t){let n=new AbortController,r=t.setTimeout(()=>n.abort(),e);return {signal:n.signal,cancel:o(()=>t.clearTimeout(r),"cancel")}}o(dd,"boundedSignal");function ud(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(ud,"mergeSignals");function cd(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(cd,"delayAbortable");var gl="televet_booking_not_live";function un(e){return ne("conflict",{retryable:false,reasonCode:gl,wireMessage:`the booking was answered with a consult whose status is ${e}, which is not a live visit`})}o(un,"televetBookingNotLiveError");var sr="televet_booking_key_reused",yl="IDEMPOTENCY_KEY_REUSED_DIFFERENT_REQUEST";function cn(e){return e.httpStatus!==409||e.reasonCode===sr||Pt(e)?.code!==yl?e:ne(e.code,{retryable:false,httpStatus:409,...e.requestId!==void 0?{requestId:e.requestId}:{},wireCode:yl,reasonCode:sr,...e.wireMessage!==void 0?{wireMessage:e.wireMessage}:{},raw:e.raw})}o(cn,"foldTelevetBookingKeyReused");function Pt(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(Pt,"details");function pd(e){let t=Pt(e)?.categories;return Array.isArray(t)?Object.freeze(t.filter(n=>typeof n=="string")):Object.freeze([])}o(pd,"categoriesOf");function ml(e){let t=Pt(e)?.retry_after_seconds;return typeof t=="number"&&Number.isFinite(t)&&t>0?t:null}o(ml,"retryAfterOf");function vl(e){let t=e.wireMessage;if(typeof t=="string"&&t.trim().length>0)return t.trim();let n=Pt(e)?.message;return typeof n=="string"&&n.trim().length>0?n.trim():null}o(vl,"messageOf");function fd(e){let t=e.reasonCode;if(typeof t=="string"&&t.length>0)return t;let n=Pt(e),r=n?.code??n?.error_code;return typeof r=="string"&&r.length>0?r:null}o(fd,"codeOf");function ze(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:ml(e),message:vl(e)});if(t===404)return Object.freeze({kind:"unavailable"});switch(fd(e)){case "televet_rate_limited":return Object.freeze({kind:"rate_limited",retryAfterSeconds:ml(e),message:vl(e)});case "televet_emergency_ack_required":return Object.freeze({kind:"emergency",categories:pd(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 gl:return Object.freeze({kind:"slot_taken"});case sr: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(ze,"televetBookingRefusal");function yd(e){try{return new URL(e.trim()).protocol==="https:"}catch{return false}}o(yd,"isSafeRoomUrl");function md(e,t){return yd(e)&&t.trim().length>0}o(md,"isUsableRoomCredential");function pn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}o(pn,"isRecord");function dr(e,t){return typeof e=="number"&&Number.isInteger(e)&&e>=t?e:null}o(dr,"wholeNumber");function vd(e){if(!pn(e))return null;let t=dr(e.consult_minutes,1),n=dr(e.auto_end_minutes,0),r=dr(e.warn_before_seconds,0);return t===null||n===null||r===null?null:Object.freeze({consultMinutes:t,autoEndMinutes:n,warnBeforeSeconds:r})}o(vd,"parseCallLimits");function ur(e){if(!pn(e))return null;let t=e.room_url??e.url,n=e.token;if(typeof t!="string"||typeof n!="string"||!md(t,n))return null;let r=e.recording_notice;return Object.freeze({roomUrl:t.trim(),token:n,recordingNotice:typeof r=="boolean"?r:true,callLimits:vd(e.call_limits)})}o(ur,"parseVetCallCredential");function cr(e){let t=bl(e.raw);return t!==null&&t.length>0?t:null}o(cr,"vetCallJoinReason");function bl(e){if(!pn(e))return null;let t=e.detail??e.error,r=(pn(t)?t:e).reason;return typeof r=="string"?r:null}o(bl,"reasonOf");function pr(e){if(e.httpStatus===404)return "unavailable";let t=bl(e.raw);return t==="too_early"||t==="too_late"||t==="room_not_ready"?t:t!==null&&t.startsWith("status_")?"not_joinable":"unknown"}o(pr,"vetCallJoinRefusal");var Tl=["scheduled","in_progress","awaiting_summary","completed","cancelled_owner","cancelled_ops","no_show_owner","no_show_vet"],Je=new Set(["completed","cancelled_owner","cancelled_ops","no_show_owner","no_show_vet"]),gd=new Set(["scheduled","in_progress","awaiting_summary"]);function fn(e){return gd.has(e.status)}o(fn,"isLiveConsult");var El=["wellness","prescription"],bd=60;function Sl(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,bd):null}o(Sl,"televetSlotMinutes");var yn=64,Ie=2e3,mn=10;function he(e){return typeof e=="string"&&/^[A-Za-z]{2}$/.test(e.trim())}o(he,"isWellFormedStateCode");function Pe(e){return typeof e=="object"&&e!==null?e:null}o(Pe,"row");function ee(e){return typeof e=="string"&&e.length>0?e:null}o(ee,"str");function je(e){return typeof e=="string"&&e.trim().length>0?e.trim():null}o(je,"trimmedOrNull");function ct(e,t){return typeof e=="boolean"?e:t}o(ct,"bool");function fr(e){return typeof e=="number"&&Number.isFinite(e)?e:null}o(fr,"num");function hl(e,t){return typeof t=="string"&&e.includes(t)?t:"unknown"}o(hl,"closed");function pt(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(pt,"parseList");function kl(e,t){let n=Pe(e);return n===null?null:Object.freeze({state:ee(n.state)??t,wellnessAvailable:ct(n.wellness_available,false),prescriptionsAvailable:ct(n.prescriptions_available,false),cancellationPolicyText:je(n.cancellation_policy_text)})}o(kl,"parseStatePolicy");function Cl(e){let t=Pe(e);if(t===null)return null;let n=je(t.summary),r=je(t.version);return n===null||r===null?null:Object.freeze({summary:n,version:r})}o(Cl,"parseCancellationPolicy");function Rl(e){let t=Pe(e);if(t===null)return null;let n=ee(t.clinician_id),r=ee(t.display_name);return n===null||r===null?null:Object.freeze({clinicianId:n,displayName:r,credentials:je(t.credentials_text),rating:fr(t.rating),ratingCount:fr(t.rating_count),bio:je(t.bio),photoRef:ee(t.photo_ref),licensedStates:pt(t.licensed_states,i=>{let l=Pe(i),a=l===null?null:ee(l.state);return a===null?null:Object.freeze({state:a,canPrescribe:ct(l?.can_prescribe,false)})})})}o(Rl,"parseClinician");function yr(e){let t=Pe(e);if(t===null)return null;let n=ee(t.slot_id),r=ee(t.starts_at);return n===null||r===null?null:Object.freeze({slotId:n,startsAt:r,endsAt:ee(t.ends_at)??r})}o(yr,"parseSlot");function xl(e){let t=Pe(e);if(t===null)return null;let n=ee(t.slot_id),r=ee(t.hold_expires_at);return n===null||r===null?null:Object.freeze({slotId:n,expiresAt:r})}o(xl,"parseSlotHold");function It(e){let t=Pe(e);if(t===null)return null;let n=ee(t.consult_id),r=ee(t.scheduled_at);return n===null||r===null?null:Object.freeze({consultId:n,petId:ee(t.pet_id)??"",clinicianId:ee(t.clinician_id)??"",clinicianName:je(t.display_name),reasonText:je(t.reason_text),mediaRefs:pt(t.media_refs,i=>ee(i)),status:hl(Tl,t.status),kind:hl(El,t.kind),scheduledAt:r,emergencyFlagged:ct(t.emergency_flagged,false),hasRoom:ee(t.meeting_url)!==null})}o(It,"parseConsult");function _l(e){let t=Pe(e);return Object.freeze({active:ct(t?.active,false)})}o(_l,"parseBookingEntitlement");var vn=240;function wl(e){let t=Pe(e);if(t===null)return null;let n=fr(t.fee_cents);return n===null||n<0?null:Object.freeze({feeCents:n,currency:ee(t.currency)??"usd",feeRecorded:ct(t.fee_recorded,n>0),summary:je(t.summary)})}o(wl,"parseCancelReceipt");var He="/widget/v1/televet",hd=`${He}/state-policy`,Td=`${He}/vets`,Pl=`${He}/slots`,Ed=`${He}/slots/next`,gn=`${He}/consults`,Sd=`${He}/entitlement`,kd=`${He}/cancellation-policy`;function Il(e){return `${Pl}/${encodeURIComponent(e)}/hold`}o(Il,"televetHoldCall");function Ol(e){return `${gn}/${encodeURIComponent(e)}/reschedule`}o(Ol,"televetRescheduleCall");function bn(e){return `${gn}/${encodeURIComponent(e)}`}o(bn,"televetConsultCall");function Al(e){return `${bn(e)}/join`}o(Al,"televetJoinCall");function Dl(e){return `${bn(e)}/cancel`}o(Dl,"televetCancelCall");var Bl=100;function se(e){return R(ne("validationFailed",{retryable:false,wireMessage:e}))}o(se,"invalid");function Xe(e){return R(ne("internalError",{retryable:false,httpStatus:502,wireMessage:e}))}o(Xe,"unusable");function mr(e){return e.httpStatus===404}o(mr,"isDark");function ft(e,t,n){try{e?.track(t,n);}catch{}}o(ft,"safeTrack");function Fl(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(!he(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>Ie?`reason_text must be at most ${Ie} characters`:Cd(e)}o(Fl,"validateBookingBody");function Cd(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>yn?`cancellation_policy_version must be at most ${yn} characters`:null}o(Cd,"attestationRefusal");function gr(e){let t=e.funnel??Ge({auth:e.auth,...e.errorPolicy?{errorPolicy:e.errorPolicy}:{}}),n=e.telemetry;return {async statePolicy(r,i){let l=r.trim();if(!he(l))return se("state must be a two-letter US state code");let a=await t.send("televet.booking.state_policy",{method:"GET",path:`${hd}/${encodeURIComponent(l)}`,...i?{signal:i}:{}});if(!a.ok)return R(a.error);let s=kl(a.value,l);return s===null?Xe("the state policy response was unreadable"):V(s)},async entitlement(r){let i=await t.send("televet.booking.entitlement",{method:"GET",path:Sd,...r?{signal:r}:{}});return i.ok?V(_l(i.value)):R(i.error)},async cancellationPolicy(r){let i=await t.send("televet.booking.cancellation_policy",{method:"GET",path:kd,...r?{signal:r}:{}});return i.ok?V(Cl(i.value)):V(null)},async clinicians(r,i){let l=r.trim();if(!he(l))return se("state must be a two-letter US state code");let a=await t.send("televet.booking.clinicians",{method:"GET",path:Td,query:{state:l},...i?{signal:i}:{}});return a.ok?V(pt(vr(a.value,"vets"),Rl)):mr(a.error)?V(Object.freeze([])):R(a.error)},async slots(r,i){let l=r.trim();if(l.length===0)return se("clinicianId is required");let a=await t.send("televet.booking.slots",{method:"GET",path:Pl,query:{clinician_id:l},...i?{signal:i}:{}});return a.ok?V(pt(vr(a.value,"slots"),yr)):mr(a.error)?V(Object.freeze([])):R(a.error)},async nextSlot(r){let i=await t.send("televet.booking.next_slot",{method:"GET",path:Ed,...r?{signal:r}:{}});return i.ok?V(yr(xd(i.value,"slot"))):V(null)},async holdSlot(r){let i=r.trim();if(i.length===0)return se("slotId is required");let l=await t.send("televet.booking.hold",{method:"POST",path:Il(i)},{idempotent:false,maxAttempts:1});if(!l.ok)return ft(n,"televet.booking.hold_failed",{status:l.error.httpStatus??null}),R(l.error);let a=xl(l.value);return a===null?Xe("the hold response carried no usable expiry"):V(a)},async book(r,i){let l=Fl(r);if(l!==null)return se(l);let a=i.trim();if(a.length===0)return se("idempotencyKey is required");let s=await t.send("televet.booking.book",{method:"POST",path:gn,body:Rd(r)},{idempotent:true,idempotencyKey:a,maxAttempts:1});if(!s.ok)return ft(n,"televet.booking.book_failed",{status:s.error.httpStatus??null}),R(cn(s.error));let d=It(s.value);return d===null?Xe("the booking response was unreadable"):fn(d)?V(d):(ft(n,"televet.booking.book_failed",{status:null,consult_status:d.status}),R(un(d.status)))},async reschedule(r,i){let l=r.trim(),a=i.trim();if(l.length===0)return se("consultId is required");if(a.length===0)return se("slotId is required");let s=await t.send("televet.booking.reschedule",{method:"POST",path:Ol(l),body:{new_slot_id:a}},{idempotent:false,maxAttempts:1});if(!s.ok)return ft(n,"televet.booking.reschedule_failed",{status:s.error.httpStatus??null}),R(s.error);let d=It(s.value);return d===null?Xe("the reschedule response was unreadable"):V(d)},async listConsults(r){let i=await t.send("televet.booking.consults",{method:"GET",path:gn,query:{limit:String(Bl)},...r?{signal:r}:{}});return i.ok?V(pt(vr(i.value,"consults"),It)):mr(i.error)?V(Object.freeze([])):R(i.error)},async getConsult(r,i){let l=r.trim();if(l.length===0)return se("consultId is required");let a=await t.send("televet.booking.consult",{method:"GET",path:bn(l),...i?{signal:i}:{}});if(!a.ok)return R(a.error);let s=It(a.value);return s===null?Xe("the consult response was unreadable"):V(s)},async joinConsult(r){let i=r.trim();if(i.length===0)return se("consultId is required");let l=await t.send("televet.booking.join",{method:"POST",path:Al(i)},{idempotent:false,maxAttempts:1});if(!l.ok)return ft(n,"televet.booking.join_failed",{status:l.error.httpStatus??null}),R(l.error);let a=ur(l.value);return a===null?Xe("the join response carried no usable room credential"):V(a)},async cancelConsult(r,i){let l=r.trim(),a=i.trim();if(l.length===0)return se("consultId is required");if(a.length===0)return se("reason is required");if(a.length>vn)return se(`reason must be at most ${vn} characters`);let s=await t.send("televet.booking.cancel",{method:"POST",path:Dl(l),body:{reason:a}},{idempotent:false,maxAttempts:1});if(!s.ok)return ft(n,"televet.booking.cancel_failed",{status:s.error.httpStatus??null}),R(s.error);let d=wl(s.value);return d===null?Xe("the cancel response was unreadable"):V(d)}}}o(gr,"createTelevetBookingController");function Rd(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(Rd,"bookingWireBody");function vr(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(vr,"rows");function xd(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(xd,"unwrap");var Nl=Symbol.for("@everfur/sdk#EverfurContext@v1"),Ll=globalThis,Vl=Ll[Nl]??(Ll[Nl]=createContext(null));Vl.displayName??="EverfurContext";function me(){let e=useContext(Vl);if(e===null)throw new _t("not-initialized","Everfur hooks must be called inside <EverfurProvider>. Wrap your tree once, high.");return e}o(me,"useEverfurContext");var Pd=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 Id(e){return Pd[e]}o(Id,"requires");function Ml(e,t,n){let r=Id(e),i=new Map;for(let s of t)i.set(s.resource,s);if(n?.isPending===true&&r.some(s=>!i.has(s)))return br({name:e,enabled:false,isPending:true,limits:{}});let l=Od(r,i);return r.filter(s=>i.get(s)?.granted!==true).length===0?br({name:e,enabled:true,isPending:false,limits:l}):br({name:e,enabled:false,isPending:false,limits:l,disabled:Ad(r,i)})}o(Ml,"decideCapability");function Od(e,t){let n={};for(let r of e){let i=t.get(r)?.limits;if(i)for(let[l,a]of Object.entries(i)){let s=n[l];n[l]=s===void 0?a:Math.min(s,a);}}return n}o(Od,"mergeLimits");function Ad(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:or("accessDenied"),level:"user_entitlement",recoverable:false})}o(Ad,"disabledFor");function br(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(br,"freezeDecision");function Ot(e){let{runtime:t}=me(),n=t.entitlements,r=useSyncExternalStore(n.subscribe,n.getSnapshot,n.getSnapshot);return useMemo(()=>Ml(e,r.decisions,{isPending:r.isPending}),[e,r])}o(Ot,"useCapability");function de(e){let{runtime:t,userRef:n,scopeEpoch:r}=me();return useMemo(()=>{if(e)return e;if(n===null)return null;let{services:i}=t.registry;return gr({auth:i.authFor(n),telemetry:i.telemetry,...i.errorPolicy?{errorPolicy:i.errorPolicy}:{}})},[t,n,r,e])}o(de,"useTelevetBookingController");function Fd(){let{userRef:e}=me(),t=Ot("televet");return useMemo(()=>({available:t.enabled&&e!==null,isPending:t.isPending}),[t.enabled,t.isPending,e])}o(Fd,"useTelevetBookingAvailable");function Ue(e,t,n){let[r,i]=useState(()=>({key:e,data:null,isPending:t&&n!==null,error:null})),[l,a]=useState(0),s=useRef(n);s.current=n,useEffect(()=>{let p=s.current;if(!t||p===null){i({key:e,data:null,isPending:false,error:null});return}let g=new AbortController,f=true;return i(y=>y.key===e?{...y,isPending:true,error:null}:{key:e,data:null,isPending:true,error:null}),(async()=>{let y;try{y=await p(g.signal);}catch{f&&i({key:e,data:null,isPending:false,error:null});return}f&&(y.ok?i({key:e,data:y.value,isPending:false,error:null}):i({key:e,data:null,isPending:false,error:y.error}));})(),()=>{f=false,g.abort();}},[e,t,l]);let d=useCallback(()=>a(p=>p+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(Ue,"useTelevetRead");function Tr(e,t){let n=e?.trim()??"",r=t?.statePolicy!==void 0&&he(n),i=t?.statePolicy;return Ue(`state-policy:${n}`,r,r&&i?l=>i.call(t,n,l):null)}o(Tr,"useTelevetStatePolicy");function Er(e){let t=e?.entitlement!==void 0,n=e?.entitlement;return Ue("entitlement",t,t&&n?r=>n.call(e,r):null)}o(Er,"useTelevetBookingEntitlement");function At(e){let t=e?.cancellationPolicy!==void 0,n=e?.cancellationPolicy;return Ue("cancellation-policy",t,t&&n?r=>n.call(e,r):null)}o(At,"useTelevetCancellationPolicy");function Sr(e,t){let n=e?.trim()??"",r=t?.clinicians!==void 0&&he(n),i=t?.clinicians;return Ue(`clinicians:${n}`,r,r&&i?l=>i.call(t,n,l):null)}o(Sr,"useTelevetClinicians");function Dt(e,t){let n=e?.trim()??"",r=t!==null&&n.length>0;return Ue(`slots:${n}`,r,r&&t?i=>t.slots(n,i):null)}o(Dt,"useTelevetSlots");function kr(e){let t=e?.nextSlot!==void 0,n=e?.nextSlot;return Ue("next-slot",t,t&&n?r=>n.call(e,r):null)}o(kr,"useTelevetNextSlot");function En(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 a=useCallback((...s)=>{let d=l.current;if(d===null||i.current)return;let u=s[s.length-1],p=typeof u=="object"&&u!==null&&("onSuccess"in u||"onError"in u),g=p?u:void 0,f=p?s.slice(0,-1):s;i.current=true,n({variables:f[0]??null}),(async()=>{let y=null;try{y=await d(...f);}catch{y=null;}i.current=false,r.current&&n(null),y!==null&&(y.ok?g?.onSuccess?.(y.value):g?.onError?.(y.error));})();},[]);return useMemo(()=>({isPending:t!==null,variables:t?.variables??null,mutate:a}),[t,a])}o(En,"useTelevetWrite");function Bt(e){return En(e?t=>e.holdSlot(t):null)}o(Bt,"useTelevetHoldSlot");function Cr(e){return En(e?(t,n)=>e.book(t,n):null)}o(Cr,"useTelevetBookConsult");function Rr(e,t){return En(t&&e?n=>t.reschedule(e,n):null)}o(Rr,"useTelevetRescheduleConsult");function Sn(e,t=0){let n=e?.listConsults!==void 0,r=e?.listConsults;return Ue(`consults:${t}`,n,n&&r?i=>r.call(e,i):null)}o(Sn,"useTelevetConsults");function Hl(e,t,n=0){let r=e?.trim()??"",i=t?.getConsult!==void 0&&r.length>0,l=t?.getConsult;return Ue(`consult:${r}:${n}`,i,i&&l?a=>l.call(t,r,a):null)}o(Hl,"useTelevetConsult");function Ul(e,t){let n=t?.cancelConsult;return En(t&&n&&e?r=>n.call(t,e,r):null)}o(Ul,"useTelevetCancelConsult");function Ft(e){return e.error!==null&&e.error.httpStatus===404}o(Ft,"televetReadIsDark");var xr=15,_r=250,Nd=new Set(["scheduled","in_progress"]);function Qe(e){let t=Date.parse(e.scheduledAt);return Number.isNaN(t)?null:t}o(Qe,"startsAtMs");function Ld(e){let t=Qe(e);return t===null?null:t-xr*6e4}o(Ld,"televetJoinOpensAtMs");function wr(e,t){if(e===null)return {ready:false,reason:"not_open_yet"};if(Je.has(e.status))return {ready:false,reason:"consult_over"};if(e.status==="in_progress")return {ready:true};let n=Qe(e);return n===null?{ready:false,reason:"not_open_yet"}:t<n-xr*6e4?{ready:false,reason:"not_open_yet"}:t>n+_r*6e4?{ready:false,reason:"consult_over"}:{ready:true}}o(wr,"televetJoinReadiness");function Nt(e,t){let n=[],r=[];for(let i of e){let l=Qe(i);(Nd.has(i.status)&&l!==null&&l+_r*6e4>t?n:r).push(i);}return n.sort((i,l)=>(Qe(i)??0)-(Qe(l)??0)),r.sort((i,l)=>(Qe(l)??0)-(Qe(i)??0)),Object.freeze({upcoming:Object.freeze(n),past:Object.freeze(r)})}o(Nt,"splitTelevetVisits");function Pr(e){return e==="scheduled"}o(Pr,"canManageTelevetVisit");function Wl(e){let t=Sn(e);return t.enabled?t.isPending?"pending":t.isError||Nt(t.data??[],Date.now()).upcoming.length>0?"visits":"booking":"booking"}o(Wl,"useTelevetLanding");function Ar(e){if(e!==null&&typeof e=="object"&&!Object.isFrozen(e)){Object.freeze(e);for(let t of Object.keys(e))Ar(e[t]);}return e}o(Ar,"deepFreeze");var Vd=Object.freeze({content:0,heading:2,control:1.8,compact:1.5,badge:1.3}),$l={xs:4,sm:8,md:12,lg:16,xl:24,xxl:32},Kl={tile:5,xs:6,sm:10,md:14,lg:20,xl:28,pill:500},ql={nano:8,small:9,micro:10,tiny:11,caption:12,bodyTight:13,body:14,subtitle:16,heading:18,verdict:24},Md={tight:1.15,snug:1.3,normal:1.4,relaxed:1.55},zd={regular:"400",medium:"500",bold:"700"},jd={eyebrow:1,monoWide:.9,headerBrand:-0.42,tight:-0.35},Hd=0,kn="System",Cn="monospace",Ud=["content","heading","control","compact","badge"];function Wd(e){let t={};for(let n of Ud)t[n]=e;return t}o(Wd,"authoredTierSizes");function Yl(){return {family:kn,mono:Cn,fontUrl:null,families:{regular:kn,medium:kn,bold:kn,mono:Cn,monoMedium:Cn,monoBold:Cn},namedFaces:{regular:false,medium:false,bold:false,mono:false,monoMedium:false,monoBold:false},fontUrls:{},size:ql,tierSizes:Wd(ql),lineHeight:Md,weight:zd,letterSpacing:jd,scale:1,maxScale:Hd,scaleCaps:Vd}}o(Yl,"baseType");var Gl={},Ir=Object.freeze({standard:Object.freeze([.2,0,0,1]),emphasized:Object.freeze([.2,.8,.2,1]),exit:Object.freeze([.4,0,1,1])});function Or(e){return `cubic-bezier(${e.join(", ")})`}o(Or,"cssCubicBezier");var Jl={duration:{instant:80,fast:140,normal:220,slow:320},spring:{gentle:{damping:18,stiffness:200}},easing:{standard:Or(Ir.standard),emphasized:Or(Ir.emphasized),exit:Or(Ir.exit)},reducedMotion:false},qd={brand:"#10462E",brandSoft:"rgba(16,70,46,0.10)",brandSofter:"rgba(16,70,46,0.15)",brandBorder:"rgba(16,70,46,0.18)",borderHairlineGreen:"rgba(16,70,46,0.25)",brandBorderStrong:"rgba(16,70,46,0.55)",brandInk:"#10462E",linkInk:"#10462E",surface:"#FFFFFF",surfaceCream:"#FDFBF8",surfaceSubtle:"#EFE9E3",background:"#FFFFFF",borderRingCream:"#D8D2C8",chatGround:"#FFFFFF",composerFill:"#FDFBF8",composerBorder:"rgba(16,70,46,0.75)",shadow:"#0B3421",text:{primary:"#111111",secondary:"#0E462E",muted:"#6E6660",placeholder:"rgba(61,61,61,0.75)",onBrand:"#FFFFFF",metaCool:"#3D3D3D",timestamp:"rgba(61,61,61,0.75)"},primary:"#10462E",onPrimary:"#FFFFFF",accent:"#10462E",onAccent:"#FFFFFF",accentEdge:"#07C168",success:"#07C168",danger:"#B91C1C",errorRed:"#FF1B00",warningStrong:"#A45610",cautionAccent:"#D9821D",riskConcern:"#EFA700",sentiment:{up:"#07C168",neutral:"#FBC558",down:"#FF1B00"},badgeBgPositive:"rgba(7,193,104,0.12)",badgeBgCaution:"rgba(217,130,29,0.14)",badgeBgCritical:"rgba(185,28,28,0.12)",badgeBgNeutral:"rgba(110,102,96,0.12)",bubbleUser:"#10462E",bubbleAssistant:"#FFFFFF",skeleton:"#EFE9E3",scanButtonPink:"#FFC3BC",checkupCardLowRiskBg:"rgba(7,193,104,0.10)",checkupCardConcernBg:"rgba(239,167,0,0.10)"},Xl=Ar({brightness:"light",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:qd,space:$l,radius:Kl,type:Yl(),motion:Jl,slots:Gl}),$d={brand:"#6BD39A",brandSoft:"rgba(107,211,154,0.12)",brandSofter:"rgba(107,211,154,0.18)",brandBorder:"rgba(107,211,154,0.22)",borderHairlineGreen:"rgba(107,211,154,0.28)",brandBorderStrong:"rgba(107,211,154,0.55)",brandInk:"#6BD39A",linkInk:"#6BD39A",surface:"#1C1F23",surfaceCream:"#23272C",surfaceSubtle:"#23272C",background:"#15171A",borderRingCream:"#3A3F45",chatGround:"#1C1F23",composerFill:"#23272C",composerBorder:"rgba(107,211,154,0.75)",shadow:"#000000",text:{primary:"#F5F3F0",secondary:"#A9E4C4",muted:"#9A938C",placeholder:"rgba(255,255,255,0.55)",onBrand:"#0E1F17",metaCool:"#C9C9C9",timestamp:"rgba(245,243,240,0.7)"},primary:"#6BD39A",onPrimary:"#0E1F17",accent:"#6BD39A",onAccent:"#0E1F17",accentEdge:"#34D888",success:"#07C168",danger:"#F87171",errorRed:"#FF6B5B",warningStrong:"#F0A35E",cautionAccent:"#D9821D",riskConcern:"#EFA700",sentiment:{up:"#07C168",neutral:"#FBC558",down:"#FF1B00"},badgeBgPositive:"rgba(7,193,104,0.18)",badgeBgCaution:"rgba(217,130,29,0.20)",badgeBgCritical:"rgba(185,28,28,0.22)",badgeBgNeutral:"rgba(255,255,255,0.10)",bubbleUser:"#6BD39A",bubbleAssistant:"#1C1F23",skeleton:"#23272C",scanButtonPink:"#FFC3BC",checkupCardLowRiskBg:"rgba(7,193,104,0.16)",checkupCardConcernBg:"rgba(239,167,0,0.16)"};Ar({brightness:"dark",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:$d,space:$l,radius:Kl,type:Yl(),motion:Jl,slots:Gl});var Ql=Symbol.for("@everfur/sdk#EverfurThemeContext@v1"),Zl=globalThis,Dr=Zl[Ql]??(Zl[Ql]=createContext(Xl));Dr.displayName??="EverfurThemeContext";function _(){return useContext(Dr)}o(_,"useEverfurTheme");function Qd(e,t){let n=e.scaleCaps[t];return n>0?n:void 0}o(Qd,"tierMultiplier");function v({tier:e="content",...t}){let{type:n}=_(),r=Qd(n,e);return createElement(Text,r===void 0?t:{maxFontSizeMultiplier:r,...t})}o(v,"Text");var ti=forwardRef(o(function(t,n){return createElement(TextInput,{...t,...n===null?{}:{ref:n}})},"TextInput"));var Zd=Object.freeze({regular:"regular",medium:"medium",bold:"bold",mono:"regular",monoMedium:"medium",monoBold:"bold"});function b(e,t){let n=e.type,r=n.families[t];return t==="mono"||n.namedFaces[t]?{fontFamily:r}:{fontFamily:r,fontWeight:n.weight[Zd[t]]}}o(b,"face");var Nr=class Nr 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(Nr,"HostRenderBoundary");var Br=Nr;function tu({render:e}){return e()}o(tu,"RenderHost");function Fr({render:e,fallback:t,resetKey:n}){return createElement(Br,{fallback:t,resetKey:n,children:createElement(tu,{render:e})})}o(Fr,"HostRender");var nu=48;function ru(e){return e.isPending?"pending":e.enabled?"enabled":"disabled"}o(ru,"selectView");function ii(e){let{capability:t,children:n,renderDisabled:r,renderPending:i,style:l}=e,a=Ot(t),s=useMemo(()=>ru(a),[a]);switch(s){case "enabled":return n;case "pending":return i?jsx(Fr,{render:i,fallback:jsx(oi,{capability:t,style:l})}):jsx(oi,{capability:t,style:l});case "disabled":return r?jsx(Fr,{render:()=>r(a),fallback:jsx(li,{decision:a,style:l}),resetKey:a}):jsx(li,{decision:a,style:l});default:return on(s)}}o(ii,"CapabilityGate");function oi({capability:e,style:t}){let n=_(),r=useMemo(()=>ai(n),[n]);return jsx(View,{style:[r.offstate,t],accessible:true,accessibilityState:{busy:true},accessibilityLabel:`Loading ${e}`,children:jsx(View,{style:r.skeletonBar})})}o(oi,"PendingSkeleton");function li({decision:e,style:t}){let n=_(),r=useMemo(()=>ai(n),[n]),i=e.disabled?.reason??"";return jsx(View,{style:[r.offstate,t],accessible:true,accessibilityRole:"text",accessibilityLabel:i,children:i.length>0?jsx(v,{style:r.offstateText,children:i}):null})}o(li,"OffState");function ai(e){let{color:t,space:n,radius:r,type:i}=e;return StyleSheet.create({offstate:{minHeight:nu,justifyContent:"center",paddingHorizontal:n.lg,paddingVertical:n.md,backgroundColor:t.surfaceCream,borderRadius:r.md,borderWidth:StyleSheet.hairlineWidth,borderColor:t.brandBorder},offstateText:{...b(e,"regular"),fontSize:i.size.body,lineHeight:Math.round(i.size.body*i.lineHeight.normal),color:t.text.muted},skeletonBar:{height:n.md,borderRadius:r.xs,backgroundColor:t.brandSofter}})}o(ai,"makeStyles");function yt(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(yt,"hasLoneSurrogate");function mt(e){return [...e].length}o(mt,"serverLength");var si=Object.freeze({dog:"dog",canine:"dog",k9:"dog",puppy:"dog",cat:"cat",feline:"cat",kitten:"cat"});function di(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return Object.prototype.hasOwnProperty.call(si,t)?si[t]:null}o(di,"canonicalPetSpecies");var ui=50,ou=128,Mr=120,ci=120,lu=2e3,pi=120,iu=80,mi=new Set(["male","female","unknown"]),vi=new Set(["day","month","year"]),gi=new Set(["low","medium","high","athletic"]),bi=new Set(["indoor","outdoor","both"]),hi=new Set(["mild","moderate","severe"]),au=/^(\d{4})-(\d{2})-(\d{2})$/,Ti=[["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"]],Ei=[["allergies","allergies"],["medications","medications"],["supplements","supplements"],["conditions","conditions"]];Object.freeze([...Ti,...Ei].map(([e])=>e));function su(e){let t=au.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(su,"isRealDate");var Vt=o(e=>(t,n)=>typeof n=="string"&&e.has(n)?null:`${t} must be one of ${[...e].join(", ")}`,"oneOf"),du=o((e,t)=>typeof t=="boolean"?null:`${e} must be true or false`,"boolean"),xn=o((e,t)=>typeof t=="string"&&su(t)?null:`${e} must be a real date written YYYY-MM-DD`,"date"),Ee=o((e,t={})=>(n,r)=>{if(typeof r!="string")return `${n} must be a string`;if(yt(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=mt(i);return l<=e?null:`${n} is ${l} characters; the server accepts at most ${e}`},"text"),uu={sex:Vt(mi),spayedNeutered:du,birthDate:xn,birthDatePrecision:Vt(vi),activityLevel:Vt(gi),indoorOutdoor:Vt(bi),foodBrand:Ee(pi),foodType:Ee(pi),microchipId:Ee(iu)},zr=["ref","ref",false,Ee(ou,{required:true,trimmed:true})],jr=["notes","notes",false,Ee(lu,{trimmed:true})],fi=[zr,["name","name",true,Ee(Mr,{required:true,trimmed:true})],["dose","dose",false,Ee(ci,{trimmed:true})],["frequency","frequency",false,Ee(ci,{trimmed:true})],["startDate","start_date",false,xn],["endDate","end_date",false,xn],jr],cu={allergies:[zr,["allergen","allergen",true,Ee(Mr,{required:true,trimmed:true})],["severity","severity",false,Vt(hi)],jr],medications:fi,supplements:fi,conditions:[zr,["conditionName","condition_name",true,Ee(Mr,{required:true,trimmed:true})],["diagnosedDate","diagnosed_date",false,xn],jr]};function pu(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,p,g]of cu[e]){let f=i[d];if(f==null){if(p)return {error:`${r}.${d} is required`};f===null&&(l[u]=null);continue}let y=g(`${r}.${d}`,f);if(y!==null)return {error:y};l[u]=f;}let a=l.start_date,s=l.end_date;return typeof a=="string"&&typeof s=="string"&&s<a?{error:`${r}.endDate must not be before startDate`}:{item:l}}o(pu,"itemToWire");function fu(e,t){if(!Array.isArray(t))return {error:`${e} must be an array (send [] to clear it)`};if(t.length>ui)return {error:`${e} has ${t.length} items; the server accepts at most ${ui}`};let n=[],r=new Set;for(let i=0;i<t.length;i+=1){let l=pu(e,i,t[i]);if("error"in l)return l;let a=l.item.ref;if(typeof a=="string"){let s=a.trim();if(r.has(s))return {error:`${e}: ref ${JSON.stringify(s)} is used twice; a ref names one item`};r.add(s);}n.push(l.item);}return {items:n}}o(fu,"listToWire");function Si(e,t){let n=e,r={};for(let[a,s]of Ti){let d=n[a];if(d!==void 0){if(d!==null){let u=uu[a](a,d);if(u!==null)return {error:u}}r[s]=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[a,s]of Ei){let d=n[a];if(d===void 0)continue;let u=fu(a,d);if("error"in u)return u;r[s]=u.items;}return Object.keys(r).length>0&&t!==void 0&&di(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(Si,"petHealthToWire");var J=o(e=>typeof e=="string"?e:null,"str"),Lt=o((e,t)=>typeof t=="string"&&e.has(t)?t:null,"pick"),yu=o(e=>typeof e=="boolean"?e:null,"bool");function Rn(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(Rn,"itemsFromWire");function yi(e){let t=J(e.name);return t===null||t.length===0?null:Object.freeze({ref:J(e.ref),name:t,dose:J(e.dose),frequency:J(e.frequency),startDate:J(e.start_date),endDate:J(e.end_date),notes:J(e.notes)})}o(yi,"medicationFromWire");function ki(e){let t=e.profile_version;return Object.freeze({profileVersion:typeof t=="number"&&Number.isInteger(t)&&t>=0?t:0,sex:Lt(mi,e.sex),spayedNeutered:yu(e.spayed_neutered),birthDate:J(e.birth_date),birthDatePrecision:Lt(vi,e.birth_date_precision),activityLevel:Lt(gi,e.activity_level),indoorOutdoor:Lt(bi,e.indoor_outdoor),foodBrand:J(e.food_brand),foodType:J(e.food_type),microchipId:J(e.microchip_id),allergies:Rn(e.allergies,n=>{let r=J(n.allergen);return r===null||r.length===0?null:Object.freeze({ref:J(n.ref),allergen:r,severity:Lt(hi,n.severity),notes:J(n.notes)})}),medications:Rn(e.medications,yi),supplements:Rn(e.supplements,yi),conditions:Rn(e.conditions,n=>{let r=J(n.condition_name);return r===null||r.length===0?null:Object.freeze({ref:J(n.ref),conditionName:r,diagnosedDate:J(n.diagnosed_date),notes:J(n.notes)})})})}o(ki,"petHealthFromWire");var xi=100,_i=50,wi=100,Pi=50,Ii=500,mu=128,vu=6e4;function ke(e){return ne("validationFailed",{retryable:false,wireMessage:e})}o(ke,"invalid");function Ze(e,t,n){if(typeof t!="string")return ke(`${e} must be a string`);let r=mt(t);return r<=n?null:ke(`${e} is ${r} characters; the server accepts at most ${n}`)}o(Ze,"checkString");function _n(e,t,n){return typeof t=="number"&&Number.isFinite(t)&&t>=0&&t<=n?null:ke(`${e} must be a finite number between 0 and ${n}`)}o(_n,"outOfRange");function Ci(e,t){if(typeof e!="string")return ke("pet_ref must be a string");if(e.trim().length===0)return ke("pet_ref must not be blank");if(yt(e))return ke("pet_ref contains an unpaired surrogate and cannot be encoded");if(t!=null&&typeof t!="object")return ke("profile must be an object");let n=[Ze("pet_ref",e,mu)];return t?.name!==void 0&&n.push(Ze("name",t.name,xi)),t?.species!==void 0&&n.push(Ze("species",t.species,_i)),t?.breed!==void 0&&n.push(Ze("breed",t.breed,wi)),t?.ageYears!==void 0&&n.push(_n("age_years",t.ageYears,Pi)),t?.weightKg!==void 0&&n.push(_n("weight_kg",t.weightKg,Ii)),n.find(r=>r!==null)??null}o(Ci,"validate");function Oi(e,t){let n=Si(e,t);return "error"in n?{error:ke(n.error)}:n}o(Oi,"healthToWire");function gu(e){if(typeof e!="object"||e===null)return {error:ke("patch must be an object")};let t=e,n=[["name","name",l=>Ze("name",l,xi)],["species","species",l=>Ze("species",l,_i)],["breed","breed",l=>Ze("breed",l,wi)],["ageYears","age_years",l=>_n("age_years",l,Pi)],["weightKg","weight_kg",l=>_n("weight_kg",l,Ii)]],r={};for(let[l,a,s]of n){let d=t[l];if(d!==void 0){if(d!==null){let u=s(d);if(u!==null)return {error:u}}r[a]=d;}}let i=Oi(t,t.species);return "error"in i?i:(Object.assign(r,i.body),Object.keys(r).length===0?{error:ke("patch must change at least one field")}:{body:r})}o(gu,"patchToWire");function bu(e){if(e==null)return {body:{}};let t=Oi(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(bu,"toWire");var Se=o(e=>typeof e=="string"?e:null,"str"),wn=o(e=>typeof e=="number"&&Number.isFinite(e)?e:null,"num");function Ri(e,t){let n=typeof e=="object"&&e!==null?e:{};return Object.freeze({petRef:Se(n.pet_ref)??t,name:Se(n.name),species:Se(n.species),breed:Se(n.breed),ageYears:wn(n.age_years),weightKg:wn(n.weight_kg)})}o(Ri,"fromWire");function Ai(e){if(typeof e!="object"||e===null)return null;let t=e,n=Se(t.pet_ref);return n===null||n.length===0?null:Object.freeze({petId:Se(t.pet_id),petRef:n,name:Se(t.name),species:Se(t.species),breed:Se(t.breed),ageYears:wn(t.age_years),weightKg:wn(t.weight_kg),updatedAt:Se(t.updated_at)})}o(Ai,"widgetPetFromWire");function hu(e){let t=Ai(e);return t===null?null:Object.freeze({...t,...ki(e)})}o(hu,"widgetPetProfileFromWire");function Tu(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=Ai(n);return r===null?[]:[r]}))}o(Tu,"petListFromWire");function Di(e){return Eu(Ge({auth:e}),Ge({auth:e,unaryTimeoutMs:vu}))}o(Di,"createPetsRepository");function Eu(e,t=e){let n=o((i,l)=>l?{...i,signal:l}:i,"withSignal"),r=o(i=>Ci(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?V(Tu(l.value)):R(l.error)},async registerPet(i,l,a){let s=Ci(i,l);if(s!==null)return R(s);let d=bu(l);if("error"in d)return R(d.error);let p={method:"POST",path:`/widget/v1/pets/${encodeURIComponent(i)}`,body:d.body},g=await e.send("pets.registerPet",a?.signal?{...p,signal:a.signal}:p);return g.ok?V(Ri(g.value,i)):R(g.error)},async updatePet(i,l,a){let s=r(i);if(typeof s!="string")return R(s);let d=gu(l);if("error"in d)return R(d.error);let u=await e.send("pets.updatePet",n({method:"PATCH",path:s,body:d.body},a?.signal));return u.ok?V(Ri(u.value,i)):R(u.error)},async getPetProfile(i,l){let a=r(i);if(typeof a!="string")return R(a);let s=await e.send("pets.getPetProfile",n({method:"GET",path:`${a}/profile`},l?.signal));if(!s.ok)return R(s.error);let d=hu(s.value);return d===null?R(ne("internalError",{retryable:false,httpStatus:502,wireMessage:"the pet profile response carried no pet_ref"})):V(d)},async deletePet(i,l){let a=r(i);if(typeof a!="string")return R(a);let s=await e.send("pets.deletePet",n({method:"DELETE",path:a},l?.signal));return s.ok?V(void 0):R(s.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?V(void 0):R(l.error)}}}o(Eu,"createPetsRepositoryOver");function vt(){let{runtime:e,userRef:t,activePet:n,scopeEpoch:r}=me(),i=useMemo(()=>Di(e.registry.services.authFor(t)),[e,t,r]),[l,a]=useState({repository:i,pets:[],loading:true,error:null}),s=l.repository===i?l:{pets:[],loading:true,error:null},d=useRef(0),u=useCallback(async()=>{let g=++d.current;a(y=>({...y,repository:i,loading:true,error:null,pets:y.repository===i?y.pets:[]}));let f=await i.list();g===d.current&&a(f.ok?{repository:i,pets:f.value,loading:false,error:null}:y=>({repository:i,pets:y.repository===i?y.pets:[],loading:false,error:f.error}));},[i]);useEffect(()=>(u(),()=>{d.current+=1;}),[u]);let p=useMemo(()=>n===null?null:s.pets.find(g=>g.petRef===n)??null,[n,s.pets]);return useMemo(()=>({pets:s.pets,activePet:p,loading:s.loading,error:s.error,refresh:u}),[s.pets,s.loading,s.error,p,u])}o(vt,"useEverfurPets");var We=Object.freeze(["pet","issues","reason","clinician","time","review","booked"]),Bi=Object.freeze({petId:null,state:null,clinicianId:null,slot:null,holdExpiresAt:null,shareHealthRecords:false,idempotencyKey:null});function Wr(e,t={}){let n=Object.freeze({...Bi,...t}),r=Ur(0,e);return Object.freeze({index:r,draft:n,furthestIndex:r})}o(Wr,"initialTelevetBookingState");function Pn(e,t){return e==="pet"?t.ownedPetCount<=1:e==="issues"?t.withIssues!==true:false}o(Pn,"isSkipped");function In(e){return We[e]}o(In,"stepAt");function Ur(e,t){for(let n=e;n<We.length;n+=1){let r=In(n);if(r&&!Pn(r,t))return n}return We.length-1}o(Ur,"nextVisible");function Fi(e,t){for(let n=e;n>=0;n-=1){let r=In(n);if(r&&!Pn(r,t))return n}return null}o(Fi,"previousVisible");function qr(e,t){return Fi(e.index-1,t)!==null}o(qr,"hasPreviousStep");function $r(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=Ur(e.index+1,n);return Object.freeze({...e,index:r,furthestIndex:Math.max(e.furthestIndex,r)})}case "back":{if(In(e.index)==="booked")return e;let r=Fi(e.index-1,n);return r===null?e:Object.freeze({...e,index:r})}case "goTo":{let r=We.indexOf(t.step);if(r<0)return e;let i=Pn(t.step,n)?Ur(r,n):r;return Object.freeze({...e,index:i,furthestIndex:Math.max(e.furthestIndex,i)})}default:return e}}o($r,"televetBookingReducer");function Kr(e){return In(e.index)??"pet"}o(Kr,"currentStep");function Mt(e,t){let n=t.trim();return !!e.petId&&!!e.clinicianId&&!!e.slot&&he(e.state)&&n.length>0&&n.length<=Ie}o(Mt,"canConfirm");function On(e,t){if(!e.holdExpiresAt)return false;let n=Date.parse(e.holdExpiresAt);return Number.isNaN(n)?false:n<=t}o(On,"isHoldExpired");function Ni(e,t,n){return e.slot?.slotId!==t||e.holdExpiresAt===null||e.idempotencyKey===null?false:!On(e,n)}o(Ni,"holdsSlot");var Li=Object.freeze({slot:null,holdExpiresAt:null,idempotencyKey:null}),xu=ir();function Yr(e){return `televet.book.${xu()}.${e}`}o(Yr,"televetBookingKey");function Gr(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(Gr,"attestation");function Oe(e){let t=new Date(e);return Number.isNaN(t.getTime())?null:t}o(Oe,"parse");function et(e){let t=Oe(e);return t?t.toLocaleTimeString(void 0,{hour:"numeric",minute:"2-digit"}):""}o(et,"formatClock");function _u(e){let t=Oe(e);return t?t.toLocaleDateString(void 0,{month:"long",day:"numeric"}):""}o(_u,"formatDate");var gt=10;function bt(e){let t=Oe(e);return t?new Intl.DateTimeFormat(void 0,{timeZoneName:"short"}).formatToParts(t).find(r=>r.type==="timeZoneName")?.value??"":""}o(bt,"formatZone");function wu(e){let t=Oe(e);if(!t)return "";let n=new Date(t.getTime()+gt*6e4).toISOString(),r=bt(e),i=`${et(e)} - ${et(n)}`;return r&&r!==""?`${i} ${r}`:i}o(wu,"formatVisitRange");function Vi(e){let t=_u(e),n=[et(e),bt(e)].filter(Boolean).join(" ");return [t,n].filter(Boolean).join(", ")}o(Vi,"formatWhen");function ve(e){let t=Oe(e);return t?[t.toLocaleDateString(void 0,{weekday:"short"}),Vi(e)].filter(Boolean).join(", "):""}o(ve,"formatWhenWithDay");function Mi(e){let t=Oe(e);if(!t)return "";let n=t.toLocaleDateString(void 0,{weekday:"short"}),r=t.toLocaleDateString(void 0,{year:"numeric",month:"long",day:"numeric"}),i=[et(e),bt(e)].filter(Boolean).join(" ");return [n,r,i].filter(Boolean).join(", ")}o(Mi,"formatRecordWhen");function zt(e){let t=Oe(e);return t?`${t.getFullYear()}-${t.getMonth()+1}-${t.getDate()}`:"unknown"}o(zt,"localDayKey");function zi(e){let t=Oe(e);return t===null?"":t.toLocaleDateString(void 0,{month:"long"})}o(zi,"formatMonthLabel");function ji(e){let t=Oe(e);return t===null?"":t.toLocaleDateString(void 0,{weekday:"long",month:"long",day:"numeric"})}o(ji,"formatFullDayLabel");function Ui(e){let{draft:t,reasonText:n,book:r,stateAttested:i,termsAttested:l,cancellationPolicy:a,triage:s,goTo:d,releaseSlot:u,setFailure:p,setEmergency:g,setBookedConsult:f,onBooked:y}=e,k=useCallback(P=>{if(!Mt(t,n)||!t.idempotencyKey)return;if(On(t,Date.now())){p("expired"),d("time");return}let C=o(T=>{let E=ze(T);if(E.kind==="emergency"){g(E.categories);return}if(E.kind==="rate_limited"){p("rate_limited");return}p(E.kind==="not_entitled"?"not_entitled":E.kind==="slot_taken"?"taken":E.kind==="clinician_unavailable"?"clinician_unavailable":E.kind==="unavailable"?"unavailable":"failed"),E.kind==="slot_taken"&&(u(),d("time"));},"refuse");p(null),g(null),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:[],emergency_acknowledged:P||s.isAcknowledged(n),share_health_records:t.shareHealthRecords,...Gr(i,l,a)},t.idempotencyKey,{onSuccess:o(T=>{if(!fn(T)){C(un(T.status));return}f(T),d("booked"),y?.(T);},"onSuccess"),onError:o(T=>C(cn(T)),"onError")});},[t,n,r,i,l,a,s,d,u,p,g,f,y]),S=useCallback(()=>k(false),[k]);return {submitBooking:k,confirm:S}}o(Ui,"useBookingSubmit");function Iu(e){if(e.httpStatus===409)return Object.freeze({failure:"taken"});switch(ze(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(Iu,"televetHoldFailure");function Wi(e){let{draft:t,hold:n,dispatch:r,setFailure:i,refetchSlots:l}=e;return useCallback(a=>{if(i(null),Ni(t,a.slotId,Date.now())){r({type:"next"});return}n.mutate(a.slotId,{onSuccess:o(s=>{r({type:"patch",patch:{slot:a,holdExpiresAt:s.expiresAt,idempotencyKey:Yr(a.slotId)}}),r({type:"next"});},"onSuccess"),onError:o(s=>{let d=Iu(s);i(d.failure),d.failure==="taken"&&l();},"onError")});},[t,n,r,i,l])}o(Wi,"useSlotHold");function Qr(e){let[t,n]=useState(false),[r,i]=useState(false),[l,a]=useState(null),s=useRef(null),d=useRef(null),u=useRef(true);useEffect(()=>(u.current=true,()=>{u.current=false,d.current?.abort(),d.current=null;}),[]);let p=useCallback(()=>{d.current?.abort(),d.current=null,u.current&&i(false);},[]),g=useCallback(async P=>{if(d.current!==null)return false;let C=P.trim();if(l!==null&&l===C||!e)return true;let T=s.current!==null&&s.current.reason===C?s.current.emergency:null;if(T===null){let E=new AbortController;d.current=E,i(true);try{let D=await e(C,E.signal);if(E.signal.aborted||!u.current)return !1;D===null?T=!1:(T=D.isEmergency||D.fallback,s.current=Object.freeze({reason:C,emergency:T}));}catch{if(E.signal.aborted||!u.current)return false;T=false;}finally{d.current===E&&(d.current=null,u.current&&i(false));}}return T===true?(n(true),false):true},[l,e]),f=useCallback(P=>{a(P.trim()),n(false);},[]),y=useCallback(()=>n(false),[]),k=useCallback(()=>{p(),s.current=null,a(null),n(false);},[p]),S=useCallback(P=>l!==null&&l===P.trim(),[l]);return {open:t,checking:r,check:g,acknowledge:f,close:y,cancel:p,reset:k,isAcknowledged:S}}o(Qr,"useEarlyTriage");function Fu(e){let t=e?.trim().toUpperCase()??"";return /^[A-Z]{2}$/.test(t)?t:null}o(Fu,"normalizeStateCode");function Zr(e,t){let n=Fu(e),[r,i]=useState(()=>Object.freeze({})),l=useRef(0),a=useRef(null),s=useCallback(d=>{if(!t||n===null)return null;let u=`${n}:${d}`;a.current!==null&&a.current!==u&&(l.current+=1),a.current=u;let p=r[u]??"idle";return {joined:p==="joined",pending:p==="pending",failed:p==="failed",onPress:o(()=>{if(p==="pending"||p==="joined")return;let g=l.current+=1;i(f=>Object.freeze({...f,[u]:"pending"})),(async()=>{let f=false;try{f=await t(n,d);}catch{f=false;}l.current===g&&i(y=>Object.freeze({...y,[u]:f?"joined":"failed"}));})();},"onPress")}},[n,r,t]);return useMemo(()=>({actionFor:s}),[s])}o(Zr,"useStateInterest");function eo(e){return Object.freeze(e==="dark"?{title:c.noCliniciansTitle,message:c.noCliniciansBody,retryLabel:c.noCliniciansRetryCta,interestReason:null}:{title:c.noCliniciansTitle,message:c.noCliniciansRegionBody,retryLabel:null,interestReason:"no_licensed_vet"})}o(eo,"televetEmptyRosterView");function to(e){return e?"roster":"dark"}o(to,"televetEmptyRosterCause");var jt=Object.freeze({failed:0,refused:Object.freeze({size:0,type:0,unreadable:0})});function no(e){let{failed:t,refused:n}=e;return t<=0&&n.size<=0&&n.type<=0&&n.unreadable<=0}o(no,"isMediaShortfallEmpty");function ro(e){let t=o(r=>Number.isFinite(r)&&r>0?Math.floor(r):0,"count"),n=c.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=>G(r.n===1?r.one:r.many,{n:String(r.n)}))}o(ro,"televetMediaShortfallLines");function An(e){let t=Number.isFinite(e)&&e>0?Math.floor(e):0;return t===0?jt:Object.freeze({failed:t,refused:jt.refused})}o(An,"mediaShortfallFromUnsentPicks");function Nu(e,t){let n=An(t);return n.failed===0?e:Object.freeze({failed:e.failed+n.failed,refused:e.refused})}o(Nu,"withUnsentPicks");var ue=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 oo="/widget/v1/televet/sandbox/visits",Lu=128,$i=64,Gi=new Set(["booked","cancelled","completed","no_show"]),Vu=new Set(["applied","already_applied","not_applicable"]),Ki=new Set(["rescheduled","reminder","followup_sent","message_received","ended"]),Yi=new Set(["24h","30m"]);function tt(e){return ne("validationFailed",{retryable:false,wireMessage:e})}o(tt,"invalid");function lo(e,t,n){return typeof t!="string"||t.length===0?tt(`${e} is required and must be a non-empty string`):yt(t)?tt(`${e} contains an unpaired surrogate and cannot be encoded`):mt(t)>n?tt(`${e} is longer than ${n} characters`):null}o(lo,"textError");function Mu(e){if(typeof e!="object"||e===null)return null;let{result:t,visit:n}=e;if(typeof t!="string"||!Vu.has(t)||typeof n!="object"||n===null)return null;let{visit_ref:r,pet_ref:i,status:l,scheduled_at:a}=n;return typeof r!="string"||r.length===0||typeof i!="string"||i.length===0||typeof l!="string"||!Gi.has(l)||typeof a!="string"||a.length===0?null:Object.freeze({result:t,visit:Object.freeze({visitRef:r,petRef:i,status:l,scheduledAt:a})})}o(Mu,"mapActionResult");function Ji(e){let t=e.funnel??Ge({auth:e.auth,...e.errorPolicy?{errorPolicy:e.errorPolicy}:{}}),n=o(async(r,i,l)=>{let a=await t.send(r,{method:"POST",path:i,body:l},{idempotent:false,maxAttempts:1});if(!a.ok)return R(a.error);let s=Mu(a.value);return s===null?R(ne("internalError",{retryable:false})):V(s)},"run");return {createVisit(r){let i=lo("pet_ref",r,Lu);return i!==null?Promise.resolve(R(i)):n("televet.sandbox.createVisit",oo,{pet_ref:r})},advanceVisit(r,i){let l=lo("visit_ref",r,$i);if(l!==null)return Promise.resolve(R(l));if(typeof i!="string"||!Gi.has(i))return Promise.resolve(R(tt("to must be booked, cancelled, completed or no_show")));let a=`${oo}/${encodeURIComponent(r)}/advance`;return n("televet.sandbox.advanceVisit",a,{to:i})},simulateVisitEvent(r,i,l){let a=lo("visit_ref",r,$i);if(a!==null)return Promise.resolve(R(a));if(typeof i!="string"||!Ki.has(i))return Promise.resolve(R(tt(`event must be one of ${[...Ki].join(", ")}`)));if(i==="reminder"){if(typeof l!="string"||!Yi.has(l))return Promise.resolve(R(tt(`stage must be one of ${[...Yi].join(", ")} for a reminder`)))}else if(l!==void 0)return Promise.resolve(R(tt("stage is only for a reminder")));let s=`${oo}/${encodeURIComponent(r)}/simulate`;return n("televet.sandbox.simulateVisitEvent",s,l===void 0?{event:i}:{event:i,stage:l})}}}o(Ji,"createVetVisitSandboxController");function Xi(){let{runtime:e,userRef:t,scopeEpoch:n}=me();return useMemo(()=>{let{services:r}=e.registry;return Ji({auth:r.authFor(t),...r.errorPolicy?{errorPolicy:r.errorPolicy}:{}})},[e,t,n])}o(Xi,"useEverfurVetVisitSandbox");function Uu(e,t){return !e||!t.enabled?false:t.data!==null&&t.data.active===false||Ft({error:t.error??null})}o(Uu,"televetOpensSimulator");var Wu=o(e=>e.livemode===false,"isSandbox");function qu(){let e=me().runtime.entitlements,t=useCallback(()=>Wu(e.getSnapshot()),[e]);return useSyncExternalStore(e.subscribe,t,t)}o(qu,"useTelevetSandboxTenant");function Zi(e,t){let n=Uu(qu(),e);return {simulate:n,fundingRefused:t&&!n}}o(Zi,"useTelevetSimulatorRoute");function ea(e){let t=Xi(),[n,r]=useState(null),[i,l]=useState(null),[a,s]=useState(false),d=useRef(false),u=useRef(true);useEffect(()=>(u.current=true,()=>{u.current=false;}),[]);let p=useCallback((S,P,C)=>{d.current||(d.current=true,s(true),P().then(T=>{if(d.current=false,!!u.current){if(s(false),!T.ok){l({tone:"danger",text:G(ue.errorTemplate,{label:S,message:T.error.displayMessage})});return}C&&r(T.value.visit),l({tone:"ok",text:G(ue.resultTemplate,{label:S,result:T.value.result})});}}));},[]),g=useCallback(()=>{p(ue.createLabel,()=>t.createVisit(e),true);},[e,p,t]),f=useCallback(S=>{n!==null&&p(ue.advance[S],()=>t.advanceVisit(n.visitRef,S),true);},[p,t,n]),y=useCallback(S=>{if(n===null)return;let P=S==="reminder"?"24h":void 0;p(ue.events[S],()=>t.simulateVisitEvent(n.visitRef,S,P),false);},[p,t,n]),k=n===null?null:G(ue.visitTemplate,{visitRef:n.visitRef,status:n.status,scheduledAt:n.scheduledAt});return {visit:n,visitLine:k,line:i,busy:a,create:g,advance:f,raise:y}}o(ea,"useTelevetVisitSimulator");var ta=Object.freeze(["completed","cancelled","no_show"]),na=Object.freeze(["rescheduled","reminder","followup_sent","message_received","ended"]);var X=44;function F(){let e=_();return useMemo(()=>Ju(e),[e])}o(F,"useBookingStyles");function w({label:e,onPress:t,kind:n="primary",disabled:r=false,loading:i=false,fullWidth:l=true,accessibilityLabel:a,testID:s,style:d}){let u=F(),p=_(),g=r||i;return jsxs(Pressable,{onPress:t,disabled:g,accessibilityRole:"button",accessibilityLabel:a??e,accessibilityState:{disabled:g,busy:i},style:[u.button,n==="primary"?u.buttonPrimary:n==="danger"?u.buttonDanger:u.buttonSecondary,l?u.buttonFull:u.buttonAuto,g?u.buttonDisabled:null,d],testID:s,children:[i?jsx(ActivityIndicator,{size:"small",color:n==="secondary"?p.color.brand:p.color.onPrimary}):null,jsx(v,{tier:"control",style:n==="secondary"?u.buttonSecondaryLabel:u.buttonPrimaryLabel,children:e})]})}o(w,"TelevetButton");function N({title:e,message:t,actionLabel:n,onAction:r,testID:i}){let l=F(),a=typeof n=="string"&&n.length>0&&typeof r=="function";return jsxs(View,{style:l.stateCard,testID:i,children:[jsx(v,{style:l.stateTitle,accessibilityRole:"header",children:e}),t?jsx(v,{style:l.stateMessage,children:t}):null,a?jsx(w,{label:n,onPress:r,kind:"secondary",fullWidth:false}):null]})}o(N,"TelevetStateCard");function le({height:e,width:t="100%",testID:n}){let r=F();return jsx(View,{style:[r.skeleton,{height:e,width:t}],testID:n,accessibilityElementsHidden:true,importantForAccessibility:"no"})}o(le,"TelevetSkeletonBlock");function W({message:e,assertive:t=false,testID:n,style:r}){let i=F();return jsx(v,{style:[i.failure,r],accessibilityLiveRegion:t?"assertive":"polite",testID:n,children:e})}o(W,"TelevetFailureLine");function Ju(e){let{color:t,space:n,radius:r,type:i}=e,{size:l,lineHeight:a}=i;return StyleSheet.create({screen:{flex:1,paddingHorizontal:n.xl,gap:n.md},stepFill:{flex:1,minHeight:0,gap:n.md},list:{gap:n.sm},button:{minHeight:X,flexDirection:"row",alignItems:"center",justifyContent:"center",gap:n.sm,paddingHorizontal:n.xl,paddingVertical:n.sm,borderRadius:r.pill},buttonFull:{alignSelf:"stretch"},buttonAuto:{alignSelf:"flex-start",minWidth:X},buttonPrimary:{backgroundColor:t.primary},buttonSecondary:{borderWidth:1,borderColor:t.brandBorder,backgroundColor:"transparent"},buttonDanger:{backgroundColor:t.danger},buttonDisabled:{opacity:.45},buttonPrimaryLabel:{...b(e,"medium"),color:t.onPrimary,fontSize:l.body,lineHeight:l.body*a.snug},buttonSecondaryLabel:{...b(e,"medium"),color:t.brand,fontSize:l.body,lineHeight:l.body*a.snug},stateCard:{minHeight:140,justifyContent:"center",gap:n.sm,padding:n.lg,borderRadius:r.lg,borderWidth:1,borderColor:t.brandBorder},stateTitle:{...b(e,"medium"),color:t.brand,fontSize:l.subtitle,lineHeight:l.subtitle*a.snug},stateMessage:{...b(e,"regular"),color:t.text.metaCool,fontSize:l.body,lineHeight:l.body*a.normal},skeleton:{borderRadius:r.md,backgroundColor:t.skeleton},failure:{...b(e,"regular"),color:t.danger,fontSize:l.caption,lineHeight:l.caption*a.normal},stepTitle:{...b(e,"bold"),color:t.brand,fontSize:l.heading,lineHeight:l.heading*a.snug},stepHelp:{...b(e,"regular"),color:t.text.metaCool,fontSize:l.body,lineHeight:l.body*a.normal},divider:{height:1,backgroundColor:t.brandBorder},scrollRoot:{flex:1,minHeight:0},scrollBody:{flex:1},scrollFooter:{paddingTop:n.md,paddingBottom:n.lg}})}o(Ju,"makeBookingStyles");function Ut({petName:e,primaryVet:t,onFindEmergencyVet:n}){let r=_(),i=useMemo(()=>aa(r),[r]),l=e?.trim()??"";return jsxs(Fragment,{children:[n?jsx(Pressable,{accessibilityRole:"button",accessibilityLabel:c.emergency.exitFindErTitle,onPress:()=>{ln(n);},style:i.vetCard,testID:"televet-emergency-find-vet",children:jsx(View,{style:i.vetRow,children:jsx(v,{tier:"control",style:i.vetTitle,children:c.emergency.exitFindErTitle})})}):null,t!=null&&l.length>0?jsx(Xu,{petName:l,vet:t}):null]})}o(Ut,"TelevetEmergencyExits");function Xu({petName:e,vet:t}){let n=_(),r=useMemo(()=>aa(n),[n]),i=G(c.emergency.exitPrimaryVetTitle,{petName:e}),l=t.detail?.trim()??"",a=jsx(View,{style:r.vetRow,children:jsxs(View,{style:r.vetText,children:[jsx(v,{tier:"control",style:r.vetTitle,children:i}),l.length>0?jsx(v,{style:r.vetDetail,children:l}):null]})});if(!t.dial)return jsx(View,{style:r.vetCard,testID:"televet-early-emergency-primary-vet",children:a});let s=t.dial;return jsx(Pressable,{accessibilityRole:"link",accessibilityLabel:l.length>0?`${i}, ${l}`:i,accessibilityHint:c.emergency.startCallHint,onPress:()=>{ln(s);},style:r.vetCard,testID:"televet-early-emergency-primary-vet-call",children:a})}o(Xu,"PrimaryVetCard");function aa(e){let{color:t,space:n,radius:r,type:i}=e,{size:l,lineHeight:a}=i;return {vetCard:{minHeight:X,justifyContent:"center",padding:n.lg,borderRadius:r.lg,borderWidth:1,borderColor:t.brandBorder,backgroundColor:t.surface},vetRow:{flexDirection:"row",alignItems:"center",gap:n.sm},vetText:{flexShrink:1,gap:n.xs},vetTitle:{...b(e,"medium"),color:t.text.primary,fontSize:l.body,lineHeight:l.body*a.normal},vetDetail:{...b(e,"regular"),color:t.text.metaCool,fontSize:l.caption,lineHeight:l.caption*a.normal}}}o(aa,"makeExitStyles");function ua({petName:e,primaryVet:t,onFindEmergencyVet:n,onContinue:r}){let i=_(),l=F(),a=useMemo(()=>co(i),[i]);return jsxs(View,{style:[l.stepFill,a.emergencyPanel],testID:"televet-early-emergency",children:[jsx(v,{tier:"heading",accessibilityRole:"header",accessibilityLiveRegion:"assertive",style:a.emergencyTitle,children:c.emergency.bannerTitle}),jsx(v,{style:a.emergencyLede,children:c.emergency.lede}),jsx(Ut,{petName:e,primaryVet:t,onFindEmergencyVet:n}),jsx(w,{label:c.emergency.keepBookingCta,kind:"secondary",onPress:r,testID:"televet-early-emergency-continue"})]})}o(ua,"TelevetEarlyEmergency");function so({action:e,testIDPrefix:t}){let n=_(),r=useMemo(()=>co(n),[n]);return e===null?null:e.joined?jsxs(View,{testID:`${t}-joined`,style:r.interestFeedback,children:[jsx(v,{tier:"control",accessibilityRole:"header",children:c.stateInterest.joinedTitle}),jsx(v,{style:r.interestBody,children:c.stateInterest.joinedBody})]}):jsxs(View,{testID:t,style:r.interestAction,children:[jsx(w,{label:c.stateInterest.cta,kind:"secondary",loading:e.pending,disabled:e.pending,onPress:e.onPress,testID:`${t}-submit`}),e.failed?jsx(W,{message:c.stateInterest.failed,testID:`${t}-error`}):null]})}o(so,"TelevetStateInterestAction");function ca({cause:e,onRetry:t,stateInterest:n=null}){let r=eo(e);return jsxs(View,{testID:"televet-clinicians-empty",children:[jsx(N,{title:r.title,message:r.message,...r.retryLabel!==null&&t?{actionLabel:r.retryLabel,onAction:t}:{}}),r.interestReason!==null?jsx(so,{action:n??null,testIDPrefix:"televet-state-interest-no-licensed-vet"}):null]})}o(ca,"TelevetClinicianEmptyState");function ec({onCheckAvailability:e}){return jsx(uo,{...e?{onCheckAvailability:e}:{}})}o(ec,"TelevetEntitlementInterestState");function uo({onCheckAvailability:e,renderUnavailable:t}){let n=F();return jsxs(View,{testID:"televet-booking-not-entitled",style:n.list,children:[t?t():jsx(N,{title:c.bookingPausedTitle}),e?jsx(w,{label:c.checkAvailabilityCta,kind:"secondary",onPress:e,testID:"televet-check-state-availability"}):null]})}o(uo,"EntitlementPausedState");function Wt({shortfall:e,testIDPrefix:t}){let n=_(),r=useMemo(()=>co(n),[n]);if(no(e))return null;let i=ro(e);return i.length===0?null:jsx(View,{style:r.mediaNotice,testID:`${t}-media-notice`,children:i.map((l,a)=>jsx(v,{style:r.mediaLine,accessibilityLiveRegion:"polite",testID:`${t}-media-line-${String(a)}`,children:l},l))})}o(Wt,"TelevetMediaDropNotice");function co(e){let{color:t,space:n,radius:r,type:i}=e,{size:l,lineHeight:a}=i;return {emergencyPanel:{gap:n.sm,padding:n.lg,borderRadius:r.lg,borderWidth:2,borderColor:t.danger,backgroundColor:t.surface},emergencyTitle:{...b(e,"medium"),color:t.danger,fontSize:l.heading,lineHeight:l.heading*a.snug},emergencyLede:{...b(e,"regular"),color:t.text.primary,fontSize:l.subtitle,lineHeight:l.subtitle*a.normal},interestAction:{gap:n.sm,marginTop:n.sm},interestFeedback:{gap:n.xs,marginTop:n.sm},interestBody:{...b(e,"regular"),color:t.text.metaCool},mediaNotice:{gap:n.xs},mediaLine:{...b(e,"regular"),color:t.text.metaCool,fontSize:l.caption,lineHeight:l.caption*a.normal}}}o(co,"makeEdgeStyles");function pa(e){let{surfaceUnavailable:t,notEntitled:n,policyBlocked:r,triageOpen:i,step:l}=e;return t||n&&l!=="clinician"||r?true:l==="reason"&&i}o(pa,"televetBookingGateApplies");function fa({state:e,petName:t,primaryVet:n,onFindEmergencyVet:r,stateInterest:i=null,onCheckAvailability:l,onAcknowledgeEmergency:a,renderUnavailable:s}){let d=F(),{surfaceUnavailable:u,notEntitled:p,policyBlocked:g,triageOpen:f,step:y}=e;return u?jsx(View,{style:d.stepFill,testID:"televet-booking-unavailable",children:s?s():jsx(N,{title:c.bookingPausedTitle})}):p&&y!=="clinician"?jsx(uo,{...l?{onCheckAvailability:l}:{},...s?{renderUnavailable:s}:{}}):g?jsxs(View,{testID:"televet-booking-state-blocked",children:[jsx(N,{title:c.stateBlockedTitle}),jsx(so,{action:i,testIDPrefix:"televet-state-interest-state-blocked"})]}):y==="reason"&&f?jsx(ua,{...t!==void 0?{petName:t}:{},...n?{primaryVet:n}:{},onFindEmergencyVet:r,onContinue:a}):null}o(fa,"TelevetBookingGate");var da=false;function tc(){if(!da){da=true;try{globalThis.console?.warn?.("[everfur] The vet booking has no US state for this member, so it cannot list vets. Pass the member's two-letter state as `usState` (on EverfurTelevet, VetVisitButton or EverfurChat as `vetUsState`), or pass `onRequestLocation` so the booking can ask your app to resolve one. The SDK never reads a device location itself.");}catch{}}}o(tc,"warnNoStateSeamOnce");function ya(e){return e.noState?true:e.isPending||e.isError?false:e.isEmpty||e.notEntitled}o(ya,"televetClinicianOutcomeApplies");function ma({state:e,cause:t,locationStatus:n,onRequestLocation:r,onRetry:i,stateInterest:l=null,renderUnavailable:a}){let s=e.noState&&!r;return useEffect(()=>{s&&tc();},[s]),e.noState?jsx(View,{testID:"televet-booking-location-unknown",children:jsx(N,{title:n==="blocked"?c.locationBlockedTitle:n==="unavailable"?c.locationUnavailableTitle:c.locationUnknownTitle,message:n==="blocked"?c.locationBlockedBody:n==="unavailable"?c.locationUnavailableBody:r?c.locationUnknownBody:void 0,actionLabel:r?n==="blocked"?c.locationBlockedCta:c.locationUnknownCta:void 0,onAction:r})}):e.isEmpty?jsx(ca,{cause:t,onRetry:i,stateInterest:l}):jsx(uo,{...a?{renderUnavailable:a}:{}})}o(ma,"TelevetClinicianOutcome");function va(e){return `televet-consult-${e}`}o(va,"televetConsultCalendarKey");function fo({consult:e,petName:t,onDone:n,onAddToCalendar:r,canJoinInApp:i=false}){let l=_(),a=F(),s=useMemo(()=>lc(l),[l]),[d,u]=useState("idle"),p=o(async()=>{if(!r)return;u("saving");let f=new Date(e.scheduledAt);if(Number.isNaN(f.getTime())){u("failed");return}let y=await an(r,{key:va(e.consultId),title:c.visit.title,startDate:f,endDate:new Date(f.getTime()+gt*6e4),alarmOffsetMinutes:-30});u(y.ok&&y.value===true?"saved":"failed");},"addToCalendar"),g=[c.booked.remindPromise,G(c.booked.summaryPromise,{pet:t??""}),...i?[c.booked.joinPromise]:[]];return we()?jsxs(View,{style:s.screen,testID:"televet-booked",children:[jsx(View,{style:s.header,children:jsx(w,{label:c.doneCta,kind:"secondary",fullWidth:false,onPress:n,testID:"televet-booked-done"})}),jsx(View,{style:s.avatar,accessibilityElementsHidden:true,importantForAccessibility:"no"}),jsx(v,{tier:"heading",style:s.title,accessibilityRole:"header",children:c.bookedTitle}),jsx(v,{style:s.when,children:ve(e.scheduledAt)}),jsx(View,{style:s.steps,testID:"televet-booked-steps",children:g.map((f,y)=>jsxs(View,{style:s.step,children:[jsx(View,{style:s.stepNumber,accessibilityElementsHidden:true,importantForAccessibility:"no",children:jsx(v,{tier:"badge",style:s.stepNumberText,children:String(y+1)})}),jsx(v,{style:s.stepText,children:f.trim()})]},f))}),jsxs(View,{style:s.actions,children:[r?jsx(w,{label:d==="saved"?c.booked.calendarAdded:c.addToCalendarCta,kind:"primary",loading:d==="saving",disabled:d==="saving"||d==="saved",onPress:()=>{p();},testID:"televet-booked-calendar"}):null,d==="failed"?jsx(v,{style:[a.failure,s.calendarNote],accessibilityLiveRegion:"polite",testID:"televet-booked-calendar-failed",children:c.booked.calendarFailedBody}):null,jsx(w,{label:t?G(c.booked.backToPet,{pet:t}):c.doneCta,kind:"secondary",onPress:n,testID:"televet-booked-back"})]})]}):jsx(View,{style:s.screen,testID:"televet-booked-copy-unapproved"})}o(fo,"TelevetBookedScreen");function lc(e){let{color:t,space:n,radius:r,type:i}=e,{size:l,lineHeight:a}=i;return StyleSheet.create({screen:{flex:1,paddingHorizontal:n.xl,gap:n.md},header:{alignItems:"flex-end",paddingBottom:n.lg},avatar:{alignSelf:"center",width:120,height:120,borderRadius:60,backgroundColor:t.surfaceSubtle,borderWidth:2,borderColor:t.success},title:{textAlign:"center",...b(e,"bold"),color:t.brand,fontSize:l.verdict,lineHeight:l.verdict*a.tight,letterSpacing:-0.7,paddingTop:n.lg},when:{textAlign:"center",...b(e,"regular"),color:t.text.metaCool,fontSize:l.subtitle,lineHeight:l.subtitle*a.normal},steps:{marginTop:n.xl,padding:n.lg,borderRadius:r.lg,borderWidth:1,borderColor:t.brandBorder,gap:n.lg},step:{flexDirection:"row",alignItems:"flex-start",gap:n.md},stepNumber:{width:26,height:26,borderRadius:13,backgroundColor:t.primary,alignItems:"center",justifyContent:"center"},stepNumberText:{...b(e,"medium"),color:t.onPrimary,fontSize:l.caption,lineHeight:l.caption,includeFontPadding:false},stepText:{flex:1,...b(e,"regular"),color:t.brand,fontSize:l.body,lineHeight:l.body*a.normal},actions:{marginTop:"auto",paddingBottom:n.xl,gap:n.md},calendarNote:{textAlign:"center"}})}o(lc,"makeStyles");function mo({step:e,furthestIndex:t,title:n,canGoBack:r,isDirty:i,onBack:l,onClose:a,onConfirmDiscard:s}){let d=_(),u=useMemo(()=>uc(d),[d]),p=useMemo(()=>()=>{if(!i){a();return}let T={title:c.chrome.discardTitle,body:c.chrome.discardBody,confirmLabel:c.chrome.discardConfirmCta,keepLabel:c.chrome.discardKeepCta};if(s){Promise.resolve(s(T)).then(E=>{E&&a();},()=>{});return}Alert.alert(T.title,T.body,[{text:T.keepLabel,style:"cancel"},{text:T.confirmLabel,style:"destructive",onPress:a}]);},[i,a,s]),g=useMemo(()=>()=>r?(l(),true):(p(),true),[r,l,p]);useEffect(()=>{let T=BackHandler.addEventListener("hardwareBackPress",g);return ()=>{T.remove();}},[g]),ut(g);let f=We.filter(T=>T!=="issues"),y=f.length,k=We[t],S=k===void 0?0:Math.max(0,f.indexOf(k==="issues"?"reason":k)),C=e==="booked"?1:Math.min(1,(S+1)/y);return jsxs(View,{style:u.wrap,children:[jsxs(View,{style:u.bar,children:[jsx(View,{style:u.side,children:jsx(Pressable,{onPress:r?l:p,accessibilityRole:"button",accessibilityLabel:Bn,testID:"televet-booking-back",style:u.tap,children:jsx(View,{style:u.chevron,accessibilityElementsHidden:true,importantForAccessibility:"no"})})}),jsx(v,{tier:"heading",style:u.title,accessibilityRole:"header",children:n??c.navTitle}),jsx(View,{style:[u.side,u.sideRight],children:jsx(Pressable,{onPress:p,accessibilityRole:"button",accessibilityLabel:c.close,accessibilityHint:c.chrome.closeHint,testID:"televet-booking-close",style:u.tap,children:jsx(v,{tier:"control",style:u.close,children:c.close})})})]}),jsx(View,{style:u.railTrack,accessibilityElementsHidden:true,importantForAccessibility:"no-hide-descendants",children:jsx(View,{style:[u.railFill,{width:`${Math.round(C*100)}%`}],testID:"televet-booking-rail"})})]})}o(mo,"TelevetBookingChrome");var Bn="Back";function uc(e){let{color:t,space:n,type:r}=e,{size:i,lineHeight:l}=r;return StyleSheet.create({wrap:{backgroundColor:t.surface},bar:{flexDirection:"row",alignItems:"center",paddingHorizontal:n.lg,minHeight:56},side:{minWidth:64,justifyContent:"center"},sideRight:{alignItems:"flex-end"},tap:{minHeight:X,minWidth:X,justifyContent:"center",paddingHorizontal:n.xs},chevron:{width:10,height:10,borderLeftWidth:2,borderBottomWidth:2,borderColor:t.brand,transform:[{rotate:"45deg"}]},title:{flex:1,textAlign:"center",...b(e,"medium"),color:t.brand,fontSize:i.subtitle,lineHeight:i.subtitle*l.normal},close:{...b(e,"medium"),color:t.brand,fontSize:i.subtitle,lineHeight:i.subtitle*l.normal},railTrack:{height:4,backgroundColor:t.surfaceSubtle},railFill:{height:4,backgroundColor:t.success}})}o(uc,"makeStyles");function ha(e){let t=[],n=cc(e.ageYears);n!==null&&t.push(`${String(n)} yr${n===1?"":"s"} old`);let r=e.weightKg;typeof r=="number"&&Number.isFinite(r)&&r>0&&t.push(`${String(Math.round(r))} kg`);let i=e.breed?.trim();return i&&t.push(i),t.join(" \xB7 ")}o(ha,"formatTelevetPetMetaLine");function cc(e){if(typeof e!="number"||!Number.isFinite(e))return null;let t=Math.floor(e);return t>=0?t:null}o(cc,"wholeYears");function go({media:e,onChange:t,onPickMedia:n}){let r=_(),i=useMemo(()=>hc(r),[r]),l=mn-e.length,[a,s]=useState(false);if(!n)return null;let d=o(async()=>{if(!(a||l<=0)){s(true);try{let u=await an(n,l);if(!u.ok||u.value===null||u.value.length===0)return;let p=new Set(e.map(f=>f.uri)),g=u.value.filter(f=>typeof f?.uri=="string"&&f.uri.length>0&&!p.has(f.uri));if(g.length===0)return;t([...e,...g].slice(0,mn));}finally{s(false);}}},"pick");return jsxs(View,{style:i.row,children:[e.map((u,p)=>jsxs(View,{style:i.thumb,children:[jsx(Image,{source:{uri:u.uri},style:i.thumbImage,resizeMode:"cover"}),u.mimeType?.startsWith("video/")?jsx(View,{style:i.videoBadge,testID:`televet-intake-media-video-${String(p)}`,children:jsx(v,{tier:"badge",style:i.videoBadgeText,children:bc})}):null,jsx(Pressable,{onPress:()=>t(e.filter((g,f)=>f!==p)),accessibilityRole:"button",accessibilityLabel:c.removePhotoLabel,testID:`televet-intake-media-remove-${String(p)}`,style:i.remove,children:jsx(v,{tier:"control",style:i.removeGlyph,children:gc})})]},`${u.uri}-${String(p)}`)),l>0?jsx(Pressable,{onPress:()=>{d();},disabled:a,accessibilityRole:"button",accessibilityLabel:c.addPhotoCta,accessibilityState:{busy:a,disabled:a},testID:"televet-intake-add-media",style:[i.dropzone,a?i.dropzoneBusy:null],children:a?jsx(ActivityIndicator,{testID:"televet-intake-media-busy"}):jsx(v,{tier:"compact",style:i.dropzoneText,children:c.addPhotoCta})}):null]})}o(go,"TelevetIntakeMedia");var gc="\xD7",bc="\u25B6",Fn=92;function hc(e){let{color:t,space:n,radius:r,type:i}=e,{size:l,lineHeight:a}=i;return StyleSheet.create({row:{flexDirection:"row",flexWrap:"wrap",gap:n.md,paddingTop:n.sm},thumb:{width:Fn,height:Fn,borderRadius:r.md,backgroundColor:t.surfaceSubtle},thumbImage:{width:"100%",height:"100%",borderRadius:r.md},videoBadge:{position:"absolute",left:6,bottom:6,paddingHorizontal:6,paddingVertical:2,borderRadius:r.sm,backgroundColor:t.shadow},videoBadgeText:{color:t.text.onBrand,fontSize:l.nano},remove:{position:"absolute",top:-8,right:-8,width:X-16,height:X-16,borderRadius:X/2,backgroundColor:t.text.metaCool,alignItems:"center",justifyContent:"center"},removeGlyph:{...b(e,"medium"),color:t.surface,fontSize:l.subtitle,lineHeight:l.subtitle,includeFontPadding:false},dropzone:{width:Fn,height:Fn,borderRadius:r.md,borderWidth:1,borderStyle:"dashed",borderColor:t.brandBorder,alignItems:"center",justifyContent:"center",paddingHorizontal:n.sm},dropzoneBusy:{opacity:.6},dropzoneText:{...b(e,"mono"),color:t.text.metaCool,fontSize:l.nano,lineHeight:l.nano*a.normal,letterSpacing:.3,textAlign:"center"}})}o(hc,"makeStyles");function bo({slots:e,selectedDayKey:t,onSelectDay:n}){let r=_(),i=useMemo(()=>xc(r),[r]),l=useMemo(()=>Vn(e),[e]),a=Rc(),s=l[0];return s===void 0?null:jsxs(View,{children:[jsx(v,{tier:"compact",style:i.month,testID:"televet-day-strip-month",children:zi(s.iso)}),jsx(ScrollView,{ref:a.scrollRef,horizontal:true,showsHorizontalScrollIndicator:false,contentContainerStyle:i.strip,onLayout:a.onStripLayout,onContentSizeChange:a.onContentSize,testID:"televet-day-strip",children:l.map(d=>{let u=d.key===t;return jsxs(Pressable,{onLayout:u?a.onSelectedDayLayout:void 0,onPress:()=>n(d),accessibilityRole:"button",accessibilityLabel:ji(d.iso),accessibilityState:{selected:u},testID:`televet-day-${d.key}`,style:[i.day,u?i.daySelected:null],children:[jsx(v,{tier:"compact",style:[i.dayWeekday,u?i.dayTextSelected:null],children:d.weekday}),jsx(v,{tier:"compact",style:[i.dayNumber,u?i.dayTextSelected:null],children:d.dayNumber})]},d.key)})})]})}o(bo,"TelevetDayStrip");var Cc=Object.freeze({done:false,viewport:null,content:null,chip:null});function Rc(){let e=useRef(null),t=useRef(Cc),n=useCallback(a=>{let s={...t.current,...a};if(s.done||s.viewport===null||s.content===null||s.chip===null){t.current=s;return}t.current={...s,done:true};let d=s.chip.x-(s.viewport-s.chip.width)/2,u=Math.min(Math.max(0,d),Math.max(0,s.content-s.viewport));u>0&&e.current?.scrollTo({x:u,animated:false});},[]),r=useCallback(a=>n({viewport:a.nativeEvent.layout.width}),[n]),i=useCallback(a=>n({content:a}),[n]),l=useCallback(a=>{let{x:s,width:d}=a.nativeEvent.layout;n({chip:{x:s,width:d}});},[n]);return {scrollRef:e,onStripLayout:r,onContentSize:i,onSelectedDayLayout:l}}o(Rc,"useRevealSelectedDay");function Vn(e){let t=new Map;for(let n of e){let r=zt(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(Vn,"televetDaysFromSlots");function xc(e){let{color:t,space:n,radius:r,type:i}=e,{size:l,lineHeight:a}=i;return StyleSheet.create({month:{textAlign:"center",...b(e,"medium"),color:t.brand,fontSize:l.subtitle,lineHeight:l.subtitle*a.snug,paddingBottom:n.md},strip:{gap:n.sm,paddingHorizontal:n.xs},day:{width:52,minHeight:X,paddingVertical:n.md,borderRadius:r.md,borderWidth:1,borderColor:t.brandBorder,alignItems:"center",justifyContent:"center",gap:2},daySelected:{backgroundColor:t.primary,borderColor:t.primary},dayWeekday:{...b(e,"mono"),color:t.text.secondary,fontSize:l.tiny,lineHeight:l.tiny*a.tight},dayNumber:{...b(e,"medium"),color:t.brand,fontSize:l.heading,lineHeight:l.heading*a.tight},dayTextSelected:{color:t.onPrimary}})}o(xc,"makeStyles");function $t({slots:e,busySlotId:t,onPick:n,selectedSlot:r=null,ListHeaderComponent:i,rowTestIdPrefix:l="televet-slot",testID:a="televet-slot-list"}){let s=_(),d=useMemo(()=>Dc(s),[s]),u=useMemo(()=>Vn(e),[e]),[p,g]=useState(null),f=r?zt(r.startsAt):null,y=Ac(u,[p,f])??u[0]?.key??null,k=useMemo(()=>y?e.filter(E=>zt(E.startsAt)===y):[],[e,y]),S=i,P=useMemo(()=>k.map(E=>bt(E.startsAt)),[k]),C=useMemo(()=>new Set(P.filter(E=>E.length>0)).size>1,[P]),T=k[0];return jsxs(View,{style:d.root,testID:a,children:[S?jsx(S,{}):null,jsx(bo,{slots:e,selectedDayKey:y,onSelectDay:E=>g(E.key)}),T&&!C?jsx(v,{tier:"compact",style:d.zone,testID:"televet-slot-zone",children:bt(T.startsAt)}):null,jsx(ScrollView,{style:d.gridScroll,contentContainerStyle:d.grid,showsVerticalScrollIndicator:false,children:k.map((E,D)=>{let h=t===E.slotId,z=t!==null,B=C?P[D]??"":"";return jsxs(Pressable,{onPress:()=>n(E),disabled:z,accessibilityRole:"button",accessibilityLabel:[et(E.startsAt),B].filter(L=>L.length>0).join(" "),accessibilityState:{disabled:z,busy:h},testID:`${l}-${E.slotId}`,style:[d.chip,h?d.chipBusy:null,z&&!h?d.chipDisabled:null],children:[jsx(v,{tier:"compact",style:[d.chipLabel,h?d.chipLabelBusy:null],children:et(E.startsAt)}),B.length>0?jsx(v,{tier:"compact",style:[d.chipZone,h?d.chipLabelBusy:null],testID:`${l}-${E.slotId}-zone`,children:B}):null]},E.slotId)})})]})}o($t,"TelevetSlotPicker");function Ac(e,t){for(let n of t)if(n!==null&&e.some(r=>r.key===n))return n;return null}o(Ac,"firstOffered");function Dc(e){let{color:t,space:n,radius:r,type:i}=e,{size:l,lineHeight:a}=i;return StyleSheet.create({root:{flex:1,minHeight:0},gridScroll:{flex:1},zone:{textAlign:"center",...b(e,"mono"),color:t.text.muted,fontSize:l.tiny,lineHeight:l.tiny*a.normal,letterSpacing:.4,paddingVertical:n.md},grid:{flexDirection:"row",flexWrap:"wrap",gap:n.md,paddingBottom:n.xl},chip:{minWidth:96,flexGrow:1,flexBasis:"28%",minHeight:48,borderRadius:r.pill,borderWidth:1,borderColor:t.brandBorder,alignItems:"center",justifyContent:"center",paddingHorizontal:n.md},chipBusy:{backgroundColor:t.primary,borderColor:t.primary},chipDisabled:{opacity:.45},chipLabel:{...b(e,"regular"),color:t.brand,fontSize:l.subtitle,lineHeight:l.subtitle*a.tight},chipLabelBusy:{color:t.onPrimary},chipZone:{...b(e,"mono"),color:t.text.muted,fontSize:l.tiny,lineHeight:l.tiny*a.normal,letterSpacing:.4}})}o(Dc,"makeStyles");function ot({label:e,value:t,last:n=false,testID:r}){let i=_(),l=useMemo(()=>So(i),[i]);return jsxs(View,{style:[l.row,n?l.rowLast:null],testID:r,children:[jsx(v,{style:l.rowLabel,children:e}),jsx(v,{style:l.rowValue,children:t})]})}o(ot,"TelevetSummaryRow");function Kt({label:e,checked:t,onToggle:n,testID:r}){let i=_(),l=useMemo(()=>So(i),[i]);return jsxs(Pressable,{onPress:()=>n(!t),accessibilityRole:"checkbox",accessibilityLabel:e,accessibilityState:{checked:t},testID:r,style:l.consent,children:[jsx(View,{style:[l.box,t?l.boxChecked:null],children:t?jsx(v,{tier:"badge",style:l.tick,children:Nc}):null}),jsx(v,{style:l.consentLabel,children:e})]})}o(Kt,"TelevetConsentCheckbox");var Nc="\u2713";function Eo({children:e,testID:t}){let n=_(),r=useMemo(()=>So(n),[n]);return jsx(View,{style:r.card,testID:t,children:e})}o(Eo,"TelevetSummaryCard");function So(e){let{color:t,space:n,radius:r,type:i}=e,{size:l,lineHeight:a}=i;return StyleSheet.create({card:{borderRadius:r.lg,borderWidth:1,borderColor:t.brandBorder,paddingHorizontal:n.lg},row:{flexDirection:"row",alignItems:"flex-start",justifyContent:"space-between",gap:n.lg,paddingVertical:n.lg,borderBottomWidth:1,borderBottomColor:t.brandBorder},rowLast:{borderBottomWidth:0},rowLabel:{...b(e,"regular"),color:t.brand,fontSize:l.subtitle,lineHeight:l.subtitle*a.snug},rowValue:{flexShrink:1,textAlign:"right",...b(e,"medium"),color:t.brand,fontSize:l.subtitle,lineHeight:l.subtitle*a.snug},consent:{flexDirection:"row",alignItems:"flex-start",gap:n.md,minHeight:X,padding:n.lg,borderRadius:r.md,backgroundColor:t.surfaceSubtle},box:{width:22,height:22,borderRadius:r.xs,borderWidth:1.5,borderColor:t.brand,backgroundColor:t.surface,alignItems:"center",justifyContent:"center"},boxChecked:{backgroundColor:t.primary,borderColor:t.primary},tick:{...b(e,"bold"),color:t.onPrimary,fontSize:l.caption,lineHeight:l.caption,includeFontPadding:false},consentLabel:{flex:1,...b(e,"regular"),color:t.text.metaCool,fontSize:l.body,lineHeight:l.body*a.normal}})}o(So,"makeStyles");function ko({when:e,lengthMinutes:t,clinician:n,petName:r,reason:i,shareRecords:l,onToggleShare:a,stateCode:s,stateAttested:d,onToggleStateAttest:u,cancellationTerms:p,termsAttested:g,onToggleTermsAttest:f,canConfirm:y,busy:k,failure:S,onConfirm:P,emergency:C,onAcknowledgeEmergency:T,onSeeOtherVets:E,mediaShortfall:D=jt,primaryVet:h,onFindEmergencyVet:z}){let B=F(),L=_(),M=useMemo(()=>Ke(L),[L]);return jsxs(View,{style:B.scrollRoot,testID:"televet-booking-review",children:[jsxs(ScrollView,{style:B.scrollBody,contentContainerStyle:B.list,keyboardShouldPersistTaps:"handled",showsVerticalScrollIndicator:false,testID:"televet-booking-review-scroll",children:[jsxs(Eo,{testID:"televet-review-summary",children:[r?jsx(ot,{label:c.summaryPet,value:r,testID:"televet-review-row-pet"}):null,n?jsx(ot,{label:c.summaryVet,value:n,testID:"televet-review-row-vet"}):null,jsx(ot,{label:c.summaryWhen,value:e,testID:"televet-review-row-when"}),jsx(ot,{label:c.summaryLength,value:G(c.summaryLengthTemplate,{n:String(t)}),testID:"televet-review-row-length"}),i?jsx(ot,{label:c.summaryReason,value:i,last:true,testID:"televet-review-row-reason"}):null]}),jsx(Kt,{label:c.shareRecordsOff,checked:l,onToggle:a,testID:"televet-review-share-records"}),p?jsx(Kt,{label:p,checked:g,onToggle:f,testID:"televet-review-terms-attest"}):null,s?jsx(Kt,{label:G(c.stateAttestTemplate,{state:s}),checked:d,onToggle:u,testID:"televet-review-state-attest"}):null,jsx(Wt,{shortfall:D,testIDPrefix:"televet-review"}),C?jsxs(View,{style:M.emergencyBanner,testID:"televet-review-emergency",children:[jsx(v,{tier:"heading",accessibilityRole:"header",accessibilityLiveRegion:"assertive",style:M.emergencyTitle,children:c.emergency.bannerTitle}),jsx(v,{style:M.emergencyLede,children:c.emergency.lede}),C.length>0?jsx(v,{style:M.emergencyLede,testID:"televet-review-emergency-categories",children:C.join(", ")}):null,jsx(Ut,{petName:r,primaryVet:h,onFindEmergencyVet:z}),jsx(w,{label:c.emergency.keepBookingCta,kind:"secondary",loading:k,disabled:k,onPress:T,testID:"televet-review-emergency-ack"})]}):null,S==="failed"?jsx(W,{message:c.confirmFailed}):null,S==="clinician_unavailable"?jsxs(View,{style:B.list,testID:"televet-review-clinician-unavailable",children:[jsx(W,{message:c.confirmFailed}),jsx(w,{label:c.seeOtherVetsCta,kind:"secondary",onPress:E,testID:"televet-review-see-other-vets"})]}):null,S==="rate_limited"?jsx(W,{message:c.confirmFailed,testID:"televet-review-rate-limited"}):null,S==="not_entitled"?jsx(W,{message:c.bookingPausedTitle,testID:"televet-review-not-entitled"}):null]}),C?null:jsx(View,{style:B.scrollFooter,children:jsx(w,{label:c.confirmCta,kind:"primary",loading:k,disabled:!y||k||!!s&&!d||!!p&&!g,onPress:P,testID:"televet-review-confirm"})})]})}o(ko,"ReviewStep");var zc="\u25CB",jc="+";function Fe(e,t){return t?e.find(r=>r.petRef===t||r.petId===t)?.name??null:null}o(Fe,"nameOf");function jn({pets:e,isPending:t,isError:n,onRetry:r,selectedId:i,onSelect:l,onAddPet:a}){let s=F(),d=_(),u=useMemo(()=>Ke(d),[d]);return t?jsx(View,{style:s.list,testID:"televet-pets-loading",children:[0,1].map(p=>jsx(le,{height:64},p))}):n?jsx(View,{testID:"televet-pets-error",children:jsx(N,{title:c.chrome.loadFailedTitle,actionLabel:c.chrome.retryCta,onAction:r})}):e.length===0?jsx(View,{testID:"televet-pets-empty",children:jsx(N,{title:c.chrome.noPetsTitle,actionLabel:c.addPetCta,onAction:a})}):jsxs(View,{style:s.stepFill,children:[jsx(v,{tier:"heading",style:s.stepTitle,accessibilityRole:"header",children:c.petSelectTitle}),jsxs(ScrollView,{contentContainerStyle:s.list,testID:"televet-pets",children:[e.map(p=>{let g=i===p.petRef,f=ha(p),y=p.name??"";return jsx(_a,{name:y,meta:f,selected:g,onPress:()=>l(p.petRef),testID:`televet-pet-${p.petRef}`},p.petRef)}),a?jsx(_a,{name:c.addPetCta,meta:"",selected:false,onPress:a,testID:"televet-pet-add",glyph:jc}):null]}),jsx(View,{style:u.spacer})]})}o(jn,"PetStep");function _a({name:e,meta:t,selected:n,onPress:r,testID:i,glyph:l}){let a=_(),s=useMemo(()=>Ke(a),[a]);return jsxs(View,{style:[s.petRow,n?s.petRowSelected:null],children:[jsx(w,{label:e,onPress:r,kind:"secondary",accessibilityLabel:e,testID:i,style:s.petRowButton}),jsxs(View,{style:s.petRowText,pointerEvents:"none",children:[jsx(View,{style:s.petDisc,children:jsx(v,{tier:"compact",style:s.petDiscGlyph,children:l??Pa(e)})}),t?jsx(v,{tier:"compact",style:s.petRowMeta,children:t}):null]})]})}o(_a,"PetRow");function Pa(e){let t=e.trim();return t.length===0?zc:t.slice(0,1).toUpperCase()}o(Pa,"initialOf");function Ia({clinicians:e,isPending:t,isError:n,selectedId:r,onSelect:i,onRetry:l}){let a=F(),s=_(),d=useMemo(()=>Ke(s),[s]);if(t)return jsx(View,{style:a.list,testID:"televet-clinicians-loading",children:jsx(le,{height:96})});if(n)return jsx(View,{testID:"televet-clinicians-error",children:jsx(N,{title:c.chrome.loadFailedTitle,actionLabel:c.chrome.retryCta,onAction:l})});if(e.length===0)return jsx(View,{testID:"televet-clinicians-empty",children:jsx(N,{title:c.noCliniciansTitle,message:c.noCliniciansBody,actionLabel:c.noCliniciansRetryCta,onAction:l})});let u=e.find(p=>p.clinicianId===r)??e[0];return u===void 0?null:jsxs(View,{style:a.list,testID:"televet-clinicians",children:[jsx(v,{tier:"heading",style:a.stepTitle,accessibilityRole:"header",children:c.yourVetTitle}),jsxs(View,{style:d.vetRow,children:[jsx(View,{style:d.vetAvatar,children:jsx(v,{tier:"heading",style:d.vetAvatarText,children:Pa(u.displayName)})}),jsxs(View,{style:d.vetIdentity,children:[jsx(v,{style:d.vetName,children:u.displayName}),u.credentials?jsx(v,{style:d.vetCredentials,children:u.credentials}):null,u.rating!==null&&u.ratingCount!==null?jsx(v,{tier:"compact",style:d.vetRating,testID:"televet-vet-rating",children:`\u2605 ${String(u.rating)} \xB7 ${String(u.ratingCount)} ${c.reviewsLabel}`}):null]})]}),u.bio?jsx(v,{style:d.vetBio,testID:"televet-vet-bio",children:u.bio}):null,jsx(View,{style:a.divider}),jsx(w,{label:c.continueCta,kind:"primary",onPress:()=>i(u.clinicianId),testID:`televet-clinician-${u.clinicianId}`})]})}o(Ia,"ClinicianStep");function Oa({slots:e,enabled:t,isPending:n,isError:r,busySlotId:i,failure:l,selectedSlot:a,nextOpening:s,onPick:d,onRetry:u,onSeeOtherVets:p}){let g=F();return t?n?jsx(View,{style:g.list,testID:"televet-slots-loading",children:[0,1,2].map(f=>jsx(le,{height:48},f))}):r?jsx(N,{title:c.slotsErrorTitle,actionLabel:c.retryCta,onAction:u,testID:"televet-slots-error"}):e.length===0?jsx(View,{testID:"televet-slots-empty",children:jsx(N,{title:c.noSlotsTitle,message:s?G(c.nextOpeningTemplate,{when:ve(s.startsAt)}):void 0,actionLabel:s?c.seeOtherVetsCta:void 0,onAction:s?p:void 0})}):jsxs(View,{style:g.stepFill,testID:"televet-slots",children:[l==="expired"?jsx(W,{message:c.holdExpired}):null,l==="taken"?jsx(W,{message:c.slotTaken}):null,l==="failed"||l==="rate_limited"?jsx(W,{message:c.confirmFailed,testID:"televet-slots-hold-failed"}):null,jsx($t,{slots:e,busySlotId:i,onPick:d,selectedSlot:a})]}):jsx(View,{testID:"televet-slots-unavailable",children:jsx(N,{title:c.bookingPausedTitle})})}o(Oa,"SlotStep");function Aa({value:e,onChange:t,onNext:n,media:r,onChangeMedia:i,onPickMedia:l,checking:a=false}){let s=F(),d=_(),u=useMemo(()=>Ke(d),[d]),p=e.trim(),g=p.length>0&&p.length<=Ie;return jsxs(View,{style:s.scrollRoot,testID:"televet-booking-reason",children:[jsxs(ScrollView,{style:s.scrollBody,contentContainerStyle:s.list,keyboardShouldPersistTaps:"handled",keyboardDismissMode:"interactive",showsVerticalScrollIndicator:false,testID:"televet-booking-reason-scroll",children:[jsx(v,{tier:"heading",style:s.stepTitle,accessibilityRole:"header",children:c.describeHeading}),jsx(v,{style:s.stepHelp,children:c.describeHelpLong}),jsx(ti,{value:e,onChangeText:t,multiline:true,placeholder:c.reasonPlaceholder,placeholderTextColor:d.color.text.placeholder,style:u.reasonInput,testID:"televet-reason-input"}),p.length>Ie?jsx(W,{message:c.reasonTooLong}):null,jsx(go,{media:r,onChange:i,...l?{onPickMedia:l}:{}})]}),jsx(View,{style:s.scrollFooter,children:jsx(w,{label:c.continueCta,kind:"primary",disabled:!g,loading:a,onPress:n,testID:"televet-reason-next"})})]})}o(Aa,"ReasonStep");function Ke(e){let{color:t,space:n,radius:r,type:i}=e,{size:l,lineHeight:a}=i;return StyleSheet.create({marker:{minHeight:1},spacer:{height:n.md},petRow:{gap:n.xs,paddingVertical:n.xs},petRowSelected:{opacity:1},petRowButton:{alignSelf:"stretch",justifyContent:"flex-start"},petRowText:{flexDirection:"row",alignItems:"center",gap:n.sm,paddingHorizontal:n.md},petDisc:{width:28,height:28,borderRadius:14,backgroundColor:t.surfaceSubtle,alignItems:"center",justifyContent:"center"},petDiscGlyph:{...b(e,"medium"),color:t.brand,fontSize:l.caption,lineHeight:l.caption},petRowMeta:{flexShrink:1,...b(e,"regular"),color:t.text.metaCool,fontSize:l.caption,lineHeight:l.caption*a.normal},vetRow:{flexDirection:"row",alignItems:"center",gap:n.md},vetAvatar:{width:64,height:64,borderRadius:32,backgroundColor:t.surfaceSubtle,alignItems:"center",justifyContent:"center"},vetAvatarText:{...b(e,"medium"),color:t.brand,fontSize:l.heading,lineHeight:l.heading},vetIdentity:{flex:1,gap:2},vetName:{...b(e,"medium"),color:t.brand,fontSize:l.subtitle,lineHeight:l.subtitle*a.snug},vetCredentials:{...b(e,"regular"),color:t.text.metaCool,fontSize:l.caption,lineHeight:l.caption*a.normal},vetRating:{...b(e,"regular"),color:t.text.secondary,fontSize:l.caption,lineHeight:l.caption*a.normal},vetBio:{...b(e,"regular"),color:t.brand,fontSize:l.body,lineHeight:l.body*a.normal},reasonInput:{minHeight:120,textAlignVertical:"top",borderWidth:1,borderColor:t.brandBorder,borderRadius:r.md,padding:n.md,...b(e,"regular"),color:t.text.primary,fontSize:l.body,lineHeight:l.body*a.normal},emergencyBanner:{gap:n.md,padding:n.lg,borderRadius:r.lg,borderWidth:1,borderColor:t.errorRed,backgroundColor:t.badgeBgCritical},emergencyTitle:{...b(e,"bold"),color:t.errorRed,fontSize:l.subtitle,lineHeight:l.subtitle*a.snug},emergencyLede:{...b(e,"regular"),color:t.text.primary,fontSize:l.body,lineHeight:l.body*a.normal}})}o(Ke,"makeLocalStyles");function Ba({petId:e,roster:t,onAddPet:n,onPickPet:r}){return e===null?jsx(jn,{pets:t.pets,isPending:t.loading,isError:t.error!==null,onRetry:()=>{t.refresh();},onAddPet:n,selectedId:null,onSelect:r}):jsx(Wc,{petRef:e})}o(Ba,"TelevetVisitSimulator");function Wc({petRef:e}){let t=F(),n=ea(e);return jsx(View,{style:t.stepFill,testID:"televet-simulator",children:jsxs(ScrollView,{contentContainerStyle:t.list,children:[jsx(N,{title:ue.title}),jsx(w,{label:ue.create,onPress:n.create,kind:"secondary",disabled:n.busy,testID:"televet-simulator-create"}),n.visitLine!==null?jsxs(Fragment,{children:[jsx(v,{style:t.stateMessage,testID:"televet-simulator-visit",children:n.visitLine}),ta.map(r=>jsx(w,{label:ue.advance[r],onPress:()=>n.advance(r),kind:"secondary",disabled:n.busy,testID:`televet-simulator-advance-${r}`},r)),jsx(v,{style:t.stateMessage,children:ue.eventsNote}),na.map(r=>jsx(w,{label:ue.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(W,{message:n.line.text,testID:"televet-simulator-error"}):jsx(v,{style:t.stateMessage,accessibilityLiveRegion:"polite",testID:"televet-simulator-log",children:n.line.text})]})})}o(Wc,"SimulatorScreen");function xo(e){let{petRef:t,usState:n,controller:r,onBooked:i,onExit:l,onAddPet:a,onPickMedia:s,onAddToCalendar:d,onConfirmDiscard:u,onRequestLocation:p,locationStatus:g="unknown",onTriageReason:f,onStateInterest:y,primaryVet:k,onFindEmergencyVet:S,canJoinInApp:P=false,renderUnavailable:C,style:T,testID:E}=dt(e,["onBooked","onExit","onAddPet","onRequestLocation","onFindEmergencyVet"]),D=F(),h=_(),z=useMemo(()=>Ke(h),[h]),B=de(r),L=vt(),M=L.pets,K=M.length,be=useMemo(()=>({ownedPetCount:K}),[K]),[Q,ie]=useReducer((Z,Ts)=>$r(Z,Ts,be),void 0,()=>Wr({ownedPetCount:0},{petId:t??null,state:n??null})),O=useCallback(Z=>ie(Z),[]),[ye,xe]=useState(""),[j,it]=useState(null),[nn,$n]=useState(null),[at,Rt]=useState(false),[xt,Mo]=useState(false),[zo,is]=useState([]),[Kn,as]=useState(null),{draft:A}=Q,ae=Kr(Q),jo=useRef(A.state);jo.current!==A.state&&(jo.current=A.state,at&&Rt(false),xt&&Mo(false));let rn=Tr(A.state,B),Ho=At(B),st=Er(B),pe=Sr(A.state,B),Me=Dt(A.clinicianId,B),Yn=Me.refetch,ss=kr(B).data??null,Gn=Bt(B),Uo=Cr(B),_e=Qr(f??null),Wo=Zr(A.state,y??null).actionFor("no_licensed_vet"),Jn=n??null;useEffect(()=>{Jn&&!A.state&&O({type:"patch",patch:{state:Jn}});},[Jn,A.state,O]),useEffect(()=>{t&&!A.petId&&O({type:"patch",patch:{petId:t}});},[t,A.petId,O]);let Xn=M.length===1?M[0]?.petRef??null:null;useEffect(()=>{Xn&&!A.petId&&O({type:"patch",patch:{petId:Xn}});},[Xn,A.petId,O]);let qo=useRef(ae);qo.current=ae;let $o=useRef(0);useEffect(()=>{K!==$o.current&&($o.current=K,O({type:"goTo",step:qo.current}));},[K,O]);let Qn=pe.data?.[0]?.clinicianId??null;useEffect(()=>{Qn&&!A.clinicianId&&O({type:"patch",patch:{clinicianId:Qn}});},[Qn,A.clinicianId,O]);let ds=Wi({draft:A,hold:Gn,dispatch:O,setFailure:it,refetchSlots:Yn}),{submitBooking:us,confirm:cs}=Ui({draft:A,reasonText:ye,book:Uo,stateAttested:at,termsAttested:xt,cancellationPolicy:Ho.data??null,triage:_e,goTo:useCallback(Z=>O({type:"goTo",step:Z}),[O]),releaseSlot:useCallback(()=>{O({type:"patch",patch:Li}),Yn();},[O,Yn]),setFailure:it,setEmergency:$n,setBookedConsult:as,...i?{onBooked:i}:{}}),ps=rn.enabled&&rn.data!==null&&!rn.data.wellnessAvailable,fs=st.enabled&&st.data?.active===false||j==="not_entitled",{simulate:Ko,fundingRefused:Yo}=Zi(st,fs),ys=st.enabled&&st.data!==null,ms=to(ys),Go=An(zo.length),vs=ye.trim().length>0||!!A.slot,gs=B===null||j==="unavailable"||Ft(st)||Ft(rn),Jo={noState:!A.state,isPending:pe.enabled&&pe.isPending,isError:pe.isError,isEmpty:(pe.data?.length??0)===0,notEntitled:Yo},bs=ya(Jo),Xo={surfaceUnavailable:gs,notEntitled:Yo,policyBlocked:ps,triageOpen:_e.open,step:ae},hs=pa(Xo);return we()?jsxs(View,{style:[D.screen,T],testID:E??"televet-booking",children:[jsx(mo,{step:ae,furthestIndex:Q.furthestIndex,canGoBack:!Ko&&(_e.open||qr(Q,be))&&ae!=="booked",isDirty:vs,onBack:()=>{if(_e.open){_e.close();return}_e.cancel(),O({type:"back"});},onClose:()=>l?.(),...u?{onConfirmDiscard:u}:{}}),Ko?jsx(Ba,{petId:A.petId,roster:L,onAddPet:a,onPickPet:Z=>O({type:"patch",patch:{petId:Z}})}):hs?jsx(fa,{state:Xo,petName:Fe(M,A.petId),...k?{primaryVet:k}:{},onFindEmergencyVet:S,stateInterest:Wo,...y?{onCheckAvailability:o(()=>O({type:"goTo",step:"clinician"}),"onCheckAvailability")}:{},onAcknowledgeEmergency:()=>{_e.acknowledge(ye),O({type:"next"});},...C?{renderUnavailable:C}:{}}):ae==="time"?jsx(Oa,{slots:Me.data??[],enabled:Me.enabled,isPending:Me.enabled&&Me.isPending&&Me.data===null,isError:Me.isError,busySlotId:Gn.isPending?Gn.variables:null,failure:j,selectedSlot:A.slot,nextOpening:ss,onPick:ds,onRetry:()=>Me.refetch(),onSeeOtherVets:()=>O({type:"goTo",step:"clinician"})}):ae==="review"?jsx(ko,{when:A.slot?ve(A.slot.startsAt):"",lengthMinutes:(A.slot?Sl(A.slot):null)??gt,petName:Fe(M,A.petId),reason:ye.trim(),clinician:pe.data?.find(Z=>Z.clinicianId===A.clinicianId)?.displayName??null,shareRecords:A.shareHealthRecords,stateCode:A.state,stateAttested:at,onToggleStateAttest:Rt,cancellationTerms:Ho.data?.summary??null,termsAttested:xt,onToggleTermsAttest:Mo,onToggleShare:Z=>O({type:"patch",patch:{shareHealthRecords:Z}}),canConfirm:Mt(A,ye),busy:Uo.isPending,failure:j,onConfirm:cs,emergency:nn,onAcknowledgeEmergency:()=>us(true),onSeeOtherVets:()=>O({type:"goTo",step:"clinician"}),mediaShortfall:Go,primaryVet:k,onFindEmergencyVet:S}):ae==="booked"?jsx(View,{style:D.stepFill,testID:"televet-booking-booked",children:Kn?jsxs(Fragment,{children:[jsx(fo,{consult:Kn,petName:Fe(M,Kn.petId)??Fe(M,A.petId),onDone:()=>l?.(),canJoinInApp:P,...d?{onAddToCalendar:d}:{}}),jsx(Wt,{shortfall:Go,testIDPrefix:"televet-booked"})]}):null}):ae==="clinician"&&bs?jsx(ma,{state:Jo,cause:ms,locationStatus:g,...p?{onRequestLocation:p}:{},onRetry:()=>pe.refetch(),stateInterest:Wo,...C?{renderUnavailable:C}:{}}):ae==="clinician"?jsx(Ia,{clinicians:pe.data??[],isPending:pe.enabled&&pe.isPending,isError:pe.isError,selectedId:A.clinicianId,onRetry:()=>pe.refetch(),onSelect:Z=>{O({type:"patch",patch:{clinicianId:Z}}),O({type:"next"});}}):ae==="reason"?jsx(Aa,{value:ye,onChange:xe,media:zo,onChangeMedia:is,...s?{onPickMedia:s}:{},checking:_e.checking,onNext:()=>{_e.check(ye).then(Z=>{Z&&O({type:"next"});});}}):ae==="pet"?jsx(jn,{pets:M,isPending:L.loading,isError:L.error!==null,onRetry:()=>{L.refresh();},onAddPet:a,selectedId:A.petId,onSelect:Z=>{O({type:"patch",patch:{petId:Z}}),O({type:"next"});}}):jsx(View,{style:z.marker,testID:`televet-booking-step-${ae}`})]}):jsx(View,{style:[D.screen,T],testID:E??"televet-booking",children:jsx(View,{style:D.stepFill,testID:"televet-booking-copy-unapproved",children:C?C():null})})}o(xo,"EverfurTelevetBooking");var Jc=2e4;function Hn(e=true,t=Jc){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(Hn,"useNowMs");var I=Object.freeze({pastTitle:"Past visits",upcomingTitle:"Upcoming visits",emptyTitle:"No visits yet",bookCta:"Find a time",bookCardTitle:"Book a video visit",bookCardSubtitle:"Get help for your pet from home.",loadErrorTitle:"Could not load your visits",retryCta:"Try again",statusCompleted:"Completed",statusCancelled:"Cancelled",statusMissed:"Missed",manageCta:"Manage",joinCta:"Join call",joinDisabledReason:"You can join closer to the time.",joinOverReason:"This visit has ended.",vetUnassigned:"Your vet",rescheduleCta:"Reschedule",cancelCta:"Cancel visit",cancelConfirmTitle:"Cancel this visit?",cancelConfirmBody:"You can book another one afterwards.",cancelConfirmCta:"Cancel visit",cancelKeepCta:"Keep visit",cancelFailedTitle:"Could not cancel",cancelReason:"Cancelled by the pet parent in the app.",cancelPolicyErrorTitle:"Could not load what you need to agree to",phaseCancelled:"This visit was cancelled",phaseCancelledBody:"You can book another visit when you are ready.",notFoundTitle:"Not found",notFoundBody:"This visit is no longer available.",staleTitle:"Could not load your visits",staleRetry:"Try again"});function La(e){switch(e){case "completed":return I.statusCompleted;case "cancelled_owner":case "cancelled_ops":return I.statusCancelled;case "no_show_owner":case "no_show_vet":return I.statusMissed;default:return null}}o(La,"televetVisitStatusNative");function Xt({onBack:e,testID:t}){let n=kt();return jsx(View,{style:n.navRow,children:jsx(Pressable,{onPress:e,accessibilityRole:"button",accessibilityLabel:Bn,testID:t,style:n.backTap,children:jsx(View,{style:n.chevron,accessibilityElementsHidden:true,importantForAccessibility:"no"})})})}o(Xt,"TelevetVisitBackRow");function kt(){let e=_();return useMemo(()=>Zc(e),[e])}o(kt,"useVisitStyles");function Zc(e){let{color:t,space:n,radius:r,type:i}=e,{size:l,lineHeight:a}=i;return StyleSheet.create({screen:{flex:1,paddingHorizontal:n.xl},body:{gap:n.sm,paddingBottom:n.xl},navRow:{paddingVertical:n.sm,flexDirection:"row"},backTap:{minHeight:X,minWidth:X,justifyContent:"center"},chevron:{width:10,height:10,marginLeft:n.xs,borderLeftWidth:2,borderBottomWidth:2,borderColor:t.brand,transform:[{rotate:"45deg"}]},title:{...b(e,"medium"),color:t.brand,fontSize:l.heading,lineHeight:l.heading*a.snug,marginBottom:n.md},list:{gap:n.sm},row:{gap:n.xs,padding:n.md,borderRadius:r.md,borderWidth:1,borderColor:t.brandBorder,backgroundColor:t.surface},rowHead:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:n.sm},when:{flex:1,...b(e,"medium"),color:t.text.primary,fontSize:l.subtitle,lineHeight:l.subtitle*a.snug},status:{...b(e,"mono"),color:t.text.metaCool,fontSize:l.micro,letterSpacing:1},meta:{...b(e,"mono"),color:t.text.metaCool,fontSize:l.caption,lineHeight:l.caption*a.normal},bookCard:{gap:n.md,padding:n.xl,borderRadius:r.sm,borderWidth:StyleSheet.hairlineWidth,borderColor:t.brand,backgroundColor:t.surface},bookTitle:{...b(e,"medium"),color:t.brand,fontSize:l.subtitle,lineHeight:l.subtitle*a.snug},bookSubtitle:{...b(e,"regular"),color:t.text.metaCool,fontSize:l.body,lineHeight:l.body*a.normal},visitCard:{gap:n.md,padding:n.lg,borderRadius:r.lg,borderWidth:1,borderColor:t.brandBorder},visitWhen:{...b(e,"medium"),color:t.brand,fontSize:l.heading,lineHeight:l.heading*a.snug},visitWho:{...b(e,"regular"),color:t.text.primary,fontSize:l.subtitle,lineHeight:l.subtitle*a.snug},visitMeta:{...b(e,"regular"),color:t.text.metaCool,fontSize:l.caption,lineHeight:l.caption*a.normal},reason:{...b(e,"regular"),color:t.text.metaCool,fontSize:l.caption,lineHeight:l.caption*a.normal},terms:{padding:n.md,borderRadius:r.sm,backgroundColor:t.surfaceSubtle,...b(e,"regular"),color:t.text.metaCool,fontSize:l.caption,lineHeight:l.caption*a.normal},noticeTitle:{...b(e,"bold"),color:t.text.primary,fontSize:l.subtitle,lineHeight:l.subtitle*a.snug},noticeBody:{...b(e,"regular"),color:t.text.metaCool,fontSize:l.body,lineHeight:l.body*a.normal},receipt:{gap:n.xs,padding:n.md,borderRadius:r.sm,backgroundColor:t.surfaceSubtle},stack:{gap:n.xs}})}o(Zc,"makeVisitStyles");function wo({consult:e,controller:t,onJoin:n,onReschedule:r,onCancelled:i,onBack:l,revision:a=0,nowMs:s,style:d}){let u=kt(),p=de(t),[g,f]=useState(0),y=Hl(e.consultId,p,a+g),k=At(p),S=Ul(e.consultId,p),{pets:P}=vt(),[C,T]=useState(false),[E,D]=useState(false),[h,z]=useState(null),B=y.isError&&y.error?.httpStatus===404,L=B?null:y.data??e,M=L!==null&&Je.has(L.status),K=Hn(!M),Q=wr(L,s??K),ie=L===null?null:Fe(P,L.petId),O=k.data?.summary.trim()||null,ye=useCallback(()=>{O&&(D(false),S.mutate(I.cancelReason,{onSuccess:o(Rt=>{T(false),z(Rt),f(xt=>xt+1),i?.(Rt);},"onSuccess"),onError:o(()=>D(true),"onError")}));},[O,S,i]);if(L===null)return jsxs(View,{style:[u.screen,d],testID:"televet-consult-missing",children:[jsx(Xt,{onBack:l,testID:"televet-consult-back"}),jsx(N,{title:I.notFoundTitle,message:I.notFoundBody})]});let xe=L.status,j=xe==="cancelled_owner"||xe==="cancelled_ops",it=xe==="scheduled"||xe==="in_progress",nn=Pr(xe)&&h===null,$n=L.clinicianName??I.vetUnassigned,at=[ie,L.reasonText].filter(Boolean).join(" \xB7 ");return jsxs(View,{style:[u.screen,d],testID:"televet-consult",children:[jsx(Xt,{onBack:l,testID:"televet-consult-back"}),jsxs(ScrollView,{contentContainerStyle:u.body,children:[jsxs(View,{style:u.visitCard,children:[jsx(v,{style:u.visitWhen,accessibilityRole:"header",testID:"televet-consult-when",children:ve(L.scheduledAt)}),jsxs(View,{style:u.stack,children:[jsx(v,{style:u.visitWho,testID:"televet-consult-vet",children:$n}),at?jsx(v,{style:u.visitMeta,numberOfLines:2,children:at}):null]})]}),it&&h===null?jsxs(Fragment,{children:[jsx(w,{label:I.joinCta,disabled:!Q.ready,onPress:()=>n(L,ie),testID:"televet-consult-join"}),Q.ready?null:jsx(v,{style:u.reason,testID:"televet-consult-join-reason",children:Q.reason==="consult_over"?I.joinOverReason:I.joinDisabledReason}),nn&&r?jsx(w,{label:I.rescheduleCta,kind:"secondary",onPress:()=>r(L),testID:"televet-consult-reschedule"}):null]}):null,h?jsx(View,{style:u.receipt,testID:"televet-consult-cancel-receipt",children:jsx(v,{style:u.noticeTitle,accessibilityLiveRegion:"polite",children:h.summary??I.phaseCancelled})}):j?jsxs(View,{style:u.stack,testID:"televet-consult-cancelled",children:[jsx(v,{style:u.noticeTitle,accessibilityRole:"header",children:I.phaseCancelled}),jsx(v,{style:u.noticeBody,children:I.phaseCancelledBody})]}):null,nn?jsxs(View,{style:u.stack,children:[O?jsx(v,{style:u.terms,accessibilityLiveRegion:"polite",testID:"televet-consult-cancellation-policy",children:O}):k.enabled&&k.isPending?jsx(View,{testID:"televet-consult-cancellation-policy-loading",children:jsx(le,{height:42})}):jsx(N,{title:I.cancelPolicyErrorTitle,actionLabel:I.retryCta,onAction:()=>k.refetch(),testID:"televet-consult-cancellation-policy-error"}),C?jsxs(View,{style:u.stack,testID:"televet-consult-cancel-confirm",children:[jsx(v,{style:u.noticeTitle,children:I.cancelConfirmTitle}),jsx(v,{style:u.noticeBody,children:I.cancelConfirmBody}),E?jsx(W,{message:I.cancelFailedTitle,testID:"televet-consult-cancel-failed"}):null,jsx(w,{label:I.cancelConfirmCta,kind:"danger",loading:S.isPending,onPress:ye,testID:"televet-consult-cancel-yes"}),jsx(w,{label:I.cancelKeepCta,kind:"secondary",disabled:S.isPending,onPress:()=>{T(false),D(false);},testID:"televet-consult-cancel-keep"})]}):jsx(w,{label:I.cancelCta,kind:"secondary",disabled:!O,onPress:()=>{D(false),T(true);},testID:"televet-consult-cancel"})]}):null,y.isError&&!B?jsx(N,{title:I.staleTitle,actionLabel:I.staleRetry,onAction:()=>y.refetch(),testID:"televet-consult-stale"}):null]})]})}o(wo,"TelevetConsultScreen");var Ye=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`:Ye.lobbyTitleNoName},"lobbyTitle"),lobbyPrep:o(e=>{let t=e?.trim()??"";return t.length>0?`Have ${t} nearby and somewhere well lit.`:Ye.lobbyPrepNoPet},"lobbyPrep"),lobbyDuration:o(e=>`${e} MINUTE VISIT`,"lobbyDuration"),joinFailedReason:"That did not open. Try again.",recordingNoticeTitle:"This consultation is recorded.",recordingNoticeCta:"Continue to the call",recordingNoticeDecline:"Not now",selfCameraOffLabel:"Your camera is off"});function za(e){switch(e){case "too_early":return "You can join closer to the time.";case "too_late":return "This visit has ended.";case "room_not_ready":return "The room is still being set up. Try again in a moment.";case "not_joinable":return "This visit is no longer open.";case "unavailable":return "No way to join this visit yet.";default:return "That did not open. Try again."}}o(za,"televetJoinRefusalNativeCopy");var ja="No way to join this visit yet.";function Ha(e){return e==="room_not_ready"||e==="unknown"}o(Ha,"televetJoinIsRetryable");var Ua=Symbol.for("@everfur/sdk/televet");function rp(){let e=globalThis,t=e[Ua];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[Ua]=n,n}o(rp,"televetGlobal");function Wn(){return rp().dailyRegistered}o(Wn,"isEverfurDailyRegistered");function Wa(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(Wa,"memoizeTelevetLoader");var $a=Object.freeze({status:"joining"});function Po(e,t){let[n,r]=useState(0),[i,l]=useState($a),a=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)}`,p=a.current;if(p===null||p.key!==u){let f;try{f=d.call(t,e);}catch(y){f=Promise.reject(y);}p={key:u,promise:f},a.current=p;}let g=true;return l($a),p.promise.then(f=>{g&&(f.ok?l(Object.freeze({status:"ready",credential:f.value})):l(Object.freeze({status:"refused",refusal:pr(f.error),reason:cr(f.error)})));},()=>{g&&l(Object.freeze({status:"refused",refusal:"unknown",reason:null}));}),()=>{g=false;}},[e,t,n]);let s=useCallback(()=>r(d=>d+1),[]);return {state:i,retry:s}}o(Po,"useTelevetJoin");var ap=Symbol.for("@everfur/sdk/televet/recording-notice-receipt");function Ka(){let e=globalThis;return e[ap]??=new Map}o(Ka,"receipts");function Ya(e){let t=Ka();t.set(e,(t.get(e)??0)+1);}o(Ya,"markRecordingNoticeAccepted");function Ga(e){let t=Ka(),n=t.get(e)??0;n<=1?t.delete(e):t.set(e,n-1);}o(Ga,"clearRecordingNoticeAccepted");var Io=createContext(null);function Ja(e){let t=useContext(Io);useEffect(()=>{if(!(t===null||!e))return t.setFullBleed(true),()=>{t.setFullBleed(false);}},[t,e]);}o(Ja,"useTelevetModalFullBleed");var Xa=Wa(()=>import('@everfur/sdk/televet/call'));function Oo({consultId:e,...t}){let n=F(),r=vp();return r===null?jsx(View,{style:[n.screen,t.style],testID:"televet-join-checking"}):jsx(yp,{consultId:e,...t,canHostCall:r},e)}o(Oo,"TelevetJoinScreen");function yp({canHostCall:e,onLeave:t,style:n,...r}){let[i,l]=useState(false);es(()=>(t(),true),!i);let a=useCallback(()=>{l(false),t();},[t]);return e?i?jsx(mp,{...r,onLeave:a,style:n}):jsx(Qa,{onContinue:()=>l(true),onLeave:t,style:n}):jsx(Za,{onLeave:t,style:n})}o(yp,"TelevetJoinGate");function mp({consultId:e,controller:t,clinicianName:n,petName:r,onLeave:i,style:l}){let a=F(),s=de(t),{state:d,retry:u}=Po(e,s),[p,g]=useState(null),[f,y]=useState(false),k=d.status==="ready";useEffect(()=>{if(!k||p!==null)return;let h=true;return Xa().then(z=>{h&&g(()=>z);},()=>{h&&y(true);}),()=>{h=false;}},[k,p]);let S=d.status==="ready"?d.credential.roomUrl:null,[P,C]=useState(null);useEffect(()=>{if(S!==null)return Ya(S),C(S),()=>{Ga(S);}},[S]);let T=k&&p!==null&&!f;es(()=>(T||i(),true),true);let E=d.status==="ready"?d.credential:null;if(Ja(T&&E!==null&&p.isUsableRoomCredential(E.roomUrl,E.token)&&p.loadEverfurDaily().available),d.status==="refused"||f){let h=d.status==="refused"?d.refusal:"unavailable";return jsxs(View,{style:[a.screen,a.stepFill,l],testID:"televet-join-refused",children:[jsx(W,{message:za(h),testID:"televet-join-refused-message"}),Ha(h)&&d.status==="refused"?jsx(w,{label:c.retryCta,kind:"primary",onPress:u,testID:"televet-join-retry"}):null,jsx(w,{label:Ye.leaveCta,kind:"secondary",onPress:i,testID:"televet-join-leave"})]})}if(d.status==="joining"||p===null||P!==d.credential.roomUrl)return jsx(Qa,{busy:true,onLeave:i,style:l});let{EverfurVetCall:D}=p;return jsx(D,{roomUrl:d.credential.roomUrl,token:d.credential.token,onLeave:i,clinicianName:n??null,petName:r??null,consultMinutes:d.credential.callLimits?.consultMinutes??null,renderUnavailable:()=>jsx(Za,{onLeave:i,style:l}),style:l})}o(mp,"TelevetJoinRoom");function Qa({onContinue:e,onLeave:t,busy:n=false,style:r}){let i=F();return jsx(View,{style:[i.screen,i.stepFill,r],children:jsxs(View,{style:i.stateCard,testID:"everfur-vet-call-recording-notice",accessibilityState:{busy:n},children:[jsx(v,{style:i.stateTitle,accessibilityRole:"header",children:Ye.recordingNoticeTitle}),jsx(w,{label:Ye.recordingNoticeCta,kind:"primary",loading:n,onPress:()=>e?.(),testID:"everfur-vet-call-recording-continue"}),jsx(w,{label:Ye.leaveCta,kind:"secondary",onPress:t,testID:"everfur-vet-call-recording-leave"})]})})}o(Qa,"TelevetRecordingNotice");function Za({onLeave:e,style:t}){let n=F();return jsxs(View,{style:[n.screen,n.stepFill,t],testID:"televet-join-call-unavailable",children:[jsx(W,{message:ja}),jsx(w,{label:Ye.leaveCta,kind:"secondary",onPress:e,testID:"televet-join-unavailable-leave"})]})}o(Za,"TelevetJoinUnavailable");function es(e,t){ut(e,t);let n=useRef(e);n.current=e,useEffect(()=>{if(!t)return;let r=BackHandler.addEventListener("hardwareBackPress",()=>n.current());return ()=>{r.remove();}},[t]);}o(es,"useJoinBackPress");function vp(){let[e,t]=useState(()=>Wn()?null:false);return useEffect(()=>{let n=true;return Xa().then(r=>{if(!n)return;let i=r.loadEverfurDaily();if(t(i.available),!i.available)try{globalThis.console?.warn?.(`${r.EVERFUR_DAILY_SETUP} (${i.reason})`);}catch{}},()=>{n&&t(false);}),()=>{n=false;}},[]),e}o(vp,"useCanHostCall");function Do(e){let{consult:t,onRescheduled:n,onCancel:r,controller:i,style:l,testID:a}=dt(e,["onRescheduled","onCancel"]),s=F(),d=de(i),u=Dt(t?.clinicianId??null,d),p=Bt(d),g=Rr(t?.consultId??null,d),[f,y]=useState(null),k=useCallback(P=>{y(null),p.mutate(P.slotId,{onSuccess:o(()=>{g.mutate(P.slotId,{onSuccess:o(C=>n?.(C),"onSuccess"),onError:o(C=>y(ze(C).kind==="unavailable"?"unavailable":"failed"),"onError")});},"onSuccess"),onError:o(C=>y(ze(C).kind==="unavailable"?"unavailable":"taken"),"onError")});},[p,g,n]),S=p.isPending||g.isPending;return we()?t?jsxs(View,{style:[s.screen,s.stepFill,l],testID:a??"televet-reschedule",children:[jsx(v,{tier:"compact",style:s.stepHelp,children:G(c.rescheduleFromTemplate,{when:ve(t.scheduledAt)})}),f==="taken"?jsx(W,{message:c.slotTaken}):null,f==="failed"?jsx(W,{message:c.rescheduleFailed}):null,f==="unavailable"?jsx(W,{message:c.bookingPausedTitle,testID:"televet-reschedule-unavailable"}):null,u.enabled?u.isPending?jsx(View,{style:s.list,testID:"televet-reschedule-slots-loading",children:[0,1,2].map(P=>jsx(le,{height:48},P))}):u.isError?jsx(N,{title:c.slotsErrorTitle,actionLabel:c.retryCta,onAction:()=>u.refetch(),testID:"televet-reschedule-slots-error"}):(u.data??[]).length===0?jsx(View,{testID:"televet-reschedule-empty",children:jsx(N,{title:c.noSlotsTitle})}):jsx($t,{slots:u.data??[],busySlotId:S?p.variables:null,onPick:k,rowTestIdPrefix:"televet-reschedule-slot",testID:"televet-reschedule-slots"}):jsx(View,{testID:"televet-reschedule-paused",children:jsx(N,{title:c.bookingPausedTitle})}),jsx(w,{label:c.keepExistingCta,kind:"secondary",disabled:S,onPress:()=>r?.(),testID:"televet-reschedule-keep"})]}):jsx(View,{style:[s.screen,s.list,l],testID:"televet-reschedule-loading",children:[0,1].map(P=>jsx(le,{height:48},P))}):jsx(View,{style:[s.screen,s.stepFill,l],testID:"televet-reschedule-copy-unapproved"})}o(Do,"EverfurTelevetReschedule");function Bo({controller:e,onOpenVisit:t,onBook:n,onBack:r,revision:i=0,nowMs:l,style:a}){let s=kt(),d=de(e),u=Sn(d,i),{pets:p}=vt(),g=u.data??[],f=g.some(h=>!Je.has(h.status)),y=Hn(f),k=l??y,{upcoming:S,past:P}=useMemo(()=>Nt(g,k),[g,k]),C=u.enabled&&u.isPending,T=u.isError&&u.data===null,E=!C&&!T&&g.length>0,D=o(h=>{let z=La(h.status),B=[h.clinicianName,Fe(p,h.petId)].filter(Boolean).join(" \xB7 ");return jsxs(View,{style:s.row,testID:`televet-visits-row-${h.consultId}`,children:[jsxs(View,{style:s.rowHead,children:[jsx(v,{style:s.when,children:Mi(h.scheduledAt)}),z?jsx(v,{style:s.status,testID:`televet-visits-status-${h.consultId}`,children:z}):null]}),B?jsx(v,{style:s.meta,children:B}):null,h.status==="completed"?null:jsx(w,{label:I.manageCta,kind:"secondary",onPress:()=>t(h),testID:`televet-visits-open-${h.consultId}`})]},h.consultId)},"renderRow");return jsxs(View,{style:[s.screen,a],testID:"televet-visits",children:[jsx(Xt,{onBack:r,testID:"televet-visits-back"}),jsxs(ScrollView,{contentContainerStyle:s.body,children:[E?null:jsx(v,{style:s.title,accessibilityRole:"header",children:I.pastTitle}),T?jsxs(View,{style:s.list,children:[jsx(N,{title:I.loadErrorTitle,actionLabel:I.retryCta,onAction:()=>u.refetch(),testID:"televet-visits-error"}),n?jsx(ts,{onBook:n}):null]}):C?jsx(View,{style:s.list,testID:"televet-visits-loading",children:[0,1,2].map(h=>jsx(le,{height:72},h))}):g.length===0?jsxs(View,{style:s.list,testID:"televet-visits-empty",children:[jsx(N,{title:I.emptyTitle}),n?jsx(w,{label:I.bookCta,onPress:n,testID:"televet-visits-book"}):null]}):jsxs(View,{style:s.list,children:[S.length>0?jsxs(Fragment,{children:[jsx(v,{style:s.title,accessibilityRole:"header",children:I.upcomingTitle}),jsx(View,{style:s.list,testID:"televet-visits-upcoming",children:S.map(D)})]}):null,n?jsx(ts,{onBook:n}):null,jsx(v,{style:s.title,accessibilityRole:"header",children:I.pastTitle}),P.length>0?jsx(View,{style:s.list,testID:"televet-visits-past",children:P.map(D)}):null]})]})]})}o(Bo,"TelevetVisitsScreen");function ts({onBook:e}){let t=kt();return jsxs(View,{style:t.bookCard,testID:"televet-visits-book-card",children:[jsx(v,{style:t.bookTitle,children:I.bookCardTitle}),jsx(v,{style:t.bookSubtitle,children:I.bookCardSubtitle}),jsx(w,{label:I.bookCta,kind:"primary",onPress:e,testID:"televet-visits-book"})]})}o(ts,"BookCard");var Fo=Object.freeze({name:"home"}),xp=Object.freeze({name:"visits"}),_p=Object.freeze({name:"booking"});function No(e){let t=e.visitRef?.trim()??"";return t.length>0?Object.freeze({name:"visit",visitRef:t,intent:e.intent??null}):Fo}o(No,"televetScreenForRequest");function wp(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(wp,"navReducer");function os(e){let{style:t,renderPending:n,...r}=dt(e,["onExit","onBooked","onAddPet","onRequestLocation","onFindEmergencyVet"]);return jsx(ii,{capability:"televet",style:t,...n?{renderPending:n}:{},children:jsx(Pp,{...r,style:t})})}o(os,"EverfurTelevetFlow");function Pp({petRef:e,usState:t,controller:n,onBooked:r,onExit:i,onAddPet:l,onPickMedia:a,onAddToCalendar:s,onConfirmDiscard:d,onRequestLocation:u,locationStatus:p,primaryVet:g,onFindEmergencyVet:f,onTriageReason:y,canJoinInApp:k=false,renderUnavailable:S,initialScreen:P,style:C}){let T=F(),[E,D]=useReducer(wp,P??Fo,j=>Object.freeze({stack:Object.freeze([j])})),h=E.stack[E.stack.length-1]??Fo,z=E.stack.length,[B,L]=useState(0),M=useCallback(()=>L(j=>j+1),[]),K=useCallback(()=>z<=1||h.name==="call"||h.name==="booking"?false:(D({type:"pop"}),true),[z,h.name]);useEffect(()=>{let j=BackHandler.addEventListener("hardwareBackPress",K);return ()=>{j.remove();}},[K]),ut(K);let be=useCallback(()=>S?S():jsx(View,{style:T.list,testID:"televet-unavailable",children:we()?jsx(N,{title:c.bookingPausedTitle}):null}),[S,T.list]),Q=useCallback(()=>{z>1?D({type:"pop"}):i?.();},[z,i]),ie=o(j=>D({type:"push",screen:j}),"push"),O=useCallback(j=>D({type:"land",screen:j==="visits"?xp:_p}),[]),ye=jsx(xo,{...e!==void 0?{petRef:e}:{},...t!==void 0?{usState:t}:{},...n?{controller:n}:{},onBooked:j=>{M(),r?.(j);},onExit:Q,...l?{onAddPet:l}:{},...a?{onPickMedia:a}:{},...s?{onAddToCalendar:s}:{},...d?{onConfirmDiscard:d}:{},...u?{onRequestLocation:u}:{},...p?{locationStatus:p}:{},...g?{primaryVet:g}:{},...f?{onFindEmergencyVet:f}:{},...y?{onTriageReason:y}:{},canJoinInApp:k,renderUnavailable:be,style:C}),xe=jsx(Bo,{...n?{controller:n}:{},revision:B,onOpenVisit:j=>ie({name:"consult",consult:j}),onBook:()=>ie({name:"booking"}),onBack:Q,style:C});switch(h.name){case "home":return jsx(Ip,{controller:n,onLand:O,style:C});case "booking":return ye;case "visits":case "visit":return xe;case "consult":return jsx(wo,{consult:h.consult,...n?{controller:n}:{},revision:B,onJoin:(j,it)=>ie({name:"call",consultId:j.consultId,clinicianName:j.clinicianName,petName:it}),onReschedule:j=>ie({name:"reschedule",consult:j}),onCancelled:M,onBack:Q,style:C});case "reschedule":return jsx(Do,{consult:h.consult,...n?{controller:n}:{},onRescheduled:()=>{M(),D({type:"pop"});},onCancel:()=>D({type:"pop"}),style:C});case "call":return jsx(Oo,{consultId:h.consultId,...n?{controller:n}:{},...h.clinicianName!==void 0?{clinicianName:h.clinicianName}:{},...h.petName!==void 0?{petName:h.petName}:{},onLeave:()=>{M(),Q();},style:C});default:return on(h)}}o(Pp,"TelevetFlowBody");function Ip({controller:e,onLand:t,style:n}){let r=F(),i=de(e),l=Wl(i);return useEffect(()=>{l!=="pending"&&t(l);},[l,t]),jsxs(View,{style:[r.screen,r.list,n],testID:"televet-landing-loading",children:[jsx(le,{height:72}),jsx(le,{height:72})]})}o(Ip,"TelevetLandingScreen");var Lo=os;function Vp({request:e,onClose:t}){let n=_(),r=useSafeAreaInsets(),i=useMemo(()=>el(),[]),l=useCallback(()=>{i.dispatch()||t();},[i,t]),[a,s]=useState(false),d=useMemo(()=>({setFullBleed:s}),[]),u=useMemo(()=>No(e),[e]);return jsx(Modal,{visible:true,animationType:n.motion.reducedMotion?"none":"slide",presentationStyle:"fullScreen",onRequestClose:l,children:jsx(View,{testID:"everfur-televet-modal",style:[ls.root,{backgroundColor:n.color.surface},a?null:{paddingTop:r.top,paddingBottom:r.bottom}],children:jsx(er.Provider,{value:i,children:jsx(Io.Provider,{value:d,children:jsx(Lo,{...e.petRef!==void 0?{petRef:e.petRef}:{},...e.usState!==void 0?{usState:e.usState}:{},initialScreen:u,onExit:t,canJoinInApp:Wn(),style:ls.root})})})})})}o(Vp,"EverfurTelevetModal");var ls=StyleSheet.create({root:{flex:1}});export{Bn as BACK_LABEL,yn as CANCELLATION_POLICY_VERSION_MAX,vn as CANCEL_REASON_MAX,El as CONSULT_KINDS,gt as CONSULT_MINUTES,Tl as CONSULT_STATUSES,Lo as EverfurTelevet,xo as EverfurTelevetBooking,os as EverfurTelevetFlow,Vp as EverfurTelevetModal,Do as EverfurTelevetReschedule,mn as MEDIA_REFS_MAX,jt as NO_MEDIA_SHORTFALL,Ie as REASON_TEXT_MAX,He as TELEVET_BOOKING_BASE,c as TELEVET_BOOKING_COPY,We as TELEVET_BOOKING_STEPS,Bl as TELEVET_CONSULT_PAGE_LIMIT,_r as TELEVET_JOIN_CLOSES_MINUTES_AFTER,xr as TELEVET_JOIN_OPENS_MINUTES_BEFORE,Je as TERMINAL_CONSULT_STATUSES,fo as TelevetBookedScreen,mo as TelevetBookingChrome,ca as TelevetClinicianEmptyState,Kt as TelevetConsentCheckbox,wo as TelevetConsultScreen,bo as TelevetDayStrip,ua as TelevetEarlyEmergency,Ut as TelevetEmergencyExits,ec as TelevetEntitlementInterestState,go as TelevetIntakeMedia,Oo as TelevetJoinScreen,Wt as TelevetMediaDropNotice,$t as TelevetSlotPicker,so as TelevetStateInterestAction,Eo as TelevetSummaryCard,ot as TelevetSummaryRow,Bo as TelevetVisitsScreen,Gr as attestation,Mt as canConfirm,Pr as canManageTelevetVisit,gr as createTelevetBookingController,Kr as currentStep,Bi as emptyTelevetDraft,wu as formatVisitRange,Vi as formatWhen,ve as formatWhenWithDay,qr as hasPreviousStep,Wr as initialTelevetBookingState,On as isHoldExpired,no as isMediaShortfallEmpty,Pn as isSkipped,we as isTelevetBookingCopyReady,he as isWellFormedStateCode,An as mediaShortfallFromUnsentPicks,ur as parseVetCallCredential,Nt as splitTelevetVisits,Yr as televetBookingKey,$r as televetBookingReducer,ze as televetBookingRefusal,Dl as televetCancelCall,va as televetConsultCalendarKey,bn as televetConsultCall,Vn as televetDaysFromSlots,to as televetEmptyRosterCause,eo as televetEmptyRosterView,Il as televetHoldCall,Al as televetJoinCall,Ld as televetJoinOpensAtMs,wr as televetJoinReadiness,ro as televetMediaShortfallLines,Ol as televetRescheduleCall,No as televetScreenForRequest,Qr as useEarlyTriage,Zr as useStateInterest,Cr as useTelevetBookConsult,Fd as useTelevetBookingAvailable,de as useTelevetBookingController,Er as useTelevetBookingEntitlement,At as useTelevetCancellationPolicy,Sr as useTelevetClinicians,Bt as useTelevetHoldSlot,Po as useTelevetJoin,kr as useTelevetNextSlot,Rr as useTelevetRescheduleConsult,Dt as useTelevetSlots,Tr as useTelevetStatePolicy,Fl as validateBookingBody,cr as vetCallJoinReason,pr as vetCallJoinRefusal,Nu as withUnsentPicks};