@everfur/sdk 0.15.1 → 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.
Files changed (164) hide show
  1. package/CHANGELOG.md +122 -0
  2. package/dist/{DepthViews.d-BuEWI6Ln.d.ts → DepthViews.d-A7S-XYiI.d.ts} +1 -1
  3. package/dist/{DepthViews.d--1daZblh.d.cts → DepthViews.d-C4TIZDfz.d.cts} +1 -1
  4. package/dist/{DepthViews.d-CKTnEeUo.d.ts → DepthViews.d-CNjaHLAS.d.ts} +1 -1
  5. package/dist/{DepthViews.d-PuBGdAYk.d.cts → DepthViews.d-DapfRz1S.d.cts} +1 -1
  6. package/dist/{RecordsPage.d-CBB8sfoY.d.ts → RecordsPage.d-6WMbieaV.d.ts} +1 -1
  7. package/dist/{RecordsPage.d-Dq5gpQG0.d.cts → RecordsPage.d-B2gLf8RH.d.cts} +1 -1
  8. package/dist/animations/index.d.cts +5 -5
  9. package/dist/animations/index.d.ts +5 -5
  10. package/dist/{Chat.d-BlsnQwCQ.d.ts → appStateLifecycle.d-B7L427MF.d.ts} +64 -141
  11. package/dist/{Chat.d-BO5iJsR2.d.cts → appStateLifecycle.d-CWedOJq4.d.cts} +64 -141
  12. package/dist/{attachments.d-DRHsJkni.d.cts → attachments.d-BARh-PrJ.d.cts} +24 -6
  13. package/dist/{attachments.d-DFP9yvz9.d.ts → attachments.d-CB0R1_vK.d.ts} +24 -6
  14. package/dist/{attachments.d-C2nkIyDB.d.ts → attachments.d-CPgp4_W-.d.ts} +2 -2
  15. package/dist/{attachments.d-DRUC35Ti.d.cts → attachments.d-DeoaCEMD.d.cts} +2 -2
  16. package/dist/{bookingCopy.d-CFL-1Be2.d.ts → bookingCopy.d-BakTjvWw.d.ts} +2 -2
  17. package/dist/{bookingCopy.d-bF_QknDC.d.cts → bookingCopy.d-CVmpuk9C.d.cts} +2 -2
  18. package/dist/{casesRepository.d-C__BnffJ.d.ts → casesRepository.d-CuokarTU.d.ts} +1 -1
  19. package/dist/{casesRepository.d-BMOnT1fg.d.cts → casesRepository.d-DKRLtYb8.d.cts} +1 -1
  20. package/dist/chat/index.cjs +227 -213
  21. package/dist/chat/index.d.cts +11 -9
  22. package/dist/chat/index.d.ts +11 -9
  23. package/dist/chat/index.js +228 -214
  24. package/dist/client/index.cjs +1 -1
  25. package/dist/client/index.d.cts +6 -6
  26. package/dist/client/index.d.ts +6 -6
  27. package/dist/client/index.js +1 -1
  28. package/dist/{clinicBatch.d-D68RYvc3.d.ts → clinicBatch.d-BP_Rpvcy.d.ts} +2 -2
  29. package/dist/{clinicBatch.d-C5deJ4xY.d.cts → clinicBatch.d-BTDdhMQ2.d.cts} +2 -2
  30. package/dist/{config.d-BQgrIDdu.d.cts → config.d-84fNJFv9.d.cts} +1 -1
  31. package/dist/{config.d-XSMThgVj.d.ts → config.d-B4-Mrwq2.d.ts} +1 -1
  32. package/dist/consent/index.d.cts +5 -5
  33. package/dist/consent/index.d.ts +5 -5
  34. package/dist/{context.d-Ba8YyJpk.d.cts → context.d-87MMrNm6.d.cts} +5 -5
  35. package/dist/{context.d-xoh5vmxS.d.ts → context.d-rNGMZH8T.d.ts} +5 -5
  36. package/dist/{copy.d-Cq-s-UUv.d.cts → copy.d-CJOLhJac.d.cts} +2 -2
  37. package/dist/{copy.d-HV9fU5kh.d.ts → copy.d-DbwWriBp.d.ts} +2 -2
  38. package/dist/core/index.cjs +1 -1
  39. package/dist/core/index.d.cts +13 -13
  40. package/dist/core/index.d.ts +13 -13
  41. package/dist/core/index.js +1 -1
  42. package/dist/{depth.d-DYnkz8Re.d.cts → depth.d-CXpPxNSK.d.cts} +2 -2
  43. package/dist/{depth.d-D7kKiYl7.d.ts → depth.d-Dca1T_RH.d.ts} +2 -2
  44. package/dist/{entitlementRepository.d-DmnUZLl_.d.ts → entitlementRepository.d-BBRYTUlp.d.ts} +2 -2
  45. package/dist/{entitlementRepository.d-B_kEPLhz.d.cts → entitlementRepository.d-DBhzBQjZ.d.cts} +2 -2
  46. package/dist/{focus.d-BHm_QtQ9.d.cts → focus.d-BQnOVAql.d.cts} +3 -3
  47. package/dist/{focus.d-CjL6Cj0m.d.ts → focus.d-BZ2sEpbU.d.ts} +3 -3
  48. package/dist/health-plan/index.cjs +134 -131
  49. package/dist/health-plan/index.d.cts +77 -24
  50. package/dist/health-plan/index.d.ts +77 -24
  51. package/dist/health-plan/index.js +134 -131
  52. package/dist/{idempotency.d-BSRK8od4.d.cts → idempotency.d-9wNNohIA.d.cts} +1 -1
  53. package/dist/{idempotency.d-CFc4CCc9.d.ts → idempotency.d-BdB17veP.d.ts} +1 -1
  54. package/dist/{identity.d-Be2Es9Td.d.ts → identity.d-DxNvhj3a.d.ts} +1 -1
  55. package/dist/{identity.d-HbwYQ4-z.d.cts → identity.d-nRZBzkG2.d.cts} +1 -1
  56. package/dist/index.cjs +232 -218
  57. package/dist/index.d.cts +14 -12
  58. package/dist/index.d.ts +14 -12
  59. package/dist/index.js +233 -219
  60. package/dist/{introEvents.d-Dr34KIaD.d.cts → introEvents.d-CQeiUeLn.d.cts} +1 -1
  61. package/dist/{introEvents.d-DflJ6J9H.d.ts → introEvents.d-bkIxpIKr.d.ts} +1 -1
  62. package/dist/notifications/index.d.cts +4 -4
  63. package/dist/notifications/index.d.ts +4 -4
  64. package/dist/{optInView.d-D23o1gtT.d.cts → optInView.d-BbVUUeoG.d.cts} +2 -2
  65. package/dist/{optInView.d-3mbj1mR6.d.ts → optInView.d-DVJcB4Gp.d.ts} +2 -2
  66. package/dist/{parse.d-BERabxHw.d.ts → parse.d-CGeJrcAC.d.ts} +1 -1
  67. package/dist/{parse.d-4lUXdmvY.d.cts → parse.d-Dk0BasyK.d.cts} +1 -1
  68. package/dist/{pets.d-D_ayuqjp.d.ts → pets.d-DBopbeRe.d.ts} +1 -1
  69. package/dist/{pets.d-CHU0UbXt.d.cts → pets.d-DVptPgi0.d.cts} +1 -1
  70. package/dist/{petsRepository.d-DUaAWoTv.d.ts → petsRepository.d-BtuooSOW.d.ts} +1 -1
  71. package/dist/{petsRepository.d-Bwfe8yuR.d.cts → petsRepository.d-Daef7u0o.d.cts} +1 -1
  72. package/dist/{ports.d-DzEJMVRs.d.ts → ports.d-BxCVSbSi.d.ts} +4 -4
  73. package/dist/{ports.d-ClbPRUtx.d.cts → ports.d-CAT70bVD.d.cts} +4 -4
  74. package/dist/records/depth/index.cjs +1 -1
  75. package/dist/records/depth/index.d.cts +9 -9
  76. package/dist/records/depth/index.d.ts +9 -9
  77. package/dist/records/depth/index.js +1 -1
  78. package/dist/records/index.cjs +242 -200
  79. package/dist/records/index.d.cts +169 -73
  80. package/dist/records/index.d.ts +169 -73
  81. package/dist/records/index.js +243 -201
  82. package/dist/{requestFunnel.d-YabU6G-Z.d.ts → requestFunnel.d-Cxt0JqYx.d.ts} +2 -2
  83. package/dist/{requestFunnel.d-JoqddYSx.d.cts → requestFunnel.d-mEu6B-n8.d.cts} +2 -2
  84. package/dist/{runtimeTypes.d-DQTBJAbk.d.ts → runtimeTypes.d-Bkcj_XQy.d.ts} +4 -4
  85. package/dist/{runtimeTypes.d-Cv38YuzP.d.cts → runtimeTypes.d-D_qHJROH.d.cts} +4 -4
  86. package/dist/{screenProps.d-C-AuHoyF.d.cts → screenProps.d-CR1lrpzR.d.cts} +2 -2
  87. package/dist/{screenProps.d-BuJLzFkN.d.ts → screenProps.d-D9n-ancr.d.ts} +2 -2
  88. package/dist/server/events/index.cjs +1 -1
  89. package/dist/server/events/index.d.cts +2 -2
  90. package/dist/server/events/index.d.ts +2 -2
  91. package/dist/server/events/index.js +1 -1
  92. package/dist/server/index.cjs +1 -1
  93. package/dist/server/index.d.cts +3 -3
  94. package/dist/server/index.d.ts +3 -3
  95. package/dist/server/index.js +1 -1
  96. package/dist/shop/index.cjs +16 -16
  97. package/dist/shop/index.d.cts +12 -3
  98. package/dist/shop/index.d.ts +12 -3
  99. package/dist/shop/index.js +16 -16
  100. package/dist/tabs/index.cjs +4 -4
  101. package/dist/tabs/index.d.cts +34 -15
  102. package/dist/tabs/index.d.ts +34 -15
  103. package/dist/tabs/index.js +5 -5
  104. package/dist/{tabsModel.d-BfIQg6yS.d.ts → tabsModel.d-B7QMug1u.d.cts} +1 -17
  105. package/dist/{tabsModel.d-BfIQg6yS.d.cts → tabsModel.d-B7QMug1u.d.ts} +1 -17
  106. package/dist/televet/booking/index.d.cts +6 -6
  107. package/dist/televet/booking/index.d.ts +6 -6
  108. package/dist/testing/index.d.cts +1 -1
  109. package/dist/testing/index.d.ts +1 -1
  110. package/dist/testing/rn/index.cjs +1 -1
  111. package/dist/testing/rn/index.d.cts +7 -7
  112. package/dist/testing/rn/index.d.ts +7 -7
  113. package/dist/testing/rn/index.js +1 -1
  114. package/dist/testing/web/index.d.cts +7 -7
  115. package/dist/testing/web/index.d.ts +7 -7
  116. package/dist/texting/index.cjs +21 -16
  117. package/dist/texting/index.d.cts +5 -5
  118. package/dist/texting/index.d.ts +5 -5
  119. package/dist/texting/index.js +22 -17
  120. package/dist/threadOptions.d-6hfQS1x7.d.cts +55 -0
  121. package/dist/threadOptions.d-6hfQS1x7.d.ts +55 -0
  122. package/dist/threadOptions.d-BEG-LZrC.d.cts +147 -0
  123. package/dist/threadOptions.d-BerQM1Ql.d.ts +147 -0
  124. package/dist/{threadOptions.d-8x_1evAr.d.ts → threadOptions.d-BgBvSIw8.d.ts} +6 -40
  125. package/dist/{threadOptions.d-DBrmOwmb.d.cts → threadOptions.d-P9v7I7va.d.cts} +6 -40
  126. package/dist/{timelineRows.d-B6lLC8Ud.d.cts → timelineRows.d-C04lp_Vj.d.cts} +1 -1
  127. package/dist/{timelineRows.d-Brlkti-G.d.ts → timelineRows.d-_7JemrY-.d.ts} +1 -1
  128. package/dist/{planSignals.d-CON9gTvJ.d.ts → useHealthPlanSubscription.d-CUbHE6eK.d.ts} +81 -3
  129. package/dist/{planSignals.d-Dha2CMDF.d.cts → useHealthPlanSubscription.d-OhLZpn-n.d.cts} +81 -3
  130. package/dist/{usePresentation.d-Bne14SlX.d.ts → usePresentation.d-CBtBx38t.d.ts} +40 -40
  131. package/dist/{usePresentation.d-BcdCIuEU.d.cts → usePresentation.d-YkJeq9mf.d.cts} +40 -40
  132. package/dist/{useRecordsDepth.d-DAa169VY.d.cts → useRecordsDepth.d-FTImzp6T.d.cts} +1 -1
  133. package/dist/{useRecordsDepth.d-Cd6J03o5.d.ts → useRecordsDepth.d-_rqDIvoq.d.ts} +1 -1
  134. package/dist/{view.d-3d5_O7Xk.d.cts → view.d-Dd6AfMvG.d.cts} +3 -3
  135. package/dist/{view.d-DkGM8GNA.d.ts → view.d-gmYinlac.d.ts} +3 -3
  136. package/dist/web/consent/index.d.cts +5 -5
  137. package/dist/web/consent/index.d.ts +5 -5
  138. package/dist/web/health-plan/index.cjs +1 -1
  139. package/dist/web/health-plan/index.d.cts +15 -69
  140. package/dist/web/health-plan/index.d.ts +15 -69
  141. package/dist/web/health-plan/index.js +1 -1
  142. package/dist/web/index.cjs +5 -5
  143. package/dist/web/index.d.cts +26 -43
  144. package/dist/web/index.d.ts +26 -43
  145. package/dist/web/index.js +5 -5
  146. package/dist/web/intro/index.d.cts +6 -6
  147. package/dist/web/intro/index.d.ts +6 -6
  148. package/dist/web/notifications/index.d.cts +3 -3
  149. package/dist/web/notifications/index.d.ts +3 -3
  150. package/dist/web/records/depth/index.d.cts +9 -9
  151. package/dist/web/records/depth/index.d.ts +9 -9
  152. package/dist/web/records/index.d.cts +11 -11
  153. package/dist/web/records/index.d.ts +11 -11
  154. package/dist/web/records-sheet/index.cjs +10 -10
  155. package/dist/web/records-sheet/index.js +10 -10
  156. package/dist/web/shop/index.cjs +11 -11
  157. package/dist/web/shop/index.d.cts +3 -3
  158. package/dist/web/shop/index.d.ts +3 -3
  159. package/dist/web/shop/index.js +11 -11
  160. package/dist/web/televet/booking/index.d.cts +6 -6
  161. package/dist/web/televet/booking/index.d.ts +6 -6
  162. package/dist/web/texting/index.d.cts +5 -5
  163. package/dist/web/texting/index.d.ts +5 -5
  164. package/package.json +6 -2
