@everfur/sdk 0.15.0 → 0.16.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 +160 -0
- package/LICENSE.md +1 -0
- package/README.md +12 -5
- package/SDK-LICENSE.txt +130 -0
- package/THIRD_PARTY_NOTICES +9 -0
- package/dist/CameraPort.d-Cv31Pz7g.d.cts +1 -0
- package/dist/CameraPort.d-Cv31Pz7g.d.ts +1 -0
- package/dist/{DepthViews.d-dXWL6ToG.d.cts → DepthViews.d-A7S-XYiI.d.ts} +2 -1
- package/dist/{DepthViews.d-DbJejGm3.d.ts → DepthViews.d-C4TIZDfz.d.cts} +2 -1
- package/dist/{DepthViews.d-CuBElgEc.d.ts → DepthViews.d-CNjaHLAS.d.ts} +2 -1
- package/dist/{DepthViews.d-BqMnWSMu.d.cts → DepthViews.d-DapfRz1S.d.cts} +2 -1
- package/dist/ErrorPolicyPort.d-68yrE3BE.d.ts +1 -0
- package/dist/ErrorPolicyPort.d-DirW9hgO.d.cts +1 -0
- package/dist/EverfurError.d-8NHtlgzA.d.cts +1 -0
- package/dist/EverfurError.d-8NHtlgzA.d.ts +1 -0
- package/dist/EverfurResult.d-BFH-3s6E.d.cts +1 -0
- package/dist/EverfurResult.d-D_-254ZY.d.ts +1 -0
- package/dist/IntakeMedia.d-4a89XrP7.d.ts +1 -0
- package/dist/IntakeMedia.d-DGxrhgIW.d.ts +1 -0
- package/dist/IntakeMedia.d-DUPR4lVM.d.cts +1 -0
- package/dist/IntakeMedia.d-JJCUvQu7.d.cts +1 -0
- package/dist/LICENSE.md +1 -0
- package/dist/LifecyclePort.d-Cr1p33a7.d.cts +1 -0
- package/dist/LifecyclePort.d-Cr1p33a7.d.ts +1 -0
- package/dist/PhotoController.d-BzCJOE7e.d.cts +1 -0
- package/dist/PhotoController.d-D0XiUUOl.d.ts +1 -0
- package/dist/{RecordsPage.d-DKrZ9rHX.d.ts → RecordsPage.d-6WMbieaV.d.ts} +2 -1
- package/dist/{RecordsPage.d-DRPdUAo4.d.cts → RecordsPage.d-B2gLf8RH.d.cts} +2 -1
- package/dist/SDK-LICENSE.txt +130 -0
- package/dist/THIRD_PARTY_NOTICES +9 -0
- package/dist/TelemetryPort.d-BDNr00hu.d.cts +1 -0
- package/dist/TelemetryPort.d-BDNr00hu.d.ts +1 -0
- package/dist/animations/index.cjs +2 -1
- package/dist/animations/index.d.cts +24 -23
- package/dist/animations/index.d.ts +24 -23
- package/dist/animations/index.js +2 -1
- package/dist/{Chat.d-a7Ksz7NZ.d.ts → appStateLifecycle.d-B7L427MF.d.ts} +73 -141
- package/dist/{Chat.d-CtfANk3A.d.cts → appStateLifecycle.d-CWedOJq4.d.cts} +73 -141
- package/dist/{attachments.d-CpaOfi2g.d.cts → attachments.d-BARh-PrJ.d.cts} +26 -7
- package/dist/{attachments.d-BGn2_knv.d.ts → attachments.d-CB0R1_vK.d.ts} +26 -7
- package/dist/{attachments.d-CoQhXrP9.d.ts → attachments.d-CPgp4_W-.d.ts} +3 -2
- package/dist/{attachments.d-CqHMGoER.d.cts → attachments.d-DeoaCEMD.d.cts} +3 -2
- package/dist/{bookingCopy.d-BwCOCZUj.d.ts → bookingCopy.d-BakTjvWw.d.ts} +3 -2
- package/dist/{bookingCopy.d-Bnq2zk0F.d.cts → bookingCopy.d-CVmpuk9C.d.cts} +3 -2
- package/dist/branding.d-Bbc6p1XY.d.cts +1 -0
- package/dist/branding.d-y6c0UwhE.d.ts +1 -0
- package/dist/cacheEpoch.d-DknKn3S0.d.cts +1 -0
- package/dist/cacheEpoch.d-DknKn3S0.d.ts +1 -0
- package/dist/callCopy.d-Bw6oZT54.d.cts +1 -0
- package/dist/callCopy.d-Bw6oZT54.d.ts +1 -0
- package/dist/callRoom.d-B1DoYdJe.d.cts +1 -0
- package/dist/callRoom.d-Dqm1rUqT.d.ts +1 -0
- package/dist/{casesRepository.d-DG83Ggbq.d.ts → casesRepository.d-CuokarTU.d.ts} +2 -1
- package/dist/{casesRepository.d-CsUJ2Oyb.d.cts → casesRepository.d-DKRLtYb8.d.cts} +2 -1
- package/dist/chat/index.cjs +229 -214
- package/dist/chat/index.d.cts +12 -9
- package/dist/chat/index.d.ts +12 -9
- package/dist/chat/index.js +230 -215
- package/dist/client/index.cjs +2 -1
- package/dist/client/index.d.cts +7 -6
- package/dist/client/index.d.ts +7 -6
- package/dist/client/index.js +2 -1
- package/dist/{clinicBatch.d-Byjx4y_W.d.ts → clinicBatch.d-BP_Rpvcy.d.ts} +3 -2
- package/dist/{clinicBatch.d-BLpbpS51.d.cts → clinicBatch.d-BTDdhMQ2.d.cts} +3 -2
- package/dist/clinicModels.d-BXgKZqDb.d.cts +1 -0
- package/dist/clinicModels.d-CaS64-P-.d.ts +1 -0
- package/dist/clinicRequestProps.d-1dCtouGA.d.cts +1 -0
- package/dist/clinicRequestProps.d-CjsMg_OD.d.ts +1 -0
- package/dist/{config.d-C0WgjutL.d.cts → config.d-84fNJFv9.d.cts} +2 -1
- package/dist/{config.d-zd2eTb2L.d.ts → config.d-B4-Mrwq2.d.ts} +2 -1
- package/dist/consent/index.cjs +1 -0
- package/dist/consent/index.d.cts +6 -5
- package/dist/consent/index.d.ts +6 -5
- package/dist/consent/index.js +1 -0
- package/dist/{context.d-Du_UPxa1.d.cts → context.d-87MMrNm6.d.cts} +6 -5
- package/dist/{context.d-BBjmV0rz.d.ts → context.d-rNGMZH8T.d.ts} +6 -5
- package/dist/{copy.d-Da_PP2K3.d.cts → copy.d-CJOLhJac.d.cts} +3 -2
- package/dist/{copy.d-D_VVj01o.d.ts → copy.d-DbwWriBp.d.ts} +3 -2
- package/dist/core/index.cjs +2 -1
- package/dist/core/index.d.cts +14 -13
- package/dist/core/index.d.ts +14 -13
- package/dist/core/index.js +2 -1
- package/dist/{depth.d-RTV61QNf.d.cts → depth.d-CXpPxNSK.d.cts} +3 -2
- package/dist/{depth.d-BEedifOR.d.ts → depth.d-Dca1T_RH.d.ts} +3 -2
- package/dist/{entitlementRepository.d-BwThmh3V.d.ts → entitlementRepository.d-BBRYTUlp.d.ts} +3 -2
- package/dist/{entitlementRepository.d-C-stdRyA.d.cts → entitlementRepository.d-DBhzBQjZ.d.cts} +3 -2
- package/dist/features.d-DrQxTw3-.d.cts +1 -0
- package/dist/features.d-DrQxTw3-.d.ts +1 -0
- package/dist/{focus.d-Dsm39DjO.d.cts → focus.d-BQnOVAql.d.cts} +4 -3
- package/dist/{focus.d-CtotIyEt.d.ts → focus.d-BZ2sEpbU.d.ts} +4 -3
- package/dist/health-plan/index.cjs +135 -131
- package/dist/health-plan/index.d.cts +78 -24
- package/dist/health-plan/index.d.ts +78 -24
- package/dist/health-plan/index.js +135 -131
- package/dist/{idempotency.d-Cv-B7SfC.d.ts → idempotency.d-9wNNohIA.d.cts} +2 -1
- package/dist/{idempotency.d-Bfm7oIxS.d.cts → idempotency.d-BdB17veP.d.ts} +2 -1
- package/dist/{identity.d-BksOEa6m.d.ts → identity.d-DxNvhj3a.d.ts} +2 -1
- package/dist/{identity.d-CioQhZrq.d.cts → identity.d-nRZBzkG2.d.cts} +2 -1
- package/dist/ids.d-B2GAAifq.d.cts +1 -0
- package/dist/ids.d-B2GAAifq.d.ts +1 -0
- package/dist/index.cjs +234 -219
- package/dist/index.d.cts +15 -12
- package/dist/index.d.ts +15 -12
- package/dist/index.js +235 -220
- package/dist/{introEvents.d-fAZitxMA.d.cts → introEvents.d-CQeiUeLn.d.cts} +2 -1
- package/dist/{introEvents.d-tOi4o3F4.d.ts → introEvents.d-bkIxpIKr.d.ts} +2 -1
- package/dist/introEvents.d-dS3fJCH1.d.cts +1 -0
- package/dist/introEvents.d-dS3fJCH1.d.ts +1 -0
- package/dist/models.d-BSqvbTE1.d.cts +1 -0
- package/dist/models.d-DOwnr8fi.d.ts +1 -0
- package/dist/notifications/index.cjs +1 -0
- package/dist/notifications/index.d.cts +5 -4
- package/dist/notifications/index.d.ts +5 -4
- package/dist/notifications/index.js +1 -0
- package/dist/{optInView.d-BkNSv4Gk.d.cts → optInView.d-BbVUUeoG.d.cts} +15 -2
- package/dist/{optInView.d-B8zTORO2.d.ts → optInView.d-DVJcB4Gp.d.ts} +15 -2
- package/dist/optionalModule.d-DbJmsq5f.d.cts +1 -0
- package/dist/optionalModule.d-DbJmsq5f.d.ts +1 -0
- package/dist/{parse.d-B5JHS6Pr.d.ts → parse.d-CGeJrcAC.d.ts} +2 -1
- package/dist/{parse.d-BgjO82mY.d.cts → parse.d-Dk0BasyK.d.cts} +2 -1
- package/dist/{pets.d-OWxskXCP.d.ts → pets.d-DBopbeRe.d.ts} +2 -1
- package/dist/{pets.d-B_LoizOv.d.cts → pets.d-DVptPgi0.d.cts} +2 -1
- package/dist/{petsRepository.d-Ba3xhJcj.d.ts → petsRepository.d-BtuooSOW.d.ts} +2 -1
- package/dist/{petsRepository.d-B5DWzU7C.d.cts → petsRepository.d-Daef7u0o.d.cts} +2 -1
- package/dist/photo/index.cjs +1 -0
- package/dist/photo/index.d.cts +1 -0
- package/dist/photo/index.d.ts +1 -0
- package/dist/photo/index.js +1 -0
- package/dist/ports.d-BX4f4UsB.d.cts +1 -0
- package/dist/ports.d-BX4f4UsB.d.ts +1 -0
- package/dist/{ports.d-BDtwHxmW.d.ts → ports.d-BxCVSbSi.d.ts} +5 -4
- package/dist/{ports.d-gZNTn8Qf.d.cts → ports.d-CAT70bVD.d.cts} +5 -4
- package/dist/presentation.d-vy8kTGfR.d.cts +1 -0
- package/dist/presentation.d-vy8kTGfR.d.ts +1 -0
- package/dist/profile.d-CSs1wlXT.d.cts +1 -0
- package/dist/profile.d-CSs1wlXT.d.ts +1 -0
- package/dist/projection.d-CeIUsbSk.d.cts +1 -0
- package/dist/projection.d-CeIUsbSk.d.ts +1 -0
- package/dist/quickPrompts.d-NM_81Jc1.d.cts +1 -0
- package/dist/quickPrompts.d-NM_81Jc1.d.ts +1 -0
- package/dist/records/depth/index.cjs +2 -1
- package/dist/records/depth/index.d.cts +10 -9
- package/dist/records/depth/index.d.ts +10 -9
- package/dist/records/depth/index.js +2 -1
- package/dist/records/index.cjs +243 -200
- package/dist/records/index.d.cts +170 -73
- package/dist/records/index.d.ts +170 -73
- package/dist/records/index.js +244 -201
- package/dist/recordsAsk.d-C5CGSi3j.d.cts +1 -0
- package/dist/recordsAsk.d-C5CGSi3j.d.ts +1 -0
- package/dist/{requestFunnel.d-DFf9C__p.d.ts → requestFunnel.d-Cxt0JqYx.d.ts} +3 -2
- package/dist/{requestFunnel.d-CR4akGCY.d.cts → requestFunnel.d-mEu6B-n8.d.cts} +3 -2
- package/dist/resolve.d-CoQWUy1Y.d.cts +1 -0
- package/dist/resolve.d-CoQWUy1Y.d.ts +1 -0
- package/dist/{runtimeTypes.d-BqBOrZxa.d.ts → runtimeTypes.d-Bkcj_XQy.d.ts} +5 -4
- package/dist/{runtimeTypes.d-CHdH-y2c.d.cts → runtimeTypes.d-D_qHJROH.d.cts} +5 -4
- package/dist/{screenProps.d-B1dIANI0.d.cts → screenProps.d-CR1lrpzR.d.cts} +3 -2
- package/dist/{screenProps.d-CVqFJw-J.d.ts → screenProps.d-D9n-ancr.d.ts} +3 -2
- package/dist/server/events/index.cjs +2 -1
- package/dist/server/events/index.d.cts +3 -2
- package/dist/server/events/index.d.ts +3 -2
- package/dist/server/events/index.js +2 -1
- package/dist/server/index.cjs +2 -1
- package/dist/server/index.d.cts +4 -3
- package/dist/server/index.d.ts +4 -3
- package/dist/server/index.js +2 -1
- package/dist/sheetCopy.d-CAhLOxjc.d.cts +1 -0
- package/dist/sheetCopy.d-CAhLOxjc.d.ts +1 -0
- package/dist/sheetSeam.d-B09jf4YC.d.ts +1 -0
- package/dist/sheetSeam.d-BBuEIVsa.d.cts +1 -0
- package/dist/shop/index.cjs +17 -16
- package/dist/shop/index.d.cts +13 -3
- package/dist/shop/index.d.ts +13 -3
- package/dist/shop/index.js +17 -16
- package/dist/species.d-BXAIMh7I.d.cts +1 -0
- package/dist/species.d-BXAIMh7I.d.ts +1 -0
- package/dist/tabs/index.cjs +5 -4
- package/dist/tabs/index.d.cts +35 -15
- package/dist/tabs/index.d.ts +35 -15
- package/dist/tabs/index.js +6 -5
- package/dist/tabsModel.d-B7QMug1u.d.cts +16 -0
- package/dist/tabsModel.d-B7QMug1u.d.ts +16 -0
- package/dist/televet/booking/index.cjs +1 -0
- package/dist/televet/booking/index.d.cts +7 -6
- package/dist/televet/booking/index.d.ts +7 -6
- package/dist/televet/booking/index.js +1 -0
- package/dist/televet/call/index.cjs +1 -0
- package/dist/televet/call/index.d.cts +1 -0
- package/dist/televet/call/index.d.ts +1 -0
- package/dist/televet/call/index.js +1 -0
- package/dist/televet/index.cjs +1 -0
- package/dist/televet/index.d.cts +1 -0
- package/dist/televet/index.d.ts +1 -0
- package/dist/televet/index.js +1 -0
- package/dist/televetGlobal.d-CC-DrqkQ.d.ts +1 -0
- package/dist/televetGlobal.d-CKwDCbmN.d.cts +1 -0
- package/dist/testing/index.cjs +1 -0
- package/dist/testing/index.d.cts +2 -1
- package/dist/testing/index.d.ts +2 -1
- package/dist/testing/index.js +1 -0
- package/dist/testing/rn/index.cjs +2 -2
- package/dist/testing/rn/index.d.cts +11 -9
- package/dist/testing/rn/index.d.ts +11 -9
- package/dist/testing/rn/index.js +2 -2
- package/dist/testing/web/index.cjs +1 -0
- package/dist/testing/web/index.d.cts +8 -7
- package/dist/testing/web/index.d.ts +8 -7
- package/dist/testing/web/index.js +1 -0
- package/dist/texting/index.cjs +23 -17
- package/dist/texting/index.d.cts +9 -6
- package/dist/texting/index.d.ts +9 -6
- package/dist/texting/index.js +24 -18
- package/dist/threadOptions.d-6hfQS1x7.d.cts +55 -0
- package/dist/threadOptions.d-6hfQS1x7.d.ts +55 -0
- package/dist/threadOptions.d-BEG-LZrC.d.cts +147 -0
- package/dist/threadOptions.d-BerQM1Ql.d.ts +147 -0
- package/dist/{threadOptions.d-DZ0AoQGk.d.ts → threadOptions.d-BgBvSIw8.d.ts} +7 -40
- package/dist/{threadOptions.d-CnSfFVMr.d.cts → threadOptions.d-P9v7I7va.d.cts} +7 -40
- package/dist/{timelineRows.d-CF1KvLcQ.d.cts → timelineRows.d-C04lp_Vj.d.cts} +2 -1
- package/dist/{timelineRows.d-CtL0y7y1.d.ts → timelineRows.d-_7JemrY-.d.ts} +2 -1
- package/dist/tokens.d-BUVqme2D.d.cts +1 -0
- package/dist/tokens.d-BUVqme2D.d.ts +1 -0
- package/dist/typeStyle.d-B3Kdtjie.d.ts +1 -0
- package/dist/typeStyle.d-DmlwyJq-.d.cts +1 -0
- package/dist/uploadTransport.d-CWL7CdWP.d.cts +1 -0
- package/dist/uploadTransport.d-EGoUl7gX.d.ts +1 -0
- package/dist/{planSignals.d-DtxZoWGM.d.ts → useHealthPlanSubscription.d-CUbHE6eK.d.ts} +82 -3
- package/dist/{planSignals.d-Cl6n5QpS.d.cts → useHealthPlanSubscription.d-OhLZpn-n.d.cts} +82 -3
- package/dist/useIntroSeen.d-CTWFUthO.d.cts +1 -0
- package/dist/useIntroSeen.d-CTWFUthO.d.ts +1 -0
- package/dist/{usePresentation.d-BsR08Wxt.d.ts → usePresentation.d-CBtBx38t.d.ts} +41 -40
- package/dist/{usePresentation.d-CZS0qlLI.d.cts → usePresentation.d-YkJeq9mf.d.cts} +41 -40
- package/dist/useRecords.d-BYNX01El.d.cts +1 -0
- package/dist/useRecords.d-DWk61a4c.d.ts +1 -0
- package/dist/{useRecordsDepth.d-k-zYIHTe.d.cts → useRecordsDepth.d-FTImzp6T.d.cts} +2 -1
- package/dist/{useRecordsDepth.d-DTAxFf5s.d.ts → useRecordsDepth.d-_rqDIvoq.d.ts} +2 -1
- package/dist/useVetVisit.d-BtdwhmgD.d.cts +1 -0
- package/dist/useVetVisit.d-DoYQimyt.d.ts +1 -0
- package/dist/video/index.cjs +1 -0
- package/dist/video/index.d.cts +1 -0
- package/dist/video/index.d.ts +1 -0
- package/dist/video/index.js +1 -0
- package/dist/{view.d-CAWQjcY_.d.cts → view.d-Dd6AfMvG.d.cts} +4 -3
- package/dist/{view.d-BE7VOlsB.d.ts → view.d-gmYinlac.d.ts} +4 -3
- package/dist/visitIntent.d-D7_yVp1I.d.cts +1 -0
- package/dist/visitIntent.d-D7_yVp1I.d.ts +1 -0
- package/dist/web/consent/index.cjs +1 -0
- package/dist/web/consent/index.d.cts +6 -5
- package/dist/web/consent/index.d.ts +6 -5
- package/dist/web/consent/index.js +1 -0
- package/dist/web/health-plan/index.cjs +3 -2
- package/dist/web/health-plan/index.d.cts +16 -69
- package/dist/web/health-plan/index.d.ts +16 -69
- package/dist/web/health-plan/index.js +3 -2
- package/dist/web/index.cjs +20 -17
- package/dist/web/index.d.cts +35 -43
- package/dist/web/index.d.ts +35 -43
- package/dist/web/index.js +20 -17
- package/dist/web/intro/index.cjs +1 -0
- package/dist/web/intro/index.d.cts +7 -6
- package/dist/web/intro/index.d.ts +7 -6
- package/dist/web/intro/index.js +1 -0
- package/dist/web/notifications/index.cjs +1 -0
- package/dist/web/notifications/index.d.cts +4 -3
- package/dist/web/notifications/index.d.ts +4 -3
- package/dist/web/notifications/index.js +1 -0
- package/dist/web/records/depth/index.cjs +1 -0
- package/dist/web/records/depth/index.d.cts +10 -9
- package/dist/web/records/depth/index.d.ts +10 -9
- package/dist/web/records/depth/index.js +1 -0
- package/dist/web/records/index.cjs +1 -0
- package/dist/web/records/index.d.cts +12 -11
- package/dist/web/records/index.d.ts +12 -11
- package/dist/web/records/index.js +1 -0
- package/dist/web/records/upload/index.cjs +1 -0
- package/dist/web/records/upload/index.d.cts +1 -0
- package/dist/web/records/upload/index.d.ts +1 -0
- package/dist/web/records/upload/index.js +1 -0
- package/dist/web/records-sheet/index.cjs +12 -11
- package/dist/web/records-sheet/index.d.cts +1 -0
- package/dist/web/records-sheet/index.d.ts +1 -0
- package/dist/web/records-sheet/index.js +12 -11
- package/dist/web/shop/index.cjs +12 -11
- package/dist/web/shop/index.d.cts +4 -3
- package/dist/web/shop/index.d.ts +4 -3
- package/dist/web/shop/index.js +12 -11
- package/dist/web/televet/booking/index.cjs +1 -0
- package/dist/web/televet/booking/index.d.cts +7 -6
- package/dist/web/televet/booking/index.d.ts +7 -6
- package/dist/web/televet/booking/index.js +1 -0
- package/dist/web/televet/call/index.cjs +1 -0
- package/dist/web/televet/call/index.d.cts +1 -0
- package/dist/web/televet/call/index.d.ts +1 -0
- package/dist/web/televet/call/index.js +1 -0
- package/dist/web/televet/index.cjs +1 -0
- package/dist/web/televet/index.d.cts +1 -0
- package/dist/web/televet/index.d.ts +1 -0
- package/dist/web/televet/index.js +1 -0
- package/dist/web/texting/index.cjs +2 -1
- package/dist/web/texting/index.d.cts +9 -6
- package/dist/web/texting/index.d.ts +9 -6
- package/dist/web/texting/index.js +2 -1
- package/package.json +15 -6
- package/LICENSE +0 -21
- package/dist/tabsModel.d-BfIQg6yS.d.cts +0 -31
- package/dist/tabsModel.d-BfIQg6yS.d.ts +0 -31
|
@@ -1,11 +1,50 @@
|
|
|
1
|
+
/*! @everfur/sdk. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
|
|
2
|
+
import { O as HealthPlanReasonKind, f as HealthPlanItem, q as HealthPlan, P as HealthPlanRepository } from './focus.d-BZ2sEpbU.js';
|
|
1
3
|
import { ReactNode } from 'react';
|
|
2
4
|
import { E as EverfurError } from './EverfurError.d-8NHtlgzA.js';
|
|
3
5
|
import { P as PetRef } from './ids.d-B2GAAifq.js';
|
|
4
|
-
import { f as HealthPlanItem, m as HealthPlan, n as HealthPlanRepository, o as HealthPlanReasonKind } from './focus.d-CtotIyEt.js';
|
|
5
6
|
import { L as LifecyclePort } from './LifecyclePort.d-Cr1p33a7.js';
|
|
6
7
|
import { d as RecordsRequestView, f as RecordsView } from './models.d-DOwnr8fi.js';
|
|
7
8
|
import { i as EverfurPresentationInput, h as EverfurPresentation } from './presentation.d-vy8kTGfR.js';
|
|
8
9
|
|
|
10
|
+
declare const HEALTH_PLAN_COPY: Readonly<{
|
|
11
|
+
loading: "Loading";
|
|
12
|
+
retry: "Try again";
|
|
13
|
+
signedOut: "Sign in required";
|
|
14
|
+
addToCart: "Add to cart";
|
|
15
|
+
added: "Added";
|
|
16
|
+
remove: "Remove";
|
|
17
|
+
checkout: "Checkout";
|
|
18
|
+
subtotal: "Subtotal";
|
|
19
|
+
sample: "Sample";
|
|
20
|
+
cartEmpty: "Your cart is empty.";
|
|
21
|
+
choosePet: "Choose a pet";
|
|
22
|
+
emptyTitle: "";
|
|
23
|
+
emptyBody: "";
|
|
24
|
+
emptyAsk: "";
|
|
25
|
+
}>;
|
|
26
|
+
/** The Health Plan's empty state words (Q1). Each is '' by default: an empty title and body draw nothing. */
|
|
27
|
+
interface HealthPlanEmptyCopy {
|
|
28
|
+
readonly emptyTitle: string;
|
|
29
|
+
readonly emptyBody: string;
|
|
30
|
+
/** The empty state's Ask button. */
|
|
31
|
+
readonly emptyAsk: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The reason labels, one per kind. An empty label is not drawn (the reason's text still is). `profile` (a pet profile
|
|
35
|
+
* fact) has no source yet; `dna` names one partner's product, so the SDK leaves it to that partner (Q3).
|
|
36
|
+
*/
|
|
37
|
+
declare const HEALTH_PLAN_REASON_LABELS: Readonly<Record<HealthPlanReasonKind, string>>;
|
|
38
|
+
/** ADAPTED from Raph. Listed for approval. */
|
|
39
|
+
declare const HEALTH_PLAN_TEMPLATES: Readonly<{
|
|
40
|
+
/** Raph: "Georgia's care plan". Used only when the plan carries no `headline` of the tenant's own. */
|
|
41
|
+
planTitle: (petName: string) => string;
|
|
42
|
+
/** Raph: "<brand> cart" (his demo named the partner). */
|
|
43
|
+
cartLabel: (brand: string) => string;
|
|
44
|
+
}>;
|
|
45
|
+
/** Every key still waiting on Raph's words (empty, so not drawn), so the list a reviewer approves cannot drift from the file. */
|
|
46
|
+
declare const HEALTH_PLAN_COPY_PLACEHOLDERS: readonly string[];
|
|
47
|
+
|
|
9
48
|
type EverfurHealthPlanStatus = 'signedOut' | 'noPet' | 'loading' | 'failed' | 'empty' | 'ready';
|
|
10
49
|
/** The member's cart: the items in the plan, and their total when one can honestly be given. */
|
|
11
50
|
interface HealthPlanCart {
|
|
@@ -238,48 +277,10 @@ declare function healthPlanBlanksFacts(input: {
|
|
|
238
277
|
readonly record: RecordsView | null;
|
|
239
278
|
}, now: number): HealthPlanBlanksFacts | null;
|
|
240
279
|
|
|
241
|
-
declare const HEALTH_PLAN_COPY: Readonly<{
|
|
242
|
-
loading: "Loading";
|
|
243
|
-
retry: "Try again";
|
|
244
|
-
signedOut: "Sign in required";
|
|
245
|
-
addToCart: "Add to cart";
|
|
246
|
-
added: "Added";
|
|
247
|
-
remove: "Remove";
|
|
248
|
-
checkout: "Checkout";
|
|
249
|
-
subtotal: "Subtotal";
|
|
250
|
-
sample: "Sample";
|
|
251
|
-
cartEmpty: "Your cart is empty.";
|
|
252
|
-
choosePet: "Choose a pet";
|
|
253
|
-
emptyTitle: "";
|
|
254
|
-
emptyBody: "";
|
|
255
|
-
emptyAsk: "";
|
|
256
|
-
}>;
|
|
257
|
-
/** The Health Plan's empty state words (Q1). Each is '' by default: an empty title and body draw nothing. */
|
|
258
|
-
interface HealthPlanEmptyCopy {
|
|
259
|
-
readonly emptyTitle: string;
|
|
260
|
-
readonly emptyBody: string;
|
|
261
|
-
/** The empty state's Ask button. */
|
|
262
|
-
readonly emptyAsk: string;
|
|
263
|
-
}
|
|
264
|
-
/**
|
|
265
|
-
* The reason labels, one per kind. An empty label is not drawn (the reason's text still is). `profile` (a pet profile
|
|
266
|
-
* fact) has no source yet; `dna` names one partner's product, so the SDK leaves it to that partner (Q3).
|
|
267
|
-
*/
|
|
268
|
-
declare const HEALTH_PLAN_REASON_LABELS: Readonly<Record<HealthPlanReasonKind, string>>;
|
|
269
|
-
/** ADAPTED from Raph. Listed for approval. */
|
|
270
|
-
declare const HEALTH_PLAN_TEMPLATES: Readonly<{
|
|
271
|
-
/** Raph: "Georgia's care plan". Used only when the plan carries no `headline` of the tenant's own. */
|
|
272
|
-
planTitle: (petName: string) => string;
|
|
273
|
-
/** Raph: "<brand> cart" (his demo named the partner). */
|
|
274
|
-
cartLabel: (brand: string) => string;
|
|
275
|
-
}>;
|
|
276
|
-
/** Every key still waiting on Raph's words (empty, so not drawn), so the list a reviewer approves cannot drift from the file. */
|
|
277
|
-
declare const HEALTH_PLAN_COPY_PLACEHOLDERS: readonly string[];
|
|
278
|
-
|
|
279
280
|
/**
|
|
280
281
|
* The tenant's presentation settings resolved against `client` (the explicit props; leave a field undefined to
|
|
281
282
|
* take the console value). Total: always every field.
|
|
282
283
|
*/
|
|
283
284
|
declare function useEverfurPresentation(client?: EverfurPresentationInput | null): EverfurPresentation;
|
|
284
285
|
|
|
285
|
-
export { formatHealthPlanPriceWith as A, healthPlanBlanksFacts as B, healthPlanCart as C, healthPlanNextShotsAt as D, type EverfurHealthPlanOptions as E, healthPlanRecordsWeightKg as F, isHealthPlanSessionRequired as G, type HealthPlanBlanksFacts as H, showHealthPlanCartBar as I, useEverfurHealthPlan as J, useEverfurHealthPlanRepository as K, useEverfurPresentation as L, type HealthPlanPriceFormat as a, type HealthPlanLayoutProps as b, type HealthPlanEmptyCopy as c, type
|
|
286
|
+
export { formatHealthPlanPriceWith as A, healthPlanBlanksFacts as B, healthPlanCart as C, healthPlanNextShotsAt as D, type EverfurHealthPlanOptions as E, healthPlanRecordsWeightKg as F, isHealthPlanSessionRequired as G, type HealthPlanBlanksFacts as H, showHealthPlanCartBar as I, useEverfurHealthPlan as J, useEverfurHealthPlanRepository as K, useEverfurPresentation as L, type HealthPlanPriceFormat as a, type HealthPlanLayoutProps as b, type HealthPlanEmptyCopy as c, type HealthPlanCardOptions as d, type HealthPlanImageVariant as e, type HealthPlanReasonVariant as f, type HealthPlanCart as g, type EverfurHealthPlanState as h, type EverfurHealthPlanStatus as i, HEALTH_PLAN_COPY as j, HEALTH_PLAN_COPY_PLACEHOLDERS as k, HEALTH_PLAN_LAYOUT_DEFAULTS as l, HEALTH_PLAN_REASON_LABELS as m, HEALTH_PLAN_TEMPLATES as n, type HealthPlanAddButtonSize as o, type HealthPlanAddedVariant as p, type HealthPlanBlanksPhase as q, type HealthPlanCardShadow as r, type HealthPlanCartBarPlacement as s, type HealthPlanCartBarVisibility as t, type HealthPlanCategoryVariant as u, type HealthPlanFontWeight as v, type HealthPlanHeaderContext as w, type HealthPlanPageContext as x, type HealthPlanShadow as y, formatHealthPlanPrice as z };
|
|
@@ -1,11 +1,50 @@
|
|
|
1
|
+
/*! @everfur/sdk. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
|
|
2
|
+
import { O as HealthPlanReasonKind, f as HealthPlanItem, q as HealthPlan, P as HealthPlanRepository } from './focus.d-BQnOVAql.cjs';
|
|
1
3
|
import { ReactNode } from 'react';
|
|
2
4
|
import { E as EverfurError } from './EverfurError.d-8NHtlgzA.cjs';
|
|
3
5
|
import { P as PetRef } from './ids.d-B2GAAifq.cjs';
|
|
4
|
-
import { f as HealthPlanItem, m as HealthPlan, n as HealthPlanRepository, o as HealthPlanReasonKind } from './focus.d-Dsm39DjO.cjs';
|
|
5
6
|
import { L as LifecyclePort } from './LifecyclePort.d-Cr1p33a7.cjs';
|
|
6
7
|
import { d as RecordsRequestView, f as RecordsView } from './models.d-BSqvbTE1.cjs';
|
|
7
8
|
import { i as EverfurPresentationInput, h as EverfurPresentation } from './presentation.d-vy8kTGfR.cjs';
|
|
8
9
|
|
|
10
|
+
declare const HEALTH_PLAN_COPY: Readonly<{
|
|
11
|
+
loading: "Loading";
|
|
12
|
+
retry: "Try again";
|
|
13
|
+
signedOut: "Sign in required";
|
|
14
|
+
addToCart: "Add to cart";
|
|
15
|
+
added: "Added";
|
|
16
|
+
remove: "Remove";
|
|
17
|
+
checkout: "Checkout";
|
|
18
|
+
subtotal: "Subtotal";
|
|
19
|
+
sample: "Sample";
|
|
20
|
+
cartEmpty: "Your cart is empty.";
|
|
21
|
+
choosePet: "Choose a pet";
|
|
22
|
+
emptyTitle: "";
|
|
23
|
+
emptyBody: "";
|
|
24
|
+
emptyAsk: "";
|
|
25
|
+
}>;
|
|
26
|
+
/** The Health Plan's empty state words (Q1). Each is '' by default: an empty title and body draw nothing. */
|
|
27
|
+
interface HealthPlanEmptyCopy {
|
|
28
|
+
readonly emptyTitle: string;
|
|
29
|
+
readonly emptyBody: string;
|
|
30
|
+
/** The empty state's Ask button. */
|
|
31
|
+
readonly emptyAsk: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The reason labels, one per kind. An empty label is not drawn (the reason's text still is). `profile` (a pet profile
|
|
35
|
+
* fact) has no source yet; `dna` names one partner's product, so the SDK leaves it to that partner (Q3).
|
|
36
|
+
*/
|
|
37
|
+
declare const HEALTH_PLAN_REASON_LABELS: Readonly<Record<HealthPlanReasonKind, string>>;
|
|
38
|
+
/** ADAPTED from Raph. Listed for approval. */
|
|
39
|
+
declare const HEALTH_PLAN_TEMPLATES: Readonly<{
|
|
40
|
+
/** Raph: "Georgia's care plan". Used only when the plan carries no `headline` of the tenant's own. */
|
|
41
|
+
planTitle: (petName: string) => string;
|
|
42
|
+
/** Raph: "<brand> cart" (his demo named the partner). */
|
|
43
|
+
cartLabel: (brand: string) => string;
|
|
44
|
+
}>;
|
|
45
|
+
/** Every key still waiting on Raph's words (empty, so not drawn), so the list a reviewer approves cannot drift from the file. */
|
|
46
|
+
declare const HEALTH_PLAN_COPY_PLACEHOLDERS: readonly string[];
|
|
47
|
+
|
|
9
48
|
type EverfurHealthPlanStatus = 'signedOut' | 'noPet' | 'loading' | 'failed' | 'empty' | 'ready';
|
|
10
49
|
/** The member's cart: the items in the plan, and their total when one can honestly be given. */
|
|
11
50
|
interface HealthPlanCart {
|
|
@@ -238,48 +277,10 @@ declare function healthPlanBlanksFacts(input: {
|
|
|
238
277
|
readonly record: RecordsView | null;
|
|
239
278
|
}, now: number): HealthPlanBlanksFacts | null;
|
|
240
279
|
|
|
241
|
-
declare const HEALTH_PLAN_COPY: Readonly<{
|
|
242
|
-
loading: "Loading";
|
|
243
|
-
retry: "Try again";
|
|
244
|
-
signedOut: "Sign in required";
|
|
245
|
-
addToCart: "Add to cart";
|
|
246
|
-
added: "Added";
|
|
247
|
-
remove: "Remove";
|
|
248
|
-
checkout: "Checkout";
|
|
249
|
-
subtotal: "Subtotal";
|
|
250
|
-
sample: "Sample";
|
|
251
|
-
cartEmpty: "Your cart is empty.";
|
|
252
|
-
choosePet: "Choose a pet";
|
|
253
|
-
emptyTitle: "";
|
|
254
|
-
emptyBody: "";
|
|
255
|
-
emptyAsk: "";
|
|
256
|
-
}>;
|
|
257
|
-
/** The Health Plan's empty state words (Q1). Each is '' by default: an empty title and body draw nothing. */
|
|
258
|
-
interface HealthPlanEmptyCopy {
|
|
259
|
-
readonly emptyTitle: string;
|
|
260
|
-
readonly emptyBody: string;
|
|
261
|
-
/** The empty state's Ask button. */
|
|
262
|
-
readonly emptyAsk: string;
|
|
263
|
-
}
|
|
264
|
-
/**
|
|
265
|
-
* The reason labels, one per kind. An empty label is not drawn (the reason's text still is). `profile` (a pet profile
|
|
266
|
-
* fact) has no source yet; `dna` names one partner's product, so the SDK leaves it to that partner (Q3).
|
|
267
|
-
*/
|
|
268
|
-
declare const HEALTH_PLAN_REASON_LABELS: Readonly<Record<HealthPlanReasonKind, string>>;
|
|
269
|
-
/** ADAPTED from Raph. Listed for approval. */
|
|
270
|
-
declare const HEALTH_PLAN_TEMPLATES: Readonly<{
|
|
271
|
-
/** Raph: "Georgia's care plan". Used only when the plan carries no `headline` of the tenant's own. */
|
|
272
|
-
planTitle: (petName: string) => string;
|
|
273
|
-
/** Raph: "<brand> cart" (his demo named the partner). */
|
|
274
|
-
cartLabel: (brand: string) => string;
|
|
275
|
-
}>;
|
|
276
|
-
/** Every key still waiting on Raph's words (empty, so not drawn), so the list a reviewer approves cannot drift from the file. */
|
|
277
|
-
declare const HEALTH_PLAN_COPY_PLACEHOLDERS: readonly string[];
|
|
278
|
-
|
|
279
280
|
/**
|
|
280
281
|
* The tenant's presentation settings resolved against `client` (the explicit props; leave a field undefined to
|
|
281
282
|
* take the console value). Total: always every field.
|
|
282
283
|
*/
|
|
283
284
|
declare function useEverfurPresentation(client?: EverfurPresentationInput | null): EverfurPresentation;
|
|
284
285
|
|
|
285
|
-
export { formatHealthPlanPriceWith as A, healthPlanBlanksFacts as B, healthPlanCart as C, healthPlanNextShotsAt as D, type EverfurHealthPlanOptions as E, healthPlanRecordsWeightKg as F, isHealthPlanSessionRequired as G, type HealthPlanBlanksFacts as H, showHealthPlanCartBar as I, useEverfurHealthPlan as J, useEverfurHealthPlanRepository as K, useEverfurPresentation as L, type HealthPlanPriceFormat as a, type HealthPlanLayoutProps as b, type HealthPlanEmptyCopy as c, type
|
|
286
|
+
export { formatHealthPlanPriceWith as A, healthPlanBlanksFacts as B, healthPlanCart as C, healthPlanNextShotsAt as D, type EverfurHealthPlanOptions as E, healthPlanRecordsWeightKg as F, isHealthPlanSessionRequired as G, type HealthPlanBlanksFacts as H, showHealthPlanCartBar as I, useEverfurHealthPlan as J, useEverfurHealthPlanRepository as K, useEverfurPresentation as L, type HealthPlanPriceFormat as a, type HealthPlanLayoutProps as b, type HealthPlanEmptyCopy as c, type HealthPlanCardOptions as d, type HealthPlanImageVariant as e, type HealthPlanReasonVariant as f, type HealthPlanCart as g, type EverfurHealthPlanState as h, type EverfurHealthPlanStatus as i, HEALTH_PLAN_COPY as j, HEALTH_PLAN_COPY_PLACEHOLDERS as k, HEALTH_PLAN_LAYOUT_DEFAULTS as l, HEALTH_PLAN_REASON_LABELS as m, HEALTH_PLAN_TEMPLATES as n, type HealthPlanAddButtonSize as o, type HealthPlanAddedVariant as p, type HealthPlanBlanksPhase as q, type HealthPlanCardShadow as r, type HealthPlanCartBarPlacement as s, type HealthPlanCartBarVisibility as t, type HealthPlanCategoryVariant as u, type HealthPlanFontWeight as v, type HealthPlanHeaderContext as w, type HealthPlanPageContext as x, type HealthPlanShadow as y, formatHealthPlanPrice as z };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/*! @everfur/sdk. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
|
|
1
2
|
import { E as EverfurError } from './EverfurError.d-8NHtlgzA.cjs';
|
|
2
3
|
import { E as EverfurResult } from './EverfurResult.d-BFH-3s6E.cjs';
|
|
3
4
|
import { R as RecordsRequestId, P as PetRef } from './ids.d-B2GAAifq.cjs';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/*! @everfur/sdk. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
|
|
1
2
|
import { E as EverfurError } from './EverfurError.d-8NHtlgzA.js';
|
|
2
3
|
import { E as EverfurResult } from './EverfurResult.d-D_-254ZY.js';
|
|
3
4
|
import { R as RecordsRequestId, P as PetRef } from './ids.d-B2GAAifq.js';
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
/*! @everfur/sdk. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
|
|
1
2
|
import { E as EverfurError } from './EverfurError.d-8NHtlgzA.cjs';
|
|
2
3
|
import { E as EverfurResult } from './EverfurResult.d-BFH-3s6E.cjs';
|
|
3
4
|
import { P as PetRef } from './ids.d-B2GAAifq.cjs';
|
|
4
|
-
import { l as RecordsDepthClient } from './depth.d-
|
|
5
|
+
import { l as RecordsDepthClient } from './depth.d-CXpPxNSK.cjs';
|
|
5
6
|
|
|
6
7
|
type RecordsDepthStatus = 'loading' | 'empty' | 'error' | 'populated';
|
|
7
8
|
/** One depth read as a render state. `withheld` (no consent, or a fail-closed parse) renders nothing. */
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
/*! @everfur/sdk. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
|
|
1
2
|
import { E as EverfurError } from './EverfurError.d-8NHtlgzA.js';
|
|
2
3
|
import { E as EverfurResult } from './EverfurResult.d-D_-254ZY.js';
|
|
3
4
|
import { P as PetRef } from './ids.d-B2GAAifq.js';
|
|
4
|
-
import { l as RecordsDepthClient } from './depth.d-
|
|
5
|
+
import { l as RecordsDepthClient } from './depth.d-Dca1T_RH.js';
|
|
5
6
|
|
|
6
7
|
type RecordsDepthStatus = 'loading' | 'empty' | 'error' | 'populated';
|
|
7
8
|
/** One depth read as a render state. `withheld` (no consent, or a fail-closed parse) renders nothing. */
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/*! @everfur/sdk. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
|
|
1
2
|
import { E as EverfurError } from './EverfurError.d-8NHtlgzA.cjs';
|
|
2
3
|
import { P as PetRef } from './ids.d-B2GAAifq.cjs';
|
|
3
4
|
import { E as EverfurResult } from './EverfurResult.d-BFH-3s6E.cjs';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/*! @everfur/sdk. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
|
|
1
2
|
import { E as EverfurError } from './EverfurError.d-8NHtlgzA.js';
|
|
2
3
|
import { P as PetRef } from './ids.d-B2GAAifq.js';
|
|
3
4
|
import { E as EverfurResult } from './EverfurResult.d-D_-254ZY.js';
|
package/dist/video/index.cjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/*! @everfur/sdk. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
|
|
1
2
|
"use strict";var react=require("react"),reactNative=require("react-native"),jsxRuntime=require("react/jsx-runtime");var CONTRACT_RETRYABILITY=/* @__PURE__ */Object.freeze([
|
|
2
3
|
/* @__PURE__ */Object.freeze({wireCode:"AccessDeniedException",envelope:"http_envelope",httpStatus:403,retryable:false}),
|
|
3
4
|
/* @__PURE__ */Object.freeze({wireCode:"AuthorizationException",envelope:"http_envelope",httpStatus:401,retryable:false}),
|
package/dist/video/index.d.cts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/*! @everfur/sdk. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
|
|
1
2
|
import { E as EverfurError } from '../EverfurError.d-8NHtlgzA.cjs';
|
|
2
3
|
export { a as EverfurErrorCategory, b as EverfurErrorCode } from '../EverfurError.d-8NHtlgzA.cjs';
|
|
3
4
|
import { E as EverfurResult } from '../EverfurResult.d-BFH-3s6E.cjs';
|
package/dist/video/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/*! @everfur/sdk. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
|
|
1
2
|
import { E as EverfurError } from '../EverfurError.d-8NHtlgzA.js';
|
|
2
3
|
export { a as EverfurErrorCategory, b as EverfurErrorCode } from '../EverfurError.d-8NHtlgzA.js';
|
|
3
4
|
import { E as EverfurResult } from '../EverfurResult.d-D_-254ZY.js';
|
package/dist/video/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/*! @everfur/sdk. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
|
|
1
2
|
import{createContext,forwardRef,createElement,useState,useEffect,useCallback,useSyncExternalStore,useMemo,useContext,Component}from"react";import{TextInput,View,ActivityIndicator,Pressable,ScrollView,StyleSheet,Text as Text$1}from"react-native";import{jsx,jsxs}from"react/jsx-runtime";var CONTRACT_RETRYABILITY=/* @__PURE__ */Object.freeze([
|
|
2
3
|
/* @__PURE__ */Object.freeze({wireCode:"AccessDeniedException",envelope:"http_envelope",httpStatus:403,retryable:false}),
|
|
3
4
|
/* @__PURE__ */Object.freeze({wireCode:"AuthorizationException",envelope:"http_envelope",httpStatus:401,retryable:false}),
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
+
/*! @everfur/sdk. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
|
|
1
2
|
import { E as EverfurError } from './EverfurError.d-8NHtlgzA.cjs';
|
|
2
3
|
import { P as PetRef } from './ids.d-B2GAAifq.cjs';
|
|
3
|
-
import { E as RecordMarkersView } from './depth.d-
|
|
4
|
-
import { R as RecordsDepthStatus } from './useRecordsDepth.d-
|
|
4
|
+
import { E as RecordMarkersView } from './depth.d-CXpPxNSK.cjs';
|
|
5
|
+
import { R as RecordsDepthStatus } from './useRecordsDepth.d-FTImzp6T.cjs';
|
|
5
6
|
import { E as EverfurResult } from './EverfurResult.d-BFH-3s6E.cjs';
|
|
6
7
|
import { g as RecordPdfLink, i as RecordShareAudienceScope, R as RecordShareAudience, c as RecordShareLink, d as RecordShareEmailInput, e as RecordShareEmailReceipt } from './features.d-DrQxTw3-.cjs';
|
|
7
8
|
import { a as RecordEntity, d as RecordsRequestView } from './models.d-BSqvbTE1.cjs';
|
|
8
|
-
import { a as RecordsClinicBatchClient } from './clinicBatch.d-
|
|
9
|
+
import { a as RecordsClinicBatchClient } from './clinicBatch.d-BTDdhMQ2.cjs';
|
|
9
10
|
import { R as RecordsClinicController } from './clinicRequestProps.d-1dCtouGA.cjs';
|
|
10
11
|
|
|
11
12
|
interface UseRecordsMarkersState {
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
+
/*! @everfur/sdk. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
|
|
1
2
|
import { E as EverfurError } from './EverfurError.d-8NHtlgzA.js';
|
|
2
3
|
import { P as PetRef } from './ids.d-B2GAAifq.js';
|
|
3
|
-
import { E as RecordMarkersView } from './depth.d-
|
|
4
|
-
import { R as RecordsDepthStatus } from './useRecordsDepth.d-
|
|
4
|
+
import { E as RecordMarkersView } from './depth.d-Dca1T_RH.js';
|
|
5
|
+
import { R as RecordsDepthStatus } from './useRecordsDepth.d-_rqDIvoq.js';
|
|
5
6
|
import { E as EverfurResult } from './EverfurResult.d-D_-254ZY.js';
|
|
6
7
|
import { g as RecordPdfLink, i as RecordShareAudienceScope, R as RecordShareAudience, c as RecordShareLink, d as RecordShareEmailInput, e as RecordShareEmailReceipt } from './features.d-DrQxTw3-.js';
|
|
7
8
|
import { a as RecordEntity, d as RecordsRequestView } from './models.d-DOwnr8fi.js';
|
|
8
|
-
import { a as RecordsClinicBatchClient } from './clinicBatch.d-
|
|
9
|
+
import { a as RecordsClinicBatchClient } from './clinicBatch.d-BP_Rpvcy.js';
|
|
9
10
|
import { R as RecordsClinicController } from './clinicRequestProps.d-CjsMg_OD.js';
|
|
10
11
|
|
|
11
12
|
interface UseRecordsMarkersState {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/*! @everfur/sdk. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
|
|
1
2
|
/** What the hosted page opens for an existing visit, in EFBackend's order. `visit` is the default. */
|
|
2
3
|
declare const VET_VISIT_INTENTS: readonly ["visit", "join", "summary", "messages"];
|
|
3
4
|
/** One intent: the visit itself, its call, its summary, or its messages. */
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/*! @everfur/sdk. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
|
|
1
2
|
/** What the hosted page opens for an existing visit, in EFBackend's order. `visit` is the default. */
|
|
2
3
|
declare const VET_VISIT_INTENTS: readonly ["visit", "join", "summary", "messages"];
|
|
3
4
|
/** One intent: the visit itself, its call, its summary, or its messages. */
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/*! @everfur/sdk. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
|
|
1
2
|
"use client";
|
|
2
3
|
"use strict";var react=require("react"),jsxRuntime=require("react/jsx-runtime");var CONSENT_COPY=/* @__PURE__ */Object.freeze({loading:"Loading",retry:"Try again",signedOut:"Sign in required",changeable:"You can change this at any time.",saving:"Saving"}),CONSENT_SCOPE_COPY=/* @__PURE__ */Object.freeze({transcript_exposure:/* @__PURE__ */Object.freeze({title:"Conversation sharing",body:partner=>`Let ${partner} read the conversations you have with Everfur.`}),partner_context:/* @__PURE__ */Object.freeze({title:"Pet details",body:partner=>`Let Everfur use the pet details ${partner} already holds as background in your conversations.`})});function consentRowView(state,scope){if(state.status==="signed_out")return{kind:"signedOut"};let entry=state.scopes.find(candidate=>candidate.scope===scope);return entry===void 0?state.error!==null?{kind:"failed",error:state.error}:{kind:"loading"}:entry.loaded?{kind:"row",scope:entry.scope,granted:entry.granted,hasDecision:entry.hasDecision,saving:entry.saving,error:entry.error}:entry.error!==null?{kind:"failed",error:entry.error}:{kind:"loading"}}var CONTRACT_RETRYABILITY=/* @__PURE__ */Object.freeze([
|
|
3
4
|
/* @__PURE__ */Object.freeze({wireCode:"AccessDeniedException",envelope:"http_envelope",httpStatus:403,retryable:false}),
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
+
/*! @everfur/sdk. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
|
|
1
2
|
import { ReactNode, CSSProperties } from 'react';
|
|
2
|
-
import { E as EverfurConsentScope } from '../../copy.d-
|
|
3
|
-
export { C as CONSENT_COPY, a as CONSENT_SCOPE_COPY, b as CONSENT_VERSION_MAX, c as ConsentRepository, d as ConsentRepositoryDeps, e as ConsentRowView, f as ConsentRuntime, g as ConsentScopeCopy, h as EVERFUR_CONSENT_SCOPES, i as EverfurConsentDecision, j as EverfurConsentOptions, k as EverfurConsentScopeState, l as EverfurConsentState, m as EverfurConsentStatus, n as EverfurConsentVerdict, o as consentRowView, p as createConsentRepository, q as createConsentRepositoryOver, r as isEverfurConsentScope, u as useEverfurConsent, s as useEverfurConsentRepository } from '../../copy.d-
|
|
3
|
+
import { E as EverfurConsentScope } from '../../copy.d-CJOLhJac.cjs';
|
|
4
|
+
export { C as CONSENT_COPY, a as CONSENT_SCOPE_COPY, b as CONSENT_VERSION_MAX, c as ConsentRepository, d as ConsentRepositoryDeps, e as ConsentRowView, f as ConsentRuntime, g as ConsentScopeCopy, h as EVERFUR_CONSENT_SCOPES, i as EverfurConsentDecision, j as EverfurConsentOptions, k as EverfurConsentScopeState, l as EverfurConsentState, m as EverfurConsentStatus, n as EverfurConsentVerdict, o as consentRowView, p as createConsentRepository, q as createConsentRepositoryOver, r as isEverfurConsentScope, u as useEverfurConsent, s as useEverfurConsentRepository } from '../../copy.d-CJOLhJac.cjs';
|
|
4
5
|
import { E as EverfurError } from '../../EverfurError.d-8NHtlgzA.cjs';
|
|
5
6
|
export { a as EverfurErrorCategory, b as EverfurErrorCode } from '../../EverfurError.d-8NHtlgzA.cjs';
|
|
6
|
-
export { A as AuthContext, I as IdentityProvider, M as MintedToken, T as TokenProvider } from '../../identity.d-
|
|
7
|
-
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-
|
|
7
|
+
export { A as AuthContext, I as IdentityProvider, M as MintedToken, T as TokenProvider } from '../../identity.d-nRZBzkG2.cjs';
|
|
8
|
+
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-84fNJFv9.cjs';
|
|
8
9
|
export { B as Brand, C as ConversationId, P as PetRef, R as RecordsRequestId, U as UserRef, _ as __brand } from '../../ids.d-B2GAAifq.cjs';
|
|
9
10
|
export { E as EverfurResult } from '../../EverfurResult.d-BFH-3s6E.cjs';
|
|
10
11
|
export { E as ErrorPolicyPort } from '../../ErrorPolicyPort.d-DirW9hgO.cjs';
|
|
11
|
-
import '../../requestFunnel.d-
|
|
12
|
+
import '../../requestFunnel.d-mEu6B-n8.cjs';
|
|
12
13
|
|
|
13
14
|
interface EverfurConsentToggleProps {
|
|
14
15
|
/** Which act this row is. One row is one act; two acts are two rows, never one switch. */
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
+
/*! @everfur/sdk. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
|
|
1
2
|
import { ReactNode, CSSProperties } from 'react';
|
|
2
|
-
import { E as EverfurConsentScope } from '../../copy.d-
|
|
3
|
-
export { C as CONSENT_COPY, a as CONSENT_SCOPE_COPY, b as CONSENT_VERSION_MAX, c as ConsentRepository, d as ConsentRepositoryDeps, e as ConsentRowView, f as ConsentRuntime, g as ConsentScopeCopy, h as EVERFUR_CONSENT_SCOPES, i as EverfurConsentDecision, j as EverfurConsentOptions, k as EverfurConsentScopeState, l as EverfurConsentState, m as EverfurConsentStatus, n as EverfurConsentVerdict, o as consentRowView, p as createConsentRepository, q as createConsentRepositoryOver, r as isEverfurConsentScope, u as useEverfurConsent, s as useEverfurConsentRepository } from '../../copy.d-
|
|
3
|
+
import { E as EverfurConsentScope } from '../../copy.d-DbwWriBp.js';
|
|
4
|
+
export { C as CONSENT_COPY, a as CONSENT_SCOPE_COPY, b as CONSENT_VERSION_MAX, c as ConsentRepository, d as ConsentRepositoryDeps, e as ConsentRowView, f as ConsentRuntime, g as ConsentScopeCopy, h as EVERFUR_CONSENT_SCOPES, i as EverfurConsentDecision, j as EverfurConsentOptions, k as EverfurConsentScopeState, l as EverfurConsentState, m as EverfurConsentStatus, n as EverfurConsentVerdict, o as consentRowView, p as createConsentRepository, q as createConsentRepositoryOver, r as isEverfurConsentScope, u as useEverfurConsent, s as useEverfurConsentRepository } from '../../copy.d-DbwWriBp.js';
|
|
4
5
|
import { E as EverfurError } from '../../EverfurError.d-8NHtlgzA.js';
|
|
5
6
|
export { a as EverfurErrorCategory, b as EverfurErrorCode } from '../../EverfurError.d-8NHtlgzA.js';
|
|
6
|
-
export { A as AuthContext, I as IdentityProvider, M as MintedToken, T as TokenProvider } from '../../identity.d-
|
|
7
|
-
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-
|
|
7
|
+
export { A as AuthContext, I as IdentityProvider, M as MintedToken, T as TokenProvider } from '../../identity.d-DxNvhj3a.js';
|
|
8
|
+
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-B4-Mrwq2.js';
|
|
8
9
|
export { B as Brand, C as ConversationId, P as PetRef, R as RecordsRequestId, U as UserRef, _ as __brand } from '../../ids.d-B2GAAifq.js';
|
|
9
10
|
export { E as EverfurResult } from '../../EverfurResult.d-D_-254ZY.js';
|
|
10
11
|
export { E as ErrorPolicyPort } from '../../ErrorPolicyPort.d-68yrE3BE.js';
|
|
11
|
-
import '../../requestFunnel.d-
|
|
12
|
+
import '../../requestFunnel.d-Cxt0JqYx.js';
|
|
12
13
|
|
|
13
14
|
interface EverfurConsentToggleProps {
|
|
14
15
|
/** Which act this row is. One row is one act; two acts are two rows, never one switch. */
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/*! @everfur/sdk. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
|
|
1
2
|
"use client";
|
|
2
3
|
import{createContext,useMemo,useState,useRef,useCallback,useEffect,useContext,createElement,Component}from"react";import{jsxs,jsx}from"react/jsx-runtime";var CONSENT_COPY=/* @__PURE__ */Object.freeze({loading:"Loading",retry:"Try again",signedOut:"Sign in required",changeable:"You can change this at any time.",saving:"Saving"}),CONSENT_SCOPE_COPY=/* @__PURE__ */Object.freeze({transcript_exposure:/* @__PURE__ */Object.freeze({title:"Conversation sharing",body:partner=>`Let ${partner} read the conversations you have with Everfur.`}),partner_context:/* @__PURE__ */Object.freeze({title:"Pet details",body:partner=>`Let Everfur use the pet details ${partner} already holds as background in your conversations.`})});function consentRowView(state,scope){if(state.status==="signed_out")return{kind:"signedOut"};let entry=state.scopes.find(candidate=>candidate.scope===scope);return entry===void 0?state.error!==null?{kind:"failed",error:state.error}:{kind:"loading"}:entry.loaded?{kind:"row",scope:entry.scope,granted:entry.granted,hasDecision:entry.hasDecision,saving:entry.saving,error:entry.error}:entry.error!==null?{kind:"failed",error:entry.error}:{kind:"loading"}}var CONTRACT_RETRYABILITY=/* @__PURE__ */Object.freeze([
|
|
3
4
|
/* @__PURE__ */Object.freeze({wireCode:"AccessDeniedException",envelope:"http_envelope",httpStatus:403,retryable:false}),
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/*! @everfur/sdk. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
|
|
1
2
|
"use client";
|
|
2
3
|
"use strict";var react=require("react"),jsxRuntime=require("react/jsx-runtime"),reactDom=require("react-dom");var HEALTH_PLAN_COPY=/* @__PURE__ */Object.freeze({loading:"Loading",retry:"Try again",signedOut:"Sign in required",addToCart:"Add to cart",added:"Added",remove:"Remove",checkout:"Checkout",subtotal:"Subtotal",sample:"Sample",cartEmpty:"Your cart is empty.",choosePet:"Choose a pet",emptyTitle:"",emptyBody:"",emptyAsk:""}),COPY_ASKS=/* @__PURE__ */Object.freeze({emptyTitle:true,emptyBody:true,emptyAsk:true}),HEALTH_PLAN_REASON_LABELS=/* @__PURE__ */Object.freeze({dna:"",records:"Records",inside:"Inside",profile:""}),HEALTH_PLAN_TEMPLATES=/* @__PURE__ */Object.freeze({planTitle:petName=>`${petName}'s care plan`,cartLabel:brand=>`${brand} cart`}),HEALTH_PLAN_COPY_PLACEHOLDERS=/* @__PURE__ */Object.freeze([...Object.keys(HEALTH_PLAN_COPY).filter(key=>COPY_ASKS[key]===true&&HEALTH_PLAN_COPY[key]==="").map(key=>`HEALTH_PLAN_COPY.${key}`),...["profile"].filter(kind=>HEALTH_PLAN_REASON_LABELS[kind]==="").map(kind=>`HEALTH_PLAN_REASON_LABELS.${kind}`)]);var HEALTH_PLAN_LAYOUT_DEFAULTS=/* @__PURE__ */Object.freeze({imageVariant:"wide",reasonVariant:"pills",cartBarVisibility:"whenItems",cartBarPlacement:"sticky",addButtonSize:"full",addedVariant:"link",categoryVariant:"text",showCategory:false,cardShadow:false,cardBorder:true});function healthPlanWrites(plan,setInPlan){return{setInPlan:setInPlan,addAll:async()=>{let missing=(plan?.items??[]).filter(item=>!item.inPlan);return(await Promise.all(missing.map(item=>setInPlan(item.productId,true)))).every(Boolean)}}}function showHealthPlanCartBar(visibility,count){return(visibility??HEALTH_PLAN_LAYOUT_DEFAULTS.cartBarVisibility)==="always"||count>0}var HEALTH_PLAN_CARD_OPTION_KEYS=/* @__PURE__ */Object.freeze(["showCategory","cardShadow","cardBorder","addButtonSize","addButtonFontSize","addedVariant","categoryVariant","cardPadding","itemTitleSize","itemTitleWeight","priceSize","priceWeight","reasonTextSize","reasonLabelWidth","reasonGap"]);function pickHealthPlanCardOptions(props){let out={};for(let key of HEALTH_PLAN_CARD_OPTION_KEYS)props[key]!==void 0&&(out[key]=props[key]);return out}function healthPlanAddButtonHeight(size){let height=typeof size=="number"&&Number.isFinite(size)&&size>0?size:size==="compact"?32:44;return{height:height,hit:Math.max(44,height)}}function healthPlanLength(value){return typeof value=="number"&&Number.isFinite(value)&&value>=0?value:null}function healthPlanTitleOffset(titleGap,sectionGap){let gap=healthPlanLength(titleGap);return gap===null?0:gap-sectionGap}function isHealthPlanSessionRequired(error){return error!==null&&(error.reasonCode==="session_required"||error.code==="sessionRequired")}var DockContext=react.createContext(null);function HealthPlanCartScope({children:children}){let[dock,setDock]=react.useState(null),store=react.useMemo(()=>({dock:dock,publish:setDock}),[dock]);return react.createElement(DockContext.Provider,{value:store},children)}function useHealthPlanCartDock(){return react.useContext(DockContext)?.dock??null}function usePublishHealthPlanCart(enabled,cart,busy,petRef,plan,setInPlan){let publish=react.useContext(DockContext)?.publish,latest=react.useRef(setInPlan);react.useEffect(()=>{latest.current=setInPlan},[setInPlan]);let writes=react.useMemo(()=>healthPlanWrites(plan,(productId,inPlan)=>latest.current(productId,inPlan)),[plan]);react.useEffect(()=>{if(!(publish===void 0||!enabled))return publish(/* @__PURE__ */Object.freeze({cart:cart,busy:busy,petRef:petRef,plan:plan,...writes})),()=>publish(null)},[publish,enabled,cart,busy,petRef,plan,writes])}function healthPlanPetWords(name,sex){let n=name?.trim()??"",named=n===""?"your pet":n,Named=n===""?"Your pet":n;return sex==="female"?{name:named,Name:Named,poss:"her",Poss:"Her",obj:"her"}:sex==="male"?{name:named,Name:Named,poss:"his",Poss:"His",obj:"him"}:{name:named,Name:Named,poss:`${named}'s`,Poss:`${Named}'s`,obj:named}}var cartRenewal=p=>p===null?"":`${p.productName} renews every ${p.intervalDays} days at ${p.box??""} until you cancel; skip or cancel anytime in the app.`,HEALTH_PLAN_NO_SHIP_DAY_COPY=/* @__PURE__ */Object.freeze({onceFine:"",cartFine:cartRenewal,startedWhat:()=>""});function healthPlanFocusCopyFor(pet){let w=healthPlanPetWords(pet.name,pet.sex),nameOf=p=>p.petName?.trim()||w.name,NameOf=p=>p.petName?.trim()||w.Name,copy=/* @__PURE__ */Object.freeze({jumpKicker:(p,subscribed)=>subscribed?`In ${w.poss} plan, every ${p.intervalDays} days`:p.offer?`${p.discountPercent}% off ${w.poss} first box`:p.intervalDays>0?`Ships every ${p.intervalDays} days`:copy.onceLine(p),optionsLabel:"How to buy",subscribe:"Subscribe",bestValue:"Best value",subscribeLine:p=>p.offer?`First box, then ${p.box??""}`:`${p.box??""} every ${p.intervalDays} days`,priceLine:p=>p.offer?`${p.discountPercent}% off the first box. Ships every ${p.intervalDays} days.`:p.intervalDays>0?`Ships every ${p.intervalDays} days.`:copy.onceOffer(p),once:"One box",onceLine:p=>p.onceDiscountPercent>0?`${p.onceDiscountPercent}% off, ships once`:"Ships once",buyOnce:p=>`Buy one box, ${p.once??p.box??""}`,subscribed:"Subscribed",subscribedLine:(p,next)=>next===null?`Every ${p.intervalDays} days`:`Every ${p.intervalDays} days · next box ${next}`,manage:"Manage",checkoutKicker:"Checkout",checkoutTitle:p=>`Checkout: ${p.productName}`,checkoutOffer:p=>`${p.discountPercent}% off your first box.`,shipsEvery:"Ships every",days:n=>`${n} days`,buyOnceOption:"Buy once",checkoutGo:(_p,subscribe,today)=>`${subscribe?"Subscribe":"Buy now"} · ${today} today`,renews:p=>`Renews every ${p.intervalDays} days at ${p.box??""} until you cancel; skip or cancel anytime in the app.`,onceFine:"One box, ships tomorrow.",onceOffer:p=>p.onceDiscountPercent>0?`${p.onceDiscountPercent}% off, ships once.`:"Ships once.",checkoutNote:"",close:"Close",startedTitle:p=>`${NameOf(p)}'s plan has started.`,orderedTitle:()=>"Order placed.",startedWhat:p=>`${p.productName} ships tomorrow.`,startedNote:"",startedSteps:"What happens next",tomorrow:"Tomorrow",firstBoxShips:`${w.Poss} first box ships.`,trackingComesByText:"Tracking comes by text.",checkin:q=>q===null?"A 2-week check-in by text.":`A 2-week check-in by text: ${q}`,refill:`A text 3 days before ${w.poss} next box. Reply SKIP to skip it.`,nextBoxShips:p=>`${w.Poss} next box ships, ${p.box??""}.`,startedDone:`Back to ${w.poss} plan`,manageKicker:"Your subscription",manageTitle:p=>`Manage ${p.productName}`,skip:"Skip the next box",cancel:"Cancel subscription",skipped:(_p,next)=>next===null?"Skipped.":`Skipped. ${w.Poss} next box ships ${next}.`,cancelled:p=>`${p.productName} is cancelled. Restart it from ${w.poss} plan anytime.`,orders:"Orders",startedHeader:"Subscribed",placedHeader:"Order placed",cartCheckoutTitle:"Checkout",orderNote:"",cartLabel:n=>n>0?`Cart, ${n} item${n>1?"s":""}`:"Cart, empty",addToCart:price=>`Add to cart · ${price}`,viewCart:"View cart",addedToCart:(p,subscription)=>`${p.productName} is in your cart${subscription?", as a subscription":""}.`,removedFromCart:name=>`${name} is out of your cart.`,cartTitle:"Cart",cartEmptyTitle:"Your cart is empty",cartEmptyBody:p=>`${NameOf(p)}'s plan pick lands here when you add it.`,seeOrders:`See ${w.poss} orders`,quantityLabel:name=>`How many: ${name}`,fewer:"One fewer",more:"One more",remove:"Remove",cartSubLine:p=>p.offer?`First box ${p.discountPercent}% off, then ${p.box??""} every ${p.intervalDays} days`:`Every ${p.intervalDays} days`,cartOnceLine:(p,subscribed)=>subscribed?`An extra box. ${w.Poss} plan keeps shipping.`:p.onceDiscountPercent>0?`One box, ${p.onceDiscountPercent}% off`:"One box",cartModeLabel:name=>`How to buy ${name}`,cartModeSubscribe:p=>p.offer?`Subscribe, ${p.discountPercent}% off the first box`:"Subscribe",cartModeOnce:p=>p.onceDiscountPercent>0?`One box, ${p.onceDiscountPercent}% off`:"One box",subtotal:"Subtotal",shipping:"Shipping",shippingValue:"",shippingTag:"",total:"Total",dueToday:"Due today",thenRenews:p=>`Then ${p.productName}`,renewsEvery:p=>`${p.box??""} every ${p.intervalDays} days`,checkoutCart:total=>`Checkout · ${total}`,cartOneAtATime:"",cartSubscriptionApart:"",cartItemSubscription:p=>`Subscription, every ${p.intervalDays} days`,cartItemQuantity:n=>`Qty ${n}`,placeOrder:(total,subscribe)=>`${subscribe?"Place order and subscribe":"Place order"} · ${total}`,cartFine:p=>`${p===null?"":`${cartRenewal(p)} `}Ships tomorrow.`,placedSteps:"What's coming",placedShips:"It ships.",placedArrives:"It arrives at home.",viewOrder:"View order",herSubscription:`${w.Poss} subscription`,nextBox:day=>`Next box ${day}`,everyDays:n=>`Every ${n} days`,ordersHeading:afterSubscription=>afterSubscription?"Orders":`${w.Poss} orders`,ordersFine:"",ordersEmptyTitle:"No orders yet",ordersEmptyBody:p=>`The boxes from ${nameOf(p)}'s plan show up here.`,moreOrders:"",orderSteps:["Ordered","Shipped","Out for delivery","Delivered"],subscriptionBox:"Subscription box",orderTitle:n=>n===null?"Order":`Order ${n}`,arrivesBy:day=>`Arrives by ${day}`,deliveredOn:day=>`Delivered ${day}`,expected:day=>`Expected ${day}`,tracking:"Tracking",trackingByText:"The tracking number comes by text when it ships.",trackOn:carrier=>`Track on ${carrier}`,trackLink:"",inThisOrder:"In this order",orderItemLine:(n,box)=>`Qty ${n}${box?" · subscription box":""}`,paidWith:"Paid with",buyAgain:"Buy again",orderHelp:"Get help with this order",addWeightTitle:`Add ${w.poss} weight to size ${w.poss} dose`,addWeightBody:`From a home scale or ${w.poss} last vet visit.`,connectRecordsTitle:`Connect ${w.poss} vet records`,connectRecordsBody:`${w.Poss} weight, visits and labs make ${w.poss} plan sharper.`,weightKicker:`${w.Poss} weight`,weightTitle:p=>`Add ${nameOf(p)}'s weight`,weightBody:`From a home scale or ${w.poss} last vet visit. ${w.Poss} plan uses it to size ${w.poss} dose.`,weightField:`${w.Poss} weight`,weightUnit:"lb",weightUnitKg:"kg",weightErrorKg:"Enter your pet’s weight",weightError:`Enter ${w.poss} weight in pounds, like 14.1.`,weightSave:`Save ${w.poss} weight`,weightSaved:lb=>`Saved: ${lb} lb. ${w.Poss} dose is sized for ${w.obj}.`,weightSavedKg:kg=>`Saved: ${kg} kg. ${w.Poss} dose is sized for ${w.obj}.`,checkoutFailed:"That didn't go through. Please try again.",builtWith:vet=>`Built with ${vet}`,fromVet:shortName=>`From ${shortName}`,waitVetTips:vet=>`Free tips from ${vet}, built around that risk`,signalsFit:count=>`${count} of ${count} signals fit ${w.Name}`,signalsValue:count=>`${count}/${count}`,noPick:`No supplement for this one. ${w.Poss} vet comes first.`,callYourVet:"Call your vet today",callAVet:"Call a vet today",saveForCheckup:`Save for ${w.poss} next checkup`,savedForCheckup:`Saved for ${w.poss} next checkup`,blanksLabel:`${w.Poss} three blanks`,blanksAsked:clinic=>`Asked ${clinic}`,blanksAskedNoClinic:"",blanksWaitPill:"2 to 5 days",blanksFilledKicker:`From ${w.poss} vet records`,blanksFilled:(filled,total)=>`${filled} of ${total} filled`,blanksWeight:`Keep ${w.obj} at `,blanksWeightSource:`From ${w.poss} vet visits`,blanksDose:(dose,product)=>`${dose} of ${product}`,blanksDoseSource:`Sized to ${w.poss} weight`,blanksShots:`${w.Poss} next shots are due `,blanksShotsSource:`From ${w.poss} clinic`,blankEmpty:"blank",recordsLanded:`${w.Poss} records are in. ${w.Poss} plan now uses ${w.poss} weight and ${w.poss} visits.`});return copy}var HEALTH_PLAN_FOCUS_COPY=healthPlanFocusCopyFor({sex:"female"});function formatHealthPlanDay(iso,locale){if(iso===null||!/^\d{4}-\d{2}-\d{2}$/.test(iso))return null;let d=/* @__PURE__ */new Date(`${iso}T00:00:00Z`);if(Number.isNaN(d.getTime()))return null;try{return new Intl.DateTimeFormat(locale??"en-US",{month:"short",day:"numeric",timeZone:"UTC"}).format(d)}catch{return iso}}function healthPlanPageDrawsWithoutItems(design){return design!=null&&(design.wait!==void 0||design.pick.hidden===true)}function withoutProductPart(design){return{...design,pick:{...design.pick,none:true,hidden:true}}}var NO_PLAN_ITEM=/* @__PURE__ */Object.freeze({productId:"",partnerSku:null,title:"",description:null,category:null,price:null,currency:null,imageUrl:null,url:null,reasons:[],inPlan:false,sample:false});var noopTelemetry=/* @__PURE__ */Object.freeze({track(){},trackExpectedFailure(){}});function ok(value,warning){/* @__PURE__ */
|
|
3
4
|
return Object.freeze({ok:true,value:value})}function err(error){/* @__PURE__ */
|
|
@@ -406,7 +407,7 @@ return jsxRuntime.jsxs("article",{className:className,style:{...cardStyle,...sty
|
|
|
406
407
|
/* @__PURE__ */jsxRuntime.jsx("h3",{style:titleStyle,children:item.title}),item.sample?/* @__PURE__ */jsxRuntime.jsx("span",{style:styles2.sample,children:HEALTH_PLAN_COPY.sample}):null,item.description===null?null:/* @__PURE__ */jsxRuntime.jsx("p",{style:styles2.body,children:item.description})]})]}):/* @__PURE__ */jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[item.imageUrl===null?null:/* @__PURE__ */jsxRuntime.jsx("img",{src:item.imageUrl,alt:"",style:styles2.image,loading:"lazy"}),category,
|
|
407
408
|
/* @__PURE__ */jsxRuntime.jsxs("div",{style:styles2.head,children:[
|
|
408
409
|
/* @__PURE__ */jsxRuntime.jsx("h3",{style:titleStyle,children:item.title}),priceNode]}),item.sample?/* @__PURE__ */jsxRuntime.jsx("span",{style:styles2.sample,children:HEALTH_PLAN_COPY.sample}):null,item.description===null?null:/* @__PURE__ */jsxRuntime.jsx("p",{style:styles2.body,children:item.description})]}),item.reasons.length===0?null:/* @__PURE__ */jsxRuntime.jsx("ul",{style:rows?reasonRowsStyle:styles2.reasons,children:item.reasons.map((reason,index)=>/* @__PURE__ */jsxRuntime.jsxs("li",{style:rows?styles2.reasonRow:reasonPillStyle,children:[HEALTH_PLAN_REASON_LABELS[reason.kind]===""?null:/* @__PURE__ */jsxRuntime.jsx("span",{style:rows?styles2.reasonRowKind:styles2.reasonKind,children:HEALTH_PLAN_REASON_LABELS[reason.kind]}),
|
|
409
|
-
/* @__PURE__ */jsxRuntime.jsx("span",{style:rows?reasonRowTextStyle:reasonTextStyle,children:reason.text})]},`${reason.kind}-${index}`))}),renderFooter===void 0?null:/* @__PURE__ */jsxRuntime.jsx(HostRender,{resetKey:item,render:()=>renderFooter(item),fallback:null}),thumbnail?/* @__PURE__ */jsxRuntime.jsxs("div",{style:styles2.actionRow,children:[priceNode,control]}):control,error===null?null:/* @__PURE__ */jsxRuntime.jsx("p",{style:styles2.error,role:"alert",children:error.displayMessage})]})}function cardShadowCss(shadow,soft){if(shadow===true)return soft;if(typeof shadow=="string")return shadow.length>0&&shadow.length<=200?{boxShadow:shadow}:{};if(shadow===void 0||shadow===false)return{};let rgba=toRgba(shadow.color);if(rgba===null)return{};let alpha=Math.min(1,Math.max(0,rgba.a*(shadow.opacity??1)));return{boxShadow:`${shadow.offsetX??0}px ${shadow.offsetY}px ${Math.max(0,shadow.blur)}px rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, ${alpha})`}}var THUMB_SIZE=64;function makeStyles3(theme){let{color:color,radius:radius,space:space,type:type,slots:slots}=theme,line=size=>`${Math.round(size*type.lineHeight.snug)}px`,text2=(size,ink,weight)=>({margin:0,...faceCss(theme,weight),fontSize:size,lineHeight:line(size),color:ink}),cardInk=slots.planCard?.textColor??slots.card?.textColor,reasonLabelInk=slots.planReasonLabel?.textColor??slots.chip?.textColor??color.brandInk,addPaint={borderRadius:radius.pill,border:"none",backgroundColor:color.brand,color:color.text.onBrand,cursor:"pointer",...faceCss(theme,"bold")};return{card:{boxSizing:"border-box",display:"flex",flexDirection:"column",gap:space.sm,padding:space.lg,borderRadius:radius.lg,border:`1px solid ${color.brandBorder}`,backgroundColor:color.surface,...slotCss(slots.card,1),...slotCss(slots.planCard,1)},cardShadow:{boxShadow:`0 ${space.xs}px ${space.md}px ${withAlpha(color.shadow,.08)??"transparent"}`},category:text2(type.size.caption,cardInk??color.text.secondary,"regular"),categoryLabel:{...text2(type.size.micro,reasonLabelInk,"regular"),...faceCss(theme,"monoMedium"),textTransform:"uppercase",letterSpacing:type.letterSpacing.monoWide},addPressed:{display:"inline-flex",alignItems:"center",borderRadius:radius.pill,border:"none",backgroundColor:color.brandInk,color:readableOn(color.brandInk),cursor:"pointer",...faceCss(theme,"bold"),...slots.primaryButton?.borderRadius===void 0?null:{borderRadius:slots.primaryButton.borderRadius}},image:{width:"100%",aspectRatio:"4 / 3",objectFit:"cover",borderRadius:radius.md,backgroundColor:color.surfaceSubtle},thumbHead:{display:"flex",alignItems:"flex-start",gap:space.md},thumb:{flex:"0 0 auto",width:THUMB_SIZE,height:THUMB_SIZE,objectFit:"cover",borderRadius:radius.md,backgroundColor:color.surfaceSubtle},thumbCopy:{display:"flex",flexDirection:"column",gap:space.xs,minWidth:0,flex:1},actionRow:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:space.sm},reasonRows:{listStyle:"none",margin:0,padding:0,display:"grid",gridTemplateColumns:"max-content 1fr",columnGap:space.lg,rowGap:space.sm},reasonRow:{display:"contents"},reasonRowKind:{...text2(type.size.micro,reasonLabelInk,"regular"),...faceCss(theme,"monoMedium"),textTransform:"uppercase",letterSpacing:type.letterSpacing.monoWide,paddingTop:2},reasonRowText:text2(type.size.caption,cardInk??color.text.secondary,"regular"),head:{display:"flex",alignItems:"baseline",justifyContent:"space-between",gap:space.sm},title:text2(type.size.body,cardInk??color.text.primary,"bold"),price:{...text2(type.size.body,cardInk??color.text.primary,"bold"),whiteSpace:"nowrap"},sample:{alignSelf:"flex-start",padding:`2px ${space.sm}px`,borderRadius:radius.pill,backgroundColor:color.badgeBgNeutral,...text2(type.size.caption,color.text.secondary,"bold")},body:text2(type.size.caption,cardInk??color.text.secondary,"regular"),reasons:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"column",gap:space.xs},reason:{display:"flex",alignItems:"baseline",gap:space.sm,padding:`${space.xs}px ${space.sm}px`,borderRadius:radius.md,backgroundColor:color.brandSofter,...slotCss(slots.chip,1)},reasonKind:{...text2(type.size.caption,slots.chip?.textColor??color.brandInk,"bold"),textTransform:"uppercase",letterSpacing:.4},reasonText:text2(type.size.caption,slots.chip?.textColor??color.text.secondary,"regular"),row:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:space.sm},added:text2(type.size.caption,color.brandInk,"bold"),add:{minHeight:44,padding:`0 ${space.lg}px`,...addPaint,fontSize:type.size.body,...slotCss(slots.primaryButton)},addCompactHit:{minHeight:44,padding:0,border:"none",background:"none",cursor:"pointer",display:"inline-flex",alignItems:"center",alignSelf:"flex-start"},addCompact:{display:"inline-flex",alignItems:"center",minHeight:32,padding:`0 ${space.md}px`,...addPaint,fontSize:type.size.caption,...slotCss(slots.primaryButton)},remove:{minHeight:44,padding:0,border:"none",background:"none",cursor:"pointer",...faceCss(theme,"bold"),fontSize:type.size.caption,color:color.linkInk,...slotCss(slots.link)},error:text2(type.size.caption,color.errorRed,"regular")}}var WAITING=/* @__PURE__ */new Set(["requested","awaiting_clinic","awaiting_upload","received","parsing","in_review"]),VACCINE=/vaccin|rabies|dhpp|booster|bordetella|lepto|lyme|parvo|distemper/i,LB_PER_KG2=2.20462262;function dayMs(value){if(value==null||value.length===0)return null;let ms=Date.parse(/^\d{4}-\d{2}-\d{2}$/.test(value)?`${value}T00:00:00Z`:value);return Number.isNaN(ms)?null:ms}function kilograms(value,unit){return value===null||!Number.isFinite(value)||value<=0||unit===null?null:/^\s*kg|kilo/i.test(unit)?value:/^\s*(lb|lbs|pound)/i.test(unit)?value/LB_PER_KG2:null}function healthPlanRecordsWeightKg(record){if(record===null||record.isEmpty||record.withheld)return null;let readings=[];for(let series of record.entitySeries)if(series.key.startsWith("body_weight"))for(let point of series.points){if(point.origin==="owner_reported")continue;let at=dayMs(point.at),unit=point.display?.replace(/^[\d.,\s]+/,"")??null,kg=kilograms(point.value,unit);at!==null&&kg!==null&&readings.push({at:at,kg:kg})}for(let entity of record.entities){if(entity.category!=="body_weight"||entity.origin==="owner_reported")continue;let at=dayMs(entity.observedAt),kg=kilograms(entity.value===null?null:Number.parseFloat(entity.value),entity.unit);at!==null&&kg!==null&&readings.push({at:at,kg:kg})}return readings.length===0?null:(readings.sort((a,b)=>b.at-a.at),readings[0]?.kg??null)}function healthPlanNextShotsAt(record,today){if(record===null||record.isEmpty||record.withheld)return null;let next=null;for(let item of record.forwardLooking){if(!VACCINE.test(item.title))continue;let due=dayMs(item.dueAt);due===null||due<today||(next===null||due<next)&&(next=due)}return next}function
|
|
410
|
+
/* @__PURE__ */jsxRuntime.jsx("span",{style:rows?reasonRowTextStyle:reasonTextStyle,children:reason.text})]},`${reason.kind}-${index}`))}),renderFooter===void 0?null:/* @__PURE__ */jsxRuntime.jsx(HostRender,{resetKey:item,render:()=>renderFooter(item),fallback:null}),thumbnail?/* @__PURE__ */jsxRuntime.jsxs("div",{style:styles2.actionRow,children:[priceNode,control]}):control,error===null?null:/* @__PURE__ */jsxRuntime.jsx("p",{style:styles2.error,role:"alert",children:error.displayMessage})]})}function cardShadowCss(shadow,soft){if(shadow===true)return soft;if(typeof shadow=="string")return shadow.length>0&&shadow.length<=200?{boxShadow:shadow}:{};if(shadow===void 0||shadow===false)return{};let rgba=toRgba(shadow.color);if(rgba===null)return{};let alpha=Math.min(1,Math.max(0,rgba.a*(shadow.opacity??1)));return{boxShadow:`${shadow.offsetX??0}px ${shadow.offsetY}px ${Math.max(0,shadow.blur)}px rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, ${alpha})`}}var THUMB_SIZE=64;function makeStyles3(theme){let{color:color,radius:radius,space:space,type:type,slots:slots}=theme,line=size=>`${Math.round(size*type.lineHeight.snug)}px`,text2=(size,ink,weight)=>({margin:0,...faceCss(theme,weight),fontSize:size,lineHeight:line(size),color:ink}),cardInk=slots.planCard?.textColor??slots.card?.textColor,reasonLabelInk=slots.planReasonLabel?.textColor??slots.chip?.textColor??color.brandInk,addPaint={borderRadius:radius.pill,border:"none",backgroundColor:color.brand,color:color.text.onBrand,cursor:"pointer",...faceCss(theme,"bold")};return{card:{boxSizing:"border-box",display:"flex",flexDirection:"column",gap:space.sm,padding:space.lg,borderRadius:radius.lg,border:`1px solid ${color.brandBorder}`,backgroundColor:color.surface,...slotCss(slots.card,1),...slotCss(slots.planCard,1)},cardShadow:{boxShadow:`0 ${space.xs}px ${space.md}px ${withAlpha(color.shadow,.08)??"transparent"}`},category:text2(type.size.caption,cardInk??color.text.secondary,"regular"),categoryLabel:{...text2(type.size.micro,reasonLabelInk,"regular"),...faceCss(theme,"monoMedium"),textTransform:"uppercase",letterSpacing:type.letterSpacing.monoWide},addPressed:{display:"inline-flex",alignItems:"center",borderRadius:radius.pill,border:"none",backgroundColor:color.brandInk,color:readableOn(color.brandInk),cursor:"pointer",...faceCss(theme,"bold"),...slots.primaryButton?.borderRadius===void 0?null:{borderRadius:slots.primaryButton.borderRadius}},image:{width:"100%",aspectRatio:"4 / 3",objectFit:"cover",borderRadius:radius.md,backgroundColor:color.surfaceSubtle},thumbHead:{display:"flex",alignItems:"flex-start",gap:space.md},thumb:{flex:"0 0 auto",width:THUMB_SIZE,height:THUMB_SIZE,objectFit:"cover",borderRadius:radius.md,backgroundColor:color.surfaceSubtle},thumbCopy:{display:"flex",flexDirection:"column",gap:space.xs,minWidth:0,flex:1},actionRow:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:space.sm},reasonRows:{listStyle:"none",margin:0,padding:0,display:"grid",gridTemplateColumns:"max-content 1fr",columnGap:space.lg,rowGap:space.sm},reasonRow:{display:"contents"},reasonRowKind:{...text2(type.size.micro,reasonLabelInk,"regular"),...faceCss(theme,"monoMedium"),textTransform:"uppercase",letterSpacing:type.letterSpacing.monoWide,paddingTop:2},reasonRowText:text2(type.size.caption,cardInk??color.text.secondary,"regular"),head:{display:"flex",alignItems:"baseline",justifyContent:"space-between",gap:space.sm},title:text2(type.size.body,cardInk??color.text.primary,"bold"),price:{...text2(type.size.body,cardInk??color.text.primary,"bold"),whiteSpace:"nowrap"},sample:{alignSelf:"flex-start",padding:`2px ${space.sm}px`,borderRadius:radius.pill,backgroundColor:color.badgeBgNeutral,...text2(type.size.caption,color.text.secondary,"bold")},body:text2(type.size.caption,cardInk??color.text.secondary,"regular"),reasons:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"column",gap:space.xs},reason:{display:"flex",alignItems:"baseline",gap:space.sm,padding:`${space.xs}px ${space.sm}px`,borderRadius:radius.md,backgroundColor:color.brandSofter,...slotCss(slots.chip,1)},reasonKind:{...text2(type.size.caption,slots.chip?.textColor??color.brandInk,"bold"),textTransform:"uppercase",letterSpacing:.4},reasonText:text2(type.size.caption,slots.chip?.textColor??color.text.secondary,"regular"),row:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:space.sm},added:text2(type.size.caption,color.brandInk,"bold"),add:{minHeight:44,padding:`0 ${space.lg}px`,...addPaint,fontSize:type.size.body,...slotCss(slots.primaryButton)},addCompactHit:{minHeight:44,padding:0,border:"none",background:"none",cursor:"pointer",display:"inline-flex",alignItems:"center",alignSelf:"flex-start"},addCompact:{display:"inline-flex",alignItems:"center",minHeight:32,padding:`0 ${space.md}px`,...addPaint,fontSize:type.size.caption,...slotCss(slots.primaryButton)},remove:{minHeight:44,padding:0,border:"none",background:"none",cursor:"pointer",...faceCss(theme,"bold"),fontSize:type.size.caption,color:color.linkInk,...slotCss(slots.link)},error:text2(type.size.caption,color.errorRed,"regular")}}var WAITING=/* @__PURE__ */new Set(["requested","awaiting_clinic","awaiting_upload","received","parsing","in_review"]),VACCINE=/vaccin|rabies|dhpp|booster|bordetella|lepto|lyme|parvo|distemper/i,LB_PER_KG2=2.20462262;function dayMs(value){if(value==null||value.length===0)return null;let ms=Date.parse(/^\d{4}-\d{2}-\d{2}$/.test(value)?`${value}T00:00:00Z`:value);return Number.isNaN(ms)?null:ms}function kilograms(value,unit){return value===null||!Number.isFinite(value)||value<=0||unit===null?null:/^\s*kg|kilo/i.test(unit)?value:/^\s*(lb|lbs|pound)/i.test(unit)?value/LB_PER_KG2:null}function healthPlanRecordsWeightKg(record){if(record===null||record.isEmpty||record.withheld)return null;let readings=[];for(let series of record.entitySeries)if(series.key.startsWith("body_weight"))for(let point of series.points){if(point.origin==="owner_reported")continue;let at=dayMs(point.at),unit=point.display?.replace(/^[\d.,\s]+/,"")??null,kg=kilograms(point.value,unit);at!==null&&kg!==null&&readings.push({at:at,kg:kg})}for(let entity of record.entities){if(entity.category!=="body_weight"||entity.origin==="owner_reported")continue;let at=dayMs(entity.observedAt),kg=kilograms(entity.value===null?null:Number.parseFloat(entity.value),entity.unit);at!==null&&kg!==null&&readings.push({at:at,kg:kg})}return readings.length===0?null:(readings.sort((a,b)=>b.at-a.at),readings[0]?.kg??null)}function healthPlanNextShotsAt(record,today){if(record===null||record.isEmpty||record.withheld)return null;let next=null;for(let item of record.forwardLooking){if(!VACCINE.test(item.title))continue;let due=dayMs(item.dueAt);due===null||due<today||(next===null||due<next)&&(next=due)}return next}function latestClinicRequest(requests){return requests.filter(r=>r.source==="clinic_request").slice().sort((a,b)=>(dayMs(b.createdAt)??0)-(dayMs(a.createdAt)??0))[0]}function healthPlanRecordsHoldNoBlanks(input,now){let asked=latestClinicRequest(input.requests);if(asked===void 0||asked.status!=="published"||input.record===null||input.record.withheld)return false;let today=Math.floor(now/864e5)*864e5;return healthPlanRecordsWeightKg(input.record)===null&&healthPlanNextShotsAt(input.record,today)===null}function healthPlanBlanksFacts(input,now){let asked=latestClinicRequest(input.requests);if(asked===void 0)return null;let clinicName=asked.clinicName?.trim()?asked.clinicName.trim():null;if(WAITING.has(asked.status))return{phase:"wait",requestId:String(asked.id),clinicName:clinicName,weightKg:null,nextShotsAt:null};if(asked.status!=="published"||input.record===null||input.record.isEmpty||input.record.withheld)return null;let today=Math.floor(now/864e5)*864e5,weightKg=healthPlanRecordsWeightKg(input.record),nextShotsAt=healthPlanNextShotsAt(input.record,today);return weightKg===null&&nextShotsAt===null?null:{phase:"filled",requestId:String(asked.id),clinicName:clinicName,weightKg:weightKg,nextShotsAt:nextShotsAt}}var COARSE_NOW_TICK_MS=3600*1e3;function useCoarseNow(fixed,shown=true){let[now,setNow]=react.useState(()=>Date.now()),first=react.useRef(true);return react.useEffect(()=>{if(first.current){first.current=false;return}shown&&setNow(Date.now())},[fixed,shown]),react.useEffect(()=>{if(!shown)return;let tick=setInterval(()=>setNow(Date.now()),COARSE_NOW_TICK_MS),onVisible=()=>{document.visibilityState==="visible"&&setNow(Date.now())},doc=typeof document<"u"&&typeof document.addEventListener=="function"?document:null;return doc?.addEventListener("visibilitychange",onVisible),()=>{clearInterval(tick),doc?.removeEventListener("visibilitychange",onVisible)}},[fixed,shown]),now}function probeOver(useRecords){return function(props){let{status:status,requests:requests,record:record,refresh:refresh}=useRecords({petRef:props.petRef}),{onRead:onRead,petRef:petRef}=props,now=useCoarseNow(),blanks=react.useMemo(()=>healthPlanBlanksFacts({requests:requests,record:record},now),[requests,record,now]),heldNone=react.useMemo(()=>healthPlanRecordsHoldNoBlanks({requests:requests,record:record},now),[requests,record,now]);react.useEffect(()=>{onRead({missing:status==="empty"||heldNone,blanks:blanks})},[status,heldNone,blanks,onRead]);let reread=react.useRef(refresh);return reread.current=refresh,react.useEffect(()=>onHealthPlanRecordsLanded((pet,source)=>{pet===petRef&&source==="host"&&reread.current()}),[petRef]),null}}var Nothing=()=>null,LazyProbe=react.lazy(()=>import("@everfur/sdk/web/records").then(m=>({default:probeOver(m.useEverfurRecords)}),()=>({default:Nothing})));function RecordsMissingProbe(props){/* @__PURE__ */
|
|
410
411
|
return jsxRuntime.jsx(react.Suspense,{fallback:null,children:/* @__PURE__ */jsxRuntime.jsx(LazyProbe,{petRef:props.petRef,onRead:props.onRead})})}function EverfurHealthPlan(props){let guarded=guardHostProps(props,["onCheckout","onAvailability","onAsk"]),focus=react.useMemo(()=>{let f=props.focus;if(f===void 0)return;let voids=guardHostProps(f,["onBuy","onMore","onExtra","onAddToVisit","onOverlayChange","onSubscriptionChange","onOneBoxOrder","navigate"]),{renderIcon:renderIcon,overlayContainer:overlayContainer}=f;return{...voids,...renderIcon?{renderIcon:(icon,className)=>callHost(renderIcon,icon,className)??null}:{},...overlayContainer?{overlayContainer:layer=>callHost(overlayContainer,layer)??null}:{}}},[props.focus]),focusOn=useEverfurPresentation(props.presentation?.healthPlanLayout===void 0?void 0:{healthPlanLayout:props.presentation.healthPlanLayout}).healthPlanLayout==="focus_plan"?focus??NO_FOCUS_OPTIONS:void 0,planProps={...guarded};delete planProps.focus,delete planProps.presentation,delete planProps.lifecycle,delete planProps.refreshKey;let{lifecycle:lifecycle,refreshKey:refreshKey}=guarded,lifecyclePort=react.useMemo(()=>lifecycle===void 0?createBrowserLifecycle():lifecycle,[lifecycle]),theme=useEverfurTheme(),styles2=react.useMemo(()=>makeStyles4(theme),[theme]),plan=useEverfurHealthPlan({...guarded.petRef===void 0?{}:{petRef:guarded.petRef},lifecycle:lifecyclePort,...refreshKey===void 0?{}:{refreshKey:refreshKey}});return plan.status==="signedOut"?/* @__PURE__ */jsxRuntime.jsx("section",{className:guarded.className,style:{...styles2.page,...guarded.style},children:/* @__PURE__ */jsxRuntime.jsx("p",{style:styles2.body,children:HEALTH_PLAN_COPY.signedOut})}):/* @__PURE__ */jsxRuntime.jsx(CapabilityGate,{capability:"healthPlan",...guarded.renderDisabled?{renderDisabled:guarded.renderDisabled}:{},style:guarded.style,className:guarded.className,children:/* @__PURE__ */jsxRuntime.jsx(PlanBody,{...planProps,...focusOn?{focus:focusOn}:{},plan:plan,styles:styles2,theme:theme,pageLifecycle:lifecyclePort,...refreshKey===void 0?{}:{pageRefreshKey:refreshKey}})})}function PlanBody({plan:plan,styles:styles2,onCheckout:onCheckout,renderNotice:renderNotice,style:style,className:className,imageVariant:imageVariant,reasonVariant:reasonVariant,cartBarVisibility:cartBarVisibility,priceFormat:priceFormat,renderHeader:renderHeader,renderItemFooter:renderItemFooter,renderFooter:renderFooter,titleSize:titleSize,titleGap:titleGap,sectionGap:sectionGap,cartBarPlacement:cartBarPlacement,titleLineHeight:titleLineHeight,renderBetweenItems:renderBetweenItems,theme:theme,focus:focus,pageLifecycle:pageLifecycle,pageRefreshKey:pageRefreshKey,onAvailability:onAvailability,onAsk:onAsk,emptyCopy:emptyCopy,...cardProps}){let{pets:pets}=useEverfurPets(),petName=pets.find(pet=>pet.petRef===plan.petRef)?.name??null,title=plan.plan?.headline??(petName===null?null:HEALTH_PLAN_TEMPLATES.planTitle(petName)),docked=cartBarPlacement==="none";usePublishHealthPlanCart(docked&&plan.status==="ready",plan.cart,plan.pending.length>0,plan.petRef,plan.plan,plan.setInPlan);let telemetry=useHealthPlanTelemetry(),fromBackend=focus!==void 0&&focus.design===void 0,page=useHealthPlanPage({petRef:plan.petRef,enabled:fromBackend,...focus?.pageRepository?{repository:focus.pageRepository}:{},lifecycle:pageLifecycle,...pageRefreshKey===void 0?{}:{refreshKey:pageRefreshKey}});useHealthPlanOpened(plan.status==="ready"||plan.status==="empty",plan.petRef,plan.plan);let pageFallback=healthPlanPageFallback(fromBackend,page),itemless=plan.status==="empty"&&healthPlanPageDrawsWithoutItems(fromBackend?page.page?.page:focus?.design),itemlessPending=plan.status==="empty"&&fromBackend&&(page.phase==="loading"||page.phase==="idle")&&page.page===null,available=plan.status==="empty"?itemless?true:itemlessPending?void 0:false:plan.status==="ready"&&(!fromBackend||pageFallback==="list"||page.phase==="ready"&&page.page!==null)?true:void 0,availability=react.useRef(onAvailability);availability.current=onAvailability,react.useEffect(()=>{available!==void 0&&availability.current?.(available,plan.petRef)},[available,plan.petRef]);let[recordsRead,setRecordsRead]=react.useState(NO_RECORDS_READ),probeRecords=focus!==void 0&&focus.onConnectRecords!==void 0&&focus.recordsMissing===void 0&&focus.recordsBlanks===void 0&&plan.petRef!==null,probe=probeRecords&&plan.petRef!==null?/* @__PURE__ */jsxRuntime.jsx(RecordsMissingProbe,{petRef:plan.petRef,onRead:setRecordsRead},plan.petRef):null,gap=healthPlanLength(sectionGap),pageStyle=gap===null?styles2.page:{...styles2.page,gap:gap},size=healthPlanLength(titleSize),ratio=healthPlanLength(titleLineHeight),titlePx=size===null||size===0?theme.type.size.heading:size,titleStyle={...styles2.title,...size===null||size===0?null:{fontSize:size,lineHeight:`${Math.round(size*theme.type.lineHeight.snug)}px`},...ratio===null||ratio===0?null:{lineHeight:`${Math.round(titlePx*ratio)}px`},marginBottom:healthPlanTitleOffset(titleGap,gap??theme.space.lg)},titleNode=title===null?null:/* @__PURE__ */jsxRuntime.jsx("h2",{style:titleStyle,children:title}),writes=react.useMemo(()=>healthPlanWrites(plan.plan,plan.setInPlan),[plan.plan,plan.setInPlan]),context={petRef:plan.petRef,plan:plan.plan,cart:plan.cart,...writes},cardOptions=pickHealthPlanCardOptions(cardProps),between=(index,item)=>renderBetweenItems===void 0||index===0?null:/* @__PURE__ */jsxRuntime.jsx(HostRender,{resetKey:item,render:()=>renderBetweenItems(index,item),fallback:null}),header=renderHeader===void 0?null:/* @__PURE__ */jsxRuntime.jsx(HostRender,{resetKey:plan.plan,render:()=>renderHeader(context),fallback:null}),frame=(children,busy=false)=>/* @__PURE__ */jsxRuntime.jsx("section",{className:className,style:{...pageStyle,...style},"aria-busy":busy?"true":void 0,children:children});if(plan.status==="noPet")return frame(/* @__PURE__ */jsxRuntime.jsx("p",{style:styles2.body,children:HEALTH_PLAN_COPY.choosePet}));let loading=()=>/* @__PURE__ */jsxRuntime.jsxs("section",{className:className,style:{...styles2.page,...style},role:"status","aria-busy":"true","aria-label":HEALTH_PLAN_COPY.loading,children:[
|
|
411
412
|
/* @__PURE__ */jsxRuntime.jsx("div",{style:styles2.skeletonTitle}),
|
|
412
413
|
/* @__PURE__ */jsxRuntime.jsx("div",{style:styles2.skeletonCard}),
|
|
@@ -423,4 +424,4 @@ return jsxRuntime.jsxs("article",{...card,style:card.style===void 0?guarded.styl
|
|
|
423
424
|
/* @__PURE__ */jsxRuntime.jsxs("p",{...part("kicker"),children:[
|
|
424
425
|
/* @__PURE__ */jsxRuntime.jsx("span",{...part("dot",kind)}),guarded.kicker]}),
|
|
425
426
|
/* @__PURE__ */jsxRuntime.jsx("p",{...part("sentence"),children:guarded.sentence}),
|
|
426
|
-
/* @__PURE__ */jsxRuntime.jsx("button",{type:"button",...part("button"),onClick:()=>guarded.onOpenPlan(),children:guarded.action})]})}function styles(theme){let{color:color,radius:radius,space:space,type:type}=theme;return{card:{display:"grid",gap:space.xs,justifyItems:"start",padding:space.md,borderRadius:radius.lg,backgroundColor:color.brandSofter},kicker:{margin:0,display:"flex",alignItems:"center",gap:space.xs,...faceCss(theme,"bold"),fontSize:type.size.caption,color:color.text.secondary,textTransform:"uppercase",letterSpacing:"0.06em"},dot:{width:8,height:8,borderRadius:4,backgroundColor:color.errorRed},sentence:{margin:0,...faceCss(theme,"bold"),fontSize:type.size.subtitle,color:color.text.primary},button:{minHeight:40,padding:`0 ${space.md}px`,border:"none",borderRadius:999,cursor:"pointer",backgroundColor:color.primary,color:color.onPrimary,...faceCss(theme,"bold"),fontSize:type.size.caption}}}var CLOSE_FALLBACK="Close",HEALTH_PLAN_TOP_CARD_COPY=/* @__PURE__ */Object.freeze({action:who=>who.possessive===null?null:`See ${who.possessive} Health Plan`,ask:"What does it mean?",askPrompt:(focus,ask)=>focus.risk?.lead?`${focus.risk.lead} ${ask}`:`${focus.title}: ${ask}`,close:who=>who.possessive===null?null:`Close ${who.possessive} focus`});function healthPlanPossessive(pet){let sex=typeof pet.sex=="string"?pet.sex.trim().toLowerCase():null;if(sex==="female")return"her";if(sex==="male")return"his";let name=typeof pet.name=="string"?pet.name.trim():"";return name!==""?`${name}'s`:null}function healthPlanTopCard(page,options){let focus=page?.page?.focus;if(page===null||focus===void 0||focus.title.trim()===""||focus.kicker.trim()==="")return;let copy={...HEALTH_PLAN_TOP_CARD_COPY,...options.copy},who={pet:page.pet,possessive:healthPlanPossessive(page.pet)},badge=focus.sources?.find(source=>source.label.trim()!=="")?.label,onOpenPlan=options.onOpenPlan,action=onOpenPlan===void 0?null:copy.action(who),close=copy.close(who),ask=copy.ask.trim();return{kicker:focus.kicker,...badge===void 0?{}:{badge:badge},title:focus.title,...focus.risk?.lead?{lead:focus.risk.lead}:{},...focus.risk?.body?{body:focus.risk.body}:{},...action===null||action.trim()===""||onOpenPlan===void 0?{}:{action:{label:action,onPress:onOpenPlan}},...ask===""?{}:{ask:{label:ask,prompt:copy.askPrompt(focus,ask)}},closeLabel:close===null||close.trim()===""?CLOSE_FALLBACK:close,pill:focus.kicker,...options.renderIcon===void 0?{}:{renderIcon:options.renderIcon},...options.classNames===void 0?{}:{classNames:options.classNames}}}function useHealthPlanTopCard(options){let{petRef:petRef,enabled:enabled,onOpenPlan:onOpenPlan,copy:copy,classNames:classNames,renderIcon:renderIcon}=options,{page:page}=useHealthPlanPage({petRef:petRef,...enabled===void 0?{}:{enabled:enabled}});return react.useMemo(()=>
|
|
427
|
+
/* @__PURE__ */jsxRuntime.jsx("button",{type:"button",...part("button"),onClick:()=>guarded.onOpenPlan(),children:guarded.action})]})}function styles(theme){let{color:color,radius:radius,space:space,type:type}=theme;return{card:{display:"grid",gap:space.xs,justifyItems:"start",padding:space.md,borderRadius:radius.lg,backgroundColor:color.brandSofter},kicker:{margin:0,display:"flex",alignItems:"center",gap:space.xs,...faceCss(theme,"bold"),fontSize:type.size.caption,color:color.text.secondary,textTransform:"uppercase",letterSpacing:"0.06em"},dot:{width:8,height:8,borderRadius:4,backgroundColor:color.errorRed},sentence:{margin:0,...faceCss(theme,"bold"),fontSize:type.size.subtitle,color:color.text.primary},button:{minHeight:40,padding:`0 ${space.md}px`,border:"none",borderRadius:999,cursor:"pointer",backgroundColor:color.primary,color:color.onPrimary,...faceCss(theme,"bold"),fontSize:type.size.caption}}}var CLOSE_FALLBACK="Close",HEALTH_PLAN_TOP_CARD_COPY=/* @__PURE__ */Object.freeze({action:who=>who.possessive===null?null:`See ${who.possessive} Health Plan`,ask:"What does it mean?",askPrompt:(focus,ask)=>focus.risk?.lead?`${focus.risk.lead} ${ask}`:`${focus.title}: ${ask}`,close:who=>who.possessive===null?null:`Close ${who.possessive} focus`});function healthPlanPossessive(pet){let sex=typeof pet.sex=="string"?pet.sex.trim().toLowerCase():null;if(sex==="female")return"her";if(sex==="male")return"his";let name=typeof pet.name=="string"?pet.name.trim():"";return name!==""?`${name}'s`:null}function healthPlanTopCard(page,options={}){let focus=page?.page?.focus;if(page===null||focus===void 0||focus.title.trim()===""||focus.kicker.trim()==="")return;let copy={...HEALTH_PLAN_TOP_CARD_COPY,...options.copy},who={pet:page.pet,possessive:healthPlanPossessive(page.pet)},badge=focus.sources?.find(source=>source.label.trim()!=="")?.label,onOpenPlan=options.onOpenPlan,action=onOpenPlan===void 0?null:copy.action(who),close=copy.close(who),ask=copy.ask.trim();return{kicker:focus.kicker,...badge===void 0?{}:{badge:badge},title:focus.title,...focus.risk?.lead?{lead:focus.risk.lead}:{},...focus.risk?.body?{body:focus.risk.body}:{},...action===null||action.trim()===""||onOpenPlan===void 0?{}:{action:{label:action,onPress:onOpenPlan}},...ask===""?{}:{ask:{label:ask,prompt:copy.askPrompt(focus,ask)}},closeLabel:close===null||close.trim()===""?CLOSE_FALLBACK:close,pill:focus.kicker,...options.renderIcon===void 0?{}:{renderIcon:options.renderIcon}}}function healthPlanPossessive2(pet){return healthPlanPossessive(pet)}function healthPlanTopCard2(page,options){let card=healthPlanTopCard(page,options);if(card!==void 0)return{...card,...options.classNames===void 0?{}:{classNames:options.classNames}}}function useHealthPlanTopCard(options){let{petRef:petRef,enabled:enabled,onOpenPlan:onOpenPlan,copy:copy,classNames:classNames,renderIcon:renderIcon}=options,{page:page}=useHealthPlanPage({petRef:petRef,...enabled===void 0?{}:{enabled:enabled}});return react.useMemo(()=>healthPlanTopCard2(page,{onOpenPlan:onOpenPlan,...copy===void 0?{}:{copy:copy},...classNames===void 0?{}:{classNames:classNames},...renderIcon===void 0?{}:{renderIcon:renderIcon}}),[page,onOpenPlan,copy,classNames,renderIcon])}exports.EverfurHealthPlan=EverfurHealthPlan;exports.HEALTH_PLAN_COPY=HEALTH_PLAN_COPY;exports.HEALTH_PLAN_COPY_PLACEHOLDERS=HEALTH_PLAN_COPY_PLACEHOLDERS;exports.HEALTH_PLAN_FOCUS_COPY=HEALTH_PLAN_FOCUS_COPY;exports.HEALTH_PLAN_LAYOUT_DEFAULTS=HEALTH_PLAN_LAYOUT_DEFAULTS;exports.HEALTH_PLAN_REASON_KINDS=HEALTH_PLAN_REASON_KINDS;exports.HEALTH_PLAN_REASON_LABELS=HEALTH_PLAN_REASON_LABELS;exports.HEALTH_PLAN_TEMPLATES=HEALTH_PLAN_TEMPLATES;exports.HEALTH_PLAN_TOP_CARD_COPY=HEALTH_PLAN_TOP_CARD_COPY;exports.HealthPlanBlanks=HealthPlanBlanks;exports.HealthPlanCartBar=HealthPlanCartBar;exports.HealthPlanCartScope=HealthPlanCartScope;exports.HealthPlanController=HealthPlanController;exports.HealthPlanFocus=HealthPlanFocus;exports.HealthPlanItemCard=HealthPlanItemCard;exports.HealthPlanTopRisk=HealthPlanTopRisk;exports.createHealthPlanPageRepository=createHealthPlanPageRepository;exports.createHealthPlanPageRepositoryOver=createHealthPlanPageRepositoryOver;exports.createHealthPlanRepository=createHealthPlanRepository;exports.createHealthPlanRepositoryOver=createHealthPlanRepositoryOver;exports.createHealthPlanSubscriptionRepository=createHealthPlanSubscriptionRepository;exports.createHealthPlanSubscriptionRepositoryOver=createHealthPlanSubscriptionRepositoryOver;exports.formatHealthPlanDay=formatHealthPlanDay;exports.formatHealthPlanPrice=formatHealthPlanPrice;exports.formatHealthPlanPriceWith=formatHealthPlanPriceWith;exports.healthPlanBlanksFacts=healthPlanBlanksFacts;exports.healthPlanCart=healthPlanCart;exports.healthPlanCheckoutRefusal=healthPlanCheckoutRefusal;exports.healthPlanCheckoutSessionFromWire=healthPlanCheckoutSessionFromWire;exports.healthPlanCheckoutStateFromWire=healthPlanCheckoutStateFromWire;exports.healthPlanFocusCopyFor=healthPlanFocusCopyFor;exports.healthPlanFocusDesignFromWire=healthPlanFocusDesignFromWire;exports.healthPlanFromWire=healthPlanFromWire;exports.healthPlanNextShotsAt=healthPlanNextShotsAt;exports.healthPlanNoVet=healthPlanNoVet;exports.healthPlanOneBoxOrderFromWire=healthPlanOneBoxOrderFromWire;exports.healthPlanOneBoxOrderPageFromWire=healthPlanOneBoxOrderPageFromWire;exports.healthPlanOrderTrackingFromWire=healthPlanOrderTrackingFromWire;exports.healthPlanPageFromWire=healthPlanPageFromWire;exports.healthPlanPetWords=healthPlanPetWords;exports.healthPlanPossessive=healthPlanPossessive2;exports.healthPlanRecordsWeightKg=healthPlanRecordsWeightKg;exports.healthPlanSubscriptionFromWire=healthPlanSubscriptionFromWire;exports.healthPlanSubscriptionQuoteFromWire=healthPlanSubscriptionQuoteFromWire;exports.healthPlanTopCard=healthPlanTopCard2;exports.isHealthPlanSessionRequired=isHealthPlanSessionRequired;exports.isHealthPlanSubscriptionUnavailable=isHealthPlanSubscriptionUnavailable;exports.notifyHealthPlanRecordsLanded=notifyHealthPlanRecordsLanded;exports.onHealthPlanNoVet=onHealthPlanNoVet;exports.onHealthPlanRecordsLanded=onHealthPlanRecordsLanded;exports.setHealthPlanNoVet=setHealthPlanNoVet;exports.showHealthPlanCartBar=showHealthPlanCartBar;exports.useEverfurHealthPlan=useEverfurHealthPlan;exports.useEverfurHealthPlanRepository=useEverfurHealthPlanRepository;exports.useEverfurPresentation=useEverfurPresentation;exports.useHealthPlanCartDock=useHealthPlanCartDock;exports.useHealthPlanPage=useHealthPlanPage;exports.useHealthPlanPageRepository=useHealthPlanPageRepository;exports.useHealthPlanSubscription=useHealthPlanSubscription;exports.useHealthPlanSubscriptionRepository=useHealthPlanSubscriptionRepository;exports.useHealthPlanTopCard=useHealthPlanTopCard;
|