@everfur/sdk 0.6.0 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +228 -0
- package/dist/{Chat-CHqcgMyw.d.ts → Chat-CFi5cNUF.d.ts} +4 -4
- package/dist/{Chat-BoAvCWhI.d.cts → Chat-DQOsAumH.d.cts} +4 -4
- package/dist/{DepthViews-B0g83e_N.d.cts → DepthViews-C409ubw-.d.cts} +1 -1
- package/dist/{DepthViews-7Y8Ur058.d.ts → DepthViews-D81c95Ra.d.cts} +1 -1
- package/dist/{DepthViews-Dg2bIon_.d.ts → DepthViews-es8mIK0w.d.ts} +1 -1
- package/dist/{DepthViews-CT5mQld9.d.cts → DepthViews-uilL1NJZ.d.ts} +1 -1
- package/dist/IntakeMedia-BcjjUizr.d.ts +103 -0
- package/dist/IntakeMedia-CL_S2tZE.d.cts +103 -0
- 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-C3HJNYQ7.d.cts → attachments-B2GjBgvF.d.cts} +2 -2
- package/dist/{attachments-rkox0ewd.d.cts → attachments-DI710no4.d.cts} +5 -5
- package/dist/{attachments-CfxsVg7W.d.ts → attachments-DNaSbmA3.d.ts} +2 -2
- package/dist/{attachments-CThFsH4b.d.ts → attachments-SF88N654.d.ts} +5 -5
- package/dist/{bookingCopy-Y3OGdoMT.d.ts → bookingCopy-D2N3RhsV.d.ts} +451 -50
- package/dist/{bookingCopy-Do3zMeXb.d.cts → bookingCopy-xlXxORCA.d.cts} +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-DYWma2il.d.ts → branding-Bio5MM6g.d.cts} +3 -3
- package/dist/{branding-ChXm8gxI.d.cts → branding-ytH4jJq1.d.ts} +3 -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-Jj6t60AY.d.cts → casesRepository-B-md8h1S.d.cts} +1 -1
- package/dist/{casesRepository-BbgXYPxa.d.ts → casesRepository-CC6951TK.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 +2 -2
- package/dist/client/index.d.cts +10 -10
- package/dist/client/index.d.ts +10 -10
- package/dist/client/index.js +2 -2
- package/dist/{config-Dfbj5mlx.d.ts → config-BM0sv5jx.d.ts} +1 -1
- package/dist/{config-BZX97FmW.d.cts → config-Daa1plhQ.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-Cbe0zYym.d.ts → context-CDV2pwGI.d.ts} +7 -7
- package/dist/{context-DJXnZ1Mx.d.cts → context-DQHtwcHN.d.cts} +7 -7
- package/dist/{copy-dKK5KoAQ.d.cts → copy-BEx5F71o.d.cts} +2 -2
- package/dist/{copy-DHekqSKE.d.ts → copy-Cl1l-qmY.d.ts} +2 -2
- package/dist/core/index.cjs +7 -7
- package/dist/core/index.d.cts +21 -21
- package/dist/core/index.d.ts +21 -21
- package/dist/core/index.js +7 -7
- package/dist/{depth-NmWSbvfi.d.cts → depth-CAAwiStc.d.cts} +132 -38
- package/dist/{depth-CrpRjWGB.d.ts → depth-DfNRVtrV.d.ts} +132 -38
- package/dist/{entitlementRepository-tVNazi8R.d.ts → entitlementRepository-CVWvND1P.d.ts} +3 -3
- package/dist/{entitlementRepository-iL-9vS1i.d.cts → entitlementRepository-DPvWjV-N.d.cts} +3 -3
- package/dist/{identity-B8rp0L9G.d.ts → identity-BhT7oJDS.d.ts} +1 -1
- package/dist/{identity-D7PO5s9m.d.cts → identity-DUlshgow.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-BWx9BKea.d.cts → pets-Bneph9m1.d.cts} +1 -1
- package/dist/{pets-BQbXmICf.d.ts → pets-DjcLmRrW.d.ts} +1 -1
- package/dist/{petsRepository-SqIvEMiT.d.cts → petsRepository-BnVre3q7.d.cts} +1 -1
- package/dist/{petsRepository-0oBVydl6.d.ts → petsRepository-BwxmfX_s.d.ts} +1 -1
- package/dist/photo/index.cjs +1 -1
- package/dist/photo/index.js +1 -1
- package/dist/{ports-ChnzSy4E.d.cts → ports-BPKxFOSe.d.cts} +10 -9
- package/dist/{ports-iXPWd7Vt.d.ts → ports-Di9rdLO9.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-CQzz2DIW.d.ts → requestFunnel-CiSX2pun.d.ts} +2 -2
- package/dist/{requestFunnel-DAwb7haa.d.cts → requestFunnel-DMR_1T3O.d.cts} +2 -2
- package/dist/{runtimeTypes-DB9-kigO.d.cts → runtimeTypes-2gJ5hYoE.d.cts} +5 -5
- package/dist/{runtimeTypes-BNOxfmfg.d.ts → runtimeTypes-CkMFCbHW.d.ts} +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-Dll2IGFg.d.ts → timelineRows-D3171ksh.d.ts} +1 -1
- package/dist/{timelineRows-BuNhzDbH.d.cts → timelineRows-DDnz4gx2.d.cts} +1 -1
- package/dist/{tokens-ARWZtMOU.d.cts → tokens-BYtbKwFh.d.cts} +6 -3
- package/dist/{tokens-ARWZtMOU.d.ts → tokens-BYtbKwFh.d.ts} +6 -3
- package/dist/{typeStyle-YCS8dt19.d.cts → typeStyle-BqfwxZH4.d.cts} +2 -2
- package/dist/{typeStyle-8iEqQmP_.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-CNEHZJtj.d.cts → useRecordsDepth-COJ0wSYK.d.cts} +1 -1
- package/dist/{useRecordsDepth-CuNdne6E.d.ts → useRecordsDepth-Z9FF5X4E.d.ts} +1 -1
- package/dist/video/index.cjs +1 -1
- package/dist/video/index.js +1 -1
- package/dist/{view-DFy8EDwf.d.ts → view-DoQEHXJR.d.ts} +47 -5
- package/dist/{view-BhqWlYrZ.d.cts → view-nRy6SitU.d.cts} +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 +227 -123
- package/dist/web/televet/booking/index.d.ts +227 -123
- 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 +3 -3
- package/dist/web/televet/index.d.cts +12 -4
- package/dist/web/televet/index.d.ts +12 -4
- package/dist/web/televet/index.js +3 -3
- package/package.json +1 -1
- package/dist/BookedScreen-BJPbXLCG.d.ts +0 -54
- package/dist/BookedScreen-Cnld-jB_.d.cts +0 -54
|
@@ -1,23 +1,23 @@
|
|
|
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 TelevetBookingStep, d as
|
|
5
|
-
export { C as CONSULT_MINUTES, N as NO_MEDIA_SHORTFALL,
|
|
6
|
-
import { T as TelevetConsult,
|
|
7
|
-
export {
|
|
4
|
+
import { c as TelevetBookingStep, d as TelevetBookingContext, e as TelevetBookingController, f as TelevetTriageRead, g as TelevetStateInterestWrite, T as TelevetEmptyRosterCause, a as TelevetStateInterestAction$1, b as TelevetMediaShortfall, h as TelevetVetThreadTarget, i as TelevetDayPeriod } from '../../../bookingCopy-D2N3RhsV.js';
|
|
5
|
+
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, aR as TelevetJoinBlock, aS as TelevetJoinDecision, 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, aT as televetJoinDecision, aq as televetJoinOpensAtMs, 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-D2N3RhsV.js';
|
|
6
|
+
import { T as TelevetConsult, b as TelevetSlot } from '../../../bookingTypes-D4pD3tHs.js';
|
|
7
|
+
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, a as TelevetCancelReceipt, k as TelevetCancellationPolicy, l as TelevetClinician, m as TelevetSlotHold, n as TelevetStatePolicy, o as TelevetTriageVerdict, p as isWellFormedStateCode } from '../../../bookingTypes-D4pD3tHs.js';
|
|
8
8
|
import { V as VetVisitIntent } from '../../../visitIntent-D7_yVp1I.js';
|
|
9
9
|
import { E as EverfurTelevetFlowRequest } from '../../../televetGlobal-Cs9Wbqsy.js';
|
|
10
|
-
import { T as TelevetCalendarWriter } from '../../../
|
|
11
|
-
export {
|
|
12
|
-
import { E as EverfurTheme } from '../../../tokens-
|
|
10
|
+
import { a as TelevetMediaPicker, T as TelevetCalendarWriter } from '../../../IntakeMedia-BcjjUizr.js';
|
|
11
|
+
export { d as TelevetBookedScreen, e as TelevetBookedScreenProps, b as TelevetCalendarEvent, f as TelevetIntakeMedia, c as TelevetIntakeMediaItem, g as TelevetIntakeMediaProps, t as televetConsultCalendarKey } from '../../../IntakeMedia-BcjjUizr.js';
|
|
12
|
+
import { E as EverfurTheme } from '../../../tokens-BYtbKwFh.js';
|
|
13
13
|
export { b as VetCallCredential, c as VetCallJoinRefusal, d as VetCallLimits, p as parseVetCallCredential, v as vetCallJoinReason, e as vetCallJoinRefusal } from '../../../callRoom-7wrE3RP2.js';
|
|
14
14
|
export { E as EverfurError, a as EverfurErrorCategory, b as EverfurErrorCode } from '../../../EverfurError-DmELDpXp.js';
|
|
15
15
|
export { E as EverfurResult } from '../../../EverfurResult-SGvHKsCB.js';
|
|
16
|
-
export { W as WidgetPet } from '../../../petsRepository-
|
|
17
|
-
import '../../../requestFunnel-
|
|
16
|
+
export { W as WidgetPet } from '../../../petsRepository-BwxmfX_s.js';
|
|
17
|
+
import '../../../requestFunnel-CiSX2pun.js';
|
|
18
18
|
import '../../../ErrorPolicyPort-D22LUVrK.js';
|
|
19
|
-
import '../../../config-
|
|
20
|
-
import '../../../identity-
|
|
19
|
+
import '../../../config-BM0sv5jx.js';
|
|
20
|
+
import '../../../identity-BhT7oJDS.js';
|
|
21
21
|
import '../../../TelemetryPort-BDNr00hu.js';
|
|
22
22
|
import '../../../profile-CSs1wlXT.js';
|
|
23
23
|
|
|
@@ -43,6 +43,11 @@ interface TelevetBookingChromeProps {
|
|
|
43
43
|
readonly title?: string;
|
|
44
44
|
/** False on the first visible step, where Back would leave the flow entirely. */
|
|
45
45
|
readonly canGoBack: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Draw Back in the bar. Defaults to true. The prebuilt flow passes false and draws Back at the foot of each
|
|
48
|
+
* step instead, beside Continue, as the owner-approved artifact does.
|
|
49
|
+
*/
|
|
50
|
+
readonly showBack?: boolean | undefined;
|
|
46
51
|
/**
|
|
47
52
|
* Has the owner entered anything worth losing?
|
|
48
53
|
*
|
|
@@ -65,8 +70,14 @@ interface TelevetBookingChromeProps {
|
|
|
65
70
|
* fourth of eight), so the bar lights four segments while it is on screen.
|
|
66
71
|
*/
|
|
67
72
|
readonly triageOpen?: boolean | undefined;
|
|
73
|
+
/**
|
|
74
|
+
* The household the flow runs for, as the step reducer reads it. The bar counts only the steps it leaves on
|
|
75
|
+
* screen, so a one-pet household reads "Step 1 of 7" on its first step. Absent, the bar counts the artifacts'
|
|
76
|
+
* eight ("Step 1 of 8" ... "Step 8 of 8").
|
|
77
|
+
*/
|
|
78
|
+
readonly stepContext?: TelevetBookingContext | undefined;
|
|
68
79
|
}
|
|
69
|
-
declare function TelevetBookingChrome({ step, furthestIndex, title, canGoBack, isDirty, onBack, onClose, onConfirmDiscard, headingLevel: level, triageOpen, }: TelevetBookingChromeProps): ReactNode;
|
|
80
|
+
declare function TelevetBookingChrome({ step, furthestIndex, title, canGoBack, showBack, isDirty, onBack, onClose, onConfirmDiscard, headingLevel: level, triageOpen, stepContext, }: TelevetBookingChromeProps): ReactNode;
|
|
70
81
|
/**
|
|
71
82
|
* The back control's spoken label.
|
|
72
83
|
*
|
|
@@ -92,39 +103,6 @@ interface TelevetEmergencyExitsProps {
|
|
|
92
103
|
}
|
|
93
104
|
declare function TelevetEmergencyExits({ petName, primaryVet, onFindEmergencyVet, testIDPrefix, }: TelevetEmergencyExitsProps): ReactNode;
|
|
94
105
|
|
|
95
|
-
/** A picked-but-not-yet-uploaded attachment, in the host's own terms. */
|
|
96
|
-
interface TelevetIntakeMediaItem {
|
|
97
|
-
readonly uri: string;
|
|
98
|
-
readonly filename: string;
|
|
99
|
-
readonly mimeType: string;
|
|
100
|
-
readonly fileSize: number;
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* The host's media picker.
|
|
104
|
-
*
|
|
105
|
-
* Resolves the picks, or null when the owner cancelled. The SDK takes no picker dependency and opens no file
|
|
106
|
-
* dialog of its own; a partner supplies whichever picker its site already has, typically an `<input
|
|
107
|
-
* type="file">` whose `File` objects it turns into object URLs.
|
|
108
|
-
*
|
|
109
|
-
* `limit` is the remaining headroom, so the host can cap its own selection rather than returning picks this
|
|
110
|
-
* row has to silently discard.
|
|
111
|
-
*/
|
|
112
|
-
type TelevetMediaPicker = (limit: number) => Promise<readonly TelevetIntakeMediaItem[] | null>;
|
|
113
|
-
interface TelevetIntakeMediaProps {
|
|
114
|
-
readonly media: readonly TelevetIntakeMediaItem[];
|
|
115
|
-
readonly onChange: (next: readonly TelevetIntakeMediaItem[]) => void;
|
|
116
|
-
/** Absent, the row renders nothing at all. There is no disabled Add control. */
|
|
117
|
-
readonly onPickMedia?: TelevetMediaPicker | undefined;
|
|
118
|
-
/**
|
|
119
|
-
* The list's accessible name.
|
|
120
|
-
*
|
|
121
|
-
* Required, with no default string here: naming the group is what makes the tiles announce as a set, and
|
|
122
|
-
* the name is user-facing copy this SDK does not author. The intake step passes a ported key down.
|
|
123
|
-
*/
|
|
124
|
-
readonly listLabel: string;
|
|
125
|
-
}
|
|
126
|
-
declare function TelevetIntakeMedia({ media, onChange, onPickMedia, listLabel }: TelevetIntakeMediaProps): ReactNode;
|
|
127
|
-
|
|
128
106
|
/** What the host can tell us about a location it could not resolve, so the right card renders. */
|
|
129
107
|
type TelevetLocationStatus = 'unknown' | 'blocked' | 'unavailable';
|
|
130
108
|
interface EverfurTelevetBookingProps {
|
|
@@ -152,13 +130,13 @@ interface EverfurTelevetBookingProps {
|
|
|
152
130
|
/**
|
|
153
131
|
* THE EMERGENCY TRIAGE READ, asked after Describe rather than only at Confirm.
|
|
154
132
|
*
|
|
155
|
-
* ABSENT MEANS
|
|
156
|
-
*
|
|
157
|
-
*
|
|
133
|
+
* ABSENT MEANS THE CONTROLLER'S OWN READ: `POST /widget/v1/televet/consults/triage`, the booking's own
|
|
134
|
+
* classifier, served dark behind `partner.televet_early_triage_enabled`. Where that route is dark the flow
|
|
135
|
+
* behaves as it did before, with the server's own `emergency_ack_required` refusal still waiting at Confirm.
|
|
136
|
+
* That is the consumer's rule for a triage read that could not answer, not a degraded mode.
|
|
158
137
|
*
|
|
159
|
-
*
|
|
160
|
-
* 2026-09-
|
|
161
|
-
* at this position (`continueFromDescribe`, since 2026-09-12) but against a CONSUMER session.
|
|
138
|
+
* GIVEN, IT WINS over the controller's read. The consumer WEB funnel asks the question at this position
|
|
139
|
+
* (`continueFromDescribe`, since 2026-09-12) against a CONSUMER session.
|
|
162
140
|
*/
|
|
163
141
|
readonly onTriageReason?: TelevetTriageRead;
|
|
164
142
|
/**
|
|
@@ -320,6 +298,16 @@ type TelevetScreen =
|
|
|
320
298
|
readonly name: 'visit';
|
|
321
299
|
readonly visitRef: string;
|
|
322
300
|
readonly intent: VetVisitIntent | null;
|
|
301
|
+
}
|
|
302
|
+
/** The member's thread with the vet about one pet (EFBackend #1809). */
|
|
303
|
+
| {
|
|
304
|
+
readonly name: 'thread';
|
|
305
|
+
readonly target: TelevetVetThreadTarget;
|
|
306
|
+
}
|
|
307
|
+
/** The vet's approved summary of a finished visit (EFBackend #1809). */
|
|
308
|
+
| {
|
|
309
|
+
readonly name: 'summary';
|
|
310
|
+
readonly consult: TelevetConsult;
|
|
323
311
|
};
|
|
324
312
|
/**
|
|
325
313
|
* The screen a request opens on: the visit it names, or the landing (the visits when one is ahead, otherwise
|
|
@@ -356,8 +344,9 @@ interface EverfurTelevetProps {
|
|
|
356
344
|
*/
|
|
357
345
|
readonly onFindEmergencyVet?: () => void;
|
|
358
346
|
/**
|
|
359
|
-
* The emergency question asked after Describe. Absent, the
|
|
360
|
-
*
|
|
347
|
+
* The emergency question asked after Describe. Absent, the controller's own
|
|
348
|
+
* `POST /widget/v1/televet/consults/triage` is asked instead, and where that route is dark the server asks at
|
|
349
|
+
* Confirm. See `EverfurTelevetBooking`.
|
|
361
350
|
*/
|
|
362
351
|
readonly onTriageReason?: TelevetTriageRead;
|
|
363
352
|
/**
|
|
@@ -408,9 +397,14 @@ interface EverfurTelevetDialogProps {
|
|
|
408
397
|
* Given, the confirmation offers Add to Calendar; absent, it has no calendar control.
|
|
409
398
|
*/
|
|
410
399
|
readonly onAddToCalendar?: TelevetCalendarWriter | undefined;
|
|
400
|
+
/**
|
|
401
|
+
* The host's photo and video picker: `EverfurTelevetHost`'s `onPickMedia`, passed through. Given, the intake
|
|
402
|
+
* step offers the attachment row; absent, it has none.
|
|
403
|
+
*/
|
|
404
|
+
readonly onPickMedia?: TelevetMediaPicker | undefined;
|
|
411
405
|
}
|
|
412
406
|
/** The in-page vet visit in a modal dialog. */
|
|
413
|
-
declare function EverfurTelevetDialog({ request, onClose, onAddToCalendar }: EverfurTelevetDialogProps): ReactNode;
|
|
407
|
+
declare function EverfurTelevetDialog({ request, onClose, onAddToCalendar, onPickMedia }: EverfurTelevetDialogProps): ReactNode;
|
|
414
408
|
|
|
415
409
|
interface TelevetJoinScreenProps {
|
|
416
410
|
/** The consult to join. */
|
|
@@ -439,6 +433,13 @@ interface TelevetVisitsScreenProps {
|
|
|
439
433
|
readonly onBook?: (() => void) | undefined;
|
|
440
434
|
/** Leave the visits: back to the screen under them, or out of the flow from its first screen. */
|
|
441
435
|
readonly onBack: () => void;
|
|
436
|
+
/**
|
|
437
|
+
* Open the member's thread with the vet about one pet. Absent, or while the thread routes are dark, neither the
|
|
438
|
+
* Messages card nor the late link is drawn.
|
|
439
|
+
*/
|
|
440
|
+
readonly onOpenThread?: ((target: TelevetVetThreadTarget) => void) | undefined;
|
|
441
|
+
/** Open a finished visit's summary. Absent, or while the routes are dark, a finished row opens nothing. */
|
|
442
|
+
readonly onOpenSummary?: ((consult: TelevetConsult) => void) | undefined;
|
|
442
443
|
/** True when the visits are the flow's first screen, so the way out is the close control rather than Back. */
|
|
443
444
|
readonly isRoot?: boolean | undefined;
|
|
444
445
|
/** Bumped by the flow after a booking, a move or a call, so the list is read again. */
|
|
@@ -454,7 +455,7 @@ interface TelevetVisitsScreenProps {
|
|
|
454
455
|
readonly nowMs?: number | undefined;
|
|
455
456
|
readonly style?: CSSProperties | undefined;
|
|
456
457
|
}
|
|
457
|
-
declare function TelevetVisitsScreen({ controller: injected, onJoin, onReschedule, onBook, onBack, isRoot, revision, returnedTo, nowMs, style, }: TelevetVisitsScreenProps): ReactNode;
|
|
458
|
+
declare function TelevetVisitsScreen({ controller: injected, onJoin, onReschedule, onBook, onBack, onOpenThread, onOpenSummary, isRoot, revision, returnedTo, nowMs, style, }: TelevetVisitsScreenProps): ReactNode;
|
|
458
459
|
|
|
459
460
|
type Css = CSSProperties;
|
|
460
461
|
declare function makeVisitStyles(theme: EverfurTheme): {
|
|
@@ -463,30 +464,45 @@ declare function makeVisitStyles(theme: EverfurTheme): {
|
|
|
463
464
|
topBarStart: Css;
|
|
464
465
|
iconButton: Css;
|
|
465
466
|
textButton: Css;
|
|
467
|
+
pageTitle: Css;
|
|
466
468
|
panel: Css;
|
|
467
|
-
panelBody: Css;
|
|
468
469
|
panelHeader: Css;
|
|
469
470
|
panelTitle: Css;
|
|
470
|
-
|
|
471
|
-
|
|
471
|
+
pill: Css;
|
|
472
|
+
pillLine: Css;
|
|
473
|
+
pillLive: Css;
|
|
474
|
+
visit: Css;
|
|
475
|
+
dateTile: Css;
|
|
476
|
+
dateTileSmall: Css;
|
|
477
|
+
dateTileDay: Css;
|
|
478
|
+
visitMain: Css;
|
|
479
|
+
visitTitle: Css;
|
|
480
|
+
visitMeta: Css;
|
|
481
|
+
actions: Css;
|
|
472
482
|
list: Css;
|
|
473
483
|
row: Css;
|
|
484
|
+
rowFirst: Css;
|
|
474
485
|
rowHead: Css;
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
486
|
+
rowTitle: CSSProperties;
|
|
487
|
+
rowMeta: CSSProperties;
|
|
488
|
+
note: CSSProperties;
|
|
489
|
+
footnote: Css;
|
|
490
|
+
skeletons: Css;
|
|
491
|
+
empty: Css;
|
|
481
492
|
notice: Css;
|
|
482
|
-
noticeTitle: Css;
|
|
483
493
|
noticeDanger: Css;
|
|
494
|
+
noticeTitle: CSSProperties;
|
|
484
495
|
form: Css;
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
496
|
+
formTitle: Css;
|
|
497
|
+
kv: Css;
|
|
498
|
+
kvRow: Css;
|
|
499
|
+
kvLabel: Css;
|
|
500
|
+
kvValue: Css;
|
|
501
|
+
label: CSSProperties;
|
|
502
|
+
labelRow: Css;
|
|
503
|
+
labelNote: CSSProperties;
|
|
504
|
+
reasons: Css;
|
|
505
|
+
hint: Css;
|
|
490
506
|
};
|
|
491
507
|
type VisitStyles = ReturnType<typeof makeVisitStyles>;
|
|
492
508
|
|
|
@@ -507,74 +523,88 @@ interface TelevetCancelVisitFormProps {
|
|
|
507
523
|
readonly onDismiss: () => void;
|
|
508
524
|
readonly onRetryTerms: () => void;
|
|
509
525
|
readonly styles: VisitStyles;
|
|
526
|
+
/** The pet's roster name, for the title and the first answer. Absent, the consumer's title and no first answer. */
|
|
527
|
+
readonly petName?: string | null | undefined;
|
|
528
|
+
/** The visit's own When, Vet and About, as the list already reads them. Each row is drawn only when given. */
|
|
529
|
+
readonly when?: string | null | undefined;
|
|
530
|
+
readonly vet?: string | null | undefined;
|
|
531
|
+
readonly about?: string | null | undefined;
|
|
532
|
+
/** "Move the visit instead" under the time answer. Absent, the hint has no way to the move. */
|
|
533
|
+
readonly onMoveInstead?: (() => void) | undefined;
|
|
534
|
+
}
|
|
535
|
+
declare function TelevetCancelVisitForm({ terms, submitting, failure, onConfirm, onDismiss, onRetryTerms, styles, petName, when, vet, about, onMoveInstead, }: TelevetCancelVisitFormProps): ReactNode;
|
|
536
|
+
|
|
537
|
+
interface TelevetVetThreadScreenProps {
|
|
538
|
+
/** The partner's reference for the pet the thread is about. */
|
|
539
|
+
readonly petRef: string;
|
|
540
|
+
/** The pet's roster name, for the title. */
|
|
541
|
+
readonly petName?: string | null | undefined;
|
|
542
|
+
/** The vet's served name, when the screen that opened the thread knows it. Otherwise read from the thread. */
|
|
543
|
+
readonly vetName?: string | null | undefined;
|
|
544
|
+
/** What the thread list said (`VetThread.ownerCanStart`). */
|
|
545
|
+
readonly ownerCanStart?: boolean | undefined;
|
|
546
|
+
/** Host/test seam: inject a booking controller instead of building one from the provider's session. */
|
|
547
|
+
readonly controller?: TelevetBookingController | undefined;
|
|
548
|
+
/** Back to the screen under the thread. */
|
|
549
|
+
readonly onBack: () => void;
|
|
550
|
+
/** Start a booking. Absent, "Book a visit" is omitted, never inert. */
|
|
551
|
+
readonly onBook?: (() => void) | undefined;
|
|
552
|
+
readonly style?: CSSProperties | undefined;
|
|
510
553
|
}
|
|
511
|
-
declare function
|
|
554
|
+
declare function TelevetVetThreadScreen({ petRef, petName, vetName, ownerCanStart, controller: injected, onBack, onBook, style, }: TelevetVetThreadScreenProps): ReactNode;
|
|
555
|
+
|
|
556
|
+
interface TelevetVisitSummaryScreenProps {
|
|
557
|
+
/** The finished visit whose summary this is. */
|
|
558
|
+
readonly consult: TelevetConsult;
|
|
559
|
+
/** Host/test seam: inject a booking controller instead of building one from the provider's session. */
|
|
560
|
+
readonly controller?: TelevetBookingController | undefined;
|
|
561
|
+
/** Back to the screen under the summary. */
|
|
562
|
+
readonly onBack: () => void;
|
|
563
|
+
/**
|
|
564
|
+
* Open the member's thread with this vet about this visit's pet. Absent, or when the roster cannot name the pet
|
|
565
|
+
* the thread is addressed by, "Message {vet}" is omitted, never inert.
|
|
566
|
+
*/
|
|
567
|
+
readonly onMessageVet?: ((target: TelevetVetThreadTarget) => void) | undefined;
|
|
568
|
+
/** Start a booking. Absent, "Book a follow-up" is omitted. */
|
|
569
|
+
readonly onBook?: (() => void) | undefined;
|
|
570
|
+
readonly style?: CSSProperties | undefined;
|
|
571
|
+
}
|
|
572
|
+
declare function TelevetVisitSummaryScreen({ consult, controller: injected, onBack, onMessageVet, onBook, style, }: TelevetVisitSummaryScreenProps): ReactNode;
|
|
512
573
|
|
|
513
574
|
/**
|
|
514
|
-
* The emergency
|
|
515
|
-
* (
|
|
516
|
-
*
|
|
575
|
+
* The emergency panel's cards on the web. Since 2026-09-30 both artifacts draw the same three rows, so the words
|
|
576
|
+
* are the shared deck's (`TELEVET_BOOKING_COPY.emergency`), kept under this name because it is public API. The
|
|
577
|
+
* number is the ASPCA's own line, dialled from `poisonControlTel`, never parsed back out of the displayed line.
|
|
517
578
|
*/
|
|
518
579
|
declare const TELEVET_EMERGENCY_EXITS_WEB: Readonly<{
|
|
519
|
-
findEmergencyVet:
|
|
520
|
-
poisonControl:
|
|
521
|
-
poisonControlDetail:
|
|
580
|
+
findEmergencyVet: string;
|
|
581
|
+
poisonControl: string;
|
|
582
|
+
poisonControlDetail: string;
|
|
522
583
|
poisonControlTel: "tel:+18884264435";
|
|
523
584
|
}>;
|
|
524
585
|
declare const TELEVET_BOOKING_COPY_WEB: Readonly<{
|
|
525
|
-
/**
|
|
526
|
-
|
|
527
|
-
/** :1054. The shared deck's "or Type to the vet what you're seeing" kept an "or" from a removed option. */
|
|
528
|
-
describeHeading: "Type to the vet what you're seeing";
|
|
529
|
-
/** :1056 `describeHint`, the web frame's line under that heading. */
|
|
530
|
-
describeHelpLong: "Describe the issues your pet is experiencing";
|
|
586
|
+
/** The web page's close control (`flow__x`, aria "Close booking"). The mobile artifact names its tab instead. */
|
|
587
|
+
close: "Close booking";
|
|
531
588
|
/** see-a-vet/copy.ts:264 `intakeStepTwoCopy.detail.placeholder`, which the web funnel's textarea uses. */
|
|
532
589
|
reasonPlaceholder: "She's been scratching her left ear a lot this week...";
|
|
533
|
-
/**
|
|
534
|
-
yourVetTitle: "Which vet would you like to see?";
|
|
535
|
-
/** :1113 `timeHeading`. */
|
|
536
|
-
timeHeading: "Pick a date and time";
|
|
537
|
-
/** :1116 `reviewHeading`, drawn on the web frame where the mobile review draws none. */
|
|
538
|
-
reviewHeading: "Does this look right?";
|
|
539
|
-
/**
|
|
540
|
-
* :1047 `issuesHeading`, :1049 `issuesHint`, :1051 `otherIssue`. `{pet}` is DATA. The apostrophe is the
|
|
541
|
-
* web deck's typographic one, character for character.
|
|
542
|
-
*/
|
|
543
|
-
issuesHeadingTemplate: "Select {pet}’s main issues";
|
|
544
|
-
issuesHint: "Can select more than 1";
|
|
545
|
-
otherIssue: "Other";
|
|
546
|
-
/** :1129 `bookedHeading`. `{vet}` is the booked clinician's served name; without one the shared title stays. */
|
|
547
|
-
bookedHeadingTemplate: "You're booked with {vet}";
|
|
548
|
-
/** :1141, capital C as the web frame draws it. */
|
|
549
|
-
addToCalendarCta: "Add to Calendar";
|
|
550
|
-
/** see-a-vet/copy.ts `statePolicyNoticeCopy.back`, the funnel's Back (FunnelFrame, BookingFunnel.tsx:280). */
|
|
590
|
+
/** The web page's quiet Back beside Continue ("Back"). */
|
|
551
591
|
backLabel: "Back";
|
|
552
|
-
/**
|
|
553
|
-
* The emergency interstitial (`Desktop - 18`): ownerCopy.ts:1069, :1071-1072, :1085 and :1091.
|
|
554
|
-
*
|
|
555
|
-
* "PLEASE CALL ONE OF THESE FIRST." ONLY OVER CARDS THAT ARE THERE. The consumer web draws its cards on every
|
|
556
|
-
* warning, so its lede can point at them. The SDK draws a card only when the host gave it one (a locator, the
|
|
557
|
-
* pet's clinic) or the owner approves poison control, so a warning with none reads `ledeWithoutExits`: the
|
|
558
|
-
* consumer MOBILE deck's lede for exactly that state (everfur-mobile copy.ts:726-730, "it must not tell an
|
|
559
|
-
* owner to call a list that is absent from the screen"), which is the shared deck's value.
|
|
560
|
-
*/
|
|
561
|
-
emergency: Readonly<{
|
|
562
|
-
bannerTitle: "This can't wait for a scheduled call.";
|
|
563
|
-
lede: "What you're describing is the kind of thing vets want to see in person, now. Please call one of these first.";
|
|
564
|
-
ledeWithoutExits: string;
|
|
565
|
-
keepBookingCta: "I've handled this, continue with booking";
|
|
566
|
-
exitPrimaryVetTitle: "Call {petName}'s primary vet";
|
|
567
|
-
exitFindErTitle: string;
|
|
568
|
-
startCallHint: string;
|
|
569
|
-
}>;
|
|
570
592
|
stateBlockedTitle: string;
|
|
571
593
|
noCliniciansTitle: string;
|
|
572
594
|
noCliniciansBody: string;
|
|
573
595
|
noCliniciansRetryCta: string;
|
|
574
596
|
noCliniciansRegionBody: string;
|
|
597
|
+
yourVetTitle: string;
|
|
598
|
+
licensedPillTemplate: string;
|
|
575
599
|
reviewsLabel: string;
|
|
576
600
|
rescheduleFromTemplate: string;
|
|
577
601
|
rescheduleFailed: string;
|
|
602
|
+
rescheduleStepLabel: string;
|
|
603
|
+
rescheduleTitleTemplate: string;
|
|
604
|
+
rescheduleNowLabel: string;
|
|
605
|
+
rescheduleMoveTemplate: string;
|
|
606
|
+
rescheduleMoving: string;
|
|
607
|
+
rescheduleKeepLabel: string;
|
|
578
608
|
keepExistingCta: string;
|
|
579
609
|
bookingPausedTitle: string;
|
|
580
610
|
slotsErrorTitle: string;
|
|
@@ -607,10 +637,55 @@ declare const TELEVET_BOOKING_COPY_WEB: Readonly<{
|
|
|
607
637
|
refusedUnreadablePluralTemplate: string;
|
|
608
638
|
}>;
|
|
609
639
|
navTitle: string;
|
|
640
|
+
petFallback: "your pet";
|
|
641
|
+
whereTitleTemplate: string;
|
|
642
|
+
whereLeadTemplate: string;
|
|
643
|
+
wherePronounFallback: "they’ll";
|
|
644
|
+
whereFormLabelTemplate: string;
|
|
645
|
+
whereLegend: string;
|
|
646
|
+
wherePrescribeMetaTemplate: string;
|
|
647
|
+
whereWellnessMeta: string;
|
|
648
|
+
whereAnotherState: string;
|
|
649
|
+
whereWhichState: string;
|
|
650
|
+
whereLicensedTemplate: string;
|
|
651
|
+
whereAskEveryTime: string;
|
|
652
|
+
issuesTitleTemplate: string;
|
|
653
|
+
issuesHint: string;
|
|
654
|
+
issuesFormLabel: string;
|
|
655
|
+
issuesLegend: string;
|
|
656
|
+
issuesPickOne: string;
|
|
657
|
+
otherIssue: string;
|
|
658
|
+
describeHeadingTemplate: string;
|
|
659
|
+
describeFieldLabel: string;
|
|
660
|
+
emergencyCheck: Readonly<{
|
|
661
|
+
titleTemplate: string;
|
|
662
|
+
lead: string;
|
|
663
|
+
signs: readonly string[];
|
|
664
|
+
formLabel: string;
|
|
665
|
+
legend: string;
|
|
666
|
+
noneCta: string;
|
|
667
|
+
someCta: string;
|
|
668
|
+
}>;
|
|
669
|
+
timeHeading: string;
|
|
670
|
+
timeMorning: string;
|
|
671
|
+
timeAfternoon: string;
|
|
672
|
+
timeEvening: string;
|
|
673
|
+
timeLegendTemplate: string;
|
|
674
|
+
dayLegend: string;
|
|
675
|
+
reviewHeading: string;
|
|
676
|
+
summaryWhere: string;
|
|
677
|
+
changeCta: string;
|
|
678
|
+
whereAttestTemplate: string;
|
|
679
|
+
attestBoth: string;
|
|
680
|
+
bookedStepLabel: string;
|
|
681
|
+
bookedTitleTemplate: string;
|
|
682
|
+
bookedLeadTemplate: string;
|
|
683
|
+
footnote: string;
|
|
610
684
|
rescheduleNavTitle: string;
|
|
611
|
-
close: string;
|
|
612
685
|
continueCta: string;
|
|
686
|
+
petSelectTitle: string;
|
|
613
687
|
addPetCta: string;
|
|
688
|
+
addAnotherPetCta: string;
|
|
614
689
|
locationUnknownTitle: string;
|
|
615
690
|
locationUnknownBody: string;
|
|
616
691
|
locationUnknownCta: string;
|
|
@@ -620,7 +695,10 @@ declare const TELEVET_BOOKING_COPY_WEB: Readonly<{
|
|
|
620
695
|
locationUnavailableTitle: string;
|
|
621
696
|
locationUnavailableBody: string;
|
|
622
697
|
stateAttestTemplate: string;
|
|
698
|
+
describeHeading: string;
|
|
699
|
+
describeHelpLong: string;
|
|
623
700
|
addPhotoCta: string;
|
|
701
|
+
addPhotoMeta: string;
|
|
624
702
|
removePhotoLabel: string;
|
|
625
703
|
summaryPet: string;
|
|
626
704
|
summaryVet: string;
|
|
@@ -629,11 +707,16 @@ declare const TELEVET_BOOKING_COPY_WEB: Readonly<{
|
|
|
629
707
|
summaryReason: string;
|
|
630
708
|
summaryLengthTemplate: string;
|
|
631
709
|
confirmCta: string;
|
|
710
|
+
confirmBusy: string;
|
|
632
711
|
bookedTitle: string;
|
|
712
|
+
addToCalendarCta: string;
|
|
633
713
|
doneCta: string;
|
|
634
714
|
booked: Readonly<{
|
|
635
715
|
remindPromise: string;
|
|
636
716
|
summaryPromise: string;
|
|
717
|
+
recordsPromiseTemplate: string;
|
|
718
|
+
recordsPhotoPromiseTemplate: string;
|
|
719
|
+
stepsLabel: string;
|
|
637
720
|
joinPromise: string;
|
|
638
721
|
backToPet: string;
|
|
639
722
|
calendarAdded: string;
|
|
@@ -649,6 +732,18 @@ declare const TELEVET_BOOKING_COPY_WEB: Readonly<{
|
|
|
649
732
|
loadFailedTitle: string;
|
|
650
733
|
retryCta: string;
|
|
651
734
|
}>;
|
|
735
|
+
emergency: Readonly<{
|
|
736
|
+
bannerTitle: string;
|
|
737
|
+
keepBookingCta: string;
|
|
738
|
+
lede: string;
|
|
739
|
+
ledeWithoutExits: string;
|
|
740
|
+
exitPrimaryVetTitle: string;
|
|
741
|
+
exitFindErTitle: string;
|
|
742
|
+
startCallHint: string;
|
|
743
|
+
poisonControl: string;
|
|
744
|
+
poisonControlDetail: string;
|
|
745
|
+
poisonControlTel: "tel:+18884264435";
|
|
746
|
+
}>;
|
|
652
747
|
visit: Readonly<{
|
|
653
748
|
title: string;
|
|
654
749
|
}>;
|
|
@@ -727,15 +822,24 @@ interface TelevetSlotPickerProps {
|
|
|
727
822
|
readonly timeGroupLabel: string;
|
|
728
823
|
readonly rowTestIdPrefix?: string;
|
|
729
824
|
readonly testID?: string;
|
|
825
|
+
/**
|
|
826
|
+
* The owner-approved artifacts' slot groups (`vet-book-time`: "Morning", "Afternoon", "Evening"). Given, the
|
|
827
|
+
* day's times are drawn under those three labels; absent, as one list. Copy, so the caller passes the deck's.
|
|
828
|
+
*/
|
|
829
|
+
readonly periodLabels?: Readonly<Record<TelevetDayPeriod, string>> | undefined;
|
|
830
|
+
/** The times' group name for the chosen day ("Time on {day}"); `{day}` is DATA. Absent, `timeGroupLabel`. */
|
|
831
|
+
readonly timeLegendTemplate?: string | undefined;
|
|
730
832
|
}
|
|
731
|
-
declare function TelevetSlotPicker({ slots, busySlotId, onPick, selectedSlot, header, dayGroupLabel, timeGroupLabel, rowTestIdPrefix, testID, }: TelevetSlotPickerProps): ReactNode;
|
|
833
|
+
declare function TelevetSlotPicker({ slots, busySlotId, onPick, selectedSlot, header, dayGroupLabel, timeGroupLabel, rowTestIdPrefix, testID, periodLabels, timeLegendTemplate, }: TelevetSlotPickerProps): ReactNode;
|
|
732
834
|
|
|
733
835
|
/** One "label ... value" row in the summary card, as a bound `<dt>` / `<dd>` pair. */
|
|
734
|
-
declare function TelevetSummaryRow({ label, value, last, testID, }: {
|
|
836
|
+
declare function TelevetSummaryRow({ label, value, last, action, testID, }: {
|
|
735
837
|
readonly label: string;
|
|
736
838
|
readonly value: string;
|
|
737
839
|
/** The last row draws no divider, so the card does not end on a line. */
|
|
738
840
|
readonly last?: boolean;
|
|
841
|
+
/** A control at the row's end (the review's "Change" on When). */
|
|
842
|
+
readonly action?: ReactNode;
|
|
739
843
|
readonly testID?: string;
|
|
740
844
|
}): ReactNode;
|
|
741
845
|
/**
|
|
@@ -757,4 +861,4 @@ declare function TelevetSummaryCard({ children, testID }: {
|
|
|
757
861
|
readonly testID?: string;
|
|
758
862
|
}): ReactNode;
|
|
759
863
|
|
|
760
|
-
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,
|
|
864
|
+
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, TelevetBookingContext, 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, TelevetJoinScreen, type TelevetJoinScreenProps, type TelevetLocationStatus, TelevetMediaDropNotice, type TelevetMediaDropNoticeProps, 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, televetDaysFromSlots, televetScreenForRequest };
|