@@ -1,25 +1,27 @@
1
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 { ReactNode } from 'react';
2
+ import { ReactNode, RefObject } from 'react';
3
3
  import { StyleProp, ViewStyle } from 'react-native';
4
4
  import { a as CapabilityDecision } from '../resolve.d-CoQWUy1Y.cjs';
5
5
  import { E as EverfurError } from '../EverfurError.d-8NHtlgzA.cjs';
6
6
  export { a as EverfurErrorCategory, b as EverfurErrorCode } from '../EverfurError.d-8NHtlgzA.cjs';
7
7
  import { P as PetRef } from '../ids.d-B2GAAifq.cjs';
8
8
  export { B as Brand, C as ConversationId, R as RecordsRequestId, U as UserRef, _ as __brand } from '../ids.d-B2GAAifq.cjs';
9
- import { c as HealthPlanFocusCopy, e as HealthPlanFocusIcon, b as HealthPlanFocusDesign, f as HealthPlanItem, g as HealthPlanSubscription, h as HealthPlanOneBoxOrder, i as HealthPlanSubscriptionRepository, j as HealthPlanPageRepository, k as HealthPlanShopOrder, l as HealthPlanCheckoutProvider } from '../focus.d-BHm_QtQ9.cjs';
10
- export { s as HEALTH_PLAN_FOCUS_COPY, t as HEALTH_PLAN_REASON_KINDS, m as HealthPlan, u as HealthPlanCartCheckoutRequest, v as HealthPlanCheckoutItem, w as HealthPlanCheckoutRefusal, x as HealthPlanCheckoutRequest, y as HealthPlanCheckoutSession, z as HealthPlanCheckoutState, A as HealthPlanCheckoutStatus, B as HealthPlanFocusExtra, C as HealthPlanFocusPrices, D as HealthPlanFocusReasonRow, E as HealthPlanFocusReview, F as HealthPlanFocusSign, G as HealthPlanFocusStep, I as HealthPlanFocusWait, J as HealthPlanOneBoxOffer, K as HealthPlanOneBoxOrderPage, L as HealthPlanOneBoxOrderPageOptions, M as HealthPlanOrderStatus, N as HealthPlanOrderTracking, O as HealthPlanOrderTrackingStatus, H as HealthPlanPage, r as HealthPlanPagePet, P as HealthPlanPurchase, Q as HealthPlanReason, o as HealthPlanReasonKind, n as HealthPlanRepository, R as HealthPlanRepositoryDeps, S as HealthPlanRuntime, q as HealthPlanSubscriptionQuote, T as HealthPlanSubscriptionRenewal, U as HealthPlanSubscriptionStatus, V as HealthPlanSubscriptionStep, W as HealthPlanSubscriptionSupply, X as HealthPlanTrackStep, Y as createHealthPlanPageRepository, Z as createHealthPlanPageRepositoryOver, _ as createHealthPlanRepository, $ as createHealthPlanRepositoryOver, a2 as formatHealthPlanDay, a3 as healthPlanCheckoutRefusal, a4 as healthPlanCheckoutSessionFromWire, a5 as healthPlanCheckoutStateFromWire, a7 as healthPlanFocusDesignFromWire, a8 as healthPlanFromWire, ac as healthPlanPageFromWire } from '../focus.d-BHm_QtQ9.cjs';
9
+ import { c as HealthPlanFocusCopy, e as HealthPlanFocusIcon, b as HealthPlanFocusDesign, f as HealthPlanItem, g as HealthPlanSubscription, h as HealthPlanOneBoxOrder, i as HealthPlanSubscriptionRepository, j as HealthPlanPageRepository, k as HealthPlanShopOrder, l as HealthPlanCheckoutProvider } from '../focus.d-BQnOVAql.cjs';
10
+ export { o as HEALTH_PLAN_FOCUS_COPY, p as HEALTH_PLAN_REASON_KINDS, q as HealthPlan, r as HealthPlanCartCheckoutRequest, s as HealthPlanCheckoutItem, t as HealthPlanCheckoutRefusal, u as HealthPlanCheckoutRequest, v as HealthPlanCheckoutSession, w as HealthPlanCheckoutState, x as HealthPlanCheckoutStatus, y as HealthPlanFocusExtra, z as HealthPlanFocusPrices, A as HealthPlanFocusReasonRow, B as HealthPlanFocusReview, C as HealthPlanFocusSign, D as HealthPlanFocusStep, E as HealthPlanFocusWait, F as HealthPlanOneBoxOffer, G as HealthPlanOneBoxOrderPage, I as HealthPlanOneBoxOrderPageOptions, J as HealthPlanOrderStatus, K as HealthPlanOrderTracking, L as HealthPlanOrderTrackingStatus, H as HealthPlanPage, n as HealthPlanPagePet, a as HealthPlanPetPronouns, M as HealthPlanPurchase, N as HealthPlanReason, O as HealthPlanReasonKind, P as HealthPlanRepository, Q as HealthPlanRepositoryDeps, R as HealthPlanRuntime, S as HealthPlanSubscriptionQuote, T as HealthPlanSubscriptionRenewal, U as HealthPlanSubscriptionStatus, V as HealthPlanSubscriptionStep, W as HealthPlanSubscriptionSupply, X as HealthPlanTrackStep, Y as createHealthPlanPageRepository, Z as createHealthPlanPageRepositoryOver, _ as createHealthPlanRepository, $ as createHealthPlanRepositoryOver, a0 as createHealthPlanSubscriptionRepository, a1 as createHealthPlanSubscriptionRepositoryOver, a2 as formatHealthPlanDay, a3 as healthPlanCheckoutRefusal, a4 as healthPlanCheckoutSessionFromWire, a5 as healthPlanCheckoutStateFromWire, a6 as healthPlanFocusCopyFor, a7 as healthPlanFocusDesignFromWire, a8 as healthPlanFromWire, a9 as healthPlanOneBoxOrderFromWire, aa as healthPlanOneBoxOrderPageFromWire, ab as healthPlanOrderTrackingFromWire, ac as healthPlanPageFromWire, ad as healthPlanPetWords, ae as healthPlanSubscriptionFromWire, af as healthPlanSubscriptionQuoteFromWire, ag as isHealthPlanSubscriptionUnavailable } from '../focus.d-BQnOVAql.cjs';
11
11
  import { i as EverfurPresentationInput } from '../presentation.d-vy8kTGfR.cjs';
