@everfur/sdk 0.5.0 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/CHANGELOG.md +375 -0
  2. package/dist/BookedScreen-BJPbXLCG.d.ts +54 -0
  3. package/dist/BookedScreen-Cnld-jB_.d.cts +54 -0
  4. package/dist/{Chat-TA-aTcVF.d.cts → Chat-B43wIXCv.d.cts} +3 -3
  5. package/dist/{Chat-BOX-03ho.d.ts → Chat-my5aJLz5.d.ts} +3 -3
  6. package/dist/{DepthViews-DSFyaSeL.d.cts → DepthViews-BBTv9VAs.d.cts} +1 -1
  7. package/dist/{DepthViews-Cviea-ri.d.cts → DepthViews-BLK0kgza.d.cts} +1 -1
  8. package/dist/{DepthViews-CgjX2AJ5.d.ts → DepthViews-CNqAyjne.d.ts} +1 -1
  9. package/dist/{DepthViews-D2dRqWRq.d.ts → DepthViews-G-7YRtOX.d.ts} +1 -1
  10. package/dist/animations/index.cjs +1 -1
  11. package/dist/animations/index.d.cts +3 -3
  12. package/dist/animations/index.d.ts +3 -3
  13. package/dist/animations/index.js +1 -1
  14. package/dist/{attachments-DHvnITuE.d.cts → attachments-CEmT52IA.d.cts} +5 -5
  15. package/dist/{attachments-oD5U2fXI.d.ts → attachments-CMNWE6YT.d.ts} +2 -2
  16. package/dist/{attachments-C_vtFu2f.d.ts → attachments-DU1djTNd.d.ts} +5 -5
  17. package/dist/{attachments-pIdGOQfm.d.cts → attachments-ZyjWsZdI.d.cts} +2 -2
  18. package/dist/{bookingCopy-CJir9mjb.d.ts → bookingCopy-BVhEt1bj.d.ts} +38 -200
  19. package/dist/{bookingCopy-DfuA13dh.d.cts → bookingCopy-ChZR5mtd.d.cts} +38 -200
  20. package/dist/bookingTypes-DCs8mmBb.d.cts +188 -0
  21. package/dist/bookingTypes-DCs8mmBb.d.ts +188 -0
  22. package/dist/{callCopy-rDH9JTFo.d.cts → callCopy-CPe9mbwG.d.cts} +7 -2
  23. package/dist/{callCopy-rDH9JTFo.d.ts → callCopy-CPe9mbwG.d.ts} +7 -2
  24. package/dist/{casesRepository-DHgIYKN9.d.ts → casesRepository-C5zrCcaE.d.ts} +1 -1
  25. package/dist/{casesRepository-B-Eg8ZJ3.d.cts → casesRepository-q2ak9AW0.d.cts} +1 -1
  26. package/dist/chat/index.cjs +1 -1
  27. package/dist/chat/index.d.cts +14 -10
  28. package/dist/chat/index.d.ts +14 -10
  29. package/dist/chat/index.js +1 -1
  30. package/dist/client/index.cjs +5 -5
  31. package/dist/client/index.d.cts +6 -6
  32. package/dist/client/index.d.ts +6 -6
  33. package/dist/client/index.js +5 -5
  34. package/dist/{config-ClI7QxB0.d.ts → config-DBpKJJbg.d.ts} +1 -1
  35. package/dist/{config-DAFbf721.d.cts → config-jocy3q66.d.cts} +1 -1
  36. package/dist/consent/index.cjs +1 -1
  37. package/dist/consent/index.d.cts +5 -5
  38. package/dist/consent/index.d.ts +5 -5
  39. package/dist/consent/index.js +1 -1
  40. package/dist/{context-B-dUM1Qf.d.cts → context-BfVBRgro.d.cts} +5 -5
  41. package/dist/{context-CZbgF_OH.d.ts → context-C3n9s4aG.d.ts} +5 -5
  42. package/dist/{copy-CneuYdrO.d.cts → copy-IysFx8yL.d.cts} +2 -2
  43. package/dist/{copy-CeRH3NXy.d.ts → copy-KP91zgtW.d.ts} +2 -2
  44. package/dist/core/index.cjs +7 -7
  45. package/dist/core/index.d.cts +12 -12
  46. package/dist/core/index.d.ts +12 -12
  47. package/dist/core/index.js +7 -7
  48. package/dist/{depth-DO3Ko_qs.d.ts → depth-BsMLLrQo.d.ts} +2 -2
  49. package/dist/{depth-B3NFKlF9.d.cts → depth-O9kiVUjs.d.cts} +2 -2
  50. package/dist/{entitlementRepository-74kW5mK0.d.ts → entitlementRepository-CHsY2kF3.d.ts} +2 -2
  51. package/dist/{entitlementRepository-m6zLUmiB.d.cts → entitlementRepository-DIG16pso.d.cts} +2 -2
  52. package/dist/{identity-C7uxGwfT.d.cts → identity-D7GKfOE7.d.cts} +1 -1
  53. package/dist/{identity-CLAUq-K4.d.ts → identity-k8nCQ_qM.d.ts} +1 -1
  54. package/dist/index.cjs +6 -6
  55. package/dist/index.d.cts +13 -13
  56. package/dist/index.d.ts +13 -13
  57. package/dist/index.js +6 -6
  58. package/dist/notifications/index.cjs +2 -2
  59. package/dist/notifications/index.d.cts +2 -2
  60. package/dist/notifications/index.d.ts +2 -2
  61. package/dist/notifications/index.js +2 -2
  62. package/dist/{pets-BoB5B7kp.d.cts → pets-Bod_DDiW.d.cts} +1 -1
  63. package/dist/{pets-w4M9d-Dn.d.ts → pets-C_QX8s5f.d.ts} +1 -1
  64. package/dist/{petsRepository-DZZoEG3r.d.cts → petsRepository-B3vr628I.d.cts} +1 -1
  65. package/dist/{petsRepository-BjKJ8UsN.d.ts → petsRepository-DdzgINfF.d.ts} +1 -1
  66. package/dist/photo/index.cjs +1 -1
  67. package/dist/photo/index.js +1 -1
  68. package/dist/{ports-C2EVK416.d.cts → ports-BSm48zIC.d.cts} +16 -5
  69. package/dist/{ports-BO3bzTJg.d.ts → ports-DHhxhn95.d.ts} +16 -5
  70. package/dist/records/depth/index.cjs +2 -2
  71. package/dist/records/depth/index.d.cts +7 -7
  72. package/dist/records/depth/index.d.ts +7 -7
  73. package/dist/records/depth/index.js +2 -2
  74. package/dist/records/index.cjs +3 -3
  75. package/dist/records/index.d.cts +10 -10
  76. package/dist/records/index.d.ts +10 -10
  77. package/dist/records/index.js +3 -3
  78. package/dist/{requestFunnel-D7ipek3e.d.ts → requestFunnel-CTG-wNc3.d.ts} +2 -2
  79. package/dist/{requestFunnel-Djjwgoe9.d.cts → requestFunnel-Dcjyh0j2.d.cts} +2 -2
  80. package/dist/{runtimeTypes-D2C9uD85.d.cts → runtimeTypes-4qptUulD.d.cts} +4 -4
  81. package/dist/{runtimeTypes-CTL3yToK.d.ts → runtimeTypes-CmpdQaE2.d.ts} +4 -4
  82. package/dist/server/events/index.cjs +1 -1
  83. package/dist/server/events/index.d.cts +2 -2
  84. package/dist/server/events/index.d.ts +2 -2
  85. package/dist/server/events/index.js +1 -1
  86. package/dist/server/index.cjs +2 -2
  87. package/dist/server/index.d.cts +3 -3
  88. package/dist/server/index.d.ts +3 -3
  89. package/dist/server/index.js +2 -2
  90. package/dist/televet/booking/index.cjs +1 -1
  91. package/dist/televet/booking/index.d.cts +31 -17
  92. package/dist/televet/booking/index.d.ts +31 -17
  93. package/dist/televet/booking/index.js +1 -1
  94. package/dist/televet/call/index.cjs +1 -1
  95. package/dist/televet/call/index.d.cts +13 -1
  96. package/dist/televet/call/index.d.ts +13 -1
  97. package/dist/televet/call/index.js +1 -1
  98. package/dist/televet/index.cjs +1 -1
  99. package/dist/televet/index.js +1 -1
  100. package/dist/testing/index.cjs +3 -3
  101. package/dist/testing/index.d.cts +1 -1
  102. package/dist/testing/index.d.ts +1 -1
  103. package/dist/testing/index.js +3 -3
  104. package/dist/testing/rn/index.cjs +1 -1
  105. package/dist/testing/rn/index.d.cts +7 -7
  106. package/dist/testing/rn/index.d.ts +7 -7
  107. package/dist/testing/rn/index.js +1 -1
  108. package/dist/testing/web/index.cjs +1 -1
  109. package/dist/testing/web/index.d.cts +7 -7
  110. package/dist/testing/web/index.d.ts +7 -7
  111. package/dist/testing/web/index.js +1 -1
  112. package/dist/{timelineRows-CzR1T2DR.d.cts → timelineRows-BkLhRUDt.d.cts} +1 -1
  113. package/dist/{timelineRows-7yFNK_rU.d.ts → timelineRows-Dp4ZSnAo.d.ts} +1 -1
  114. package/dist/{uploadTransport-DKJHs3Yj.d.cts → uploadTransport-C1p8FuG8.d.cts} +5 -1
  115. package/dist/{uploadTransport-D0M0T4hN.d.ts → uploadTransport-bZIKBTyK.d.ts} +5 -1
  116. package/dist/{useRecordsDepth-Bnw36jPr.d.cts → useRecordsDepth-DRNry1r9.d.cts} +1 -1
  117. package/dist/{useRecordsDepth-DFF7Faxx.d.ts → useRecordsDepth-DnDhTaUL.d.ts} +1 -1
  118. package/dist/video/index.cjs +1 -1
  119. package/dist/video/index.js +1 -1
  120. package/dist/{view-BqcOYFTr.d.ts → view-CwuOPIJc.d.ts} +7 -4
  121. package/dist/{view-CaJs8WFH.d.cts → view-D4VdPKCa.d.cts} +7 -4
  122. package/dist/web/consent/index.cjs +1 -1
  123. package/dist/web/consent/index.d.cts +5 -5
  124. package/dist/web/consent/index.d.ts +5 -5
  125. package/dist/web/consent/index.js +1 -1
  126. package/dist/web/index.cjs +10 -10
  127. package/dist/web/index.d.cts +14 -14
  128. package/dist/web/index.d.ts +14 -14
  129. package/dist/web/index.js +10 -10
  130. package/dist/web/notifications/index.cjs +2 -2
  131. package/dist/web/notifications/index.d.cts +3 -3
  132. package/dist/web/notifications/index.d.ts +3 -3
  133. package/dist/web/notifications/index.js +2 -2
  134. package/dist/web/records/depth/index.cjs +2 -2
  135. package/dist/web/records/depth/index.d.cts +7 -7
  136. package/dist/web/records/depth/index.d.ts +7 -7
  137. package/dist/web/records/depth/index.js +2 -2
  138. package/dist/web/records/index.cjs +3 -3
  139. package/dist/web/records/index.d.cts +9 -9
  140. package/dist/web/records/index.d.ts +9 -9
  141. package/dist/web/records/index.js +3 -3
  142. package/dist/web/televet/booking/index.cjs +2 -2
  143. package/dist/web/televet/booking/index.d.cts +41 -52
  144. package/dist/web/televet/booking/index.d.ts +41 -52
  145. package/dist/web/televet/booking/index.js +2 -2
  146. package/dist/web/televet/call/index.cjs +1 -1
  147. package/dist/web/televet/call/index.d.cts +12 -5
  148. package/dist/web/televet/call/index.d.ts +12 -5
  149. package/dist/web/televet/call/index.js +1 -1
  150. package/dist/web/televet/index.cjs +4 -1
  151. package/dist/web/televet/index.d.cts +31 -2
  152. package/dist/web/televet/index.d.ts +31 -2
  153. package/dist/web/televet/index.js +4 -1
  154. package/package.json +4 -3
