@everfur/sdk 0.5.9 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +279 -0
- package/dist/{BookedScreen-BJPbXLCG.d.ts → BookedScreen-DFJcgf1e.d.ts} +12 -2
- package/dist/{BookedScreen-Cnld-jB_.d.cts → BookedScreen-R5X_Zrlh.d.cts} +12 -2
- package/dist/{Chat-C9dVhnyt.d.ts → Chat-DZpYH8Uh.d.ts} +4 -4
- package/dist/{Chat-WmdRwC3b.d.cts → Chat-bATY4atj.d.cts} +4 -4
- package/dist/{DepthViews-CBoI9EYy.d.ts → DepthViews-BpHUbjSY.d.cts} +1 -1
- package/dist/{DepthViews-CmxhM8iP.d.ts → DepthViews-C4DC4Kom.d.cts} +1 -1
- package/dist/{DepthViews-NPFtO5Kz.d.cts → DepthViews-dLTizxjr.d.ts} +1 -1
- package/dist/{DepthViews-DoODlUnQ.d.cts → DepthViews-qBIoA48w.d.ts} +1 -1
- package/dist/animations/index.cjs +1 -1
- package/dist/animations/index.d.cts +3 -3
- package/dist/animations/index.d.ts +3 -3
- package/dist/animations/index.js +1 -1
- package/dist/{attachments-R2oajKPT.d.ts → attachments-CPRFfoHT.d.ts} +2 -2
- package/dist/{attachments-c4mJcIWU.d.cts → attachments-CUOGILir.d.cts} +5 -5
- package/dist/{attachments-CuFT1o5q.d.ts → attachments-CXAnZcEg.d.ts} +5 -5
- package/dist/{attachments-OaW36D0H.d.cts → attachments-Ce06TWqe.d.cts} +2 -2
- package/dist/{bookingCopy-DGQPrisa.d.cts → bookingCopy-BwVopcoV.d.cts} +451 -50
- package/dist/{bookingCopy-EtPJ4nME.d.ts → bookingCopy-DFTv9w6J.d.ts} +451 -50
- package/dist/{bookingTypes-DCs8mmBb.d.cts → bookingTypes-D4pD3tHs.d.cts} +13 -1
- package/dist/{bookingTypes-DCs8mmBb.d.ts → bookingTypes-D4pD3tHs.d.ts} +13 -1
- package/dist/{branding-Ry0em51L.d.ts → branding-Bio5MM6g.d.cts} +135 -3
- package/dist/{branding-DiaCIJZL.d.cts → branding-ytH4jJq1.d.ts} +135 -3
- package/dist/{callCopy-CPe9mbwG.d.cts → callCopy-DHjem0R-.d.cts} +12 -1
- package/dist/{callCopy-CPe9mbwG.d.ts → callCopy-DHjem0R-.d.ts} +12 -1
- package/dist/{casesRepository-DB5c8AAo.d.cts → casesRepository-CJchNp3x.d.cts} +1 -1
- package/dist/{casesRepository-Cu8h8gQK.d.ts → casesRepository-DAVcY3jC.d.ts} +1 -1
- package/dist/chat/index.cjs +1 -1
- package/dist/chat/index.d.cts +9 -9
- package/dist/chat/index.d.ts +9 -9
- package/dist/chat/index.js +1 -1
- package/dist/client/index.cjs +6 -6
- package/dist/client/index.d.cts +10 -10
- package/dist/client/index.d.ts +10 -10
- package/dist/client/index.js +6 -6
- package/dist/{config-DlR_I-0S.d.ts → config-ZxwCylac.d.ts} +1 -1
- package/dist/{config-DQFMkaTU.d.cts → config-h5h6TsHL.d.cts} +1 -1
- package/dist/consent/index.cjs +1 -1
- package/dist/consent/index.d.cts +5 -5
- package/dist/consent/index.d.ts +5 -5
- package/dist/consent/index.js +1 -1
- package/dist/{context-DZEieVJ5.d.cts → context-CtsAgJnc.d.cts} +7 -7
- package/dist/{context-CLuquPRB.d.ts → context-DtPIshVA.d.ts} +7 -7
- package/dist/{copy-B2DOzSSy.d.cts → copy-CaWaplQc.d.cts} +2 -2
- package/dist/{copy-ptTCT5-J.d.ts → copy-Cg89Qoal.d.ts} +2 -2
- package/dist/core/index.cjs +9 -9
- package/dist/core/index.d.cts +21 -21
- package/dist/core/index.d.ts +21 -21
- package/dist/core/index.js +9 -9
- package/dist/{depth-CtyC7HOF.d.ts → depth-Bo4bAwcn.d.ts} +132 -38
- package/dist/{depth-DuOyvthD.d.cts → depth-EXZYEO70.d.cts} +132 -38
- package/dist/{entitlementRepository-DlGwxZ1k.d.cts → entitlementRepository-BYtVb1oU.d.cts} +3 -3
- package/dist/{entitlementRepository-CAtyh8Xt.d.ts → entitlementRepository-DcbIx8yV.d.ts} +3 -3
- package/dist/{identity-D_NR9ucT.d.ts → identity-EC5-apbY.d.ts} +1 -1
- package/dist/{identity-BC9AF3y4.d.cts → identity-b5Vp32Vp.d.cts} +1 -1
- package/dist/index.cjs +6 -6
- package/dist/index.d.cts +17 -17
- package/dist/index.d.ts +17 -17
- package/dist/index.js +6 -6
- package/dist/notifications/index.d.cts +2 -2
- package/dist/notifications/index.d.ts +2 -2
- package/dist/{pets-DuuNvKTK.d.ts → pets-B_27_agU.d.ts} +1 -1
- package/dist/{pets-D7UjvR1A.d.cts → pets-DM8QvKLo.d.cts} +1 -1
- package/dist/{petsRepository-llMvpMkp.d.cts → petsRepository-BJsJ4cju.d.cts} +1 -1
- package/dist/{petsRepository-C28NKFwy.d.ts → petsRepository-CuYZZaI5.d.ts} +1 -1
- package/dist/photo/index.cjs +1 -1
- package/dist/photo/index.js +1 -1
- package/dist/{ports-Dbw2h_M1.d.cts → ports-ZmJYgd5I.d.cts} +10 -9
- package/dist/{ports-s45HNNyc.d.ts → ports-nXHf50_X.d.ts} +10 -9
- package/dist/records/depth/index.cjs +2 -2
- package/dist/records/depth/index.d.cts +7 -7
- package/dist/records/depth/index.d.ts +7 -7
- package/dist/records/depth/index.js +2 -2
- package/dist/records/index.cjs +3 -3
- package/dist/records/index.d.cts +19 -10
- package/dist/records/index.d.ts +19 -10
- package/dist/records/index.js +3 -3
- package/dist/{requestFunnel-D_o7se38.d.cts → requestFunnel-C_cZXhIA.d.cts} +2 -2
- package/dist/{requestFunnel-CqwOiZNJ.d.ts → requestFunnel-Ve9BshTB.d.ts} +2 -2
- package/dist/{runtimeTypes-DS0RLoKN.d.ts → runtimeTypes-ByKsp8hm.d.ts} +5 -5
- package/dist/{runtimeTypes-BNBENMkz.d.cts → runtimeTypes-D155OlBW.d.cts} +5 -5
- package/dist/server/events/index.cjs +1 -1
- package/dist/server/events/index.d.cts +2 -2
- package/dist/server/events/index.d.ts +2 -2
- package/dist/server/events/index.js +1 -1
- package/dist/server/index.cjs +1 -1
- package/dist/server/index.d.cts +3 -3
- package/dist/server/index.d.ts +3 -3
- package/dist/server/index.js +1 -1
- package/dist/televet/booking/index.cjs +4 -1
- package/dist/televet/booking/index.d.cts +116 -29
- package/dist/televet/booking/index.d.ts +116 -29
- package/dist/televet/booking/index.js +4 -1
- package/dist/televet/call/index.cjs +1 -1
- package/dist/televet/call/index.d.cts +1 -1
- package/dist/televet/call/index.d.ts +1 -1
- package/dist/televet/call/index.js +1 -1
- package/dist/televet/index.cjs +1 -1
- package/dist/televet/index.js +1 -1
- package/dist/testing/index.cjs +3 -3
- package/dist/testing/index.d.cts +1 -1
- package/dist/testing/index.d.ts +1 -1
- package/dist/testing/index.js +3 -3
- package/dist/testing/rn/index.cjs +1 -1
- package/dist/testing/rn/index.d.cts +14 -12
- package/dist/testing/rn/index.d.ts +14 -12
- package/dist/testing/rn/index.js +1 -1
- package/dist/testing/web/index.d.cts +9 -9
- package/dist/testing/web/index.d.ts +9 -9
- package/dist/{timelineRows-B6nCq30k.d.cts → timelineRows-BNF43SXK.d.cts} +1 -1
- package/dist/{timelineRows-DacfDpDU.d.ts → timelineRows-DXpjECfA.d.ts} +1 -1
- package/dist/{tokens-DOTIxrws.d.cts → tokens-BYtbKwFh.d.cts} +12 -4
- package/dist/{tokens-DOTIxrws.d.ts → tokens-BYtbKwFh.d.ts} +12 -4
- package/dist/{typeStyle-achxqQ-h.d.cts → typeStyle-BqfwxZH4.d.cts} +2 -2
- package/dist/{typeStyle-DROhJNkh.d.ts → typeStyle-DKz02DGU.d.ts} +2 -2
- package/dist/{uploadTransport-C1p8FuG8.d.cts → uploadTransport-BM_pnEWj.d.cts} +5 -0
- package/dist/{uploadTransport-bZIKBTyK.d.ts → uploadTransport-C6kGP1Kd.d.ts} +5 -0
- package/dist/{useRecordsDepth-BLK8W646.d.cts → useRecordsDepth-CARTuHKh.d.cts} +1 -1
- package/dist/{useRecordsDepth-C7guUoLc.d.ts → useRecordsDepth-fPSv-GXU.d.ts} +1 -1
- package/dist/video/index.cjs +1 -1
- package/dist/video/index.js +1 -1
- package/dist/{view-BF9oW2GJ.d.cts → view-DGPaVno8.d.cts} +47 -5
- package/dist/{view-B6JsD22K.d.ts → view-Dc-JlFkf.d.ts} +47 -5
- package/dist/web/consent/index.cjs +1 -1
- package/dist/web/consent/index.d.cts +5 -5
- package/dist/web/consent/index.d.ts +5 -5
- package/dist/web/consent/index.js +1 -1
- package/dist/web/index.cjs +7 -7
- package/dist/web/index.d.cts +23 -22
- package/dist/web/index.d.ts +23 -22
- package/dist/web/index.js +7 -7
- package/dist/web/notifications/index.d.cts +3 -3
- package/dist/web/notifications/index.d.ts +3 -3
- package/dist/web/records/depth/index.cjs +2 -2
- package/dist/web/records/depth/index.d.cts +7 -7
- package/dist/web/records/depth/index.d.ts +7 -7
- package/dist/web/records/depth/index.js +2 -2
- package/dist/web/records/index.cjs +3 -3
- package/dist/web/records/index.d.cts +28 -17
- package/dist/web/records/index.d.ts +28 -17
- package/dist/web/records/index.js +3 -3
- package/dist/web/televet/booking/index.cjs +4 -2
- package/dist/web/televet/booking/index.d.cts +228 -90
- package/dist/web/televet/booking/index.d.ts +228 -90
- package/dist/web/televet/booking/index.js +4 -2
- package/dist/web/televet/call/index.cjs +1 -1
- package/dist/web/televet/call/index.d.cts +1 -1
- package/dist/web/televet/call/index.d.ts +1 -1
- package/dist/web/televet/call/index.js +1 -1
- package/dist/web/televet/index.cjs +2 -2
- package/dist/web/televet/index.d.cts +2 -2
- package/dist/web/televet/index.d.ts +2 -2
- package/dist/web/televet/index.js +2 -2
- package/package.json +1 -1
|
@@ -2,20 +2,20 @@ import { ReactNode, ComponentType, ReactElement } from 'react';
|
|
|
2
2
|
import { StyleProp, ViewStyle } from 'react-native';
|
|
3
3
|
import { P as PetRef } from '../../ids-B2GAAifq.cjs';
|
|
4
4
|
export { B as Brand, _ as __brand } from '../../ids-B2GAAifq.cjs';
|
|
5
|
-
import { T as TelevetEmptyRosterCause, a as TelevetStateInterestAction$1, b as TelevetMediaShortfall, c as TelevetBookingStep, d as
|
|
6
|
-
export { C as CONSULT_MINUTES, N as NO_MEDIA_SHORTFALL,
|
|
7
|
-
import { T as TelevetConsult,
|
|
8
|
-
export {
|
|
5
|
+
import { T as TelevetEmptyRosterCause, a as TelevetStateInterestAction$1, b as TelevetMediaShortfall, c as TelevetBookingStep, d as TelevetBookingContext, e as TelevetBookingController, f as TelevetTriageRead, g as TelevetStateInterestWrite, h as TelevetVetThreadTarget, i as TelevetDayPeriod } from '../../bookingCopy-BwVopcoV.cjs';
|
|
6
|
+
export { C as CONSULT_MINUTES, N as NO_MEDIA_SHORTFALL, j as TELEVET_BOOKING_BASE, k as TELEVET_BOOKING_COPY, l as TELEVET_BOOKING_STEPS, m as TELEVET_CONSULT_PAGE_LIMIT, n as TELEVET_JOIN_CLOSES_MINUTES_AFTER, o as TELEVET_JOIN_OPENS_MINUTES_BEFORE, p as TELEVET_MESSAGE_THREADS_PATH, q as TelevetAttachmentMeta, r as TelevetAttachmentPolicy, s as TelevetBookingAction, t as TelevetBookingControllerDeps, u as TelevetBookingCopy, v as TelevetBookingDraft, w as TelevetBookingFailure, x as TelevetBookingRefusal, y as TelevetBookingState, z as TelevetEarlyTriage, A as TelevetEmptyRosterView, B as TelevetJoinReadiness, D as TelevetJoinState, E as TelevetMediaRefusal, F as TelevetRead, G as TelevetStateInterestReason, H as TelevetWrite, U as UseVetThreadOptions, V as VET_MESSAGES_COPY, I as VET_MESSAGE_CONTENT_MAX, J as VET_MESSAGE_PAGE_DEFAULT, K as VET_MESSAGE_PAGE_MAX, L as VetMessage, M as VetMessagePage, O as VetMessageRole, P as VetMessagesAvailability, Q as VetSendFailure, R as VetThread, S as VetThreadState, W as VetThreadsState, X as VisitSummary, Y as VisitSummaryMedication, Z as VisitSummaryState, _ as attestation, $ as canConfirm, a0 as canManageTelevetVisit, a1 as createTelevetBookingController, a2 as currentStep, a3 as emptyTelevetDraft, a4 as formatVisitRange, a5 as formatWhen, a6 as formatWhenWithDay, a7 as hasPreviousStep, a8 as initialTelevetBookingState, a9 as isHoldExpired, aa as isMediaShortfallEmpty, ab as isSkipped, ac as isTelevetBookingCopyReady, ad as isVetMessagesDark, ae as isVetThreadVetFirst, af as mediaShortfallFromUnsentPicks, ag as splitTelevetVisits, ah as televetBookingKey, ai as televetBookingReducer, aj as televetBookingRefusal, ak as televetCancelCall, al as televetConsultCall, am as televetEmptyRosterCause, an as televetEmptyRosterView, ao as televetHoldCall, ap as televetJoinCall, aq as televetJoinOpensAtMs, ar as televetJoinReadiness, as as televetMediaShortfallLines, at as televetRescheduleCall, au as televetThreadMessagesCall, av as televetThreadReadCall, aw as televetVisitSummaryCall, ax as useEarlyTriage, ay as useStateInterest, az as useTelevetBookConsult, aA as useTelevetBookingAvailable, aB as useTelevetBookingController, aC as useTelevetBookingEntitlement, aD as useTelevetCancellationPolicy, aE as useTelevetClinicians, aF as useTelevetHoldSlot, aG as useTelevetJoin, aH as useTelevetNextSlot, aI as useTelevetRescheduleConsult, aJ as useTelevetSlots, aK as useTelevetStatePolicy, aL as useVetThread, aM as useVetThreads, aN as useVisitSummary, aO as validateBookingBody, aP as vetThreadPetRef, aQ as withUnsentPicks } from '../../bookingCopy-BwVopcoV.cjs';
|
|
7
|
+
import { T as TelevetConsult, a as TelevetCancelReceipt, b as TelevetSlot } from '../../bookingTypes-D4pD3tHs.cjs';
|
|
8
|
+
export { C as CANCELLATION_POLICY_VERSION_MAX, c as CANCEL_REASON_MAX, d as CONSULT_KINDS, e as CONSULT_STATUSES, f as ConsultKind, g as ConsultStatus, M as MEDIA_REFS_MAX, R as REASON_TEXT_MAX, h as TERMINAL_CONSULT_STATUSES, i as TelevetBookingBody, j as TelevetBookingEntitlement, k as TelevetCancellationPolicy, l as TelevetClinician, m as TelevetSlotHold, n as TelevetStatePolicy, o as TelevetTriageVerdict, p as isWellFormedStateCode } from '../../bookingTypes-D4pD3tHs.cjs';
|
|
9
9
|
import { V as VetVisitIntent } from '../../visitIntent-D7_yVp1I.cjs';
|
|
10
10
|
import { E as EverfurTelevetFlowRequest } from '../../televetGlobal-CEk0_cW9.cjs';
|
|
11
11
|
export { b as VetCallCredential, c as VetCallJoinRefusal, d as VetCallLimits, p as parseVetCallCredential, v as vetCallJoinReason, e as vetCallJoinRefusal } from '../../callRoom-B_EqaUzx.cjs';
|
|
12
12
|
export { E as EverfurError, a as EverfurErrorCategory, b as EverfurErrorCode } from '../../EverfurError-DmELDpXp.cjs';
|
|
13
13
|
export { E as EverfurResult } from '../../EverfurResult-ZtH-YV1h.cjs';
|
|
14
|
-
export { W as WidgetPet } from '../../petsRepository-
|
|
15
|
-
import '../../requestFunnel-
|
|
14
|
+
export { W as WidgetPet } from '../../petsRepository-BJsJ4cju.cjs';
|
|
15
|
+
import '../../requestFunnel-C_cZXhIA.cjs';
|
|
16
16
|
import '../../ErrorPolicyPort-D6CybiqJ.cjs';
|
|
17
|
-
import '../../config-
|
|
18
|
-
import '../../identity-
|
|
17
|
+
import '../../config-h5h6TsHL.cjs';
|
|
18
|
+
import '../../identity-b5Vp32Vp.cjs';
|
|
19
19
|
import '../../TelemetryPort-BDNr00hu.cjs';
|
|
20
20
|
import '../../profile-CSs1wlXT.cjs';
|
|
21
21
|
|
|
@@ -42,10 +42,10 @@ interface TelevetPrimaryVet {
|
|
|
42
42
|
readonly dial?: (() => void) | undefined;
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
45
|
-
* THE EXIT ROWS, on both places the warning is drawn: in place of Describe and at Confirm
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
45
|
+
* THE EXIT ROWS, on both places the warning is drawn: in place of Describe and at Confirm, in the artifacts' order
|
|
46
|
+
* (`vet-book-emergency`): find an emergency vet (only with the host's own locator), ASPCA Animal Poison Control
|
|
47
|
+
* (dialled from its own number), then the pet's own clinic (only when the host holds it). One white box of rows
|
|
48
|
+
* split by hairlines, inside the panel's alert wash.
|
|
49
49
|
*/
|
|
50
50
|
declare function TelevetEmergencyExits({ petName, primaryVet, onFindEmergencyVet, }: {
|
|
51
51
|
readonly petName?: string | null | undefined;
|
|
@@ -196,8 +196,18 @@ interface TelevetBookedScreenProps {
|
|
|
196
196
|
* join promise is withheld rather than printed on a hope.
|
|
197
197
|
*/
|
|
198
198
|
readonly canJoinInApp?: boolean;
|
|
199
|
+
/**
|
|
200
|
+
* Did the owner share the pet's records with the vet on the review? Only then may step 02 say the records go
|
|
201
|
+
* to the vet ahead of the call; otherwise it keeps the deck's own summary line.
|
|
202
|
+
*/
|
|
203
|
+
readonly sharedRecords?: boolean | undefined;
|
|
204
|
+
/**
|
|
205
|
+
* Did exactly one PHOTO go with this booking, and did the consult keep it? Only then may step 02 say the photo
|
|
206
|
+
* goes to the vet (the artifact's photo form). Defaults to false.
|
|
207
|
+
*/
|
|
208
|
+
readonly sentPhoto?: boolean | undefined;
|
|
199
209
|
}
|
|
200
|
-
declare function TelevetBookedScreen({ consult, petName, onDone, onAddToCalendar, canJoinInApp, }: TelevetBookedScreenProps): ReactNode;
|
|
210
|
+
declare function TelevetBookedScreen({ consult, petName, onDone, onAddToCalendar, canJoinInApp, sharedRecords, sentPhoto, }: TelevetBookedScreenProps): ReactNode;
|
|
201
211
|
|
|
202
212
|
/**
|
|
203
213
|
* The host's own discard confirmation.
|
|
@@ -229,8 +239,19 @@ interface TelevetBookingChromeProps {
|
|
|
229
239
|
readonly onBack: () => void;
|
|
230
240
|
readonly onClose: () => void;
|
|
231
241
|
readonly onConfirmDiscard?: TelevetDiscardConfirm | undefined;
|
|
242
|
+
/**
|
|
243
|
+
* Is the host's early emergency warning up in place of Describe? It counts as the emergency step it stands
|
|
244
|
+
* for, so the bar does not step backwards while it is on screen.
|
|
245
|
+
*/
|
|
246
|
+
readonly triageOpen?: boolean | undefined;
|
|
247
|
+
/**
|
|
248
|
+
* The household the flow runs for, as the step reducer reads it. The bar counts only the steps it leaves on
|
|
249
|
+
* screen, so a one-pet household reads "Step 1 of 7" over seven segments on its first step. Absent, the bar
|
|
250
|
+
* counts the artifacts' eight.
|
|
251
|
+
*/
|
|
252
|
+
readonly stepContext?: TelevetBookingContext | undefined;
|
|
232
253
|
}
|
|
233
|
-
declare function TelevetBookingChrome({ step, furthestIndex, title, canGoBack, isDirty, onBack, onClose, onConfirmDiscard, }: TelevetBookingChromeProps): ReactNode;
|
|
254
|
+
declare function TelevetBookingChrome({ step, furthestIndex, title, canGoBack, isDirty, onBack, onClose, onConfirmDiscard, triageOpen, stepContext, }: TelevetBookingChromeProps): ReactNode;
|
|
234
255
|
/**
|
|
235
256
|
* The back control's spoken label.
|
|
236
257
|
*
|
|
@@ -262,8 +283,14 @@ interface TelevetIntakeMediaProps {
|
|
|
262
283
|
readonly onChange: (next: readonly TelevetIntakeMediaItem[]) => void;
|
|
263
284
|
/** Absent, the row renders nothing at all. There is no disabled Add control. */
|
|
264
285
|
readonly onPickMedia?: TelevetMediaPicker | undefined;
|
|
286
|
+
/**
|
|
287
|
+
* A line under the row, or nothing. The booking passes the artifact's "Optional. A close-up in good light
|
|
288
|
+
* helps." only once the televet presign has answered, because the advice is true only when a photo can reach
|
|
289
|
+
* the vet. Absent, nothing is drawn.
|
|
290
|
+
*/
|
|
291
|
+
readonly meta?: string | null | undefined;
|
|
265
292
|
}
|
|
266
|
-
declare function TelevetIntakeMedia({ media, onChange, onPickMedia }: TelevetIntakeMediaProps): ReactNode;
|
|
293
|
+
declare function TelevetIntakeMedia({ media, onChange, onPickMedia, meta }: TelevetIntakeMediaProps): ReactNode;
|
|
267
294
|
|
|
268
295
|
/** What the host can tell us about a location it could not resolve, so the right card renders. */
|
|
269
296
|
type TelevetLocationStatus = 'unknown' | 'blocked' | 'unavailable';
|
|
@@ -292,14 +319,15 @@ interface EverfurTelevetBookingProps {
|
|
|
292
319
|
/**
|
|
293
320
|
* THE EMERGENCY TRIAGE READ, asked after Describe rather than only at Confirm.
|
|
294
321
|
*
|
|
295
|
-
* ABSENT MEANS
|
|
296
|
-
*
|
|
297
|
-
*
|
|
298
|
-
*
|
|
322
|
+
* ABSENT MEANS THE CONTROLLER'S OWN READ: `POST /widget/v1/televet/consults/triage`, the booking's own
|
|
323
|
+
* classifier, served dark behind `partner.televet_early_triage_enabled`. Where that route is dark (or the
|
|
324
|
+
* controller has no `triage`), the flow behaves exactly as it did before: straight from the description to
|
|
325
|
+
* the vet, with the server's own `emergency_ack_required` refusal still waiting at Confirm. That is the
|
|
326
|
+
* consumer app's own rule for a triage read that could not answer (`useEarlyTriage`): a failed pre-read costs
|
|
327
|
+
* the member the screen's early position, never the check.
|
|
299
328
|
*
|
|
300
|
-
* IT
|
|
301
|
-
*
|
|
302
|
-
* whose own stack can classify free text may wire it; nothing here invents a verdict.
|
|
329
|
+
* GIVEN, IT WINS over the controller's read. A partner whose own stack classifies free text may wire it;
|
|
330
|
+
* nothing here invents a verdict.
|
|
303
331
|
*/
|
|
304
332
|
readonly onTriageReason?: TelevetTriageRead;
|
|
305
333
|
/**
|
|
@@ -373,6 +401,16 @@ type TelevetScreen =
|
|
|
373
401
|
readonly name: 'visit';
|
|
374
402
|
readonly visitRef: string;
|
|
375
403
|
readonly intent: VetVisitIntent | null;
|
|
404
|
+
}
|
|
405
|
+
/** The member's thread with the vet about one pet (EFBackend #1809). */
|
|
406
|
+
| {
|
|
407
|
+
readonly name: 'thread';
|
|
408
|
+
readonly target: TelevetVetThreadTarget;
|
|
409
|
+
}
|
|
410
|
+
/** The vet's approved summary of a finished visit (EFBackend #1809). */
|
|
411
|
+
| {
|
|
412
|
+
readonly name: 'summary';
|
|
413
|
+
readonly consult: TelevetConsult;
|
|
376
414
|
};
|
|
377
415
|
/**
|
|
378
416
|
* The screen a request opens on: the visit it names, or the landing (the visits when one is ahead, otherwise
|
|
@@ -407,8 +445,9 @@ interface EverfurTelevetProps {
|
|
|
407
445
|
*/
|
|
408
446
|
readonly onFindEmergencyVet?: () => void;
|
|
409
447
|
/**
|
|
410
|
-
* The emergency question asked after Describe. Absent, the
|
|
411
|
-
*
|
|
448
|
+
* The emergency question asked after Describe. Absent, the controller's own
|
|
449
|
+
* `POST /widget/v1/televet/consults/triage` is asked instead, and where that route is dark the server asks at
|
|
450
|
+
* Confirm. See `EverfurTelevetBooking`.
|
|
412
451
|
*/
|
|
413
452
|
readonly onTriageReason?: TelevetTriageRead;
|
|
414
453
|
/**
|
|
@@ -471,11 +510,15 @@ interface TelevetVisitsScreenProps {
|
|
|
471
510
|
readonly onBack: () => void;
|
|
472
511
|
/** Bumped by the flow after a booking, a move, a cancel or a call, so the list is read again. */
|
|
473
512
|
readonly revision?: number | undefined;
|
|
513
|
+
/** Open the member's thread with the vet about one pet. Absent, or while the routes are dark, no Messages card. */
|
|
514
|
+
readonly onOpenThread?: ((target: TelevetVetThreadTarget) => void) | undefined;
|
|
515
|
+
/** Open a finished visit's summary. Absent, or while the routes are dark, a finished row opens nothing. */
|
|
516
|
+
readonly onOpenSummary?: ((consult: TelevetConsult) => void) | undefined;
|
|
474
517
|
/** Injected by tests, so the split can sit on either side of a window. */
|
|
475
518
|
readonly nowMs?: number | undefined;
|
|
476
519
|
readonly style?: StyleProp<ViewStyle>;
|
|
477
520
|
}
|
|
478
|
-
declare function TelevetVisitsScreen({ controller: injected, onOpenVisit, onBook, onBack, revision, nowMs, style, }: TelevetVisitsScreenProps): ReactNode;
|
|
521
|
+
declare function TelevetVisitsScreen({ controller: injected, onOpenVisit, onBook, onBack, revision, onOpenThread, onOpenSummary, nowMs, style, }: TelevetVisitsScreenProps): ReactNode;
|
|
479
522
|
|
|
480
523
|
interface TelevetConsultScreenProps {
|
|
481
524
|
/** The visit, as the list that opened it read it. Re-read on mount; shown while the re-read is in flight. */
|
|
@@ -491,11 +534,48 @@ interface TelevetConsultScreenProps {
|
|
|
491
534
|
readonly onBack: () => void;
|
|
492
535
|
/** Bumped by the flow after a move or a call, so the visit is read again. */
|
|
493
536
|
readonly revision?: number | undefined;
|
|
537
|
+
/**
|
|
538
|
+
* Open the member's thread with this visit's vet (the waiting room's "Running late? Message {vet}", T127, drawn
|
|
539
|
+
* here because this is the screen with Join, where the member is before the call). Absent, or while the thread
|
|
540
|
+
* routes are dark (EFBackend #1809, `partner.televet_messages_enabled`), the link is not drawn.
|
|
541
|
+
*/
|
|
542
|
+
readonly onMessageVet?: ((target: TelevetVetThreadTarget) => void) | undefined;
|
|
494
543
|
/** Injected by tests. Left undefined in the app so the screen uses a clock that moves. */
|
|
495
544
|
readonly nowMs?: number | undefined;
|
|
496
545
|
readonly style?: StyleProp<ViewStyle>;
|
|
497
546
|
}
|
|
498
|
-
declare function TelevetConsultScreen({ consult: opened, controller: injected, onJoin, onReschedule, onCancelled, onBack, revision, nowMs, style, }: TelevetConsultScreenProps): ReactNode;
|
|
547
|
+
declare function TelevetConsultScreen({ consult: opened, controller: injected, onJoin, onReschedule, onCancelled, onBack, revision, onMessageVet, nowMs, style, }: TelevetConsultScreenProps): ReactNode;
|
|
548
|
+
|
|
549
|
+
interface TelevetVetThreadScreenProps {
|
|
550
|
+
/** The partner's reference for the pet the thread is about. */
|
|
551
|
+
readonly petRef: string;
|
|
552
|
+
/** The pet's roster name, for the title. */
|
|
553
|
+
readonly petName?: string | null | undefined;
|
|
554
|
+
/** The vet's served name, when the screen that opened the thread knows it. Otherwise read from the thread. */
|
|
555
|
+
readonly vetName?: string | null | undefined;
|
|
556
|
+
/** What the thread list said (`VetThread.ownerCanStart`). */
|
|
557
|
+
readonly ownerCanStart?: boolean | undefined;
|
|
558
|
+
/** Host/test seam: inject a booking controller instead of building one from the provider's session. */
|
|
559
|
+
readonly controller?: TelevetBookingController | undefined;
|
|
560
|
+
/** Back to the screen under the thread. */
|
|
561
|
+
readonly onBack: () => void;
|
|
562
|
+
readonly style?: StyleProp<ViewStyle>;
|
|
563
|
+
}
|
|
564
|
+
declare function TelevetVetThreadScreen({ petRef, petName, vetName, ownerCanStart, controller: injected, onBack, style, }: TelevetVetThreadScreenProps): ReactNode;
|
|
565
|
+
|
|
566
|
+
interface TelevetVisitSummaryScreenProps {
|
|
567
|
+
/** The finished visit whose summary this is. */
|
|
568
|
+
readonly consult: TelevetConsult;
|
|
569
|
+
/** Host/test seam: inject a booking controller instead of building one from the provider's session. */
|
|
570
|
+
readonly controller?: TelevetBookingController | undefined;
|
|
571
|
+
readonly onBack: () => void;
|
|
572
|
+
/** Open the member's thread with this vet. Absent, or when the roster cannot name the pet, it is omitted. */
|
|
573
|
+
readonly onMessageVet?: ((target: TelevetVetThreadTarget) => void) | undefined;
|
|
574
|
+
/** Start a booking. Absent, "Book a follow-up" is omitted. */
|
|
575
|
+
readonly onBook?: (() => void) | undefined;
|
|
576
|
+
readonly style?: StyleProp<ViewStyle>;
|
|
577
|
+
}
|
|
578
|
+
declare function TelevetVisitSummaryScreen({ consult, controller: injected, onBack, onMessageVet, onBook, style, }: TelevetVisitSummaryScreenProps): ReactNode;
|
|
499
579
|
|
|
500
580
|
interface EverfurTelevetRescheduleProps {
|
|
501
581
|
/** The consult being moved. Null while the host is still loading it. */
|
|
@@ -546,15 +626,22 @@ interface TelevetSlotPickerProps {
|
|
|
546
626
|
readonly ListHeaderComponent?: ComponentType | ReactElement | null;
|
|
547
627
|
readonly rowTestIdPrefix?: string;
|
|
548
628
|
readonly testID?: string;
|
|
629
|
+
/**
|
|
630
|
+
* The owner-approved artifacts' slot groups (`vet-book-time`: "Morning", "Afternoon", "Evening"). Given, the
|
|
631
|
+
* day's times are drawn under those three labels; absent, as one grid. Copy, so the caller passes the deck's.
|
|
632
|
+
*/
|
|
633
|
+
readonly periodLabels?: Readonly<Record<TelevetDayPeriod, string>> | undefined;
|
|
549
634
|
}
|
|
550
|
-
declare function TelevetSlotPicker({ slots, busySlotId, onPick, selectedSlot, ListHeaderComponent, rowTestIdPrefix, testID, }: TelevetSlotPickerProps): ReactNode;
|
|
635
|
+
declare function TelevetSlotPicker({ slots, busySlotId, onPick, selectedSlot, ListHeaderComponent, rowTestIdPrefix, testID, periodLabels, }: TelevetSlotPickerProps): ReactNode;
|
|
551
636
|
|
|
552
637
|
/** One "label ... value" row in the summary card. */
|
|
553
|
-
declare function TelevetSummaryRow({ label, value, last, testID, }: {
|
|
638
|
+
declare function TelevetSummaryRow({ label, value, last, action, testID, }: {
|
|
554
639
|
readonly label: string;
|
|
555
640
|
readonly value: string;
|
|
556
641
|
/** The last row draws no divider, so the card does not end on a line. */
|
|
557
642
|
readonly last?: boolean;
|
|
643
|
+
/** A control at the row's end (the review's "Change" on When). */
|
|
644
|
+
readonly action?: ReactNode;
|
|
558
645
|
readonly testID?: string;
|
|
559
646
|
}): ReactNode;
|
|
560
647
|
/**
|
|
@@ -577,4 +664,4 @@ declare function TelevetSummaryCard({ children, testID }: {
|
|
|
577
664
|
readonly testID?: string;
|
|
578
665
|
}): ReactNode;
|
|
579
666
|
|
|
580
|
-
export { BACK_LABEL, EverfurTelevet, EverfurTelevetBooking, type EverfurTelevetBookingProps, EverfurTelevetFlow, EverfurTelevetFlowRequest, EverfurTelevetModal, type EverfurTelevetModalProps, type EverfurTelevetProps, EverfurTelevetReschedule, type EverfurTelevetRescheduleProps, PetRef, TelevetBookedScreen, type TelevetBookedScreenProps, TelevetBookingChrome, type TelevetBookingChromeProps, TelevetBookingController, TelevetBookingStep, type TelevetCalendarEvent, type TelevetCalendarWriter, TelevetCancelReceipt, TelevetClinicianEmptyState, type TelevetClinicianEmptyStateProps, TelevetConsentCheckbox, TelevetConsult, TelevetConsultScreen, type TelevetConsultScreenProps, type TelevetDay, TelevetDayStrip, type TelevetDayStripProps, type TelevetDiscardConfirm, TelevetEarlyEmergency, type TelevetEarlyEmergencyProps, TelevetEmergencyExits, TelevetEmptyRosterCause, TelevetEntitlementInterestState, type TelevetEntitlementInterestStateProps, 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 };
|
|
667
|
+
export { BACK_LABEL, EverfurTelevet, EverfurTelevetBooking, type EverfurTelevetBookingProps, EverfurTelevetFlow, EverfurTelevetFlowRequest, EverfurTelevetModal, type EverfurTelevetModalProps, type EverfurTelevetProps, EverfurTelevetReschedule, type EverfurTelevetRescheduleProps, PetRef, TelevetBookedScreen, type TelevetBookedScreenProps, TelevetBookingChrome, type TelevetBookingChromeProps, TelevetBookingContext, TelevetBookingController, TelevetBookingStep, type TelevetCalendarEvent, type TelevetCalendarWriter, TelevetCancelReceipt, TelevetClinicianEmptyState, type TelevetClinicianEmptyStateProps, TelevetConsentCheckbox, TelevetConsult, TelevetConsultScreen, type TelevetConsultScreenProps, type TelevetDay, TelevetDayStrip, type TelevetDayStripProps, type TelevetDiscardConfirm, TelevetEarlyEmergency, type TelevetEarlyEmergencyProps, TelevetEmergencyExits, TelevetEmptyRosterCause, TelevetEntitlementInterestState, type TelevetEntitlementInterestStateProps, 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, TelevetVetThreadScreen, type TelevetVetThreadScreenProps, TelevetVetThreadTarget, TelevetVisitSummaryScreen, type TelevetVisitSummaryScreenProps, TelevetVisitsScreen, type TelevetVisitsScreenProps, VetVisitIntent, televetConsultCalendarKey, televetDaysFromSlots, televetScreenForRequest };
|
|
@@ -2,20 +2,20 @@ import { ReactNode, ComponentType, ReactElement } from 'react';
|
|
|
2
2
|
import { StyleProp, ViewStyle } from 'react-native';
|
|
3
3
|
import { P as PetRef } from '../../ids-B2GAAifq.js';
|
|
4
4
|
export { B as Brand, _ as __brand } from '../../ids-B2GAAifq.js';
|
|
5
|
-
import { T as TelevetEmptyRosterCause, a as TelevetStateInterestAction$1, b as TelevetMediaShortfall, c as TelevetBookingStep, d as
|
|
6
|
-
export { C as CONSULT_MINUTES, N as NO_MEDIA_SHORTFALL,
|
|
7
|
-
import { T as TelevetConsult,
|
|
8
|
-
export {
|
|
5
|
+
import { T as TelevetEmptyRosterCause, a as TelevetStateInterestAction$1, b as TelevetMediaShortfall, c as TelevetBookingStep, d as TelevetBookingContext, e as TelevetBookingController, f as TelevetTriageRead, g as TelevetStateInterestWrite, h as TelevetVetThreadTarget, i as TelevetDayPeriod } from '../../bookingCopy-DFTv9w6J.js';
|
|
6
|
+
export { C as CONSULT_MINUTES, N as NO_MEDIA_SHORTFALL, j as TELEVET_BOOKING_BASE, k as TELEVET_BOOKING_COPY, l as TELEVET_BOOKING_STEPS, m as TELEVET_CONSULT_PAGE_LIMIT, n as TELEVET_JOIN_CLOSES_MINUTES_AFTER, o as TELEVET_JOIN_OPENS_MINUTES_BEFORE, p as TELEVET_MESSAGE_THREADS_PATH, q as TelevetAttachmentMeta, r as TelevetAttachmentPolicy, s as TelevetBookingAction, t as TelevetBookingControllerDeps, u as TelevetBookingCopy, v as TelevetBookingDraft, w as TelevetBookingFailure, x as TelevetBookingRefusal, y as TelevetBookingState, z as TelevetEarlyTriage, A as TelevetEmptyRosterView, B as TelevetJoinReadiness, D as TelevetJoinState, E as TelevetMediaRefusal, F as TelevetRead, G as TelevetStateInterestReason, H as TelevetWrite, U as UseVetThreadOptions, V as VET_MESSAGES_COPY, I as VET_MESSAGE_CONTENT_MAX, J as VET_MESSAGE_PAGE_DEFAULT, K as VET_MESSAGE_PAGE_MAX, L as VetMessage, M as VetMessagePage, O as VetMessageRole, P as VetMessagesAvailability, Q as VetSendFailure, R as VetThread, S as VetThreadState, W as VetThreadsState, X as VisitSummary, Y as VisitSummaryMedication, Z as VisitSummaryState, _ as attestation, $ as canConfirm, a0 as canManageTelevetVisit, a1 as createTelevetBookingController, a2 as currentStep, a3 as emptyTelevetDraft, a4 as formatVisitRange, a5 as formatWhen, a6 as formatWhenWithDay, a7 as hasPreviousStep, a8 as initialTelevetBookingState, a9 as isHoldExpired, aa as isMediaShortfallEmpty, ab as isSkipped, ac as isTelevetBookingCopyReady, ad as isVetMessagesDark, ae as isVetThreadVetFirst, af as mediaShortfallFromUnsentPicks, ag as splitTelevetVisits, ah as televetBookingKey, ai as televetBookingReducer, aj as televetBookingRefusal, ak as televetCancelCall, al as televetConsultCall, am as televetEmptyRosterCause, an as televetEmptyRosterView, ao as televetHoldCall, ap as televetJoinCall, aq as televetJoinOpensAtMs, ar as televetJoinReadiness, as as televetMediaShortfallLines, at as televetRescheduleCall, au as televetThreadMessagesCall, av as televetThreadReadCall, aw as televetVisitSummaryCall, ax as useEarlyTriage, ay as useStateInterest, az as useTelevetBookConsult, aA as useTelevetBookingAvailable, aB as useTelevetBookingController, aC as useTelevetBookingEntitlement, aD as useTelevetCancellationPolicy, aE as useTelevetClinicians, aF as useTelevetHoldSlot, aG as useTelevetJoin, aH as useTelevetNextSlot, aI as useTelevetRescheduleConsult, aJ as useTelevetSlots, aK as useTelevetStatePolicy, aL as useVetThread, aM as useVetThreads, aN as useVisitSummary, aO as validateBookingBody, aP as vetThreadPetRef, aQ as withUnsentPicks } from '../../bookingCopy-DFTv9w6J.js';
|
|
7
|
+
import { T as TelevetConsult, a as TelevetCancelReceipt, b as TelevetSlot } from '../../bookingTypes-D4pD3tHs.js';
|
|
8
|
+
export { C as CANCELLATION_POLICY_VERSION_MAX, c as CANCEL_REASON_MAX, d as CONSULT_KINDS, e as CONSULT_STATUSES, f as ConsultKind, g as ConsultStatus, M as MEDIA_REFS_MAX, R as REASON_TEXT_MAX, h as TERMINAL_CONSULT_STATUSES, i as TelevetBookingBody, j as TelevetBookingEntitlement, k as TelevetCancellationPolicy, l as TelevetClinician, m as TelevetSlotHold, n as TelevetStatePolicy, o as TelevetTriageVerdict, p as isWellFormedStateCode } from '../../bookingTypes-D4pD3tHs.js';
|
|
9
9
|
import { V as VetVisitIntent } from '../../visitIntent-D7_yVp1I.js';
|
|
10
10
|
import { E as EverfurTelevetFlowRequest } from '../../televetGlobal-Cs9Wbqsy.js';
|
|
11
11
|
export { b as VetCallCredential, c as VetCallJoinRefusal, d as VetCallLimits, p as parseVetCallCredential, v as vetCallJoinReason, e as vetCallJoinRefusal } from '../../callRoom-7wrE3RP2.js';
|
|
12
12
|
export { E as EverfurError, a as EverfurErrorCategory, b as EverfurErrorCode } from '../../EverfurError-DmELDpXp.js';
|
|
13
13
|
export { E as EverfurResult } from '../../EverfurResult-SGvHKsCB.js';
|
|
14
|
-
export { W as WidgetPet } from '../../petsRepository-
|
|
15
|
-
import '../../requestFunnel-
|
|
14
|
+
export { W as WidgetPet } from '../../petsRepository-CuYZZaI5.js';
|
|
15
|
+
import '../../requestFunnel-Ve9BshTB.js';
|
|
16
16
|
import '../../ErrorPolicyPort-D22LUVrK.js';
|
|
17
|
-
import '../../config-
|
|
18
|
-
import '../../identity-
|
|
17
|
+
import '../../config-ZxwCylac.js';
|
|
18
|
+
import '../../identity-EC5-apbY.js';
|
|
19
19
|
import '../../TelemetryPort-BDNr00hu.js';
|
|
20
20
|
import '../../profile-CSs1wlXT.js';
|
|
21
21
|
|
|
@@ -42,10 +42,10 @@ interface TelevetPrimaryVet {
|
|
|
42
42
|
readonly dial?: (() => void) | undefined;
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
45
|
-
* THE EXIT ROWS, on both places the warning is drawn: in place of Describe and at Confirm
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
45
|
+
* THE EXIT ROWS, on both places the warning is drawn: in place of Describe and at Confirm, in the artifacts' order
|
|
46
|
+
* (`vet-book-emergency`): find an emergency vet (only with the host's own locator), ASPCA Animal Poison Control
|
|
47
|
+
* (dialled from its own number), then the pet's own clinic (only when the host holds it). One white box of rows
|
|
48
|
+
* split by hairlines, inside the panel's alert wash.
|
|
49
49
|
*/
|
|
50
50
|
declare function TelevetEmergencyExits({ petName, primaryVet, onFindEmergencyVet, }: {
|
|
51
51
|
readonly petName?: string | null | undefined;
|
|
@@ -196,8 +196,18 @@ interface TelevetBookedScreenProps {
|
|
|
196
196
|
* join promise is withheld rather than printed on a hope.
|
|
197
197
|
*/
|
|
198
198
|
readonly canJoinInApp?: boolean;
|
|
199
|
+
/**
|
|
200
|
+
* Did the owner share the pet's records with the vet on the review? Only then may step 02 say the records go
|
|
201
|
+
* to the vet ahead of the call; otherwise it keeps the deck's own summary line.
|
|
202
|
+
*/
|
|
203
|
+
readonly sharedRecords?: boolean | undefined;
|
|
204
|
+
/**
|
|
205
|
+
* Did exactly one PHOTO go with this booking, and did the consult keep it? Only then may step 02 say the photo
|
|
206
|
+
* goes to the vet (the artifact's photo form). Defaults to false.
|
|
207
|
+
*/
|
|
208
|
+
readonly sentPhoto?: boolean | undefined;
|
|
199
209
|
}
|
|
200
|
-
declare function TelevetBookedScreen({ consult, petName, onDone, onAddToCalendar, canJoinInApp, }: TelevetBookedScreenProps): ReactNode;
|
|
210
|
+
declare function TelevetBookedScreen({ consult, petName, onDone, onAddToCalendar, canJoinInApp, sharedRecords, sentPhoto, }: TelevetBookedScreenProps): ReactNode;
|
|
201
211
|
|
|
202
212
|
/**
|
|
203
213
|
* The host's own discard confirmation.
|
|
@@ -229,8 +239,19 @@ interface TelevetBookingChromeProps {
|
|
|
229
239
|
readonly onBack: () => void;
|
|
230
240
|
readonly onClose: () => void;
|
|
231
241
|
readonly onConfirmDiscard?: TelevetDiscardConfirm | undefined;
|
|
242
|
+
/**
|
|
243
|
+
* Is the host's early emergency warning up in place of Describe? It counts as the emergency step it stands
|
|
244
|
+
* for, so the bar does not step backwards while it is on screen.
|
|
245
|
+
*/
|
|
246
|
+
readonly triageOpen?: boolean | undefined;
|
|
247
|
+
/**
|
|
248
|
+
* The household the flow runs for, as the step reducer reads it. The bar counts only the steps it leaves on
|
|
249
|
+
* screen, so a one-pet household reads "Step 1 of 7" over seven segments on its first step. Absent, the bar
|
|
250
|
+
* counts the artifacts' eight.
|
|
251
|
+
*/
|
|
252
|
+
readonly stepContext?: TelevetBookingContext | undefined;
|
|
232
253
|
}
|
|
233
|
-
declare function TelevetBookingChrome({ step, furthestIndex, title, canGoBack, isDirty, onBack, onClose, onConfirmDiscard, }: TelevetBookingChromeProps): ReactNode;
|
|
254
|
+
declare function TelevetBookingChrome({ step, furthestIndex, title, canGoBack, isDirty, onBack, onClose, onConfirmDiscard, triageOpen, stepContext, }: TelevetBookingChromeProps): ReactNode;
|
|
234
255
|
/**
|
|
235
256
|
* The back control's spoken label.
|
|
236
257
|
*
|
|
@@ -262,8 +283,14 @@ interface TelevetIntakeMediaProps {
|
|
|
262
283
|
readonly onChange: (next: readonly TelevetIntakeMediaItem[]) => void;
|
|
263
284
|
/** Absent, the row renders nothing at all. There is no disabled Add control. */
|
|
264
285
|
readonly onPickMedia?: TelevetMediaPicker | undefined;
|
|
286
|
+
/**
|
|
287
|
+
* A line under the row, or nothing. The booking passes the artifact's "Optional. A close-up in good light
|
|
288
|
+
* helps." only once the televet presign has answered, because the advice is true only when a photo can reach
|
|
289
|
+
* the vet. Absent, nothing is drawn.
|
|
290
|
+
*/
|
|
291
|
+
readonly meta?: string | null | undefined;
|
|
265
292
|
}
|
|
266
|
-
declare function TelevetIntakeMedia({ media, onChange, onPickMedia }: TelevetIntakeMediaProps): ReactNode;
|
|
293
|
+
declare function TelevetIntakeMedia({ media, onChange, onPickMedia, meta }: TelevetIntakeMediaProps): ReactNode;
|
|
267
294
|
|
|
268
295
|
/** What the host can tell us about a location it could not resolve, so the right card renders. */
|
|
269
296
|
type TelevetLocationStatus = 'unknown' | 'blocked' | 'unavailable';
|
|
@@ -292,14 +319,15 @@ interface EverfurTelevetBookingProps {
|
|
|
292
319
|
/**
|
|
293
320
|
* THE EMERGENCY TRIAGE READ, asked after Describe rather than only at Confirm.
|
|
294
321
|
*
|
|
295
|
-
* ABSENT MEANS
|
|
296
|
-
*
|
|
297
|
-
*
|
|
298
|
-
*
|
|
322
|
+
* ABSENT MEANS THE CONTROLLER'S OWN READ: `POST /widget/v1/televet/consults/triage`, the booking's own
|
|
323
|
+
* classifier, served dark behind `partner.televet_early_triage_enabled`. Where that route is dark (or the
|
|
324
|
+
* controller has no `triage`), the flow behaves exactly as it did before: straight from the description to
|
|
325
|
+
* the vet, with the server's own `emergency_ack_required` refusal still waiting at Confirm. That is the
|
|
326
|
+
* consumer app's own rule for a triage read that could not answer (`useEarlyTriage`): a failed pre-read costs
|
|
327
|
+
* the member the screen's early position, never the check.
|
|
299
328
|
*
|
|
300
|
-
* IT
|
|
301
|
-
*
|
|
302
|
-
* whose own stack can classify free text may wire it; nothing here invents a verdict.
|
|
329
|
+
* GIVEN, IT WINS over the controller's read. A partner whose own stack classifies free text may wire it;
|
|
330
|
+
* nothing here invents a verdict.
|
|
303
331
|
*/
|
|
304
332
|
readonly onTriageReason?: TelevetTriageRead;
|
|
305
333
|
/**
|
|
@@ -373,6 +401,16 @@ type TelevetScreen =
|
|
|
373
401
|
readonly name: 'visit';
|
|
374
402
|
readonly visitRef: string;
|
|
375
403
|
readonly intent: VetVisitIntent | null;
|
|
404
|
+
}
|
|
405
|
+
/** The member's thread with the vet about one pet (EFBackend #1809). */
|
|
406
|
+
| {
|
|
407
|
+
readonly name: 'thread';
|
|
408
|
+
readonly target: TelevetVetThreadTarget;
|
|
409
|
+
}
|
|
410
|
+
/** The vet's approved summary of a finished visit (EFBackend #1809). */
|
|
411
|
+
| {
|
|
412
|
+
readonly name: 'summary';
|
|
413
|
+
readonly consult: TelevetConsult;
|
|
376
414
|
};
|
|
377
415
|
/**
|
|
378
416
|
* The screen a request opens on: the visit it names, or the landing (the visits when one is ahead, otherwise
|
|
@@ -407,8 +445,9 @@ interface EverfurTelevetProps {
|
|
|
407
445
|
*/
|
|
408
446
|
readonly onFindEmergencyVet?: () => void;
|
|
409
447
|
/**
|
|
410
|
-
* The emergency question asked after Describe. Absent, the
|
|
411
|
-
*
|
|
448
|
+
* The emergency question asked after Describe. Absent, the controller's own
|
|
449
|
+
* `POST /widget/v1/televet/consults/triage` is asked instead, and where that route is dark the server asks at
|
|
450
|
+
* Confirm. See `EverfurTelevetBooking`.
|
|
412
451
|
*/
|
|
413
452
|
readonly onTriageReason?: TelevetTriageRead;
|
|
414
453
|
/**
|
|
@@ -471,11 +510,15 @@ interface TelevetVisitsScreenProps {
|
|
|
471
510
|
readonly onBack: () => void;
|
|
472
511
|
/** Bumped by the flow after a booking, a move, a cancel or a call, so the list is read again. */
|
|
473
512
|
readonly revision?: number | undefined;
|
|
513
|
+
/** Open the member's thread with the vet about one pet. Absent, or while the routes are dark, no Messages card. */
|
|
514
|
+
readonly onOpenThread?: ((target: TelevetVetThreadTarget) => void) | undefined;
|
|
515
|
+
/** Open a finished visit's summary. Absent, or while the routes are dark, a finished row opens nothing. */
|
|
516
|
+
readonly onOpenSummary?: ((consult: TelevetConsult) => void) | undefined;
|
|
474
517
|
/** Injected by tests, so the split can sit on either side of a window. */
|
|
475
518
|
readonly nowMs?: number | undefined;
|
|
476
519
|
readonly style?: StyleProp<ViewStyle>;
|
|
477
520
|
}
|
|
478
|
-
declare function TelevetVisitsScreen({ controller: injected, onOpenVisit, onBook, onBack, revision, nowMs, style, }: TelevetVisitsScreenProps): ReactNode;
|
|
521
|
+
declare function TelevetVisitsScreen({ controller: injected, onOpenVisit, onBook, onBack, revision, onOpenThread, onOpenSummary, nowMs, style, }: TelevetVisitsScreenProps): ReactNode;
|
|
479
522
|
|
|
480
523
|
interface TelevetConsultScreenProps {
|
|
481
524
|
/** The visit, as the list that opened it read it. Re-read on mount; shown while the re-read is in flight. */
|
|
@@ -491,11 +534,48 @@ interface TelevetConsultScreenProps {
|
|
|
491
534
|
readonly onBack: () => void;
|
|
492
535
|
/** Bumped by the flow after a move or a call, so the visit is read again. */
|
|
493
536
|
readonly revision?: number | undefined;
|
|
537
|
+
/**
|
|
538
|
+
* Open the member's thread with this visit's vet (the waiting room's "Running late? Message {vet}", T127, drawn
|
|
539
|
+
* here because this is the screen with Join, where the member is before the call). Absent, or while the thread
|
|
540
|
+
* routes are dark (EFBackend #1809, `partner.televet_messages_enabled`), the link is not drawn.
|
|
541
|
+
*/
|
|
542
|
+
readonly onMessageVet?: ((target: TelevetVetThreadTarget) => void) | undefined;
|
|
494
543
|
/** Injected by tests. Left undefined in the app so the screen uses a clock that moves. */
|
|
495
544
|
readonly nowMs?: number | undefined;
|
|
496
545
|
readonly style?: StyleProp<ViewStyle>;
|
|
497
546
|
}
|
|
498
|
-
declare function TelevetConsultScreen({ consult: opened, controller: injected, onJoin, onReschedule, onCancelled, onBack, revision, nowMs, style, }: TelevetConsultScreenProps): ReactNode;
|
|
547
|
+
declare function TelevetConsultScreen({ consult: opened, controller: injected, onJoin, onReschedule, onCancelled, onBack, revision, onMessageVet, nowMs, style, }: TelevetConsultScreenProps): ReactNode;
|
|
548
|
+
|
|
549
|
+
interface TelevetVetThreadScreenProps {
|
|
550
|
+
/** The partner's reference for the pet the thread is about. */
|
|
551
|
+
readonly petRef: string;
|
|
552
|
+
/** The pet's roster name, for the title. */
|
|
553
|
+
readonly petName?: string | null | undefined;
|
|
554
|
+
/** The vet's served name, when the screen that opened the thread knows it. Otherwise read from the thread. */
|
|
555
|
+
readonly vetName?: string | null | undefined;
|
|
556
|
+
/** What the thread list said (`VetThread.ownerCanStart`). */
|
|
557
|
+
readonly ownerCanStart?: boolean | undefined;
|
|
558
|
+
/** Host/test seam: inject a booking controller instead of building one from the provider's session. */
|
|
559
|
+
readonly controller?: TelevetBookingController | undefined;
|
|
560
|
+
/** Back to the screen under the thread. */
|
|
561
|
+
readonly onBack: () => void;
|
|
562
|
+
readonly style?: StyleProp<ViewStyle>;
|
|
563
|
+
}
|
|
564
|
+
declare function TelevetVetThreadScreen({ petRef, petName, vetName, ownerCanStart, controller: injected, onBack, style, }: TelevetVetThreadScreenProps): ReactNode;
|
|
565
|
+
|
|
566
|
+
interface TelevetVisitSummaryScreenProps {
|
|
567
|
+
/** The finished visit whose summary this is. */
|
|
568
|
+
readonly consult: TelevetConsult;
|
|
569
|
+
/** Host/test seam: inject a booking controller instead of building one from the provider's session. */
|
|
570
|
+
readonly controller?: TelevetBookingController | undefined;
|
|
571
|
+
readonly onBack: () => void;
|
|
572
|
+
/** Open the member's thread with this vet. Absent, or when the roster cannot name the pet, it is omitted. */
|
|
573
|
+
readonly onMessageVet?: ((target: TelevetVetThreadTarget) => void) | undefined;
|
|
574
|
+
/** Start a booking. Absent, "Book a follow-up" is omitted. */
|
|
575
|
+
readonly onBook?: (() => void) | undefined;
|
|
576
|
+
readonly style?: StyleProp<ViewStyle>;
|
|
577
|
+
}
|
|
578
|
+
declare function TelevetVisitSummaryScreen({ consult, controller: injected, onBack, onMessageVet, onBook, style, }: TelevetVisitSummaryScreenProps): ReactNode;
|
|
499
579
|
|
|
500
580
|
interface EverfurTelevetRescheduleProps {
|
|
501
581
|
/** The consult being moved. Null while the host is still loading it. */
|
|
@@ -546,15 +626,22 @@ interface TelevetSlotPickerProps {
|
|
|
546
626
|
readonly ListHeaderComponent?: ComponentType | ReactElement | null;
|
|
547
627
|
readonly rowTestIdPrefix?: string;
|
|
548
628
|
readonly testID?: string;
|
|
629
|
+
/**
|
|
630
|
+
* The owner-approved artifacts' slot groups (`vet-book-time`: "Morning", "Afternoon", "Evening"). Given, the
|
|
631
|
+
* day's times are drawn under those three labels; absent, as one grid. Copy, so the caller passes the deck's.
|
|
632
|
+
*/
|
|
633
|
+
readonly periodLabels?: Readonly<Record<TelevetDayPeriod, string>> | undefined;
|
|
549
634
|
}
|
|
550
|
-
declare function TelevetSlotPicker({ slots, busySlotId, onPick, selectedSlot, ListHeaderComponent, rowTestIdPrefix, testID, }: TelevetSlotPickerProps): ReactNode;
|
|
635
|
+
declare function TelevetSlotPicker({ slots, busySlotId, onPick, selectedSlot, ListHeaderComponent, rowTestIdPrefix, testID, periodLabels, }: TelevetSlotPickerProps): ReactNode;
|
|
551
636
|
|
|
552
637
|
/** One "label ... value" row in the summary card. */
|
|
553
|
-
declare function TelevetSummaryRow({ label, value, last, testID, }: {
|
|
638
|
+
declare function TelevetSummaryRow({ label, value, last, action, testID, }: {
|
|
554
639
|
readonly label: string;
|
|
555
640
|
readonly value: string;
|
|
556
641
|
/** The last row draws no divider, so the card does not end on a line. */
|
|
557
642
|
readonly last?: boolean;
|
|
643
|
+
/** A control at the row's end (the review's "Change" on When). */
|
|
644
|
+
readonly action?: ReactNode;
|
|
558
645
|
readonly testID?: string;
|
|
559
646
|
}): ReactNode;
|
|
560
647
|
/**
|
|
@@ -577,4 +664,4 @@ declare function TelevetSummaryCard({ children, testID }: {
|
|
|
577
664
|
readonly testID?: string;
|
|
578
665
|
}): ReactNode;
|
|
579
666
|
|
|
580
|
-
export { BACK_LABEL, EverfurTelevet, EverfurTelevetBooking, type EverfurTelevetBookingProps, EverfurTelevetFlow, EverfurTelevetFlowRequest, EverfurTelevetModal, type EverfurTelevetModalProps, type EverfurTelevetProps, EverfurTelevetReschedule, type EverfurTelevetRescheduleProps, PetRef, TelevetBookedScreen, type TelevetBookedScreenProps, TelevetBookingChrome, type TelevetBookingChromeProps, TelevetBookingController, TelevetBookingStep, type TelevetCalendarEvent, type TelevetCalendarWriter, TelevetCancelReceipt, TelevetClinicianEmptyState, type TelevetClinicianEmptyStateProps, TelevetConsentCheckbox, TelevetConsult, TelevetConsultScreen, type TelevetConsultScreenProps, type TelevetDay, TelevetDayStrip, type TelevetDayStripProps, type TelevetDiscardConfirm, TelevetEarlyEmergency, type TelevetEarlyEmergencyProps, TelevetEmergencyExits, TelevetEmptyRosterCause, TelevetEntitlementInterestState, type TelevetEntitlementInterestStateProps, 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 };
|
|
667
|
+
export { BACK_LABEL, EverfurTelevet, EverfurTelevetBooking, type EverfurTelevetBookingProps, EverfurTelevetFlow, EverfurTelevetFlowRequest, EverfurTelevetModal, type EverfurTelevetModalProps, type EverfurTelevetProps, EverfurTelevetReschedule, type EverfurTelevetRescheduleProps, PetRef, TelevetBookedScreen, type TelevetBookedScreenProps, TelevetBookingChrome, type TelevetBookingChromeProps, TelevetBookingContext, TelevetBookingController, TelevetBookingStep, type TelevetCalendarEvent, type TelevetCalendarWriter, TelevetCancelReceipt, TelevetClinicianEmptyState, type TelevetClinicianEmptyStateProps, TelevetConsentCheckbox, TelevetConsult, TelevetConsultScreen, type TelevetConsultScreenProps, type TelevetDay, TelevetDayStrip, type TelevetDayStripProps, type TelevetDiscardConfirm, TelevetEarlyEmergency, type TelevetEarlyEmergencyProps, TelevetEmergencyExits, TelevetEmptyRosterCause, TelevetEntitlementInterestState, type TelevetEntitlementInterestStateProps, 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, TelevetVetThreadScreen, type TelevetVetThreadScreenProps, TelevetVetThreadTarget, TelevetVisitSummaryScreen, type TelevetVisitSummaryScreenProps, TelevetVisitsScreen, type TelevetVisitsScreenProps, VetVisitIntent, televetConsultCalendarKey, televetDaysFromSlots, televetScreenForRequest };
|