12
12
  export { E as EverfurChatAnswerStyle, a as EverfurChatComposerPlaceholder, b as EverfurChatComposerStyle, c as EverfurChatHistoryBarSetting, d as EverfurChatHistoryStyle, e as EverfurChatSendButtonSetting, f as EverfurChatTopCardSetting, g as EverfurHealthPlanLayout, h as EverfurPresentation, j as EverfurSafetyDisclaimerPlacement } from '../presentation.d-vy8kTGfR.cjs';
13
- import { H as HealthPlanBlanksFacts, a as HealthPlanPriceFormat, b as HealthPlanLayoutProps, e as HealthPlanCardOptions, f as HealthPlanImageVariant, g as HealthPlanReasonVariant, d as HealthPlanCart } from '../usePresentation.d-BcdCIuEU.cjs';
14
- export { E as EverfurHealthPlanOptions, h as EverfurHealthPlanState, i as EverfurHealthPlanStatus, j as HEALTH_PLAN_COPY, k as HEALTH_PLAN_COPY_PLACEHOLDERS, l as HEALTH_PLAN_LAYOUT_DEFAULTS, m as HEALTH_PLAN_REASON_LABELS, n as HEALTH_PLAN_TEMPLATES, o as HealthPlanAddButtonSize, p as HealthPlanAddedVariant, q as HealthPlanBlanksPhase, r as HealthPlanCardShadow, s as HealthPlanCartBarPlacement, t as HealthPlanCartBarVisibility, u as HealthPlanCategoryVariant, v as HealthPlanFontWeight, w as HealthPlanHeaderContext, x as HealthPlanPageContext, y as HealthPlanShadow, z as formatHealthPlanPrice, A as formatHealthPlanPriceWith, B as healthPlanBlanksFacts, C as healthPlanCart, D as healthPlanNextShotsAt, F as healthPlanRecordsWeightKg, G as isHealthPlanSessionRequired, I as showHealthPlanCartBar, J as useEverfurHealthPlan, K as useEverfurHealthPlanRepository, L as useEverfurPresentation } from '../usePresentation.d-BcdCIuEU.cjs';
13
+ import { H as HealthPlanBlanksFacts, a as HealthPlanPriceFormat, b as HealthPlanLayoutProps, c as HealthPlanEmptyCopy, d as HealthPlanCardOptions, e as HealthPlanImageVariant, f as HealthPlanReasonVariant, g as HealthPlanCart } from '../usePresentation.d-YkJeq9mf.cjs';
14
+ export { E as EverfurHealthPlanOptions, h as EverfurHealthPlanState, i as EverfurHealthPlanStatus, j as HEALTH_PLAN_COPY, k as HEALTH_PLAN_COPY_PLACEHOLDERS, l as HEALTH_PLAN_LAYOUT_DEFAULTS, m as HEALTH_PLAN_REASON_LABELS, n as HEALTH_PLAN_TEMPLATES, o as HealthPlanAddButtonSize, p as HealthPlanAddedVariant, q as HealthPlanBlanksPhase, r as HealthPlanCardShadow, s as HealthPlanCartBarPlacement, t as HealthPlanCartBarVisibility, u as HealthPlanCategoryVariant, v as HealthPlanFontWeight, w as HealthPlanHeaderContext, x as HealthPlanPageContext, y as HealthPlanShadow, z as formatHealthPlanPrice, A as formatHealthPlanPriceWith, B as healthPlanBlanksFacts, C as healthPlanCart, D as healthPlanNextShotsAt, F as healthPlanRecordsWeightKg, G as isHealthPlanSessionRequired, I as showHealthPlanCartBar, J as useEverfurHealthPlan, K as useEverfurHealthPlanRepository, L as useEverfurPresentation } from '../usePresentation.d-YkJeq9mf.cjs';
15
15
  import { L as LifecyclePort } from '../LifecyclePort.d-Cr1p33a7.cjs';
