@everfur/sdk 0.7.1 → 0.9.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 +350 -0
- package/README.md +24 -16
- package/dist/{Chat-DQOsAumH.d.cts → Chat-Cb3Y8VwS.d.cts} +3 -3
- package/dist/{Chat-CFi5cNUF.d.ts → Chat-ClhB_8sp.d.ts} +3 -3
- package/dist/{DepthViews-D81c95Ra.d.cts → DepthViews-BSkuUGBB.d.ts} +1 -1
- package/dist/{DepthViews-C409ubw-.d.cts → DepthViews-CSCS-tZg.d.ts} +1 -1
- package/dist/{DepthViews-es8mIK0w.d.ts → DepthViews-CW1z8pnl.d.cts} +1 -1
- package/dist/{DepthViews-uilL1NJZ.d.ts → DepthViews-DDiPxyzg.d.cts} +1 -1
- package/dist/{ErrorPolicyPort-D22LUVrK.d.ts → ErrorPolicyPort-DwSnmGcX.d.ts} +1 -1
- package/dist/{ErrorPolicyPort-D6CybiqJ.d.cts → ErrorPolicyPort-NFDPe-5w.d.cts} +1 -1
- package/dist/{EverfurError-DmELDpXp.d.cts → EverfurError-pEXDbUJ1.d.cts} +9 -1
- package/dist/{EverfurError-DmELDpXp.d.ts → EverfurError-pEXDbUJ1.d.ts} +9 -1
- package/dist/{EverfurResult-ZtH-YV1h.d.cts → EverfurResult-dtl8ERAw.d.cts} +1 -1
- package/dist/{EverfurResult-SGvHKsCB.d.ts → EverfurResult-sKkoXew0.d.ts} +1 -1
- package/dist/IntakeMedia-BFZfBLjB.d.cts +116 -0
- package/dist/{IntakeMedia-BcjjUizr.d.ts → IntakeMedia-BH0fYDT2.d.cts} +19 -2
- package/dist/{IntakeMedia-CL_S2tZE.d.cts → IntakeMedia-Bavl7E4Z.d.ts} +19 -2
- package/dist/IntakeMedia-C8GlN_GK.d.ts +116 -0
- package/dist/animations/index.cjs +109 -1
- package/dist/animations/index.d.cts +6 -6
- package/dist/animations/index.d.ts +6 -6
- package/dist/animations/index.js +109 -1
- package/dist/{attachments-B2GjBgvF.d.cts → attachments-BD70jZZL.d.cts} +3 -3
- package/dist/{attachments-SF88N654.d.ts → attachments-CC7aHpwZ.d.ts} +7 -7
- package/dist/{attachments-DNaSbmA3.d.ts → attachments-DAUy3vPR.d.ts} +3 -3
- package/dist/{attachments-DI710no4.d.cts → attachments-DaOaIBNf.d.cts} +7 -7
- package/dist/{bookingCopy-D2N3RhsV.d.ts → bookingCopy-CUW9Gdzc.d.ts} +15 -7
- package/dist/{bookingCopy-xlXxORCA.d.cts → bookingCopy-oEjqkiNA.d.cts} +15 -7
- package/dist/{branding-Bio5MM6g.d.cts → branding-aGleD_ki.d.ts} +99 -6
- package/dist/{branding-ytH4jJq1.d.ts → branding-ctD0B2Th.d.cts} +99 -6
- package/dist/{callRoom-7wrE3RP2.d.ts → callRoom-B1qq_D-4.d.ts} +1 -1
- package/dist/{callRoom-B_EqaUzx.d.cts → callRoom-DfZTWFXh.d.cts} +1 -1
- package/dist/{casesRepository-B-md8h1S.d.cts → casesRepository-Bzs7aw4t.d.cts} +2 -2
- package/dist/{casesRepository-CC6951TK.d.ts → casesRepository-CywqL6mj.d.ts} +2 -2
- package/dist/chat/index.cjs +335 -1
- package/dist/chat/index.d.cts +12 -12
- package/dist/chat/index.d.ts +12 -12
- package/dist/chat/index.js +335 -1
- package/dist/client/index.cjs +115 -11
- package/dist/client/index.d.cts +14 -14
- package/dist/client/index.d.ts +14 -14
- package/dist/client/index.js +115 -11
- package/dist/{config-BM0sv5jx.d.ts → config-BysLVhku.d.ts} +3 -3
- package/dist/{config-Daa1plhQ.d.cts → config-EZzEyS-c.d.cts} +3 -3
- package/dist/consent/index.cjs +112 -1
- package/dist/consent/index.d.cts +9 -9
- package/dist/consent/index.d.ts +9 -9
- package/dist/consent/index.js +112 -1
- package/dist/{context-DQHtwcHN.d.cts → context-DUwYArkM.d.cts} +9 -9
- package/dist/{context-CDV2pwGI.d.ts → context-DpfgbnOU.d.ts} +9 -9
- package/dist/{copy-BEx5F71o.d.cts → copy-DK4r9oGz.d.cts} +5 -5
- package/dist/{copy-Cl1l-qmY.d.ts → copy-LxZGnFXJ.d.ts} +5 -5
- package/dist/core/index.cjs +140 -13
- package/dist/core/index.d.cts +19 -19
- package/dist/core/index.d.ts +19 -19
- package/dist/core/index.js +140 -13
- package/dist/{depth-CAAwiStc.d.cts → depth-DAd77kRe.d.cts} +7 -6
- package/dist/{depth-DfNRVtrV.d.ts → depth-Mk7quUNa.d.ts} +7 -6
- package/dist/{entitlementRepository-CVWvND1P.d.ts → entitlementRepository-CrD0O7VR.d.ts} +4 -4
- package/dist/{entitlementRepository-DPvWjV-N.d.cts → entitlementRepository-Dra_4FU_.d.cts} +4 -4
- package/dist/{identity-DUlshgow.d.cts → identity-75whJXyP.d.cts} +2 -2
- package/dist/{identity-BhT7oJDS.d.ts → identity-BiyMDMrR.d.ts} +2 -2
- package/dist/index.cjs +365 -12
- package/dist/index.d.cts +19 -19
- package/dist/index.d.ts +19 -19
- package/dist/index.js +365 -12
- package/dist/{models-DSqA5Ahs.d.ts → models-CrbUwbuS.d.ts} +1 -1
- package/dist/{models-Bn2z0NNo.d.cts → models-DzvqEjMm.d.cts} +1 -1
- package/dist/notifications/index.cjs +94 -2
- package/dist/notifications/index.d.cts +5 -5
- package/dist/notifications/index.d.ts +5 -5
- package/dist/notifications/index.js +94 -2
- package/dist/{pets-Bneph9m1.d.cts → pets-DoXxTw4x.d.cts} +2 -2
- package/dist/{pets-DjcLmRrW.d.ts → pets-W2BuLYko.d.ts} +2 -2
- package/dist/{petsRepository-BwxmfX_s.d.ts → petsRepository-ByMzq1Z9.d.ts} +2 -2
- package/dist/{petsRepository-BnVre3q7.d.cts → petsRepository-yyoo0k2I.d.cts} +2 -2
- package/dist/photo/index.cjs +131 -1
- package/dist/photo/index.d.cts +3 -3
- package/dist/photo/index.d.ts +3 -3
- package/dist/photo/index.js +131 -1
- package/dist/{ports-BPKxFOSe.d.cts → ports-BeVJYP0_.d.cts} +7 -7
- package/dist/{ports-Di9rdLO9.d.ts → ports-zYl8S_lI.d.ts} +7 -7
- package/dist/records/depth/index.cjs +200 -2
- package/dist/records/depth/index.d.cts +11 -11
- package/dist/records/depth/index.d.ts +11 -11
- package/dist/records/depth/index.js +200 -2
- package/dist/records/index.cjs +742 -4
- package/dist/records/index.d.cts +22 -14
- package/dist/records/index.d.ts +22 -14
- package/dist/records/index.js +742 -4
- package/dist/{requestFunnel-CiSX2pun.d.ts → requestFunnel-BPeBZdKp.d.ts} +5 -5
- package/dist/{requestFunnel-DMR_1T3O.d.cts → requestFunnel-DHeSzCT6.d.cts} +5 -5
- package/dist/{runtimeTypes-CkMFCbHW.d.ts → runtimeTypes-Cc207nbn.d.ts} +7 -7
- package/dist/{runtimeTypes-2gJ5hYoE.d.cts → runtimeTypes-DgMizQKz.d.cts} +7 -7
- package/dist/server/events/index.cjs +92 -2
- package/dist/server/events/index.d.cts +4 -4
- package/dist/server/events/index.d.ts +4 -4
- package/dist/server/events/index.js +92 -2
- package/dist/server/index.cjs +95 -2
- package/dist/server/index.d.cts +5 -5
- package/dist/server/index.d.ts +5 -5
- package/dist/server/index.js +95 -2
- package/dist/televet/booking/index.cjs +396 -4
- package/dist/televet/booking/index.d.cts +24 -127
- package/dist/televet/booking/index.d.ts +24 -127
- package/dist/televet/booking/index.js +396 -4
- package/dist/televet/call/index.cjs +71 -1
- package/dist/televet/call/index.d.cts +3 -3
- package/dist/televet/call/index.d.ts +3 -3
- package/dist/televet/call/index.js +71 -1
- package/dist/televet/index.cjs +101 -1
- package/dist/televet/index.d.cts +25 -8
- package/dist/televet/index.d.ts +25 -8
- package/dist/televet/index.js +101 -1
- package/dist/{bookingTypes-D4pD3tHs.d.ts → televetGlobal-C5dTUACe.d.cts} +34 -1
- package/dist/{bookingTypes-D4pD3tHs.d.cts → televetGlobal-CnjrfhT4.d.ts} +34 -1
- package/dist/testing/index.cjs +98 -7
- package/dist/testing/index.d.cts +3 -3
- package/dist/testing/index.d.ts +3 -3
- package/dist/testing/index.js +98 -7
- package/dist/testing/rn/index.cjs +101 -1
- package/dist/testing/rn/index.d.cts +13 -13
- package/dist/testing/rn/index.d.ts +13 -13
- package/dist/testing/rn/index.js +101 -1
- package/dist/testing/web/index.cjs +95 -1
- package/dist/testing/web/index.d.cts +14 -14
- package/dist/testing/web/index.d.ts +14 -14
- package/dist/testing/web/index.js +95 -1
- package/dist/{timelineRows-D3171ksh.d.ts → timelineRows-D22vGN9t.d.ts} +1 -1
- package/dist/{timelineRows-DDnz4gx2.d.cts → timelineRows-DUQIWSjc.d.cts} +1 -1
- package/dist/{tokens-BYtbKwFh.d.cts → tokens-RAKZj7M8.d.cts} +89 -5
- package/dist/{tokens-BYtbKwFh.d.ts → tokens-RAKZj7M8.d.ts} +89 -5
- package/dist/{typeStyle-BqfwxZH4.d.cts → typeStyle-DVj8iCC1.d.ts} +30 -3
- package/dist/{typeStyle-DKz02DGU.d.ts → typeStyle-Nt7w0rhE.d.cts} +30 -3
- package/dist/{useRecordsDepth-Z9FF5X4E.d.ts → useRecordsDepth-C0Qfoghi.d.ts} +7 -6
- package/dist/{useRecordsDepth-COJ0wSYK.d.cts → useRecordsDepth-Mbysp548.d.cts} +7 -6
- package/dist/{useVetVisit-Ds8f1peV.d.cts → useVetVisit-BQX_aTJs.d.cts} +2 -2
- package/dist/{useVetVisit-BsjoDO-n.d.ts → useVetVisit-RPBOabl8.d.ts} +2 -2
- package/dist/video/index.cjs +122 -1
- package/dist/video/index.d.cts +3 -3
- package/dist/video/index.d.ts +3 -3
- package/dist/video/index.js +122 -1
- package/dist/{view-nRy6SitU.d.cts → view-CskIgOFV.d.cts} +5 -5
- package/dist/{view-DoQEHXJR.d.ts → view-DqKXtxEZ.d.ts} +5 -5
- package/dist/web/consent/index.cjs +111 -1
- package/dist/web/consent/index.d.cts +9 -9
- package/dist/web/consent/index.d.ts +9 -9
- package/dist/web/consent/index.js +111 -1
- package/dist/web/index.cjs +326 -14
- package/dist/web/index.d.cts +29 -23
- package/dist/web/index.d.ts +29 -23
- package/dist/web/index.js +326 -14
- package/dist/web/notifications/index.cjs +95 -2
- package/dist/web/notifications/index.d.cts +7 -7
- package/dist/web/notifications/index.d.ts +7 -7
- package/dist/web/notifications/index.js +95 -2
- package/dist/web/records/depth/index.cjs +170 -2
- package/dist/web/records/depth/index.d.cts +11 -11
- package/dist/web/records/depth/index.d.ts +11 -11
- package/dist/web/records/depth/index.js +170 -2
- package/dist/web/records/index.cjs +691 -4
- package/dist/web/records/index.d.cts +34 -37
- package/dist/web/records/index.d.ts +34 -37
- package/dist/web/records/index.js +691 -4
- package/dist/web/records/upload/index.cjs +3 -0
- package/dist/web/records/upload/index.d.cts +23 -0
- package/dist/web/records/upload/index.d.ts +23 -0
- package/dist/web/records/upload/index.js +3 -0
- package/dist/web/televet/booking/index.cjs +425 -4
- package/dist/web/televet/booking/index.d.cts +25 -39
- package/dist/web/televet/booking/index.d.ts +25 -39
- package/dist/web/televet/booking/index.js +425 -4
- package/dist/web/televet/call/index.cjs +28 -1
- package/dist/web/televet/call/index.d.cts +2 -2
- package/dist/web/televet/call/index.d.ts +2 -2
- package/dist/web/televet/call/index.js +28 -1
- package/dist/web/televet/index.cjs +102 -4
- package/dist/web/televet/index.d.cts +22 -11
- package/dist/web/televet/index.d.ts +22 -11
- package/dist/web/televet/index.js +102 -4
- package/package.json +20 -4
- package/web/records/upload/native-blocked.cjs +12 -0
- package/web/records/upload/package.json +8 -0
- package/dist/televetGlobal-CEk0_cW9.d.cts +0 -34
- package/dist/televetGlobal-Cs9Wbqsy.d.ts +0 -34
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { T as TelevetConsult } from './televetGlobal-C5dTUACe.cjs';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* The pet's own clinic, when the HOST holds it.
|
|
6
|
+
*
|
|
7
|
+
* NOT READ FROM THE WIRE, and this is the one prop on this surface that could be mistaken for a gap. The
|
|
8
|
+
* consumer reads `GET /pets/{pet_id}/primary-vet` (TelevetEarlyEmergency.tsx:54); the partner plane has no
|
|
9
|
+
* primary-vet concept at all, so there is nothing for the SDK to read. A partner that already holds its
|
|
10
|
+
* customer's clinic can pass it and get the consumer's exact row; absent, the row is simply not drawn, which
|
|
11
|
+
* is what the consumer does for a pet with no clinic on file, a read that failed, or one still in flight
|
|
12
|
+
* (TelevetEarlyEmergency.tsx:28-30).
|
|
13
|
+
*
|
|
14
|
+
* NO NUMBER IS EVER INVENTED FOR THIS SCREEN. `dial` is the host's own action, not a `tel:` this file
|
|
15
|
+
* assembles, so the SDK never parses a phone number back out of a displayed line.
|
|
16
|
+
*/
|
|
17
|
+
interface TelevetPrimaryVet {
|
|
18
|
+
/** The clinic or the vet's name. Shown under the title; absent, the title stands alone. */
|
|
19
|
+
readonly detail?: string | null;
|
|
20
|
+
/**
|
|
21
|
+
* Places the call. ABSENT MEANS THE CARD IS NOT PRESSABLE: the consumer names the clinic without a dial
|
|
22
|
+
* action rather than inventing one when the directory holds no number (TelevetEarlyEmergency.tsx:107-113).
|
|
23
|
+
*/
|
|
24
|
+
readonly dial?: (() => void) | undefined;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* THE EXIT ROWS, on both places the warning is drawn: in place of Describe and at Confirm, in the artifacts' order
|
|
28
|
+
* (`vet-book-emergency`): find an emergency vet (only with the host's own locator), ASPCA Animal Poison Control
|
|
29
|
+
* (dialled from its own number), then the pet's own clinic (only when the host holds it). One white box of rows
|
|
30
|
+
* split by hairlines, inside the panel's alert wash.
|
|
31
|
+
*/
|
|
32
|
+
declare function TelevetEmergencyExits({ petName, primaryVet, onFindEmergencyVet, }: {
|
|
33
|
+
readonly petName?: string | null | undefined;
|
|
34
|
+
readonly primaryVet?: TelevetPrimaryVet | null | undefined;
|
|
35
|
+
readonly onFindEmergencyVet?: (() => void) | undefined;
|
|
36
|
+
}): ReactNode;
|
|
37
|
+
|
|
38
|
+
/** The calendar entry a booked visit asks the host to write. */
|
|
39
|
+
interface TelevetCalendarEvent {
|
|
40
|
+
/**
|
|
41
|
+
* A stable key for THIS consult's entry.
|
|
42
|
+
*
|
|
43
|
+
* Keyed on the CONSULT so a re-tap updates the same entry rather than writing a second event for one visit,
|
|
44
|
+
* and so a later cancel or reschedule can address the SAME row. A host that ignores the key writes duplicates
|
|
45
|
+
* the owner has to clean up by hand.
|
|
46
|
+
*/
|
|
47
|
+
readonly key: string;
|
|
48
|
+
readonly title: string;
|
|
49
|
+
readonly startDate: Date;
|
|
50
|
+
readonly endDate: Date;
|
|
51
|
+
/** The reminder offset in minutes, negative for "before". The platform queues its own at the same offset. */
|
|
52
|
+
readonly alarmOffsetMinutes: number;
|
|
53
|
+
}
|
|
54
|
+
/** Writes the entry. Resolves true when it landed; false for a refused permission or no calendar at all. */
|
|
55
|
+
type TelevetCalendarWriter = (event: TelevetCalendarEvent) => Promise<boolean>;
|
|
56
|
+
/** The calendar key for a consult. One definition, so a cancel and a reschedule address the booked row. */
|
|
57
|
+
declare function televetConsultCalendarKey(consultId: string): string;
|
|
58
|
+
interface TelevetBookedScreenProps {
|
|
59
|
+
readonly consult: TelevetConsult;
|
|
60
|
+
readonly petName: string | null;
|
|
61
|
+
readonly onDone: () => void;
|
|
62
|
+
/** Absent, there is no Add to calendar control. */
|
|
63
|
+
readonly onAddToCalendar?: TelevetCalendarWriter | undefined;
|
|
64
|
+
/**
|
|
65
|
+
* Has the host PROVEN it can host the call in app? Defaults to false.
|
|
66
|
+
*
|
|
67
|
+
* Fail closed: a host that has not said so is assumed not to have the native video modules, and the in-app
|
|
68
|
+
* join promise is withheld rather than printed on a hope.
|
|
69
|
+
*/
|
|
70
|
+
readonly canJoinInApp?: boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Did the owner share the pet's records with the vet on the review? Only then may step 02 say the records go
|
|
73
|
+
* to the vet ahead of the call; otherwise it keeps the deck's own summary line.
|
|
74
|
+
*/
|
|
75
|
+
readonly sharedRecords?: boolean | undefined;
|
|
76
|
+
/**
|
|
77
|
+
* Did exactly one PHOTO go with this booking, and did the consult keep it? Only then may step 02 say the photo
|
|
78
|
+
* goes to the vet (the artifact's photo form). Defaults to false.
|
|
79
|
+
*/
|
|
80
|
+
readonly sentPhoto?: boolean | undefined;
|
|
81
|
+
}
|
|
82
|
+
declare function TelevetBookedScreen({ consult, petName, onDone, onAddToCalendar, canJoinInApp, sharedRecords, sentPhoto, }: TelevetBookedScreenProps): ReactNode;
|
|
83
|
+
|
|
84
|
+
/** A picked-but-not-yet-uploaded attachment, in the host's own terms. */
|
|
85
|
+
interface TelevetIntakeMediaItem {
|
|
86
|
+
readonly uri: string;
|
|
87
|
+
readonly filename: string;
|
|
88
|
+
readonly mimeType: string;
|
|
89
|
+
readonly fileSize: number;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* The host's media picker.
|
|
93
|
+
*
|
|
94
|
+
* Resolves the picks, or null when the owner cancelled or the permission was refused. The SDK takes no picker
|
|
95
|
+
* dependency: on the consumer app this is expo-image-picker behind `pickMediaFromLibrary`, and a partner
|
|
96
|
+
* supplies whichever picker its app already has.
|
|
97
|
+
*
|
|
98
|
+
* `limit` is the remaining headroom, so the host can cap its own selection rather than returning picks this
|
|
99
|
+
* row has to silently discard.
|
|
100
|
+
*/
|
|
101
|
+
type TelevetMediaPicker = (limit: number) => Promise<readonly TelevetIntakeMediaItem[] | null>;
|
|
102
|
+
interface TelevetIntakeMediaProps {
|
|
103
|
+
readonly media: readonly TelevetIntakeMediaItem[];
|
|
104
|
+
readonly onChange: (next: readonly TelevetIntakeMediaItem[]) => void;
|
|
105
|
+
/** Absent, the row renders nothing at all. There is no disabled Add control. */
|
|
106
|
+
readonly onPickMedia?: TelevetMediaPicker | undefined;
|
|
107
|
+
/**
|
|
108
|
+
* A line under the row, or nothing. The booking passes the artifact's "Optional. A close-up in good light
|
|
109
|
+
* helps." only once the televet presign has answered, because the advice is true only when a photo can reach
|
|
110
|
+
* the vet. Absent, nothing is drawn.
|
|
111
|
+
*/
|
|
112
|
+
readonly meta?: string | null | undefined;
|
|
113
|
+
}
|
|
114
|
+
declare function TelevetIntakeMedia({ media, onChange, onPickMedia, meta }: TelevetIntakeMediaProps): ReactNode;
|
|
115
|
+
|
|
116
|
+
export { type TelevetCalendarWriter as T, type TelevetMediaPicker as a, type TelevetPrimaryVet as b, type TelevetCalendarEvent as c, type TelevetIntakeMediaItem as d, TelevetBookedScreen as e, type TelevetBookedScreenProps as f, TelevetEmergencyExits as g, TelevetIntakeMedia as h, type TelevetIntakeMediaProps as i, televetConsultCalendarKey as t };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
import { T as TelevetConsult } from './
|
|
2
|
+
import { T as TelevetConsult } from './televetGlobal-C5dTUACe.cjs';
|
|
3
3
|
|
|
4
4
|
/** The calendar entry a booked visit asks the host to write. */
|
|
5
5
|
interface TelevetCalendarEvent {
|
|
@@ -61,6 +61,23 @@ interface TelevetBookedScreenProps {
|
|
|
61
61
|
}
|
|
62
62
|
declare function TelevetBookedScreen({ consult, petName, onDone, onAddToCalendar, canJoinInApp, lengthMinutes, sharedRecords, sentPhoto, }: TelevetBookedScreenProps): ReactNode;
|
|
63
63
|
|
|
64
|
+
/** The pet's own clinic, when the HOST holds it. The RN file's docblock explains why it is a prop. */
|
|
65
|
+
interface TelevetPrimaryVet {
|
|
66
|
+
readonly detail?: string | null;
|
|
67
|
+
/** Places the call. Absent, the row is not a link and takes no click. */
|
|
68
|
+
readonly dial?: (() => void) | undefined;
|
|
69
|
+
}
|
|
70
|
+
interface TelevetEmergencyExitsProps {
|
|
71
|
+
/** The pet's name, for the primary-vet card. Absent, that card is not drawn. */
|
|
72
|
+
readonly petName?: string | null | undefined;
|
|
73
|
+
readonly primaryVet?: TelevetPrimaryVet | null | undefined;
|
|
74
|
+
/** The host's own emergency-vet locator. Absent, that card is not drawn. */
|
|
75
|
+
readonly onFindEmergencyVet?: (() => void) | undefined;
|
|
76
|
+
/** Distinguishes the two places the warning is drawn, for tests. */
|
|
77
|
+
readonly testIDPrefix: string;
|
|
78
|
+
}
|
|
79
|
+
declare function TelevetEmergencyExits({ petName, primaryVet, onFindEmergencyVet, testIDPrefix, }: TelevetEmergencyExitsProps): ReactNode;
|
|
80
|
+
|
|
64
81
|
/** A picked-but-not-yet-uploaded attachment, in the host's own terms. */
|
|
65
82
|
interface TelevetIntakeMediaItem {
|
|
66
83
|
readonly uri: string;
|
|
@@ -100,4 +117,4 @@ interface TelevetIntakeMediaProps {
|
|
|
100
117
|
}
|
|
101
118
|
declare function TelevetIntakeMedia({ media, onChange, onPickMedia, listLabel, meta }: TelevetIntakeMediaProps): ReactNode;
|
|
102
119
|
|
|
103
|
-
export { type TelevetCalendarWriter as T, type TelevetMediaPicker as a, type
|
|
120
|
+
export { type TelevetCalendarWriter as T, type TelevetMediaPicker as a, type TelevetPrimaryVet as b, type TelevetCalendarEvent as c, type TelevetIntakeMediaItem as d, TelevetBookedScreen as e, type TelevetBookedScreenProps as f, TelevetEmergencyExits as g, type TelevetEmergencyExitsProps as h, TelevetIntakeMedia as i, type TelevetIntakeMediaProps as j, televetConsultCalendarKey as t };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
import { T as TelevetConsult } from './
|
|
2
|
+
import { T as TelevetConsult } from './televetGlobal-CnjrfhT4.js';
|
|
3
3
|
|
|
4
4
|
/** The calendar entry a booked visit asks the host to write. */
|
|
5
5
|
interface TelevetCalendarEvent {
|
|
@@ -61,6 +61,23 @@ interface TelevetBookedScreenProps {
|
|
|
61
61
|
}
|
|
62
62
|
declare function TelevetBookedScreen({ consult, petName, onDone, onAddToCalendar, canJoinInApp, lengthMinutes, sharedRecords, sentPhoto, }: TelevetBookedScreenProps): ReactNode;
|
|
63
63
|
|
|
64
|
+
/** The pet's own clinic, when the HOST holds it. The RN file's docblock explains why it is a prop. */
|
|
65
|
+
interface TelevetPrimaryVet {
|
|
66
|
+
readonly detail?: string | null;
|
|
67
|
+
/** Places the call. Absent, the row is not a link and takes no click. */
|
|
68
|
+
readonly dial?: (() => void) | undefined;
|
|
69
|
+
}
|
|
70
|
+
interface TelevetEmergencyExitsProps {
|
|
71
|
+
/** The pet's name, for the primary-vet card. Absent, that card is not drawn. */
|
|
72
|
+
readonly petName?: string | null | undefined;
|
|
73
|
+
readonly primaryVet?: TelevetPrimaryVet | null | undefined;
|
|
74
|
+
/** The host's own emergency-vet locator. Absent, that card is not drawn. */
|
|
75
|
+
readonly onFindEmergencyVet?: (() => void) | undefined;
|
|
76
|
+
/** Distinguishes the two places the warning is drawn, for tests. */
|
|
77
|
+
readonly testIDPrefix: string;
|
|
78
|
+
}
|
|
79
|
+
declare function TelevetEmergencyExits({ petName, primaryVet, onFindEmergencyVet, testIDPrefix, }: TelevetEmergencyExitsProps): ReactNode;
|
|
80
|
+
|
|
64
81
|
/** A picked-but-not-yet-uploaded attachment, in the host's own terms. */
|
|
65
82
|
interface TelevetIntakeMediaItem {
|
|
66
83
|
readonly uri: string;
|
|
@@ -100,4 +117,4 @@ interface TelevetIntakeMediaProps {
|
|
|
100
117
|
}
|
|
101
118
|
declare function TelevetIntakeMedia({ media, onChange, onPickMedia, listLabel, meta }: TelevetIntakeMediaProps): ReactNode;
|
|
102
119
|
|
|
103
|
-
export { type TelevetCalendarWriter as T, type TelevetMediaPicker as a, type
|
|
120
|
+
export { type TelevetCalendarWriter as T, type TelevetMediaPicker as a, type TelevetPrimaryVet as b, type TelevetCalendarEvent as c, type TelevetIntakeMediaItem as d, TelevetBookedScreen as e, type TelevetBookedScreenProps as f, TelevetEmergencyExits as g, type TelevetEmergencyExitsProps as h, TelevetIntakeMedia as i, type TelevetIntakeMediaProps as j, televetConsultCalendarKey as t };
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { T as TelevetConsult } from './televetGlobal-CnjrfhT4.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* The pet's own clinic, when the HOST holds it.
|
|
6
|
+
*
|
|
7
|
+
* NOT READ FROM THE WIRE, and this is the one prop on this surface that could be mistaken for a gap. The
|
|
8
|
+
* consumer reads `GET /pets/{pet_id}/primary-vet` (TelevetEarlyEmergency.tsx:54); the partner plane has no
|
|
9
|
+
* primary-vet concept at all, so there is nothing for the SDK to read. A partner that already holds its
|
|
10
|
+
* customer's clinic can pass it and get the consumer's exact row; absent, the row is simply not drawn, which
|
|
11
|
+
* is what the consumer does for a pet with no clinic on file, a read that failed, or one still in flight
|
|
12
|
+
* (TelevetEarlyEmergency.tsx:28-30).
|
|
13
|
+
*
|
|
14
|
+
* NO NUMBER IS EVER INVENTED FOR THIS SCREEN. `dial` is the host's own action, not a `tel:` this file
|
|
15
|
+
* assembles, so the SDK never parses a phone number back out of a displayed line.
|
|
16
|
+
*/
|
|
17
|
+
interface TelevetPrimaryVet {
|
|
18
|
+
/** The clinic or the vet's name. Shown under the title; absent, the title stands alone. */
|
|
19
|
+
readonly detail?: string | null;
|
|
20
|
+
/**
|
|
21
|
+
* Places the call. ABSENT MEANS THE CARD IS NOT PRESSABLE: the consumer names the clinic without a dial
|
|
22
|
+
* action rather than inventing one when the directory holds no number (TelevetEarlyEmergency.tsx:107-113).
|
|
23
|
+
*/
|
|
24
|
+
readonly dial?: (() => void) | undefined;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* THE EXIT ROWS, on both places the warning is drawn: in place of Describe and at Confirm, in the artifacts' order
|
|
28
|
+
* (`vet-book-emergency`): find an emergency vet (only with the host's own locator), ASPCA Animal Poison Control
|
|
29
|
+
* (dialled from its own number), then the pet's own clinic (only when the host holds it). One white box of rows
|
|
30
|
+
* split by hairlines, inside the panel's alert wash.
|
|
31
|
+
*/
|
|
32
|
+
declare function TelevetEmergencyExits({ petName, primaryVet, onFindEmergencyVet, }: {
|
|
33
|
+
readonly petName?: string | null | undefined;
|
|
34
|
+
readonly primaryVet?: TelevetPrimaryVet | null | undefined;
|
|
35
|
+
readonly onFindEmergencyVet?: (() => void) | undefined;
|
|
36
|
+
}): ReactNode;
|
|
37
|
+
|
|
38
|
+
/** The calendar entry a booked visit asks the host to write. */
|
|
39
|
+
interface TelevetCalendarEvent {
|
|
40
|
+
/**
|
|
41
|
+
* A stable key for THIS consult's entry.
|
|
42
|
+
*
|
|
43
|
+
* Keyed on the CONSULT so a re-tap updates the same entry rather than writing a second event for one visit,
|
|
44
|
+
* and so a later cancel or reschedule can address the SAME row. A host that ignores the key writes duplicates
|
|
45
|
+
* the owner has to clean up by hand.
|
|
46
|
+
*/
|
|
47
|
+
readonly key: string;
|
|
48
|
+
readonly title: string;
|
|
49
|
+
readonly startDate: Date;
|
|
50
|
+
readonly endDate: Date;
|
|
51
|
+
/** The reminder offset in minutes, negative for "before". The platform queues its own at the same offset. */
|
|
52
|
+
readonly alarmOffsetMinutes: number;
|
|
53
|
+
}
|
|
54
|
+
/** Writes the entry. Resolves true when it landed; false for a refused permission or no calendar at all. */
|
|
55
|
+
type TelevetCalendarWriter = (event: TelevetCalendarEvent) => Promise<boolean>;
|
|
56
|
+
/** The calendar key for a consult. One definition, so a cancel and a reschedule address the booked row. */
|
|
57
|
+
declare function televetConsultCalendarKey(consultId: string): string;
|
|
58
|
+
interface TelevetBookedScreenProps {
|
|
59
|
+
readonly consult: TelevetConsult;
|
|
60
|
+
readonly petName: string | null;
|
|
61
|
+
readonly onDone: () => void;
|
|
62
|
+
/** Absent, there is no Add to calendar control. */
|
|
63
|
+
readonly onAddToCalendar?: TelevetCalendarWriter | undefined;
|
|
64
|
+
/**
|
|
65
|
+
* Has the host PROVEN it can host the call in app? Defaults to false.
|
|
66
|
+
*
|
|
67
|
+
* Fail closed: a host that has not said so is assumed not to have the native video modules, and the in-app
|
|
68
|
+
* join promise is withheld rather than printed on a hope.
|
|
69
|
+
*/
|
|
70
|
+
readonly canJoinInApp?: boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Did the owner share the pet's records with the vet on the review? Only then may step 02 say the records go
|
|
73
|
+
* to the vet ahead of the call; otherwise it keeps the deck's own summary line.
|
|
74
|
+
*/
|
|
75
|
+
readonly sharedRecords?: boolean | undefined;
|
|
76
|
+
/**
|
|
77
|
+
* Did exactly one PHOTO go with this booking, and did the consult keep it? Only then may step 02 say the photo
|
|
78
|
+
* goes to the vet (the artifact's photo form). Defaults to false.
|
|
79
|
+
*/
|
|
80
|
+
readonly sentPhoto?: boolean | undefined;
|
|
81
|
+
}
|
|
82
|
+
declare function TelevetBookedScreen({ consult, petName, onDone, onAddToCalendar, canJoinInApp, sharedRecords, sentPhoto, }: TelevetBookedScreenProps): ReactNode;
|
|
83
|
+
|
|
84
|
+
/** A picked-but-not-yet-uploaded attachment, in the host's own terms. */
|
|
85
|
+
interface TelevetIntakeMediaItem {
|
|
86
|
+
readonly uri: string;
|
|
87
|
+
readonly filename: string;
|
|
88
|
+
readonly mimeType: string;
|
|
89
|
+
readonly fileSize: number;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* The host's media picker.
|
|
93
|
+
*
|
|
94
|
+
* Resolves the picks, or null when the owner cancelled or the permission was refused. The SDK takes no picker
|
|
95
|
+
* dependency: on the consumer app this is expo-image-picker behind `pickMediaFromLibrary`, and a partner
|
|
96
|
+
* supplies whichever picker its app already has.
|
|
97
|
+
*
|
|
98
|
+
* `limit` is the remaining headroom, so the host can cap its own selection rather than returning picks this
|
|
99
|
+
* row has to silently discard.
|
|
100
|
+
*/
|
|
101
|
+
type TelevetMediaPicker = (limit: number) => Promise<readonly TelevetIntakeMediaItem[] | null>;
|
|
102
|
+
interface TelevetIntakeMediaProps {
|
|
103
|
+
readonly media: readonly TelevetIntakeMediaItem[];
|
|
104
|
+
readonly onChange: (next: readonly TelevetIntakeMediaItem[]) => void;
|
|
105
|
+
/** Absent, the row renders nothing at all. There is no disabled Add control. */
|
|
106
|
+
readonly onPickMedia?: TelevetMediaPicker | undefined;
|
|
107
|
+
/**
|
|
108
|
+
* A line under the row, or nothing. The booking passes the artifact's "Optional. A close-up in good light
|
|
109
|
+
* helps." only once the televet presign has answered, because the advice is true only when a photo can reach
|
|
110
|
+
* the vet. Absent, nothing is drawn.
|
|
111
|
+
*/
|
|
112
|
+
readonly meta?: string | null | undefined;
|
|
113
|
+
}
|
|
114
|
+
declare function TelevetIntakeMedia({ media, onChange, onPickMedia, meta }: TelevetIntakeMediaProps): ReactNode;
|
|
115
|
+
|
|
116
|
+
export { type TelevetCalendarWriter as T, type TelevetMediaPicker as a, type TelevetPrimaryVet as b, type TelevetCalendarEvent as c, type TelevetIntakeMediaItem as d, TelevetBookedScreen as e, type TelevetBookedScreenProps as f, TelevetEmergencyExits as g, TelevetIntakeMedia as h, type TelevetIntakeMediaProps as i, televetConsultCalendarKey as t };
|