@@ -1,58 +1,26 @@
1
1
  import { ReactNode, CSSProperties } from 'react';
2
2
  import { P as PetRef } from '../../../ids-B2GAAifq.cjs';
3
3
  export { B as Brand, _ as __brand } from '../../../ids-B2GAAifq.cjs';
4
- import { c as TelevetConsult, d as TelevetBookingStep, e as TelevetBookingController, f as TelevetTriageRead, g as TelevetStateInterestWrite, T as TelevetEmptyRosterCause, a as TelevetStateInterestAction$1, b as TelevetMediaShortfall, i as TelevetSlot } from '../../../bookingCopy-DfuA13dh.cjs';
5
- export { C as CANCELLATION_POLICY_VERSION_MAX, j as CANCEL_REASON_MAX, k as CONSULT_KINDS, l as CONSULT_MINUTES, m as CONSULT_STATUSES, n as ConsultKind, o as ConsultStatus, M as MEDIA_REFS_MAX, N as NO_MEDIA_SHORTFALL, R as REASON_TEXT_MAX, p as TELEVET_BOOKING_BASE, q as TELEVET_BOOKING_COPY, r as TELEVET_BOOKING_STEPS, s as TELEVET_CONSULT_PAGE_LIMIT, t as TELEVET_JOIN_CLOSES_MINUTES_AFTER, u as TELEVET_JOIN_OPENS_MINUTES_BEFORE, v as TERMINAL_CONSULT_STATUSES, w as TelevetBookingAction, x as TelevetBookingBody, y as TelevetBookingContext, z as TelevetBookingControllerDeps, A as TelevetBookingCopy, B as TelevetBookingDraft, D as TelevetBookingEntitlement, E as TelevetBookingFailure, F as TelevetBookingRefusal, G as TelevetBookingState, h as TelevetCancelReceipt, H as TelevetCancellationPolicy, I as TelevetClinician, J as TelevetEarlyTriage, K as TelevetEmptyRosterView, aH as TelevetJoinBlock, aI as TelevetJoinDecision, O as TelevetJoinState, P as TelevetMediaRefusal, Q as TelevetRead, S as TelevetSlotHold, U as TelevetStateInterestReason, V as TelevetStatePolicy, W as TelevetTriageVerdict, X as TelevetWrite, Y as attestation, Z as canConfirm, _ as canManageTelevetVisit, $ as createTelevetBookingController, a0 as currentStep, a1 as emptyTelevetDraft, a2 as formatVisitRange, a3 as formatWhen, a4 as formatWhenWithDay, a5 as hasPreviousStep, a6 as initialTelevetBookingState, a7 as isHoldExpired, a8 as isMediaShortfallEmpty, a9 as isSkipped, aa as isTelevetBookingCopyReady, ab as isWellFormedStateCode, ac as mediaShortfallFromUnsentPicks, ad as splitTelevetVisits, ae as televetBookingKey, af as televetBookingReducer, ag as televetBookingRefusal, ah as televetCancelCall, ai as televetConsultCall, aj as televetEmptyRosterCause, ak as televetEmptyRosterView, al as televetHoldCall, am as televetJoinCall, aJ as televetJoinDecision, an as televetJoinOpensAtMs, ap as televetMediaShortfallLines, aq as televetRescheduleCall, ar as useEarlyTriage, as as useStateInterest, at as useTelevetBookConsult, au as useTelevetBookingAvailable, av as useTelevetBookingController, aw as useTelevetBookingEntitlement, ax as useTelevetCancellationPolicy, ay as useTelevetClinicians, az as useTelevetHoldSlot, aA as useTelevetJoin, aB as useTelevetNextSlot, aC as useTelevetRescheduleConsult, aD as useTelevetSlots, aE as useTelevetStatePolicy, aF as validateBookingBody, aG as withUnsentPicks } from '../../../bookingCopy-DfuA13dh.cjs';
4
+ import { c as TelevetBookingStep, d as TelevetBookingController, e as TelevetTriageRead, f as TelevetStateInterestWrite, T as TelevetEmptyRosterCause, a as TelevetStateInterestAction$1, b as TelevetMediaShortfall } from '../../../bookingCopy-ChZR5mtd.cjs';
5
+ export { C as CONSULT_MINUTES, N as NO_MEDIA_SHORTFALL, g as TELEVET_BOOKING_BASE, h as TELEVET_BOOKING_COPY, i as TELEVET_BOOKING_STEPS, j as TELEVET_CONSULT_PAGE_LIMIT, k as TELEVET_JOIN_CLOSES_MINUTES_AFTER, l as TELEVET_JOIN_OPENS_MINUTES_BEFORE, m as TelevetBookingAction, n as TelevetBookingContext, o as TelevetBookingControllerDeps, p as TelevetBookingCopy, q as TelevetBookingDraft, r as TelevetBookingFailure, s as TelevetBookingRefusal, t as TelevetBookingState, u as TelevetEarlyTriage, v as TelevetEmptyRosterView, ao as TelevetJoinBlock, ap as TelevetJoinDecision, x as TelevetJoinState, y as TelevetMediaRefusal, z as TelevetRead, A as TelevetStateInterestReason, B as TelevetTriageVerdict, D as TelevetWrite, E as attestation, F as canConfirm, G as canManageTelevetVisit, H as createTelevetBookingController, I as currentStep, J as emptyTelevetDraft, K as formatVisitRange, L as formatWhen, M as formatWhenWithDay, O as hasPreviousStep, P as initialTelevetBookingState, Q as isHoldExpired, R as isMediaShortfallEmpty, S as isSkipped, U as isTelevetBookingCopyReady, V as mediaShortfallFromUnsentPicks, W as splitTelevetVisits, X as televetBookingKey, Y as televetBookingReducer, Z as televetBookingRefusal, _ as televetCancelCall, $ as televetConsultCall, a0 as televetEmptyRosterCause, a1 as televetEmptyRosterView, a2 as televetHoldCall, a3 as televetJoinCall, aq as televetJoinDecision, a4 as televetJoinOpensAtMs, a6 as televetMediaShortfallLines, a7 as televetRescheduleCall, a8 as useEarlyTriage, a9 as useStateInterest, aa as useTelevetBookConsult, ab as useTelevetBookingAvailable, ac as useTelevetBookingController, ad as useTelevetBookingEntitlement, ae as useTelevetCancellationPolicy, af as useTelevetClinicians, ag as useTelevetHoldSlot, ah as useTelevetJoin, ai as useTelevetNextSlot, aj as useTelevetRescheduleConsult, ak as useTelevetSlots, al as useTelevetStatePolicy, am as validateBookingBody, an as withUnsentPicks } from '../../../bookingCopy-ChZR5mtd.cjs';
6
+ import { T as TelevetConsult, e as TelevetSlot } from '../../../bookingTypes-DCs8mmBb.cjs';
7
+ export { i as CANCELLATION_POLICY_VERSION_MAX, j as CANCEL_REASON_MAX, k as CONSULT_KINDS, l as CONSULT_STATUSES, m as ConsultKind, C as ConsultStatus, M as MEDIA_REFS_MAX, R as REASON_TEXT_MAX, n as TERMINAL_CONSULT_STATUSES, g as TelevetBookingBody, b as TelevetBookingEntitlement, h as TelevetCancelReceipt, c as TelevetCancellationPolicy, d as TelevetClinician, f as TelevetSlotHold, a as TelevetStatePolicy, o as isWellFormedStateCode } from '../../../bookingTypes-DCs8mmBb.cjs';
6
8
  import { V as VetVisitIntent } from '../../../visitIntent-D7_yVp1I.cjs';