16
16
  import { E as EverfurResult } from '../EverfurResult.d-BFH-3s6E.cjs';
17
17
  import { R as RecordsRecordWire } from '../ports.d-BX4f4UsB.cjs';
18
- export { H as HealthPlanCartDock, a as HealthPlanCartScope, b as HealthPlanCartScopeProps, c as HealthPlanController, d as HealthPlanNoVetListener, e as HealthPlanPageOptions, f as HealthPlanPagePhase, g as HealthPlanPageState, h as HealthPlanPhase, i as HealthPlanRecordsLandedListener, j as HealthPlanRecordsLandedSource, k as HealthPlanSnapshot, l as healthPlanNoVet, n as notifyHealthPlanRecordsLanded, o as onHealthPlanNoVet, m as onHealthPlanRecordsLanded, s as setHealthPlanNoVet, u as useHealthPlanCartDock, p as useHealthPlanPage, q as useHealthPlanPageRepository } from '../planSignals.d-Dha2CMDF.cjs';
19
- export { A as AuthContext, I as IdentityProvider, M as MintedToken, T as TokenProvider } from '../identity.d-HbwYQ4-z.cjs';
20
- 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-BQgrIDdu.cjs';
18
+ import { C as HealthPlanTopCardOptions } from '../useHealthPlanSubscription.d-OhLZpn-n.cjs';
19
+ export { a as HEALTH_PLAN_TOP_CARD_COPY, b as HealthPlanCartDock, c as HealthPlanCartScope, d as HealthPlanCartScopeProps, e as HealthPlanController, f as HealthPlanNoVetListener, g as HealthPlanPageOptions, h as HealthPlanPagePhase, i as HealthPlanPageState, j as HealthPlanPhase, D as HealthPlanPossessivePet, k as HealthPlanRecordsLandedListener, l as HealthPlanRecordsLandedSource, m as HealthPlanSnapshot, n as HealthPlanSubscriptionOptions, o as HealthPlanSubscriptionPhase, p as HealthPlanSubscriptionState, H as HealthPlanTopCardCopy, q as HealthPlanTopCardFocus, r as HealthPlanTopCardPet, s as healthPlanNoVet, E as healthPlanPossessive, F as healthPlanTopCard, t as notifyHealthPlanRecordsLanded, u as onHealthPlanNoVet, v as onHealthPlanRecordsLanded, w as setHealthPlanNoVet, x as useHealthPlanCartDock, y as useHealthPlanPage, z as useHealthPlanPageRepository, A as useHealthPlanSubscription, B as useHealthPlanSubscriptionRepository } from '../useHealthPlanSubscription.d-OhLZpn-n.cjs';
20
+ export { A as AuthContext, I as IdentityProvider, M as MintedToken, T as TokenProvider } from '../identity.d-nRZBzkG2.cjs';
21
+ 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';
21
22
  export { E as ErrorPolicyPort } from '../ErrorPolicyPort.d-DirW9hgO.cjs';
22
- import '../requestFunnel.d-JoqddYSx.cjs';
23
+ import { b as EverfurChatTopCard } from '../threadOptions.d-6hfQS1x7.cjs';
24
+ import '../requestFunnel.d-mEu6B-n8.cjs';
23
25
  import '../models.d-BSqvbTE1.cjs';
24
26
 
25
27
  /** The pet facts the words are sized to. */
@@ -29,8 +31,7 @@ interface HealthPlanPetWords {
29
31
  /** The partner texts tracking numbers (Q9): the "by text" lines are drawn. Absent = false. */
30
32
  readonly trackingTexts?: boolean;
31
33
  }
32
- /** "her" for a female, "his" for a male, "Georgia's" for a named pet of unknown sex, else null. */
33
- declare function healthPlanPossessive(pet: HealthPlanPetWords): string | null;
34
+
34
35
  /** The words the React Native focus layout adds over `HealthPlanFocusCopy`. Each '' hides what it labels. */
35
36
  interface HealthPlanFocusRnCopy extends HealthPlanFocusCopy {
36
37
  /**
@@ -38,10 +39,6 @@ interface HealthPlanFocusRnCopy extends HealthPlanFocusCopy {
38
39
  * app's own words (everfur-frontend app/lib/error-handler.ts:66).
39
40
  */
40
41
  readonly checkoutFailed: string;
41
- /** The weight sheet's error with `weightUnit="kg"`. No approved words yet: '' (a copy ask for Raph). */
42
- readonly weightErrorKg: string;
43
- /** The toast after a weight saved in kilograms. No approved words yet: returns '' and no toast shows. */
44
- readonly weightSavedKg: (kilograms: string) => string;
45
42
  /** The back control over a pushed screen when the host draws no header of its own (src/rn/records/ScreenHeader.tsx). */
46
43
  readonly back: string;
47
44
  }
