@everfur/sdk 0.13.0 → 0.14.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 +126 -0
- package/README.md +11 -10
- package/dist/{Chat.d-Dts8u_1a.d.cts → Chat.d-aycmX1CA.d.cts} +12 -4
- package/dist/{Chat.d-DUNTfzqC.d.ts → Chat.d-puminpyi.d.ts} +12 -4
- package/dist/{DepthViews.d-CubkMPbU.d.ts → DepthViews.d-BdvFZgPs.d.cts} +1 -1
- package/dist/{DepthViews.d-Ce2Zhnrb.d.ts → DepthViews.d-DIvxzLDf.d.ts} +1 -1
- package/dist/{DepthViews.d-BMU2jFPw.d.cts → DepthViews.d-Dy0Zl-s-.d.ts} +1 -1
- package/dist/{DepthViews.d-BIp599lz.d.cts → DepthViews.d-wLNkzk9f.d.cts} +1 -1
- package/dist/RecordsPage.d-9Ank15PT.d.ts +93 -0
- package/dist/RecordsPage.d-DMKU0IKc.d.cts +93 -0
- package/dist/animations/index.d.cts +5 -5
- package/dist/animations/index.d.ts +5 -5
- package/dist/{attachments.d-D1yhJjcZ.d.ts → attachments.d--sIsfk6e.d.ts} +2 -2
- package/dist/{attachments.d-Bp2qbHxn.d.cts → attachments.d-DNUCiyy5.d.cts} +6 -24
- package/dist/{attachments.d-DisnvB9R.d.cts → attachments.d-ZEpTUeWN.d.cts} +2 -2
- package/dist/{attachments.d-Djy9z_0Z.d.ts → attachments.d-rp3xs-Q3.d.ts} +6 -24
- package/dist/{bookingCopy.d-BJF6gd1A.d.ts → bookingCopy.d-D0uIIFAJ.d.ts} +2 -2
- package/dist/{bookingCopy.d-BlBmhAJc.d.cts → bookingCopy.d-DUrmVcLs.d.cts} +2 -2
- package/dist/{branding.d-DI8S400y.d.cts → branding.d-CTXTUg_8.d.cts} +1 -1
- package/dist/{branding.d-OIGLbQeM.d.ts → branding.d-DxJSoFce.d.ts} +1 -1
- package/dist/{casesRepository.d-CT2LTicS.d.cts → casesRepository.d-DCnix2pT.d.cts} +1 -1
- package/dist/{casesRepository.d-UsWOz9bv.d.ts → casesRepository.d-DbirgbyH.d.ts} +1 -1
- package/dist/chat/index.cjs +43 -41
- package/dist/chat/index.d.cts +26 -13
- package/dist/chat/index.d.ts +26 -13
- package/dist/chat/index.js +43 -41
- 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/clinicBatch.d-Ccmrngcu.d.cts +71 -0
- package/dist/clinicBatch.d-D9Ci7IpP.d.ts +71 -0
- package/dist/clinicModels.d-BXgKZqDb.d.cts +68 -0
- package/dist/clinicModels.d-CaS64-P-.d.ts +68 -0
- package/dist/clinicRequestProps.d-1dCtouGA.d.cts +65 -0
- package/dist/clinicRequestProps.d-CjsMg_OD.d.ts +65 -0
- package/dist/{config.d-BR3DT9ho.d.cts → config.d-DJ4mvf_w.d.cts} +1 -1
- package/dist/{config.d-Dy6igYlH.d.ts → config.d-MX7IKP2f.d.ts} +1 -1
- package/dist/consent/index.d.cts +5 -5
- package/dist/consent/index.d.ts +5 -5
- package/dist/{context.d-QcCgguzA.d.ts → context.d-BdnBe8Oe.d.ts} +7 -7
- package/dist/{context.d-Cwks0p3C.d.cts → context.d-C6MJsMpN.d.cts} +7 -7
- package/dist/{copy.d-CiMn2IIt.d.ts → copy.d-BIfQOoDB.d.ts} +2 -2
- package/dist/{copy.d-DLJTyRfT.d.cts → copy.d-C_u7shha.d.cts} +2 -2
- package/dist/core/index.cjs +3 -3
- package/dist/core/index.d.cts +20 -18
- package/dist/core/index.d.ts +20 -18
- package/dist/core/index.js +3 -3
- package/dist/{depth.d-OSALbYM7.d.ts → depth.d-COFxYWLU.d.ts} +6 -133
- package/dist/{depth.d-CjPGVPDL.d.cts → depth.d-D2e5WZuE.d.cts} +6 -133
- package/dist/{entitlementRepository.d-CVQa1DA1.d.cts → entitlementRepository.d-BP15dFbe.d.cts} +4 -4
- package/dist/{entitlementRepository.d-Cf3LbTwD.d.ts → entitlementRepository.d-DLuxnGi5.d.ts} +4 -4
- package/dist/{features.d-fNsGcg0R.d.ts → features.d-DrQxTw3-.d.cts} +1 -1
- package/dist/{features.d-fNsGcg0R.d.cts → features.d-DrQxTw3-.d.ts} +1 -1
- package/dist/{focus.d-DMg2ngHI.d.ts → focus.d-C0Tr0oVJ.d.ts} +109 -348
- package/dist/{focus.d-az9cqUz3.d.cts → focus.d-jQWp0hdK.d.cts} +109 -348
- package/dist/health-plan/index.cjs +165 -151
- package/dist/health-plan/index.d.cts +53 -11
- package/dist/health-plan/index.d.ts +53 -11
- package/dist/health-plan/index.js +169 -155
- package/dist/{idempotency.d-D461_DPD.d.cts → idempotency.d-DXb1BN2A.d.ts} +151 -6
- package/dist/{idempotency.d-WpXx9zQo.d.ts → idempotency.d-HF6fyRt2.d.cts} +151 -6
- package/dist/{identity.d-DzTijonw.d.ts → identity.d-BePPZ7Uv.d.ts} +1 -1
- package/dist/{identity.d-60LeJt_s.d.cts → identity.d-CJfnWOdH.d.cts} +1 -1
- package/dist/index.cjs +46 -44
- package/dist/index.d.cts +19 -18
- package/dist/index.d.ts +19 -18
- package/dist/index.js +46 -44
- package/dist/introEvents.d-BkGDT_kG.d.cts +175 -0
- package/dist/introEvents.d-DHlMvmC7.d.ts +175 -0
- package/dist/introEvents.d-dS3fJCH1.d.cts +5 -0
- package/dist/introEvents.d-dS3fJCH1.d.ts +5 -0
- package/dist/{models.d-BnLm3VAA.d.cts → models.d-BSqvbTE1.d.cts} +8 -1
- package/dist/{models.d-BagXhafD.d.ts → models.d-DOwnr8fi.d.ts} +8 -1
- package/dist/notifications/index.d.cts +4 -4
- package/dist/notifications/index.d.ts +4 -4
- package/dist/{optInView.d-CEyHR6PK.d.cts → optInView.d-0iI5JoAf.d.cts} +119 -3
- package/dist/{optInView.d-acKpV8V2.d.ts → optInView.d-s-w4aGN3.d.ts} +119 -3
- package/dist/{parse.d-C8CXyS58.d.ts → parse.d-COt1qVA6.d.ts} +1 -1
- package/dist/{parse.d-tEzufgJX.d.cts → parse.d-EmsgOUMQ.d.cts} +1 -1
- package/dist/{pets.d-C_53_fzo.d.ts → pets.d-BFT_b53y.d.ts} +1 -1
- package/dist/{pets.d-NbJvP_kh.d.cts → pets.d-nNAVnw7f.d.cts} +1 -1
- package/dist/{petsRepository.d-lp1BHRqM.d.cts → petsRepository.d-B2TpRE7r.d.cts} +1 -1
- package/dist/{petsRepository.d-BuGHymNx.d.ts → petsRepository.d-RGwSZcYl.d.ts} +1 -1
- package/dist/planSignals.d-BDbp2e-k.d.cts +126 -0
- package/dist/planSignals.d-DSnxKoWe.d.ts +126 -0
- package/dist/{ports.d-COIyN624.d.ts → ports.d-D2n4HRUy.d.ts} +4 -4
- package/dist/{ports.d-CEROoqnA.d.cts → ports.d-DBA_gsq5.d.cts} +4 -4
- package/dist/{presentation.d-DMbdad7G.d.cts → presentation.d-vy8kTGfR.d.cts} +6 -0
- package/dist/{presentation.d-DMbdad7G.d.ts → presentation.d-vy8kTGfR.d.ts} +6 -0
- package/dist/quickPrompts.d-NM_81Jc1.d.cts +19 -0
- package/dist/quickPrompts.d-NM_81Jc1.d.ts +19 -0
- package/dist/records/depth/index.d.cts +13 -9
- package/dist/records/depth/index.d.ts +13 -9
- package/dist/records/index.cjs +252 -138
- package/dist/records/index.d.cts +88 -23
- package/dist/records/index.d.ts +88 -23
- package/dist/records/index.js +253 -139
- package/dist/{requestFunnel.d-CXUMPw1K.d.ts → requestFunnel.d-D9edIEjZ.d.ts} +2 -2
- package/dist/{requestFunnel.d-DWQQpjFR.d.cts → requestFunnel.d-RZex94XX.d.cts} +2 -2
- package/dist/{resolve.d-jI8FmBj3.d.cts → resolve.d-CoQWUy1Y.d.cts} +1 -1
- package/dist/{resolve.d-jI8FmBj3.d.ts → resolve.d-CoQWUy1Y.d.ts} +1 -1
- package/dist/{runtimeTypes.d-4yFNNuYR.d.ts → runtimeTypes.d-BYq38b17.d.ts} +6 -6
- package/dist/{runtimeTypes.d-D6N_fhxx.d.cts → runtimeTypes.d-LkwZaF7z.d.cts} +6 -6
- package/dist/{useRecordsDepth.d-DFcCfiXm.d.ts → screenProps.d-BVzRzowC.d.ts} +5 -91
- package/dist/{useRecordsDepth.d-sAq2Qkhr.d.cts → screenProps.d-CQ0qZJkr.d.cts} +5 -91
- 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/{sheetSeam.d-Cviqk89n.d.ts → sheetSeam.d-B09jf4YC.d.ts} +8 -4
- package/dist/{sheetSeam.d-DCS3LW8g.d.cts → sheetSeam.d-BBuEIVsa.d.cts} +8 -4
- package/dist/shop/index.cjs +224 -58
- package/dist/shop/index.d.cts +23 -5
- package/dist/shop/index.d.ts +23 -5
- package/dist/shop/index.js +225 -59
- package/dist/tabs/index.cjs +195 -0
- package/dist/tabs/index.d.cts +174 -0
- package/dist/tabs/index.d.ts +174 -0
- package/dist/tabs/index.js +195 -0
- package/dist/tabsModel.d-BfIQg6yS.d.cts +31 -0
- package/dist/tabsModel.d-BfIQg6yS.d.ts +31 -0
- package/dist/televet/booking/index.d.cts +6 -6
- package/dist/televet/booking/index.d.ts +6 -6
- package/dist/testing/index.cjs +1 -1
- package/dist/testing/index.d.cts +1 -1
- package/dist/testing/index.d.ts +1 -1
- package/dist/testing/index.js +1 -1
- package/dist/testing/rn/index.cjs +1 -1
- package/dist/testing/rn/index.d.cts +11 -11
- package/dist/testing/rn/index.d.ts +11 -11
- package/dist/testing/rn/index.js +1 -1
- package/dist/testing/web/index.d.cts +12 -12
- package/dist/testing/web/index.d.ts +12 -12
- package/dist/texting/index.cjs +40 -5
- package/dist/texting/index.d.cts +40 -7
- package/dist/texting/index.d.ts +40 -7
- package/dist/texting/index.js +40 -5
- package/dist/threadOptions.d-9r4Csa7k.d.cts +458 -0
- package/dist/threadOptions.d-B6GA09aM.d.ts +458 -0
- package/dist/{timelineRows.d-CU5GvvLk.d.ts → timelineRows.d-Bes8ip2v.d.ts} +1 -1
- package/dist/{timelineRows.d-BNxgzYRW.d.cts → timelineRows.d-BvM2A7_G.d.cts} +1 -1
- package/dist/{typeStyle.d-C1HBRAI3.d.ts → typeStyle.d-Co5KF0up.d.ts} +1 -1
- package/dist/{typeStyle.d-Bl8pzbBy.d.cts → typeStyle.d-xIZj02Ru.d.cts} +1 -1
- package/dist/useIntroSeen.d-CTWFUthO.d.cts +35 -0
- package/dist/useIntroSeen.d-CTWFUthO.d.ts +35 -0
- package/dist/usePresentation.d-BGz32Vlm.d.ts +285 -0
- package/dist/usePresentation.d-DYTF_ZGf.d.cts +285 -0
- package/dist/{useRecords.d-Cb-36SF5.d.cts → useRecords.d-BYNX01El.d.cts} +2 -2
- package/dist/{useRecords.d-aQTzQZoV.d.ts → useRecords.d-DWk61a4c.d.ts} +2 -2
- package/dist/useRecordsDepth.d--LLA_4ga.d.cts +32 -0
- package/dist/useRecordsDepth.d-BQRL0Hez.d.ts +32 -0
- package/dist/{view.d-Dps5C8-s.d.cts → view.d-0yBjLTV3.d.cts} +6 -4
- package/dist/{view.d-C-SNpDJX.d.ts → view.d-DqbCADFa.d.ts} +6 -4
- package/dist/web/consent/index.d.cts +5 -5
- package/dist/web/consent/index.d.ts +5 -5
- package/dist/web/health-plan/index.cjs +50 -43
- package/dist/web/health-plan/index.d.cts +46 -192
- package/dist/web/health-plan/index.d.ts +46 -192
- package/dist/web/health-plan/index.js +65 -58
- package/dist/web/index.cjs +61 -45
- package/dist/web/index.d.cts +165 -25
- package/dist/web/index.d.ts +165 -25
- package/dist/web/index.js +62 -46
- package/dist/web/intro/index.cjs +167 -0
- package/dist/web/intro/index.d.cts +79 -0
- package/dist/web/intro/index.d.ts +79 -0
- package/dist/web/intro/index.js +167 -0
- package/dist/web/notifications/index.d.cts +3 -3
- package/dist/web/notifications/index.d.ts +3 -3
- package/dist/web/records/depth/index.d.cts +13 -9
- package/dist/web/records/depth/index.d.ts +13 -9
- package/dist/web/records/index.cjs +7 -7
- package/dist/web/records/index.d.cts +21 -82
- package/dist/web/records/index.d.ts +21 -82
- package/dist/web/records/index.js +7 -7
- package/dist/web/records-sheet/index.cjs +181 -127
- package/dist/web/records-sheet/index.d.cts +18 -16
- package/dist/web/records-sheet/index.d.ts +18 -16
- package/dist/web/records-sheet/index.js +181 -127
- package/dist/web/shop/index.cjs +191 -76
- package/dist/web/shop/index.d.cts +21 -4
- package/dist/web/shop/index.d.ts +21 -4
- package/dist/web/shop/index.js +191 -76
- package/dist/web/televet/booking/index.d.cts +6 -6
- package/dist/web/televet/booking/index.d.ts +6 -6
- package/dist/web/texting/index.cjs +36 -5
- package/dist/web/texting/index.d.cts +40 -7
- package/dist/web/texting/index.d.ts +40 -7
- package/dist/web/texting/index.js +36 -5
- package/package.json +35 -4
- package/tabs/package.json +8 -0
- package/web/intro/native-blocked.cjs +12 -0
- package/web/intro/package.json +8 -0
- package/dist/threadOptions.d-B1pTMmDF.d.cts +0 -260
- package/dist/threadOptions.d-B1pTMmDF.d.ts +0 -260
- package/dist/usePresentation.d-D6qsFzBz.d.cts +0 -9
- package/dist/usePresentation.d-DuGQe_Do.d.ts +0 -9
|
@@ -1,201 +1,24 @@
|
|
|
1
|
+
import { E as EverfurChatTopCard } from '../../threadOptions.d-9r4Csa7k.cjs';
|
|
2
|
+
export { a as EverfurHealthPlan, b as EverfurHealthPlanProps, H as HealthPlanFocus, c as HealthPlanFocusLayer, d as HealthPlanFocusOptions, e as HealthPlanFocusOverlay, f as HealthPlanFocusOverlayControls, g as HealthPlanFocusProps } from '../../threadOptions.d-9r4Csa7k.cjs';
|
|
1
3
|
import { ReactNode, CSSProperties } from 'react';
|
|
2
|
-
import { C as CapabilityDecision } from '../../resolve.d-jI8FmBj3.cjs';
|
|
3
4
|
import { E as EverfurError } from '../../EverfurError.d-8NHtlgzA.cjs';
|
|
4
5
|
export { a as EverfurErrorCategory, b as EverfurErrorCode } from '../../EverfurError.d-8NHtlgzA.cjs';
|
|
6
|
+
import { f as HealthPlanItem, p as HealthPlanFocusPart, i as HealthPlanSubscriptionRepository, q as HealthPlanSubscriptionQuote, g as HealthPlanSubscription, h as HealthPlanOneBoxOrder, r as HealthPlanPagePet, b as HealthPlanFocusDesign, H as HealthPlanPage } from '../../focus.d-jQWp0hdK.cjs';
|
|
7
|
+
export { s as HEALTH_PLAN_FOCUS_COPY, t as HEALTH_PLAN_REASON_KINDS, m as HealthPlan, u as HealthPlanCartCheckoutRequest, v as HealthPlanCheckoutItem, l as HealthPlanCheckoutProvider, w as HealthPlanCheckoutRefusal, x as HealthPlanCheckoutRequest, y as HealthPlanCheckoutSession, z as HealthPlanCheckoutState, A as HealthPlanCheckoutStatus, d as HealthPlanFocusClassNames, c as HealthPlanFocusCopy, B as HealthPlanFocusExtra, e as HealthPlanFocusIcon, C as HealthPlanFocusPrices, D as HealthPlanFocusReasonRow, E as HealthPlanFocusReview, F as HealthPlanFocusSign, G as HealthPlanFocusStep, I as HealthPlanFocusWait, J as HealthPlanOneBoxOffer, K as HealthPlanOneBoxOrderPage, L as HealthPlanOneBoxOrderPageOptions, M as HealthPlanOrderStatus, N as HealthPlanOrderTracking, O as HealthPlanOrderTrackingStatus, j as HealthPlanPageRepository, a as HealthPlanPetWords, P as HealthPlanPurchase, Q as HealthPlanReason, o as HealthPlanReasonKind, n as HealthPlanRepository, R as HealthPlanRepositoryDeps, S as HealthPlanRuntime, k as HealthPlanShopOrder, T as HealthPlanSubscriptionRenewal, U as HealthPlanSubscriptionStatus, V as HealthPlanSubscriptionStep, W as HealthPlanSubscriptionSupply, X as HealthPlanTrackStep, Y as createHealthPlanPageRepository, Z as createHealthPlanPageRepositoryOver, _ as createHealthPlanRepository, $ as createHealthPlanRepositoryOver, a0 as createHealthPlanSubscriptionRepository, a1 as createHealthPlanSubscriptionRepositoryOver, a2 as formatHealthPlanDay, a3 as healthPlanCheckoutRefusal, a4 as healthPlanCheckoutSessionFromWire, a5 as healthPlanCheckoutStateFromWire, a6 as healthPlanFocusCopyFor, a7 as healthPlanFocusDesignFromWire, a8 as healthPlanFromWire, a9 as healthPlanOneBoxOrderFromWire, aa as healthPlanOneBoxOrderPageFromWire, ab as healthPlanOrderTrackingFromWire, ac as healthPlanPageFromWire, ad as healthPlanPetWords, ae as healthPlanSubscriptionFromWire, af as healthPlanSubscriptionQuoteFromWire, ag as isHealthPlanSubscriptionUnavailable } from '../../focus.d-jQWp0hdK.cjs';
|
|
8
|
+
import { e as HealthPlanCardOptions, f as HealthPlanImageVariant, g as HealthPlanReasonVariant, a as HealthPlanPriceFormat, d as HealthPlanCart } from '../../usePresentation.d-DYTF_ZGf.cjs';
|
|
9
|
+
export { E as EverfurHealthPlanOptions, h as EverfurHealthPlanState, i as EverfurHealthPlanStatus, j as HEALTH_PLAN_COPY, k as HEALTH_PLAN_COPY_PLACEHOLDERS, l as HEALTH_PLAN_LAYOUT_DEFAULTS, m as HEALTH_PLAN_REASON_LABELS, n as HEALTH_PLAN_TEMPLATES, o as HealthPlanAddButtonSize, p as HealthPlanAddedVariant, H as HealthPlanBlanksFacts, q as HealthPlanBlanksPhase, r as HealthPlanCardShadow, s as HealthPlanCartBarPlacement, t as HealthPlanCartBarVisibility, u as HealthPlanCategoryVariant, c as HealthPlanEmptyCopy, v as HealthPlanFontWeight, w as HealthPlanHeaderContext, b as HealthPlanLayoutProps, x as HealthPlanPageContext, y as HealthPlanShadow, z as formatHealthPlanPrice, A as formatHealthPlanPriceWith, B as healthPlanBlanksFacts, C as healthPlanCart, D as healthPlanNextShotsAt, F as healthPlanRecordsWeightKg, G as isHealthPlanSessionRequired, I as showHealthPlanCartBar, J as useEverfurHealthPlan, K as useEverfurHealthPlanRepository, L as useEverfurPresentation } from '../../usePresentation.d-DYTF_ZGf.cjs';
|
|
10
|
+
export { H as HealthPlanCartDock, a as HealthPlanCartScope, b as HealthPlanCartScopeProps, c as HealthPlanController, d as HealthPlanNoVetListener, e as HealthPlanPageOptions, f as HealthPlanPagePhase, g as HealthPlanPageState, h as HealthPlanPhase, i as HealthPlanRecordsLandedListener, j as HealthPlanRecordsLandedSource, k as HealthPlanSnapshot, l as healthPlanNoVet, n as notifyHealthPlanRecordsLanded, o as onHealthPlanNoVet, m as onHealthPlanRecordsLanded, s as setHealthPlanNoVet, u as useHealthPlanCartDock, p as useHealthPlanPage, q as useHealthPlanPageRepository } from '../../planSignals.d-BDbp2e-k.cjs';
|
|
11
|
+
import { E as EverfurResult } from '../../EverfurResult.d-BFH-3s6E.cjs';
|
|
5
12
|
import { P as PetRef } from '../../ids.d-B2GAAifq.cjs';
|
|
6
13
|
export { B as Brand, C as ConversationId, R as RecordsRequestId, U as UserRef, _ as __brand } from '../../ids.d-B2GAAifq.cjs';
|
|
7
|
-
import { b as HealthPlanFocusDesign, H as HealthPlanFocusCopy, aL as HealthPlanFocusClassNames, a as HealthPlanFocusIcon, c as HealthPlanItem, d as HealthPlanSubscription, e as HealthPlanOneBoxOrder, f as HealthPlanSubscriptionRepository, g as HealthPlanPageRepository, h as HealthPlanShopOrder, i as HealthPlanCheckoutProvider, j as HealthPlanPriceFormat, k as HealthPlanLayoutProps, aM as HealthPlanEmptyCopy, l as HealthPlanCardOptions, m as HealthPlanImageVariant, n as HealthPlanReasonVariant, o as HealthPlanCart, ak as HealthPlanSubscriptionQuote, a8 as HealthPlanPagePet, a5 as HealthPlanPage } from '../../focus.d-az9cqUz3.cjs';
|
|
8
|
-
export { E as EverfurHealthPlanOptions, p as EverfurHealthPlanState, q as EverfurHealthPlanStatus, r as HEALTH_PLAN_COPY, s as HEALTH_PLAN_COPY_PLACEHOLDERS, t as HEALTH_PLAN_FOCUS_COPY, u as HEALTH_PLAN_LAYOUT_DEFAULTS, v as HEALTH_PLAN_REASON_KINDS, w as HEALTH_PLAN_REASON_LABELS, x as HEALTH_PLAN_TEMPLATES, y as HealthPlan, z as HealthPlanAddButtonSize, A as HealthPlanAddedVariant, B as HealthPlanCardShadow, C as HealthPlanCartBarPlacement, D as HealthPlanCartBarVisibility, F as HealthPlanCartCheckoutRequest, G as HealthPlanCartDock, I as HealthPlanCartScope, J as HealthPlanCartScopeProps, K as HealthPlanCategoryVariant, L as HealthPlanCheckoutItem, M as HealthPlanCheckoutRefusal, N as HealthPlanCheckoutRequest, O as HealthPlanCheckoutSession, P as HealthPlanCheckoutState, Q as HealthPlanCheckoutStatus, R as HealthPlanController, S as HealthPlanFocusExtra, aN as HealthPlanFocusPart, T as HealthPlanFocusPrices, U as HealthPlanFocusReasonRow, V as HealthPlanFocusReview, W as HealthPlanFocusSign, X as HealthPlanFocusStep, Y as HealthPlanFocusWait, Z as HealthPlanFontWeight, _ as HealthPlanHeaderContext, $ as HealthPlanOneBoxOffer, a0 as HealthPlanOneBoxOrderPage, a1 as HealthPlanOneBoxOrderPageOptions, a2 as HealthPlanOrderStatus, a3 as HealthPlanOrderTracking, a4 as HealthPlanOrderTrackingStatus, a6 as HealthPlanPageContext, a7 as HealthPlanPageOptions, a9 as HealthPlanPagePhase, aa as HealthPlanPageState, aO as HealthPlanPetWords, ab as HealthPlanPhase, ac as HealthPlanPurchase, ad as HealthPlanReason, ae as HealthPlanReasonKind, af as HealthPlanRepository, ag as HealthPlanRepositoryDeps, ah as HealthPlanRuntime, ai as HealthPlanShadow, aj as HealthPlanSnapshot, al as HealthPlanSubscriptionRenewal, am as HealthPlanSubscriptionStatus, an as HealthPlanSubscriptionStep, ao as HealthPlanSubscriptionSupply, ap as HealthPlanTrackStep, aq as createHealthPlanPageRepository, ar as createHealthPlanPageRepositoryOver, as as createHealthPlanRepository, at as createHealthPlanRepositoryOver, aP as createHealthPlanSubscriptionRepository, aQ as createHealthPlanSubscriptionRepositoryOver, au as formatHealthPlanDay, av as formatHealthPlanPrice, aw as formatHealthPlanPriceWith, ax as healthPlanCart, ay as healthPlanCheckoutRefusal, az as healthPlanCheckoutSessionFromWire, aA as healthPlanCheckoutStateFromWire, aR as healthPlanFocusCopyFor, aB as healthPlanFocusDesignFromWire, aC as healthPlanFromWire, aS as healthPlanOneBoxOrderFromWire, aT as healthPlanOneBoxOrderPageFromWire, aU as healthPlanOrderTrackingFromWire, aD as healthPlanPageFromWire, aV as healthPlanPetWords, aW as healthPlanSubscriptionFromWire, aX as healthPlanSubscriptionQuoteFromWire, aE as isHealthPlanSessionRequired, aY as isHealthPlanSubscriptionUnavailable, aF as showHealthPlanCartBar, aG as useEverfurHealthPlan, aH as useEverfurHealthPlanRepository, aI as useHealthPlanCartDock, aJ as useHealthPlanPage, aK as useHealthPlanPageRepository } from '../../focus.d-az9cqUz3.cjs';
|
|
9
14
|
import { L as LifecyclePort } from '../../LifecyclePort.d-Cr1p33a7.cjs';
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
export { E as EverfurChatAnswerStyle, a as EverfurChatComposerPlaceholder, b as EverfurChatComposerStyle, c as EverfurChatHistoryBarSetting, d as EverfurChatHistoryStyle, e as EverfurChatSendButtonSetting, f as EverfurChatTopCardSetting, g as EverfurHealthPlanLayout, h as EverfurPresentation, j as EverfurSafetyDisclaimerPlacement } from '../../presentation.d-DMbdad7G.cjs';
|
|
13
|
-
export { A as AuthContext, I as IdentityProvider, M as MintedToken, T as TokenProvider } from '../../identity.d-60LeJt_s.cjs';
|
|
14
|
-
export { A as AcceptedFrame, a as AnalysisCompleteFrame, b as AnalysisStartedFrame, D as DeltaFrame, c as DoneFrame, E as ErrorFrame, d as EverfurRequest, e as EverfurRequestBase, F as Frame, f as FrameBase, g as FrameKind, H as HeartbeatFrame, h as HttpMethod, M as MultipartBody, T as TransportPort, U as UnknownFrame, i as UrgencyLevel } from '../../config.d-BR3DT9ho.cjs';
|
|
15
|
+
export { A as AuthContext, I as IdentityProvider, M as MintedToken, T as TokenProvider } from '../../identity.d-CJfnWOdH.cjs';
|
|
16
|
+
export { A as AcceptedFrame, a as AnalysisCompleteFrame, b as AnalysisStartedFrame, D as DeltaFrame, c as DoneFrame, E as ErrorFrame, d as EverfurRequest, e as EverfurRequestBase, F as Frame, f as FrameBase, g as FrameKind, H as HeartbeatFrame, h as HttpMethod, M as MultipartBody, T as TransportPort, U as UnknownFrame, i as UrgencyLevel } from '../../config.d-DJ4mvf_w.cjs';
|
|
15
17
|
export { E as ErrorPolicyPort } from '../../ErrorPolicyPort.d-DirW9hgO.cjs';
|
|
16
|
-
export {
|
|
17
|
-
import
|
|
18
|
-
import '../../requestFunnel.d-
|
|
19
|
-
|
|
20
|
-
/** Which overlay the focus layout has open, for a host that dims its own chrome under it. */
|
|
21
|
-
type HealthPlanFocusOverlay = 'checkout' | 'manage' | 'started' | 'cart' | 'cartCheckout' | 'placed' | 'orders' | 'order' | 'weight' | null;
|
|
22
|
-
/** Which layer `overlayContainer` is asked for: the checkout and manage sheets, the started screen, the toast. */
|
|
23
|
-
type HealthPlanFocusLayer = 'sheet' | 'started' | 'toast';
|
|
24
|
-
/** Handed to `onOverlayChange`, so a host's own back control can close what is open. */
|
|
25
|
-
interface HealthPlanFocusOverlayControls {
|
|
26
|
-
/** Closes everything the layout has open. */
|
|
27
|
-
readonly close: () => void;
|
|
28
|
-
/** Closes the top screen or sheet only (a header's back). Absent before the shop: `close`. */
|
|
29
|
-
readonly back?: () => void;
|
|
30
|
-
/** The title for the host's header over a pushed screen ("Cart", "Order placed"); absent over a sheet. */
|
|
31
|
-
readonly title?: string;
|
|
32
|
-
/** True for a full screen (no bottom tabs under it): the cart, the order placed, the started screen. */
|
|
33
|
-
readonly full?: boolean;
|
|
34
|
-
}
|
|
35
|
-
/** The focus layout's options. Passing them to `EverfurHealthPlan` (`focus={...}`) opts the page in. */
|
|
36
|
-
interface HealthPlanFocusOptions {
|
|
37
|
-
/**
|
|
38
|
-
* Your content for the layout. Omit it and `EverfurHealthPlan` reads the pet's plan page from Everfur (built from
|
|
39
|
-
* vet-approved templates and the pet's own facts) and draws that, with the page's checkout setting.
|
|
40
|
-
*/
|
|
41
|
-
readonly design?: HealthPlanFocusDesign;
|
|
42
|
-
/** Your words over the SDK's buying words, on top of `design.copy`. Works with the backend page too. */
|
|
43
|
-
readonly copy?: Partial<HealthPlanFocusCopy>;
|
|
44
|
-
readonly classNames?: HealthPlanFocusClassNames;
|
|
45
|
-
/** Draw an icon your way (an `<svg><use href="#i-check"/></svg>` from your sprite). */
|
|
46
|
-
readonly renderIcon?: (icon: HealthPlanFocusIcon, className?: string) => ReactNode;
|
|
47
|
-
/** False never reads the subscription quote: the buy button is the one-time handoff only. Default true. */
|
|
48
|
-
readonly subscriptions?: boolean;
|
|
49
|
-
/**
|
|
50
|
-
* Where the checkout sheet, the started screen and the toast mount, asked per layer (a sheet over your whole
|
|
51
|
-
* frame, the started screen under your own header). Null or absent: `document.body`.
|
|
52
|
-
*/
|
|
53
|
-
readonly overlayContainer?: (layer: HealthPlanFocusLayer) => HTMLElement | null;
|
|
54
|
-
/** A one-time buy handed to your checkout (no quote, or no one-box offer). Omit it and `onCheckout([item])` is called instead. */
|
|
55
|
-
readonly onBuy?: (item: HealthPlanItem) => void;
|
|
56
|
-
/** The "Why this product?" link. Omit it and the link is not drawn. */
|
|
57
|
-
readonly onMore?: (item: HealthPlanItem) => void;
|
|
58
|
-
/** One of `design.extras` was added (or taken back). Local state; the host runs its own cart. Omit it and the extras are not drawn. */
|
|
59
|
-
readonly onExtra?: (key: string, added: boolean) => void;
|
|
60
|
-
/** The checkup questions were added to (or taken off) the next visit. Local state; the host persists it. */
|
|
61
|
-
readonly onAddToVisit?: (added: boolean, questions: readonly string[]) => void;
|
|
62
|
-
readonly onOverlayChange?: (overlay: HealthPlanFocusOverlay, controls: HealthPlanFocusOverlayControls) => void;
|
|
63
|
-
/** A subscription changed (started, skipped, interval, cancelled), with the server's new state. */
|
|
64
|
-
readonly onSubscriptionChange?: (subscription: HealthPlanSubscription) => void;
|
|
65
|
-
/** A one-box order was recorded, with the server's order. */
|
|
66
|
-
readonly onOneBoxOrder?: (order: HealthPlanOneBoxOrder) => void;
|
|
67
|
-
/** Number and date locale. Defaults to the platform's. */
|
|
68
|
-
readonly locale?: string;
|
|
69
|
-
/** A repository of your own (a stub backend, tests). */
|
|
70
|
-
readonly subscriptionRepository?: HealthPlanSubscriptionRepository;
|
|
71
|
-
/**
|
|
72
|
-
* How the member leaves for Everfur's Stripe Checkout (`checkout: everfur_stripe` only). Defaults to
|
|
73
|
-
* `window.location.assign(url)`; a page inside a frame passes its own (the top window's).
|
|
74
|
-
*/
|
|
75
|
-
readonly navigate?: (url: string) => void;
|
|
76
|
-
/** The plan page and checkout repository of your own (a stub backend, tests). */
|
|
77
|
-
readonly pageRepository?: HealthPlanPageRepository;
|
|
78
|
-
/**
|
|
79
|
-
* True turns Buy into Add to cart and draws the cart, its checkout, the orders and an order. Default: on when the
|
|
80
|
-
* checkout is Everfur's (`everfur_stripe`), off for a partner's own checkout. `shop: false` turns it off with
|
|
81
|
-
* Everfur's checkout too: Buy and Subscribe then go straight to Stripe Checkout.
|
|
82
|
-
*/
|
|
83
|
-
readonly shop?: boolean;
|
|
84
|
-
/**
|
|
85
|
-
* True when Everfur texts the member the tracking number once it ships: the "tracking comes by text" lines are drawn.
|
|
86
|
-
* `EverfurHealthPlan` sets it from the plan page (`tracking_texts_enabled`). Default false: never promised.
|
|
87
|
-
*/
|
|
88
|
-
readonly trackingTexts?: boolean;
|
|
89
|
-
/**
|
|
90
|
-
* The pet's sex, for "her" / "his" in the buying words; absent or null uses the pet's name ("Georgia's"), else
|
|
91
|
-
* "your pet". `EverfurHealthPlan` sets it from the plan page; a host design passes its own.
|
|
92
|
-
*/
|
|
93
|
-
readonly petSex?: 'female' | 'male' | null;
|
|
94
|
-
/** The unit the weight sheet takes: `lb` (the default) or `kg`. */
|
|
95
|
-
readonly weightUnit?: 'lb' | 'kg';
|
|
96
|
-
/** The partner's own orders for this pet (its kits, its tests), listed after Everfur's. The partner's data, drawn as given. */
|
|
97
|
-
readonly shopOrders?: readonly HealthPlanShopOrder[];
|
|
98
|
-
/** "Get help with this order". Omit it and the link is not drawn. */
|
|
99
|
-
readonly onOrderHelp?: (orderKey: string) => void;
|
|
100
|
-
/**
|
|
101
|
-
* False: the pet's weight is unknown, so the dose is replaced by a row that asks for it. `EverfurHealthPlan` sets it
|
|
102
|
-
* from the plan page; a host design passes its own. Absent: the dose is drawn.
|
|
103
|
-
*/
|
|
104
|
-
readonly weightKnown?: boolean;
|
|
105
|
-
/** Save the weight your way (a demo pet). Omit it and the pet's profile is updated (`updatePet`, `weightKg`). */
|
|
106
|
-
readonly onSaveWeight?: (weightKg: number, pounds: number) => Promise<EverfurResult<unknown>>;
|
|
107
|
-
/** The weight was saved; `EverfurHealthPlan` re-reads the plan page with it. */
|
|
108
|
-
readonly onWeightSaved?: (weightKg: number) => void;
|
|
109
|
-
/**
|
|
110
|
-
* True with `onConnectRecords`: the row that asks for the pet's vet records is drawn under the checkup.
|
|
111
|
-
* `EverfurHealthPlan` derives it from the pet's records read when you pass `onConnectRecords` and leave this out.
|
|
112
|
-
*/
|
|
113
|
-
readonly recordsMissing?: boolean;
|
|
114
|
-
readonly onConnectRecords?: () => void;
|
|
115
|
-
/** The waiting card's button (`design.wait.action`). */
|
|
116
|
-
readonly onWaitAction?: () => void;
|
|
117
|
-
}
|
|
118
|
-
interface HealthPlanFocusProps extends Omit<HealthPlanFocusOptions, 'design'> {
|
|
119
|
-
readonly design: HealthPlanFocusDesign;
|
|
120
|
-
/** Whose checkout Buy and Subscribe run. `partner` (the default) is the handoff; `everfur_stripe` redirects to Stripe. */
|
|
121
|
-
readonly checkout?: HealthPlanCheckoutProvider;
|
|
122
|
-
readonly item: HealthPlanItem;
|
|
123
|
-
/** The pet's other plan items, drawn under the pick in plan order, each with its own buy. `EverfurHealthPlan` passes the plan's items minus the pick. */
|
|
124
|
-
readonly others?: readonly HealthPlanItem[];
|
|
125
|
-
/** True to draw each other item's category (the backend `category`) above its name, as `showCategory` does on the list cards. Default false. */
|
|
126
|
-
readonly showCategory?: boolean;
|
|
127
|
-
/**
|
|
128
|
-
* The plan's re-read signals, so the subscription state (the subscribed line, Manage, Subscribe) is read again with
|
|
129
|
-
* it: a foreground past the stale window, quietly. `EverfurHealthPlan` passes its own. Absent, the quote is read
|
|
130
|
-
* once.
|
|
131
|
-
*/
|
|
132
|
-
readonly lifecycle?: LifecyclePort | null;
|
|
133
|
-
/** Change it to re-read the subscription state now, quietly. `EverfurHealthPlan` passes its `refreshKey`. */
|
|
134
|
-
readonly refreshKey?: string | number;
|
|
135
|
-
readonly petRef: PetRef;
|
|
136
|
-
readonly petName: string | null;
|
|
137
|
-
readonly onCheckout?: (items: readonly HealthPlanItem[]) => void;
|
|
138
|
-
readonly priceFormat?: HealthPlanPriceFormat;
|
|
139
|
-
readonly style?: CSSProperties;
|
|
140
|
-
readonly className?: string;
|
|
141
|
-
}
|
|
142
|
-
/** The focus layout over one plan item. `EverfurHealthPlan` mounts it; a partner can mount it over the hook too. */
|
|
143
|
-
declare function HealthPlanFocus(props: HealthPlanFocusProps): ReactNode;
|
|
144
|
-
|
|
145
|
-
interface EverfurHealthPlanProps extends HealthPlanLayoutProps {
|
|
146
|
-
/** The pet whose plan to show. Omit it and the provider's active pet is used. */
|
|
147
|
-
readonly petRef?: PetRef | null;
|
|
148
|
-
/** Called with the cart's items when the member presses checkout. Omit it and no checkout control is drawn. */
|
|
149
|
-
readonly onCheckout?: (items: readonly HealthPlanItem[]) => void;
|
|
150
|
-
/** Your own wording for a refused read. The retry control stays the SDK's. */
|
|
151
|
-
readonly renderNotice?: (error: EverfurError) => ReactNode;
|
|
152
|
-
/** What to show when the `healthPlan` capability is off. Defaults to the gate's own off state. */
|
|
153
|
-
readonly renderDisabled?: (decision: CapabilityDecision) => ReactNode;
|
|
154
|
-
readonly style?: CSSProperties;
|
|
155
|
-
readonly className?: string;
|
|
156
|
-
/**
|
|
157
|
-
* The focus layout's content: one issue, the free tips first, one product sized for the pet (subscribe or one
|
|
158
|
-
* box), the pet's other plan items after it (each with its own one-box buy), the signs to watch with the checkup
|
|
159
|
-
* questions, and your other offers. The words come from `focus.design`.
|
|
160
|
-
* It is drawn while the layout setting `healthPlanLayout` resolves to `focus_plan` (your `presentation` prop, else
|
|
161
|
-
* your console's render_hints.branding.presentation `health_plan_layout`), with or without these options (none:
|
|
162
|
-
* Everfur's plan page with the SDK's defaults); otherwise the page keeps the product grid. Signed out, loading,
|
|
163
|
-
* refused and empty states draw exactly as without it.
|
|
164
|
-
*
|
|
165
|
-
* Without `focus.design` the content is Everfur's plan page for the pet (`GET .../plan/page`), read again on a pet
|
|
166
|
-
* change: loading while it reads, the empty state when the page is null, the retry notice when it is refused. The
|
|
167
|
-
* page also says whose checkout runs Buy and Subscribe (`everfur_stripe` redirects to Stripe Checkout; `partner`
|
|
168
|
-
* keeps the `onBuy` / `onCheckout` handoff).
|
|
169
|
-
*/
|
|
170
|
-
readonly focus?: HealthPlanFocusOptions;
|
|
171
|
-
/**
|
|
172
|
-
* The layout setting, `healthPlanLayout` (`standard` or `focus_plan`). Your value wins over the console's unless the
|
|
173
|
-
* console locks it. Absent everywhere, `standard`.
|
|
174
|
-
*/
|
|
175
|
-
readonly presentation?: Pick<EverfurPresentationInput, 'healthPlanLayout'>;
|
|
176
|
-
/**
|
|
177
|
-
* When the plan is read again on its own: coming back to the page after more than a minute re-reads it quietly
|
|
178
|
-
* (the plan stays on screen), so a change made in another tab shows: the plan, the page and, in the focus layout,
|
|
179
|
-
* the subscription state (a subscription started elsewhere). Absent, Everfur uses the browser's own
|
|
180
|
-
* signal (the page becoming visible again; see `createBrowserLifecycle`). Pass your own port, or `null` to turn
|
|
181
|
-
* the re-read off.
|
|
182
|
-
*/
|
|
183
|
-
readonly lifecycle?: LifecyclePort | null;
|
|
184
|
-
/** Change it to re-read the plan (and, in the focus layout, the subscription state) now, quietly (for example after your checkout completed). */
|
|
185
|
-
readonly refreshKey?: string | number;
|
|
186
|
-
/**
|
|
187
|
-
* Whether this pet has a plan to show: true once the plan (or its page) draws, false when the pet has none and the
|
|
188
|
-
* empty state has no words to draw (Q1: the page then draws nothing; hide your Health Plan tab for that pet).
|
|
189
|
-
* Not called while loading or after a refused read.
|
|
190
|
-
*/
|
|
191
|
-
readonly onAvailability?: (available: boolean, petRef: PetRef | null) => void;
|
|
192
|
-
/** The empty state's Ask button (drawn only when `emptyAsk` has words). */
|
|
193
|
-
readonly onAsk?: () => void;
|
|
194
|
-
/** Your words for the empty state, over the SDK's (empty until Raph writes them: then nothing is drawn). */
|
|
195
|
-
readonly emptyCopy?: Partial<HealthPlanEmptyCopy>;
|
|
196
|
-
}
|
|
197
|
-
/** One pet's Health Plan on a web page. Mount it under the `EverfurProvider` from "@everfur/sdk/web". */
|
|
198
|
-
declare function EverfurHealthPlan(props: EverfurHealthPlanProps): ReactNode;
|
|
18
|
+
export { E as EverfurChatAnswerStyle, a as EverfurChatComposerPlaceholder, b as EverfurChatComposerStyle, c as EverfurChatHistoryBarSetting, d as EverfurChatHistoryStyle, e as EverfurChatSendButtonSetting, f as EverfurChatTopCardSetting, g as EverfurHealthPlanLayout, h as EverfurPresentation, i as EverfurPresentationInput, j as EverfurSafetyDisclaimerPlacement } from '../../presentation.d-vy8kTGfR.cjs';
|
|
19
|
+
import '../../resolve.d-CoQWUy1Y.cjs';
|
|
20
|
+
import '../../requestFunnel.d-RZex94XX.cjs';
|
|
21
|
+
import '../../models.d-BSqvbTE1.cjs';
|
|
199
22
|
|
|
200
23
|
interface HealthPlanItemCardProps extends HealthPlanCardOptions {
|
|
201
24
|
readonly item: HealthPlanItem;
|
|
@@ -250,6 +73,37 @@ interface HealthPlanTopRiskProps {
|
|
|
250
73
|
/** The top-risk sentence with its way into the Health Plan. */
|
|
251
74
|
declare function HealthPlanTopRisk(props: HealthPlanTopRiskProps): ReactNode;
|
|
252
75
|
|
|
76
|
+
/** One row: the words before the blank, the value (null: still a blank), the words after it, and its source line. */
|
|
77
|
+
interface HealthPlanBlanksRow {
|
|
78
|
+
readonly key: string;
|
|
79
|
+
readonly lead: string;
|
|
80
|
+
readonly value: string | null;
|
|
81
|
+
readonly trail: string;
|
|
82
|
+
readonly source: string;
|
|
83
|
+
/** The blank's width: `s` short (a count), `l` long (a date), absent the usual. */
|
|
84
|
+
readonly width?: 's' | 'l';
|
|
85
|
+
}
|
|
86
|
+
interface HealthPlanBlanksProps {
|
|
87
|
+
readonly phase: 'empty' | 'wait' | 'filled';
|
|
88
|
+
/** The card's kicker ("Asked Juniper Street Vet"); empty draws an empty span, as his markup does. */
|
|
89
|
+
readonly kicker: string;
|
|
90
|
+
/** The pill beside it ("2 to 5 days", "3 of 3 filled"). */
|
|
91
|
+
readonly pill: string;
|
|
92
|
+
readonly rows: readonly HealthPlanBlanksRow[];
|
|
93
|
+
/** A blank's name for a screen reader ("blank"). */
|
|
94
|
+
readonly blankLabel: string;
|
|
95
|
+
/** The section's accessible name ("Her three blanks"). */
|
|
96
|
+
readonly label: string;
|
|
97
|
+
/** Changing it to a new non-null value plays the yellow flash once over the filled blanks. */
|
|
98
|
+
readonly flashKey?: string | null;
|
|
99
|
+
/** The flash's yellow (the partner's accent). */
|
|
100
|
+
readonly flashColor: string;
|
|
101
|
+
readonly p: (part: HealthPlanFocusPart, kind?: string) => {
|
|
102
|
+
className?: string;
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
declare function HealthPlanBlanks(props: HealthPlanBlanksProps): ReactNode;
|
|
106
|
+
|
|
253
107
|
type HealthPlanSubscriptionPhase = 'idle' | 'loading' | 'unavailable' | 'failed' | 'ready';
|
|
254
108
|
interface HealthPlanSubscriptionOptions {
|
|
255
109
|
readonly petRef: PetRef | null;
|
|
@@ -332,4 +186,4 @@ interface UseHealthPlanTopCardOptions extends HealthPlanTopCardOptions {
|
|
|
332
186
|
*/
|
|
333
187
|
declare function useHealthPlanTopCard(options: UseHealthPlanTopCardOptions): EverfurChatTopCard | undefined;
|
|
334
188
|
|
|
335
|
-
export { EverfurChatTopCard, EverfurError,
|
|
189
|
+
export { EverfurChatTopCard, EverfurError, EverfurResult, HEALTH_PLAN_TOP_CARD_COPY, HealthPlanBlanks, type HealthPlanBlanksProps, type HealthPlanBlanksRow, HealthPlanCardOptions, HealthPlanCart, HealthPlanCartBar, type HealthPlanCartBarProps, HealthPlanFocusDesign, HealthPlanFocusPart, HealthPlanImageVariant, HealthPlanItem, HealthPlanItemCard, type HealthPlanItemCardProps, HealthPlanOneBoxOrder, HealthPlanPage, HealthPlanPagePet, HealthPlanPriceFormat, HealthPlanReasonVariant, HealthPlanSubscription, type HealthPlanSubscriptionOptions, type HealthPlanSubscriptionPhase, HealthPlanSubscriptionQuote, HealthPlanSubscriptionRepository, type HealthPlanSubscriptionState, type HealthPlanTopCardCopy, type HealthPlanTopCardFocus, type HealthPlanTopCardOptions, type HealthPlanTopCardPet, HealthPlanTopRisk, type HealthPlanTopRiskProps, LifecyclePort, PetRef, type UseHealthPlanTopCardOptions, healthPlanPossessive, healthPlanTopCard, useHealthPlanSubscription, useHealthPlanSubscriptionRepository, useHealthPlanTopCard };
|
|
@@ -1,201 +1,24 @@
|
|
|
1
|
+
import { E as EverfurChatTopCard } from '../../threadOptions.d-B6GA09aM.js';
|
|
2
|
+
export { a as EverfurHealthPlan, b as EverfurHealthPlanProps, H as HealthPlanFocus, c as HealthPlanFocusLayer, d as HealthPlanFocusOptions, e as HealthPlanFocusOverlay, f as HealthPlanFocusOverlayControls, g as HealthPlanFocusProps } from '../../threadOptions.d-B6GA09aM.js';
|
|
1
3
|
import { ReactNode, CSSProperties } from 'react';
|
|
2
|
-
import { C as CapabilityDecision } from '../../resolve.d-jI8FmBj3.js';
|
|
3
4
|
import { E as EverfurError } from '../../EverfurError.d-8NHtlgzA.js';
|
|
4
5
|
export { a as EverfurErrorCategory, b as EverfurErrorCode } from '../../EverfurError.d-8NHtlgzA.js';
|
|
6
|
+
import { f as HealthPlanItem, p as HealthPlanFocusPart, i as HealthPlanSubscriptionRepository, q as HealthPlanSubscriptionQuote, g as HealthPlanSubscription, h as HealthPlanOneBoxOrder, r as HealthPlanPagePet, b as HealthPlanFocusDesign, H as HealthPlanPage } from '../../focus.d-C0Tr0oVJ.js';
|
|
7
|
+
export { s as HEALTH_PLAN_FOCUS_COPY, t as HEALTH_PLAN_REASON_KINDS, m as HealthPlan, u as HealthPlanCartCheckoutRequest, v as HealthPlanCheckoutItem, l as HealthPlanCheckoutProvider, w as HealthPlanCheckoutRefusal, x as HealthPlanCheckoutRequest, y as HealthPlanCheckoutSession, z as HealthPlanCheckoutState, A as HealthPlanCheckoutStatus, d as HealthPlanFocusClassNames, c as HealthPlanFocusCopy, B as HealthPlanFocusExtra, e as HealthPlanFocusIcon, C as HealthPlanFocusPrices, D as HealthPlanFocusReasonRow, E as HealthPlanFocusReview, F as HealthPlanFocusSign, G as HealthPlanFocusStep, I as HealthPlanFocusWait, J as HealthPlanOneBoxOffer, K as HealthPlanOneBoxOrderPage, L as HealthPlanOneBoxOrderPageOptions, M as HealthPlanOrderStatus, N as HealthPlanOrderTracking, O as HealthPlanOrderTrackingStatus, j as HealthPlanPageRepository, a as HealthPlanPetWords, P as HealthPlanPurchase, Q as HealthPlanReason, o as HealthPlanReasonKind, n as HealthPlanRepository, R as HealthPlanRepositoryDeps, S as HealthPlanRuntime, k as HealthPlanShopOrder, T as HealthPlanSubscriptionRenewal, U as HealthPlanSubscriptionStatus, V as HealthPlanSubscriptionStep, W as HealthPlanSubscriptionSupply, X as HealthPlanTrackStep, Y as createHealthPlanPageRepository, Z as createHealthPlanPageRepositoryOver, _ as createHealthPlanRepository, $ as createHealthPlanRepositoryOver, a0 as createHealthPlanSubscriptionRepository, a1 as createHealthPlanSubscriptionRepositoryOver, a2 as formatHealthPlanDay, a3 as healthPlanCheckoutRefusal, a4 as healthPlanCheckoutSessionFromWire, a5 as healthPlanCheckoutStateFromWire, a6 as healthPlanFocusCopyFor, a7 as healthPlanFocusDesignFromWire, a8 as healthPlanFromWire, a9 as healthPlanOneBoxOrderFromWire, aa as healthPlanOneBoxOrderPageFromWire, ab as healthPlanOrderTrackingFromWire, ac as healthPlanPageFromWire, ad as healthPlanPetWords, ae as healthPlanSubscriptionFromWire, af as healthPlanSubscriptionQuoteFromWire, ag as isHealthPlanSubscriptionUnavailable } from '../../focus.d-C0Tr0oVJ.js';
|
|
8
|
+
import { e as HealthPlanCardOptions, f as HealthPlanImageVariant, g as HealthPlanReasonVariant, a as HealthPlanPriceFormat, d as HealthPlanCart } from '../../usePresentation.d-BGz32Vlm.js';
|
|
9
|
+
export { E as EverfurHealthPlanOptions, h as EverfurHealthPlanState, i as EverfurHealthPlanStatus, j as HEALTH_PLAN_COPY, k as HEALTH_PLAN_COPY_PLACEHOLDERS, l as HEALTH_PLAN_LAYOUT_DEFAULTS, m as HEALTH_PLAN_REASON_LABELS, n as HEALTH_PLAN_TEMPLATES, o as HealthPlanAddButtonSize, p as HealthPlanAddedVariant, H as HealthPlanBlanksFacts, q as HealthPlanBlanksPhase, r as HealthPlanCardShadow, s as HealthPlanCartBarPlacement, t as HealthPlanCartBarVisibility, u as HealthPlanCategoryVariant, c as HealthPlanEmptyCopy, v as HealthPlanFontWeight, w as HealthPlanHeaderContext, b as HealthPlanLayoutProps, x as HealthPlanPageContext, y as HealthPlanShadow, z as formatHealthPlanPrice, A as formatHealthPlanPriceWith, B as healthPlanBlanksFacts, C as healthPlanCart, D as healthPlanNextShotsAt, F as healthPlanRecordsWeightKg, G as isHealthPlanSessionRequired, I as showHealthPlanCartBar, J as useEverfurHealthPlan, K as useEverfurHealthPlanRepository, L as useEverfurPresentation } from '../../usePresentation.d-BGz32Vlm.js';
|
|
10
|
+
export { H as HealthPlanCartDock, a as HealthPlanCartScope, b as HealthPlanCartScopeProps, c as HealthPlanController, d as HealthPlanNoVetListener, e as HealthPlanPageOptions, f as HealthPlanPagePhase, g as HealthPlanPageState, h as HealthPlanPhase, i as HealthPlanRecordsLandedListener, j as HealthPlanRecordsLandedSource, k as HealthPlanSnapshot, l as healthPlanNoVet, n as notifyHealthPlanRecordsLanded, o as onHealthPlanNoVet, m as onHealthPlanRecordsLanded, s as setHealthPlanNoVet, u as useHealthPlanCartDock, p as useHealthPlanPage, q as useHealthPlanPageRepository } from '../../planSignals.d-DSnxKoWe.js';
|
|
11
|
+
import { E as EverfurResult } from '../../EverfurResult.d-D_-254ZY.js';
|
|
5
12
|
import { P as PetRef } from '../../ids.d-B2GAAifq.js';
|
|
6
13
|
export { B as Brand, C as ConversationId, R as RecordsRequestId, U as UserRef, _ as __brand } from '../../ids.d-B2GAAifq.js';
|
|
7
|
-
import { b as HealthPlanFocusDesign, H as HealthPlanFocusCopy, aL as HealthPlanFocusClassNames, a as HealthPlanFocusIcon, c as HealthPlanItem, d as HealthPlanSubscription, e as HealthPlanOneBoxOrder, f as HealthPlanSubscriptionRepository, g as HealthPlanPageRepository, h as HealthPlanShopOrder, i as HealthPlanCheckoutProvider, j as HealthPlanPriceFormat, k as HealthPlanLayoutProps, aM as HealthPlanEmptyCopy, l as HealthPlanCardOptions, m as HealthPlanImageVariant, n as HealthPlanReasonVariant, o as HealthPlanCart, ak as HealthPlanSubscriptionQuote, a8 as HealthPlanPagePet, a5 as HealthPlanPage } from '../../focus.d-DMg2ngHI.js';
|
|
8
|
-
export { E as EverfurHealthPlanOptions, p as EverfurHealthPlanState, q as EverfurHealthPlanStatus, r as HEALTH_PLAN_COPY, s as HEALTH_PLAN_COPY_PLACEHOLDERS, t as HEALTH_PLAN_FOCUS_COPY, u as HEALTH_PLAN_LAYOUT_DEFAULTS, v as HEALTH_PLAN_REASON_KINDS, w as HEALTH_PLAN_REASON_LABELS, x as HEALTH_PLAN_TEMPLATES, y as HealthPlan, z as HealthPlanAddButtonSize, A as HealthPlanAddedVariant, B as HealthPlanCardShadow, C as HealthPlanCartBarPlacement, D as HealthPlanCartBarVisibility, F as HealthPlanCartCheckoutRequest, G as HealthPlanCartDock, I as HealthPlanCartScope, J as HealthPlanCartScopeProps, K as HealthPlanCategoryVariant, L as HealthPlanCheckoutItem, M as HealthPlanCheckoutRefusal, N as HealthPlanCheckoutRequest, O as HealthPlanCheckoutSession, P as HealthPlanCheckoutState, Q as HealthPlanCheckoutStatus, R as HealthPlanController, S as HealthPlanFocusExtra, aN as HealthPlanFocusPart, T as HealthPlanFocusPrices, U as HealthPlanFocusReasonRow, V as HealthPlanFocusReview, W as HealthPlanFocusSign, X as HealthPlanFocusStep, Y as HealthPlanFocusWait, Z as HealthPlanFontWeight, _ as HealthPlanHeaderContext, $ as HealthPlanOneBoxOffer, a0 as HealthPlanOneBoxOrderPage, a1 as HealthPlanOneBoxOrderPageOptions, a2 as HealthPlanOrderStatus, a3 as HealthPlanOrderTracking, a4 as HealthPlanOrderTrackingStatus, a6 as HealthPlanPageContext, a7 as HealthPlanPageOptions, a9 as HealthPlanPagePhase, aa as HealthPlanPageState, aO as HealthPlanPetWords, ab as HealthPlanPhase, ac as HealthPlanPurchase, ad as HealthPlanReason, ae as HealthPlanReasonKind, af as HealthPlanRepository, ag as HealthPlanRepositoryDeps, ah as HealthPlanRuntime, ai as HealthPlanShadow, aj as HealthPlanSnapshot, al as HealthPlanSubscriptionRenewal, am as HealthPlanSubscriptionStatus, an as HealthPlanSubscriptionStep, ao as HealthPlanSubscriptionSupply, ap as HealthPlanTrackStep, aq as createHealthPlanPageRepository, ar as createHealthPlanPageRepositoryOver, as as createHealthPlanRepository, at as createHealthPlanRepositoryOver, aP as createHealthPlanSubscriptionRepository, aQ as createHealthPlanSubscriptionRepositoryOver, au as formatHealthPlanDay, av as formatHealthPlanPrice, aw as formatHealthPlanPriceWith, ax as healthPlanCart, ay as healthPlanCheckoutRefusal, az as healthPlanCheckoutSessionFromWire, aA as healthPlanCheckoutStateFromWire, aR as healthPlanFocusCopyFor, aB as healthPlanFocusDesignFromWire, aC as healthPlanFromWire, aS as healthPlanOneBoxOrderFromWire, aT as healthPlanOneBoxOrderPageFromWire, aU as healthPlanOrderTrackingFromWire, aD as healthPlanPageFromWire, aV as healthPlanPetWords, aW as healthPlanSubscriptionFromWire, aX as healthPlanSubscriptionQuoteFromWire, aE as isHealthPlanSessionRequired, aY as isHealthPlanSubscriptionUnavailable, aF as showHealthPlanCartBar, aG as useEverfurHealthPlan, aH as useEverfurHealthPlanRepository, aI as useHealthPlanCartDock, aJ as useHealthPlanPage, aK as useHealthPlanPageRepository } from '../../focus.d-DMg2ngHI.js';
|
|
9
14
|
import { L as LifecyclePort } from '../../LifecyclePort.d-Cr1p33a7.js';
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
export { E as EverfurChatAnswerStyle, a as EverfurChatComposerPlaceholder, b as EverfurChatComposerStyle, c as EverfurChatHistoryBarSetting, d as EverfurChatHistoryStyle, e as EverfurChatSendButtonSetting, f as EverfurChatTopCardSetting, g as EverfurHealthPlanLayout, h as EverfurPresentation, j as EverfurSafetyDisclaimerPlacement } from '../../presentation.d-DMbdad7G.js';
|
|
13
|
-
export { A as AuthContext, I as IdentityProvider, M as MintedToken, T as TokenProvider } from '../../identity.d-DzTijonw.js';
|
|
14
|
-
export { A as AcceptedFrame, a as AnalysisCompleteFrame, b as AnalysisStartedFrame, D as DeltaFrame, c as DoneFrame, E as ErrorFrame, d as EverfurRequest, e as EverfurRequestBase, F as Frame, f as FrameBase, g as FrameKind, H as HeartbeatFrame, h as HttpMethod, M as MultipartBody, T as TransportPort, U as UnknownFrame, i as UrgencyLevel } from '../../config.d-Dy6igYlH.js';
|
|
15
|
+
export { A as AuthContext, I as IdentityProvider, M as MintedToken, T as TokenProvider } from '../../identity.d-BePPZ7Uv.js';
|
|
16
|
+
export { A as AcceptedFrame, a as AnalysisCompleteFrame, b as AnalysisStartedFrame, D as DeltaFrame, c as DoneFrame, E as ErrorFrame, d as EverfurRequest, e as EverfurRequestBase, F as Frame, f as FrameBase, g as FrameKind, H as HeartbeatFrame, h as HttpMethod, M as MultipartBody, T as TransportPort, U as UnknownFrame, i as UrgencyLevel } from '../../config.d-MX7IKP2f.js';
|
|
15
17
|
export { E as ErrorPolicyPort } from '../../ErrorPolicyPort.d-68yrE3BE.js';
|
|
16
|
-
export {
|
|
17
|
-
import
|
|
18
|
-
import '../../requestFunnel.d-
|
|
19
|
-
|
|
20
|
-
/** Which overlay the focus layout has open, for a host that dims its own chrome under it. */
|
|
21
|
-
type HealthPlanFocusOverlay = 'checkout' | 'manage' | 'started' | 'cart' | 'cartCheckout' | 'placed' | 'orders' | 'order' | 'weight' | null;
|
|
22
|
-
/** Which layer `overlayContainer` is asked for: the checkout and manage sheets, the started screen, the toast. */
|
|
23
|
-
type HealthPlanFocusLayer = 'sheet' | 'started' | 'toast';
|
|
24
|
-
/** Handed to `onOverlayChange`, so a host's own back control can close what is open. */
|
|
25
|
-
interface HealthPlanFocusOverlayControls {
|
|
26
|
-
/** Closes everything the layout has open. */
|
|
27
|
-
readonly close: () => void;
|
|
28
|
-
/** Closes the top screen or sheet only (a header's back). Absent before the shop: `close`. */
|
|
29
|
-
readonly back?: () => void;
|
|
30
|
-
/** The title for the host's header over a pushed screen ("Cart", "Order placed"); absent over a sheet. */
|
|
31
|
-
readonly title?: string;
|
|
32
|
-
/** True for a full screen (no bottom tabs under it): the cart, the order placed, the started screen. */
|
|
33
|
-
readonly full?: boolean;
|
|
34
|
-
}
|
|
35
|
-
/** The focus layout's options. Passing them to `EverfurHealthPlan` (`focus={...}`) opts the page in. */
|
|
36
|
-
interface HealthPlanFocusOptions {
|
|
37
|
-
/**
|
|
38
|
-
* Your content for the layout. Omit it and `EverfurHealthPlan` reads the pet's plan page from Everfur (built from
|
|
39
|
-
* vet-approved templates and the pet's own facts) and draws that, with the page's checkout setting.
|
|
40
|
-
*/
|
|
41
|
-
readonly design?: HealthPlanFocusDesign;
|
|
42
|
-
/** Your words over the SDK's buying words, on top of `design.copy`. Works with the backend page too. */
|
|
43
|
-
readonly copy?: Partial<HealthPlanFocusCopy>;
|
|
44
|
-
readonly classNames?: HealthPlanFocusClassNames;
|
|
45
|
-
/** Draw an icon your way (an `<svg><use href="#i-check"/></svg>` from your sprite). */
|
|
46
|
-
readonly renderIcon?: (icon: HealthPlanFocusIcon, className?: string) => ReactNode;
|
|
47
|
-
/** False never reads the subscription quote: the buy button is the one-time handoff only. Default true. */
|
|
48
|
-
readonly subscriptions?: boolean;
|
|
49
|
-
/**
|
|
50
|
-
* Where the checkout sheet, the started screen and the toast mount, asked per layer (a sheet over your whole
|
|
51
|
-
* frame, the started screen under your own header). Null or absent: `document.body`.
|
|
52
|
-
*/
|
|
53
|
-
readonly overlayContainer?: (layer: HealthPlanFocusLayer) => HTMLElement | null;
|
|
54
|
-
/** A one-time buy handed to your checkout (no quote, or no one-box offer). Omit it and `onCheckout([item])` is called instead. */
|
|
55
|
-
readonly onBuy?: (item: HealthPlanItem) => void;
|
|
56
|
-
/** The "Why this product?" link. Omit it and the link is not drawn. */
|
|
57
|
-
readonly onMore?: (item: HealthPlanItem) => void;
|
|
58
|
-
/** One of `design.extras` was added (or taken back). Local state; the host runs its own cart. Omit it and the extras are not drawn. */
|
|
59
|
-
readonly onExtra?: (key: string, added: boolean) => void;
|
|
60
|
-
/** The checkup questions were added to (or taken off) the next visit. Local state; the host persists it. */
|
|
61
|
-
readonly onAddToVisit?: (added: boolean, questions: readonly string[]) => void;
|
|
62
|
-
readonly onOverlayChange?: (overlay: HealthPlanFocusOverlay, controls: HealthPlanFocusOverlayControls) => void;
|
|
63
|
-
/** A subscription changed (started, skipped, interval, cancelled), with the server's new state. */
|
|
64
|
-
readonly onSubscriptionChange?: (subscription: HealthPlanSubscription) => void;
|
|
65
|
-
/** A one-box order was recorded, with the server's order. */
|
|
66
|
-
readonly onOneBoxOrder?: (order: HealthPlanOneBoxOrder) => void;
|
|
67
|
-
/** Number and date locale. Defaults to the platform's. */
|
|
68
|
-
readonly locale?: string;
|
|
69
|
-
/** A repository of your own (a stub backend, tests). */
|
|
70
|
-
readonly subscriptionRepository?: HealthPlanSubscriptionRepository;
|
|
71
|
-
/**
|
|
72
|
-
* How the member leaves for Everfur's Stripe Checkout (`checkout: everfur_stripe` only). Defaults to
|
|
73
|
-
* `window.location.assign(url)`; a page inside a frame passes its own (the top window's).
|
|
74
|
-
*/
|
|
75
|
-
readonly navigate?: (url: string) => void;
|
|
76
|
-
/** The plan page and checkout repository of your own (a stub backend, tests). */
|
|
77
|
-
readonly pageRepository?: HealthPlanPageRepository;
|
|
78
|
-
/**
|
|
79
|
-
* True turns Buy into Add to cart and draws the cart, its checkout, the orders and an order. Default: on when the
|
|
80
|
-
* checkout is Everfur's (`everfur_stripe`), off for a partner's own checkout. `shop: false` turns it off with
|
|
81
|
-
* Everfur's checkout too: Buy and Subscribe then go straight to Stripe Checkout.
|
|
82
|
-
*/
|
|
83
|
-
readonly shop?: boolean;
|
|
84
|
-
/**
|
|
85
|
-
* True when Everfur texts the member the tracking number once it ships: the "tracking comes by text" lines are drawn.
|
|
86
|
-
* `EverfurHealthPlan` sets it from the plan page (`tracking_texts_enabled`). Default false: never promised.
|
|
87
|
-
*/
|
|
88
|
-
readonly trackingTexts?: boolean;
|
|
89
|
-
/**
|
|
90
|
-
* The pet's sex, for "her" / "his" in the buying words; absent or null uses the pet's name ("Georgia's"), else
|
|
91
|
-
* "your pet". `EverfurHealthPlan` sets it from the plan page; a host design passes its own.
|
|
92
|
-
*/
|
|
93
|
-
readonly petSex?: 'female' | 'male' | null;
|
|
94
|
-
/** The unit the weight sheet takes: `lb` (the default) or `kg`. */
|
|
95
|
-
readonly weightUnit?: 'lb' | 'kg';
|
|
96
|
-
/** The partner's own orders for this pet (its kits, its tests), listed after Everfur's. The partner's data, drawn as given. */
|
|
97
|
-
readonly shopOrders?: readonly HealthPlanShopOrder[];
|
|
98
|
-
/** "Get help with this order". Omit it and the link is not drawn. */
|
|
99
|
-
readonly onOrderHelp?: (orderKey: string) => void;
|
|
100
|
-
/**
|
|
101
|
-
* False: the pet's weight is unknown, so the dose is replaced by a row that asks for it. `EverfurHealthPlan` sets it
|
|
102
|
-
* from the plan page; a host design passes its own. Absent: the dose is drawn.
|
|
103
|
-
*/
|
|
104
|
-
readonly weightKnown?: boolean;
|
|
105
|
-
/** Save the weight your way (a demo pet). Omit it and the pet's profile is updated (`updatePet`, `weightKg`). */
|
|
106
|
-
readonly onSaveWeight?: (weightKg: number, pounds: number) => Promise<EverfurResult<unknown>>;
|
|
107
|
-
/** The weight was saved; `EverfurHealthPlan` re-reads the plan page with it. */
|
|
108
|
-
readonly onWeightSaved?: (weightKg: number) => void;
|
|
109
|
-
/**
|
|
110
|
-
* True with `onConnectRecords`: the row that asks for the pet's vet records is drawn under the checkup.
|
|
111
|
-
* `EverfurHealthPlan` derives it from the pet's records read when you pass `onConnectRecords` and leave this out.
|
|
112
|
-
*/
|
|
113
|
-
readonly recordsMissing?: boolean;
|
|
114
|
-
readonly onConnectRecords?: () => void;
|
|
115
|
-
/** The waiting card's button (`design.wait.action`). */
|
|
116
|
-
readonly onWaitAction?: () => void;
|
|
117
|
-
}
|
|
118
|
-
interface HealthPlanFocusProps extends Omit<HealthPlanFocusOptions, 'design'> {
|
|
119
|
-
readonly design: HealthPlanFocusDesign;
|
|
120
|
-
/** Whose checkout Buy and Subscribe run. `partner` (the default) is the handoff; `everfur_stripe` redirects to Stripe. */
|
|
121
|
-
readonly checkout?: HealthPlanCheckoutProvider;
|
|
122
|
-
readonly item: HealthPlanItem;
|
|
123
|
-
/** The pet's other plan items, drawn under the pick in plan order, each with its own buy. `EverfurHealthPlan` passes the plan's items minus the pick. */
|
|
124
|
-
readonly others?: readonly HealthPlanItem[];
|
|
125
|
-
/** True to draw each other item's category (the backend `category`) above its name, as `showCategory` does on the list cards. Default false. */
|
|
126
|
-
readonly showCategory?: boolean;
|
|
127
|
-
/**
|
|
128
|
-
* The plan's re-read signals, so the subscription state (the subscribed line, Manage, Subscribe) is read again with
|
|
129
|
-
* it: a foreground past the stale window, quietly. `EverfurHealthPlan` passes its own. Absent, the quote is read
|
|
130
|
-
* once.
|
|
131
|
-
*/
|
|
132
|
-
readonly lifecycle?: LifecyclePort | null;
|
|
133
|
-
/** Change it to re-read the subscription state now, quietly. `EverfurHealthPlan` passes its `refreshKey`. */
|
|
134
|
-
readonly refreshKey?: string | number;
|
|
135
|
-
readonly petRef: PetRef;
|
|
136
|
-
readonly petName: string | null;
|
|
137
|
-
readonly onCheckout?: (items: readonly HealthPlanItem[]) => void;
|
|
138
|
-
readonly priceFormat?: HealthPlanPriceFormat;
|
|
139
|
-
readonly style?: CSSProperties;
|
|
140
|
-
readonly className?: string;
|
|
141
|
-
}
|
|
142
|
-
/** The focus layout over one plan item. `EverfurHealthPlan` mounts it; a partner can mount it over the hook too. */
|
|
143
|
-
declare function HealthPlanFocus(props: HealthPlanFocusProps): ReactNode;
|
|
144
|
-
|
|
145
|
-
interface EverfurHealthPlanProps extends HealthPlanLayoutProps {
|
|
146
|
-
/** The pet whose plan to show. Omit it and the provider's active pet is used. */
|
|
147
|
-
readonly petRef?: PetRef | null;
|
|
148
|
-
/** Called with the cart's items when the member presses checkout. Omit it and no checkout control is drawn. */
|
|
149
|
-
readonly onCheckout?: (items: readonly HealthPlanItem[]) => void;
|
|
150
|
-
/** Your own wording for a refused read. The retry control stays the SDK's. */
|
|
151
|
-
readonly renderNotice?: (error: EverfurError) => ReactNode;
|
|
152
|
-
/** What to show when the `healthPlan` capability is off. Defaults to the gate's own off state. */
|
|
153
|
-
readonly renderDisabled?: (decision: CapabilityDecision) => ReactNode;
|
|
154
|
-
readonly style?: CSSProperties;
|
|
155
|
-
readonly className?: string;
|
|
156
|
-
/**
|
|
157
|
-
* The focus layout's content: one issue, the free tips first, one product sized for the pet (subscribe or one
|
|
158
|
-
* box), the pet's other plan items after it (each with its own one-box buy), the signs to watch with the checkup
|
|
159
|
-
* questions, and your other offers. The words come from `focus.design`.
|
|
160
|
-
* It is drawn while the layout setting `healthPlanLayout` resolves to `focus_plan` (your `presentation` prop, else
|
|
161
|
-
* your console's render_hints.branding.presentation `health_plan_layout`), with or without these options (none:
|
|
162
|
-
* Everfur's plan page with the SDK's defaults); otherwise the page keeps the product grid. Signed out, loading,
|
|
163
|
-
* refused and empty states draw exactly as without it.
|
|
164
|
-
*
|
|
165
|
-
* Without `focus.design` the content is Everfur's plan page for the pet (`GET .../plan/page`), read again on a pet
|
|
166
|
-
* change: loading while it reads, the empty state when the page is null, the retry notice when it is refused. The
|
|
167
|
-
* page also says whose checkout runs Buy and Subscribe (`everfur_stripe` redirects to Stripe Checkout; `partner`
|
|
168
|
-
* keeps the `onBuy` / `onCheckout` handoff).
|
|
169
|
-
*/
|
|
170
|
-
readonly focus?: HealthPlanFocusOptions;
|
|
171
|
-
/**
|
|
172
|
-
* The layout setting, `healthPlanLayout` (`standard` or `focus_plan`). Your value wins over the console's unless the
|
|
173
|
-
* console locks it. Absent everywhere, `standard`.
|
|
174
|
-
*/
|
|
175
|
-
readonly presentation?: Pick<EverfurPresentationInput, 'healthPlanLayout'>;
|
|
176
|
-
/**
|
|
177
|
-
* When the plan is read again on its own: coming back to the page after more than a minute re-reads it quietly
|
|
178
|
-
* (the plan stays on screen), so a change made in another tab shows: the plan, the page and, in the focus layout,
|
|
179
|
-
* the subscription state (a subscription started elsewhere). Absent, Everfur uses the browser's own
|
|
180
|
-
* signal (the page becoming visible again; see `createBrowserLifecycle`). Pass your own port, or `null` to turn
|
|
181
|
-
* the re-read off.
|
|
182
|
-
*/
|
|
183
|
-
readonly lifecycle?: LifecyclePort | null;
|
|
184
|
-
/** Change it to re-read the plan (and, in the focus layout, the subscription state) now, quietly (for example after your checkout completed). */
|
|
185
|
-
readonly refreshKey?: string | number;
|
|
186
|
-
/**
|
|
187
|
-
* Whether this pet has a plan to show: true once the plan (or its page) draws, false when the pet has none and the
|
|
188
|
-
* empty state has no words to draw (Q1: the page then draws nothing; hide your Health Plan tab for that pet).
|
|
189
|
-
* Not called while loading or after a refused read.
|
|
190
|
-
*/
|
|
191
|
-
readonly onAvailability?: (available: boolean, petRef: PetRef | null) => void;
|
|
192
|
-
/** The empty state's Ask button (drawn only when `emptyAsk` has words). */
|
|
193
|
-
readonly onAsk?: () => void;
|
|
194
|
-
/** Your words for the empty state, over the SDK's (empty until Raph writes them: then nothing is drawn). */
|
|
195
|
-
readonly emptyCopy?: Partial<HealthPlanEmptyCopy>;
|
|
196
|
-
}
|
|
197
|
-
/** One pet's Health Plan on a web page. Mount it under the `EverfurProvider` from "@everfur/sdk/web". */
|
|
198
|
-
declare function EverfurHealthPlan(props: EverfurHealthPlanProps): ReactNode;
|
|
18
|
+
export { E as EverfurChatAnswerStyle, a as EverfurChatComposerPlaceholder, b as EverfurChatComposerStyle, c as EverfurChatHistoryBarSetting, d as EverfurChatHistoryStyle, e as EverfurChatSendButtonSetting, f as EverfurChatTopCardSetting, g as EverfurHealthPlanLayout, h as EverfurPresentation, i as EverfurPresentationInput, j as EverfurSafetyDisclaimerPlacement } from '../../presentation.d-vy8kTGfR.js';
|
|
19
|
+
import '../../resolve.d-CoQWUy1Y.js';
|
|
20
|
+
import '../../requestFunnel.d-D9edIEjZ.js';
|
|
21
|
+
import '../../models.d-DOwnr8fi.js';
|
|
199
22
|
|
|
200
23
|
interface HealthPlanItemCardProps extends HealthPlanCardOptions {
|
|
201
24
|
readonly item: HealthPlanItem;
|
|
@@ -250,6 +73,37 @@ interface HealthPlanTopRiskProps {
|
|
|
250
73
|
/** The top-risk sentence with its way into the Health Plan. */
|
|
251
74
|
declare function HealthPlanTopRisk(props: HealthPlanTopRiskProps): ReactNode;
|
|
252
75
|
|
|
76
|
+
/** One row: the words before the blank, the value (null: still a blank), the words after it, and its source line. */
|
|
77
|
+
interface HealthPlanBlanksRow {
|
|
78
|
+
readonly key: string;
|
|
79
|
+
readonly lead: string;
|
|
80
|
+
readonly value: string | null;
|
|
81
|
+
readonly trail: string;
|
|
82
|
+
readonly source: string;
|
|
83
|
+
/** The blank's width: `s` short (a count), `l` long (a date), absent the usual. */
|
|
84
|
+
readonly width?: 's' | 'l';
|
|
85
|
+
}
|
|
86
|
+
interface HealthPlanBlanksProps {
|
|
87
|
+
readonly phase: 'empty' | 'wait' | 'filled';
|
|
88
|
+
/** The card's kicker ("Asked Juniper Street Vet"); empty draws an empty span, as his markup does. */
|
|
89
|
+
readonly kicker: string;
|
|
90
|
+
/** The pill beside it ("2 to 5 days", "3 of 3 filled"). */
|
|
91
|
+
readonly pill: string;
|
|
92
|
+
readonly rows: readonly HealthPlanBlanksRow[];
|
|
93
|
+
/** A blank's name for a screen reader ("blank"). */
|
|
94
|
+
readonly blankLabel: string;
|
|
95
|
+
/** The section's accessible name ("Her three blanks"). */
|
|
96
|
+
readonly label: string;
|
|
97
|
+
/** Changing it to a new non-null value plays the yellow flash once over the filled blanks. */
|
|
98
|
+
readonly flashKey?: string | null;
|
|
99
|
+
/** The flash's yellow (the partner's accent). */
|
|
100
|
+
readonly flashColor: string;
|
|
101
|
+
readonly p: (part: HealthPlanFocusPart, kind?: string) => {
|
|
102
|
+
className?: string;
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
declare function HealthPlanBlanks(props: HealthPlanBlanksProps): ReactNode;
|
|
106
|
+
|
|
253
107
|
type HealthPlanSubscriptionPhase = 'idle' | 'loading' | 'unavailable' | 'failed' | 'ready';
|
|
254
108
|
interface HealthPlanSubscriptionOptions {
|
|
255
109
|
readonly petRef: PetRef | null;
|
|
@@ -332,4 +186,4 @@ interface UseHealthPlanTopCardOptions extends HealthPlanTopCardOptions {
|
|
|
332
186
|
*/
|
|
333
187
|
declare function useHealthPlanTopCard(options: UseHealthPlanTopCardOptions): EverfurChatTopCard | undefined;
|
|
334
188
|
|
|
335
|
-
export { EverfurChatTopCard, EverfurError,
|
|
189
|
+
export { EverfurChatTopCard, EverfurError, EverfurResult, HEALTH_PLAN_TOP_CARD_COPY, HealthPlanBlanks, type HealthPlanBlanksProps, type HealthPlanBlanksRow, HealthPlanCardOptions, HealthPlanCart, HealthPlanCartBar, type HealthPlanCartBarProps, HealthPlanFocusDesign, HealthPlanFocusPart, HealthPlanImageVariant, HealthPlanItem, HealthPlanItemCard, type HealthPlanItemCardProps, HealthPlanOneBoxOrder, HealthPlanPage, HealthPlanPagePet, HealthPlanPriceFormat, HealthPlanReasonVariant, HealthPlanSubscription, type HealthPlanSubscriptionOptions, type HealthPlanSubscriptionPhase, HealthPlanSubscriptionQuote, HealthPlanSubscriptionRepository, type HealthPlanSubscriptionState, type HealthPlanTopCardCopy, type HealthPlanTopCardFocus, type HealthPlanTopCardOptions, type HealthPlanTopCardPet, HealthPlanTopRisk, type HealthPlanTopRiskProps, LifecyclePort, PetRef, type UseHealthPlanTopCardOptions, healthPlanPossessive, healthPlanTopCard, useHealthPlanSubscription, useHealthPlanSubscriptionRepository, useHealthPlanTopCard };
|