7
9
  import { E as EverfurTelevetFlowRequest } from '../../../televetGlobal-CEk0_cW9.cjs';
10
+ import { T as TelevetCalendarWriter } from '../../../BookedScreen-Cnld-jB_.cjs';
11
+ export { b as TelevetBookedScreen, c as TelevetBookedScreenProps, a as TelevetCalendarEvent, t as televetConsultCalendarKey } from '../../../BookedScreen-Cnld-jB_.cjs';
8
12
  import { E as EverfurTheme } from '../../../tokens-CIngRkvt.cjs';
9
13
  export { b as VetCallCredential, c as VetCallJoinRefusal, d as VetCallLimits, p as parseVetCallCredential, v as vetCallJoinReason, e as vetCallJoinRefusal } from '../../../callRoom-B_EqaUzx.cjs';
10
14
  export { E as EverfurError, a as EverfurErrorCategory, b as EverfurErrorCode } from '../../../EverfurError-DmELDpXp.cjs';
11
15
  export { E as EverfurResult } from '../../../EverfurResult-ZtH-YV1h.cjs';
12
- export { W as WidgetPet } from '../../../petsRepository-DZZoEG3r.cjs';
13
- import '../../../requestFunnel-Djjwgoe9.cjs';
16
+ export { W as WidgetPet } from '../../../petsRepository-B3vr628I.cjs';
17
+ import '../../../requestFunnel-Dcjyh0j2.cjs';
14
18
  import '../../../ErrorPolicyPort-D6CybiqJ.cjs';
15
- import '../../../config-DAFbf721.cjs';
16
- import '../../../identity-C7uxGwfT.cjs';
19
+ import '../../../config-jocy3q66.cjs';
20
+ import '../../../identity-D7GKfOE7.cjs';
17
21
  import '../../../TelemetryPort-BDNr00hu.cjs';
18
22
  import '../../../profile-CSs1wlXT.cjs';
19
23
 