@@ -100,8 +97,18 @@ interface HealthPlanFocusRnOptions {
100
97
  readonly onOverlayChange?: (overlay: HealthPlanFocusRnOverlay, controls: HealthPlanFocusRnOverlayControls) => void;
101
98
  readonly onSubscriptionChange?: (subscription: HealthPlanSubscription) => void;
102
99
  readonly onOneBoxOrder?: (order: HealthPlanOneBoxOrder) => void;
103
- /** The jump strip under the focus card was pressed: scroll your container to the pick. Omit it and the strip is not a control. */
100
+ /**
101
+ * The jump strip under the focus card was pressed: scroll your container to the pick. Omit it and the strip scrolls
102
+ * the surrounding `HealthPlanScrollScope` (EverfurTabs wraps its plan in one) to the pick; with neither the strip is
103
+ * not a control.
104
+ */
104
105
  readonly onJump?: () => void;
106
+ /**
107
+ * Q9: the partner texts tracking numbers, so the "Tracking comes by text" lines are drawn. Everfur's plan page says
108
+ * it itself (`trackingTextsEnabled`); with your own `design` this is yours to say (the web's option). Absent: the
109
+ * plan read's `trackingTextsEnabled`, else false.
110
+ */
111
+ readonly trackingTexts?: boolean;
105
112
  /** Number and date locale. */
106
113
  readonly locale?: string;
107
114
  readonly subscriptionRepository?: HealthPlanSubscriptionRepository;
@@ -181,11 +188,6 @@ interface HealthPlanFocusProps extends Omit<HealthPlanFocusRnOptions, 'design'>
181
188
  readonly fromBackend?: boolean;
182
189
  /** Q2: the page says its template is vet reviewed. Only then is a backend page's byline drawn. */
183
190
  readonly vetReviewed?: boolean;
184
- /**
185
- * Q9: the partner texts tracking numbers (`trackingTextsEnabled` on the plan page or the plan read). Only then are
186
- * the "Tracking comes by text" lines drawn. Absent = false.
187
- */
188
- readonly trackingTexts?: boolean;
189
191
  readonly onCheckout?: (items: readonly HealthPlanItem[]) => void;
190
192
  readonly priceFormat?: HealthPlanPriceFormat;
191
193
  readonly style?: StyleProp<ViewStyle>;
@@ -223,10 +225,19 @@ interface EverfurHealthPlanProps extends HealthPlanLayoutProps {
223
225
  */
224
226
  readonly focus?: HealthPlanFocusRnOptions;
225
227
  /**
226
- * Whether this pet has a plan to show (Q1): false for no plan (nothing is drawn, so hide your tab or entry), true
227
- * once the plan is drawn. Not called while it is still loading or after a refused read.
228
+ * Whether this pet has a plan to show (Q1), with the pet it is about: false for no plan (hide your tab or entry for
229
+ * that pet), true once the plan is drawn. Not called while it is still loading or after a refused read. The same
230
+ * name and signature as the web's.
231
+ */
232
+ readonly onAvailability?: (available: boolean, petRef: PetRef | null) => void;
233
+ /**
234
+ * @deprecated Use `onAvailability(available, petRef)`, the web's name. Still called, with the same value.
228
235
  */
229
236
  readonly onAvailabilityChange?: (available: boolean) => void;
237
+ /** The empty state's Ask control (drawn only when `emptyAsk` has words). */
238
+ readonly onAsk?: () => void;
239
+ /** Your words for the empty state, over the SDK's (empty until approved: then nothing is drawn). */
240
+ readonly emptyCopy?: Partial<HealthPlanEmptyCopy>;
230
241
  }
231
242
  /** One pet's Health Plan in a React Native app. Mount it under the `EverfurProvider` from "@everfur/sdk". */
232
243
  declare function EverfurHealthPlan(props: EverfurHealthPlanProps): ReactNode;
@@ -265,6 +276,36 @@ interface HealthPlanCartBarProps {
265
276
  /** The cart bar of a Health Plan. */
266
277
  declare function HealthPlanCartBar(props: HealthPlanCartBarProps): ReactNode;
267
278
 
279
+ interface HealthPlanTopRiskProps {
280
+ /** The line over the sentence ("Her top risk"). */
281
+ readonly kicker: string;
282
+ /** The one sentence ("Georgia's top disease risk is IVDD, a back problem, so she should start a Health Plan for it."). */
283
+ readonly sentence: string;
284
+ /** The button's words ("Start her Health Plan"). */
285
+ readonly action: string;
286
+ readonly onOpenPlan: () => void;
287
+ readonly style?: StyleProp<ViewStyle>;
288
+ }
289
+ /** The top-risk sentence with its way into the Health Plan. */
290
+ declare function HealthPlanTopRisk(props: HealthPlanTopRiskProps): ReactNode;
291
+
292
+ /** The minimal ScrollView surface the scope uses. */
293
+ interface HealthPlanScrollable {
294
+ scrollTo(options: {
295
+ readonly x?: number;
296
+ readonly y?: number;
297
+ readonly animated?: boolean;
298
+ }): void;
299
+ }
300
+ interface HealthPlanScrollScopeProps {
301
+ /** The ref of the ScrollView the plan sits in. */
302
+ readonly scrollRef: RefObject<HealthPlanScrollable | null>;
303
+ readonly children?: ReactNode;
304
+ readonly style?: StyleProp<ViewStyle>;
305
+ }
306
+ /** Wrap your plan (inside your ScrollView) so the focus layout's jump strip scrolls it to the pick. */
307
+ declare function HealthPlanScrollScope({ scrollRef, children, style }: HealthPlanScrollScopeProps): ReactNode;
308
+
268
309
  /** One row: the words before the blank, the value (null: still a blank), the words after it, and its source line. */
269
310
  interface HealthPlanBlanksRow {
270
311
  readonly key: string;
@@ -291,4 +332,16 @@ interface HealthPlanBlanksProps {
291
332
  }
292
333
  declare function HealthPlanBlanks(props: HealthPlanBlanksProps): ReactNode;
293
334
 
294
- export { EverfurError, EverfurHealthPlan, type EverfurHealthPlanProps, EverfurPresentationInput, EverfurResult, HEALTH_PLAN_FOCUS_RN_COPY, HealthPlanBlanks, HealthPlanBlanksFacts, type HealthPlanBlanksProps, type HealthPlanBlanksRow, HealthPlanCardOptions, HealthPlanCart, HealthPlanCartBar, type HealthPlanCartBarProps, HealthPlanCheckoutProvider, HealthPlanFocus, type HealthPlanFocusCheckoutRow, HealthPlanFocusCopy, HealthPlanFocusDesign, HealthPlanFocusIcon, type HealthPlanFocusProps, type HealthPlanFocusRnCopy, type HealthPlanFocusRnOptions, type HealthPlanFocusRnOverlay, type HealthPlanFocusRnOverlayControls, HealthPlanImageVariant, HealthPlanItem, HealthPlanItemCard, type HealthPlanItemCardProps, HealthPlanLayoutProps, HealthPlanOneBoxOrder, HealthPlanPageRepository, type HealthPlanPetWords, HealthPlanPriceFormat, HealthPlanReasonVariant, type HealthPlanRecordsReader, HealthPlanShopOrder, HealthPlanSubscription, HealthPlanSubscriptionRepository, LifecyclePort, PetRef, RecordsRecordWire, healthPlanPetCopy, healthPlanPossessive };
335
+ interface UseHealthPlanTopCardOptions extends HealthPlanTopCardOptions {
336
+ readonly petRef: PetRef | null;
337
+ /** False skips the page read (and the card). Defaults to true. */
338
+ readonly enabled?: boolean;
339
+ }
340
+ /**
341
+ * The chat's top card for one pet, from its Health Plan page; undefined while the page loads, on a refused read, or
342
+ * when the page has no focus. Keep `onOpenPlan`, `copy` and `renderIcon` stable (module constants or memoised), so the
343
+ * card is rebuilt only when the page changes.
344
+ */
345
+ declare function useHealthPlanTopCard(options: UseHealthPlanTopCardOptions): EverfurChatTopCard | undefined;
346
+
347
+ export { EverfurChatTopCard, EverfurError, EverfurHealthPlan, type EverfurHealthPlanProps, EverfurPresentationInput, EverfurResult, HEALTH_PLAN_FOCUS_RN_COPY, HealthPlanBlanks, HealthPlanBlanksFacts, type HealthPlanBlanksProps, type HealthPlanBlanksRow, HealthPlanCardOptions, HealthPlanCart, HealthPlanCartBar, type HealthPlanCartBarProps, HealthPlanCheckoutProvider, HealthPlanEmptyCopy, HealthPlanFocus, type HealthPlanFocusCheckoutRow, HealthPlanFocusCopy, HealthPlanFocusDesign, HealthPlanFocusIcon, type HealthPlanFocusProps, type HealthPlanFocusRnCopy, type HealthPlanFocusRnOptions, type HealthPlanFocusRnOverlay, type HealthPlanFocusRnOverlayControls, HealthPlanImageVariant, HealthPlanItem, HealthPlanItemCard, type HealthPlanItemCardProps, HealthPlanLayoutProps, HealthPlanOneBoxOrder, HealthPlanPageRepository, type HealthPlanPetWords, HealthPlanPriceFormat, HealthPlanReasonVariant, type HealthPlanRecordsReader, HealthPlanScrollScope, type HealthPlanScrollScopeProps, type HealthPlanScrollable, HealthPlanShopOrder, HealthPlanSubscription, HealthPlanSubscriptionRepository, HealthPlanTopCardOptions, HealthPlanTopRisk, type HealthPlanTopRiskProps, LifecyclePort, PetRef, RecordsRecordWire, type UseHealthPlanTopCardOptions, healthPlanPetCopy, useHealthPlanTopCard };
@@ -1,25 +1,27 @@
1
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 { ReactNode } from 'react';
2
+ import { ReactNode, RefObject } from 'react';
3
3
  import { StyleProp, ViewStyle } from 'react-native';
4
4
  import { a as CapabilityDecision } from '../resolve.d-CoQWUy1Y.js';
5
5
  import { E as EverfurError } from '../EverfurError.d-8NHtlgzA.js';
6
6
  export { a as EverfurErrorCategory, b as EverfurErrorCode } from '../EverfurError.d-8NHtlgzA.js';
7
7
  import { P as PetRef } from '../ids.d-B2GAAifq.js';
8
8
  export { B as Brand, C as ConversationId, R as RecordsRequestId, U as UserRef, _ as __brand } from '../ids.d-B2GAAifq.js';
9
- import { c as HealthPlanFocusCopy, e as HealthPlanFocusIcon, b as HealthPlanFocusDesign, f as HealthPlanItem, g as HealthPlanSubscription, h as HealthPlanOneBoxOrder, i as HealthPlanSubscriptionRepository, j as HealthPlanPageRepository, k as HealthPlanShopOrder, l as HealthPlanCheckoutProvider } from '../focus.d-CjL6Cj0m.js';
10
- export { s as HEALTH_PLAN_FOCUS_COPY, t as HEALTH_PLAN_REASON_KINDS, m as HealthPlan, u as HealthPlanCartCheckoutRequest, v as HealthPlanCheckoutItem, w as HealthPlanCheckoutRefusal, x as HealthPlanCheckoutRequest, y as HealthPlanCheckoutSession, z as HealthPlanCheckoutState, A as HealthPlanCheckoutStatus, B as HealthPlanFocusExtra, C as HealthPlanFocusPrices, D as HealthPlanFocusReasonRow, E as HealthPlanFocusReview, F as HealthPlanFocusSign, G as HealthPlanFocusStep, I as HealthPlanFocusWait, J as HealthPlanOneBoxOffer, K as HealthPlanOneBoxOrderPage, L as HealthPlanOneBoxOrderPageOptions, M as HealthPlanOrderStatus, N as HealthPlanOrderTracking, O as HealthPlanOrderTrackingStatus, H as HealthPlanPage, r as HealthPlanPagePet, P as HealthPlanPurchase, Q as HealthPlanReason, o as HealthPlanReasonKind, n as HealthPlanRepository, R as HealthPlanRepositoryDeps, S as HealthPlanRuntime, q as HealthPlanSubscriptionQuote, T as HealthPlanSubscriptionRenewal, U as HealthPlanSubscriptionStatus, V as HealthPlanSubscriptionStep, W as HealthPlanSubscriptionSupply, X as HealthPlanTrackStep, Y as createHealthPlanPageRepository, Z as createHealthPlanPageRepositoryOver, _ as createHealthPlanRepository, $ as createHealthPlanRepositoryOver, a2 as formatHealthPlanDay, a3 as healthPlanCheckoutRefusal, a4 as healthPlanCheckoutSessionFromWire, a5 as healthPlanCheckoutStateFromWire, a7 as healthPlanFocusDesignFromWire, a8 as healthPlanFromWire, ac as healthPlanPageFromWire } from '../focus.d-CjL6Cj0m.js';
9
+ import { c as HealthPlanFocusCopy, e as HealthPlanFocusIcon, b as HealthPlanFocusDesign, f as HealthPlanItem, g as HealthPlanSubscription, h as HealthPlanOneBoxOrder, i as HealthPlanSubscriptionRepository, j as HealthPlanPageRepository, k as HealthPlanShopOrder, l as HealthPlanCheckoutProvider } from '../focus.d-BZ2sEpbU.js';
10
+ export { o as HEALTH_PLAN_FOCUS_COPY, p as HEALTH_PLAN_REASON_KINDS, q as HealthPlan, r as HealthPlanCartCheckoutRequest, s as HealthPlanCheckoutItem, t as HealthPlanCheckoutRefusal, u as HealthPlanCheckoutRequest, v as HealthPlanCheckoutSession, w as HealthPlanCheckoutState, x as HealthPlanCheckoutStatus, y as HealthPlanFocusExtra, z as HealthPlanFocusPrices, A as HealthPlanFocusReasonRow, B as HealthPlanFocusReview, C as HealthPlanFocusSign, D as HealthPlanFocusStep, E as HealthPlanFocusWait, F as HealthPlanOneBoxOffer, G as HealthPlanOneBoxOrderPage, I as HealthPlanOneBoxOrderPageOptions, J as HealthPlanOrderStatus, K as HealthPlanOrderTracking, L as HealthPlanOrderTrackingStatus, H as HealthPlanPage, n as HealthPlanPagePet, a as HealthPlanPetPronouns, M as HealthPlanPurchase, N as HealthPlanReason, O as HealthPlanReasonKind, P as HealthPlanRepository, Q as HealthPlanRepositoryDeps, R as HealthPlanRuntime, S as HealthPlanSubscriptionQuote, T as HealthPlanSubscriptionRenewal, U as HealthPlanSubscriptionStatus, V as HealthPlanSubscriptionStep, W as HealthPlanSubscriptionSupply, X as HealthPlanTrackStep, Y as createHealthPlanPageRepository, Z as createHealthPlanPageRepositoryOver, _ as createHealthPlanRepository, $ as createHealthPlanRepositoryOver, a0 as createHealthPlanSubscriptionRepository, a1 as createHealthPlanSubscriptionRepositoryOver, a2 as formatHealthPlanDay, a3 as healthPlanCheckoutRefusal, a4 as healthPlanCheckoutSessionFromWire, a5 as healthPlanCheckoutStateFromWire, a6 as healthPlanFocusCopyFor, a7 as healthPlanFocusDesignFromWire, a8 as healthPlanFromWire, a9 as healthPlanOneBoxOrderFromWire, aa as healthPlanOneBoxOrderPageFromWire, ab as healthPlanOrderTrackingFromWire, ac as healthPlanPageFromWire, ad as healthPlanPetWords, ae as healthPlanSubscriptionFromWire, af as healthPlanSubscriptionQuoteFromWire, ag as isHealthPlanSubscriptionUnavailable } from '../focus.d-BZ2sEpbU.js';
11
11
  import { i as EverfurPresentationInput } from '../presentation.d-vy8kTGfR.js';
12
12
  export { E as EverfurChatAnswerStyle, a as EverfurChatComposerPlaceholder, b as EverfurChatComposerStyle, c as EverfurChatHistoryBarSetting, d as EverfurChatHistoryStyle, e as EverfurChatSendButtonSetting, f as EverfurChatTopCardSetting, g as EverfurHealthPlanLayout, h as EverfurPresentation, j as EverfurSafetyDisclaimerPlacement } from '../presentation.d-vy8kTGfR.js';
13
- import { H as HealthPlanBlanksFacts, a as HealthPlanPriceFormat, b as HealthPlanLayoutProps, e as HealthPlanCardOptions, f as HealthPlanImageVariant, g as HealthPlanReasonVariant, d as HealthPlanCart } from '../usePresentation.d-Bne14SlX.js';
14
- export { E as EverfurHealthPlanOptions, h as EverfurHealthPlanState, i as EverfurHealthPlanStatus, j as HEALTH_PLAN_COPY, k as HEALTH_PLAN_COPY_PLACEHOLDERS, l as HEALTH_PLAN_LAYOUT_DEFAULTS, m as HEALTH_PLAN_REASON_LABELS, n as HEALTH_PLAN_TEMPLATES, o as HealthPlanAddButtonSize, p as HealthPlanAddedVariant, q as HealthPlanBlanksPhase, r as HealthPlanCardShadow, s as HealthPlanCartBarPlacement, t as HealthPlanCartBarVisibility, u as HealthPlanCategoryVariant, v as HealthPlanFontWeight, w as HealthPlanHeaderContext, x as HealthPlanPageContext, y as HealthPlanShadow, z as formatHealthPlanPrice, A as formatHealthPlanPriceWith, B as healthPlanBlanksFacts, C as healthPlanCart, D as healthPlanNextShotsAt, F as healthPlanRecordsWeightKg, G as isHealthPlanSessionRequired, I as showHealthPlanCartBar, J as useEverfurHealthPlan, K as useEverfurHealthPlanRepository, L as useEverfurPresentation } from '../usePresentation.d-Bne14SlX.js';
13
+ import { H as HealthPlanBlanksFacts, a as HealthPlanPriceFormat, b as HealthPlanLayoutProps, c as HealthPlanEmptyCopy, d as HealthPlanCardOptions, e as HealthPlanImageVariant, f as HealthPlanReasonVariant, g as HealthPlanCart } from '../usePresentation.d-CBtBx38t.js';
14
+ export { E as EverfurHealthPlanOptions, h as EverfurHealthPlanState, i as EverfurHealthPlanStatus, j as HEALTH_PLAN_COPY, k as HEALTH_PLAN_COPY_PLACEHOLDERS, l as HEALTH_PLAN_LAYOUT_DEFAULTS, m as HEALTH_PLAN_REASON_LABELS, n as HEALTH_PLAN_TEMPLATES, o as HealthPlanAddButtonSize, p as HealthPlanAddedVariant, q as HealthPlanBlanksPhase, r as HealthPlanCardShadow, s as HealthPlanCartBarPlacement, t as HealthPlanCartBarVisibility, u as HealthPlanCategoryVariant, v as HealthPlanFontWeight, w as HealthPlanHeaderContext, x as HealthPlanPageContext, y as HealthPlanShadow, z as formatHealthPlanPrice, A as formatHealthPlanPriceWith, B as healthPlanBlanksFacts, C as healthPlanCart, D as healthPlanNextShotsAt, F as healthPlanRecordsWeightKg, G as isHealthPlanSessionRequired, I as showHealthPlanCartBar, J as useEverfurHealthPlan, K as useEverfurHealthPlanRepository, L as useEverfurPresentation } from '../usePresentation.d-CBtBx38t.js';
15
15
  import { L as LifecyclePort } from '../LifecyclePort.d-Cr1p33a7.js';
16
16
  import { E as EverfurResult } from '../EverfurResult.d-D_-254ZY.js';
17
17
  import { R as RecordsRecordWire } from '../ports.d-BX4f4UsB.js';
18
- export { H as HealthPlanCartDock, a as HealthPlanCartScope, b as HealthPlanCartScopeProps, c as HealthPlanController, d as HealthPlanNoVetListener, e as HealthPlanPageOptions, f as HealthPlanPagePhase, g as HealthPlanPageState, h as HealthPlanPhase, i as HealthPlanRecordsLandedListener, j as HealthPlanRecordsLandedSource, k as HealthPlanSnapshot, l as healthPlanNoVet, n as notifyHealthPlanRecordsLanded, o as onHealthPlanNoVet, m as onHealthPlanRecordsLanded, s as setHealthPlanNoVet, u as useHealthPlanCartDock, p as useHealthPlanPage, q as useHealthPlanPageRepository } from '../planSignals.d-CON9gTvJ.js';
19
- export { A as AuthContext, I as IdentityProvider, M as MintedToken, T as TokenProvider } from '../identity.d-Be2Es9Td.js';
20
- 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-XSMThgVj.js';
18
+ import { C as HealthPlanTopCardOptions } from '../useHealthPlanSubscription.d-CUbHE6eK.js';
19
+ export { a as HEALTH_PLAN_TOP_CARD_COPY, b as HealthPlanCartDock, c as HealthPlanCartScope, d as HealthPlanCartScopeProps, e as HealthPlanController, f as HealthPlanNoVetListener, g as HealthPlanPageOptions, h as HealthPlanPagePhase, i as HealthPlanPageState, j as HealthPlanPhase, D as HealthPlanPossessivePet, k as HealthPlanRecordsLandedListener, l as HealthPlanRecordsLandedSource, m as HealthPlanSnapshot, n as HealthPlanSubscriptionOptions, o as HealthPlanSubscriptionPhase, p as HealthPlanSubscriptionState, H as HealthPlanTopCardCopy, q as HealthPlanTopCardFocus, r as HealthPlanTopCardPet, s as healthPlanNoVet, E as healthPlanPossessive, F as healthPlanTopCard, t as notifyHealthPlanRecordsLanded, u as onHealthPlanNoVet, v as onHealthPlanRecordsLanded, w as setHealthPlanNoVet, x as useHealthPlanCartDock, y as useHealthPlanPage, z as useHealthPlanPageRepository, A as useHealthPlanSubscription, B as useHealthPlanSubscriptionRepository } from '../useHealthPlanSubscription.d-CUbHE6eK.js';
20
+ export { A as AuthContext, I as IdentityProvider, M as MintedToken, T as TokenProvider } from '../identity.d-DxNvhj3a.js';
21
+ 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';
21
22
  export { E as ErrorPolicyPort } from '../ErrorPolicyPort.d-68yrE3BE.js';
22
- import '../requestFunnel.d-YabU6G-Z.js';
23
+ import { b as EverfurChatTopCard } from '../threadOptions.d-6hfQS1x7.js';
24
+ import '../requestFunnel.d-Cxt0JqYx.js';
23
25
  import '../models.d-DOwnr8fi.js';
24
26
 
25
27
  /** The pet facts the words are sized to. */
@@ -29,8 +31,7 @@ interface HealthPlanPetWords {
29
31
  /** The partner texts tracking numbers (Q9): the "by text" lines are drawn. Absent = false. */
30
32
  readonly trackingTexts?: boolean;
31
33
  }
32
- /** "her" for a female, "his" for a male, "Georgia's" for a named pet of unknown sex, else null. */
33
- declare function healthPlanPossessive(pet: HealthPlanPetWords): string | null;
34
+
34
35
  /** The words the React Native focus layout adds over `HealthPlanFocusCopy`. Each '' hides what it labels. */
35
36
  interface HealthPlanFocusRnCopy extends HealthPlanFocusCopy {
36
37
  /**
@@ -38,10 +39,6 @@ interface HealthPlanFocusRnCopy extends HealthPlanFocusCopy {
38
39
  * app's own words (everfur-frontend app/lib/error-handler.ts:66).
39
40
  */
40
41
  readonly checkoutFailed: string;
41
- /** The weight sheet's error with `weightUnit="kg"`. No approved words yet: '' (a copy ask for Raph). */
42
- readonly weightErrorKg: string;
43
- /** The toast after a weight saved in kilograms. No approved words yet: returns '' and no toast shows. */
44
- readonly weightSavedKg: (kilograms: string) => string;
45
42
  /** The back control over a pushed screen when the host draws no header of its own (src/rn/records/ScreenHeader.tsx). */
46
43
  readonly back: string;
47
44
  }
@@ -100,8 +97,18 @@ interface HealthPlanFocusRnOptions {
100
97
  readonly onOverlayChange?: (overlay: HealthPlanFocusRnOverlay, controls: HealthPlanFocusRnOverlayControls) => void;
101
98
  readonly onSubscriptionChange?: (subscription: HealthPlanSubscription) => void;
102
99
  readonly onOneBoxOrder?: (order: HealthPlanOneBoxOrder) => void;
103
- /** The jump strip under the focus card was pressed: scroll your container to the pick. Omit it and the strip is not a control. */
100
+ /**
101
+ * The jump strip under the focus card was pressed: scroll your container to the pick. Omit it and the strip scrolls
102
+ * the surrounding `HealthPlanScrollScope` (EverfurTabs wraps its plan in one) to the pick; with neither the strip is
103
+ * not a control.
104
+ */
104
105
  readonly onJump?: () => void;
106
+ /**
107
+ * Q9: the partner texts tracking numbers, so the "Tracking comes by text" lines are drawn. Everfur's plan page says
108
+ * it itself (`trackingTextsEnabled`); with your own `design` this is yours to say (the web's option). Absent: the
109
+ * plan read's `trackingTextsEnabled`, else false.
110
+ */
111
+ readonly trackingTexts?: boolean;
105
112
  /** Number and date locale. */
106
113
  readonly locale?: string;
107
114
  readonly subscriptionRepository?: HealthPlanSubscriptionRepository;
@@ -181,11 +188,6 @@ interface HealthPlanFocusProps extends Omit<HealthPlanFocusRnOptions, 'design'>
181
188
  readonly fromBackend?: boolean;
182
189
  /** Q2: the page says its template is vet reviewed. Only then is a backend page's byline drawn. */
183
190
  readonly vetReviewed?: boolean;
184
- /**
185
- * Q9: the partner texts tracking numbers (`trackingTextsEnabled` on the plan page or the plan read). Only then are
186
- * the "Tracking comes by text" lines drawn. Absent = false.
187
- */
188
- readonly trackingTexts?: boolean;
189
191
  readonly onCheckout?: (items: readonly HealthPlanItem[]) => void;
190
192
  readonly priceFormat?: HealthPlanPriceFormat;
191
193
  readonly style?: StyleProp<ViewStyle>;
@@ -223,10 +225,19 @@ interface EverfurHealthPlanProps extends HealthPlanLayoutProps {
223
225
  */
224
226
  readonly focus?: HealthPlanFocusRnOptions;
225
227
  /**
226
- * Whether this pet has a plan to show (Q1): false for no plan (nothing is drawn, so hide your tab or entry), true
227
- * once the plan is drawn. Not called while it is still loading or after a refused read.
228
+ * Whether this pet has a plan to show (Q1), with the pet it is about: false for no plan (hide your tab or entry for
229
+ * that pet), true once the plan is drawn. Not called while it is still loading or after a refused read. The same
230
+ * name and signature as the web's.
231
+ */
232
+ readonly onAvailability?: (available: boolean, petRef: PetRef | null) => void;
233
+ /**
234
+ * @deprecated Use `onAvailability(available, petRef)`, the web's name. Still called, with the same value.
228
235
  */
229
236
  readonly onAvailabilityChange?: (available: boolean) => void;
237
+ /** The empty state's Ask control (drawn only when `emptyAsk` has words). */
238
+ readonly onAsk?: () => void;
239
+ /** Your words for the empty state, over the SDK's (empty until approved: then nothing is drawn). */
240
+ readonly emptyCopy?: Partial<HealthPlanEmptyCopy>;
230
241
  }
231
242
  /** One pet's Health Plan in a React Native app. Mount it under the `EverfurProvider` from "@everfur/sdk". */
232
243
  declare function EverfurHealthPlan(props: EverfurHealthPlanProps): ReactNode;
@@ -265,6 +276,36 @@ interface HealthPlanCartBarProps {
265
276
  /** The cart bar of a Health Plan. */
266
277
  declare function HealthPlanCartBar(props: HealthPlanCartBarProps): ReactNode;
267
278
 
279
+ interface HealthPlanTopRiskProps {
280
+ /** The line over the sentence ("Her top risk"). */
281
+ readonly kicker: string;
282
+ /** The one sentence ("Georgia's top disease risk is IVDD, a back problem, so she should start a Health Plan for it."). */
283
+ readonly sentence: string;
284
+ /** The button's words ("Start her Health Plan"). */
285
+ readonly action: string;
286
+ readonly onOpenPlan: () => void;
287
+ readonly style?: StyleProp<ViewStyle>;
288
+ }
289
+ /** The top-risk sentence with its way into the Health Plan. */
290
+ declare function HealthPlanTopRisk(props: HealthPlanTopRiskProps): ReactNode;
291
+
292
+ /** The minimal ScrollView surface the scope uses. */
293
+ interface HealthPlanScrollable {
294
+ scrollTo(options: {
295
+ readonly x?: number;
296
+ readonly y?: number;
297
+ readonly animated?: boolean;
298
+ }): void;
299
+ }
300
+ interface HealthPlanScrollScopeProps {
301
+ /** The ref of the ScrollView the plan sits in. */
302
+ readonly scrollRef: RefObject<HealthPlanScrollable | null>;
303
+ readonly children?: ReactNode;
304
+ readonly style?: StyleProp<ViewStyle>;
305
+ }
306
+ /** Wrap your plan (inside your ScrollView) so the focus layout's jump strip scrolls it to the pick. */
307
+ declare function HealthPlanScrollScope({ scrollRef, children, style }: HealthPlanScrollScopeProps): ReactNode;
308
+
268
309
  /** One row: the words before the blank, the value (null: still a blank), the words after it, and its source line. */
269
310
  interface HealthPlanBlanksRow {
270
311
  readonly key: string;
@@ -291,4 +332,16 @@ interface HealthPlanBlanksProps {
291
332
  }
292
333
  declare function HealthPlanBlanks(props: HealthPlanBlanksProps): ReactNode;
293
334
 
294
- export { EverfurError, EverfurHealthPlan, type EverfurHealthPlanProps, EverfurPresentationInput, EverfurResult, HEALTH_PLAN_FOCUS_RN_COPY, HealthPlanBlanks, HealthPlanBlanksFacts, type HealthPlanBlanksProps, type HealthPlanBlanksRow, HealthPlanCardOptions, HealthPlanCart, HealthPlanCartBar, type HealthPlanCartBarProps, HealthPlanCheckoutProvider, HealthPlanFocus, type HealthPlanFocusCheckoutRow, HealthPlanFocusCopy, HealthPlanFocusDesign, HealthPlanFocusIcon, type HealthPlanFocusProps, type HealthPlanFocusRnCopy, type HealthPlanFocusRnOptions, type HealthPlanFocusRnOverlay, type HealthPlanFocusRnOverlayControls, HealthPlanImageVariant, HealthPlanItem, HealthPlanItemCard, type HealthPlanItemCardProps, HealthPlanLayoutProps, HealthPlanOneBoxOrder, HealthPlanPageRepository, type HealthPlanPetWords, HealthPlanPriceFormat, HealthPlanReasonVariant, type HealthPlanRecordsReader, HealthPlanShopOrder, HealthPlanSubscription, HealthPlanSubscriptionRepository, LifecyclePort, PetRef, RecordsRecordWire, healthPlanPetCopy, healthPlanPossessive };
335
+ interface UseHealthPlanTopCardOptions extends HealthPlanTopCardOptions {
336
+ readonly petRef: PetRef | null;
337
+ /** False skips the page read (and the card). Defaults to true. */
338
+ readonly enabled?: boolean;
339
+ }
340
+ /**
341
+ * The chat's top card for one pet, from its Health Plan page; undefined while the page loads, on a refused read, or
342
+ * when the page has no focus. Keep `onOpenPlan`, `copy` and `renderIcon` stable (module constants or memoised), so the
343
+ * card is rebuilt only when the page changes.
344
+ */
345
+ declare function useHealthPlanTopCard(options: UseHealthPlanTopCardOptions): EverfurChatTopCard | undefined;
346
+
347
+ export { EverfurChatTopCard, EverfurError, EverfurHealthPlan, type EverfurHealthPlanProps, EverfurPresentationInput, EverfurResult, HEALTH_PLAN_FOCUS_RN_COPY, HealthPlanBlanks, HealthPlanBlanksFacts, type HealthPlanBlanksProps, type HealthPlanBlanksRow, HealthPlanCardOptions, HealthPlanCart, HealthPlanCartBar, type HealthPlanCartBarProps, HealthPlanCheckoutProvider, HealthPlanEmptyCopy, HealthPlanFocus, type HealthPlanFocusCheckoutRow, HealthPlanFocusCopy, HealthPlanFocusDesign, HealthPlanFocusIcon, type HealthPlanFocusProps, type HealthPlanFocusRnCopy, type HealthPlanFocusRnOptions, type HealthPlanFocusRnOverlay, type HealthPlanFocusRnOverlayControls, HealthPlanImageVariant, HealthPlanItem, HealthPlanItemCard, type HealthPlanItemCardProps, HealthPlanLayoutProps, HealthPlanOneBoxOrder, HealthPlanPageRepository, type HealthPlanPetWords, HealthPlanPriceFormat, HealthPlanReasonVariant, type HealthPlanRecordsReader, HealthPlanScrollScope, type HealthPlanScrollScopeProps, type HealthPlanScrollable, HealthPlanShopOrder, HealthPlanSubscription, HealthPlanSubscriptionRepository, HealthPlanTopCardOptions, HealthPlanTopRisk, type HealthPlanTopRiskProps, LifecyclePort, PetRef, RecordsRecordWire, type UseHealthPlanTopCardOptions, healthPlanPetCopy, useHealthPlanTopCard };