20
- /** The calendar entry a booked visit asks the host to write. */
21
- interface TelevetCalendarEvent {
22
- /**
23
- * A stable key for THIS consult's entry.
24
- *
25
- * Keyed on the CONSULT so a re-press updates the same entry rather than writing a second event for one
26
- * visit, and so a later cancel or reschedule can address the SAME row. A host that ignores the key writes
27
- * duplicates the owner has to clean up by hand.
28
- */
29
- readonly key: string;
30
- readonly title: string;
31
- readonly startDate: Date;
32
- readonly endDate: Date;
33
- /** The reminder offset in minutes, negative for "before". The platform queues its own at the same offset. */
34
- readonly alarmOffsetMinutes: number;
35
- }
36
- /** Writes the entry. Resolves true when it landed; false when the host has no calendar to write to. */
37
- type TelevetCalendarWriter = (event: TelevetCalendarEvent) => Promise<boolean>;
38
- /** The calendar key for a consult. One definition, so a cancel and a reschedule address the booked row. */
39
- declare function televetConsultCalendarKey(consultId: string): string;
40
- interface TelevetBookedScreenProps {
41
- readonly consult: TelevetConsult;
42
- readonly petName: string | null;
43
- readonly onDone: () => void;
44
- /** Absent, there is no Add to calendar control. */
45
- readonly onAddToCalendar?: TelevetCalendarWriter | undefined;
46
- /**
47
- * Has the host PROVEN it can host the call in place? Defaults to false.
48
- *
49
- * Fail closed: a host that has not said so is assumed not to have mounted the call surface, and the in-place
50
- * join promise is withheld rather than printed on a hope.
51
- */
52
- readonly canJoinInApp?: boolean;
53
- }
54
- declare function TelevetBookedScreen({ consult, petName, onDone, onAddToCalendar, canJoinInApp, }: TelevetBookedScreenProps): ReactNode;
55
-
56
24
  /** The heading levels the DOM has elements for. */
57
25
  type EverfurHeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
58
26
 
@@ -220,7 +188,8 @@ interface EverfurTelevetBookingProps {
220
188
  */
221
189
  readonly canJoinInApp?: boolean;
222
190
  /**
223
- * What to render when the partner booking surface is not served for this tenant.
191
+ * What to render when the partner booking surface is not served for this tenant, or when your televet
192
+ * allowance is off (the entitlement read answers `active: false`, or Confirm is refused with a 402).
224
193
  *
225
194
  * Absent, the paused card, inside the chrome whose Close is the way out. Nothing leaves the page by default;
226
195
  * a host that wants the hosted visit offered here passes `() => <VetVisitButton prefer="redirect" />`.
@@ -301,7 +270,10 @@ interface TelevetEntitlementInterestStateProps {
301
270
  /** Opens the state-scoped roster read and nothing else. Absent, the card stands alone. */
302
271
  readonly onCheckAvailability?: (() => void) | undefined;
303
272
  }
304
- /** THE SUBSCRIPTION TRUTH WITH THE ONE DELIBERATELY NON-BOOKING ESCAPE HATCH. See the RN sibling's docblock. */
273
+ /**
274
+ * THE PARTNER'S BOOKING IS PAUSED, WITH THE ONE DELIBERATELY NON-BOOKING ESCAPE HATCH. See the RN sibling's
275
+ * docblock for why this is the paused state and not a membership sentence.
276
+ */
305
277
  declare function TelevetEntitlementInterestState({ onCheckAvailability, }: TelevetEntitlementInterestStateProps): ReactNode;
306
278
  interface TelevetMediaDropNoticeProps {
307
279
  readonly shortfall: TelevetMediaShortfall;
@@ -431,25 +403,30 @@ interface EverfurTelevetDialogProps {
431
403
  readonly request: EverfurTelevetFlowRequest;
432
404
  /** Close the dialog. Called by the flow's own exits and by an Escape no screen handled. */
433
405
  readonly onClose: () => void;
406
+ /**
407
+ * Writes a booked visit into the member's calendar: `EverfurTelevetHost`'s `onAddToCalendar`, passed through.
408
+ * Given, the confirmation offers Add to Calendar; absent, it has no calendar control.
409
+ */
410
+ readonly onAddToCalendar?: TelevetCalendarWriter | undefined;
434
411
  }
435
412
  /** The in-page vet visit in a modal dialog. */
436
- declare function EverfurTelevetDialog({ request, onClose }: EverfurTelevetDialogProps): ReactNode;
413
+ declare function EverfurTelevetDialog({ request, onClose, onAddToCalendar }: EverfurTelevetDialogProps): ReactNode;
437
414
 
438
415
  interface TelevetJoinScreenProps {
439
416
  /** The consult to join. */
440
417
  readonly consultId: string;
441
418
  /** Host/test seam: inject a booking controller instead of building one from the provider's session. */
442
419
  readonly controller?: TelevetBookingController | undefined;
443
- /** Shown in the lobby while the clinician has not joined. Never invented. */
420
+ /** Accepted for parity with the native join screen; the web call draws Daily's frame only. */
444
421
  readonly clinicianName?: string | null | undefined;
445
- /** The pet's name for the lobby's prep line. */
422
+ /** Accepted for parity with the native join screen; the web call draws Daily's frame only. */
446
423
  readonly petName?: string | null | undefined;
447
424
  /** The way out: the member left the call, declined the notice, or pressed Leave on a refusal. */
448
425
  readonly onLeave: () => void;
449
426
  readonly style?: CSSProperties | undefined;
450
427
  }
451
- /** Mint the room credential for one consult and join it in the page. */
452
- declare function TelevetJoinScreen({ consultId, controller: injected, clinicianName, petName, onLeave, style }: TelevetJoinScreenProps): ReactNode;
428
+ /** Ask for the recording notice, then mint the room credential for one consult and join it in the page. */
429
+ declare function TelevetJoinScreen({ consultId, controller, onLeave, style }: TelevetJoinScreenProps): ReactNode;
453
430
 
454
431
  interface TelevetVisitsScreenProps {
455
432
  /** Host/test seam: inject a booking controller instead of building one from the provider's session. */
@@ -466,11 +443,17 @@ interface TelevetVisitsScreenProps {
466
443
  readonly isRoot?: boolean | undefined;
467
444
  /** Bumped by the flow after a booking, a move or a call, so the list is read again. */
468
445
  readonly revision?: number | undefined;
446
+ /**
447
+ * True when the member came BACK to the visits from a screen the flow pushed over them. The control they
448
+ * pressed went with that screen, so the list's first heading (or its error notice) takes focus once the list
449
+ * has loaded. Read once, when the screen mounts; false on the flow's first screen, which takes no focus.
450
+ */
451
+ readonly returnedTo?: boolean | undefined;
469
452
  /** Injected by tests, so the split and the window can sit on either side of a boundary. */
470
453
  readonly nowMs?: number | undefined;
471
454
  readonly style?: CSSProperties | undefined;
472
455
  }
473
- declare function TelevetVisitsScreen({ controller: injected, onJoin, onReschedule, onBook, onBack, isRoot, revision, nowMs, style, }: TelevetVisitsScreenProps): ReactNode;
456
+ declare function TelevetVisitsScreen({ controller: injected, onJoin, onReschedule, onBook, onBack, isRoot, revision, returnedTo, nowMs, style, }: TelevetVisitsScreenProps): ReactNode;
474
457
 
475
458
  type Css = CSSProperties;
476
459
  declare function makeVisitStyles(theme: EverfurTheme): {
@@ -725,6 +708,12 @@ interface TelevetSlotPickerProps {
725
708
  /** The slot whose hold is in flight, or null. Disables the whole grid. */
726
709
  readonly busySlotId: string | null;
727
710
  readonly onPick: (slot: TelevetSlot) => void;
711
+ /**
712
+ * The slot already chosen, if any. The strip opens on ITS day rather than on the first offered day, so a
713
+ * member who goes Back from a later step sees the day they picked and not the start of the window. Ignored
714
+ * when that day is not in `slots`.
715
+ */
716
+ readonly selectedSlot?: TelevetSlot | null;
728
717
  /** Rendered above the strip, for example a failure line from the container. */
729
718
  readonly header?: ReactNode;
730
719
  /**
@@ -738,7 +727,7 @@ interface TelevetSlotPickerProps {
738
727
  readonly rowTestIdPrefix?: string;
739
728
  readonly testID?: string;
740
729
  }
741
- declare function TelevetSlotPicker({ slots, busySlotId, onPick, header, dayGroupLabel, timeGroupLabel, rowTestIdPrefix, testID, }: TelevetSlotPickerProps): ReactNode;
730
+ declare function TelevetSlotPicker({ slots, busySlotId, onPick, selectedSlot, header, dayGroupLabel, timeGroupLabel, rowTestIdPrefix, testID, }: TelevetSlotPickerProps): ReactNode;
742
731
 
743
732
  /** One "label ... value" row in the summary card, as a bound `<dt>` / `<dd>` pair. */
744
733
  declare function TelevetSummaryRow({ label, value, last, testID, }: {
@@ -767,4 +756,4 @@ declare function TelevetSummaryCard({ children, testID }: {
767
756
  readonly testID?: string;
768
757
  }): ReactNode;
769
758
 
770
- export { BACK_LABEL, type EverfurHeadingLevel, EverfurTelevet, EverfurTelevetBooking, type EverfurTelevetBookingProps, EverfurTelevetDialog, type EverfurTelevetDialogProps, EverfurTelevetFlow, EverfurTelevetFlowRequest, type EverfurTelevetProps, EverfurTelevetReschedule, type EverfurTelevetRescheduleProps, PetRef, TELEVET_BOOKING_COPY_WEB, TELEVET_EMERGENCY_EXITS_WEB, TelevetBookedScreen, type TelevetBookedScreenProps, TelevetBookingChrome, type TelevetBookingChromeProps, TelevetBookingController, TelevetBookingStep, type TelevetCalendarEvent, type TelevetCalendarWriter, type TelevetCancelTerms, TelevetCancelVisitForm, type TelevetCancelVisitFormProps, TelevetClinicianEmptyState, type TelevetClinicianEmptyStateProps, TelevetConsentCheckbox, TelevetConsult, type TelevetDay, TelevetDayStrip, type TelevetDayStripProps, type TelevetDiscardConfirm, TelevetEarlyEmergency, type TelevetEarlyEmergencyProps, TelevetEmergencyExits, type TelevetEmergencyExitsProps, TelevetEmptyRosterCause, TelevetEntitlementInterestState, type TelevetEntitlementInterestStateProps, type TelevetHistoryMode, TelevetIntakeMedia, type TelevetIntakeMediaItem, type TelevetIntakeMediaProps, TelevetJoinScreen, type TelevetJoinScreenProps, type TelevetLocationStatus, TelevetMediaDropNotice, type TelevetMediaDropNoticeProps, type TelevetMediaPicker, TelevetMediaShortfall, type TelevetPrimaryVet, type TelevetScreen, TelevetSlot, TelevetSlotPicker, type TelevetSlotPickerProps, TelevetStateInterestAction, type TelevetStateInterestActionProps, TelevetStateInterestAction$1 as TelevetStateInterestLifecycle, TelevetStateInterestWrite, TelevetSummaryCard, TelevetSummaryRow, TelevetTriageRead, TelevetVisitsScreen, type TelevetVisitsScreenProps, VetVisitIntent, televetConsultCalendarKey, televetDaysFromSlots, televetScreenForRequest };
759
+ export { BACK_LABEL, type EverfurHeadingLevel, EverfurTelevet, EverfurTelevetBooking, type EverfurTelevetBookingProps, EverfurTelevetDialog, type EverfurTelevetDialogProps, EverfurTelevetFlow, EverfurTelevetFlowRequest, type EverfurTelevetProps, EverfurTelevetReschedule, type EverfurTelevetRescheduleProps, PetRef, TELEVET_BOOKING_COPY_WEB, TELEVET_EMERGENCY_EXITS_WEB, TelevetBookingChrome, type TelevetBookingChromeProps, TelevetBookingController, TelevetBookingStep, TelevetCalendarWriter, type TelevetCancelTerms, TelevetCancelVisitForm, type TelevetCancelVisitFormProps, TelevetClinicianEmptyState, type TelevetClinicianEmptyStateProps, TelevetConsentCheckbox, TelevetConsult, type TelevetDay, TelevetDayStrip, type TelevetDayStripProps, type TelevetDiscardConfirm, TelevetEarlyEmergency, type TelevetEarlyEmergencyProps, TelevetEmergencyExits, type TelevetEmergencyExitsProps, TelevetEmptyRosterCause, TelevetEntitlementInterestState, type TelevetEntitlementInterestStateProps, type TelevetHistoryMode, TelevetIntakeMedia, type TelevetIntakeMediaItem, type TelevetIntakeMediaProps, TelevetJoinScreen, type TelevetJoinScreenProps, type TelevetLocationStatus, TelevetMediaDropNotice, type TelevetMediaDropNoticeProps, type TelevetMediaPicker, TelevetMediaShortfall, type TelevetPrimaryVet, type TelevetScreen, TelevetSlot, TelevetSlotPicker, type TelevetSlotPickerProps, TelevetStateInterestAction, type TelevetStateInterestActionProps, TelevetStateInterestAction$1 as TelevetStateInterestLifecycle, TelevetStateInterestWrite, TelevetSummaryCard, TelevetSummaryRow, TelevetTriageRead, TelevetVisitsScreen, type TelevetVisitsScreenProps, VetVisitIntent, televetDaysFromSlots, televetScreenForRequest };
@@ -1,58 +1,26 @@
1
1
  import { ReactNode, CSSProperties } from 'react';
2
2
  import { P as PetRef } from '../../../ids-B2GAAifq.js';
3
3
  export { B as Brand, _ as __brand } from '../../../ids-B2GAAifq.js';
4
- import { c as TelevetConsult, d as TelevetBookingStep, e as TelevetBookingController, f as TelevetTriageRead, g as TelevetStateInterestWrite, T as TelevetEmptyRosterCause, a as TelevetStateInterestAction$1, b as TelevetMediaShortfall, i as TelevetSlot } from '../../../bookingCopy-CJir9mjb.js';
5
- export { C as CANCELLATION_POLICY_VERSION_MAX, j as CANCEL_REASON_MAX, k as CONSULT_KINDS, l as CONSULT_MINUTES, m as CONSULT_STATUSES, n as ConsultKind, o as ConsultStatus, M as MEDIA_REFS_MAX, N as NO_MEDIA_SHORTFALL, R as REASON_TEXT_MAX, p as TELEVET_BOOKING_BASE, q as TELEVET_BOOKING_COPY, r as TELEVET_BOOKING_STEPS, s as TELEVET_CONSULT_PAGE_LIMIT, t as TELEVET_JOIN_CLOSES_MINUTES_AFTER, u as TELEVET_JOIN_OPENS_MINUTES_BEFORE, v as TERMINAL_CONSULT_STATUSES, w as TelevetBookingAction, x as TelevetBookingBody, y as TelevetBookingContext, z as TelevetBookingControllerDeps, A as TelevetBookingCopy, B as TelevetBookingDraft, D as TelevetBookingEntitlement, E as TelevetBookingFailure, F as TelevetBookingRefusal, G as TelevetBookingState, h as TelevetCancelReceipt, H as TelevetCancellationPolicy, I as TelevetClinician, J as TelevetEarlyTriage, K as TelevetEmptyRosterView, aH as TelevetJoinBlock, aI as TelevetJoinDecision, O as TelevetJoinState, P as TelevetMediaRefusal, Q as TelevetRead, S as TelevetSlotHold, U as TelevetStateInterestReason, V as TelevetStatePolicy, W as TelevetTriageVerdict, X as TelevetWrite, Y as attestation, Z as canConfirm, _ as canManageTelevetVisit, $ as createTelevetBookingController, a0 as currentStep, a1 as emptyTelevetDraft, a2 as formatVisitRange, a3 as formatWhen, a4 as formatWhenWithDay, a5 as hasPreviousStep, a6 as initialTelevetBookingState, a7 as isHoldExpired, a8 as isMediaShortfallEmpty, a9 as isSkipped, aa as isTelevetBookingCopyReady, ab as isWellFormedStateCode, ac as mediaShortfallFromUnsentPicks, ad as splitTelevetVisits, ae as televetBookingKey, af as televetBookingReducer, ag as televetBookingRefusal, ah as televetCancelCall, ai as televetConsultCall, aj as televetEmptyRosterCause, ak as televetEmptyRosterView, al as televetHoldCall, am as televetJoinCall, aJ as televetJoinDecision, an as televetJoinOpensAtMs, ap as televetMediaShortfallLines, aq as televetRescheduleCall, ar as useEarlyTriage, as as useStateInterest, at as useTelevetBookConsult, au as useTelevetBookingAvailable, av as useTelevetBookingController, aw as useTelevetBookingEntitlement, ax as useTelevetCancellationPolicy, ay as useTelevetClinicians, az as useTelevetHoldSlot, aA as useTelevetJoin, aB as useTelevetNextSlot, aC as useTelevetRescheduleConsult, aD as useTelevetSlots, aE as useTelevetStatePolicy, aF as validateBookingBody, aG as withUnsentPicks } from '../../../bookingCopy-CJir9mjb.js';
4
+ import { c as TelevetBookingStep, d as TelevetBookingController, e as TelevetTriageRead, f as TelevetStateInterestWrite, T as TelevetEmptyRosterCause, a as TelevetStateInterestAction$1, b as TelevetMediaShortfall } from '../../../bookingCopy-BVhEt1bj.js';
5
+ export { C as CONSULT_MINUTES, N as NO_MEDIA_SHORTFALL, g as TELEVET_BOOKING_BASE, h as TELEVET_BOOKING_COPY, i as TELEVET_BOOKING_STEPS, j as TELEVET_CONSULT_PAGE_LIMIT, k as TELEVET_JOIN_CLOSES_MINUTES_AFTER, l as TELEVET_JOIN_OPENS_MINUTES_BEFORE, m as TelevetBookingAction, n as TelevetBookingContext, o as TelevetBookingControllerDeps, p as TelevetBookingCopy, q as TelevetBookingDraft, r as TelevetBookingFailure, s as TelevetBookingRefusal, t as TelevetBookingState, u as TelevetEarlyTriage, v as TelevetEmptyRosterView, ao as TelevetJoinBlock, ap as TelevetJoinDecision, x as TelevetJoinState, y as TelevetMediaRefusal, z as TelevetRead, A as TelevetStateInterestReason, B as TelevetTriageVerdict, D as TelevetWrite, E as attestation, F as canConfirm, G as canManageTelevetVisit, H as createTelevetBookingController, I as currentStep, J as emptyTelevetDraft, K as formatVisitRange, L as formatWhen, M as formatWhenWithDay, O as hasPreviousStep, P as initialTelevetBookingState, Q as isHoldExpired, R as isMediaShortfallEmpty, S as isSkipped, U as isTelevetBookingCopyReady, V as mediaShortfallFromUnsentPicks, W as splitTelevetVisits, X as televetBookingKey, Y as televetBookingReducer, Z as televetBookingRefusal, _ as televetCancelCall, $ as televetConsultCall, a0 as televetEmptyRosterCause, a1 as televetEmptyRosterView, a2 as televetHoldCall, a3 as televetJoinCall, aq as televetJoinDecision, a4 as televetJoinOpensAtMs, a6 as televetMediaShortfallLines, a7 as televetRescheduleCall, a8 as useEarlyTriage, a9 as useStateInterest, aa as useTelevetBookConsult, ab as useTelevetBookingAvailable, ac as useTelevetBookingController, ad as useTelevetBookingEntitlement, ae as useTelevetCancellationPolicy, af as useTelevetClinicians, ag as useTelevetHoldSlot, ah as useTelevetJoin, ai as useTelevetNextSlot, aj as useTelevetRescheduleConsult, ak as useTelevetSlots, al as useTelevetStatePolicy, am as validateBookingBody, an as withUnsentPicks } from '../../../bookingCopy-BVhEt1bj.js';
6
+ import { T as TelevetConsult, e as TelevetSlot } from '../../../bookingTypes-DCs8mmBb.js';
7
+ export { i as CANCELLATION_POLICY_VERSION_MAX, j as CANCEL_REASON_MAX, k as CONSULT_KINDS, l as CONSULT_STATUSES, m as ConsultKind, C as ConsultStatus, M as MEDIA_REFS_MAX, R as REASON_TEXT_MAX, n as TERMINAL_CONSULT_STATUSES, g as TelevetBookingBody, b as TelevetBookingEntitlement, h as TelevetCancelReceipt, c as TelevetCancellationPolicy, d as TelevetClinician, f as TelevetSlotHold, a as TelevetStatePolicy, o as isWellFormedStateCode } from '../../../bookingTypes-DCs8mmBb.js';
6
8
  import { V as VetVisitIntent } from '../../../visitIntent-D7_yVp1I.js';
7
9
  import { E as EverfurTelevetFlowRequest } from '../../../televetGlobal-Cs9Wbqsy.js';
10
+ import { T as TelevetCalendarWriter } from '../../../BookedScreen-BJPbXLCG.js';
11
+ export { b as TelevetBookedScreen, c as TelevetBookedScreenProps, a as TelevetCalendarEvent, t as televetConsultCalendarKey } from '../../../BookedScreen-BJPbXLCG.js';
8
12
  import { E as EverfurTheme } from '../../../tokens-CIngRkvt.js';
9
13
  export { b as VetCallCredential, c as VetCallJoinRefusal, d as VetCallLimits, p as parseVetCallCredential, v as vetCallJoinReason, e as vetCallJoinRefusal } from '../../../callRoom-7wrE3RP2.js';
10
14
  export { E as EverfurError, a as EverfurErrorCategory, b as EverfurErrorCode } from '../../../EverfurError-DmELDpXp.js';
11
15
  export { E as EverfurResult } from '../../../EverfurResult-SGvHKsCB.js';
12
- export { W as WidgetPet } from '../../../petsRepository-BjKJ8UsN.js';
13
- import '../../../requestFunnel-D7ipek3e.js';
16
+ export { W as WidgetPet } from '../../../petsRepository-DdzgINfF.js';
17
+ import '../../../requestFunnel-CTG-wNc3.js';
14
18
  import '../../../ErrorPolicyPort-D22LUVrK.js';
15
- import '../../../config-ClI7QxB0.js';
16
- import '../../../identity-CLAUq-K4.js';
19
+ import '../../../config-DBpKJJbg.js';
20
+ import '../../../identity-k8nCQ_qM.js';
17
21
  import '../../../TelemetryPort-BDNr00hu.js';
18
22
  import '../../../profile-CSs1wlXT.js';
19
23
 
20
- /** The calendar entry a booked visit asks the host to write. */
21
- interface TelevetCalendarEvent {
22
- /**
23
- * A stable key for THIS consult's entry.
24
- *
25
- * Keyed on the CONSULT so a re-press updates the same entry rather than writing a second event for one
26
- * visit, and so a later cancel or reschedule can address the SAME row. A host that ignores the key writes
27
- * duplicates the owner has to clean up by hand.
28
- */
29
- readonly key: string;
30
- readonly title: string;
31
- readonly startDate: Date;
32
- readonly endDate: Date;
33
- /** The reminder offset in minutes, negative for "before". The platform queues its own at the same offset. */
34
- readonly alarmOffsetMinutes: number;
35
- }
36
- /** Writes the entry. Resolves true when it landed; false when the host has no calendar to write to. */
37
- type TelevetCalendarWriter = (event: TelevetCalendarEvent) => Promise<boolean>;
38
- /** The calendar key for a consult. One definition, so a cancel and a reschedule address the booked row. */
39
- declare function televetConsultCalendarKey(consultId: string): string;
40
- interface TelevetBookedScreenProps {
41
- readonly consult: TelevetConsult;
42
- readonly petName: string | null;
43
- readonly onDone: () => void;
44
- /** Absent, there is no Add to calendar control. */
45
- readonly onAddToCalendar?: TelevetCalendarWriter | undefined;
46
- /**
47
- * Has the host PROVEN it can host the call in place? Defaults to false.
48
- *
49
- * Fail closed: a host that has not said so is assumed not to have mounted the call surface, and the in-place
50
- * join promise is withheld rather than printed on a hope.
51
- */
52
- readonly canJoinInApp?: boolean;
53
- }
54
- declare function TelevetBookedScreen({ consult, petName, onDone, onAddToCalendar, canJoinInApp, }: TelevetBookedScreenProps): ReactNode;
55
-
56
24
  /** The heading levels the DOM has elements for. */
57
25
  type EverfurHeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
58
26
 
@@ -220,7 +188,8 @@ interface EverfurTelevetBookingProps {
220
188
  */
221
189
  readonly canJoinInApp?: boolean;
222
190
  /**
223
- * What to render when the partner booking surface is not served for this tenant.
191
+ * What to render when the partner booking surface is not served for this tenant, or when your televet
192
+ * allowance is off (the entitlement read answers `active: false`, or Confirm is refused with a 402).
224
193
  *
225
194
  * Absent, the paused card, inside the chrome whose Close is the way out. Nothing leaves the page by default;
226
195
  * a host that wants the hosted visit offered here passes `() => <VetVisitButton prefer="redirect" />`.
@@ -301,7 +270,10 @@ interface TelevetEntitlementInterestStateProps {
301
270
  /** Opens the state-scoped roster read and nothing else. Absent, the card stands alone. */
302
271
  readonly onCheckAvailability?: (() => void) | undefined;
303
272
  }
304
- /** THE SUBSCRIPTION TRUTH WITH THE ONE DELIBERATELY NON-BOOKING ESCAPE HATCH. See the RN sibling's docblock. */
273
+ /**
274
+ * THE PARTNER'S BOOKING IS PAUSED, WITH THE ONE DELIBERATELY NON-BOOKING ESCAPE HATCH. See the RN sibling's
275
+ * docblock for why this is the paused state and not a membership sentence.
276
+ */
305
277
  declare function TelevetEntitlementInterestState({ onCheckAvailability, }: TelevetEntitlementInterestStateProps): ReactNode;
306
278
  interface TelevetMediaDropNoticeProps {
307
279
  readonly shortfall: TelevetMediaShortfall;
@@ -431,25 +403,30 @@ interface EverfurTelevetDialogProps {
431
403
  readonly request: EverfurTelevetFlowRequest;
432
404
  /** Close the dialog. Called by the flow's own exits and by an Escape no screen handled. */
433
405
  readonly onClose: () => void;
406
+ /**
407
+ * Writes a booked visit into the member's calendar: `EverfurTelevetHost`'s `onAddToCalendar`, passed through.
408
+ * Given, the confirmation offers Add to Calendar; absent, it has no calendar control.
409
+ */
410
+ readonly onAddToCalendar?: TelevetCalendarWriter | undefined;
434
411
  }
435
412
  /** The in-page vet visit in a modal dialog. */
436
- declare function EverfurTelevetDialog({ request, onClose }: EverfurTelevetDialogProps): ReactNode;
413
+ declare function EverfurTelevetDialog({ request, onClose, onAddToCalendar }: EverfurTelevetDialogProps): ReactNode;
437
414
 
438
415
  interface TelevetJoinScreenProps {
439
416
  /** The consult to join. */
440
417
  readonly consultId: string;
441
418
  /** Host/test seam: inject a booking controller instead of building one from the provider's session. */
442
419
  readonly controller?: TelevetBookingController | undefined;
443
- /** Shown in the lobby while the clinician has not joined. Never invented. */
420
+ /** Accepted for parity with the native join screen; the web call draws Daily's frame only. */
444
421
  readonly clinicianName?: string | null | undefined;
445
- /** The pet's name for the lobby's prep line. */
422
+ /** Accepted for parity with the native join screen; the web call draws Daily's frame only. */
446
423
  readonly petName?: string | null | undefined;
447
424
  /** The way out: the member left the call, declined the notice, or pressed Leave on a refusal. */
448
425
  readonly onLeave: () => void;
449
426
  readonly style?: CSSProperties | undefined;
450
427
  }
451
- /** Mint the room credential for one consult and join it in the page. */
452
- declare function TelevetJoinScreen({ consultId, controller: injected, clinicianName, petName, onLeave, style }: TelevetJoinScreenProps): ReactNode;
428
+ /** Ask for the recording notice, then mint the room credential for one consult and join it in the page. */
429
+ declare function TelevetJoinScreen({ consultId, controller, onLeave, style }: TelevetJoinScreenProps): ReactNode;
453
430
 
454
431
  interface TelevetVisitsScreenProps {
455
432
  /** Host/test seam: inject a booking controller instead of building one from the provider's session. */
@@ -466,11 +443,17 @@ interface TelevetVisitsScreenProps {
466
443
  readonly isRoot?: boolean | undefined;
467
444
  /** Bumped by the flow after a booking, a move or a call, so the list is read again. */
468
445
  readonly revision?: number | undefined;
446
+ /**
447
+ * True when the member came BACK to the visits from a screen the flow pushed over them. The control they
448
+ * pressed went with that screen, so the list's first heading (or its error notice) takes focus once the list
449
+ * has loaded. Read once, when the screen mounts; false on the flow's first screen, which takes no focus.
450
+ */
451
+ readonly returnedTo?: boolean | undefined;
469
452
  /** Injected by tests, so the split and the window can sit on either side of a boundary. */
470
453
  readonly nowMs?: number | undefined;
471
454
  readonly style?: CSSProperties | undefined;
472
455
  }
473
- declare function TelevetVisitsScreen({ controller: injected, onJoin, onReschedule, onBook, onBack, isRoot, revision, nowMs, style, }: TelevetVisitsScreenProps): ReactNode;
456
+ declare function TelevetVisitsScreen({ controller: injected, onJoin, onReschedule, onBook, onBack, isRoot, revision, returnedTo, nowMs, style, }: TelevetVisitsScreenProps): ReactNode;
474
457
 
475
458
  type Css = CSSProperties;
476
459
  declare function makeVisitStyles(theme: EverfurTheme): {
@@ -725,6 +708,12 @@ interface TelevetSlotPickerProps {
725
708
  /** The slot whose hold is in flight, or null. Disables the whole grid. */
726
709
  readonly busySlotId: string | null;
727
710
  readonly onPick: (slot: TelevetSlot) => void;
711
+ /**
712
+ * The slot already chosen, if any. The strip opens on ITS day rather than on the first offered day, so a
713
+ * member who goes Back from a later step sees the day they picked and not the start of the window. Ignored
714
+ * when that day is not in `slots`.
715
+ */
716
+ readonly selectedSlot?: TelevetSlot | null;
728
717
  /** Rendered above the strip, for example a failure line from the container. */
729
718
  readonly header?: ReactNode;
730
719
  /**
@@ -738,7 +727,7 @@ interface TelevetSlotPickerProps {
738
727
  readonly rowTestIdPrefix?: string;
739
728
  readonly testID?: string;
740
729
  }
741
- declare function TelevetSlotPicker({ slots, busySlotId, onPick, header, dayGroupLabel, timeGroupLabel, rowTestIdPrefix, testID, }: TelevetSlotPickerProps): ReactNode;
730
+ declare function TelevetSlotPicker({ slots, busySlotId, onPick, selectedSlot, header, dayGroupLabel, timeGroupLabel, rowTestIdPrefix, testID, }: TelevetSlotPickerProps): ReactNode;
742
731
 
743
732
  /** One "label ... value" row in the summary card, as a bound `<dt>` / `<dd>` pair. */
744
733
  declare function TelevetSummaryRow({ label, value, last, testID, }: {
@@ -767,4 +756,4 @@ declare function TelevetSummaryCard({ children, testID }: {
767
756
  readonly testID?: string;
768
757
  }): ReactNode;
769
758
 
770
- export { BACK_LABEL, type EverfurHeadingLevel, EverfurTelevet, EverfurTelevetBooking, type EverfurTelevetBookingProps, EverfurTelevetDialog, type EverfurTelevetDialogProps, EverfurTelevetFlow, EverfurTelevetFlowRequest, type EverfurTelevetProps, EverfurTelevetReschedule, type EverfurTelevetRescheduleProps, PetRef, TELEVET_BOOKING_COPY_WEB, TELEVET_EMERGENCY_EXITS_WEB, TelevetBookedScreen, type TelevetBookedScreenProps, TelevetBookingChrome, type TelevetBookingChromeProps, TelevetBookingController, TelevetBookingStep, type TelevetCalendarEvent, type TelevetCalendarWriter, type TelevetCancelTerms, TelevetCancelVisitForm, type TelevetCancelVisitFormProps, TelevetClinicianEmptyState, type TelevetClinicianEmptyStateProps, TelevetConsentCheckbox, TelevetConsult, type TelevetDay, TelevetDayStrip, type TelevetDayStripProps, type TelevetDiscardConfirm, TelevetEarlyEmergency, type TelevetEarlyEmergencyProps, TelevetEmergencyExits, type TelevetEmergencyExitsProps, TelevetEmptyRosterCause, TelevetEntitlementInterestState, type TelevetEntitlementInterestStateProps, type TelevetHistoryMode, TelevetIntakeMedia, type TelevetIntakeMediaItem, type TelevetIntakeMediaProps, TelevetJoinScreen, type TelevetJoinScreenProps, type TelevetLocationStatus, TelevetMediaDropNotice, type TelevetMediaDropNoticeProps, type TelevetMediaPicker, TelevetMediaShortfall, type TelevetPrimaryVet, type TelevetScreen, TelevetSlot, TelevetSlotPicker, type TelevetSlotPickerProps, TelevetStateInterestAction, type TelevetStateInterestActionProps, TelevetStateInterestAction$1 as TelevetStateInterestLifecycle, TelevetStateInterestWrite, TelevetSummaryCard, TelevetSummaryRow, TelevetTriageRead, TelevetVisitsScreen, type TelevetVisitsScreenProps, VetVisitIntent, televetConsultCalendarKey, televetDaysFromSlots, televetScreenForRequest };
759
+ export { BACK_LABEL, type EverfurHeadingLevel, EverfurTelevet, EverfurTelevetBooking, type EverfurTelevetBookingProps, EverfurTelevetDialog, type EverfurTelevetDialogProps, EverfurTelevetFlow, EverfurTelevetFlowRequest, type EverfurTelevetProps, EverfurTelevetReschedule, type EverfurTelevetRescheduleProps, PetRef, TELEVET_BOOKING_COPY_WEB, TELEVET_EMERGENCY_EXITS_WEB, TelevetBookingChrome, type TelevetBookingChromeProps, TelevetBookingController, TelevetBookingStep, TelevetCalendarWriter, type TelevetCancelTerms, TelevetCancelVisitForm, type TelevetCancelVisitFormProps, TelevetClinicianEmptyState, type TelevetClinicianEmptyStateProps, TelevetConsentCheckbox, TelevetConsult, type TelevetDay, TelevetDayStrip, type TelevetDayStripProps, type TelevetDiscardConfirm, TelevetEarlyEmergency, type TelevetEarlyEmergencyProps, TelevetEmergencyExits, type TelevetEmergencyExitsProps, TelevetEmptyRosterCause, TelevetEntitlementInterestState, type TelevetEntitlementInterestStateProps, type TelevetHistoryMode, TelevetIntakeMedia, type TelevetIntakeMediaItem, type TelevetIntakeMediaProps, TelevetJoinScreen, type TelevetJoinScreenProps, type TelevetLocationStatus, TelevetMediaDropNotice, type TelevetMediaDropNoticeProps, type TelevetMediaPicker, TelevetMediaShortfall, type TelevetPrimaryVet, type TelevetScreen, TelevetSlot, TelevetSlotPicker, type TelevetSlotPickerProps, TelevetStateInterestAction, type TelevetStateInterestActionProps, TelevetStateInterestAction$1 as TelevetStateInterestLifecycle, TelevetStateInterestWrite, TelevetSummaryCard, TelevetSummaryRow, TelevetTriageRead, TelevetVisitsScreen, type TelevetVisitsScreenProps, VetVisitIntent, televetDaysFromSlots, televetScreenForRequest };